:root{--bg: #08080a;--panel: rgba(16, 16, 20, .82);--panel-solid: #131318;--panel-2: #1b1b21;--panel-3: #24242c;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .2);--text: #f5f5f7;--dim: #9a9aa6;--faint: #5a5a66;--accent: #c8ff3d;--accent-dim: rgba(200, 255, 61, .16);--rec: #ff3d5e;--ok: #3dffa8;--warn: #ffb03d;--radius: 16px;--ui: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--mono: "SF Mono", ui-monospace, Menlo, monospace}:root{--sh-bg: #08080a;--sh-panel: var(--panel-solid);--sh-panel-2: var(--panel-2);--sh-panel-3: var(--panel-3);--sh-rule: var(--line);--sh-rule-strong: var(--line-strong);--sh-ink: var(--text);--sh-ink-2: var(--dim);--sh-ink-3: var(--faint);--sh-accent: var(--accent);--sh-accent-ink: #0a0a0a;--sh-accent-soft: var(--accent-dim);--sh-focus: var(--accent);--sh-danger: var(--rec);--sh-ok: var(--ok);--sh-font-ui: var(--ui);--sh-font-mono: var(--mono)}:root{--shell-bg: var(--sh-bg, #0d0d10);--shell-panel: var(--sh-panel, #16161b);--shell-panel-2: var(--sh-panel-2, #1d1d23);--shell-panel-3: var(--sh-panel-3, #26262e);--shell-rule: var(--sh-rule, rgba(255,255,255,.1));--shell-rule-strong: var(--sh-rule-strong, rgba(255,255,255,.2));--shell-ink: var(--sh-ink, #f2f2f5);--shell-ink-2: var(--sh-ink-2, #a8a8b4);--shell-ink-3: var(--sh-ink-3, #6e6e7a);--shell-accent: var(--sh-accent, #c8ff3d);--shell-accent-ink: var(--sh-accent-ink, #0a0a0a);--shell-accent-soft: var(--sh-accent-soft, rgba(200,255,61,.14));--shell-focus: var(--sh-focus, var(--shell-accent));--shell-danger: var(--sh-danger, #ff4d67);--shell-ok: var(--sh-ok, #3ddb92);--shell-shadow: var(--sh-shadow, 0 1px 2px rgba(0,0,0,.28), 0 12px 32px -8px rgba(0,0,0,.4));--shell-shadow-pop: var(--sh-shadow-pop, 0 2px 6px rgba(0,0,0,.3), 0 24px 60px -12px rgba(0,0,0,.55));--shell-font-ui: var(--sh-font-ui, ui-sans-serif, system-ui, -apple-system, sans-serif);--shell-font-mono: var(--sh-font-mono, ui-monospace, "SF Mono", Menlo, monospace);--d-1: 2px;--d-2: 4px;--d-3: 6px;--d-4: 8px;--d-5: 12px;--d-6: 16px;--d-7: 24px;--d-8: 32px;--d-9: 48px;--row-compact: 26px;--row: 32px;--row-loose: 40px;--ctl-sm: 24px;--ctl: 28px;--ctl-lg: 34px;--titlebar-h: 34px;--toolbar-h: 40px;--statusbar-h: 26px;--tabbar-h: 32px;--gutter-tight: var(--d-4);--gutter: var(--d-5);--gutter-wide: var(--d-7);--shell-r-sm: 5px;--shell-r: 9px;--shell-r-lg: 13px;--shell-r-pill: 999px;--hair: 1px solid var(--shell-rule);--icon-sm: 14px;--icon: 16px;--icon-nav: 18px;--icon-lg: 20px;--icon-stroke: 1.75;--icon-stroke-nav: 1.5;--m-fast: .11s;--m: .17s;--m-slow: .26s;--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-spring: cubic-bezier(.34, 1.35, .64, 1);--focus-ring: 0 0 0 2px var(--shell-bg), 0 0 0 4px var(--shell-focus);--focus-ring-tight: 0 0 0 2px var(--shell-focus);--focus-ring-inset: inset 0 0 0 2px var(--shell-focus);--z-raised: 10;--z-sticky: 20;--z-window: 30;--z-popover: 40;--z-overlay: 60;--z-toast: 80;--z-tooltip: 90}:where(a,button,input,select,textarea,summary,[tabindex]):focus{outline:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--shell-r-sm);position:relative;z-index:var(--z-raised)}.shell-focus-inset:focus-visible,:where(.shell-row,.shell-menu-item,.shell-tab):focus-visible{box-shadow:var(--focus-ring-inset);border-radius:var(--shell-r-sm)}:where(.shell-btn,.shell-iconbtn,.shell-input,.shell-kbd-target):focus-visible{border-radius:inherit}.shell-aria-active{box-shadow:var(--focus-ring-inset)}.shell-panel{background:var(--shell-panel);border:var(--hair);border-radius:var(--shell-r);display:flex;flex-direction:column;min-height:0;min-width:0}.shell-panel--flush{border-radius:0;border-width:0}.shell-panel--raised{box-shadow:var(--shell-shadow)}.shell-panel--pop{box-shadow:var(--shell-shadow-pop)}.shell-titlebar{height:var(--titlebar-h);flex:0 0 var(--titlebar-h);display:flex;align-items:center;gap:var(--d-4);padding:0 var(--d-3) 0 var(--gutter);border-bottom:var(--hair);background:var(--shell-panel-2);border-radius:var(--shell-r) var(--shell-r) 0 0;user-select:none;-webkit-user-select:none}.shell-panel--flush>.shell-titlebar{border-radius:0}.shell-titlebar-title{font:600 11px/1 var(--shell-font-ui);letter-spacing:.045em;color:var(--shell-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--m-fast) var(--ease)}.shell-titlebar-sub{font:400 11px/1 var(--shell-font-mono);color:var(--shell-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-titlebar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--d-1)}.shell-panel[data-focused=false]{border-color:color-mix(in oklab,var(--shell-rule) 60%,transparent)}.shell-panel[data-focused=false] .shell-titlebar{background:var(--shell-panel)}.shell-panel[data-focused=false] .shell-titlebar-title{color:var(--shell-ink-3)}.shell-panel[data-focused=false] .shell-titlebar-actions{opacity:.55}.shell-resize{position:absolute;z-index:2;touch-action:none}.shell-resize:after{content:"";position:absolute;inset:0;opacity:0;background:var(--shell-accent);transition:opacity var(--m-fast) var(--ease)}.shell-resize:hover:after,.shell-resize[data-active=true]:after{opacity:.55}.shell-resize--e{top:var(--d-5);bottom:var(--d-5);right:-3px;width:7px;cursor:ew-resize}.shell-resize--e:after{left:3px;right:3px}.shell-resize--w{top:var(--d-5);bottom:var(--d-5);left:-3px;width:7px;cursor:ew-resize}.shell-resize--w:after{left:3px;right:3px}.shell-resize--s{left:var(--d-5);right:var(--d-5);bottom:-3px;height:7px;cursor:ns-resize}.shell-resize--s:after{top:3px;bottom:3px}.shell-resize--n{left:var(--d-5);right:var(--d-5);top:-3px;height:7px;cursor:ns-resize}.shell-resize--n:after{top:3px;bottom:3px}.shell-resize--se{right:-3px;bottom:-3px;width:14px;height:14px;cursor:nwse-resize}.shell-resize--sw{left:-3px;bottom:-3px;width:14px;height:14px;cursor:nesw-resize}.shell-resize--ne{right:-3px;top:-3px;width:14px;height:14px;cursor:nesw-resize}.shell-resize--nw{left:-3px;top:-3px;width:14px;height:14px;cursor:nwse-resize}:where(.shell-resize--se,.shell-resize--sw,.shell-resize--ne,.shell-resize--nw):after{inset:4px;border-radius:2px}.shell-divider{flex:0 0 1px;position:relative;background:var(--shell-rule);touch-action:none}.shell-divider--v{cursor:col-resize}.shell-divider--h{cursor:row-resize;height:1px;width:auto}.shell-divider:before{content:"";position:absolute;inset:-3px;z-index:1}.shell-divider:after{content:"";position:absolute;inset:0;background:var(--shell-accent);opacity:0;transition:opacity var(--m-fast) var(--ease)}.shell-divider:hover:after,.shell-divider[data-active=true]:after{opacity:.6}.shell-statusbar{height:var(--statusbar-h);flex:0 0 var(--statusbar-h);display:flex;align-items:center;gap:var(--d-5);padding:0 var(--gutter);border-top:var(--hair);background:var(--shell-panel-2);font:400 11px/1 var(--shell-font-mono);color:var(--shell-ink-3);white-space:nowrap;overflow:hidden}.shell-statusbar-hint{margin-left:auto;display:flex;align-items:center;gap:var(--d-4)}kbd,.shell-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font:500 10.5px/1 var(--shell-font-mono);color:var(--shell-ink-2);background:var(--shell-panel-3);border:1px solid var(--shell-rule);border-bottom-color:var(--shell-rule-strong);border-bottom-width:2px;border-radius:5px;white-space:nowrap;vertical-align:middle}.shell-kbd--dim{color:var(--shell-ink-3);background:transparent}.shell-kbd--onaccent{color:var(--shell-accent-ink);background:#00000024;border-color:#00000038}.shell-kbd-group{display:inline-flex;align-items:center;gap:3px}.shell-kbd-group .shell-kbd-plus{color:var(--shell-ink-3);font-size:10px}.shell-shortcut{margin-left:auto;display:inline-flex;align-items:center;gap:3px;flex:none}.shell-keysheet{display:grid;gap:var(--d-6)}.shell-keysheet-group{display:grid;gap:var(--d-1)}.shell-keysheet-group h4{font:600 10px/1 var(--shell-font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--shell-ink-3);margin-bottom:var(--d-3)}.shell-keyrow{display:flex;align-items:center;gap:var(--d-5);min-height:var(--row);padding:0 var(--d-3);border-radius:var(--shell-r-sm);font:400 12.5px/1.3 var(--shell-font-ui);color:var(--shell-ink-2)}.shell-keyrow:nth-child(odd){background:color-mix(in oklab,var(--shell-panel-2) 55%,transparent)}.shell-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--d-5);padding:var(--d-8) var(--d-6);margin:auto;text-align:center;min-height:0;animation:shell-empty-in var(--m-slow) var(--ease-out) both}.shell-empty--inline{padding:var(--d-7) var(--d-5);gap:var(--d-4)}.shell-empty-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--shell-r-lg);background:color-mix(in oklab,var(--shell-panel-2) 70%,transparent);border:var(--hair);color:var(--shell-ink-3)}.shell-empty-icon>svg{width:var(--icon-lg);height:var(--icon-lg)}.shell-empty-line{max-width:34ch;font:400 13px/1.5 var(--shell-font-ui);color:var(--shell-ink-2);margin:0;text-wrap:balance}.shell-empty-line strong{color:var(--shell-ink);font-weight:600}.shell-empty-action{display:inline-flex;align-items:center;gap:var(--d-4);height:var(--ctl-lg);padding:0 var(--d-5);border-radius:var(--shell-r-sm);border:var(--hair);background:var(--shell-panel-2);color:var(--shell-ink);font:500 12.5px/1 var(--shell-font-ui);cursor:pointer;transition:background var(--m-fast) var(--ease),border-color var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.shell-empty-action:hover{background:var(--shell-panel-3);border-color:var(--shell-rule-strong)}.shell-empty-action:active{transform:scale(.97)}.shell-empty-action--primary{background:var(--shell-accent);color:var(--shell-accent-ink);border-color:transparent;font-weight:600}.shell-empty-action--primary:hover{background:var(--shell-accent);filter:brightness(1.06)}@keyframes shell-empty-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shell-row{display:flex;align-items:center;gap:var(--d-4);min-height:var(--row);padding:0 var(--gutter-tight);border-radius:var(--shell-r-sm);color:var(--shell-ink-2);transition:background var(--m-fast) var(--ease),color var(--m-fast) var(--ease);cursor:pointer}.shell-row:hover{background:var(--shell-panel-2);color:var(--shell-ink)}.shell-row[aria-selected=true],.shell-row[data-selected=true]{background:var(--shell-panel-3);color:var(--shell-ink)}.shell-iconbtn{width:var(--ctl);height:var(--ctl);flex:none;display:grid;place-items:center;border-radius:var(--shell-r-sm);border:1px solid transparent;background:transparent;color:var(--shell-ink-2);cursor:pointer;transition:background var(--m-fast) var(--ease),color var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.shell-iconbtn:hover{background:var(--shell-panel-3);color:var(--shell-ink)}.shell-iconbtn:active{transform:scale(.92)}.shell-iconbtn[data-active=true],.shell-iconbtn[aria-pressed=true]{background:var(--shell-accent-soft);color:var(--shell-accent)}.shell-iconbtn:disabled{opacity:.35;cursor:default}.shell-iconbtn>svg{width:var(--icon);height:var(--icon)}.shell-tip{position:relative}.shell-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(3px);padding:4px 7px;border-radius:var(--shell-r-sm);background:var(--shell-panel-3);border:var(--hair);color:var(--shell-ink);font:400 11px/1 var(--shell-font-ui);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--m-fast) var(--ease),transform var(--m-fast) var(--ease);box-shadow:var(--shell-shadow);z-index:var(--z-tooltip)}.shell-tip:hover:after,.shell-tip:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.shell-tip--below:after{bottom:auto;top:calc(100% + 6px)}.shell-skel{background:linear-gradient(90deg,var(--shell-panel-2) 0%,var(--shell-panel-3) 50%,var(--shell-panel-2) 100%);background-size:200% 100%;animation:shell-shimmer 1.25s linear infinite;border-radius:var(--shell-r-sm)}@keyframes shell-shimmer{to{background-position:-200% 0}}.shell-scrim{position:fixed;inset:0;z-index:var(--z-overlay);background:#0000006b;backdrop-filter:blur(2px);animation:shell-fade-in var(--m) var(--ease) both}@keyframes shell-fade-in{0%{opacity:0}to{opacity:1}}@keyframes shell-pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.shell-pop{animation:shell-pop-in var(--m) var(--ease-out) both;transform-origin:top center}@media (prefers-reduced-motion: reduce){:root{--m-fast: 1ms;--m: 1ms;--m-slow: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.shell-skel{animation:none!important;background:var(--shell-panel-2)}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;overflow:hidden;user-select:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.stage{position:fixed;inset:0;background:#000}.stage canvas.preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stage video.src{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;mix-blend-mode:screen}.debug-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.topbar{position:absolute;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(rgba(0,0,0,.55),transparent);z-index:20}.brand{font-weight:800;letter-spacing:.14em;font-size:13px}.brand em{color:var(--accent);font-style:normal}.ai-status{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;color:var(--dim);background:var(--panel);border:1px solid var(--line);padding:6px 11px;border-radius:999px;backdrop-filter:blur(12px)}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.dot.loading{background:var(--warn);animation:pulse 1.1s infinite}.dot.degraded{background:var(--rec)}@keyframes pulse{50%{opacity:.35}}.iconbtn{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);color:var(--text);font-size:15px}.iconbtn.active{border-color:var(--accent);color:var(--accent)}.hud-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:15;text-align:center}.instruction .big{font-size:clamp(34px,7vw,64px);font-weight:900;letter-spacing:.06em;text-shadow:0 2px 30px rgba(0,0,0,.7);animation:inst-in var(--m-slow) var(--ease-spring)}.instruction .count{font-size:clamp(70px,14vw,130px);font-weight:900;color:var(--accent);font-family:var(--mono);text-shadow:0 0 60px var(--accent-dim)}.instruction .sub{color:var(--dim);font-size:14px;margin-top:8px;letter-spacing:.08em;text-transform:uppercase}@keyframes inst-in{0%{transform:scale(1.25);opacity:0}}.event-feed{position:absolute;left:16px;bottom:150px;z-index:15;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:70vw}.event-toast{align-self:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-family:var(--mono);font-size:10.5px;backdrop-filter:blur(10px);animation:toast-in var(--m) var(--ease-out)}.event-toast .etype{color:var(--accent);font-weight:700}.event-toast .eact{color:var(--dim)}@keyframes toast-in{0%{transform:translate(-12px);opacity:0}}.rec-pill{position:absolute;top:calc(env(safe-area-inset-top,0px) + 64px);left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-family:var(--mono);font-size:12px;backdrop-filter:blur(12px)}.rec-pill .rdot{width:9px;height:9px;border-radius:50%;background:var(--rec);animation:pulse 1s infinite}.rec-pill.paused .rdot{background:var(--warn);animation:none}.controls{position:absolute;left:0;right:0;bottom:0;z-index:20;padding:20px 22px calc(env(safe-area-inset-bottom,0px) + 22px);display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(transparent,#0009)}.side-cluster{display:flex;gap:10px;flex:1}.side-cluster.right{justify-content:flex-end}.ctl{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--text);font-size:10px;letter-spacing:.06em}.ctl .box{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);font-size:18px;backdrop-filter:blur(12px)}.ctl.on .box{border-color:var(--accent);box-shadow:0 0 18px var(--accent-dim)}.ctl span{color:var(--dim)}.recbtn{width:76px;height:76px;border-radius:50%;border:4px solid rgba(255,255,255,.92);display:grid;place-items:center;background:transparent;flex-shrink:0}.recbtn .core{width:58px;height:58px;border-radius:50%;background:var(--rec);transition:width var(--m) var(--ease),height var(--m) var(--ease),border-radius var(--m) var(--ease)}.recbtn.recording .core{width:30px;height:30px;border-radius:9px}.sheet-scrim{position:fixed;inset:0;background:#0000008c;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--panel-solid);border-top:1px solid var(--line);border-radius:22px 22px 0 0;max-height:78vh;overflow-y:auto;padding:10px 20px calc(env(safe-area-inset-bottom,0px) + 24px);animation:sheet-in var(--m-slow) var(--ease-out)}@keyframes sheet-in{0%{transform:translateY(60px);opacity:0}}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--faint);margin:4px auto 16px}.sheet h2{font-size:16px;letter-spacing:.1em;margin-bottom:4px}.sheet .hint{color:var(--dim);font-size:12.5px;margin-bottom:16px;line-height:1.5}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.recipe-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:#ffffff08;display:flex;flex-direction:column;gap:6px;transition:border-color var(--m-fast) var(--ease),background var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.recipe-card.sel{border-color:var(--accent);background:var(--accent-dim)}.recipe-card .rname{font-weight:700;font-size:13.5px}.recipe-card .rtag{color:var(--dim);font-size:11px;line-height:1.45}.recipe-card .rbadge{font-family:var(--mono);font-size:9px;color:var(--accent);letter-spacing:.1em}.perf-steps{margin:14px 0 4px;display:flex;flex-direction:column;gap:8px}.perf-steps .step{display:flex;gap:10px;font-size:13px;color:var(--text);line-height:1.45}.perf-steps .n{font-family:var(--mono);color:var(--accent);font-size:11px;padding-top:2px;flex-shrink:0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row label{font-size:13.5px}.row .sub{display:block;color:var(--dim);font-size:11px;margin-top:3px}.seg{display:flex;background:#ffffff0f;border-radius:10px;padding:3px}.seg button{padding:6px 12px;border-radius:8px;font-size:12px;color:var(--dim)}.seg button.sel{background:var(--accent);color:#0a0a0a;font-weight:700}.switch{width:44px;height:26px;border-radius:999px;background:#ffffff1f;position:relative;transition:background var(--m-fast) var(--ease)}.switch.on{background:var(--accent)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--m) var(--ease-spring)}.switch.on:after{transform:translate(18px);background:#0a0a0a}input[type=range]{accent-color:var(--accent);width:130px}input[type=text]{background:#ffffff0f;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px 12px;font-size:13px;width:100%}input[type=text]:focus{outline:none;border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#0a0a0a;font-weight:800;letter-spacing:.04em;border-radius:13px;padding:13px 20px;font-size:13.5px;width:100%}.btn.ghost-btn{background:#ffffff12;color:var(--text);border:1px solid var(--line)}.btn:disabled{opacity:.4}.btn-row{display:flex;gap:10px;margin-top:16px}.cmd-box{display:flex;gap:8px;margin-bottom:12px}.cmd-box input{flex:1}.cmd-box .btn{width:auto;padding:9px 16px}.rule-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:9px 12px;margin-bottom:7px;font-size:12px}.rule-chip .rc-when{font-family:var(--mono);font-size:10px;color:var(--accent)}.rule-chip button{color:var(--rec);font-size:15px}.cmd-error{color:var(--warn);font-size:12px;margin-bottom:10px}.select{background:#ffffff0f;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px 10px;font-size:12.5px}.fxpad{position:absolute;right:14px;bottom:150px;z-index:16;display:grid;grid-template-columns:repeat(3,54px);gap:8px}.fxpad button{height:44px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--text);backdrop-filter:blur(10px)}.fxpad button:active{border-color:var(--accent);color:var(--accent)}.gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(80% 60% at 50% 30%,#131318,var(--bg));text-align:center;padding:30px}.gate .logo{font-size:30px;font-weight:900;letter-spacing:.16em;margin-bottom:10px}.gate .logo em{color:var(--accent);font-style:normal}.gate p{color:var(--dim);font-size:14px;line-height:1.6;max-width:420px;margin-bottom:26px}.gate .btn{width:auto;padding:15px 34px}.gate .err{color:var(--rec);font-family:var(--mono);font-size:12px;margin-top:16px}.relocate-bar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 130px);z-index:25;display:flex;flex-direction:column;align-items:center;gap:12px}.ghost-slider{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-family:var(--mono);font-size:10px;color:var(--dim);backdrop-filter:blur(12px)}.review{position:fixed;inset:0;z-index:45;background:var(--bg);display:flex;flex-direction:column}.review header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px}.review header h2{font-size:15px;letter-spacing:.1em}.review .player{flex:1;min-height:0;display:grid;place-items:center;background:#000}.review video{max-width:100%;max-height:100%}.review .panel{max-height:42vh;overflow-y:auto;border-top:1px solid var(--line);padding:14px 18px calc(env(safe-area-inset-bottom,0px) + 16px)}.review .panel h3{font-size:11px;letter-spacing:.14em;color:var(--dim);margin-bottom:10px}.tl-entry{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;align-items:baseline}.tl-entry .tt{font-family:var(--mono);color:var(--accent);font-size:11px;flex-shrink:0;width:66px}.tl-entry .tev{color:var(--dim);font-family:var(--mono);font-size:10.5px;flex-shrink:0;width:120px}.tl-empty{color:var(--faint);font-size:12.5px;padding:10px 0}.metrics{position:absolute;top:calc(env(safe-area-inset-top,0px) + 64px);left:14px;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-family:var(--mono);font-size:10px;color:var(--dim);line-height:1.7;backdrop-filter:blur(12px);pointer-events:none}.metrics b{color:var(--text);font-weight:600}.metrics .good{color:var(--ok)}.metrics .bad{color:var(--rec)}@media (min-width: 900px){.sheet{left:50%;transform:translate(-50%);width:640px;border-radius:22px;bottom:20px;border:1px solid var(--line)}@keyframes sheet-in{0%{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%)}}}.iconbtn{transition:background var(--m-fast) var(--ease),border-color var(--m-fast) var(--ease),color var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.iconbtn:hover{background:#ffffff17}.iconbtn:active{transform:scale(.92)}.iconbtn.active{background:var(--accent-dim)}.ctl{transition:opacity var(--m-fast) var(--ease)}.ctl:disabled{opacity:.35}.ctl .box{transition:border-color var(--m-fast) var(--ease),box-shadow var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.ctl:not(:disabled):hover .box{border-color:var(--line-strong)}.ctl:not(:disabled):active .box{transform:scale(.93)}.ctl:focus-visible{border-radius:var(--shell-r)}.spin{animation:shell-spin .9s linear infinite}@keyframes shell-spin{to{transform:rotate(360deg)}}.recbtn{transition:transform var(--m-fast) var(--ease)}.recbtn:active{transform:scale(.95)}.recbtn:focus-visible{box-shadow:var(--focus-ring)}.gate-keys{margin-top:var(--d-6);display:flex;align-items:center;justify-content:center;gap:var(--d-3);flex-wrap:wrap;font:400 11.5px/1 var(--ui);color:var(--faint);letter-spacing:.02em}.sheet{box-shadow:var(--shell-shadow-pop)}.sheet h2{display:flex;align-items:center;gap:var(--d-4)}.sheet .hint code{font-family:var(--mono)}.recipe-card:hover{border-color:var(--line-strong);background:#ffffff0e}.recipe-card:active{transform:scale(.985)}.recipe-card.sel:hover{border-color:var(--accent)}.seg button{transition:background var(--m-fast) var(--ease),color var(--m-fast) var(--ease)}.seg button:hover:not(.sel){color:var(--text)}.btn{transition:filter var(--m-fast) var(--ease),transform var(--m-fast) var(--ease),background var(--m-fast) var(--ease)}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:scale(.98)}.btn.ghost-btn:hover:not(:disabled){background:#ffffff1c;filter:none}.btn svg{flex:none}.fxpad button{transition:border-color var(--m-fast) var(--ease),background var(--m-fast) var(--ease),transform var(--m-fast) var(--ease)}.fxpad button:hover{border-color:var(--line-strong)}.fxpad button:active{transform:scale(.94)}.tl-entry{min-height:var(--row-compact)}
