:root{--bg-0:#06090c;--bg-1:#0a0e13;--bg-2:#0e141a;--bg-3:#131b22;--line:#1a232c;--line-bright:#283440;--ink-0:#e7eef4;--ink-1:#9aa7b3;--ink-2:#838f9b;--ink-3:#737d8a;--signal:#5be9b9;--signal-deep:#2bbf95;--signal-glow:#5be9b924;--gain:#4ade80;--loss:#ff6b6b;--warn:#f5b544;--demo:#5be9b9;--real:#f5b544;--font-mono:var(--f-mono), ui-monospace, "SF Mono", Menlo, monospace;--font-sans:var(--f-sans), ui-sans-serif, system-ui, sans-serif;--top-h:52px;--tab-h:60px;--radius:4px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-0);color:var(--ink-0);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;background-image:radial-gradient(120% 80% at 70% -10%, #2bbf950f, transparent 60%), radial-gradient(100% 60% at 0% 110%, #f5b5440a, transparent 55%), repeating-linear-gradient(0deg, transparent, transparent 2px, #ffffff03 3px), linear-gradient(var(--bg-0), var(--bg-0));background-attachment:fixed;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.shell{max-width:640px;min-height:100dvh;margin:0 auto}.tabbar{z-index:10;width:100%;max-width:640px;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080b0feb;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-item{color:var(--ink-2);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.tab-item .kr{font-size:11px;font-weight:500}.tab-item .en{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:8px}.tab-item.active{color:var(--ink-0)}.tab-item.active .en{color:var(--signal-deep)}.tab-item.active:before{content:"";background:var(--signal);width:22px;height:2px;box-shadow:0 0 8px var(--signal);border-radius:2px;margin-top:-38px;position:absolute}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;height:calc(var(--top-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b0fd1;align-items:center;gap:8px;padding-left:16px;padding-right:16px;display:flex;position:sticky;top:0}.topbar .brand-mini{letter-spacing:.04em;font-size:15px;font-weight:600}.topbar .brand-mini b{color:var(--signal);font-weight:600}.topbar .crumb{color:var(--ink-1);border-left:1px solid var(--line-bright);padding-left:8px;font-size:12px}.topbar .spacer{flex:1}.chip{font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--line-bright);color:var(--ink-1);border-radius:3px;align-items:center;gap:7px;padding:5px 10px;font-size:10px;display:inline-flex}.chip .led{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.chip.on .led{background:var(--signal);box-shadow:0 0 8px var(--signal);animation:2s ease-in-out infinite pulse}.chip.warn .led{background:var(--warn);box-shadow:0 0 8px var(--warn)}.chip.off{color:var(--ink-2)}.content{padding:16px 14px calc(var(--tab-h) + env(safe-area-inset-bottom) + 24px)}.page-head{margin-bottom:18px}.page-head h1{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600}.page-head p{color:var(--ink-1);word-break:keep-all;max-width:820px;margin:9px 0 0;font-size:13px;line-height:1.65}.grid{gap:12px;display:grid}.cols-4{grid-template-columns:repeat(2,1fr)}.cols-3,.cols-2{grid-template-columns:1fr}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--bg-1), var(--bg-0));position:relative;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:13px 16px;display:flex}.panel-head .t{font-size:13px;font-weight:600}.panel-head .corner{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.1em;margin-left:auto;font-size:10px}.panel-body{padding:16px}.stat{padding:16px 18px}.stat .label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.stat .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:10px;font-size:clamp(16px,5.2vw,23px);font-weight:600;line-height:1}.stat .sub{font-family:var(--font-mono);color:var(--ink-2);margin-top:8px;font-size:11px}.stat.accent .value{color:var(--signal);text-shadow:0 0 16px var(--signal-glow)}.pos{color:var(--gain)}.neg{color:var(--loss)}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th,.tbl td{white-space:nowrap}.panel:has(.tbl){-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);padding:10px 14px;font-size:10px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);color:var(--ink-0);padding:11px 14px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--bg-2)}.tbl .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-bright);color:var(--ink-1);border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:10px;display:inline-flex}.badge.demo{color:var(--demo);background:#5be9b912;border-color:#5be9b94d}.badge.real{color:var(--real);background:#f5b54412;border-color:#f5b5444d}.badge.experimenting{color:var(--ink-1)}.badge.adopted{color:var(--gain);border-color:#4ade804d}.badge.retired{color:var(--ink-2)}.dot-state{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-state.on{background:var(--signal);box-shadow:0 0 7px var(--signal);animation:2s ease-in-out infinite pulse}.dot-state.off{background:var(--ink-3)}.log-line{border-bottom:1px solid var(--line);font-family:var(--font-mono);grid-template-columns:86px 52px 1fr;grid-template-areas:"ts lvl src""msg msg msg";align-items:baseline;gap:3px 10px;padding:9px 14px;font-size:12px;display:grid}.log-line:hover{background:var(--bg-2)}.log-line .ts{color:var(--ink-2);grid-area:ts}.log-line .lvl{grid-area:lvl}.log-line .src{grid-area:src}.log-line .msg{grid-area:msg}.log-line .lvl{text-transform:uppercase;letter-spacing:.1em;font-size:10px}.log-line .lvl.info{color:var(--signal-deep)}.log-line .lvl.warn{color:var(--warn)}.log-line .lvl.error{color:var(--loss)}.log-line .src{color:var(--ink-1)}.log-line .msg{color:var(--ink-0);font-family:var(--font-sans)}.empty{text-align:center;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.06em;padding:40px 16px;font-size:12px}.empty .mark{color:var(--ink-3);margin-bottom:8px;font-size:22px}.acct{padding:18px 20px 16px}.acct .top{align-items:center;gap:10px;margin-bottom:16px;display:flex}.acct .asof{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.08em;margin-left:auto;font-size:10px}.acct .total .k{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.acct .total .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:8px;font-size:32px;font-weight:600;line-height:1}.acct .total .v .won{color:var(--ink-2);margin-left:4px;font-size:16px}.acct .rows{border-top:1px solid var(--line);flex-direction:column;gap:1px;margin-top:18px;display:flex}.acct .row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:9px 0;display:flex}.acct .row:last-child{border-bottom:none}.acct .row .k{color:var(--ink-1);font-size:12px}.acct .row .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-0);font-size:14px}.meter{flex-direction:column;gap:6px;display:flex}.meter .bar{background:var(--bg-3);border-radius:2px;height:8px;position:relative;overflow:hidden}.meter .bar>span{border-radius:2px;position:absolute;inset:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.btn-control{font-family:var(--font-mono);white-space:nowrap;letter-spacing:.04em;border-radius:var(--radius);border:1px solid var(--line-bright);background:var(--bg-2);color:var(--ink-0);cursor:pointer;padding:10px 14px;font-size:13px;transition:border-color .12s,color .12s,background .12s}.btn-control:hover:not(:disabled){border-color:var(--signal);color:var(--signal)}.btn-control:disabled{opacity:.5;cursor:default}.btn-control.primary{border-color:var(--signal-deep);color:var(--signal)}.btn-control.danger:hover:not(:disabled){border-color:var(--loss);color:var(--loss)}.btn-control.sm{padding:4px 8px;font-size:12px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle .track{background:var(--bg-3);border:1px solid var(--line-bright);border-radius:999px;width:46px;height:26px;transition:background .14s,border-color .14s;position:relative}.toggle .track:after{content:"";background:var(--ink-2);border-radius:50%;width:20px;height:20px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.toggle input:checked+.track{background:var(--signal-glow);border-color:var(--signal)}.toggle input:checked+.track:after{background:var(--signal);transform:translate(20px)}.toggle input:disabled+.track{opacity:.5}.ctl-row{align-items:center;gap:8px;display:inline-flex}.kill-bar{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.kill-item{align-items:center;gap:10px;display:flex}.kill-item .badge.halted{color:var(--loss);border:1px solid var(--loss);background:#ff6b6b24}.login-wrap{background:radial-gradient(900px 500px at 50% -10%, var(--bg-2), var(--bg-0));place-items:center;min-height:100vh;display:grid}.login-card{background:var(--bg-1);border:1px solid var(--line-bright);border-radius:var(--radius);flex-direction:column;gap:14px;width:320px;padding:28px;display:flex}.login-brand{color:var(--ink-0);font-size:20px}.login-brand .tag{color:var(--ink-2);letter-spacing:.18em;font-size:10px}.login-sub{color:var(--ink-2);margin:-4px 0 4px;font-size:12px}.login-input{border-radius:var(--radius);border:1px solid var(--line-bright);background:var(--bg-0);color:var(--ink-0);letter-spacing:.12em;padding:11px 12px;font-size:16px}.login-input:focus{border-color:var(--signal);outline:none}.login-err{color:var(--loss);margin:0;font-size:12px}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.0l86rvwdd07jt.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.0-bj-4.3jk9zi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.169mj0m4oygmx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.072srq0~jhoqa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.15mmg7gamto4l.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_cea5d603-module__C69C-G__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_cea5d603-module__C69C-G__variable{--f-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
