.org-name{align-items:center;gap:10px;min-width:0;display:flex}.org-logo{border-radius:var(--r-sm);background:var(--panel3) center/contain no-repeat;border:1px solid var(--line);width:32px;height:32px;color:var(--muted);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.org-logo.lg{border-radius:var(--r);width:48px;height:48px;font-size:18px}.org-sub{color:var(--faint);font-size:11.5px}.org-providers{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.org-providers span b{color:var(--ink2);font-weight:600}.table tbody tr.org-click{cursor:pointer}.org-sel{border-radius:var(--r-sm);width:auto;height:28px;padding:0 26px 0 8px;font-size:12px}.org-kv{grid-template-columns:150px 1fr;align-items:center;gap:10px 14px;font-size:13px;display:grid}.org-kv>.k{color:var(--muted);font-size:12.5px}.org-stack{flex-direction:column;gap:18px;display:flex}.org-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.org-secret{align-items:stretch;gap:8px;display:flex}.org-secret .code-block{letter-spacing:.06em;color:var(--accent);text-align:center;flex:1;margin:0;font-size:18px}.org-note{color:var(--muted);font-size:12.5px;line-height:1.55}.org-note b{color:var(--ink2);font-weight:600}.org-callout{border-radius:var(--r);background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb), .3);color:var(--ink2);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.org-callout.warn{background:var(--warn-soft);border-color:#e3b3414d}.org-callout svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}.org-callout.warn svg{color:var(--warn)}.org-welcome{text-align:center;max-width:560px;margin:40px auto}.org-welcome .card-body{padding:34px 30px}.org-welcome h2{margin:10px 0 6px;font-size:18px}.org-welcome p{color:var(--muted);margin:0 0 8px;font-size:13.5px;line-height:1.6}.org-welcome svg.big{width:40px;height:40px;color:var(--accent)}.org-tiles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:18px;display:grid}.org-tile{color:inherit;flex-direction:column;gap:10px;padding:16px 18px;text-decoration:none;display:flex}.org-tile:hover{border-color:var(--accent);text-decoration:none}.org-tile .nums{color:var(--muted);gap:18px;font-size:12.5px;display:flex}.org-tile .nums b{color:var(--ink);font-size:20px;font-weight:700;display:block}.proj-hero{aspect-ratio:16/9;border-radius:var(--r);background:var(--bg2) center/cover no-repeat;border:1px solid var(--line);width:100%}.proj-code{letter-spacing:.08em;color:var(--accent);font-family:ui-monospace,Consolas,monospace;font-size:15px}.proj-inline{align-items:center;gap:8px;display:flex}.proj-inline .input,.proj-inline .select{flex:1}.vr-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:18px;padding:14px 0;display:grid}.vr-row:last-child{border-bottom:none}.vr-row .t{font-size:13.5px;font-weight:600}.vr-row .d{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.55}.vr-row .unit{align-items:center;gap:8px;display:flex}.vr-row .unit span{color:var(--muted);width:44px;font-size:12px}.vr-row .unit .input{text-align:right;font-variant-numeric:tabular-nums}.val-list{flex-direction:column;gap:6px;display:flex}.val-item{border-radius:var(--r-sm);background:var(--bg2);border:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 10px;font-size:13px;display:flex}.val-item svg{flex:none;width:16px;height:16px;margin-top:1px}.val-item.error svg{color:var(--danger)}.val-item.warning svg{color:var(--warn)}.val-item .code{color:var(--faint);margin-left:auto;font-family:ui-monospace,Consolas,monospace;font-size:10.5px}@media (width<=1100px){.org-grid{grid-template-columns:1fr}}@media (width<=760px){.org-kv{grid-template-columns:1fr;gap:4px}.vr-row{grid-template-columns:1fr;gap:10px}}@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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: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+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: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+??,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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}:root{--bg:#12181a;--bg2:#161d1f;--panel:#1b2426;--panel2:#212b2d;--panel3:#283436;--line:#2a3537;--line2:#37454a;--ink:#f1efe8;--ink2:#cdd1ca;--muted:#8f9b97;--faint:#5f6b68;--accent:#4fd1a5;--accent-rgb:79, 209, 165;--accent-hover:#72dcb8;--accent-dark:#1f4a3d;--accent-ink:#0f1f19;--accent-soft:rgba(var(--accent-rgb), .12);--forest:#1f4a3d;--forest-deep:#13291f;--paper:#f5f3ec;--blueprint:#8faac0;--grid-line:#8faac00f;--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Space Grotesk Variable", "Space Grotesk", var(--font);--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--danger:#e5534b;--danger-soft:#e5534b1f;--ok:#7ccf6a;--ok-soft:#7ccf6a1f;--warn:#e3b341;--warn-soft:#e3b3411f;--r-sm:8px;--r:10px;--r-lg:14px;--shadow:0 20px 60px #00000073;--sidebar:248px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}::selection{background:var(--accent-dark)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line2);border:2px solid var(--bg);border-radius:10px}::-webkit-scrollbar-track{background:0 0}.shell{grid-template-columns:var(--sidebar) 1fr;height:100%;display:grid}.shell.collapsed{--sidebar:64px}.sidebar{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.brand{white-space:nowrap;align-items:center;gap:10px;height:60px;padding:0 18px;font-size:16px;font-weight:700;display:flex}.brand .menu-btn{margin-left:-6px}.brand-mark{flex:none;width:28px;height:28px;display:block}.brand .wordmark{fill:var(--ink);display:block}.brand .brand-tag{font:500 10.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--forest-deep);border-radius:5px;padding:3px 6px}.brand b{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.nav{flex:1;padding:6px 10px 16px;overflow-y:auto}.nav-section{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);white-space:nowrap;align-items:center;gap:8px;padding:18px 10px 8px;font-size:10.5px;font-weight:600;display:flex}.nav a{height:38px;color:var(--ink2);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;margin:2px 0;padding:0 12px;font-size:13.5px;text-decoration:none;display:flex}.nav a svg{width:18px;height:18px;color:var(--muted);flex:none}.nav a:hover{background:var(--panel);color:var(--ink)}.nav a.active{background:var(--panel2);color:var(--ink)}.nav a.active svg{color:var(--accent)}.nav a .badge{margin-left:auto}.collapsed .nav-section span,.collapsed .nav a span,.collapsed .brand span,.collapsed .nav a .badge{display:none}.sidebar-foot{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;display:flex}.avatar{background:var(--forest-deep);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12181ad9;flex:none;align-items:center;gap:14px;height:60px;padding:0 24px;display:flex}.crumbs{color:var(--muted);align-items:center;gap:10px;font-size:13.5px;display:flex}.crumbs b{color:var(--ink);font-weight:600}.crumbs .sep{background:var(--line2);width:1px;height:18px}.topbar .spacer{flex:1}.content{flex:1;padding:22px 24px 40px;overflow:auto}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head h1{margin:0;font-size:20px;font-weight:600}.page-head .sub{color:var(--muted);font-size:13px}.page-head .spacer{flex:1}.btn{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13.5px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--panel3);border-color:var(--line2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 18px;font-weight:600}.btn.primary.icon{padding:0}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel)}.btn.outline{background:0 0}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.sm{border-radius:var(--r-sm);height:30px;padding:0 10px;font-size:12.5px}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}.create-btn{color:var(--ink2);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 4px;font-size:13.5px;display:inline-flex}.create-btn:hover{color:var(--accent)}.create-btn .plus{border:1.5px solid;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.input,.select,.textarea{background:var(--bg2);width:100%;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r);font:inherit;outline:none;padding:0 12px;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.sm,.select.sm{border-radius:var(--r-sm);height:30px;font-size:12.5px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238B97A5' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.search{position:relative}.search svg{width:15px;height:15px;color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search .input{padding-left:34px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--muted);font-size:11.5px;font-weight:500}.field .hint{color:var(--faint);font-size:11.5px}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.span2{grid-column:span 2}.span-all{grid-column:1/-1}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:12px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.ok-text{color:var(--ok)}.danger-text{color:var(--danger)}.warn-text{color:var(--warn)}.accent-text{color:var(--accent)}.slider{grid-template-columns:1fr 64px;align-items:center;gap:10px;display:grid}.slider input[type=range]{width:100%;accent-color:var(--accent)}.slider .input{text-align:right;font-variant-numeric:tabular-nums;height:28px;padding:0 8px}.color-field{gap:8px;display:flex}.color-field input[type=color]{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);cursor:pointer;width:40px;height:36px;padding:2px}.switch{flex:none;width:36px;height:20px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--line2);cursor:pointer;border-radius:20px;transition:all .15s;position:absolute;inset:0}.switch span:before{content:"";background:var(--ink);border-radius:50%;width:14px;height:14px;transition:all .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{background:var(--accent-ink);transform:translate(16px)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg)}.card-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex}.card-head h3{margin:0;font-size:14.5px;font-weight:600}.card-body,.stat{padding:16px 18px}.stat .v{letter-spacing:-.01em;font-size:26px;font-weight:700}.stat .k{color:var(--muted);margin-top:2px;font-size:12.5px}.stats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.chip-filter{border-radius:var(--r-sm);background:var(--panel2);border:1px solid var(--line);height:30px;color:var(--ink2);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.chip-filter.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:auto}table.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--panel);z-index:1;padding:12px 14px;font-size:12px;font-weight:500;position:sticky;top:0}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--panel2)}.table tbody tr.selected{background:var(--accent-soft)}.table .link{color:var(--accent);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:rgba(var(--accent-rgb), .45);text-decoration-color:rgba(var(--accent-rgb), .45);cursor:pointer}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .actions{text-align:right;white-space:nowrap;width:1%}.thumb{border-radius:var(--r-sm);background:var(--bg2) center/cover no-repeat;border:1px solid var(--line);flex:none;width:40px;height:40px}.thumb.lg{width:64px;height:64px}.pager{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:12px 4px 0;font-size:12.5px;display:flex}.chip{letter-spacing:.04em;text-transform:uppercase;background:var(--panel3);height:20px;color:var(--ink2);border:1px solid var(--line2);white-space:nowrap;border-radius:4px;align-items:center;padding:0 7px;font-size:10.5px;font-weight:600;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:#5fbf774d}.chip.danger{background:var(--danger-soft);color:var(--danger);border-color:#e5534b4d}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:#e3b3414d}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:rgba(var(--accent-rgb), .3)}.badge{background:var(--accent-dark);min-width:20px;height:20px;color:var(--accent);border-radius:10px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#05080cb3;justify-content:center;align-items:center;padding:20px;animation:.12s fade;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:16px;overflow:auto}.modal.wide{width:min(980px,100%)}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-head h3{flex:1;margin:0;font-size:15px}.modal-body{padding:18px 20px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--panel2);border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:var(--r);min-width:240px;max-width:420px;box-shadow:var(--shadow);padding:10px 14px;font-size:13px;animation:.15s slide}.toast.error{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--ok)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:16px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13.5px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.tabs button:hover{color:var(--ink)}.dropzone{border:1.5px dashed var(--line2);border-radius:var(--r-lg);text-align:center;color:var(--muted);cursor:pointer;padding:22px;font-size:13px;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropzone svg{width:22px;height:22px;margin-bottom:6px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.empty svg{width:34px;height:34px;color:var(--faint);margin-bottom:8px}.progress{background:var(--line);border-radius:6px;height:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .3s}.spinner{border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.split{grid-template-columns:minmax(380px,520px) 1fr;align-items:start;gap:18px;display:grid}.sticky{position:sticky;top:0}.viewport{border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(900px 500px at 50% 0,#1d2729 0%,#0b1011 70%);height:520px;position:relative;overflow:hidden}.viewport canvas{display:block}.viewport .hud{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.viewport .hud-r{gap:6px;display:flex;position:absolute;top:12px;right:12px}.viewport .hud-b{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.glass{border:1px solid var(--line);border-radius:var(--r);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12171fd1}.seg{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);display:inline-flex;overflow:hidden}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12.5px;display:inline-flex}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.compare{border-collapse:collapse;width:100%;font-size:12.5px}.compare td,.compare th{border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;padding:7px 8px}.compare th{color:var(--muted);font-weight:500}.compare td:first-child,.compare th:first-child{text-align:left;color:var(--muted)}.delta-good{color:var(--ok)}.delta-bad{color:var(--danger)}.tree-item{border-radius:var(--r);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex}.tree-item:hover{background:var(--panel2)}.tree-item.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .35)}.tree-item .drag{color:var(--faint);cursor:grab}.tree-item.dragover{border-color:var(--accent);border-style:dashed}.maps-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.map-slot{aspect-ratio:1;border-radius:var(--r);border:1.5px dashed var(--line2);background:var(--bg2) center/cover no-repeat;cursor:pointer;align-items:flex-end;display:flex;position:relative;overflow:hidden}.map-slot.has{border-style:solid;border-color:var(--line)}.map-slot:hover{border-color:var(--accent)}.map-slot .lbl{width:100%;color:var(--ink);background:linear-gradient(#0000,#000000bf);padding:5px 7px;font-size:11px}.map-slot .x{position:absolute;top:4px;right:4px}.map-slot .ph{color:var(--faint);text-align:center;place-items:center;padding:6px;font-size:11px;display:grid;position:absolute;inset:0}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;transition:border-color .12s,transform .12s;overflow:hidden}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile .img{aspect-ratio:1;background:var(--bg2) center/cover no-repeat}.tile .meta{padding:10px 12px}.tile .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.login{background:radial-gradient(1200px 700px at 70% -10%, #4fd1a524 0%, transparent 55%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 40px 40px, var(--bg);place-items:center;height:100%;display:grid}.login .card{width:380px;padding:30px}.code-block{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);white-space:pre-wrap;word-break:break-all;color:var(--ink2);padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:12px}@media (width<=1100px){.split{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:16px}.grid2,.grid3{grid-template-columns:1fr}.span2{grid-column:auto}}
