@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root,[data-theme=dark]{--bg: #0b0f17;--bg-2: #10151f;--panel: #151b27;--panel-2: #1b2231;--border: #242d3f;--border-strong: #34405a;--text: #e6ebf3;--text-2: #c3cbd9;--muted: #8792a8;--ink: #ffffff;--hover: rgba(255, 255, 255, .045);--hover-2: rgba(255, 255, 255, .08);--shadow: 0 1px 2px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55);--backdrop: rgba(3, 5, 10, .72);--sidebar-bg: #0e131c;--sidebar-bottom: #0b1018;--code-bg: #080b12;--code-fg: #d6deeb;--ok: #2fbf71;--warn: #e7a93b;--err: #ef5757;--info: #39b4e6;--hero: #1a2540;color-scheme:dark}[data-theme=light]{--bg: #f3f5f9;--bg-2: #f8f9fc;--panel: #ffffff;--panel-2: #eef1f6;--border: #e0e5ee;--border-strong: #c7d0de;--text: #182032;--text-2: #3a4558;--muted: #687386;--ink: #0b1220;--hover: rgba(15, 23, 42, .04);--hover-2: rgba(15, 23, 42, .075);--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);--shadow-lg: 0 18px 48px rgba(16, 24, 40, .18);--backdrop: rgba(15, 23, 42, .45);--sidebar-bg: #ffffff;--sidebar-bottom: #f8f9fc;--code-bg: #111827;--code-fg: #dbe3f0;--ok: #14965a;--warn: #b97c0c;--err: #d43c3c;--info: #0b86b8;--hero: #e6edff;color-scheme:light}[data-theme=dim]{--bg: #1d2128;--bg-2: #191c22;--panel: #242932;--panel-2: #2b313b;--border: #353c49;--border-strong: #465061;--text: #dfe3ea;--text-2: #c3c9d4;--muted: #949cab;--ink: #ffffff;--hover: rgba(255, 255, 255, .045);--hover-2: rgba(255, 255, 255, .08);--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .5);--backdrop: rgba(8, 10, 14, .7);--sidebar-bg: #191c22;--sidebar-bottom: #16191e;--code-bg: #121419;--code-fg: #d9dee6;--ok: #3cc47c;--warn: #e3ac45;--err: #ec6262;--info: #4bb8e3;--hero: #2a3242;color-scheme:dark}[data-theme=nord]{--bg: #2e3440;--bg-2: #2a2f3a;--panel: #3b4252;--panel-2: #434c5e;--border: #4c566a;--border-strong: #5e6a82;--text: #eceff4;--text-2: #d8dee9;--muted: #a5afc2;--ink: #ffffff;--hover: rgba(255, 255, 255, .05);--hover-2: rgba(255, 255, 255, .09);--shadow: 0 1px 2px rgba(0, 0, 0, .25);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .45);--backdrop: rgba(20, 24, 31, .7);--sidebar-bg: #2b303b;--sidebar-bottom: #272c36;--code-bg: #242933;--code-fg: #e5e9f0;--ok: #a3be8c;--warn: #ebcb8b;--err: #d0707a;--info: #88c0d0;--hero: #434c5e;color-scheme:dark}[data-theme=black]{--bg: #000000;--bg-2: #060607;--panel: #0c0c0f;--panel-2: #141418;--border: #1f1f26;--border-strong: #303039;--text: #ededf0;--text-2: #c8c8d0;--muted: #8a8a96;--ink: #ffffff;--hover: rgba(255, 255, 255, .05);--hover-2: rgba(255, 255, 255, .09);--shadow: none;--shadow-lg: 0 18px 48px rgba(0, 0, 0, .8);--backdrop: rgba(0, 0, 0, .78);--sidebar-bg: #000000;--sidebar-bottom: #050506;--code-bg: #000000;--code-fg: #dcdce2;--ok: #34c77b;--warn: #eab040;--err: #f25c5c;--info: #3dbbec;--hero: #12121a;color-scheme:dark}[data-theme=sand]{--bg: #f4f1e9;--bg-2: #faf8f3;--panel: #fffdf8;--panel-2: #f0ebe0;--border: #e3dbcb;--border-strong: #cfc3ad;--text: #2b2620;--text-2: #4a4238;--muted: #7b7163;--ink: #17130f;--hover: rgba(60, 45, 20, .045);--hover-2: rgba(60, 45, 20, .08);--shadow: 0 1px 2px rgba(60, 45, 20, .07);--shadow-lg: 0 18px 48px rgba(60, 45, 20, .18);--backdrop: rgba(40, 32, 20, .4);--sidebar-bg: #faf7f0;--sidebar-bottom: #f3eee4;--code-bg: #1f1c18;--code-fg: #ebe4d6;--ok: #3b8a4c;--warn: #a8720f;--err: #bd4338;--info: #2a7ca6;--hero: #efe6d2;color-scheme:light}:root{--accent: #4f7cff;--accent-2: color-mix(in srgb, var(--accent) 82%, #000);--accent-fg: #ffffff;--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--accent-line: color-mix(in srgb, var(--accent) 42%, transparent);--accent-text: color-mix(in srgb, var(--accent) 72%, var(--ink));--ok-soft: color-mix(in srgb, var(--ok) 13%, transparent);--ok-line: color-mix(in srgb, var(--ok) 38%, transparent);--ok-text: color-mix(in srgb, var(--ok) 72%, var(--ink));--warn-soft: color-mix(in srgb, var(--warn) 13%, transparent);--warn-line: color-mix(in srgb, var(--warn) 38%, transparent);--warn-text: color-mix(in srgb, var(--warn) 72%, var(--ink));--err-soft: color-mix(in srgb, var(--err) 12%, transparent);--err-line: color-mix(in srgb, var(--err) 38%, transparent);--err-text: color-mix(in srgb, var(--err) 72%, var(--ink));--info-soft: color-mix(in srgb, var(--info) 13%, transparent);--info-line: color-mix(in srgb, var(--info) 38%, transparent);--info-text: color-mix(in srgb, var(--info) 72%, var(--ink));--star: #f5b82e;--radius: 12px;--radius-sm: 8px;--font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--fs: 14px;--card-pad: 18px;--cell-y: 10px;--cell-x: 12px;--ctl-y: 7px;--gap: 16px}[data-density=compact]{--fs: 13.5px;--card-pad: 13px;--cell-y: 6px;--cell-x: 10px;--ctl-y: 5px;--gap: 12px;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:var(--fs)/1.5 var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.25;color:var(--text);letter-spacing:-.01em}h1{font-size:22px;font-weight:650}h2{font-size:17px;font-weight:620}h3{font-size:14.5px;font-weight:620}code,pre,.mono{font-family:var(--mono);font-size:12.5px}code{background:var(--panel-2);border:1px solid var(--border);padding:0 5px;border-radius:5px}hr{border:0;border-top:1px solid var(--border);margin:16px 0}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.app-shell{height:100%}.layout{display:grid;height:100vh;height:100dvh;overflow:hidden;grid-template-columns:248px minmax(0,1fr);transition:grid-template-columns .15s ease}.main{height:100%;overflow-y:auto;overscroll-behavior:contain;padding-bottom:84px}.page{padding:26px 32px 48px;max-width:1320px;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-header h1{margin:0}.page-header .sub{color:var(--muted);margin-top:4px;max-width:760px}.crumbs{color:var(--muted);font-size:12.5px;margin-bottom:8px}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--text)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-pad);box-shadow:var(--shadow)}.card+.card{margin-top:var(--gap)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card-title h3{margin:0}.card>h3:first-child,.card>.stack>h3:first-child{margin-bottom:4px}.sub-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--bg-2)}.grid{display:grid;gap:var(--gap)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid>.card+.card{margin-top:0}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.stack>.card+.card{margin-top:0}.muted{color:var(--muted)}.small{font-size:12.5px}.right{margin-left:auto}.mt{margin-top:var(--gap)}.mb{margin-bottom:var(--gap)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-align{text-align:right}.center{text-align:center}.icon{flex:none}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-head h2{margin:0 0 2px;font-size:17px}.section-head>div:first-child{min-width:0;flex:1}.section-title{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:24px 0 10px}.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--ctl-y) 13px;font:inherit;font-size:13.5px;font-weight:550;line-height:1.4;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);transition:background .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){background:var(--panel-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn.danger{color:var(--err-text);border-color:var(--err-line);background:var(--err-soft);box-shadow:none}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--err) 20%,transparent)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--hover-2)}.btn.sm{padding:3px 9px;font-size:12.5px;border-radius:7px}.btn.active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.btn-group{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}select.btn{width:auto}.linkish{background:none;border:0;padding:0;color:var(--accent-text);cursor:pointer;text-align:left;font:inherit;display:inline-flex;gap:6px;align-items:center}.linkish:hover:not(:disabled){text-decoration:underline}.linkish:disabled{cursor:default}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label,.label{font-size:12.5px;color:var(--text-2);font-weight:550}.field .hint{font-size:12px;color:var(--muted)}input,select,textarea{background:var(--bg-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--ctl-y) 10px;font:inherit;width:100%;line-height:1.45;transition:border-color .12s,box-shadow .12s}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea,[data-theme=sand] input,[data-theme=sand] select,[data-theme=sand] textarea{background:var(--panel)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{opacity:.65}textarea{resize:vertical;min-height:80px}textarea.code{font-family:var(--mono);font-size:12.5px;line-height:1.55;min-height:320px;white-space:pre;-moz-tab-size:4;tab-size:4}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);box-shadow:none}input[type=file]{padding:5px}.check{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.check input{margin-top:3px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1 / -1}.input-suffix{display:flex;align-items:center;gap:6px}.input-suffix input{flex:1}.choice-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;background:var(--bg-2);transition:border-color .12s,background .12s}.choice:hover{border-color:var(--border-strong)}.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.choice strong{display:block;margin-bottom:2px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preset-grid .choice,.size-grid .choice{text-align:left;color:var(--text);font:inherit;display:flex;flex-direction:column;gap:2px}.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--cell-y) var(--cell-x);border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}tbody tr{transition:background .1s}tbody tr:hover{background:var(--hover)}tbody tr:last-child td{border-bottom:0}.table-card{padding:0;overflow-x:auto}.data-table th{padding:10px 14px;background:var(--panel-2)}.data-table td{padding:var(--cell-y) 14px;white-space:nowrap}.data-table tbody tr:hover td{background:var(--hover)}.table-card>table th:first-child,.table-card>table td:first-child{padding-left:16px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;line-height:1.6;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.badge.ok{color:var(--ok-text);background:var(--ok-soft);border-color:var(--ok-line)}.badge.warn{color:var(--warn-text);background:var(--warn-soft);border-color:var(--warn-line)}.badge.err{color:var(--err-text);background:var(--err-soft);border-color:var(--err-line)}.badge.info{color:var(--info-text);background:var(--info-soft);border-color:var(--info-line)}.badge.accent{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-line)}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block;flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.pill-list{display:flex;flex-wrap:wrap;gap:6px}.err-text{color:var(--err-text)}.warn-text{color:var(--warn-text)}.ok-text{color:var(--ok-text)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tab{background:none;border:0;color:var(--muted);padding:10px 14px;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;border-radius:6px 6px 0 0}.tab:hover{color:var(--text);background:var(--hover)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.meter{height:6px;background:var(--panel-2);border-radius:99px;overflow:hidden;margin-top:8px}.meter>div{height:100%;background:var(--accent);border-radius:99px;transition:width .4s}.meter.warn>div{background:var(--warn)}.meter.err>div{background:var(--err)}.stat-value{font-size:24px;font-weight:680;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:12.5px;color:var(--muted)}.stat-note{font-size:11px;color:var(--warn-text)}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stat-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;text-align:left;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.stat-tile:hover{border-color:var(--accent-line);transform:translateY(-1px)}.stat-icon{position:absolute;top:12px;right:14px;color:var(--accent);opacity:.75}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 12px}.kv>div:nth-child(odd){color:var(--muted)}.log{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;margin:0}.log .l-step{color:#8fb0ff;font-weight:600}.log .l-err{color:#ff8b8b}.log .l-warn{color:#f3c879}.log .l-ok{color:#7ee2a8;font-weight:600}.terminal-wrap{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;height:560px}.terminal-wrap .xterm{height:100%}.qc-out,.md-code pre,.tool-cmd,.tool-out{background:var(--code-bg);color:var(--code-fg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:grid;place-items:center;z-index:50;padding:20px;animation:fade .12s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(640px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:pop .14s ease-out}.modal.wide{width:min(1000px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:15.5px}.modal-body{padding:18px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg-2);border-radius:0 0 14px 14px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.985)}}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--panel);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--accent);padding:10px 14px;border-radius:var(--radius-sm);max-width:420px;box-shadow:var(--shadow-lg);white-space:pre-wrap;animation:pop .15s ease-out}.toast.err{border-left-color:var(--err)}.toast.ok{border-left-color:var(--ok)}.alert{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2)}.alert.err{border-color:var(--err-line);background:var(--err-soft);color:var(--err-text)}.alert.warn{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn-text)}.alert.info{border-color:var(--info-line);background:var(--info-soft);color:var(--info-text)}.alert.ok{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok-text)}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty h3{color:var(--text)}.spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.progress{position:relative;height:22px;border-radius:6px;background:var(--bg-2);border:1px solid var(--border);overflow:hidden}.progress>div{position:absolute;inset:0 auto 0 0;background:var(--accent-line);transition:width .2s}.progress>span{position:relative;font-size:12px;padding:0 8px;line-height:20px}.steps{margin:6px 0 8px;padding-left:20px}.steps li{margin-bottom:3px}.center-screen{min-height:100%;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft),transparent 70%),var(--bg)}.auth-card{width:min(400px,100%);box-shadow:var(--shadow-lg)}.server-card{display:block;color:inherit;transition:border-color .15s,transform .15s}.server-card:hover{border-color:var(--accent-line);text-decoration:none;transform:translateY(-1px)}.split{display:grid;grid-template-columns:300px 1fr;gap:var(--gap)}.file-list{display:flex;flex-direction:column;gap:2px}.file-item{text-align:left;background:none;border:1px solid transparent;color:var(--text);padding:7px 9px;border-radius:7px;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:2px}.file-item:hover{background:var(--hover-2)}.file-item.active{background:var(--accent-soft);border-color:var(--accent-line)}.env-row{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-bottom:8px}.env-item{border-bottom:1px dashed var(--border);padding-bottom:8px}.env-item .env-row{margin-bottom:4px}.env-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-left:2px}.env-missing input{border-color:var(--err-line)}.fm{position:relative;padding:0;overflow:hidden}.fm-toolbar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--border)}.fm-shortcuts{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border)}.fm-shortcut{display:inline-flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:4px 11px;font:inherit;font-size:12.5px;cursor:pointer}.fm-shortcut:hover{border-color:var(--border-strong);background:var(--panel-2)}.fm-shortcut.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.fm-pathbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-2);flex-wrap:wrap}.fm-crumbs{display:flex;align-items:center;gap:2px;flex:1;min-width:200px;flex-wrap:wrap;font-family:var(--mono);font-size:13px}.crumb{background:none;border:0;color:var(--text);font:inherit;padding:3px 6px;border-radius:5px;cursor:pointer}.crumb:hover{background:var(--hover-2)}.crumb-path{font-family:var(--mono)}.fm-filter{width:180px;padding:5px 9px}.fm-selbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 14px;background:var(--accent-soft);border-bottom:1px solid var(--accent-line)}.fm-list{position:relative;min-height:320px;max-height:calc(100vh - 330px);overflow:auto}.fm-table th{position:sticky;top:0;background:var(--panel);z-index:1}.fm-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.fm-table th.sortable:hover{color:var(--text)}.fm-table td{padding:6px 10px}.fm-row{cursor:default;-webkit-user-select:none;user-select:none}.fm-row.selected{background:var(--accent-soft)!important}.fm-row.drop{background:var(--ok-soft)!important;outline:1px dashed var(--ok)}.fm-row.cut{opacity:.5}.fm-name{display:inline-flex;align-items:center;gap:8px;max-width:520px;min-width:0;background:none;border:0;color:inherit;font:inherit;padding:0;cursor:inherit}.fm-icon{width:20px;text-align:center;flex:none}.fm-perm{background:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;color:inherit;cursor:pointer;font:inherit}.fm-perm:hover{border-color:var(--border);background:var(--panel-2)}.fm-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 55%,transparent)}.fm-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--border)}.fm-dragging{outline:2px dashed var(--accent);outline-offset:-2px}.fm-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 85%,transparent);display:grid;place-items:center;text-align:center;pointer-events:none;z-index:5}.fm-menu{position:fixed;z-index:60;min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:var(--shadow-lg)}.fm-menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;background:none;border:0;color:var(--text);font:inherit;text-align:left;padding:7px 10px;border-radius:6px;cursor:pointer}.fm-menu button:hover{background:var(--hover-2)}.fm-menu button.danger{color:var(--err-text)}.fm-menu hr{margin:4px 0}.fm-menu kbd,kbd{font-family:var(--mono);font-size:11px;color:var(--muted)}.fm-uploads{position:fixed;right:18px;bottom:18px;width:360px;max-height:50vh;display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;z-index:55;box-shadow:var(--shadow-lg)}.fm-upload-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px}.fm-upload .meter{margin-top:4px}.fm-link{cursor:pointer;color:var(--text)}.fm-link:hover .truncate{text-decoration:underline;color:var(--ink)}.perm-table td,.perm-table th{padding:7px 10px}.perm-table input[type=checkbox]{width:18px;height:18px}.bucket-settings{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;gap:6px}.spaces-split{grid-template-columns:220px minmax(0,1fr)}.device-code{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft)}.device-code-value{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:.12em}.stack.center{align-items:center;text-align:center}.checks td{padding:7px 10px;vertical-align:top}.check-icon{width:26px;font-weight:700;text-align:center}.check-ok .check-icon{color:var(--ok)}.check-warn .check-icon{color:var(--warn)}.check-fail .check-icon{color:var(--err)}.check-fail td{background:color-mix(in srgb,var(--err) 6%,transparent)}.check-warn td{background:color-mix(in srgb,var(--warn) 6%,transparent)}.loc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.loc-table input[type=number],.loc-table input{padding:6px 8px}.loc-table td{padding:5px 6px}.diff-cell{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;max-height:160px;overflow:auto;padding:6px 8px;border-radius:6px}.diff-cell.old{background:var(--err-soft)}.diff-cell.new{background:var(--ok-soft)}.manifest-download{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.record-form{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--bg-2)}.record-types .btn{min-width:58px}.record-help{margin-top:12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:6px;display:flex;flex-direction:column;gap:4px;font-size:13px}.record-preview{margin-top:10px;padding:8px 12px;border-radius:6px;background:var(--ok-soft);border:1px solid var(--ok-line);font-size:13px;word-break:break-all}.status-card.status-down{border-color:var(--err-line)}.status-card.status-degraded{border-color:var(--warn-line)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.status-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--border)}.status-item.status-fail{border-color:var(--err-line);background:var(--err-soft)}.status-item.status-warn{border-color:var(--warn-line);background:var(--warn-soft)}.status-icon{font-weight:700;width:16px;text-align:center}.status-ok .status-icon{color:var(--ok)}.status-warn .status-icon{color:var(--warn)}.status-fail .status-icon{color:var(--err)}.status-label{font-weight:600;font-size:13px}.status-detail{font-size:12.5px;color:var(--muted);word-break:break-word}.status-detail a{color:var(--muted)}.redeploy-options{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2)}textarea.ai-prompt{min-height:52vh;white-space:pre-wrap}.assistant-fab{position:fixed;right:18px;bottom:18px;z-index:45;border:1px solid var(--accent-2);background:var(--accent);color:var(--accent-fg);padding:10px 16px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg)}.assistant-fab:hover{background:var(--accent-2)}.assistant-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:45;display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}@media(min-width:1400px){.with-assistant .main{margin-right:460px}}.assistant-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.assistant-provider{max-width:230px;padding:3px 6px;font-size:12px}.assistant-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.assistant-empty{padding:8px 4px}.assistant-empty p{margin:0 0 10px}.assistant-suggestions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.assistant-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);align-items:flex-end;background:var(--panel)}.assistant-input textarea{flex:1;min-height:44px;max-height:200px;resize:vertical}.assistant-foot{padding:0 12px 8px;background:var(--panel)}.msg{font-size:13.5px;line-height:1.5;word-break:break-word}.msg-user{align-self:flex-end;max-width:88%;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px 12px 2px;padding:8px 11px}.msg-user .msg-text{white-space:pre-wrap}.msg-page{font-size:11px;color:var(--muted);margin-bottom:3px}.msg-ai{display:flex;flex-direction:column;gap:6px}.msg-status{color:var(--muted);display:flex;gap:8px;align-items:center;font-size:13px}.md p{margin:0 0 6px}.md ul,.md ol{margin:0 0 6px;padding-left:20px}.md-h{font-weight:700;margin:8px 0 4px}.md-code{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin:2px 0 6px}.md-code-head{display:flex;justify-content:space-between;padding:3px 8px;font-size:11px;color:var(--muted);background:var(--panel-2)}.md-code pre,.tool-cmd,.tool-out{margin:0;padding:8px 10px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;overflow-x:auto}.tool-out{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;margin-top:4px}.tool-line{font-size:12.5px;color:var(--muted)}.tool-line .linkish{color:var(--muted)}.tool-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--panel)}.tool-card.pending{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tool-card-head{display:flex;justify-content:space-between;font-weight:600;font-size:13px}.tool-cmd{border-radius:6px}.quick-commands{gap:10px}.quick-commands.compact .card-title{margin-bottom:0}.quick-commands.compact h3{font-size:14px}.qc-group{display:flex;flex-direction:column;gap:6px}.qc-title{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.qc-buttons{display:flex;flex-wrap:wrap;gap:6px}.qc-buttons .btn.active{border-color:var(--accent)}.qc-result{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.qc-result-head{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel-2);min-width:0}.qc-result-head code{background:none;border:0;padding:0;min-width:0;flex:0 1 auto}.qc-out{margin:0;padding:10px 12px;max-height:420px;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.5;white-space:pre}.db-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--gap);align-items:start}.db-side{position:sticky;top:12px;max-height:calc(100vh - 40px);overflow-y:auto}.db-main{min-width:0}.db-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 9px;color:var(--text);font:inherit;cursor:pointer;min-width:0}.db-item:hover{background:var(--hover-2)}.db-item.active{background:var(--accent-soft);border-color:var(--accent-line)}.db-name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.db-tables{display:flex;flex-wrap:wrap;gap:6px}.db-table{display:inline-flex;gap:8px;align-items:baseline;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:4px 11px;font:inherit;font-size:12.5px;cursor:pointer}.db-table:hover{border-color:var(--border-strong)}.db-table.active{border-color:var(--accent);background:var(--accent-soft)}textarea.code.db-sql{min-height:70px;height:96px}.db-grid{overflow:auto;max-height:60vh;border:1px solid var(--border);border-radius:var(--radius-sm)}.db-grid table{font-family:var(--mono);font-size:12px}.db-grid th{position:sticky;top:0;background:var(--panel-2);z-index:1;text-transform:none;letter-spacing:0}.db-grid td{white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;padding:6px 10px}.db-user{padding:6px 0;border-bottom:1px solid var(--border)}.db-user:last-of-type{border-bottom:0}.db-password{color:var(--muted);word-break:break-all;-webkit-user-select:all;user-select:all}.sw-group{margin-bottom:14px}.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:6px}.sw-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--bg-2)}.sw-card.installed{border-color:var(--ok-line)}.sw-desc{flex:1}.public-url{padding:8px 10px;border:1px dashed var(--accent);border-radius:var(--radius-sm);word-break:break-all;font-size:13px;background:var(--accent-soft)}.star-btn{background:none;border:0;cursor:pointer;font-size:17px;line-height:1;padding:2px 4px;color:var(--muted)}.star-btn:hover,.star-btn.on{color:var(--star)}.bookmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.bookmark-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--panel);display:flex;flex-direction:column;gap:6px;min-width:0;box-shadow:var(--shadow)}.release-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--bg-2)}.play-images{display:flex;flex-wrap:wrap;gap:10px}.play-image{display:flex;flex-direction:column;gap:4px;align-items:center}.play-image img{max-height:160px;max-width:220px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2)}.stars{color:var(--star);letter-spacing:1px}.dev-reply{border-left:3px solid var(--accent);padding:6px 10px;background:var(--bg-2);border-radius:0 6px 6px 0}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 12px;margin-top:6px;max-height:200px;overflow:auto}.vault-list{padding:4px 0}.vault-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}.vault-row:last-child{border-bottom:0}.vault-row:hover{background:var(--hover)}.vault-main{min-width:0;display:flex;flex-direction:column;gap:3px}.vault-actions{flex-shrink:0;align-items:center}.vault-revealed{padding:4px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;-webkit-user-select:all;user-select:all;word-break:break-all}.btn.totp{font-variant-numeric:tabular-nums}.vault-more{position:relative}.vault-more summary{list-style:none}.vault-more summary::-webkit-details-marker{display:none}.vault-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:150px}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden;height:100%;min-height:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px 12px 12px 14px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--text);min-width:0;letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-logo{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;flex:none;box-shadow:0 2px 8px var(--accent-line)}.collapse-btn{background:none;border:1px solid transparent;color:var(--muted);border-radius:6px;padding:4px;cursor:pointer;display:grid;place-items:center}.collapse-btn:hover{border-color:var(--border);color:var(--text)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 8px 12px;display:flex;flex-direction:column;gap:2px}.nav-section{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:14px 10px 4px}.nav-link{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;color:var(--text-2);font-size:13.5px;min-width:0}.nav-link .icon{color:var(--muted)}.nav-link:hover{background:var(--hover-2);color:var(--text);text-decoration:none}.nav-link:hover .icon{color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-text);font-weight:560;box-shadow:inset 3px 0 0 var(--accent)}.nav-link.active .icon{color:var(--accent)}.nav-link .dot{margin-left:auto}.nav-link.sub{padding-left:22px;font-size:13px}.nav-link.sub .icon{color:var(--star)}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.nav-group{margin-top:10px}.nav-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 2px}.nav-group-title{display:flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:var(--muted);font:inherit;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:4px 6px;border-radius:5px;white-space:nowrap;overflow:hidden}.nav-group-title:hover{color:var(--text)}.nav-group-title .icon{transition:transform .12s}.nav-group.open .nav-group-title .icon{transform:rotate(90deg)}.nav-group-action{color:var(--muted);display:grid;place-items:center;padding:3px;border-radius:5px}.nav-group-action:hover{color:var(--text);background:var(--hover-2)}.nav-group-items{display:flex;flex-direction:column;gap:2px;margin-top:2px}.nav-empty{color:var(--muted);font-size:12.5px;padding:4px 12px}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.sidebar-bottom{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:4px;background:var(--sidebar-bottom)}.user-menu{position:relative}.user-chip{width:100%;display:flex;align-items:center;gap:10px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 8px;color:var(--text);cursor:pointer;font:inherit;text-align:left}.user-chip:hover,.user-chip[aria-expanded=true]{background:var(--hover-2);border-color:var(--border)}.user-chip>.icon{color:var(--muted);transform:rotate(-90deg);margin-left:auto}.user-chip-text{display:flex;flex-direction:column;min-width:0;line-height:1.25;font-size:13px}.user-chip-text .muted{font-size:11.5px}.avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#a855f7))}.user-pop{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:70;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:220px}.user-pop-head{display:flex;gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-pop-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;color:var(--text);background:none;border:0;font:inherit;font-size:13.5px;cursor:pointer;text-align:left}.user-pop-item:hover{background:var(--hover-2);text-decoration:none}.user-pop-item.danger{color:var(--err-text)}.user-pop-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px 2px}.theme-dots{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 8px}.layout.collapsed{grid-template-columns:64px minmax(0,1fr)}.layout.collapsed .nav-label,.layout.collapsed .nav-group-title span,.layout.collapsed .user-chip-text,.layout.collapsed .user-chip>.icon,.layout.collapsed .nav-group-action,.layout.collapsed .nav-empty,.layout.collapsed .nav-link .dot{display:none}.layout.collapsed .sidebar-top{flex-direction:column;padding:12px 8px}.layout.collapsed .collapse-btn .icon{transform:rotate(180deg)}.layout.collapsed .sidebar .nav-link{justify-content:center;padding:8px 0}.layout.collapsed .sidebar .nav-link.sub{padding-left:0}.layout.collapsed .nav-group-head{justify-content:center;border-top:1px solid var(--border);padding-top:6px}.layout.collapsed .nav-group-title{padding:2px}.layout.collapsed .user-chip{justify-content:center;padding:6px 0}.layout.collapsed .user-pop{left:0;right:auto;width:240px}.subnav-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.subnav{position:sticky;top:0;display:flex;flex-direction:column;gap:14px;padding:4px 0}.subnav-select{display:none}.subnav-group{display:flex;flex-direction:column;gap:2px}.subnav-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 10px 4px}.subnav-item{display:flex;align-items:center;text-align:left;background:none;border:0;color:var(--text-2);font:inherit;font-size:13.5px;padding:7px 10px;border-radius:7px;cursor:pointer}.subnav-item:hover{background:var(--hover-2);color:var(--text)}.subnav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:560;box-shadow:inset 3px 0 0 var(--accent)}.subnav-icon{display:inline-block;width:18px;margin-right:8px;text-align:center;color:var(--muted);font-size:12px}.subnav-item.active .subnav-icon{color:var(--accent)}.subnav-content{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}.subnav-content>.card+.card,.subnav-content .grid>.card{margin-top:0}.hero{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,var(--hero) 0%,var(--panel) 60%);flex-wrap:wrap;box-shadow:var(--shadow)}.hero-icon{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 45%,#22c55e));box-shadow:0 4px 14px var(--accent-line)}.hero-text{flex:1;min-width:200px}.hero-text h1{margin:0 0 6px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{font-size:12px;padding:1px 9px;border-radius:999px;border:1px solid var(--border);background:var(--hover);color:var(--muted);line-height:1.7}.chip.ok{color:var(--ok-text);border-color:var(--ok-line);background:var(--ok-soft)}.chip.warn{color:var(--warn-text);border-color:var(--warn-line);background:var(--warn-soft)}.chip.err{color:var(--err-text);border-color:var(--err-line);background:var(--err-soft)}.gcp-hero{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,var(--hero) 0%,var(--panel) 60%);flex-wrap:wrap;box-shadow:var(--shadow)}.gcp-avatar{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,#4285f4,#34a853 60%,#fbbc05);box-shadow:0 4px 14px #4285f433}.gcp-avatar.sm{width:34px;height:34px;border-radius:9px;font-size:15px;box-shadow:none}img.gcp-avatar{object-fit:cover;background:none}.gcp-hero-text{flex:1;min-width:200px}.gcp-hero-text h1{margin:0 0 6px}.gcp-chips{display:flex;flex-wrap:wrap;gap:6px}.gcp-chip{font-size:12px;padding:1px 9px;border-radius:999px;border:1px solid var(--border);background:var(--hover);color:var(--muted);line-height:1.7}.gcp-chip.ok{color:var(--ok-text);border-color:var(--ok-line);background:var(--ok-soft)}.gcp-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.gcp-project{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);transition:border-color .15s}.gcp-project:hover{border-color:var(--accent-line)}.gcp-project-main{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--text);text-decoration:none;min-width:0}.gcp-project-main:hover{text-decoration:none}.gcp-project-text{display:flex;flex-direction:column;min-width:0}.gcp-project-text>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcp-project-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--border);background:var(--bg-2);border-radius:0 0 var(--radius) var(--radius)}.role-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:1px 4px 1px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border)}.role-x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 4px;border-radius:50%}.role-x:hover{color:var(--err);background:var(--err-soft)}.log-list{padding:0;max-height:65vh;overflow:auto;font-size:12.5px}.log-entry{display:grid;grid-template-columns:82px 74px minmax(120px,200px) 1fr;gap:10px;padding:5px 12px;border-bottom:1px solid var(--border);border-left:3px solid transparent}.log-entry.warn{border-left-color:var(--warn)}.log-entry.err{border-left-color:var(--err);background:color-mix(in srgb,var(--err) 5%,transparent)}.log-time{color:var(--muted)}.log-sev{font-weight:600;font-size:11px;color:var(--muted)}.log-sev.warn{color:var(--warn-text)}.log-sev.err{color:var(--err-text)}.log-res{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-text{white-space:pre-wrap;word-break:break-word}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:border-color .12s}.theme-card:hover{border-color:var(--border-strong)}.theme-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.theme-preview{height:64px;border-radius:7px;display:grid;grid-template-columns:26% 1fr;overflow:hidden;border:1px solid rgba(127,127,127,.25)}.theme-preview>i{display:flex;flex-direction:column;gap:4px;padding:7px 6px}.theme-preview>i>b{display:block;height:4px;border-radius:2px;opacity:.55}.theme-preview>span{padding:8px;display:flex;flex-direction:column;gap:5px}.theme-preview>span>b{display:block;height:12px;border-radius:3px}.theme-preview.system{background:linear-gradient(135deg,#f3f5f9 50%,#0b0f17 50%)}.accent-dots{display:flex;flex-wrap:wrap;gap:8px}.accent-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;padding:0}.accent-dot.selected{box-shadow:0 0 0 2px var(--text)}.accent-dot.sm{width:18px;height:18px;border-width:2px}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--bg-2);border:1px solid var(--border);border-radius:9px}.segmented button{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;font-weight:550;padding:5px 12px;border-radius:6px;cursor:pointer}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}[data-theme=dark] .segmented button.active,[data-theme=dim] .segmented button.active,[data-theme=nord] .segmented button.active,[data-theme=black] .segmented button.active{background:var(--panel-2)}.mobile-bar,.nav-backdrop{display:none}@media(max-width:960px){.layout,.layout.collapsed{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100dvh}.layout.collapsed .nav-label,.layout.collapsed .nav-group-title span,.layout.collapsed .user-chip-text,.layout.collapsed .nav-empty{display:initial}.mobile-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:var(--sidebar-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.mobile-title{font-weight:700}.mobile-bar .btn{font-size:18px;padding:4px 10px}.sidebar{display:flex;position:fixed;top:0;bottom:0;left:0;width:min(280px,82vw);z-index:60;height:auto;transform:translate(-105%);transition:transform .18s ease-out;overflow-y:auto}.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);z-index:55}.collapse-btn{display:none}.main{min-height:0}.page{padding:14px 12px 48px}.page-header h1{font-size:20px}.grid-2,.grid-3,.form-grid,.split,.choice-cards,.preset-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{gap:10px}.stat-card-icon{width:34px;height:34px}.tabs .tab{flex:0 0 auto}.modal-backdrop{padding:8px}.modal{max-height:calc(100dvh - 16px)}.card{padding:12px}.assistant-fab{bottom:max(14px,env(safe-area-inset-bottom));right:14px}.qc-out,.tool-out{font-size:11.5px}.fm-uploads{left:18px;width:auto}.spaces-split,.db-layout,.subnav-layout{grid-template-columns:1fr}.db-side{position:static;max-height:none}.subnav{position:static}.subnav-group{display:none}.subnav-select{display:block}.vault-row{flex-direction:column;align-items:stretch}}@media(max-width:720px){.log-entry{grid-template-columns:70px 1fr}.log-res{display:none}.log-text{grid-column:1 / -1}}.stat-card{display:flex;align-items:center;gap:14px;color:var(--text)}.stat-card.link{transition:border-color .15s,transform .15s}.stat-card.link:hover{text-decoration:none;border-color:var(--accent-line);transform:translateY(-1px)}.stat-card-icon{width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text)}.stat-card-icon.ok{background:var(--ok-soft);color:var(--ok-text)}.stat-card-icon.warn{background:var(--warn-soft);color:var(--warn-text)}.stat-card-icon.err{background:var(--err-soft);color:var(--err-text)}.stat-card-icon.info{background:var(--info-soft);color:var(--info-text)}.stat-card-text{display:flex;flex-direction:column;min-width:0}.stat-card .stat-value{font-size:22px}.section-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-label h2{margin:0}.server-card-head{display:flex;align-items:center;gap:10px}.server-card-icon{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.server-card-foot{display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}.card-flush{padding:0;overflow:hidden}.card-flush>.card-title{padding:14px 16px 0}.card-flush>table th:first-child,.card-flush>table td:first-child,.card-flush>.table-wrap th:first-child,.card-flush>.table-wrap td:first-child{padding-left:16px}.card-flush>table th:last-child,.card-flush>table td:last-child,.card-flush>.table-wrap th:last-child,.card-flush>.table-wrap td:last-child{padding-right:16px}.card-flush>.empty{padding:28px 16px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar-search{flex:1;min-width:200px;max-width:420px;padding-left:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center}.dropzone{display:flex;align-items:center;justify-content:center;text-align:center;min-height:110px;padding:18px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-2);cursor:pointer;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone .row{text-align:left}.dz-thumb{width:56px;height:56px;border-radius:12px;object-fit:contain}.checker{display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);background-color:#fff;background-image:linear-gradient(45deg,#e6e9ef 25%,transparent 25%),linear-gradient(-45deg,#e6e9ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6e9ef 75%),linear-gradient(-45deg,transparent 75%,#e6e9ef 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;overflow:hidden}.checker img{display:block;max-width:100%;max-height:100%}.checker.tiny{width:40px;height:40px;background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.checker.tiny img{max-width:36px;max-height:36px}.checker.tiny.lg{width:56px;height:56px}.checker.tiny.lg img{max-width:52px;max-height:52px}.icon-previews{display:flex;flex-wrap:wrap;gap:18px}.icon-preview{display:flex;flex-direction:column;align-items:center;gap:6px}.icon-preview .checker{width:112px;height:112px}.icon-preview img{width:96px;height:96px}.group-row td{background:var(--panel-2);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:6px;padding-bottom:6px}.file-badge{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);font:600 10px var(--mono);text-transform:uppercase;color:var(--muted)}.color-input{width:40px;height:34px;padding:2px;cursor:pointer;flex:none}.shot-list{display:flex;flex-direction:column;gap:8px}.shot-item{display:flex;gap:12px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2)}.shot-item>img{width:44px;height:70px;object-fit:contain;border-radius:6px;background:var(--panel-2);flex:none}.shot-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--gap);align-items:start}.shot-layout>.card+.card{margin-top:0}.shot-preview{position:sticky;top:12px;align-items:center}.shot-preview .checker{max-width:100%}.shot-preview .checker img{max-height:380px}.check-table td{padding:6px 8px}@media(max-width:960px){.shot-layout{grid-template-columns:1fr}.shot-preview{position:static}}
