@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";
:root{--primary:#6c5ce7;--secondary:#a29bfe;--success:#4caf8e;--warning:#d8a657;--danger:#d4615f;--background:#0b0b0d;--bg-elev:#131316;--bg-elev-2:#1a1a1f;--border:#26262c;--hair:#ffffff12;--hair-strong:#ffffff29;--foreground:#f3f3f5;--text:#e4e4e8;--text-dim:#7c7c87;--brand:#c7c7cf;--brand-strong:#84848d;--rose:var(--danger);--font-heading:"Pretendard", "Noto Sans KR", system-ui, sans-serif;--font-body:"Noto Sans KR", "Pretendard", system-ui, sans-serif;--font-code:"JetBrains Mono", ui-monospace, monospace;--transition:all .22s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:light){:root{--background:#f4f4f5;--bg-elev:#fff;--bg-elev-2:#ededf0;--border:#dcdce1;--hair:#00000014;--hair-strong:#0000002b;--foreground:#0c0c0f;--text:#1a1a1f;--text-dim:#6c6c77;--brand:#4a4a52;--brand-strong:#1f1f24}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.025em;color:var(--foreground);font-weight:800}a{color:var(--text);transition:var(--transition);text-decoration:none}a:hover{color:var(--foreground)}code,pre,.mono{font-family:var(--font-code)}.lbl,.archive-title,.nav-meta{font-family:var(--font-code);text-transform:uppercase;letter-spacing:.2em;color:var(--text-dim);font-size:10.5px;font-weight:600}.layout{min-height:100vh;display:flex}.nav{background:var(--bg-elev);border-right:1px solid var(--hair);flex-direction:column;flex-shrink:0;gap:2px;width:12.25rem;height:100vh;padding:1.375rem .875rem;transition:width .18s;display:flex;position:sticky;top:0}.nav-head{align-items:center;gap:8px;margin:0 0 .625rem;display:flex}.nav h1{letter-spacing:-.02em;white-space:nowrap;flex:1;align-items:center;gap:9px;min-width:0;margin:0;font-size:15px;font-weight:800;display:flex;overflow:hidden}.nav h1:before{content:"";background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.nav-toggle{border:1px solid var(--hair);width:26px;height:26px;color:var(--text-dim);cursor:pointer;transition:var(--transition);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle:hover{background:var(--bg-elev-2);color:var(--text)}.nav-toggle-icon{transition:transform .18s;display:inline-flex}.nav-toggle-icon svg{width:14px;height:14px}.nav-toggle-icon.is-collapsed{transform:rotate(180deg)}.nav-meta{border-bottom:1px solid var(--hair);margin-bottom:12px;padding:0 2px 16px}.nav a,.nav .nav-trigger{color:var(--text-dim);transition:var(--transition);white-space:nowrap;border-radius:5px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;display:flex;position:relative;overflow:hidden}.nav .nav-trigger{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.nav .nav-trigger:hover{background:var(--bg-elev-2);color:var(--text)}.nav .nav-trigger:hover .nav-icon{color:var(--text)}.nav-caret{flex-shrink:0;width:14px;height:14px;transition:transform .18s;display:inline-flex}.nav-caret svg{width:100%;height:100%}.nav-caret.is-open{transform:rotate(-90deg)}.nav-sub{flex-direction:column;margin:2px 0 4px;display:flex}.nav .nav-subitem{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;transition:var(--transition);border-radius:5px;padding:7px 12px 7px 40px;font-size:13px;font-weight:500;display:block;overflow:hidden}.nav .nav-subitem:before{content:none}.nav .nav-subitem:hover{background:var(--bg-elev-2);color:var(--text)}.nav .nav-subitem.active,.nav .nav-subitem[aria-current=page]{color:var(--foreground);background:var(--bg-elev-2)}.nav-icon{width:18px;height:18px;color:var(--text-dim);flex-shrink:0;display:inline-flex}.nav-icon svg{width:100%;height:100%}.nav-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav a:hover{background:var(--bg-elev-2);color:var(--text)}.nav a:hover .nav-icon{color:var(--text)}.nav a.active,.nav a[aria-current=page]{color:var(--foreground);background:var(--bg-elev-2)}.nav a.active .nav-icon,.nav a[aria-current=page] .nav-icon{color:var(--foreground)}.nav a:before{content:"";background:var(--foreground);width:2px;height:0;transition:height .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav a:hover:before,.nav a.active:before,.nav a[aria-current=page]:before{height:15px}.nav-foot{border-top:1px solid var(--hair);font-family:var(--font-code);letter-spacing:.1em;color:var(--text-dim);margin-top:auto;padding-top:16px;font-size:10px;line-height:1.7}.nav-foot .ok{color:var(--success)}.nav-collapsed{width:3.5rem;padding-left:.5rem;padding-right:.5rem}.nav-collapsed .nav-head{justify-content:center}.nav-collapsed h1 span,.nav-collapsed .nav-label,.nav-collapsed .nav-caret,.nav-collapsed .nav-meta,.nav-collapsed .nav-foot{display:none}.nav-collapsed h1{gap:0}.nav-collapsed a,.nav-collapsed .nav-trigger{justify-content:center;padding:9px 0}.main{flex:1;min-width:0;max-width:70rem;padding:1.5rem 2rem 2rem}.main>h2{letter-spacing:-.03em;margin:0 0 4px;font-size:1.5rem;font-weight:800}.main>h2:after{content:"";background:var(--foreground);width:0;height:1px;margin-top:8px;animation:.55s cubic-bezier(.2,.85,.25,1) forwards page-load;display:block}@keyframes page-load{0%{background:var(--foreground);width:0}70%{background:var(--foreground);width:100%}to{background:var(--hair-strong);width:1.5rem}}@media (prefers-reduced-motion:reduce){.main>h2:after{background:var(--hair-strong);width:1.5rem;animation:none}}.card{background:var(--bg-elev);border:1px solid var(--hair);transition:var(--transition);border-radius:4px;margin-bottom:.875rem;padding:1rem 1.25rem;position:relative}a.card{display:block}a.card:hover,.card:hover{border-color:var(--hair-strong)}a.card:hover{transform:translateY(-2px)}a.card b{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--foreground);font-size:15px}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.muted{color:var(--text-dim);font-size:12.5px;line-height:1.65}.badge{border:1px solid var(--hair-strong);color:var(--text-dim);font-size:11px;font-family:var(--font-code);letter-spacing:.03em;background:0 0;border-radius:3px;margin:2px 5px 2px 0;padding:2px 9px;display:inline-block}.badge.gov{border-color:var(--hair-strong);color:var(--text)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--hair);white-space:nowrap;padding:7px 14px}td.wrap{white-space:normal}th{color:var(--text-dim);font-weight:600;font-family:var(--font-code);text-transform:uppercase;letter-spacing:.1em;font-size:11px}td{font-variant-numeric:tabular-nums}input.search{background:var(--bg-elev);border:1px solid var(--hair-strong);width:100%;color:var(--text);font-size:14px;font-family:var(--font-body);transition:var(--transition);border-radius:4px;margin:14px 0 6px;padding:13px 16px}input.search::placeholder{color:var(--text-dim);font-family:var(--font-code);font-size:13px}input.search:focus{border-color:var(--foreground);outline:none}pre{border:1px solid var(--hair);border-radius:4px;font-size:12px;line-height:1.7;background:var(--bg-elev)!important;padding:16px!important}.wiki-tabs{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:4px;margin:.75rem 0 0;display:flex}.wiki-tab{cursor:pointer;color:var(--text-dim);transition:var(--transition);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.wiki-tab:hover{color:var(--text)}.wiki-tab.is-active{color:var(--foreground);border-bottom-color:var(--foreground)}.wiki-tab-count{font-family:var(--font-code);color:var(--text-dim);font-variant-numeric:tabular-nums;background:var(--bg-elev-2);border:1px solid var(--hair);border-radius:999px;padding:1px 8px;font-size:11px}.wiki-tab.is-active .wiki-tab-count{color:var(--foreground);background:var(--bg-elev)}.wiki-tab-desc{margin:8px 0 14px;font-size:12px}.wiki-result-count{justify-content:space-between;align-items:baseline;margin:1rem 0 .625rem;font-size:12px;display:flex}.wiki-result-count .mono{font-family:var(--font-code);font-variant-numeric:tabular-nums;color:var(--text)}.wiki-result-count .dim{color:var(--text-dim)}.briefing-head{align-items:center;gap:14px;margin-bottom:.5rem;font-size:13px;display:flex}.briefing-back,.briefing-open{color:var(--text-dim);flex-shrink:0;padding:2px 0;border-bottom:none!important}.briefing-back:hover,.briefing-open:hover{color:var(--foreground)}.briefing-meta{flex:1;justify-content:center;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.briefing-title{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.015em;font-weight:600;overflow:hidden}.briefing-date{color:var(--text-dim);font-family:var(--font-code);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11.5px}.briefing-open{font-family:var(--font-code);font-size:12px}.briefing-loading{background:var(--foreground);width:0;height:1px;margin:0 0 8px;animation:.55s cubic-bezier(.2,.85,.25,1) forwards page-load;display:block}.briefing-loading.is-loaded{background:var(--hair-strong);width:1.5rem;transition:width .35s,background .35s;animation:none}@media (prefers-reduced-motion:reduce){.briefing-loading{background:var(--hair-strong);width:1.5rem;animation:none}}.briefing-frame{border:1px solid var(--hair);background:#fff;border-radius:4px;width:100%;height:calc(100vh - 7rem);display:block}.wiki-dir-chip{font-family:var(--font-code);letter-spacing:.05em;border:1px solid var(--hair);color:var(--text-dim);background:var(--bg-elev);border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:10.5px}.wiki-dir-entities{color:#4a7a52;background:#4a7a5214;border-color:#4a7a5259}.wiki-dir-concepts{color:#5c6f8a;background:#5c6f8a14;border-color:#5c6f8a59}.wiki-dir-queries{color:#8a6a3a;background:#8a6a3a14;border-color:#8a6a3a59}.wiki-dir-sources{color:#6f6a7a;background:#6f6a7a0f;border-color:#6f6a7a59}.wiki-body{color:var(--text);min-width:0;font-size:15.5px;line-height:1.78}.wiki-body h1,.wiki-body h2,.wiki-body h3{border-bottom:1px solid var(--hair);color:var(--foreground);margin-top:34px;padding-bottom:6px}.wiki-body code{background:var(--bg-elev-2);border-radius:3px;padding:2px 6px;font-size:.85em}.wiki-body pre{background:var(--bg-elev);max-width:100%;overflow-x:auto}.wiki-body table{max-width:100%;margin:14px 0;display:block;overflow-x:auto}.wiki-body img{max-width:100%;height:auto}.wiki-body a{border-bottom:1px dotted var(--hair-strong);word-break:break-word}.wiki-body blockquote{border-left:2px solid var(--hair-strong);color:var(--text-dim);margin:14px 0;padding:4px 0 4px 16px}.detail{grid-template-columns:minmax(0,1fr) clamp(15rem,22vw,22.5rem);align-items:start;gap:1.75rem;display:grid}.hier-box{background:var(--bg-elev);border:1px solid var(--hair);overflow-wrap:anywhere;word-break:break-word;border-radius:4px;max-width:100%;margin-bottom:14px;padding:10px 12px}.hier-box-title{color:var(--text-dim);border-bottom:1px solid var(--hair);margin:0 0 8px;padding-bottom:6px}.hier-list{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.hier-row{margin:0;padding:0}.hier-row-label{font-family:var(--font-code);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:0 0 4px;font-size:10px;font-weight:600}.hier-row-items{margin:0;padding:0}.hier-items{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.hier-items li{align-items:baseline;gap:6px;font-size:12.5px;line-height:1.5;display:flex}.hier-lvl{font-family:var(--font-code);color:var(--text-dim);background:var(--bg-elev-2);border:1px solid var(--hair);text-align:center;letter-spacing:.04em;border-radius:2px;flex-shrink:0;min-width:22px;padding:1px 5px;font-size:10px;font-weight:600}.hier-link{color:var(--text);border-bottom:1px dotted var(--hair-strong);overflow-wrap:anywhere;text-decoration:none}.hier-link:hover{color:var(--foreground);border-bottom-color:var(--foreground)}.hier-ssot{font-family:var(--font-code);color:var(--text-dim);background:var(--bg-elev-2);border:1px solid var(--hair);word-break:break-all;border-radius:2px;padding:4px 6px;font-size:10.5px;display:block}.meta-list{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;padding:0;font-size:12px;display:grid}.meta-row{display:contents}.meta-row dt{font-family:var(--font-code);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;align-self:center;font-size:10px;font-weight:600}.meta-row dd{color:var(--text);word-break:break-word;margin:0}.meta-tags{border-top:1px solid var(--hair);flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:8px;display:flex}.meta-tags .badge{margin:0;font-size:10.5px}.wiki-graph-wrap{width:100%;position:relative}.wiki-graph-mini{background:var(--bg-elev);border:1px solid var(--hair);border-radius:4px;display:block}.wiki-graph-expand{z-index:2;background:var(--bg-elev-2);width:26px;height:26px;color:var(--text-dim);border:1px solid var(--hair-strong);cursor:pointer;transition:var(--transition);border-radius:4px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.wiki-graph-expand:hover{background:var(--bg-elev);color:var(--foreground);border-color:var(--foreground)}.graph-caption{margin-top:8px;font-size:11.5px}.graph-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:4vh 4vw;animation:.18s ease-out graph-modal-in;display:flex;position:fixed;inset:0}@keyframes graph-modal-in{0%{opacity:0}to{opacity:1}}.graph-modal-panel{background:var(--bg-elev);border:1px solid var(--hair-strong);width:100%;max-width:1280px;height:100%;max-height:860px;box-shadow:0 20px 60px #0000008c, 0 0 0 1px var(--hair);border-radius:6px;flex-direction:column;display:flex;position:relative;overflow:hidden}.graph-modal-bar{border-bottom:1px solid var(--hair);background:var(--bg-elev);font-family:var(--font-code);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:11px;display:flex}.graph-modal-title{color:var(--foreground);font-weight:600}.graph-modal-hint{color:var(--text-dim)}.graph-modal-legend{align-items:center;gap:6px;display:inline-flex}.dir-toggle{border:1px solid var(--hair);color:var(--text-dim);cursor:pointer;font-family:var(--font-code);letter-spacing:.14em;text-transform:lowercase;transition:var(--transition);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 6px;font-size:10px;display:inline-flex}.dir-toggle:hover{background:var(--bg-elev-2);color:var(--text)}.dir-toggle.is-off{opacity:.4}.dir-toggle.is-off .legend-dot{background:var(--text-dim)!important}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.graph-modal-progress{background:var(--hair);flex-shrink:0;width:100%;height:1px;position:relative;overflow:hidden}.graph-modal-progress-bar{background:var(--foreground);height:100%;transition:width .18s cubic-bezier(.2,.85,.25,1)}.graph-modal-close{border:1px solid var(--hair-strong);color:var(--text-dim);cursor:pointer;width:26px;height:26px;font-family:var(--font-body);transition:var(--transition);background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.graph-modal-close:hover{color:var(--foreground);border-color:var(--foreground);background:var(--bg-elev-2)}.graph-modal-canvas{background:var(--background);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.graph-modal-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.graph-modal-svg:active{cursor:grabbing}.link-section{border-top:1px solid var(--hair);margin-top:14px}.link-section[open]{padding-bottom:4px}.link-section summary{cursor:pointer;font-family:var(--font-code);text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);align-items:center;gap:8px;padding:10px 0;font-size:11px;list-style:none;display:flex}.link-section summary::-webkit-details-marker{display:none}.link-section summary:before{content:"▸";color:var(--text-dim);font-size:9px;transition:transform .15s}.link-section[open]>summary:before{transform:rotate(90deg)}.link-section[open]>summary{color:var(--text)}.link-count{font-family:var(--font-code);color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.link-list{margin:0;padding:0;list-style:none}.link-list li{border-top:1px solid var(--hair);padding:9px 2px;font-size:13px;line-height:1.5}.link-list li:first-child{border-top:0}.link-title{color:var(--text);font-weight:500;display:block;border-bottom:none!important}.link-title:hover{color:var(--foreground)}.link-missing{color:var(--text-dim);cursor:default}.link-missing em{color:#d4615fd9;margin-left:4px;font-size:10.5px;font-style:normal}.link-context{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.link-empty{color:var(--text-dim);font-size:12px;font-style:italic;padding:8px 2px!important}.notice{color:#e0908e;font-size:13px;font-family:var(--font-code);background:#d4615f14;border:1px solid #d4615f73;border-left-width:2px;border-radius:3px;margin-bottom:14px;padding:11px 15px}@media (max-width:60em){.detail{grid-template-columns:1fr}}.diary-layout{grid-template-columns:minmax(0,1fr) clamp(13rem,18vw,16rem);align-items:start;gap:2.25rem;display:grid}.post{background:var(--bg-elev);border:1px solid var(--hair);border-radius:4px;min-width:0;padding:44px 52px}.post-head{border-bottom:1px solid var(--hair);margin-bottom:30px;padding-bottom:22px}.post-head h1{letter-spacing:-.03em;margin:0 0 14px;font-size:30px;line-height:1.2}.post-summary{color:var(--text-dim);margin-top:12px;font-size:14px;line-height:1.6;display:block}.chips{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.chip{background:var(--bg-elev-2);border:1px solid var(--hair);font-size:11px;font-family:var(--font-code);color:var(--text-dim);font-variant-numeric:tabular-nums;border-radius:3px;padding:5px 11px}.chip b{color:var(--foreground);margin-right:4px;font-weight:700}.post-body{max-width:68ch;color:var(--text);font-size:18px;line-height:1.88}.post-body h1{color:var(--foreground);border:0;margin:38px 0 14px;padding:0;font-size:22px}.post-body h1:first-child{margin-top:0}.post-body h1:after{content:"";background:var(--hair-strong);width:24px;height:1px;margin-top:10px;display:block}.post-body h2{color:var(--foreground);border:0;margin:30px 0 10px;padding:0;font-size:18px}.post-body p{margin:0 0 18px}.post-body strong{color:var(--foreground)}.archive{font-size:13px;position:sticky;top:24px}.archive-title{margin-bottom:12px;display:block}.archive details{border-bottom:1px solid var(--hair);padding:7px 0}.archive summary{cursor:pointer;color:var(--text);padding:5px 2px;font-size:13px;font-weight:600;list-style:none}.archive summary::-webkit-details-marker{display:none}.archive summary:before{content:"+";color:var(--text-dim);font-family:var(--font-code);margin-right:9px}.archive details[open] summary:before{content:"−"}.archive-item{color:var(--text-dim);font-size:12px;font-family:var(--font-code);font-variant-numeric:tabular-nums;border-radius:3px;margin:4px 5px 0 0;padding:4px 9px;display:inline-block}.archive-item:hover{background:var(--bg-elev-2);color:var(--text)}.archive-item.on{background:var(--foreground);color:var(--background)}@media (max-width:60em){.diary-layout{grid-template-columns:1fr}.post{padding:1.5rem 1.25rem}.archive{position:static}.main{padding:1.25rem 1.25rem 1.5rem}.nav{width:3.5rem;padding-left:.5rem;padding-right:.5rem}.nav .nav-head{justify-content:center}.nav h1 span,.nav .nav-label,.nav-meta,.nav-foot{display:none}.nav h1{gap:0}.nav a{justify-content:center;padding:9px 0}.nav-toggle{display:none}}.logs-wrap{grid-template-columns:minmax(0,1fr) clamp(12rem,18vw,15rem);align-items:start;gap:1.75rem;display:grid}.logs-services{flex-direction:column;gap:4px;display:flex}.logs-services .archive-title{margin-bottom:8px}.logs-svc{text-align:left;border:1px solid var(--hair);background:var(--bg-elev);width:100%;color:var(--text-dim);font-family:var(--font-code);cursor:pointer;transition:var(--transition);border-radius:4px;padding:7px 10px;font-size:12.5px;display:block}.logs-svc:hover{color:var(--text);border-color:var(--hair-strong)}.logs-svc.active{color:var(--text);border-color:var(--brand);background:var(--bg-elev-2)}.logs-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.875rem;display:flex}.logs-svc-name{font-family:var(--font-code);color:var(--text);font-size:14px;font-weight:600}.logs-date{background:var(--bg-elev);border:1px solid var(--hair);color:var(--text);font-family:var(--font-code);border-radius:4px;padding:5px 9px;font-size:12.5px}.logs-stream{background:var(--bg-elev);border:1px solid var(--hair);max-height:72vh;font-family:var(--font-code);border-radius:4px;padding:.75rem 1rem;font-size:12px;line-height:1.6;overflow:auto}.logs-line{white-space:pre-wrap;word-break:break-all;gap:.9rem;padding:1px 0;display:flex}.logs-ts{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none}.logs-msg{color:var(--text)}.logs-err{color:var(--danger);font-size:12.5px}.logs-line.error .logs-msg{color:var(--danger)}.logs-line.warn .logs-msg{color:var(--warning)}.logs-wrap{align-items:stretch;height:calc(100vh - 6rem)}.logs-viewer{flex-direction:column;min-height:0;display:flex}.logs-services{min-height:0;overflow-y:auto}.logs-stream{flex:auto;min-height:0;max-height:none}.main-auth{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.auth-card{text-align:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;width:100%;max-width:320px;padding:32px 24px}.auth-brand{font-family:var(--font-heading);color:var(--text-dim);margin-bottom:22px;font-size:15px;font-weight:700}.auth-title{color:var(--text);margin:0 0 8px;font-size:17px}.auth-desc{color:var(--text-dim);margin:0 0 20px;font-size:13px;line-height:1.55}.auth-btn{cursor:pointer;background:var(--foreground);width:100%;color:var(--background);transition:var(--transition);border:none;border-radius:8px;justify-content:center;align-items:center;padding:11px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.auth-btn:hover{opacity:.88}.auth-btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.auth-err{color:var(--danger);margin-top:12px;font-size:12px}.nav-user{border-top:1px solid var(--hair);align-items:center;gap:8px;margin-top:auto;padding:10px 6px 2px;display:flex}.nav-user-avatar{background:var(--brand-strong);width:28px;height:28px;color:var(--bg-elev);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.nav-user-meta{flex-direction:column;flex:1;min-width:0;display:flex}.nav-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.nav-user-email{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.nav-user-logout{color:var(--text-dim);border-radius:6px;flex:none;padding:4px;display:inline-flex}.nav-user-logout svg{width:14px;height:14px;transform:rotate(-90deg)}.nav-user-logout:hover{background:var(--bg-elev-2);color:var(--text)}.nav-collapsed .nav-user-meta,.nav-collapsed .nav-user-logout{display:none}
