@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_a11773;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a11773{font-family:__Plus_Jakarta_Sans_a11773,__Plus_Jakarta_Sans_Fallback_a11773;font-style:normal}.__variable_a11773{--font-sans:"__Plus_Jakarta_Sans_a11773","__Plus_Jakarta_Sans_Fallback_a11773"}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f5f7fb;--hover:#f2f5fb;--border:#e2e7f1;--border-muted:#eef1f7;--text:#101a33;--muted:#5b6678;--faint:#9aa3b2;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-tint:#eaf0ff;--accent-border:#c3d4fe;--green:#1a7f37;--radius:10px;--radius-sm:8px;--shadow-lg:0 8px 24px rgba(31,35,40,.12);--shadow-soft:0 24px 64px -12px rgba(23,37,84,.14),0 4px 14px rgba(23,37,84,.05);--sidebar-w:300px;--topbar-h:56px}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;line-height:1.45;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}.app{--bg:#0a0a0b;--surface:#0d0d0f;--surface-2:#141416;--elevated:#161618;--hover:#1a1a1d;--border:#232327;--border-muted:#1c1c20;--text:#f3f3f4;--muted:#8a8a92;--faint:#5c5c64;--accent:#3b82f6;--accent-hover:#2f6fe0;--accent-tint:rgba(59,130,246,.14);--accent-border:rgba(59,130,246,.4);--green:#34d399;--danger:#f87171;--danger-tint:hsla(0,91%,71%,.14);--shadow-lg:0 12px 32px rgba(0,0,0,.5);--shadow-soft:0 24px 64px -12px rgba(0,0,0,.6);display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh;background:var(--bg);color:var(--text);color-scheme:dark}.app .auth-error{background:var(--danger-tint);border-color:hsla(0,91%,71%,.4);color:#fca5a5}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;z-index:40}.side-head{padding:16px 16px 10px}.side-brand{display:flex;align-items:center;gap:11px}.side-brand-mark{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;color:var(--text);background:var(--elevated);border:1px solid var(--border)}.side-brand-text{min-width:0}.side-head h1{font-size:15.5px;font-weight:650;letter-spacing:-.01em;line-height:1.2}.side-head .sub{font-size:12px;color:var(--muted);margin-top:2px}.side-section{padding:8px 12px 6px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.search{position:relative}.search input{width:100%;height:38px;padding:0 12px 0 34px;border-radius:9px;border:1px solid #34343c;background:#17171b;color:var(--text);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.search input::placeholder{color:var(--muted)}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.search .mag{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.list{overflow-y:auto;flex:1 1;padding:6px}.row{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid transparent;text-align:left;transition:background .12s,border-color .12s}.row:hover{background:var(--hover)}.row.active{background:var(--elevated);border-color:var(--border)}.file-row{padding:0;gap:0;margin-bottom:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.file-row:hover{background:var(--hover);border-color:#303038}.file-row.active{background:var(--hover);border-color:#3d3d46}.row-open{flex:1 1;min-width:0;display:flex;align-items:center;gap:9px;padding:10px 2px 10px 10px;text-align:left}.row-file-icon{flex-shrink:0;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--muted);background:var(--surface-2);border:1px solid var(--border-muted)}.file-row.active .row-file-icon,.file-row:hover .row-file-icon{color:var(--text)}.row-del,.row-send{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);transition:background .12s,color .12s}.row-send{margin-right:2px}.row-del{margin-right:6px}.row-send:focus-visible,.row-send:hover{background:var(--accent-tint);color:var(--accent)}.row-del:focus-visible,.row-del:hover{background:var(--danger-tint);color:var(--danger)}.row-main{flex:1 1;min-width:0}.row-name{flex:1 1;min-width:0;font-size:13.5px;font-weight:600;color:var(--text)}.row-name,.row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:11.5px;margin-top:1px}.back,.row-sub{color:var(--muted)}.back{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 0;margin-top:14px;margin-bottom:8px}.back:hover{color:var(--accent)}.file-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-count{font-size:11.5px;color:var(--muted);flex-shrink:0;white-space:nowrap}.chev{color:var(--faint);flex-shrink:0;margin-left:1px;transition:transform .15s}.chev.open{transform:rotate(90deg)}.sub{margin:1px 0 6px 12px;padding-left:10px;border-left:1px solid var(--border-muted);display:flex;flex-direction:column;gap:1px}.sub-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;border:1px solid transparent;text-align:left;transition:background .12s}.sub-row:hover{background:var(--hover)}.sub-row.active{background:var(--accent-tint);border-color:var(--accent-border)}.sub-name{font-size:12.5px;font-weight:500;color:var(--text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-meta{font-size:11px;color:var(--faint);flex-shrink:0}.badge{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-2);white-space:nowrap;flex-shrink:0}.badge.chrome{color:#7cb0ff;border-color:rgba(88,145,245,.35);background:rgba(88,145,245,.12)}.badge.edge{color:#57cbe0;border-color:rgba(45,190,214,.32);background:rgba(45,190,214,.1)}.side-foot{margin-top:auto;border-top:1px solid var(--border);padding:9px 12px;gap:8px;flex-shrink:0}.foot-btn,.side-foot{display:flex;align-items:center}.foot-btn{gap:7px;font-size:12.5px;color:var(--muted);padding:5px 8px;border-radius:7px}.foot-btn:hover{background:var(--hover);color:var(--text)}.side-foot .spacer{flex:1 1}.headless-dot{font-size:11px;color:var(--faint)}.empty{padding:18px 16px;font-size:12.5px;color:var(--muted);line-height:1.6}.empty code{background:var(--surface-2);border:1px solid var(--border);padding:1px 5px;border-radius:4px;font-size:11.5px;word-break:break-all}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.topbar{min-height:60px;display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.icon-btn{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--muted);border:1px solid transparent;flex-shrink:0;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--text)}.hamburger{display:none}.top-ident{min-width:0;flex-shrink:0;max-width:34%;line-height:1.25}.top-ident-name{font-size:15px;font-weight:650;letter-spacing:-.01em}.top-ident-name,.top-ident-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-ident-sub{font-size:12px;color:var(--muted);margin-top:1px}.top-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}.divider{width:1px;height:22px;background:var(--border);flex-shrink:0}.addr{flex:1 1;display:flex;align-items:center;gap:10px;min-width:0;height:44px;padding:0 16px;border-radius:999px;border:1px solid #34343c;background:#17171b;transition:border-color .15s,box-shadow .15s,background .15s}.addr:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-tint)}.addr-lock{display:flex;color:var(--faint);flex-shrink:0;transition:color .2s}.addr-lock.live{color:var(--green)}.addr input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:13px}.addr input::placeholder{color:var(--faint)}.stage{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.frame-wrap{position:relative;background:var(--surface-2);border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden}.screen{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none;transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:paint;image-rendering:auto}.load-bar{position:absolute;top:0;left:0;right:0;height:3px;z-index:5;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:loadbar 1s linear infinite}@keyframes loadbar{0%{background-position:-40% 0}to{background-position:140% 0}}.overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);background:var(--surface-2);padding:24px}.overlay-inner{display:flex;flex-direction:column;align-items:center}.empty-illus{color:var(--faint);opacity:.6;margin-bottom:22px}.overlay .spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:0 auto 16px}.overlay h3{font-size:15px;font-weight:550;color:var(--text);margin-bottom:6px}.overlay p{font-size:13px;color:var(--muted);max-width:320px}@keyframes spin{to{transform:rotate(1turn)}}.scrim{display:none}@keyframes fadein{0%{opacity:0}}.modal-scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;animation:fadein .15s ease}.modal{width:100%;max-width:460px;background:var(--elevated);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-soft);padding:20px 24px 24px;max-height:90vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2{font-size:16px;font-weight:650;letter-spacing:-.01em}.modal-sub{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-size:12.5px;font-weight:550;color:var(--text)}.field .opt{color:var(--faint);font-weight:400}.field input,.field select{height:40px;width:100%;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13.5px;outline:none;transition:border-color .15s,box-shadow .15s}.field select{cursor:pointer}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.field-row{display:flex;gap:12px}.field-row .field{flex:1 1;min-width:0}.modal-hint{font-size:12px;color:var(--muted);line-height:1.5;background:var(--surface-2);border:1px solid var(--border-muted);border-radius:8px;padding:9px 11px;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.copy-btn{width:100%;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-bottom:14px;border-radius:11px;background:var(--accent);color:#fff;font-size:14px;font-weight:650;letter-spacing:-.01em;box-shadow:0 2px 10px var(--accent-tint);transition:background .15s,box-shadow .15s,transform .06s}.copy-btn:hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-tint)}.copy-btn:active{transform:translateY(1px)}.copy-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-tint),0 4px 16px var(--accent-tint)}.copy-btn.copied{background:#16a34a;box-shadow:0 2px 10px rgba(22,163,74,.28)}.copy-btn.copied:hover{background:#15963f}.cmd-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 13px;margin:0 0 16px;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}@media (max-width:860px){.app{grid-template-columns:1fr}.hamburger{display:grid}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);transform:translateX(-100%);transition:transform .24s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:35;animation:fade .2s ease}.topbar{flex-wrap:wrap;row-gap:10px;column-gap:10px;padding:10px 12px}.top-ident{max-width:none;flex:1 1 auto;order:1}.hamburger{order:0}.top-tools{order:2}.addr{order:5;flex-basis:100%;height:42px}.stage{padding:12px}@keyframes fade{0%{opacity:0}}}@media (max-width:520px){.topbar{padding:9px 11px;gap:9px}.top-ident-name{font-size:14px}.top-ident-sub{font-size:11px}.icon-btn{width:32px;height:32px}.addr{height:40px;padding:0 13px}.stage{padding:9px}.frame-wrap{border-radius:13px}.overlay h3{font-size:14px}.empty-illus svg{width:92px;height:auto}}.auth{--surface-2:#141416;--border:#26262b;--text:#f3f3f4;--muted:#8a8a92;--faint:#5c5c64;--accent:#3b82f6;--accent-hover:#2f6fe0;color-scheme:dark;position:relative;height:100vh;height:100dvh;overflow-y:auto;display:flex;padding:32px 20px;background:linear-gradient(180deg,#0d0d11,#08080a);color:var(--text);isolation:isolate}.auth:before{content:"";position:fixed;z-index:-1;left:50%;top:-22vh;width:90vw;max-width:640px;height:62vh;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(59,130,246,.16),rgba(59,130,246,0));filter:blur(16px);pointer-events:none}.auth-card{width:100%;max-width:260px;margin:auto;background:linear-gradient(180deg,#171719,#131315);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px -24px rgba(0,0,0,.8),inset 0 1px 0 hsla(0,0%,100%,.03);padding:22px 20px 20px;display:flex;flex-direction:column}.auth-mark{width:44px;height:44px;margin:0 auto 11px;border-radius:50%;display:grid;place-items:center;color:var(--accent);background:radial-gradient(closest-side,rgba(59,130,246,.25) 0,rgba(59,130,246,.06) 68%,rgba(59,130,246,0) 100%)}.auth-title{font-size:16px;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--text);text-align:center}.auth-sub{font-size:11.5px;color:var(--muted);text-align:center;margin:4px 0 16px}.auth-field{position:relative;display:flex;align-items:center;margin-bottom:8px}.auth-field-icon{position:absolute;left:10px;display:flex;color:var(--faint);pointer-events:none;transition:color .15s}.auth-field:focus-within .auth-field-icon{color:var(--accent)}.auth-card input{width:100%;height:36px;padding:0 10px 0 31px;border:1px solid #303036;border-radius:9px;background:#101012;color:var(--text);font-size:12.5px;outline:none;transition:border-color .15s,box-shadow .15s}.auth-card input::placeholder{color:var(--muted)}.auth-card input:hover{border-color:#3b3b43}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.18)}.auth-field.pw input{padding-right:33px}.auth-field.pw input::-ms-reveal{display:none}.auth-reveal{position:absolute;right:5px;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--faint);transition:color .15s,background .15s}.auth-reveal:hover{color:var(--text);background:#202027}.auth-error{background:hsla(0,91%,71%,.12);border:1px solid hsla(0,91%,71%,.4);color:#fca5a5;font-size:11.5px;line-height:1.4;border-radius:8px;padding:8px 10px;margin-bottom:8px}.auth-btn{height:38px;margin-top:6px;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em;box-shadow:0 8px 20px -8px rgba(59,130,246,.6);transition:background .15s,box-shadow .15s,transform .1s}.auth-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 10px 24px -6px rgba(37,99,235,.5)}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:disabled{opacity:.65;cursor:default;box-shadow:none}@media (max-width:320px){.auth-card{padding:18px 15px 16px;border-radius:12px}}.admin{max-width:960px;margin:0 auto;padding:28px 20px 60px;height:100vh;overflow-y:auto}.admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.admin-top h1{font-size:20px;font-weight:650;letter-spacing:-.01em}.admin-top p{font-size:13px;color:var(--muted);margin-top:4px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px rgba(23,37,84,.04),0 8px 24px -16px rgba(23,37,84,.18);padding:20px;margin-bottom:18px}.panel h2{font-size:14px;font-weight:650;margin-bottom:14px}.create-form{display:flex;gap:10px;flex-wrap:wrap}.create-form input{height:40px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13.5px;outline:none;min-width:180px;flex:1 1;transition:border-color .15s,box-shadow .15s}.create-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.btn{height:40px;padding:0 18px;border-radius:10px;background:var(--accent);color:#fff;font-size:13.5px;font-weight:600;transition:background .15s}.btn:hover{background:var(--accent-hover)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:0 12px 8px;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:10px 12px;border-bottom:1px solid var(--border-muted);vertical-align:middle}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.muted{color:var(--muted)}td.actions{display:flex;gap:12px;white-space:nowrap}.link{font-size:12.5px;color:var(--accent)}.link:hover{text-decoration:underline}.link.danger{color:#cf222e}.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.tag.on{color:#1a7f37;background:#eaf7ee;border:1px solid #bfe6cb}.tag.off{color:#8a6d1a;background:#fbf5e6;border:1px solid #ecdcae}.tag.danger{color:#b42318;background:#fff1f0;border:1px solid #ffd0cc}span.danger,td .danger{color:#b42318;font-weight:600}.banner{border-radius:10px;padding:11px 14px;font-size:13px;margin-bottom:16px}.banner.ok{background:#eaf7ee;border:1px solid #bfe6cb;color:#1a7f37}.banner.err{background:#fff1f0;border:1px solid #ffd0cc;color:#b42318}@media (max-width:560px){td.actions{flex-direction:column;gap:4px}}