:root{--bg:#f7f8fa;--surface:#fff;--fg:#15202b;--muted:#5b6673;--line:#d6dbe2;--accent:#1f4fd8;--accent-soft:#e4eafc;--danger:#b3261e;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f141a;--surface:#171e26;--fg:#e6ebf1;--muted:#98a4b3;--line:#2b3542;--accent:#7fa0ff;--accent-soft:#1b2744;--danger:#ff7b72;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.app{grid-template:"bar bar bar"48px"left center right"minmax(0,1fr)/260px minmax(0,1fr) 260px;height:100%;display:grid}.bar{border-bottom:1px solid var(--line);background:var(--surface);grid-area:bar;align-items:center;gap:12px;padding:0 16px;display:flex}.bar h1{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.tag{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px}.panel{background:var(--surface);flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex;overflow:auto}.panel.left{border-right:1px solid var(--line);grid-area:left}.panel.right{border-left:1px solid var(--line);grid-area:right}.panel h2{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 0;font-size:11px;font-weight:500}.hint{color:var(--muted);margin:0;font-size:13px}.center{background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:20px 20px;grid-area:center;place-items:center;min-width:0;padding:24px;display:grid;position:relative;overflow:auto}.stage{background:var(--surface);border:1px solid var(--line);width:min(100%,100vh - 120px);max-width:100%;color:var(--fg);border-radius:6px;display:block}.dropzone{border:1.5px dashed var(--line);cursor:pointer;color:var(--muted);text-align:center;border-radius:8px;justify-items:center;gap:2px;padding:18px 12px;font-size:13px;transition:border-color .15s,background .15s;display:grid}.dropzone strong{color:var(--fg);font-weight:600}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library,.layers{gap:6px;margin:0;padding:0;list-style:none;display:grid}.library li,.layers li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;display:grid}.library .fig{text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:10px;min-width:0;padding:6px;display:grid}.library .fig:hover{border-color:var(--accent)}.library .thumb{width:44px;height:44px;color:var(--fg);grid-row:1/3}.library .name,.layers .name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.library .meta,.layers .meta{font-family:var(--mono);color:var(--muted);font-size:11px}.library em{color:var(--danger);font-style:normal}.layers .row{text-align:left;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.layers li.sel .row{border-color:var(--accent);background:var(--accent-soft)}.layers .idx{font-family:var(--mono);color:var(--accent);font-size:11px}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.icon{font:inherit;width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px}.icon:hover{color:var(--danger);border-color:var(--line)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast{background:var(--fg);max-width:min(90%,560px);color:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-size:13px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0003}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:16px}.bar-actions{gap:8px;margin-left:auto;display:flex}.btn,.rule-actions button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:13px}.btn:hover,.rule-actions button:hover{border-color:var(--accent)}.rules{gap:10px;display:grid}.rule-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rule{border:1px solid var(--line);background:var(--bg);border-radius:6px;gap:8px;padding:8px 10px 10px;display:grid}.rule-head{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.rule-head .idx{font-family:var(--mono);color:var(--accent);font-size:11px}.rule-head .name{text-transform:capitalize;font-weight:500}.slider,.field{gap:2px;display:grid}.slider .lab,.field .lab{font-family:var(--mono);color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.slider output{color:var(--fg);font-variant-numeric:tabular-nums}.slider input[type=range]{width:100%;accent-color:var(--accent);margin:0}.field select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:4px;padding:4px 6px;font-size:13px}.rule-actions{gap:8px;display:flex}.count{font-family:var(--mono);color:var(--muted);margin:0;font-size:11px}.count em{color:var(--danger);font-style:normal}.rule-head{grid-template-columns:20px minmax(0,1fr) auto auto}.rule-head .out{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:11px}.rule.capped{border-color:var(--danger)}.rule.capped .out{color:var(--danger)}.rule.skipped{opacity:.55}.rule-tools{gap:0;display:flex}.rule-tools .icon{width:24px;height:24px;font-size:13px}.rule-tools .icon:disabled{opacity:.3;cursor:default}.rule-tools .icon:disabled:hover{color:var(--muted);border-color:#0000}.rule-actions{flex-wrap:wrap}.rule-actions button{text-transform:capitalize}.rule-actions .fit{text-transform:none;margin-left:auto}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.toggle input{accent-color:var(--accent);margin:0}.center{grid-auto-rows:minmax(0,1fr) auto;align-content:center;row-gap:12px}.timeline{align-items:center;gap:10px;width:min(100%,100vh - 120px);max-width:100%;display:flex}.timeline input[type=range]{accent-color:var(--accent);flex:1;min-width:0;margin:0}.timeline .play{text-align:center;width:34px;padding:5px 0;font-size:12px}.timeline .tl-count{white-space:nowrap;text-align:right;min-width:70px}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--line)}select.btn{padding:4px 6px}.bar-actions .sep{background:var(--line);width:1px;height:20px;margin:0 4px}@media (width<=820px){.timeline{width:100%}}.shortcuts{color:var(--muted);margin-top:auto;font-size:12.5px}.shortcuts summary{cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.shortcuts dl{gap:4px;margin:8px 0 0;display:grid}.shortcuts dl div{grid-template-columns:110px minmax(0,1fr);gap:8px;display:grid}.shortcuts dt{font-family:var(--mono);color:var(--fg);font-size:11px}.shortcuts dd{margin:0}.bar-actions{flex-wrap:wrap;row-gap:6px}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);grid-area:tabs;display:flex}.tabs [role=tab]{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:10px;font-weight:500}.tabs [role=tab][aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}@media (width<=820px){.app{grid-template:"bar""center""tabs""right"minmax(0,1fr)/minmax(0,1fr);height:auto;min-height:100%}.bar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.bar-actions{width:100%;margin-left:0}.panel.right{border:0;min-height:240px}.center{padding:12px}.stage,.timeline{width:100%}.toast{bottom:8px}}
