:root{--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:12px;--sp-6:16px;--sp-7:24px;--sb-inset:12px;--fs-0:10px;--fs-1:11px;--fs-2:12px;--fs-3:13px;--fs-4:15px;--fs-5:17px;--font-ui:"Sora",system-ui,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--surface-0:#0f1513;--surface-1:#f4f6f4;--surface-2:#ffffff;--surface-3:#ffffff;--surface-4:#f0f2f0;--overlay:#ffffff;--inset:#f4f6f4;--line:#e6e9e7;--line-strong:#d3d8d5;--row:#f4f6f4;--txt:#14181a;--txt-hi:#14181a;--muted:#79847f;--faint:#9aa39e;--accent:#12a150;--accent-strong:#0e8944;--accent-soft:#e4f4eb;--accent-line:#b9e6cc;--warn:#c0392b;--warn-soft:#fbece9;--playhead:#e8794d;--key:#e4c24d;--key-stroke:#b8931f;--group:#7c5ce6;--good:#12a150;--r-1:4px;--r-2:6px;--r-3:7px;--r-4:8px;--r-round:999px;--focus-ring:0 0 0 3px rgba(18,161,80,.2);--shadow-1:0 1px 3px rgba(20,24,26,.14);--shadow-2:0 8px 24px rgba(20,24,26,.14);--shadow-3:0 18px 48px rgba(20,24,26,.2);--w-left:250px;--w-right:300px;--h-timeline:208px;--w-rail:48px;--ed-left:250px;--ed-right:300px;--map-left:262px;--map-right:306px;--map-shelf:156px;--bg:var(--surface-1);--panel:var(--surface-2);--panel2:var(--surface-3);--accent2:var(--accent-strong)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font:var(--fs-3)/1.4 var(--font-ui);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#fff}button{font:inherit;font-weight:500;color:var(--txt);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-4);padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.2;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--surface-4);border-color:var(--line-strong)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.on{background:var(--accent);border-color:var(--accent);color:#fff}button.on:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button.on svg{stroke:currentColor}button .ic{display:inline-flex;flex:none}button .ic svg{display:block}button svg{display:block;flex:none}button.accent{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.accent:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button.accent svg{stroke:#fff}button.soft{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:600}button.soft:hover{background:var(--accent-line)}button.danger{color:var(--warn)}button.danger:hover{background:var(--warn-soft);border-color:var(--warn-soft)}button.soft-danger{background:var(--warn-soft);border-color:transparent;color:var(--warn);font-weight:600}button.soft-danger:hover{background:#f6ddd7}button.chip{font-family:var(--font-mono);font-size:9.5px;font-weight:500;color:#4a5350;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-2);padding:3px 7px}button.chip:hover{background:var(--surface-4)}input,select{font:inherit;color:var(--txt);background:var(--inset);border:1px solid var(--line);border-radius:var(--r-3);padding:5px 8px}input[type=text],input[type=number]{background:var(--inset);border:1px solid var(--line)}input:focus,input:focus-visible,select:focus,select:focus-visible{border-color:var(--accent);background:var(--surface-2)}input[type=number]{width:64px}select{background:var(--surface-2);border:1px solid var(--line-strong);cursor:pointer;font-weight:500}label{color:var(--muted)}.h{font-weight:600;color:var(--txt-hi);letter-spacing:.2px}.mono{font-family:var(--font-mono)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:var(--r-round);background:#eef1ef;outline:none;cursor:pointer;padding:0;accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px #00000038;cursor:pointer}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px #00000038;cursor:pointer}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-1)}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:var(--focus-ring)}#app{display:grid;height:100vh;grid-template-columns:var(--w-rail) var(--w-left) minmax(240px,1fr) var(--w-right);grid-template-rows:54px minmax(120px,1fr) var(--h-timeline);grid-template-areas:"header header header header" "rail left center right" "rail timeline timeline timeline"}#header{grid-area:header;display:flex;align-items:center;gap:11px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}#header .brand{display:flex;align-items:center;gap:9px;flex:none}#header .brand svg{display:block}#header .brand .wordmark{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--txt-hi)}#header .brand .wordmark b{color:var(--accent);font-weight:700}#header .spacer{flex:1;min-width:var(--sp-4)}#header .mode-tabs{display:flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px;flex:none}#header .mode-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:0;border-radius:var(--r-3);color:var(--muted);cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;transition:background .12s,color .12s}#header .mode-tab-ic{line-height:0;color:var(--faint);display:flex}#header .mode-tab-ic svg{display:block;width:15px;height:15px;stroke:currentColor}#header .mode-tab:hover{background:transparent;color:var(--txt)}#header .mode-tab.on,#header .mode-tab.on:hover{background:var(--surface-2);color:var(--txt-hi);box-shadow:var(--shadow-1)}#header .mode-tab.on .mode-tab-ic{color:var(--accent)}#header .mode-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}#modeTitle{display:flex;align-items:baseline;gap:9px;min-width:0;overflow:hidden;white-space:nowrap;flex:0 10000 auto}#modeTitle[hidden]{display:none}#modeTitle .mode-title-text{font-weight:700;font-size:14.5px;letter-spacing:-.01em;color:var(--txt-hi);min-width:0;overflow:hidden;text-overflow:ellipsis}#modeTitle .mode-title-sub{font-family:var(--font-mono);font-size:11px;color:var(--faint);min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:1500px){#modeTitle .mode-title-sub{display:none}}#header .grp{display:flex;gap:6px;align-items:center;min-width:0;flex-wrap:nowrap}#header .grp button{flex:none}@media(max-width:1440px){#header .mode-tab-lbl{display:none}#header .grp{gap:3px}#header .grp .sep{margin:0}#header .grp button{padding:6px 7px}#header .grp button.hdr-icon{padding:0}}#header .grp[hidden]{display:none}#header .grp button{white-space:nowrap;font-size:12.5px;font-weight:600;padding:6px 10px}#header .grp button svg{width:15px;height:15px}#header .grp button.ghost{font-weight:500;color:var(--txt)}#header .grp button.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}#header .grp button.on:hover{background:var(--accent-line);border-color:var(--accent-line)}#header .grp button.on svg{stroke:var(--accent)}#header .grp button.hdr-icon{width:32px;height:30px;padding:0;justify-content:center}.sep{width:1px;height:20px;background:var(--line);margin:0 2px;flex:none}#app.left-unpinned{grid-template-columns:var(--w-rail) 0 minmax(240px,1fr) var(--w-right)}.editor-pane.left-unpinned{grid-template-columns:0 1fr var(--ed-right)}.map-pane.left-unpinned{grid-template-columns:0 1fr var(--map-right)}#app{position:relative}.ldock{position:absolute;z-index:60;pointer-events:none;overflow:hidden;width:calc(var(--ldock-w) + 42px)}.ldock.settled{overflow:visible}.ldock[hidden]{display:none}.ldock[data-dock=character]{--ldock-w:var(--w-left);left:var(--w-rail);top:54px;bottom:var(--h-timeline)}.ldock[data-dock=editor]{--ldock-w:var(--ed-left);left:0;top:0;bottom:0}.ldock[data-dock=map]{--ldock-w:var(--map-left);left:0;top:0;bottom:var(--map-shelf)}.ldock-slide{height:100%;display:flex;align-items:stretch;pointer-events:none;transform:translate(calc(-1 * var(--ldock-w)));transition:transform .16s cubic-bezier(.4,0,1,1)}.ldock.open .ldock-slide{transform:translate(0);transition:transform .2s cubic-bezier(.2,.7,.3,1)}.ldock-slide>*{pointer-events:auto}@media(prefers-reduced-motion:reduce){.ldock-slide,.ldock.open .ldock-slide,.ldock-fly,.ldock.open .ldock-fly{transition:none}}.ldock-handle{flex:none;width:26px;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:8px;align-self:flex-start;margin-top:10px;background:var(--panel);border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;color:var(--muted);cursor:pointer;box-shadow:2px 0 6px #14181a0f}.ldock-handle:hover{background:var(--surface-4);color:var(--txt-hi)}.ldock-handle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ldock-handle-ic{display:flex;line-height:0}.ldock-handle-ic svg{width:14px;height:14px}.ldock-handle-lbl{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.ldock.open .ldock-handle{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.ldock.open .ldock-handle-ic{transform:rotate(180deg)}.ldock-fly{flex:none;display:flex;min-width:0;width:var(--ldock-w);visibility:hidden;opacity:0;box-shadow:var(--shadow-3);transition:opacity .16s ease-in}.ldock.open .ldock-fly,.ldock.closing .ldock-fly{visibility:visible}.ldock.open .ldock-fly{opacity:1;transition:opacity .2s ease-out}.ldock-fly>*{width:100%;min-width:0}.ldock-pin{flex:none;width:22px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--r-2);color:var(--faint);cursor:pointer}.ldock-pin svg{width:13px;height:13px}.ldock-pin:hover{background:var(--surface-4);color:var(--txt-hi);border-color:transparent}.ldock-pin.on,.ldock-pin.on:hover{background:none;border-color:transparent;color:var(--accent)}.ldock-pin.on:hover{background:var(--surface-4)}.ldock-pin:focus-visible{outline:none;box-shadow:var(--focus-ring)}#header .menu-proxy{display:none}#header .ui-menu-host{display:inline-flex;align-items:center;flex:none}#header .ui-menu-trigger{display:inline-flex;align-items:center;gap:3px;padding:6px 7px}#header .ui-menu-trigger svg{width:15px;height:15px}#header .ui-menu-trigger[aria-expanded=true]{background:var(--surface-4);border-color:var(--line-strong);color:var(--txt-hi)}#header .ui-split-primary{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-3) 0 0 var(--r-3);padding:6px 11px}#header .ui-split-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;padding:0;border-radius:0 var(--r-3) var(--r-3) 0;margin-left:-1px;box-shadow:inset 1px 0 #ffffff59}#header .ui-split-chevron svg{width:14px;height:14px}.ui-menu{position:fixed;z-index:1400;min-width:216px;padding:6px;display:flex;flex-direction:column;gap:1px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #14181a2e}.ui-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:12.5px;font-weight:500;color:var(--txt);text-align:left;cursor:pointer}.ui-menu-item:hover:not(:disabled){background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.ui-menu-item:active{transform:none}.ui-menu-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-menu-item .ic svg{width:14px;height:14px;stroke:var(--faint)}.ui-menu-item:hover:not(:disabled) .ic svg{stroke:var(--accent)}.ui-menu-label{flex:1;min-width:0}.ui-menu-shortcut{font-family:var(--font-mono);font-size:10px;color:var(--faint);background:var(--inset);border-radius:5px;padding:2px 5px}#toolRail{grid-area:rail;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 12px;background:var(--panel);border-right:1px solid var(--line);overflow:hidden}#toolRail[hidden]{display:none}#toolRail button{position:relative;width:34px;height:34px;padding:0;flex:none;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--r-3);color:var(--txt)}#toolRail button svg{width:17px;height:17px}#toolRail button:hover{background:var(--surface-4);border-color:transparent}#toolRail button:disabled:hover{background:transparent}#toolRail button:active{transform:none}#toolRail button:focus-visible{outline:none;box-shadow:var(--focus-ring)}#toolRail button.on,#toolRail button.on:hover{background:var(--accent-soft);border-color:transparent;color:var(--accent)}#toolRail button.on svg{stroke:var(--accent)}#toolRail button.on:before{content:"";position:absolute;left:-7px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}#toolRail .rail-seg{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;background:none;border:0;flex:none}#toolRail .rail-sep{width:22px;height:1px;background:var(--line);margin:4px 0;flex:none}#toolRail #viewCluster,#toolRail .rail-slot{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}#toolRail .rail-slot[hidden]{display:none}#toolRail .map-header-tools,#toolRail .ed-rail-tools{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}#toolRail .map-header-tools[hidden],#toolRail .ed-rail-tools[hidden]{display:none}#toolRail .map-tool-seg,#toolRail .ed-tool-seg{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;background:none;border:0;flex:none}#toolRail .map-snap-btn>span:not(.map-rotsnap-lbl),#toolRail .ed-snap-btn>span{display:none}#toolRail .map-rotsnap-lbl{position:absolute;right:2px;bottom:1px;font-family:var(--font-mono);font-size:8.5px;font-weight:700;line-height:1}#toolRail .ed-space-btn{width:40px;height:24px;font-family:var(--font-mono);font-size:8.5px;font-weight:700;letter-spacing:.02em;color:var(--muted);background:var(--inset);border:1px solid var(--line);border-radius:6px}#toolRail .ed-space-btn:hover{background:var(--surface-4);color:var(--txt-hi)}#header .account-chip{display:flex;align-items:center;flex:none;margin-left:auto}.account-chip .account-loading{font-size:12px;color:var(--faint);white-space:nowrap}.account-chip .account-signin{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--accent-line);border-radius:var(--r-3);background:var(--accent-soft);color:var(--accent-strong);font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}.account-chip .account-signin:hover{background:var(--surface-2);border-color:var(--accent)}.account-chip .account-signin svg{width:15px;height:15px;flex:none}.account-chip .account-signin:focus-visible{outline:none;box-shadow:var(--focus-ring)}.account-chip .account-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:var(--r-round);background:var(--surface-2);color:var(--txt-hi);font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.account-chip .account-btn:hover{background:var(--surface-2);border-color:#12a15066}.account-chip .account-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.account-chip .account-avatar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex:none;color:#fff;background:linear-gradient(135deg,#0f1513,#2c3a33)}.account-chip .account-avatar svg{width:14px;height:14px}.account-chip .account-chev{display:flex;line-height:0;color:var(--muted);transition:transform .15s}.account-chip .account-chev svg{width:14px;height:14px}.account-chip .account-btn[aria-expanded=true] .account-chev{transform:rotate(180deg)}.account-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-round);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.4}.account-badge--customer{background:var(--accent-soft);color:var(--accent-strong)}.account-badge--lifetime{background:#e8794d29;color:#b9542a}.account-menu{position:fixed;z-index:1400;width:262px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #14181a2e;display:flex;flex-direction:column;overflow:hidden}.account-menu-profile{display:flex;align-items:center;gap:11px;padding:14px 14px 12px;border-bottom:1px solid #f0f2f0}.account-menu-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.account-menu-identity{display:flex;flex-direction:column;min-width:0;line-height:1.35}.account-menu-identity strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-identity>span{font-family:var(--font-mono);font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-profile .account-badge{margin-left:auto;flex:none}.account-menu-nav,.account-menu-footer{padding:6px}.account-menu-footer{border-top:1px solid #f0f2f0}.account-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:var(--r-2);background:transparent;color:var(--txt);font:inherit;font-size:12.5px;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap}.account-menu-item:hover{background:var(--row)}.account-menu-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.account-menu-item.account-signout{color:var(--warn)}.account-menu-item.account-signout:hover{background:var(--warn-soft)}.perk-chip{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;border:1px solid rgba(232,121,77,.28);border-radius:var(--r-round);background:#fcebe2;color:#b9542a;font-family:var(--font-mono);font-size:9.5px;font-weight:700;line-height:1.35;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.perk-chip--interactive{cursor:pointer}.perk-chip--interactive:hover{border-color:#e8794d;background:#f9e0d3}.perk-chip--interactive:focus-visible{outline:none;box-shadow:0 0 0 3px #e8794d33}.perk-gated{opacity:.5;filter:saturate(.35)}.perk-gated:hover{opacity:.72;filter:saturate(.55)}.account-perks{padding:9px 14px;border-bottom:1px solid #f0f2f0}.account-perks-label{display:block;margin-bottom:7px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.account-perks-list{display:flex;flex-wrap:wrap;gap:5px}.account-perk-active{display:inline-flex;padding:3px 8px;border-radius:var(--r-round);background:#fcebe2;color:#b9542a;font-size:10.5px;font-weight:600;line-height:1.4}.account-perks-upsell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.account-perks-upsell>span:not(.perk-chip){font-size:11.5px;line-height:1.45;color:var(--muted)}.account-perks-upsell a{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--accent);text-decoration:none}.account-perks-upsell a:hover{text-decoration:underline}.account-perks-upsell a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:3px}.perk-popover{position:fixed;z-index:1500;width:286px;padding:15px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 42px #14181a33;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.perk-popover-title{font-size:14px;color:var(--txt-hi)}.perk-popover p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.perk-popover-actions{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:2px}.perk-popover-actions a{display:flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:var(--r-4);font-size:11.5px;font-weight:600;text-decoration:none;color:var(--accent-strong);border:1px solid var(--line);background:var(--surface-2)}.perk-popover-actions a:hover{background:var(--surface-4)}.perk-popover-actions .perk-popover-primary{background:var(--accent);border-color:var(--accent);color:#fff}.perk-popover-actions .perk-popover-primary:hover{background:var(--accent-strong)}.perk-popover-actions a:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(max-width:1360px){#header .brand .wordmark{display:none}}@media(max-width:860px){#header .mode-tab-lbl{display:none}}@media(max-width:860px){.account-chip .account-label{display:none}}@media(max-width:640px){#header{width:100vw;max-width:100vw;padding-inline:8px;gap:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}#header .spacer{min-width:0}}@media(max-width:480px){.account-menu{width:min(262px,calc(100vw - 20px))}.perk-popover{width:min(286px,calc(100vw - 20px))}}.mode-placeholder{position:fixed;left:0;right:0;top:54px;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-1)}.mode-placeholder[hidden]{display:none}.mode-ph-card{max-width:380px;text-align:center;padding:28px 34px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-1)}.mode-ph-soon{display:inline-block;margin-bottom:12px;padding:3px 10px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--inset);border:1px solid var(--line);border-radius:999px}.mode-ph-title{font-weight:700;font-size:var(--fs-5);color:var(--txt-hi);margin-bottom:8px}.mode-ph-desc{color:var(--muted);font-size:var(--fs-3);line-height:1.5}.home{position:fixed;left:0;right:0;top:54px;bottom:0;z-index:40;overflow:auto;background:var(--surface-1);padding:28px clamp(20px,5vw,64px) 48px}.home[hidden]{display:none}.home-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1120px;margin:0 auto 22px}.home-titlewrap{display:flex;align-items:baseline;gap:12px;min-width:0}.home-title{font-weight:800;font-size:var(--fs-6,22px);color:var(--txt-hi);margin:0;letter-spacing:-.01em}.home-count{font-family:var(--font-mono);font-size:var(--fs-0);font-weight:600;letter-spacing:.02em;color:var(--accent-strong);background:#e4f4eb;border:1px solid var(--line);border-radius:var(--r-round);padding:3px 9px;white-space:nowrap}.home-count:empty{display:none}.home-actions{display:flex;gap:8px;flex-wrap:wrap}.home-new{display:inline-flex;align-items:center;gap:6px}.home-new-plus{width:15px;height:15px}.home-tools{display:inline-flex;align-items:center;gap:8px}.home-viewtoggle{display:inline-flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.home-viewbtn{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;background:transparent;border:0;border-radius:var(--r-3);color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.home-viewbtn-ic{width:16px;height:16px;display:block}.home-viewbtn:hover{color:var(--txt)}.home-viewbtn[aria-pressed=true]{background:var(--surface-2);color:var(--txt-hi);box-shadow:var(--shadow-1)}.home-viewbtn[aria-pressed=true] .home-viewbtn-ic{color:var(--accent)}.home-viewbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.home-refresh{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--muted)}.home-refresh-ic{width:17px;height:17px;display:block}.home-refresh:hover:not(:disabled){color:var(--accent);border-color:var(--line-strong)}.home-refresh:disabled{opacity:.6;cursor:default}.home-refresh.is-spinning .home-refresh-ic{animation:home-spin .7s linear infinite}@keyframes home-spin{to{transform:rotate(360deg)}}.home-grid{display:grid;gap:12px;max-width:1120px;margin:0 auto;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.home-grid--list{grid-template-columns:1fr;gap:8px}.home-grid--list .home-card{flex-direction:row;align-items:center;gap:14px;padding:10px 14px}.home-grid--list .home-card-top{flex:1 1 auto}.home-grid--list .home-card-actions{flex:0 0 auto;border-top:0;padding-top:0;justify-content:flex-end}.home-empty{grid-column:1/-1;padding:48px 20px;text-align:center;color:var(--muted);font-size:var(--fs-3);border:1px dashed var(--line-strong);border-radius:var(--r-4);background:var(--surface-2)}.home-card{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1);transition:border-color .12s,box-shadow .12s,transform .12s}.home-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.home-card.recent:not(.active){border-color:var(--accent-line);box-shadow:0 5px 18px #0e894414}.home-card.active{border-color:var(--accent);background:linear-gradient(0deg,#E4F4EB 0%,var(--surface-2) 60%)}.home-card-top{display:flex;align-items:center;gap:12px;min-width:0}.home-card-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-3);background:var(--inset);color:var(--accent);border:1px solid var(--line)}.home-card.active .home-card-icon{background:#e4f4eb;border-color:var(--accent)}.home-card-glyph{width:22px;height:22px}.home-card-body{min-width:0;flex:1}.home-card-namerow{display:flex;align-items:center;gap:7px;min-width:0}.home-card-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #12a15029}.home-card-name{font-weight:600;color:var(--txt-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-badge{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-0);font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 7px;border-radius:var(--r-round);border:1px solid transparent;white-space:nowrap}.home-card-badge--local{color:var(--muted);background:var(--inset);border-color:var(--line)}.home-card-badge--cloud{color:#2c5aa0;background:#eaf1fb;border-color:#cadcf5}.home-card-badge--synced{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-line)}.home-card-badge--conflict{color:#9a5b00;background:#fdf1dc;border-color:#f2d79b}.home-card-sub{margin-top:2px;font-family:var(--font-mono);font-size:var(--fs-0);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:11px;border-top:1px solid var(--row)}.home-card-actions:empty{display:none}.home-card-open{padding:6px 14px;font-weight:600;font-size:var(--fs-2);background:var(--accent);border-color:var(--accent);color:#fff}.home-card-open:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.home-card-open.current{background:#e4f4eb;border-color:var(--accent);color:var(--accent-strong)}.home-card-open.current:hover{background:#d7efe0}.home-card-cloud{padding:6px 12px;font-weight:600;font-size:var(--fs-1);white-space:nowrap;background:var(--surface-3);border:1px solid var(--line-strong);color:var(--txt)}.home-card-cloud:hover{background:var(--surface-4);border-color:var(--line-strong)}.home-card-sync{padding:6px 12px;font-weight:600;font-size:var(--fs-1);white-space:nowrap;background:var(--inset);border:1px solid var(--line);color:var(--muted)}.home-card-sync:hover{background:var(--surface-4);border-color:var(--line-strong);color:var(--txt)}.home-card-sync.on{background:var(--accent);border-color:var(--accent);color:#fff}.home-card-sync.on:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.home-card-del{display:grid;place-items:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;color:var(--muted);transition:color .12s,border-color .12s,background .12s}.home-card-del:hover{color:#c0392b;border-color:var(--line-strong);background:var(--inset)}.home-card-delglyph{width:16px;height:16px}.home-card-ren{display:grid;place-items:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;color:var(--muted);transition:color .12s,border-color .12s,background .12s}.home-card-ren:hover{color:var(--accent);border-color:var(--line-strong);background:var(--inset)}.home-card-renglyph{width:15px;height:15px}#left{grid-area:left;background:var(--panel);border-right:1px solid var(--line);overflow:auto;padding:14px 12px;min-width:0}.left-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.left-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.left-tools{display:flex;align-items:center;gap:4px;flex:none}#center{grid-area:center;position:relative;overflow:hidden;background:var(--surface-0);min-width:0}#center canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#right{grid-area:right;background:var(--panel);border-left:1px solid var(--line);overflow:hidden;min-width:0;display:flex;flex-direction:column}#timeline{grid-area:timeline;background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.rsz{position:fixed;z-index:1300;touch-action:none;background:transparent}.rsz[hidden]{display:none}.rsz:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:transparent;border-radius:var(--r-round);transition:background .12s}.rsz:hover:after,.rsz.drag:after{background:var(--accent-soft)}.rsz:focus-visible{box-shadow:none}.rsz:focus-visible:after{background:var(--accent-soft);box-shadow:var(--focus-ring)}.rsz-v{width:7px;cursor:col-resize}.rsz-v:after{width:3px}.rsz-h{height:7px;cursor:row-resize;left:0;right:0}.rsz-h:after{height:3px}body.rsz-active{-webkit-user-select:none;user-select:none}.rsz-char{z-index:60}.rsz-char.rsz-v{top:54px;bottom:var(--h-timeline)}.rsz-ed.rsz-v{top:54px;bottom:0}body:has(.asl.in) .rsz-ed.rsz-v{bottom:var(--asl-h,196px)}.rsz-map.rsz-v{top:54px;bottom:var(--map-shelf)}.side-ctx{display:flex;align-items:baseline;gap:var(--sp-4);flex:none;padding:11px var(--sb-inset) 10px;border-bottom:1px solid var(--line);background:var(--surface-2)}.side-ctx-label{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.side-ctx-name{font-weight:600;color:var(--accent);font-size:var(--fs-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.side-ctx.empty .side-ctx-name{color:var(--muted);font-weight:400}.side-ctx.target .side-ctx-name{color:var(--group)}.side-tabs{flex:none;padding:9px 11px;background:var(--surface-2);border-bottom:1px solid var(--line)}.side-seg{display:flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.side-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;background:transparent;border:0;border-radius:var(--r-3);color:var(--muted);cursor:pointer;font:inherit;transition:background .12s,color .12s}.side-tab-ic{line-height:0;color:#9aa39e;display:flex}.side-tab-ic svg{display:block;width:17px;height:17px}.side-tab-lbl{font-size:var(--fs-0);font-weight:600;letter-spacing:.02em}.side-tab:hover{color:var(--txt)}.side-tab.on,.side-tab.on:hover{background:var(--surface-2);color:var(--txt-hi);box-shadow:var(--shadow-1)}.side-tab.on .side-tab-ic,.side-tab.on:hover .side-tab-ic{color:var(--accent)}.side-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.side-tab:disabled{cursor:default}.side-scroll{flex:1;min-height:0;overflow:auto;padding:0 0 22px}.side-pane[hidden]{display:none}.side-pane>.section:last-child{margin-bottom:0}.side-pane .btnrow>button{flex:1 1 auto;min-width:66px;white-space:nowrap}.side-pane .section{margin-bottom:6px}.side-pane .section>.h{margin:0 0 12px;padding:9px var(--sb-inset);border-radius:0;font-weight:600;font-size:12px;color:var(--txt-hi);border-bottom:1px solid #f0f2f0}.side-pane .section>.h:hover{background:var(--row);color:var(--txt-hi)}.side-pane .section>.h:before{color:var(--muted)}.side-pane .section.collapsed{margin-bottom:0}.side-pane .section.collapsed>.h{margin-bottom:0}.section-body{padding:0 var(--sb-inset)}.section{margin-bottom:14px}.section>.h{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:7px;padding:2px 3px 5px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--r-1)}.section>.h:before{content:"▾";color:var(--muted);font-size:var(--fs-0);width:10px;flex:none;transition:transform .12s}.section.collapsed>.h:before{transform:rotate(-90deg)}.section>.h:hover{color:var(--accent)}.section.collapsed>:not(.h){display:none!important}.tree ul{list-style:none;margin:0;padding-left:13px}.tree>ul{padding-left:0}.tree li{margin:1px 0}.node{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:var(--r-3);cursor:pointer;white-space:nowrap;font-size:12.5px;color:var(--txt)}.node:hover{background:var(--row)}.node.sel{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.node:focus-visible{box-shadow:var(--focus-ring)}.tw{width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:#9aa39e;-webkit-user-select:none;user-select:none;font-size:10px}.tw.empty{visibility:visible;font-size:0}.tw.empty:after{content:"";width:4px;height:4px;border-radius:50%;background:#c6ccc8;display:inline-block}ul.collapsed{display:none}.lbl{overflow:hidden;text-overflow:ellipsis}.lbl .pfx{display:none}.node.grp .lbl{color:var(--group);font-style:italic}.rowf{display:flex;align-items:center;gap:10px;margin:9px 0}.rowf label{width:14px;color:var(--muted);font-size:12px;font-weight:600}.rowf input[type=range]{flex:1;min-width:40px}.rowf input[type=number]{width:58px;text-align:right}#selName{color:var(--txt-hi);font-weight:600;font-size:13.5px;word-break:break-all}.mini{color:var(--muted);font-size:11.5px;line-height:1.5}.btnrow{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-4)}.pose-presets{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.pose-presets[hidden]{display:none}.pose-presets-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:11px;font-weight:600;color:var(--txt-hi)}.pose-presets-heading>span:first-child{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pose-presets-toolbar{display:flex;gap:6px;margin-bottom:8px}.pose-presets-toolbar button{flex:1;justify-content:center;min-width:0;padding:7px 8px;font-size:11.5px;white-space:nowrap}.pose-presets-paste{display:flex;flex-direction:column;gap:6px;margin:0 0 8px;padding:8px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface-2)}.pose-presets-paste[hidden]{display:none}.pose-presets-paste label{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.pose-presets-paste textarea{width:100%;min-height:92px;resize:vertical;padding:7px 8px;border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--inset);color:var(--txt);font:10px/1.45 var(--font-mono)}.pose-presets-paste textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.pose-presets-paste-actions{display:flex;gap:6px}.pose-presets-paste-actions button{flex:1;justify-content:center;padding:6px 8px;font-size:11px}.pose-presets-empty{padding:8px 1px 2px}.pose-presets-empty[hidden]{display:none}.pose-presets-list{display:flex;flex-direction:column;gap:5px}.pose-presets-item{display:flex;align-items:center;gap:6px;padding:5px 5px 5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.pose-presets-name{flex:1;min-width:0;padding:3px 0;border:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:11.5px;font-weight:600;color:var(--txt-hi)}.pose-presets-name:hover{background:transparent;color:var(--accent)}.pose-presets-actions{display:flex;gap:2px;flex:none}.pose-presets-actions button{width:24px;height:24px;padding:0;justify-content:center;overflow:hidden;font-family:var(--font-mono);font-size:12px;color:var(--muted);border-color:transparent;background:transparent}.pose-presets-actions button:hover{color:var(--accent-strong);background:var(--accent-soft)}.pose-presets-actions button:last-child:hover{color:var(--warn);background:var(--warn-soft)}.charrow{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3)}.charrow label{flex:0 0 64px;color:var(--muted);font-size:var(--fs-2)}.charrow select{flex:1;min-width:0}.charrow input[type=color]{flex:0 0 36px;width:36px;height:22px;padding:1px 2px}.clipline{display:flex;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-4)}.clipline select{flex:1;min-width:0}#transport{display:flex;align-items:center;gap:var(--sp-4);padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}#transport .sep{width:1px;height:22px;background:var(--line);margin:0 2px}#transport label{color:var(--muted);font-size:12px}#transport button svg,.tlseg button svg,#btnOnion svg{width:14px;height:14px}#transport>.spacer{flex:1}#btnPlay{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;padding:7px 14px}#btnPlay:hover{background:var(--accent-strong);border-color:var(--accent-strong)}#btnPlay svg{stroke:#fff;fill:#fff}#btnLoop.on,#btnOnion.on,#btnAutoKey.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}#btnAutoKey.on svg{fill:#e5484d}#speed{width:64px}#btnLoop.on svg,#btnOnion.on svg{stroke:var(--accent)}#tlwrap{flex:1;position:relative;min-height:0}#tlwrap canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#tlcanvas:focus-visible{box-shadow:inset var(--focus-ring)}#tltabs{display:flex;align-items:center;gap:var(--sp-3);padding:5px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:nowrap;overflow:hidden;min-height:34px}#tltabs>button{padding:4px 10px;font-size:var(--fs-2)}#tltabs .sep{flex:none}.tlseg{display:flex;gap:3px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-4)}.tlseg button{padding:5px 12px;font-size:11.5px;font-weight:600;background:transparent;border:0;border-radius:var(--r-3);color:var(--muted)}.tlseg button:hover{background:transparent;color:var(--txt)}.tlseg button.on{background:var(--surface-2);color:var(--accent);box-shadow:var(--shadow-1)}.tlseg button.on svg{stroke:var(--accent)}#curveTools{display:inline-flex;align-items:center;gap:var(--sp-3);min-width:0}#curveTools button{padding:3px 8px;font-size:var(--fs-1)}#tltabs input[type=number]{width:44px;padding:3px 5px;font-size:var(--fs-1)}#dopeHint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.pill{padding:4px 11px;border-radius:var(--r-round);background:var(--inset);border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}#tCur{background:var(--accent-soft);border-color:transparent;color:var(--accent)}#tFrame{color:#4a5350}#viewbadge{position:absolute;z-index:2;top:12px;left:12px;background:#0f1513b8;border:1px solid #1e2a25;border-radius:var(--r-4);padding:7px 10px;color:#7a8a82;font-family:var(--font-mono);font-size:11px;pointer-events:none}#viewSel{position:absolute;z-index:2;top:12px;right:12px;background:#0f1513b8;border:1px solid #1e2a25;border-radius:var(--r-4);padding:7px 10px;color:#48d07e;font-family:var(--font-mono);font-size:11px;pointer-events:none;display:inline-flex;align-items:center;gap:6px}#viewSel:before{content:"";width:6px;height:6px;border-radius:50%;background:#48d07e}#viewSel.target{color:#b6a4f5}#viewSel.target:before{background:#b6a4f5}#viewLabel{position:absolute;z-index:2;bottom:12px;left:12px;color:#3c4e45;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}.kbd{background:var(--inset);border:1px solid var(--line);border-radius:var(--r-1);padding:0 5px;color:var(--txt);font-family:var(--font-mono);font-size:10.5px}#viewbadge .kbd{background:#1e2a25;border:0;color:#c6d2cc}#boneTip{position:absolute;z-index:20;pointer-events:none;display:none;background:var(--overlay);border:1px solid var(--line-strong);border-radius:var(--r-3);padding:3px 8px;font-size:var(--fs-1);color:var(--txt);box-shadow:var(--shadow-1);white-space:nowrap}#boneTip .pfx{color:var(--muted)}#toasts{position:fixed;right:14px;bottom:14px;display:flex;flex-direction:column;gap:var(--sp-4);z-index:1000;max-width:340px}.toast{background:var(--surface-3);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-4);padding:10px 12px;box-shadow:var(--shadow-2);animation:toast-in .18s ease-out}.toast.out{opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}.toast-warn{border-left-color:var(--key)}.toast-error{border-left-color:var(--warn)}.toast-msg{color:var(--txt)}.toast-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-4);align-items:center}.toast-actions input{flex:1;min-width:80px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#palette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:#14181a59}#palette .box{width:min(560px,92vw);background:var(--overlay);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-3);overflow:hidden}#palette input{width:100%;border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 14px;font-size:var(--fs-4);color:var(--txt-hi)}#palette input:focus-visible{box-shadow:none}#palette .list{max-height:46vh;overflow:auto;padding:var(--sp-3)}#palette .item{display:flex;align-items:center;gap:var(--sp-4);padding:7px 10px;border-radius:var(--r-3);cursor:pointer}#palette .item .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#palette .item .t b{color:var(--accent);font-weight:600}#palette .item.active{background:var(--accent-strong);color:var(--txt-hi)}#palette .item.active .t b{color:var(--txt-hi);text-decoration:underline}#palette .item.dim{opacity:.45}#palette .empty{padding:14px;color:var(--muted);text-align:center}#palette .hint{padding:7px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-1);display:flex;gap:12px}#cheatsheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:890;display:flex;justify-content:center;align-items:center;background:#14181a66}#cheatsheet .box{width:min(860px,94vw);max-height:84vh;overflow:auto;background:var(--overlay);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-3);padding:18px 22px}#cheatsheet h2{margin:0 0 4px;font-size:var(--fs-5);color:var(--txt-hi)}#cheatsheet .sub{color:var(--muted);font-size:var(--fs-2);margin-bottom:14px}#cheatsheet .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 26px}#cheatsheet h3{margin:10px 0 6px;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}#cheatsheet .sc{display:flex;align-items:center;gap:var(--sp-4);padding:3px 0}#cheatsheet .sc .t{flex:1;color:var(--txt)}#cheatsheet .keys{display:flex;gap:3px}#cheatsheet .close{position:sticky;top:0;float:right}#cheatsheet .guide{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}#cheatsheet .guide h2{font-size:var(--fs-4)}#cheatsheet .guide .gi{margin:0 0 8px;color:var(--muted);font-size:var(--fs-2);line-height:1.5}#cheatsheet .ge{padding:4px 0 5px;border-bottom:1px solid var(--line)}#cheatsheet .ge:last-of-type{border-bottom:0}#cheatsheet .gh{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}#cheatsheet .gh .t{color:var(--txt-hi)}#cheatsheet .cmd{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--accent);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:0 5px}#cheatsheet .gd{color:var(--muted);font-size:var(--fs-2);line-height:1.45;margin-top:1px}#cheatsheet .glist{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:var(--fs-2);line-height:1.6}#cheatsheet .gnote{margin:8px 0;padding:9px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-2);line-height:1.5}#cheatsheet .gnote .t{display:block;color:var(--txt-hi);font-weight:600;margin-bottom:2px}#welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:960;display:flex;justify-content:center;align-items:center;padding:24px;background:#14181a70;opacity:0;transition:opacity .22s ease}#welcome.in{opacity:1}#welcome .wl-box{width:min(460px,100%);background:var(--overlay);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-3);padding:26px 28px 22px;transform:translateY(10px) scale(.98);transition:transform .22s cubic-bezier(.2,.8,.3,1)}#welcome.in .wl-box{transform:none}#welcome .wl-badge{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-0);font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-round);padding:3px 10px;margin-bottom:12px}#welcome h2{margin:0 0 6px;font-size:var(--fs-5);color:var(--txt-hi)}#welcome .wl-lead{margin:0 0 16px;color:var(--muted);font-size:var(--fs-3)}#welcome .wl-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}#welcome .wl-points li{display:flex;flex-direction:column;gap:2px;padding-left:16px;position:relative}#welcome .wl-points li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:var(--r-round);background:var(--accent)}#welcome .wl-pt-h{color:var(--txt-hi);font-weight:600;font-size:var(--fs-3)}#welcome .wl-pt-b{color:var(--muted);font-size:var(--fs-2);line-height:1.45}#welcome .wl-actions{display:flex;justify-content:flex-end;margin-top:22px}#welcome .wl-go{padding:8px 18px;font-size:var(--fs-3)}#promptmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:965;display:flex;justify-content:center;align-items:center;padding:24px;background:#14181a70;opacity:0;transition:opacity .2s ease}#promptmodal.in{opacity:1}#promptmodal .pm-box{width:min(420px,100%);background:var(--overlay);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-3);padding:22px 24px 18px;transform:translateY(10px) scale(.98);transition:transform .2s cubic-bezier(.2,.8,.3,1)}#promptmodal.in .pm-box{transform:none}#promptmodal .pm-title{margin:0 0 4px;font-size:var(--fs-5);color:var(--txt-hi)}#promptmodal .pm-msg{margin:0 0 14px;color:var(--muted);font-size:var(--fs-2);line-height:1.45}#promptmodal .pm-label{display:block;margin:8px 0 5px;color:var(--muted);font-size:var(--fs-1);font-weight:600;letter-spacing:.3px;text-transform:uppercase}#promptmodal .pm-input{width:100%;margin-top:14px;padding:9px 11px;font-size:var(--fs-3);color:var(--txt-hi);background:var(--inset);border:1px solid var(--line-strong);border-radius:9px;outline:none;transition:border-color .12s,box-shadow .12s}#promptmodal .pm-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#promptmodal .pm-foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:18px}#promptmodal .pm-cancel{padding:8px 16px;font-size:var(--fs-3)}#promptmodal .pm-ok{padding:8px 18px;font-size:var(--fs-3)}#confirmmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:966;display:flex;justify-content:center;align-items:center;padding:24px;background:#14181a70;opacity:0;transition:opacity .2s ease}#confirmmodal.in{opacity:1}#confirmmodal .cm-box{width:min(420px,100%);background:var(--overlay);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-3);padding:22px 24px 18px;transform:translateY(10px) scale(.98);transition:transform .2s cubic-bezier(.2,.8,.3,1)}#confirmmodal.in .cm-box{transform:none}#confirmmodal .cm-title{margin:0 0 6px;font-size:var(--fs-5);color:var(--txt-hi)}#confirmmodal .cm-msg{margin:0;color:var(--muted);font-size:var(--fs-2);line-height:1.45}#confirmmodal .cm-foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:22px}#confirmmodal .cm-cancel{padding:8px 16px;font-size:var(--fs-3)}#confirmmodal .cm-ok{padding:8px 18px;font-size:var(--fs-3)}#confirmmodal .cm-ok.cm-danger{background:var(--warn);border-color:var(--warn);color:#fff}#confirmmodal .cm-ok.cm-danger:hover{background:#a5301f;border-color:#a5301f}#addcharmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:967;display:flex;justify-content:center;align-items:center;padding:24px;background:#14181a70;opacity:0;transition:opacity .2s ease}#addcharmodal.in{opacity:1}#addcharmodal .acm-box{width:min(620px,100%);max-height:min(720px,90vh);display:flex;flex-direction:column;background:var(--overlay);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-3);padding:22px 24px 18px;transform:translateY(10px) scale(.98);transition:transform .2s cubic-bezier(.2,.8,.3,1)}#addcharmodal.in .acm-box{transform:none}#addcharmodal .acm-box:focus{outline:none}#addcharmodal .acm-title{margin:0 0 4px;font-size:var(--fs-5);color:var(--txt-hi)}#addcharmodal .acm-msg{margin:0 0 14px;color:var(--muted);font-size:var(--fs-2);line-height:1.45}#addcharmodal .acm-picker{flex:1;min-height:0;overflow:auto;padding:2px}#addcharmodal .cc-list{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(168px,1fr));overflow:visible}#addcharmodal .cc-card{flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:10px;height:100%;justify-content:flex-start}#addcharmodal .cc-card-wrap{height:100%}#addcharmodal .cc-card-wrap .cc-card{flex:1}#addcharmodal .cc-card.on{background:var(--accent-soft);border-color:var(--accent);color:var(--txt)}#addcharmodal .cc-thumb{flex:0 0 auto;width:100%;height:132px;border-radius:var(--r-3)}#addcharmodal .cc-thumb img{object-fit:contain}#addcharmodal .cc-card-wrap{gap:var(--sp-2)}#addcharmodal .acm-name{display:flex;flex-direction:column;gap:5px;margin-top:16px}#addcharmodal .acm-label{color:var(--muted);font-size:var(--fs-1);font-weight:600;letter-spacing:.3px;text-transform:uppercase}#addcharmodal .acm-input{width:100%;box-sizing:border-box;padding:9px 11px;font-size:var(--fs-3);color:var(--txt-hi);background:var(--inset);border:1px solid var(--line-strong);border-radius:9px;outline:none;transition:border-color .12s,box-shadow .12s}#addcharmodal .acm-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#addcharmodal .acm-input:disabled{opacity:.6;cursor:not-allowed}#addcharmodal .acm-foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:18px}#addcharmodal .acm-cancel{padding:8px 16px;font-size:var(--fs-3)}#addcharmodal .acm-ok{padding:8px 18px;font-size:var(--fs-3)}#addcharmodal .acm-ok:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#d3d8d5;border-radius:var(--r-round)}::-webkit-scrollbar-track{background:transparent}.libpanel{display:flex;flex-direction:column;gap:var(--sp-4)}.libsearch input{width:100%}.libgroups{display:flex;flex-direction:column;gap:var(--sp-4);max-height:300px;overflow:auto}.libgroup-h{font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.7px;color:var(--accent);margin:2px 0 3px;padding-bottom:2px;border-bottom:1px solid var(--line)}.librow{display:flex;align-items:center;gap:var(--sp-3);padding:4px 6px;border-radius:var(--r-2);cursor:pointer}.librow:hover{background:var(--row)}.librow:focus-visible{box-shadow:var(--focus-ring)}.librow.missing{opacity:.5}.librow-l{flex:1;min-width:0}.libname{display:flex;align-items:center;gap:var(--sp-3);color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.libmeta{color:var(--faint);font-size:var(--fs-1);font-variant-numeric:tabular-nums}.libmeta.err{color:var(--warn)}.libacts{display:flex;gap:3px;opacity:0;transition:opacity .1s}.librow:hover .libacts,.librow:focus-within .libacts{opacity:1}.libacts button{padding:1px 7px;font-size:var(--fs-2)}.libcount{margin-top:2px}.badge{font-size:var(--fs-0);padding:0 5px;border-radius:var(--r-round);border:1px solid var(--line-strong);color:var(--muted);flex:none;line-height:1.5}.badge.loop{color:var(--good);border-color:#54d18c80}.badge.new{color:#0d1117;background:var(--key);border-color:var(--key);font-weight:600}.badge.upd{color:var(--accent);border-color:#5aa0ff8c}#clipPreview{position:fixed;z-index:950;display:none;background:var(--overlay);border:1px solid var(--line-strong);border-radius:var(--r-4);box-shadow:var(--shadow-3);padding:6px;pointer-events:none}#clipPreview canvas{display:block;border-radius:var(--r-2)}#clipPreview .cap{margin-top:5px;color:var(--muted);font-size:var(--fs-1);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.seqbody{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-4)}.seqtotal{margin-left:auto}.seqbar{position:relative;height:34px;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;cursor:pointer}.seqblocks{position:absolute;top:0;right:0;bottom:0;left:0}.seqblock{position:absolute;top:3px;bottom:3px;background:var(--accent-soft);border:1px solid rgba(90,160,255,.4);border-radius:var(--r-1);color:var(--txt);font-size:var(--fs-0);padding:2px 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.seqblock.alt{background:#5aa0ff14}.seqfade{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(255,207,90,.25) 3px,rgba(255,207,90,.25) 6px)}.seqplayhead{position:absolute;top:0;bottom:0;width:2px;background:var(--warn);pointer-events:none}.seqlist{display:flex;flex-direction:column;gap:2px}.seqstep{display:flex;align-items:center;gap:var(--sp-3);padding:3px 5px;border-radius:var(--r-2);cursor:pointer}.seqstep:hover{background:var(--row)}.seqstep.active{background:var(--accent-soft)}.seqstep.missing .seqname{color:var(--warn)}.seqidx{width:14px;color:var(--faint);font-size:var(--fs-1);text-align:right;flex:none}.seqname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seqstep input[type=number]{width:46px;padding:2px 4px;font-size:var(--fs-1)}.seqstep button{padding:1px 6px;font-size:var(--fs-1)}.seqadd select{flex:1;min-width:0}.layerbase{margin:6px 0 2px}.layerlist{display:flex;flex-direction:column;gap:2px;margin:4px 0}.layerrow{display:flex;align-items:center;gap:var(--sp-3);padding:2px 4px;border-radius:var(--r-2)}.layerrow:hover{background:var(--row)}.layerrow.missing .layername{color:var(--warn)}.layername{flex:0 0 34%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layerrow input[type=range]{flex:1;min-width:40px}.layerval{width:34px;text-align:right;color:var(--muted);font-size:var(--fs-1);font-variant-numeric:tabular-nums}.layerrow button{padding:1px 6px;font-size:var(--fs-1)}.toolreport{margin-top:6px;line-height:1.5}#exportdlg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:none;justify-content:center;align-items:flex-start;padding-top:12vh;background:#14181a59}#exportdlg .box{width:min(480px,92vw);max-height:76vh;overflow:auto;background:var(--overlay);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-3);padding:16px 18px}#exportdlg h2{margin:0 0 4px;font-size:var(--fs-5);color:var(--txt-hi)}#exportdlg .sub{color:var(--muted);font-size:var(--fs-2);margin-bottom:12px}#exportdlg .grpTitle{display:flex;align-items:center;gap:var(--sp-3);margin:12px 0 6px;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}#exportdlg .grpTitle .spacer{flex:1}#exportdlg .lnk{padding:1px 8px;font-size:var(--fs-1)}#exportdlg .chars,#exportdlg .clips{display:flex;flex-direction:column;gap:2px}#exportdlg .clips{max-height:32vh;overflow:auto;border:1px solid var(--line);border-radius:var(--r-3);padding:6px 8px;background:var(--inset)}#exportdlg .opt{display:flex;align-items:center;gap:var(--sp-4);padding:3px 2px;color:var(--txt);cursor:pointer;border-radius:var(--r-2)}#exportdlg .opt:hover{color:var(--txt-hi)}#exportdlg .opt.dim{opacity:.45;cursor:default}#exportdlg .opt input{margin:0;accent-color:var(--accent)}#exportdlg .opt .mini{color:var(--muted)}#exportdlg .foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:14px}#exportdlg .batch{display:inline-flex;align-items:center;gap:5px}#exportdlg .export-progress{min-height:18px;margin-top:8px;color:var(--muted);font:10px/1.4 var(--font-mono)}#exportdlg .export-gate{margin-top:6px;padding:6px 8px;border-radius:var(--r-3);background:var(--inset);border:1px solid var(--line);color:var(--txt-hi);font-size:var(--fs-1);line-height:1.45}#exportdlg .export-gate[hidden]{display:none}#exportdlg .ccopts{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--inset)}#exportdlg .ccopts[hidden]{display:none}#exportdlg .ccexpr{margin-left:auto;padding:3px 6px;font-size:var(--fs-2);border-radius:var(--r-2);border:1px solid var(--line);background:var(--overlay);color:var(--txt-hi)}#exportdlg .ccopts .note{margin-top:7px;padding:7px 10px;border-radius:var(--r-2);font-size:var(--fs-1);color:var(--warn,#e0a72e);background:#e0a72e17;border:1px solid rgba(224,167,46,.3)}#exportdlg .ccopts .note strong{color:var(--warn,#e0a72e)}#edexportdlg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:none;justify-content:center;align-items:flex-start;padding-top:11vh;background:#14181a59}#edexportdlg .box{width:min(520px,92vw);max-height:80vh;overflow:auto;background:var(--overlay);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-3);padding:16px 18px}#edexportdlg h2{margin:0 0 4px;font-size:var(--fs-5);color:var(--txt-hi)}#edexportdlg .sub{color:var(--muted);font-size:var(--fs-2);margin-bottom:12px}#edexportdlg .grpTitle{margin:14px 0 6px;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}#edexportdlg .namerow{display:flex;align-items:center;gap:6px}#edexportdlg .fname{flex:1;padding:6px 9px;font-size:var(--fs-2);border-radius:var(--r-2);border:1px solid var(--line);background:var(--inset);color:var(--txt-hi)}#edexportdlg .namerow .ext{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--muted)}#edexportdlg .opts{display:flex;flex-direction:column;gap:2px}#edexportdlg .opt{display:flex;align-items:center;gap:var(--sp-4);padding:3px 2px;color:var(--txt);cursor:pointer;border-radius:var(--r-2)}#edexportdlg .opt:hover{color:var(--txt-hi)}#edexportdlg .opt.dim{opacity:.45;cursor:not-allowed}#edexportdlg .opt input{margin:0;accent-color:var(--accent)}#edexportdlg .opt .mini{color:var(--muted)}#edexportdlg .edx-notice{margin:8px 0 0;padding:7px 10px;border-radius:var(--r-2);font-size:var(--fs-1);color:var(--warn,#e0a72e);background:#e0a72e17;border:1px solid rgba(224,167,46,.3)}#edexportdlg .edx-report{border:1px solid var(--line);border-radius:var(--r-3);padding:8px 10px;background:var(--inset);font-size:var(--fs-1)}#edexportdlg .edx-empty{color:var(--muted);padding:4px 2px}#edexportdlg .edx-row{display:grid;grid-template-columns:1fr 88px 88px 56px;align-items:baseline;gap:6px;padding:2px 0}#edexportdlg .edx-head{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:var(--fs-0);border-bottom:1px solid var(--line);margin-bottom:3px;padding-bottom:3px}#edexportdlg .edx-k{color:var(--muted)}#edexportdlg .edx-v{font-family:var(--font-mono);color:var(--txt-hi);text-align:right}#edexportdlg .edx-d{font-family:var(--font-mono);color:var(--accent-strong);text-align:right}#edexportdlg .edx-applied{margin-top:6px;color:var(--muted);font-size:var(--fs-0)}#edexportdlg .edx-ok{color:var(--accent-strong)}#edexportdlg .edx-warn{color:var(--warn,#e0a72e)}#edexportdlg .foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:14px}.ed-export-btn{padding:5px 11px;font-family:var(--font-mono);font-size:var(--fs-1);font-weight:600;letter-spacing:.02em;border-radius:var(--r-2);border:1px solid var(--accent-line);background:var(--surface-3);color:var(--accent-strong);cursor:pointer}.ed-export-btn:hover{border-color:var(--accent);color:#fff;background:var(--accent)}.ed-export-btn[hidden]{display:none}.asl{position:fixed;left:0;right:0;bottom:0;z-index:1200;height:var(--asl-h,196px);display:none;flex-direction:column;background:var(--surface-2);border-top:1px solid var(--line);box-shadow:var(--shadow-2);font-family:var(--font-ui);transform:translateY(100%);transition:transform .22s cubic-bezier(.2,.7,.3,1)}.asl.open{display:flex}.asl.in{transform:none}body.has-toolrail .asl{left:var(--w-rail)}@media(prefers-reduced-motion:reduce){.asl{transition:none;transform:none}}.asl-resizer{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;z-index:2;touch-action:none}.asl-resizer:hover,.asl-resizer.drag{background:linear-gradient(180deg,var(--accent-line),transparent)}#header .asl-header-btn{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-3);border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer;white-space:nowrap}#header .asl-header-btn:hover{background:var(--surface-4);color:var(--txt-hi)}#header .asl-header-btn.on{color:var(--accent);background:var(--accent-soft);border-color:transparent}#header .asl-header-btn.hidden{display:none}#header .asl-header-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.asl-handle-ic{display:flex;line-height:0}.asl-handle-ic svg{width:15px;height:15px}@media(max-width:1280px){#header .asl-header-btn .asl-handle-tx{display:none}}.asl-head{display:flex;align-items:center;gap:10px;padding:8px 14px;flex:none;border-bottom:1px solid var(--line)}.asl-title{display:flex;align-items:center;gap:8px;flex:none;min-width:0}.asl-title-ic{display:flex;line-height:0;color:var(--accent)}.asl-title-ic svg{width:17px;height:17px}.asl-title-tx{font-family:var(--font-mono);font-weight:600;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.asl-tabs{display:flex;gap:3px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:8px;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.asl-tabs::-webkit-scrollbar{height:0;width:0}.asl-tab{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:6px;padding:5px 11px;cursor:pointer;white-space:nowrap}.asl-tab:hover{color:var(--txt)}.asl-tab.on{background:var(--surface-2);color:var(--accent-strong);box-shadow:var(--shadow-1)}.asl-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.asl-tab-n{font-family:var(--font-mono);font-size:9.5px;font-weight:600;color:var(--faint)}.asl-tab.on .asl-tab-n{color:var(--accent)}.asl-search{min-width:0;width:220px;max-width:34vw;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--inset);color:var(--txt);font:inherit;font-size:12.5px}.asl-search:focus,.asl-search:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.asl-spacer{flex:1}.asl-owned{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-round);background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.02em}.asl-count{flex:none;display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-round);background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.asl-count[hidden]{display:none}.asl-sort{flex:none;font:inherit;font-size:12px;color:var(--txt);background:var(--inset);border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px;cursor:pointer}.asl-sort:focus-visible{outline:none;box-shadow:var(--focus-ring)}.asl-collapse{padding:4px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-2);line-height:0;cursor:pointer}.asl-collapse:hover{background:var(--surface-4);color:var(--txt)}.asl-collapse:focus-visible{outline:none;box-shadow:var(--focus-ring)}.asl-collapse svg{width:16px;height:16px}.asl-rail{flex:1;min-height:0;position:relative;overflow-x:auto;overflow-y:hidden}.asl-canvas{position:relative;height:100%}.asl-cell{position:absolute;top:0;bottom:0;box-sizing:border-box;padding:10px 5px}.asl-cell>*{height:100%}.asl-empty{display:flex;align-items:center;padding:0 10px;font-size:12px;color:var(--faint);text-align:center}.asl-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:100%;padding:12px;border:1.5px dashed var(--line-strong);border-radius:var(--r-4);background:var(--inset);color:var(--muted);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;text-align:center}.asl-more:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.asl-more:focus-visible{outline:none;box-shadow:var(--focus-ring)}.asl-more-ic{display:flex;color:var(--accent)}.asl-more-ic svg{width:20px;height:20px}.asl-signin{display:flex;flex-direction:column;gap:8px;justify-content:center;box-sizing:border-box;padding:12px;border:1px dashed var(--line-strong);border-radius:var(--r-4);background:var(--inset)}.asl-signin-tx{font-size:12px;color:var(--txt)}.asl-signin-btn{align-self:flex-start;padding:6px 12px;border:1px solid var(--accent-line);border-radius:var(--r-3);background:var(--accent-soft);color:var(--accent-strong);font-weight:600;font-size:12.5px;text-decoration:none}.asl-signin-btn:hover{background:var(--surface-2);border-color:var(--accent)}.asl-card{display:flex;flex-direction:column;gap:7px;box-sizing:border-box;padding:8px;border:1px solid var(--line);border-radius:var(--r-4);background:var(--surface-2)}.asl-card[draggable=true]{cursor:grab}.asl-card[draggable=true]:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.asl-card.dragging{opacity:.5}.asl-card.locked{cursor:not-allowed}.asl-card.asl-creation:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.asl-thumb{position:relative;flex:1;min-height:0;border-radius:var(--r-3);background:radial-gradient(120% 90% at 50% 24%,#1c2622,#0f1513 72%);overflow:hidden;display:flex;align-items:center;justify-content:center}.asl-thumb.noimg:after{content:"";width:30px;height:30px;border-radius:7px;background:#2b3a34;box-shadow:0 0 0 1px #3a4a43 inset}.asl-thumb-img{width:100%;height:100%;object-fit:cover}.asl-tris{position:absolute;top:5px;left:5px;padding:1px 5px;border-radius:var(--r-round);background:#0f1513b8;color:#cfd8d3;font-family:var(--font-mono);font-size:9px;line-height:1.5}.asl-gem{position:absolute;top:5px;right:5px;font-size:12px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.asl-insert{position:absolute;top:5px;right:5px;width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#12a150eb;border:0;color:#fff;cursor:pointer;line-height:0;box-shadow:0 1px 3px #0000004d}.asl-insert:hover{background:var(--accent-strong)}.asl-insert:disabled,.asl-insert.busy{opacity:.6;cursor:progress}.asl-insert svg{width:14px;height:14px}.asl-body{flex:none;display:flex;flex-direction:column;gap:2px;min-width:0}.asl-name{display:flex;align-items:center;gap:6px;min-width:0}.asl-dot{flex:none;width:8px;height:8px;border-radius:50%}.asl-name-tx{flex:1;min-width:0;font-weight:600;font-size:12px;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asl-sub{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asl-foot{display:flex;align-items:center;gap:8px}.asl-price{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--txt)}.asl-buy{margin-left:auto;padding:2px 9px;border-radius:var(--r-3);background:var(--accent);color:#fff;font-size:10.5px;font-weight:600;text-decoration:none}.asl-buy:hover{background:var(--accent-strong)}#assetPreview{position:fixed;z-index:950;display:none;background:var(--overlay);border:1px solid var(--line-strong);border-radius:var(--r-4);box-shadow:var(--shadow-3);padding:6px;pointer-events:none}#assetPreview canvas{display:block;border-radius:var(--r-2)}#assetPreview .cap{margin-top:5px;color:var(--muted);font-size:var(--fs-1);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.editor-pane{position:fixed;left:var(--w-rail);right:0;top:54px;bottom:0;z-index:40;display:grid;grid-template-columns:var(--ed-left) 1fr var(--ed-right);background:var(--surface-1);color:var(--txt);font-family:var(--font-ui);transition:bottom .22s cubic-bezier(.2,.7,.3,1)}body:has(.asl.in) .editor-pane{bottom:var(--asl-h,196px)}@media(prefers-reduced-motion:reduce){.editor-pane{transition:none}}.editor-pane[hidden]{display:none}.editor-pane .ed-left{background:var(--panel);border-right:1px solid var(--line);padding:12px 10px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-width:0}.editor-pane .ed-outliner-search{flex:1;min-width:0;max-width:120px;background:var(--bg-deep,#0f1513);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-size:11.5px;padding:4px 7px}.ed-left-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ed-sec-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ed-btn{padding:5px 10px;font-size:var(--fs-2);font-weight:600;border-radius:var(--r-2);border:1px solid var(--line-strong);background:var(--surface-3);color:var(--txt);cursor:pointer}.ed-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.ed-import-btn{color:var(--accent-strong);border-color:var(--accent-line)}.ed-outliner-wrap{flex:1;min-height:80px;overflow:auto}.ed-outliner-empty{padding:10px 6px}.editor-pane .ed-node{gap:5px}.ed-node-icon{width:15px;height:15px;flex:0 0 auto;color:var(--muted)}.ed-node.sel .ed-node-icon{color:var(--accent-strong)}.editor-pane .ed-node .lbl{flex:1}.ed-eye{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;padding:0;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:var(--r-1);opacity:0}.ed-node:hover .ed-eye,.ed-eye.off,.ed-node.sel .ed-eye{opacity:1}.ed-eye:hover{color:var(--accent-strong);background:var(--row)}.ed-eye.off{color:var(--muted)}.ed-eye-glyph{width:15px;height:15px}.ed-node-act{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;padding:0;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:var(--r-1);opacity:0}.ed-node:hover .ed-node-act,.ed-node.sel .ed-node-act{opacity:1}.ed-node-act:hover{color:var(--accent-strong);background:var(--row)}.ed-node-del:hover{color:var(--danger,#c0392b)}.ed-node-rename{flex:1;min-width:0;font:inherit;font-size:12px;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--r-1);padding:1px 5px;outline:none}.ed-primitives{position:relative;display:flex;flex-direction:column;gap:9px}.ed-prim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ed-prim-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 2px 7px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-3);color:var(--muted);cursor:pointer}.ed-prim-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.ed-prim-btn.armed{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.ed-prim-ic{display:flex}.ed-prim-name{font-size:9px;font-weight:600;letter-spacing:.01em}.ed-prim-pop{position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;z-index:20;display:flex;flex-direction:column;gap:7px;padding:11px;background:var(--overlay,var(--panel));border:1px solid var(--line-strong);border-radius:var(--r-3);box-shadow:var(--shadow-2)}.ed-prim-pop[hidden]{display:none}.ed-prim-pop-head{font-weight:600;font-size:11px;color:var(--txt-hi)}.ed-prim-param{display:flex;align-items:center;justify-content:space-between;gap:8px}.ed-prim-param-lbl{font-size:11px;color:var(--muted)}.ed-prim-param-num{width:74px;padding:4px 6px;font-size:12px;font-family:var(--font-mono);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface-2);color:var(--txt)}.ed-prim-pop-add{margin-top:2px;padding:6px 10px;font-size:12px;font-weight:600;border:1px solid var(--accent);border-radius:var(--r-2);background:var(--accent);color:#fff;cursor:pointer}.ed-prim-pop-add:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.ed-palette{display:flex;flex-direction:column;gap:9px}.ed-pal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ed-pal-paint{padding:4px 12px;font-size:11px;font-weight:600;border-radius:var(--r-round);border:1px solid var(--line-strong);background:var(--surface-3);color:var(--txt);cursor:pointer}.ed-pal-paint:hover{border-color:var(--accent);color:var(--accent-strong)}.ed-pal-paint.on{background:var(--accent);border-color:var(--accent);color:#fff}.ed-pal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ed-pal-swatch{display:flex;align-items:center;gap:7px;padding:5px 7px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-3);color:var(--txt);cursor:pointer;min-width:0}.ed-pal-swatch:hover{border-color:var(--accent)}.ed-pal-swatch.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent) inset}.ed-pal-swatch.on:hover{background:var(--accent-soft);border-color:var(--accent)}.ed-pal-chip{flex:0 0 auto;width:18px;height:18px;border-radius:5px;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 -4px 7px #0000002e}.ed-pal-name{font-size:10.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-pal-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ed-pal-edit{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.ed-pal-color{width:30px;height:26px;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-2);background:none;cursor:pointer}.ed-pal-btn{padding:5px 10px;font-size:11px;font-weight:600;border-radius:var(--r-2);border:1px solid var(--line-strong);background:var(--surface-3);color:var(--txt);cursor:pointer}.ed-pal-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.editor-pane .ed-center{position:relative;overflow:hidden;background:var(--surface-0);min-width:0}.editor-pane .ed-center canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ed-viewbadge{position:absolute;left:12px;top:10px;z-index:2;font-family:var(--font-mono);font-size:var(--fs-0);color:#cfe9da;background:#0f15138c;border:1px solid rgba(52,185,107,.25);padding:4px 8px;border-radius:var(--r-round);pointer-events:none}.ed-viewbadge .kbd{color:#48d07e}.ed-view-cluster{position:absolute;right:12px;top:10px;z-index:2;display:flex;gap:6px}.ed-view-btn{padding:4px 9px;font-family:var(--font-mono);font-size:var(--fs-0);letter-spacing:.04em;border-radius:var(--r-round);border:1px solid rgba(52,185,107,.25);background:#0f15138c;color:#cfe9da;cursor:pointer}.ed-view-btn:hover{border-color:var(--accent);color:#fff}.ed-dropzone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:#0f1513b8;border:2px dashed var(--accent);border-radius:6px}.ed-dropzone[hidden]{display:none}.ed-dropzone-inner{font-size:var(--fs-4);font-weight:600;color:#eafff3;padding:18px 26px;border-radius:8px;background:#12a1502e}.editor-pane .ed-right{background:var(--panel);border-left:1px solid var(--line);overflow:hidden;min-width:0;display:flex;flex-direction:column}.editor-pane .ed-inspector{display:flex;flex-direction:column;min-height:0;flex:1}.ed-insp-head{display:flex;align-items:center;gap:8px;padding:12px var(--sb-inset) 10px;border-bottom:1px solid var(--line);flex:none}.ed-insp-swatch{width:9px;height:9px;border-radius:3px;background:var(--faint);flex:none}.ed-insp-swatch.on{background:var(--accent-strong)}.ed-insp-title{font-weight:600;font-size:13px;color:var(--txt-hi);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-insp-type{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ed-insp-empty{color:var(--muted);line-height:1.5}.ed-insp-panes{flex:1;min-height:0;overflow:auto;padding:0 0 18px}.ed-insp-pane[hidden]{display:none}.ed-insp-block{display:block;margin-bottom:6px}.ed-insp-block.collapsed{margin-bottom:0}.ed-insp-sec{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 11px;padding:9px var(--sb-inset);background:none;border:0;border-radius:0;border-bottom:1px solid var(--line);color:var(--txt-hi);font:inherit;text-align:left;cursor:pointer}.ed-insp-block.collapsed>.ed-insp-sec{margin-bottom:0}.ed-insp-block+.ed-insp-block>.ed-insp-sec{margin-top:8px}.ed-insp-sec:hover{background:var(--row);color:var(--txt-hi)}.ed-insp-sec:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ed-insp-sec-lbl{font-weight:600;font-size:12px;color:var(--txt-hi)}.ed-insp-body{padding:0 var(--sb-inset)}.ed-insp-block.collapsed>.ed-insp-body{display:none}.ed-insp-pane>.ed-insp-body:first-child{padding-top:12px}.ed-sec-chev{width:13px;height:13px;flex:none;color:var(--muted);transition:transform .15s}[aria-expanded=false]>.ed-sec-chev{transform:rotate(-90deg)}.ed-obj-nrow{display:flex;align-items:center;gap:10px;margin-bottom:11px}.ed-obj-nlbl{flex:0 0 48px;color:var(--muted);font-size:12px}.ed-obj-name{flex:1;min-width:0}.ed-obj-trow{display:flex;align-items:center;gap:8px;margin:9px 0}.ed-obj-trow-lbl{flex:0 0 58px;font-size:11.5px;color:#4a5350;font-weight:500}.ed-obj-field{flex:1;min-width:0;position:relative;display:flex;align-items:center}.ed-obj-axis{position:absolute;left:7px;font-size:9.5px;font-weight:700;pointer-events:none}.ed-obj-num{width:100%;min-width:0;padding-left:18px;text-align:right}.ed-obj-reset{width:100%;margin-top:8px;font-size:12px;font-weight:600}.ed-mat-row{display:flex;align-items:center;gap:10px;margin:9px 0}.ed-mat-lbl{flex:0 0 33%;font-size:12px;color:#4a5350}.ed-mat-range{flex:1;min-width:0;accent-color:var(--accent)}.ed-mat-val{width:30px;text-align:right;font-size:10.5px;color:var(--muted)}.ed-mat-color{flex:1;min-width:0;height:28px;padding:2px;cursor:pointer}.ed-mat-select{flex:1;min-width:0}.ed-mat-check{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:12px;color:#4a5350;cursor:pointer}.ed-mat-warn{margin:2px 0 10px;padding:8px 10px;border-radius:7px;font-size:11px;line-height:1.45;color:#8a5a2b;background:#fbf1e3;border:1px solid #f0d9b8}.ed-mat-zones{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.ed-mat-zone{font-size:11.5px;font-weight:600;padding:6px 10px}.ed-mat-maprow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--row)}.ed-mat-thumb{width:34px;height:34px;border-radius:7px;flex:none;border:1px solid var(--line);background-color:#fff;background-size:6px 6px;background-image:repeating-linear-gradient(45deg,#00000010 0 1px,transparent 1px 6px)}.ed-mat-mapmeta{flex:1;min-width:0}.ed-mat-mapname{font-size:12px;font-weight:600;color:var(--txt-hi)}.ed-mat-mapsub{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-mat-mapactions{display:flex;gap:5px;flex:none}.ed-mat-mapbtn{font-size:11px;padding:5px 8px}.ed-viewstats{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;flex-direction:column;gap:4px;pointer-events:none}.ed-viewstats-counts{display:flex;gap:13px;font-size:10.5px;color:#5a6b61}.ed-viewstat-val{color:#8fa69a}.ed-viewstats-shading{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#3c4e45}.ed-stats{margin-top:0}.ed-stats-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px var(--sb-inset);margin-bottom:6px;border:none;border-radius:0;border-bottom:1px solid var(--line);background:none;color:var(--txt-hi);font-weight:600;font-size:12px;cursor:pointer;text-align:left}.ed-stats-head:hover{background:var(--row)}.ed-stats-head:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ed-stats-body{padding:0 var(--sb-inset)}.ed-stats.collapsed>.ed-stats-body{display:none}.ed-stat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.ed-stat-label{font-size:12px;color:var(--muted)}.ed-stat-val{font-size:11.5px;font-weight:600;color:var(--txt-hi);text-align:right}.ed-stat-sublist{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px 2px}.ed-stat-subitem{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);padding:1px 0}.ed-stat-subname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-stat-subtype{flex:0 0 auto;color:var(--faint);font-size:10.5px}.ed-node-tris{flex:0 0 auto;font-size:10px;color:var(--faint);padding:0 4px;border-radius:var(--r-1);background:var(--row);white-space:nowrap}.ed-mods{display:flex;flex-direction:column;gap:8px;padding:12px var(--sb-inset) 0}.ed-mods .ed-insp-empty{padding:2px 0}.ed-mods-list{display:flex;flex-direction:column;gap:8px}.ed-mod-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface-3)}.ed-mod-card.off,.ed-mod-card.guarded{background:var(--inset)}.ed-mod-head{display:flex;align-items:center;gap:8px;padding:8px 9px;cursor:pointer;-webkit-user-select:none;user-select:none}.ed-mod-dot{width:16px;height:16px;flex:none;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:5px;background:var(--panel);cursor:pointer}.ed-mod-dot[aria-pressed=true]{background:var(--accent-strong);border-color:var(--accent-strong)}.ed-mod-dot:disabled{cursor:not-allowed;opacity:.5}.ed-mod-name{flex:1;font-size:12.5px;font-weight:600;color:var(--txt-hi);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-mod-card.off .ed-mod-name,.ed-mod-card.guarded .ed-mod-name{color:var(--muted)}.ed-mod-tag{font-size:10px;color:var(--muted)}.ed-mod-btn{flex:none;width:20px;height:20px;padding:0;font-size:10px;line-height:1;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:var(--r-1)}.ed-mod-btn:hover:not(:disabled){color:var(--accent-strong);background:var(--row)}.ed-mod-btn:disabled{opacity:.3;cursor:not-allowed}.ed-mod-del:hover:not(:disabled){color:var(--danger,#d6584a)}.ed-mod-guard{padding:0 10px 9px 33px;font-size:11px;line-height:1.45;color:var(--muted)}.ed-mod-params{display:flex;flex-direction:column;gap:8px;padding:2px 10px 11px}.ed-mod-param{display:flex;align-items:center;gap:10px}.ed-mod-param-lbl{flex:0 0 38%;font-size:11.5px;color:var(--muted)}.ed-mod-param-range{flex:1;accent-color:var(--accent-strong)}.ed-mod-param-num,.ed-mod-param-sel{flex:1;min-width:0;font-size:11.5px;padding:4px 6px;border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--panel);color:var(--txt)}.ed-mod-param-val{width:34px;text-align:right;font-size:10.5px;color:var(--muted)}.ed-mods-add{position:relative}.ed-mods-addbtn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-strong);background:var(--accent-soft,rgba(52,185,107,.14));border:none;border-radius:8px;padding:10px;cursor:pointer}.ed-mods-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;display:flex;flex-direction:column;padding:4px;background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 24px #00000047}.ed-mods-menu[hidden]{display:none}.ed-mods-menu-item{text-align:left;font-size:12px;padding:7px 9px;border:none;background:none;color:var(--txt);cursor:pointer;border-radius:var(--r-1)}.ed-mods-menu-item:hover{background:var(--row);color:var(--accent-strong)}.ed-mods-apply{width:100%;font-size:12px;font-weight:600;color:var(--txt-hi);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:8px;padding:9px;cursor:pointer}.ed-mods-apply:hover:not(:disabled){border-color:var(--accent)}.ed-mods-apply:disabled{opacity:.5;cursor:not-allowed}.editor-pane .ed-lint{flex:none;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--line);padding:6px 0 12px;max-height:44%}.ed-lint-head{margin-bottom:6px}.ed-lint-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;letter-spacing:.02em;background:var(--row);color:var(--muted)}.ed-lint-badge[data-lint-tier=ok]{background:var(--accent-soft);color:var(--accent-strong)}.ed-lint-badge[data-lint-tier=warn]{background:#c9922b24;color:#a6741d}.ed-lint-badge[data-lint-tier=error]{background:var(--warn-soft);color:var(--warn)}.ed-lint-body{display:flex;flex-direction:column;min-height:0;gap:9px;padding:0 var(--sb-inset)}.ed-lint.collapsed>.ed-lint-body{display:none}.ed-lint-controls{display:flex;flex-direction:column;gap:7px;flex:none}.ed-lint-ctl{display:flex;align-items:center;gap:10px;margin:0}.ed-lint-ctl-lbl{flex:0 0 58px;font-size:11.5px;color:var(--muted)}.ed-lint-cat,.ed-lint-id,.ed-lint-note{flex:1;min-width:0}.ed-lint-actions{flex:none;display:flex;gap:8px;padding-top:8px}.ed-lint-export{flex:1;min-width:0;justify-content:center;text-align:center;font-size:12px;font-weight:600;padding:8px 10px;border-radius:8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--accent);color:#fff;border:1px solid var(--accent-strong)}.ed-lint-export:hover{background:var(--accent-strong)}.ed-lint-export:disabled{opacity:.6;cursor:progress}.ed-lint-export.ed-lint-batch{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.ed-lint-export.ed-lint-batch:hover{background:var(--accent-line)}.ed-lint-list{display:flex;flex-direction:column;min-height:0;overflow:auto;gap:2px}.ed-lint-row{padding:6px 0;border-bottom:1px solid var(--line)}.ed-lint-row:last-child{border-bottom:none}.ed-lint-row-top{display:flex;align-items:center;gap:8px}.ed-lint-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--faint)}.ed-lint-dot-ok{background:var(--accent-strong)}.ed-lint-dot-error{background:var(--warn)}.ed-lint-dot-warn{background:#c9922b}.ed-lint-dot-info{background:var(--faint)}.ed-lint-label{flex:1;min-width:0;font-size:12px;color:var(--txt-hi);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-lint-val{font-size:10.5px;color:var(--muted);text-align:right;flex:none;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-lint-msg{margin:3px 0 0 16px;font-size:10.5px;line-height:1.45;color:var(--muted)}.ed-lint-row[data-lint-ok=false] .ed-lint-msg{color:#7a6a3f}#edexportdlg .edx-confirm{margin-top:12px;padding:10px 12px;border-radius:var(--r-3);background:var(--warn-soft);border:1px solid rgba(192,57,43,.28)}#edexportdlg .edx-confirm[hidden]{display:none}#edexportdlg .edx-confirm-head{font-size:var(--fs-1);font-weight:600;color:var(--txt-hi);margin-bottom:8px}#edexportdlg .edx-confirm-list{display:flex;flex-direction:column;gap:5px}#edexportdlg .edx-confirm-row{display:grid;grid-template-columns:44px 1fr;column-gap:8px;row-gap:1px;font-size:var(--fs-1);align-items:baseline}#edexportdlg .edx-confirm-tier{font-family:var(--font-mono);font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.04em}#edexportdlg .edx-confirm-error .edx-confirm-tier{color:var(--warn)}#edexportdlg .edx-confirm-warn .edx-confirm-tier{color:#a6741d}#edexportdlg .edx-confirm-lbl{font-weight:600;color:var(--txt-hi)}#edexportdlg .edx-confirm-msg{grid-column:2;color:var(--muted);font-size:var(--fs-0);line-height:1.4}#edexportdlg .edx-confirm-foot{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:10px}.map-pane{position:fixed;left:var(--w-rail);right:0;top:54px;bottom:0;z-index:40;display:grid;grid-template-columns:var(--map-left) 1fr var(--map-right);grid-template-rows:1fr var(--map-shelf);grid-template-areas:"left center right" "shelf shelf shelf";background:var(--surface-1);color:var(--txt);font-family:var(--font-ui)}.map-pane[hidden]{display:none}.map-sec-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.map-panel-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--surface-4)}.map-mini-btn{font-family:var(--font-mono);font-size:9.5px;color:var(--txt);background:var(--inset);border:1px solid var(--line);border-radius:6px;padding:3px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.map-mini-btn:disabled{cursor:default;opacity:.65}.map-left{grid-area:left;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;min-width:0;display:flex;flex-direction:column}.map-left-body{flex:1;min-height:0;overflow:auto;padding:8px}.map-minimap{flex:none;border-top:1px solid var(--line);padding:0 10px 12px}.map-minimap-head{border-bottom:none;padding:12px 2px 8px}.map-minimap-dim{font-size:10px;color:var(--muted)}.map-minimap-canvas{height:120px;border-radius:10px;background:var(--surface-0);border:1px solid #1e2a25}.map-center{grid-area:center;position:relative;overflow:hidden;min-width:0;background:radial-gradient(120% 90% at 50% 30%,#16211b,#0f1513 72%)}.map-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.map-viewport .map-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-hint{position:absolute;top:12px;left:12px;z-index:2;pointer-events:none;background:#0f1513b8;border:1px solid #1e2a25;border-radius:8px;padding:7px 10px;color:#7a8a82;font-size:11px}.map-hint .map-kbd{background:#1e2a25;border-radius:4px;padding:0 5px;color:#c6d2cc}.map-axis{position:absolute;bottom:44px;right:14px;z-index:2;pointer-events:none}.map-right{grid-area:right;background:var(--panel);border-left:1px solid var(--line);overflow:hidden;min-width:0;display:flex;flex-direction:column}.map-ctx-head{flex:none;display:flex;align-items:center;gap:8px;padding:11px var(--sb-inset) 10px;border-bottom:1px solid var(--line)}.map-ctx-swatch{width:9px;height:9px;border-radius:3px;background:var(--accent);flex:none}.map-ctx-title{font-weight:600;font-size:13px;color:var(--txt-hi);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-ctx-tag{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.map-right-body{flex:1;min-height:0;overflow:auto;padding:0 0 22px}.map-empty{margin-top:22px;text-align:center;color:var(--muted)}.map-empty-title{font-weight:600;font-size:12.5px;color:var(--txt);margin-bottom:5px}.map-empty-desc{font-size:11.5px;line-height:1.5}.map-shelf{grid-area:shelf;background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.map-shelf-head{flex:none;display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--surface-4)}.map-shelf-hint{font-size:10px;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-shelf-hint .map-plus{color:var(--accent)}.map-shelf-spacer{flex:1}.map-shelf-browse{flex:none;white-space:nowrap;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:none;border-radius:8px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.map-shelf-import{flex:none;white-space:nowrap;font-size:11px;font-weight:600;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:8px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.map-shelf-browse:disabled,.map-shelf-import:disabled{opacity:.65;cursor:default}.asl-browse{flex:none;white-space:nowrap}.asl-browse .asl-title-ic svg{width:13px;height:13px}.map-shelf-body{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden}#header .map-proj-chip{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);white-space:nowrap;background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:5px 8px;cursor:pointer}#header .map-proj-chip[hidden]{display:none}#header .map-proj-chip[aria-expanded=true]{background:var(--surface-4);border-color:var(--line-strong)}#header .map-proj-chip .map-proj-name{color:var(--txt-hi);font-weight:600}#header .map-save-btn{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--txt-hi);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:8px;padding:6px 10px;cursor:pointer}#header .map-save-btn:hover{background:var(--surface-4)}#header .map-save-btn[hidden]{display:none}.map-menu{position:fixed;z-index:1400;width:274px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #14181a2e;overflow:hidden;font-family:var(--font-ui)}.map-menu-group{padding:6px}.map-menu-sep{border-top:1px solid var(--line)}.map-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:none;border-radius:8px;background:none;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--txt-hi);text-align:left;font-family:inherit}.map-menu-item:hover{background:var(--row)}.map-menu-item svg{flex:none;color:var(--muted)}.map-menu-hint{margin-left:auto;font-size:9.5px;color:var(--faint)}.map-menu-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:2px 8px 6px}.map-menu-recent{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer}.map-menu-recent:hover{background:var(--row)}.map-menu-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.map-menu-recent-info{flex:1;min-width:0}.map-menu-recent-name{font-size:12.5px;font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-menu-recent-sub{font-size:9.5px;color:var(--muted)}.map-menu-del{flex:none;display:flex;align-items:center;color:var(--faint);background:none;border:none;cursor:pointer;padding:2px}.map-menu-del:hover{color:var(--warn)}.map-menu-ren{flex:none;display:flex;align-items:center;color:var(--faint);background:none;border:none;cursor:pointer;padding:2px}.map-menu-ren:hover{color:var(--accent)}.map-menu-none{font-size:11.5px;color:var(--muted);padding:4px 8px 6px}.map-menu-openall{justify-content:center;color:var(--accent);font-weight:600;font-size:12px}.map-menu-openall svg{color:var(--accent)}.map-menu-openall:hover{background:var(--accent-soft)}.map-shelf-tabs{display:flex;gap:3px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:8px;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.map-shelf-tabs::-webkit-scrollbar{height:0;width:0}.map-shelf-tab{flex:none;font-size:11.5px;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:6px;padding:5px 12px;cursor:pointer}.map-shelf-tab:hover{color:var(--txt)}.map-shelf-tab.on{background:var(--surface-2);color:var(--accent-strong);box-shadow:var(--shadow-1)}.map-shelf-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.map-shelf-owned{font-size:10px;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-round);padding:4px 10px;white-space:nowrap}.map-shelf-body{display:flex;align-items:center;gap:10px;padding:0 14px}.map-shelf-empty{display:flex;align-items:center;height:100%;padding:0 4px;font-size:11.5px;color:var(--muted)}.map-card{flex:none;width:78px;text-align:center;cursor:pointer}.map-card-thumb{position:relative;width:78px;height:66px;border-radius:10px;background:var(--surface-0);border:1px solid #1e2a25;overflow:hidden;background-image:radial-gradient(120% 90% at 50% 24%,#16211b,transparent 72%)}.map-card-thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.map-card.active .map-card-thumb{border-color:#34b96b;box-shadow:0 0 0 2px #34b96b4d}.map-card-add{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:6px;background:#12a150e6;color:#fff;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}.map-card-add:hover{background:var(--accent)}.map-card-dot{position:absolute;bottom:5px;left:5px;width:7px;height:7px;border-radius:50%;background:#34b96b;box-shadow:0 0 0 2px #34b96b59;display:none}.map-card.active .map-card-dot{display:block}.map-card-name{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px}.map-card-catdot{width:6px;height:6px;border-radius:2px;flex:none}.map-card-name-tx{font-size:10.5px;color:#4a5350;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px}.map-card.locked{cursor:default}.map-card.locked .map-card-thumb{border-color:#7c5ce694;box-shadow:inset 0 0 0 1px #7c5ce61f}.map-card.locked .map-card-add{background:#7c5ce6}.map-card.locked .map-card-add:hover{background:#6848d7}.map-card-lock{position:absolute;bottom:5px;left:5px;max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;letter-spacing:.02em;color:#d8ceff;background:#7c5ce64d;border:1px solid rgba(170,148,255,.55);border-radius:var(--r-round);padding:2px 5px}.map-card-pack{margin-top:2px;font-size:7.5px;line-height:1.2;color:#6b4bd8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-lib{position:fixed;top:54px;left:0;right:0;bottom:0;z-index:1400;background:var(--surface-1);display:flex;flex-direction:column;font-family:var(--font-ui);opacity:0;transform:translateY(14px) scale(.992);transition:opacity .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1)}.map-lib.in{opacity:1;transform:none}.map-lib[hidden]{display:none}@media(prefers-reduced-motion:reduce){.map-lib{transition:none;transform:none}}.map-lib-top{flex:none;display:flex;align-items:center;gap:14px;padding:14px 22px;background:var(--surface-2);border-bottom:1px solid var(--line)}.map-lib-brand{display:flex;align-items:center;gap:9px}.map-lib-brand-ic{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent)}.map-lib-brand-tx{font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--txt-hi)}.map-lib-owned{font-size:10.5px;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-round);padding:4px 10px}.map-lib-searchwrap{flex:1;display:flex;justify-content:center}.map-lib-search{display:flex;align-items:center;gap:8px;width:min(420px,100%);background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:2px 13px}.map-lib-search-ic{display:flex;line-height:0}.map-lib-search-input{flex:1;border:none;background:transparent;padding:9px 0;font-size:13px;color:var(--txt)}.map-lib-search-input:focus{outline:none}.map-lib-sort{flex:none}.map-lib-close{flex:none;font-size:12.5px;font-weight:600;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:9px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.map-lib-close:hover{background:var(--surface-4)}.map-lib-body{flex:1;min-height:0;display:flex}.map-lib-rail{width:212px;flex:none;background:var(--surface-2);border-right:1px solid var(--line);overflow:auto;padding:16px 12px}.map-lib-rail-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;padding:0 8px 10px}.map-lib-rail-gap{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.map-lib-cat{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;margin:1px 0}.map-lib-cat:hover{background:var(--surface-4)}.map-lib-cat.on{background:var(--accent-soft)}.map-lib-cat-dot{width:9px;height:9px;border-radius:3px;flex:none}.map-lib-cat-tx{flex:1;font-size:13px;font-weight:500;color:#4a5350}.map-lib-cat.on .map-lib-cat-tx{font-weight:700;color:var(--accent-strong)}.map-lib-cat-count{font-size:10.5px;color:var(--faint)}.map-lib-results{flex:1;min-width:0;overflow:auto;padding:20px 24px 28px}.map-lib-results-head{display:flex;align-items:baseline;gap:9px;margin-bottom:16px}.map-lib-count{font-weight:600;font-size:13.5px;color:var(--txt-hi)}.map-lib-note{font-size:10.5px;color:var(--muted)}.map-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:16px}.map-lib-empty{grid-column:1/-1;font-size:13px;color:var(--muted);padding:8px 2px}.map-lib-card{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.map-lib-card-thumb{position:relative;height:132px;background:var(--surface-0);background-image:radial-gradient(120% 90% at 50% 22%,#16211b,transparent 72%),linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}.map-lib-card-thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.map-lib-badge{position:absolute;top:9px;left:10px;font-size:9px;color:#34b96b;background:#34b96b29;border:1px solid #34b96b;border-radius:var(--r-round);padding:2px 8px}.map-lib-card-tris{position:absolute;top:9px;right:10px;font-size:9px;color:#7a8a82;background:#0f15138c;border-radius:var(--r-round);padding:2px 8px}.map-lib-card-info{padding:12px 14px 13px;display:flex;flex-direction:column;gap:2px}.map-lib-card-name{display:flex;align-items:center;gap:7px}.map-lib-card-namedot{width:7px;height:7px;border-radius:2px;flex:none}.map-lib-card-name-tx{flex:1;font-size:13px;font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-lib-card-sub{font-size:10px;color:var(--muted);margin-bottom:10px}.map-lib-card-actions{display:flex;gap:7px}.map-lib-brush{flex:1;font-size:12px;font-weight:600;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:8px;padding:8px;cursor:pointer}.map-lib-brush:hover{background:var(--surface-4)}.map-lib-brush.on{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent)}.map-lib-place{flex:1;font-size:12px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}.map-lib-place:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.map-lib-card.locked{border-color:#7c5ce66b}.map-lib-lockbadge{position:absolute;top:9px;left:10px;font-size:9px;color:#e0d8ff;background:#7c5ce657;border:1px solid rgba(174,153,255,.65);border-radius:var(--r-round);padding:2px 8px}.map-lib-preview,.map-lib-getpack{flex:1;font-size:11.5px;font-weight:600;border-radius:8px;padding:8px;cursor:pointer}.map-lib-preview{color:#6241d1;background:#7c5ce61a;border:1px solid rgba(124,92,230,.45)}.map-lib-preview:hover{background:#7c5ce629}.map-lib-getpack{color:#fff;background:#7c5ce6;border:1px solid #7C5CE6}.map-lib-getpack:hover{background:#6848d7;border-color:#6848d7}.map-lib-getpack:disabled{cursor:not-allowed;opacity:.55}.map-lib-view{flex:none;display:flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.map-lib-view-btn{width:32px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer}.map-lib-view-btn:hover{background:var(--surface-4);color:var(--txt-hi)}.map-lib-view-btn.on{background:var(--surface-2);color:var(--accent-strong);box-shadow:var(--shadow-1)}.map-lib-view-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.map-lib-grid.as-list{display:flex;flex-direction:column;gap:8px}.map-lib-row{display:flex;align-items:center;gap:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.map-lib-row:hover{border-color:var(--line-strong)}.map-lib-row.locked{border-color:#7c5ce66b}.map-lib-row-thumb{position:relative;width:52px;height:52px;flex:none;border-radius:9px;overflow:hidden;background:var(--surface-0);background-image:radial-gradient(120% 90% at 50% 24%,#16211b,transparent 72%)}.map-lib-row-thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.map-lib-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.map-lib-row-name{display:flex;align-items:center;gap:8px;min-width:0}.map-lib-row-name-tx{font-size:13px;font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-lib-row-sub{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-lib-row-lock{flex:none;font-size:9px;color:#6241d1;background:#7c5ce624;border:1px solid rgba(124,92,230,.5);border-radius:var(--r-round);padding:2px 8px}.map-lib-row-active{flex:none;font-size:9px;color:#34b96b;background:#34b96b29;border:1px solid #34b96b;border-radius:var(--r-round);padding:2px 8px}.map-lib-row-tris{flex:none;font-size:10px;color:#7a8a82;background:var(--inset);border-radius:var(--r-round);padding:3px 9px}.map-lib-row .map-lib-card-actions{flex:none;gap:7px}.map-lib-row .map-lib-card-actions>*{flex:none;min-width:94px}.map-header-tools{flex:none;display:inline-flex;align-items:center;gap:6px}.map-header-tools[hidden]{display:none}.map-tool-seg{display:flex;gap:3px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.map-tool-seg button{width:32px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer}.map-tool-seg button.on{background:var(--surface-3);color:var(--accent)}.map-tool-seg button svg{width:16px;height:16px}.map-header-tools .map-snap-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-3);border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer}.map-header-tools .map-snap-btn.on{color:var(--accent);background:var(--accent-soft);border-color:transparent}.map-header-tools .map-snap-btn svg{width:15px;height:15px}#header .map-export-btn{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:6px 11px;cursor:pointer}#header .map-export-btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}#header .map-export-btn:disabled{opacity:.6;cursor:default}#header .map-export-btn[hidden]{display:none}#header .map-export-btn[aria-expanded=true] .map-export-chev{transform:rotate(180deg)}.map-export-chev{transition:transform .15s}.map-export-menu{position:fixed;z-index:1400;width:266px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #14181a2e;overflow:hidden;font-family:var(--font-ui)}.map-export-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:11px 13px 6px}.map-export-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 13px;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--txt-hi)}.map-export-item+.map-export-item{border-top:1px solid var(--line)}.map-export-item:hover{background:var(--row)}.map-export-ic{width:34px;height:34px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center}.map-export-ic-glb{background:var(--accent-soft);color:var(--accent)}.map-export-ic-json{background:#eef0fb;color:#4c7ef3}.map-export-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.map-export-title{font-size:13px;font-weight:600}.map-export-ext{color:var(--muted);font-weight:500;font-size:10.5px}.map-export-sub{font-size:10px;color:var(--muted)}.mm-overlay{position:fixed;left:0;right:0;top:54px;bottom:0;z-index:1350;display:flex;flex-direction:column;background:var(--surface-1);font-family:var(--font-ui);opacity:0;transform:translateY(14px) scale(.992);transition:opacity .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1)}.mm-overlay.in{opacity:1;transform:none}.mm-overlay[hidden]{display:none}@media(prefers-reduced-motion:reduce){.mm-overlay{transition:none;transform:none}}#toasts{z-index:1700}.mm-head{flex:none;display:flex;align-items:center;gap:14px;padding:14px 22px;background:var(--surface-2);border-bottom:1px solid var(--line)}.mm-brand{display:flex;align-items:center;gap:9px;flex:none}.mm-brand-ic{width:30px;height:30px;border-radius:var(--r-4);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent)}.mm-brand-ic svg{display:block}.mm-title{font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--txt-hi)}.mm-count{font-size:10.5px;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-round);padding:4px 10px;font-weight:600}.mm-searchwrap{flex:1;display:flex;justify-content:center;min-width:0}.mm-search{display:flex;align-items:center;gap:8px;width:min(380px,100%);background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:2px 13px;color:var(--muted)}.mm-search svg{display:block;flex:none}.mm-search input{flex:1;min-width:0;border:none;background:transparent;padding:9px 0;font-size:var(--fs-3);color:var(--txt);font-family:var(--font-ui);outline:none}.mm-new{flex:none}.mm-new,.mm-close{font-size:12.5px;font-weight:600;border-radius:9px;padding:8px 13px}.mm-new{color:#fff;background:var(--accent);border:1px solid var(--accent)}.mm-new:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.mm-new svg{stroke:#fff}.mm-close{flex:none;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong)}.mm-close:hover{background:var(--surface-4)}.mm-body{flex:1;min-height:0;overflow:auto;padding:22px 26px 30px}.mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.mm-empty{grid-column:1/-1;padding:48px 20px;text-align:center;color:var(--muted);font-size:var(--fs-3)}.mm-card{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s,box-shadow .12s,transform .12s}.mm-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.mm-card.current{border-color:var(--accent-line)}.mm-preview{position:relative;height:150px;background:var(--surface-0);overflow:hidden;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:22px 22px}.mm-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 30%,#16211B,transparent 74%)}.mm-dot{position:absolute;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.mm-editing{position:absolute;top:9px;left:10px;font-size:9px;color:#34b96b;background:#34b96b29;border:1px solid #34B96B;border-radius:var(--r-round);padding:2px 8px}.mm-ground{position:absolute;bottom:9px;right:10px;font-size:9px;color:#7a8a82;background:#0f15138c;border-radius:var(--r-round);padding:2px 8px}.mm-info{padding:12px 14px 13px}.mm-name{font-size:13.5px;font-weight:600;color:var(--txt-hi);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-sub{font-size:10px;color:var(--muted);margin-bottom:11px}.mm-acts{display:flex;gap:7px}.mm-open{flex:1;justify-content:center;font-size:12px;font-weight:600;border-radius:8px;padding:8px;color:#fff;background:var(--accent);border:1px solid var(--accent)}.mm-open:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.mm-open.current{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-line)}.mm-open.current:disabled{opacity:1;cursor:default}.mm-icon{flex:none;padding:8px 9px;border-radius:8px;color:#4a5350;background:var(--surface-2);border:1px solid var(--line-strong)}.mm-icon:hover{border-color:var(--accent);color:var(--accent)}.mm-del{color:var(--warn);background:var(--warn-soft);border:none}.mm-del:hover{background:#f6ddd7;color:var(--warn)}.map-tab-body{display:block}.map-tab-body[hidden]{display:none}.map-insp-sec{margin-bottom:6px}.map-insp-sechead{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 12px;padding:9px var(--sb-inset);background:none;border:0;border-radius:0;border-bottom:1px solid var(--surface-4);color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}.map-insp-sechead:hover{background:var(--surface-4)}.map-insp-sechead:focus-visible{outline:none;box-shadow:var(--focus-ring)}.map-insp-sec.collapsed>.map-insp-sechead{margin-bottom:0}.map-insp-chev{display:flex;color:var(--muted);transition:transform .15s}.map-insp-sec.collapsed .map-insp-chev{transform:rotate(-90deg)}.map-insp-sectitle{font-weight:600;font-size:12px;color:var(--txt-hi)}.map-insp-body{padding:0 var(--sb-inset)}.map-insp-sec.collapsed>.map-insp-body{display:none}.map-insp-badge{margin-left:auto;font-size:10px;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-round);padding:2px 9px}.map-insp-inst{display:flex;align-items:center;gap:11px;margin-bottom:12px}.map-insp-thumb{width:52px;height:52px;border-radius:9px;flex:none;background:var(--surface-0);border:1px solid #1E2A25;display:flex;align-items:center;justify-content:center;color:#3c4e45}.map-insp-meta{flex:1;min-width:0}.map-insp-name{width:100%;margin-bottom:5px}.map-insp-pack{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-insp-lock{display:flex;align-items:center;gap:8px;margin:-2px 0 12px;padding:9px;background:#7c5ce614;border:1px solid rgba(124,92,230,.32);border-radius:9px}.map-insp-lock-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.map-insp-lock-chip{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6b4bd8}.map-insp-lock-detail{font-size:10.5px;color:#4a5350;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-insp-getpack{flex:none;font-size:10.5px;font-weight:650;color:#fff;background:#7c5ce6;border:1px solid #7C5CE6;border-radius:7px;padding:6px 8px;cursor:pointer}.map-insp-getpack:hover{background:#6848d7;border-color:#6848d7}.map-insp-getpack:disabled{cursor:not-allowed;opacity:.55}.map-insp-btnrow{display:flex;gap:7px}.map-insp-tfbtns{margin-top:8px}.map-insp-dup{flex:1;justify-content:center;gap:6px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:8px;padding:8px;cursor:pointer}.map-insp-dup:hover{border-color:var(--accent);color:var(--accent)}.map-insp-del{flex:none;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--warn);background:var(--warn-soft);border:none;border-radius:8px;padding:8px 11px;cursor:pointer}.map-insp-del:hover{background:#f6ddd7}.map-insp-ground{flex:1;justify-content:center;gap:6px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:none;border-radius:8px;padding:9px;cursor:pointer}.map-insp-ground:hover{background:var(--accent-line)}.map-insp-reset{flex:none;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;cursor:pointer}.map-insp-reset:hover{border-color:var(--accent);color:var(--accent)}.map-insp-trow{display:flex;align-items:center;gap:8px;margin:9px 0}.map-insp-tlabel{flex:0 0 58px;font-size:11.5px;color:#4a5350;font-weight:500}.map-insp-field{flex:1;position:relative;display:flex;align-items:center}.map-insp-axis{position:absolute;left:7px;font-size:9.5px;font-weight:700;pointer-events:none}.map-insp-field input[type=number]{width:100%;padding-left:18px;text-align:right}.map-insp-appearance{margin-bottom:12px;color:var(--muted)}.map-insp-empty{padding:40px 16px 0}.map-insp-ph-ic{width:44px;height:44px;border-radius:12px;background:var(--inset);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--line-strong)}.map-tree-block{margin-bottom:5px}.map-tree-head{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:7px;cursor:pointer;border:1px solid transparent}.map-tree-head:hover{background:#f7f8f7}.map-tree-head.drop-into,.map-tree-empty.drop-into{background:var(--accent-soft);border:1px dashed var(--accent)}.map-tree-chev{width:12px;height:12px;flex:none;display:flex;align-items:center;justify-content:center;color:#9aa39e}.map-tree-chev svg{transition:transform .15s}.map-tree-chev.collapsed svg{transform:rotate(-90deg)}.map-tree-dot{width:8px;height:8px;border-radius:2px;flex:none}.map-tree-lname{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-tree-lname.hidden{color:#b4bbb6}.map-tree-count{font-size:9.5px;color:#b4bbb6;flex:none}.map-tree-item{display:flex;align-items:center;gap:7px;padding:4px 7px 4px 22px;border-radius:7px;cursor:pointer;margin:1px 0;border-top:2px solid transparent}.map-tree-item:hover{background:#f7f8f7}.map-tree-item.on{background:var(--accent-soft)}.map-tree-item.dragging{opacity:.35}.map-tree-item.drop-before{border-top:2px solid var(--accent)}.map-tree-grip{display:flex;flex:none;color:#c6ccc8;cursor:grab}.map-tree-ic{display:flex;flex:none;color:#9aa39e}.map-tree-name{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-tree-name.hidden{color:#b4bbb6}.map-tree-name.on{color:#0e8944;font-weight:700}.map-tree-ctl{flex:none;display:flex;align-items:center;color:#c6ccc8;cursor:pointer}.map-tree-ctl:hover{color:var(--accent)}.map-tree-ctl.danger:hover,.map-tree-ctl.off{color:#e5484d}.map-tree-ctl.locked{color:#e8a23d}.map-tree-ctl.ok{color:var(--accent)}.map-tree-edit{flex:1;min-width:0;font-size:12px;font-weight:600;padding:2px 6px;background:#fff;border:1px solid var(--accent);border-radius:5px;color:var(--txt);font-family:inherit}.map-tree-empty{font-size:10px;color:#b4bbb6;padding:7px 7px 8px 22px;border-radius:7px}.map-tree-none{font-size:10px;color:#b4bbb6;padding:8px}.map-stats{position:absolute;bottom:12px;left:12px;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:6px}.map-stats-row{display:flex;gap:13px;color:#5a6b61;font-size:10.5px}.map-stats-val{color:#8fa69a}.map-budget{display:flex;align-items:center;gap:9px}.map-budget-label{color:#3c4e45;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.map-budget-track{width:150px;height:6px;background:#1e2a25;border-radius:99px;overflow:hidden}.map-budget-fill{height:100%;width:0;background:#12a150;border-radius:99px;transition:width .2s}.map-budget-count{color:#12a150;font-size:10px}.map-shade{position:absolute;top:12px;right:12px;z-index:2;display:flex;gap:5px}.map-shade-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#0f1513b8;border:1px solid #1e2a25;border-radius:7px;color:#7a8a82;cursor:pointer;padding:0}.map-shade-btn:hover{color:#c6d2cc;border-color:#2f4d3d}.map-shade-btn.on,.map-shade-btn.on:hover{background:var(--accent);border-color:var(--accent);color:#fff}.map-brush-banner{position:absolute;top:52px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;pointer-events:none;background:#0f1513c7;border:1px solid var(--accent);border-radius:8px;padding:6px 10px;color:#48d07e;font-size:11px}.map-brush-banner[hidden]{display:none}.map-brush-modeseg{display:flex;gap:0;margin-bottom:12px;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}.map-brush-modeseg button{flex:1;padding:7px 0;font-size:12px;font-weight:600;color:var(--txt);background:transparent;border:none;cursor:pointer}.map-brush-modeseg button+button{border-left:1px solid var(--line-strong)}.map-brush-modeseg button.on{background:var(--accent);color:#fff}.map-brush-active{display:flex;align-items:center;gap:11px;margin-bottom:12px}.map-brush-meta{flex:1;min-width:0}.map-brush-name{font-size:13px;font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-brush-layer{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-brush-nobrush{margin-bottom:12px}.map-brush-stamp{width:100%;justify-content:center;gap:7px;display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:10px;cursor:pointer}.map-brush-stamp:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.map-brush-row{display:flex;align-items:center;gap:10px;margin:9px 0}.map-brush-rowlbl{flex:0 0 36%;font-size:12px;color:var(--txt)}.map-brush-range{flex:1;accent-color:var(--accent);cursor:pointer}.map-brush-val{width:40px;text-align:right;font-size:10.5px;color:var(--muted)}.map-brush-toggle{display:flex;align-items:center;gap:11px;margin:10px 0;cursor:pointer}.map-brush-track{width:38px;height:22px;flex:none;position:relative;border-radius:var(--r-round);background:var(--line-strong);transition:background .15s}.map-brush-track.on{background:var(--accent)}.map-brush-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}.map-brush-track.on .map-brush-knob{left:19px}.map-brush-toggle-lbl{font-size:12.5px;color:var(--txt)}.map-road-sechead{cursor:default}.map-road-sechead:hover{background:transparent}.map-road-sec-body{display:flex;flex-direction:column;gap:8px}.map-road-palette{display:flex;flex-wrap:wrap;gap:6px}.map-road-fam{padding:6px 11px;font-size:11.5px;font-weight:600;color:var(--txt);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-round);cursor:pointer;text-transform:capitalize}.map-road-fam:hover{background:var(--surface-4);color:var(--txt-hi)}.map-road-fam.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.map-road-seg{display:flex;gap:3px;padding:3px;background:var(--inset);border-radius:9px}.map-road-mode{flex:1;padding:7px 4px;font-size:11.5px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer}.map-road-mode:hover{color:var(--txt-hi)}.map-road-mode.on{background:var(--surface-3);color:var(--accent);box-shadow:0 1px 2px #14181a14}.map-road-select{width:100%}.map-road-hint{font-size:11px;line-height:1.5;color:var(--muted)}.map-road-refusals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.map-road-refusal{font-size:11px;line-height:1.45;color:var(--txt);border-radius:6px;padding:6px 9px;background:var(--warn-soft);border:1px solid var(--warn-soft);border-left:2px solid var(--warn)}.map-road-refusal-code{font-weight:700;color:var(--warn);letter-spacing:.02em}.map-road-refusal-msg{color:var(--txt)}.map-road-refusal--locked{background:#7c5ce614;border-color:#7c5ce647;border-left-color:#7c5ce6}.map-road-refusal--locked .map-road-refusal-code{color:#7c5ce6}.map-minimap-canvas{position:relative;overflow:hidden}.map-minimap-cv{display:block;width:100%;height:100%}.map-env-tod{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px}.map-env-chip{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--txt);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:8px;padding:9px 8px;cursor:pointer}.map-env-chip:hover{border-color:var(--muted)}.map-env-chip.on{background:#e4f4eb;color:#0e8944;border-color:var(--accent);font-weight:700}.map-env-swatch{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #0000001f}.map-env-row{display:flex;align-items:center;gap:10px;margin:9px 0}.map-env-rlabel{flex:0 0 36%;font-size:12px;color:#4a5350}.map-env-slider{flex:1;accent-color:var(--accent);cursor:pointer}.map-env-val{width:38px;text-align:right;font-size:10.5px;color:var(--muted)}.map-env-select{flex:1;min-width:0}.map-env-toggle{display:flex;align-items:center;gap:11px;margin:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.map-env-track{width:38px;height:22px;background:var(--line-strong);border-radius:99px;position:relative;flex:none;transition:background .15s}.map-env-track.on{background:var(--accent)}.map-env-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000040;transition:left .15s}.map-env-knob.on{left:19px}.map-env-tlabel{font-size:12.5px;color:#4a5350}.map-set-row{display:flex;align-items:center;gap:10px;margin-bottom:11px}.map-set-label{flex:0 0 66px;color:var(--muted);font-size:12px}.map-set-text{flex:1;min-width:0}.map-set-num{flex:1;position:relative;display:flex;align-items:center}.map-set-num input[type=number]{width:100%;text-align:right}.map-set-num.has-prefix input[type=number]{padding-left:18px}.map-set-affix{font-size:9.5px;color:var(--muted);pointer-events:none}.map-set-affix-prefix{position:absolute;left:7px;font-weight:700}.map-set-affix-suffix{flex:none;width:14px;margin-left:6px;text-align:left}.map-toggle{display:flex;align-items:center;gap:11px;margin:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.map-toggle-track{width:38px;height:22px;flex:none;position:relative;border-radius:99px;background:var(--line-strong);transition:background .15s}.map-toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}.map-toggle.on .map-toggle-track{background:var(--accent)}.map-toggle.on .map-toggle-knob{left:19px}.map-toggle-lbl{font-size:12.5px;color:var(--txt)}#header .map-hist-cluster{flex:none;display:inline-flex;align-items:center;gap:4px;margin-left:2px;padding-left:8px;border-left:1px solid var(--line)}#header .map-hist-cluster[hidden]{display:none}#header .map-hist-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px;cursor:pointer}#header .map-hist-btn:hover:not(:disabled){background:var(--surface-4);color:var(--txt-hi)}#header .map-hist-btn:disabled{opacity:.4;cursor:default}#header .map-hist-btn svg{width:15px;height:15px}#veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;background:var(--surface-1);transition:opacity .28s ease}#veil.veil-hide{opacity:0;pointer-events:none}#veil svg{width:44px;height:48px;animation:veilPulse 1.6s ease-in-out infinite}@keyframes veilPulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.ld-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;overflow-y:auto;overflow-x:hidden;background:radial-gradient(120% 130% at 50% 12%,#fcfdfc 0%,var(--surface-1) 62%);color:var(--txt);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.ld-header{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:22px 28px;animation:ldRise 4.6s both}.ld-brand{display:inline-flex;align-items:center;gap:9px}.ld-wordmark{font-weight:700;font-size:15px;letter-spacing:-.01em}.ld-wordmark b{color:var(--accent);font-weight:700}.ld-wordmark-suffix{font-weight:400;color:var(--muted);font-size:15px;margin-left:-3px}.ld-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:600;font-size:13.5px;border-radius:11px;padding:10px 18px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background .15s,box-shadow .15s}.ld-btn-primary{color:#fff;background:var(--accent);box-shadow:0 8px 20px -8px #12a150a6}.ld-btn-primary:hover{background:var(--accent-strong)}.ld-btn-ghost{color:var(--txt);background:var(--surface-2);border-color:var(--line-strong)}.ld-btn-ghost:hover{background:var(--surface-4)}.ld-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ld-hero{max-width:820px;margin:0 auto;padding:56px 28px 30px;text-align:center}.ld-logo-build{display:inline-flex;align-items:center;gap:20px;margin-bottom:30px}.ld-hero-cube{filter:drop-shadow(0 8px 26px rgba(18,161,80,.18))}.ld-poly{transform-box:fill-box;transform-origin:center}.ld-hero-cube .ld-poly-t{animation:ldTop 4.2s cubic-bezier(.2,.85,.2,1) both}.ld-hero-cube .ld-poly-l{animation:ldLeft 4.2s cubic-bezier(.2,.85,.2,1) both}.ld-hero-cube .ld-poly-r{animation:ldRight 4.2s cubic-bezier(.2,.85,.2,1) both}.ld-hero-word{display:inline-flex;align-items:baseline;line-height:1;font-weight:700;font-size:clamp(34px,6.5vw,64px);letter-spacing:-.03em;color:var(--txt-hi)}.ld-hero-word b{color:var(--accent);font-weight:700}.ld-word{animation:ldWipe 4.2s ease both}.ld-suffix-clip{overflow:hidden;display:inline-block;margin-left:.32em}.ld-suffix{display:inline-block;font-weight:400;color:var(--muted)}.ld-suffix{animation:ldSuffix 4.2s cubic-bezier(.2,.85,.25,1) both}@keyframes ldTop{0%,6%{opacity:0;transform:translateY(-52px) scale(.55)}22%{opacity:1;transform:none}}@keyframes ldLeft{0%,14%{opacity:0;transform:translate(-46px,20px) scale(.55)}30%{opacity:1;transform:none}}@keyframes ldRight{0%,20%{opacity:0;transform:translate(46px,20px) scale(.55)}38%{opacity:1;transform:none}}@keyframes ldWipe{0%,38%{clip-path:inset(0 100% 0 0)}60%{clip-path:inset(0 0 0 0)}}@keyframes ldSuffix{0%,62%{transform:translate(-108%);opacity:0}80%{transform:translate(0);opacity:1}}@keyframes ldRise{0%,82%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ld-h1{font-size:clamp(20px,3vw,28px);font-weight:600;letter-spacing:-.02em;margin:0 0 12px;animation:ldRise 4.4s both}.ld-sub{font-size:15px;line-height:1.65;color:var(--muted);max-width:560px;margin:0 auto 26px;animation:ldRise 4.5s both}.ld-cta{display:flex;gap:12px;justify-content:center;animation:ldRise 4.6s both}.ld-cta-note{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-top:16px;animation:ldRise 4.7s both}.ld-dev-access{display:grid;gap:8px;max-width:520px;margin:24px auto 0;padding:14px 16px;border:1px dashed var(--accent-line);border-radius:10px;background:var(--accent-soft);animation:ldRise 4.9s both}.ld-dev-access strong{font-family:var(--font-mono);font-size:11px;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em}.ld-dev-access>span{font-size:11px;color:var(--muted)}.ld-dev-access>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.ld-dev-access .ld-btn{padding:7px 12px;font-size:11px;background:var(--surface-2)}.ld-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:34px auto 0;padding:0 28px;animation:ldRise 4.8s both}.ld-card{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 18px 20px;box-shadow:0 16px 40px -30px #00000059}.ld-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-round);padding:4px 10px;margin:16px 0 8px}.ld-card-title{font-size:16px;font-weight:700;letter-spacing:-.015em;margin:0 0 10px}.ld-card-bullets{margin:0;padding:0;list-style:none;display:grid;gap:8px}.ld-card-bullets li{font-size:12.5px;line-height:1.55;color:var(--muted);padding-left:16px;position:relative}.ld-card-bullets li:before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:2px;background:var(--accent-line)}.ld-demo{background:var(--surface-1);border:1px solid var(--line);border-radius:10px;overflow:hidden}.ld-demo-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--faint);border-bottom:1px solid var(--line);background:var(--surface-2)}.ld-demo-file{color:var(--muted);text-transform:none;letter-spacing:0}.ld-demo-foot{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--surface-2)}.ld-chip{font-family:var(--font-mono);font-size:9px;color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--r-round);padding:2px 8px}.ld-chip-on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.ld-sheet{position:relative;padding:10px 12px;display:grid;gap:9px}.ld-track{display:flex;align-items:center;gap:8px}.ld-track-name{font-family:var(--font-mono);font-size:9px;color:var(--faint);width:38px;flex:none}.ld-track-lane{position:relative;flex:1;height:12px;background:var(--inset);border-radius:4px}.ld-key{position:absolute;top:3px;width:6px;height:6px;transform:rotate(45deg);background:var(--key);outline:1px solid var(--key-stroke);animation:ldKeyPulse 4.2s linear infinite}@keyframes ldKeyPulse{0%{transform:rotate(45deg) scale(1)}1.5%{transform:rotate(45deg) scale(1.7)}6%{transform:rotate(45deg) scale(1)}to{transform:rotate(45deg) scale(1)}}.ld-playhead{position:absolute;top:6px;bottom:6px;width:2px;border-radius:1px;background:var(--playhead);box-shadow:0 0 6px #e8794db3;animation:ldSweep 4.2s linear infinite}@keyframes ldSweep{0%{left:12%}to{left:calc(100% - 14px)}}.ld-viewport{position:relative;height:118px;display:flex;align-items:center;justify-content:center;background:var(--surface-0)}.ld-cube-spin{animation:ldWobble 4.4s ease-in-out infinite alternate;perspective:400px}@keyframes ldWobble{0%{transform:rotate(-7deg) translateY(2px)}to{transform:rotate(7deg) translateY(-3px)}}.ld-tris{position:absolute;left:10px;bottom:8px;font-family:var(--font-mono);font-size:9px;color:#7d8a84}.ld-palette{position:relative}.ld-swatch{width:16px;height:16px;border-radius:5px;flex:none}.ld-swatch-ring{position:absolute;left:8px;top:50%;width:22px;height:22px;margin-top:-11px;border:2px solid var(--txt-hi);border-radius:7px;animation:ldRing 5s steps(1,end) infinite}@keyframes ldRing{0%{transform:translate(0)}20%{transform:translate(22px)}40%{transform:translate(44px)}60%{transform:translate(66px)}80%{transform:translate(88px)}to{transform:translate(0)}}.ld-grid{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:3px;padding:10px;height:118px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/16.66% 25%,var(--inset)}.ld-prop{border-radius:3px;animation:ldPropPop 5.2s cubic-bezier(.3,1.4,.5,1) infinite both}.ld-prop-a{background:var(--accent)}.ld-prop-b{background:#8a9a5b}.ld-prop-c{background:#b87333}@keyframes ldPropPop{0%{transform:scale(0);opacity:0}4%{transform:scale(1.15);opacity:1}8%{transform:scale(1)}88%{transform:scale(1);opacity:1}96%,to{transform:scale(0);opacity:0}}.ld-brush{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--accent);background:#12a1502e;animation:ldBrush 5.2s ease-in-out infinite}@keyframes ldBrush{0%{left:8%;top:14%}12%{left:22%;top:14%}28%{left:38%;top:38%}42%{left:54%;top:38%}56%{left:70%;top:62%}70%{left:54%;top:84%}86%{left:22%;top:84%}to{left:8%;top:14%}}.ld-budget{flex:1;height:5px;border-radius:3px;background:var(--inset);overflow:hidden;margin-left:4px}.ld-budget i{display:block;height:100%;border-radius:3px;background:var(--accent);animation:ldBudget 5.2s ease-out infinite}@keyframes ldBudget{0%{width:4%}88%{width:64%}to{width:4%}}.ld-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 26px;max-width:1080px;margin:44px auto 0;padding:0 28px;animation:ldRise 4.9s both}.ld-feature h3{font-size:13px;font-weight:700;margin:0 0 3px}.ld-feature p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.ld-footer{text-align:center;padding:52px 28px 64px;animation:ldRise 5s both}.ld-footer p{font-size:12.5px;color:var(--muted);margin:16px 0 0}.ld-link{color:var(--accent);font-weight:600;text-decoration:none}.ld-link:hover{text-decoration:underline}@media(max-width:900px){.ld-cards,.ld-features{grid-template-columns:1fr}.ld-logo-build{gap:12px}}@media(prefers-reduced-motion:reduce){.ld-root *,#veil svg{animation:none!important}.ld-word,.ld-suffix{clip-path:none;transform:none;opacity:1}}.cc-sec{display:flex;flex-direction:column;gap:var(--sp-3)}.cc-sec>.section-body{display:flex;flex-direction:column;gap:var(--sp-3)}.cc-sec .cc-section-head{flex-wrap:wrap}.cc-sec .cc-source-go{flex:1 0 100%;text-align:center}.cc-tabs{display:flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.cc-tab{flex:1;min-width:0;padding:6px 8px;background:transparent;border:0;border-radius:var(--r-3);color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-1);font-weight:600;letter-spacing:.02em;transition:background .12s,color .12s}.cc-tab:hover{color:var(--txt)}.cc-tab.on,.cc-tab.on:hover{background:var(--surface-2);color:var(--txt-hi);box-shadow:var(--shadow-1)}.cc-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-tabpane{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.cc-tabpane[hidden]{display:none}.cc-import{display:flex;flex-direction:column;gap:var(--sp-3)}.cc-addbar{display:flex}.cc-add-character{flex:1;padding:7px 10px;font-size:var(--fs-2);font-weight:600;border:1px dashed var(--line-strong);border-radius:var(--r-4);background:transparent;color:var(--txt);cursor:pointer;font-family:var(--font-ui)}.cc-add-character:hover:not(:disabled){border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.cc-add-character:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-add-character:disabled{opacity:.5;cursor:not-allowed}.cc-add-character.primary{border-style:solid;border-color:var(--accent);background:var(--accent);color:#fff}.cc-add-character.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.cc-roster-empty{margin:0;padding:10px 2px;font-size:var(--fs-1);line-height:1.5;color:var(--muted)}.cc-picker{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.cc-list{display:flex;flex-direction:column;gap:var(--sp-3);overflow:auto;min-height:0}.cc-card{display:flex;gap:var(--sp-4);align-items:center;width:100%;box-sizing:border-box;padding:7px;text-align:left;border:1px solid var(--line);border-radius:var(--r-4);background:var(--surface-2);cursor:pointer;font-family:var(--font-ui);color:var(--txt)}.cc-card:hover:not(:disabled){border-color:var(--line-strong);box-shadow:var(--shadow-1)}.cc-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-card:disabled{cursor:not-allowed;opacity:.72}.cc-card.on{border-color:var(--accent-line);background:var(--accent-soft)}.cc-card.busy{opacity:.6}.cc-card-wrap{display:flex;flex-direction:column;gap:var(--sp-2)}.cc-thumb{flex:0 0 44px;width:44px;height:44px;border-radius:var(--r-3);overflow:hidden;background:radial-gradient(120% 90% at 50% 24%,#1c2622,#0f1513 72%);display:flex;align-items:center;justify-content:center}.cc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cc-thumb.noimg:after{content:"";width:20px;height:20px;border-radius:6px;background:#2b3a34;box-shadow:0 0 0 1px #3a4a43 inset}.cc-body{display:flex;flex-direction:column;gap:3px;min-width:0}.cc-name{font-size:var(--fs-2);font-weight:600;color:var(--txt-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.cc-sub,.cc-price{font-family:var(--font-mono);font-size:var(--fs-0);color:var(--muted)}.cc-badge{font-size:var(--fs-0);font-weight:600;padding:1px 6px;border-radius:var(--r-round);border:1px solid var(--line-strong);color:var(--muted)}.cc-badge-owned{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.cc-badge-free{color:var(--accent-strong);border-color:var(--accent-line)}.cc-badge-buy{color:var(--txt-hi);border-color:var(--line-strong)}.cc-admin{font-size:var(--fs-0);font-weight:600;color:#9a5b00;background:#fff4e0;border:1px solid #f0d6a6;border-radius:var(--r-2);padding:1px 6px;align-self:flex-start}.cc-admin.unexpected{color:#8a1c1c;background:#ffecec;border-color:#f0b6b6}.cc-buy{align-self:flex-start;font-size:var(--fs-1);font-weight:600;color:var(--accent);text-decoration:none;padding:2px 4px}.cc-buy:hover{text-decoration:underline}.cc-note,.cc-state{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.cc-note{font-size:var(--fs-1);color:var(--muted)}.cc-state-msg{font-size:var(--fs-1);line-height:1.5;color:var(--muted)}.cc-state-error .cc-state-msg,.cc-state-msg.cc-state-error{color:var(--warn)}.cc-upsell{width:308px;gap:8px}.cc-upsell-mid{left:50%;top:50%;transform:translate(-50%,-50%)}.cc-upsell-chip{align-self:flex-start}.cc-upsell-admin{margin-top:2px}.cc-adminbar{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4);padding:8px 10px;border-radius:var(--r-3);background:#fff8ec;border:1px solid #f0d6a6;border-left:3px solid #d68a15}.cc-adminbar[hidden]{display:none}.cc-adminbar.unexpected{background:#fff2f2;border-color:#f0b6b6;border-left-color:#c23b3b}.cc-adminbar-msg,.cc-adminbar-gate{margin:0;font-size:var(--fs-1);line-height:1.45;color:var(--txt-hi)}.cc-adminbar-gate{color:#8a5300;font-weight:500}.cc-adminbar.unexpected .cc-adminbar-gate{color:#8a1c1c}.cc-adminbar-state summary{cursor:pointer;font-size:var(--fs-0);font-weight:600;color:var(--muted)}.cc-adminbar-state dl{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-4);margin:6px 0 0}.cc-adminbar-state dt{font-size:var(--fs-0);font-weight:600;color:var(--muted)}.cc-adminbar-state dd{margin:0;font-family:var(--font-mono);font-size:var(--fs-0);color:var(--txt-hi);word-break:break-word}#exportdlg .export-admin{margin-top:8px;flex-direction:row;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:0}#exportdlg .export-admin-note{font-size:var(--fs-1);line-height:1.45;color:var(--txt-hi)}.cc-upsell-close{align-self:flex-end;margin-top:2px}.cc-roster{display:flex;flex-direction:column;gap:var(--sp-2)}.cc-roster[hidden]{display:none}.cc-char-count{font-size:var(--fs-0);color:var(--muted);font-variant-numeric:tabular-nums}.cc-char-count.full{color:var(--warn)}.cc-char-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:232px;overflow:auto}.cc-char{display:flex;align-items:center;gap:var(--sp-2);padding:2px 2px 2px 0;border:1px solid transparent;border-radius:var(--r-3)}.cc-char:hover{border-color:var(--line)}.cc-char.on{border-color:var(--accent-line);background:var(--accent-soft)}.cc-char-select{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);padding:3px;border:0;border-radius:var(--r-3);background:transparent;cursor:pointer;text-align:left}.cc-char-select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-char-thumb{flex:0 0 30px;width:30px;height:38px;border-radius:var(--r-2);overflow:hidden;background:var(--inset);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.cc-char-thumb img{width:100%;height:100%;object-fit:contain;display:block}.cc-char-thumb.noimg:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--line-strong)}.cc-char-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cc-char-name{font-size:var(--fs-1);font-weight:600;color:var(--txt-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-char.on .cc-char-name{color:var(--accent)}.cc-char-sub{font-size:var(--fs-0);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-char-sub.warn{color:var(--warn)}.cc-char-rename{width:100%;box-sizing:border-box;padding:1px 4px;font:inherit;font-size:var(--fs-1);color:var(--txt-hi);background:var(--surface-2);border:1px solid var(--accent-line);border-radius:var(--r-2)}.cc-char-rename:focus{outline:none;box-shadow:var(--focus-ring)}.cc-char-actions{display:flex;gap:1px;opacity:0;transition:opacity .12s ease}.cc-char:hover .cc-char-actions,.cc-char.on .cc-char-actions,.cc-char:focus-within .cc-char-actions{opacity:1}.cc-char-btn{width:18px;height:18px;padding:0;line-height:1;border:0;border-radius:var(--r-2);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.cc-char-btn:hover:not(:disabled){background:var(--surface-2);color:var(--txt-hi)}.cc-char-btn.del:hover:not(:disabled){color:var(--warn)}.cc-char-btn:disabled{opacity:.25;cursor:default}.cc-char-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-controls{display:flex;flex-direction:column;gap:var(--sp-4);min-height:0;overflow-y:auto;overflow-x:hidden}.cc-controls[hidden]{display:none}.cc-section{display:flex;flex-direction:column;gap:var(--sp-2)}.cc-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-0);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cc-proportions-head{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}.cc-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cc-chip{padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-round);background:var(--surface-2);color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-1);font-weight:600;cursor:pointer}.cc-chip:hover{border-color:var(--line-strong)}.cc-chip.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.cc-chip:focus-visible,.cc-swatch-chip:focus-visible,.cc-reset:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-swatch-chip{display:flex;align-items:center;gap:var(--sp-2);padding:3px 8px 3px 3px;border:1px solid var(--line);border-radius:var(--r-round);background:var(--surface-2);color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-1);font-weight:600;cursor:pointer}.cc-swatch-chip:hover{border-color:var(--line-strong)}.cc-swatch-chip.on{border-color:var(--accent-line);background:var(--accent-soft)}.cc-swatch-chip .cc-swatch-label{color:var(--txt)}.cc-swatch-chip.on .cc-swatch-label{color:var(--accent)}.cc-swatch-strip{display:flex;border-radius:var(--r-round);overflow:hidden;box-shadow:0 0 0 1px var(--line) inset}.cc-swatch{width:9px;height:16px;display:block}.cc-swatch-label{white-space:nowrap}.cc-colors{border:1px solid var(--line);border-radius:var(--r-3);background:var(--inset);padding:var(--sp-2) var(--sp-3)}.cc-colors-summary{font-size:var(--fs-1);color:var(--muted);cursor:pointer;list-style:none}.cc-colors-summary::-webkit-details-marker{display:none}.cc-colors-summary:before{content:"▸ ";color:var(--muted)}.cc-colors[open] .cc-colors-summary:before{content:"▾ "}.cc-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--sp-3);margin-top:var(--sp-2)}.cc-color-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.cc-color-row.edited .cc-color-label{color:var(--accent);font-weight:600}.cc-color-input{width:22px;height:18px;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-2);background:none;cursor:pointer;flex:0 0 auto}.cc-color-input::-webkit-color-swatch-wrapper{padding:1px}.cc-color-input::-webkit-color-swatch{border:0;border-radius:2px}.cc-color-label{flex:1;min-width:0;font-size:var(--fs-0);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-prop{display:flex;flex-direction:column;gap:1px}.cc-prop-head{display:flex;align-items:center;gap:var(--sp-2)}.cc-prop-label{flex:1;min-width:0;font-size:var(--fs-1);color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-prop.edited .cc-prop-label{color:var(--txt-hi);font-weight:600}.cc-prop-val{font-size:var(--fs-0);color:var(--muted);font-variant-numeric:tabular-nums}.cc-prop.edited .cc-prop-val{color:var(--accent)}.cc-prop-range{width:100%;margin:0;box-sizing:border-box;accent-color:var(--accent);cursor:pointer}.cc-reset{flex:0 0 auto;width:18px;height:18px;padding:0;line-height:1;border:0;border-radius:var(--r-2);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.cc-reset:hover:not(:disabled){background:var(--inset);color:var(--txt-hi)}.cc-reset:disabled{opacity:.25;cursor:default}.cc-reset-all{font-size:var(--fs-0)}.cc-reset-all:disabled{opacity:.45;cursor:default}.cc-face{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-3)}.cc-face[hidden]{display:none}.cc-face-head{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}.cc-face-sliders{display:flex;flex-direction:column;gap:2px}.cc-face-sub{font-size:var(--fs-0);color:var(--muted);margin-bottom:2px}.cc-face-body{display:flex;flex-direction:column;gap:var(--sp-2)}.cc-face-details>summary{cursor:pointer;list-style:none}.cc-face-details>summary::-webkit-details-marker{display:none}.cc-face-details>summary:before{content:"▸ ";color:var(--muted)}.cc-face-details[open]>summary:before{content:"▾ "}.cc-face-details>*:not(summary){margin-top:var(--sp-2)}.cc-toggles{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cc-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);padding:3px 10px 3px 7px;border:1px solid var(--line);border-radius:var(--r-round);background:var(--surface-2);color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-1);font-weight:600;cursor:pointer}.cc-toggle:hover{border-color:var(--line-strong)}.cc-toggle.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.cc-toggle input{margin:0;accent-color:var(--accent);cursor:pointer}.cc-toggle:focus-within{outline:none;box-shadow:var(--focus-ring)}.cc-toggle:has(input:disabled){opacity:.5;cursor:default}.cc-toggle:has(input:disabled) input{cursor:default}.cc-toggle:has(input:disabled):hover{border-color:var(--line)}.cc-render{display:flex;flex-direction:column;gap:var(--sp-3)}.cc-say{display:flex;align-items:center;gap:var(--sp-2)}.cc-say-input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--inset);color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-1)}.cc-say-input:focus{outline:none;border-color:var(--accent-line);box-shadow:var(--focus-ring)}.cc-say-go{flex:0 0 auto}.cc-presets{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}.cc-presets[hidden]{display:none}.cc-presets-actions{display:flex;gap:var(--sp-2)}.cc-presets-note{color:var(--muted)}.cc-preset-action{padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-round);background:var(--surface-2);color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-0);font-weight:600;cursor:pointer}.cc-preset-action:hover{border-color:var(--line-strong)}.cc-preset-action:disabled{opacity:.4;cursor:default}.cc-preset-action.locked{opacity:.55}.cc-preset-action:focus-visible,.cc-preset-apply:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-preset-list{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow:auto}.cc-preset-row{display:flex;align-items:center;gap:var(--sp-2)}.cc-preset-apply{flex:1;min-width:0;padding:3px 6px;border:0;border-radius:var(--r-2);background:transparent;color:var(--txt-hi);font-family:var(--font-ui);font-size:var(--fs-1);font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cc-preset-apply:hover{background:var(--surface-2)}.cc-source{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}.cc-source[hidden]{display:none}.cc-source-go{padding:3px 10px;border:1px solid var(--accent-line,var(--line-strong));border-radius:var(--r-round);background:var(--surface-2);color:var(--txt-hi);font-family:var(--font-ui);font-size:var(--fs-0);font-weight:600;cursor:pointer}.cc-source-go:hover{border-color:var(--line-strong)}.cc-source-go:disabled{opacity:.6;cursor:progress}.cc-source-go.locked{opacity:.55;border-color:var(--line)}.cc-source-go:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-source-blurb,.cc-source-note{margin:0}.cc-source-what{font-size:var(--fs-1);color:var(--muted)}.cc-source-what summary{cursor:pointer;font-weight:600;color:var(--txt)}.cc-source-what summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cc-source-list{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1,2px);line-height:1.5}.cc-source-list strong{color:var(--txt)}.cc-source-status{margin:0;font-size:var(--fs-1);color:var(--muted)}.cc-source-status.warn,.cc-source-status.error{color:var(--warn)}.cc-source-status[hidden],.cc-source-retry[hidden],.cc-source-note[hidden]{display:none}.cc-source-retry{align-self:flex-start}.tt{position:fixed;left:0;top:0;z-index:1800;max-width:248px;padding:5px 9px;background:#0f1513f0;color:#fff;border-radius:var(--r-2);font-family:var(--font-ui);font-size:var(--fs-2);font-weight:500;line-height:1.35;box-shadow:0 4px 14px #14181a38;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.tt[hidden]{display:none}.tt-top{transform:translateY(2px)}.tt-bottom{transform:translateY(-2px)}.tt-left{transform:translate(2px)}.tt-right{transform:translate(-2px)}.tt.in{opacity:1;transform:none}.tt-caret{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;background:inherit;transform:rotate(45deg)}.tt-top .tt-caret,.tt-bottom .tt-caret{margin-left:-4px;margin-top:0}.tt-left .tt-caret,.tt-right .tt-caret{margin-top:-4px;margin-left:0}@media(prefers-reduced-motion:reduce){.tt{transition:none}.tt-top,.tt-bottom,.tt-left,.tt-right{transform:none}}
