:root{--bg-app: #232323;--bg-sidebar: #161616;--bg-card: #171717;--bg-input: #282828;--bg-deep: #131313;--bg-canvas: #1c1c1c;--bg-hover: rgba(255, 255, 255, .03);--bg-surface: #252525;--shadow-raised: 6px 6px 16px rgba(0, 0, 0, .4), -3px -3px 10px rgba(255, 255, 255, .03);--shadow-raised-sm: 3px 3px 8px rgba(0, 0, 0, .35), -2px -2px 6px rgba(255, 255, 255, .025);--shadow-inset: inset 3px 3px 8px rgba(0, 0, 0, .35), inset -2px -2px 6px rgba(255, 255, 255, .025);--shadow-glow-green: 0 0 20px rgba(91, 233, 181, .15);--shadow-glow-blue: 0 0 20px rgba(124, 157, 255, .15);--shadow-glow-red: 0 0 20px rgba(255, 107, 107, .15);--border-subtle: rgba(255, 255, 255, .06);--border-faint: rgba(255, 255, 255, .04);--border-muted: rgba(255, 255, 255, .1);--text-primary: #eeeeee;--text-heading: #eaebf3;--text-muted: #c5c5c5;--text-dim: #a8a8a8;--text-ghost: #727272;--accent-blue: #7c9dff;--accent-purple: #b47aff;--accent-amber: #e4b04e;--accent-pink: #e87af9;--accent-green: #5be9b5;--accent-red: #ff6b6b;--color-info: #7a7d9e;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-base: 13px;--font-size-lg: 14px;--font-size-xl: 15px;--font-size-2xl: 18px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 100px;--transition-smooth: .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 340px;--bg: var(--bg-app);--panel: var(--bg-sidebar);--panel-2: var(--bg-surface);--border: var(--border-subtle);--text: var(--text-primary);--muted: var(--text-dim);--accent: var(--accent-blue);--accent-2: #9bb4ff;--green: var(--accent-green);--red: var(--accent-red)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}html,body{margin:0;overflow:hidden;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;color-scheme:dark;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,select,input,textarea{max-width:100%}button{user-select:none;touch-action:manipulation}select,input[type=range]{touch-action:manipulation}[hidden]{display:none!important}#app{display:grid;grid-template-columns:minmax(304px,var(--sidebar-width)) minmax(0,1fr);background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 240px),var(--bg-app)}#sidebar{min-width:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);scrollbar-color:var(--border-muted) transparent;scrollbar-width:thin}#sidebar::-webkit-scrollbar{width:10px}#sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border:3px solid var(--bg-sidebar);border-radius:var(--radius-pill)}#sidebar header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:56px;padding:var(--space-lg);background:#161616f5;border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(8px)}#sidebar h1{margin:0;color:var(--text-heading);font-size:var(--font-size-xl);font-weight:800;letter-spacing:.5px;line-height:1}#sidebar h1 span{color:var(--accent-blue)}#walkthrough-start{flex:0 0 auto;min-height:28px;padding:var(--space-xs) var(--space-md);color:var(--accent-blue);background:#7c9dff0f;border-color:#7c9dff33;border-radius:var(--radius-sm);font-size:var(--font-size-xs);letter-spacing:.35px;text-transform:uppercase}.panel{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;padding:var(--space-lg);border-bottom:1px solid var(--border-faint)}.panel-label{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-dim);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.45px;line-height:1.2;text-transform:uppercase}textarea,select,input[type=text],input[type=number],input[type=file]{width:100%;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset)}textarea,input[type=text],input[type=number]{padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--font-size-md)}textarea{min-height:180px;resize:vertical;line-height:1.45}select{min-height:32px;padding:var(--space-sm) 34px var(--space-sm) var(--space-md);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-md);cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 16px) 13px,calc(100% - 11px) 13px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}textarea::placeholder{color:var(--text-ghost)}textarea:focus,select:focus,input[type=text]:focus,input[type=number]:focus{outline:none;border-color:var(--accent-blue);box-shadow:var(--shadow-inset),0 0 0 2px #7c9dff26}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-width:0;min-height:32px;padding:var(--space-sm) var(--space-md);color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-raised-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),box-shadow var(--transition-smooth),color var(--transition-smooth),transform var(--transition-smooth)}button:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-muted);transform:translateY(-1px)}button:focus-visible,input[type=range]:focus-visible{outline:2px solid rgba(124,157,255,.65);outline-offset:2px}button.primary{color:var(--accent-blue);background:#7c9dff14;border-color:#7c9dff38}button.primary:hover{box-shadow:var(--shadow-raised-sm),var(--shadow-glow-blue)}button:disabled,select:disabled,input:disabled{cursor:default;opacity:.42}button:disabled:hover{color:var(--text-muted);background:transparent;border-color:var(--border-subtle);box-shadow:var(--shadow-raised-sm);transform:none}#dev-mode-toggle{min-height:28px;padding:var(--space-xs) var(--space-md);color:var(--text-dim);font-size:var(--font-size-xs);letter-spacing:.45px;text-transform:uppercase}.dev-toggle-panel{margin-top:auto;padding-top:var(--space-md)}.dev-toggle-panel #dev-mode-toggle{align-self:flex-end}#dev-mode-toggle.active{color:var(--accent-green);background:#5be9b514;border-color:#5be9b53d;box-shadow:var(--shadow-raised-sm),var(--shadow-glow-green)}#export-btn:not(:disabled),#song-generate:not(:disabled),#ultra-voiceover-generate:not(:disabled){color:var(--accent-green);background:#5be9b514;border-color:#5be9b538}#export-btn:not(:disabled):hover,#song-generate:not(:disabled):hover,#ultra-voiceover-generate:not(:disabled):hover{box-shadow:var(--shadow-raised-sm),var(--shadow-glow-green)}#export-cancel:not([hidden]),#hh-clear:not(:disabled){color:var(--accent-red);background:#ff6b6b0a;border-color:#ff6b6b33}#export-cancel:not([hidden]):hover,#hh-clear:not(:disabled):hover{box-shadow:var(--shadow-raised-sm),var(--shadow-glow-red)}.row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);min-width:0}.row>button{flex:1 1 112px}.row>select{flex:1 1 92px;min-width:0}.sample-hand-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:var(--space-sm);min-width:0}.sample-hand-row label{color:var(--text-dim);font-size:var(--font-size-sm);font-weight:700}.seg{display:flex;flex-wrap:wrap;gap:var(--space-sm);min-width:0}.seg button{flex:1 1 calc(50% - var(--space-sm));min-height:30px;max-width:calc(50% - var(--space-xs));overflow:hidden;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.seg button.active{color:var(--accent-blue);background:#7c9dff14;border-color:#7c9dff8c;box-shadow:var(--shadow-raised-sm),var(--shadow-glow-blue)}.hh-dropzone{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised-sm)}.hh-dropzone textarea{display:block;min-height:220px;border:0;border-radius:calc(var(--radius-lg) - 1px);background:var(--bg-deep)}.hh-dropzone:not(.has-text):not(:focus-within) textarea::placeholder{color:transparent}.hh-dropzone.drag-over{border-color:#7c9dff8c;box-shadow:var(--shadow-raised-sm),var(--shadow-glow-blue)}.hh-guide{position:absolute;inset:var(--space-md) var(--space-md) auto var(--space-md);z-index:1;display:flex;flex-direction:column;gap:2px;color:var(--text-ghost);pointer-events:none}.hh-guide strong{color:var(--text-heading);font-size:var(--font-size-base);font-weight:700}.hh-guide span{max-width:250px;color:var(--text-dim);font-size:var(--font-size-sm);line-height:1.45}.hh-dropzone.has-text .hh-guide,.hh-dropzone:focus-within .hh-guide{display:none}.caption-ai-controls,.hole-reveal-controls,.song-controls,.voiceover-controls{display:flex;flex-direction:column;gap:var(--space-sm)}.hole-reveal-panel{padding:0}.hole-reveal-disclosure{min-width:0}.hole-reveal-disclosure>summary{display:flex;align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-lg);cursor:pointer;list-style:none}.hole-reveal-disclosure>summary::-webkit-details-marker{display:none}.hole-reveal-disclosure>summary:before{content:"";flex:0 0 auto;width:7px;height:7px;border-right:1px solid var(--text-dim);border-bottom:1px solid var(--text-dim);transform:rotate(-45deg);transition:transform var(--transition-smooth)}.hole-reveal-disclosure[open]>summary:before{transform:rotate(45deg)}.hole-reveal-disclosure>summary .panel-label{flex:1 1 auto;min-width:0}.hole-reveal-disclosure>summary button{flex:0 0 auto;min-height:26px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--font-size-xs)}.hole-reveal-controls{padding:0 var(--space-lg) var(--space-lg)}.hole-reveal-controls textarea,.caption-ai-controls textarea{min-height:84px;font-family:var(--font-sans);font-size:var(--font-size-md)}.hole-reveal-controls textarea{min-height:92px}.hole-reveal-rules{display:flex;flex-direction:column;gap:var(--space-xs)}.hole-reveal-choice-group{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0}.hole-reveal-choice-group button{flex:1 1 auto;min-height:28px;padding:var(--space-xs) var(--space-sm);overflow:hidden;border-radius:var(--radius-sm);font-size:var(--font-size-xs);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.hole-reveal-choice-group button.is-active{color:var(--accent-blue);background:#7c9dff1a;border-color:#7c9dff8f;box-shadow:var(--shadow-raised-sm),var(--shadow-glow-blue)}.hole-reveal-empty{color:var(--text-ghost);font-size:var(--font-size-sm);line-height:1.4}.hole-reveal-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);padding:var(--space-sm);background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--radius-sm)}.hole-reveal-player{display:flex;justify-content:space-between;gap:var(--space-sm);min-width:0;color:var(--text-muted);font-size:var(--font-size-sm)}.hole-reveal-player strong{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.hole-reveal-cards{flex:0 0 auto;color:var(--accent-amber);font-family:var(--font-mono);font-size:var(--font-size-xs)}.hole-reveal-row-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.hole-reveal-trigger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hole-reveal-trigger button:last-child{grid-column:1 / -1}.hole-reveal-trigger-player{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.hole-reveal-trigger-player button{justify-content:flex-start}.voiceover-controls{margin-top:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--border-faint)}.voice-select-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:var(--space-sm);min-width:0}.voice-select-row label{color:var(--text-dim);font-size:var(--font-size-sm);font-weight:700}.volume-control{display:grid;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:var(--space-sm);min-width:0;color:var(--text-dim);font-size:var(--font-size-sm)}.volume-control input[type=range]{width:100%;height:18px;padding:0;accent-color:var(--accent-blue);background:transparent;border:0;box-shadow:none}.volume-control output{color:var(--accent-blue);font-family:var(--font-mono);font-size:var(--font-size-xs);text-align:right}.status{min-height:15px;color:var(--text-ghost);font-size:var(--font-size-sm);line-height:1.4;white-space:pre-wrap}.status.ok{color:var(--accent-green)}.status.error{color:var(--accent-red)}progress{height:8px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-deep);box-shadow:var(--shadow-inset)}progress::-webkit-progress-bar{background:var(--bg-deep)}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:var(--radius-pill)}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:var(--radius-pill)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#stage{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--bg-app)}#stage-frame{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;margin:var(--space-2xl) var(--space-2xl) 0;padding:var(--space-xl);overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.035),transparent 42%),var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset)}#stage-canvas{width:auto;height:auto;max-width:100%;max-height:100%;background:#050505;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);box-shadow:0 16px 46px #0000009e}.stage-empty{position:absolute;inset:var(--space-xl);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-xs);color:var(--text-ghost);text-align:center;background:#131313bd;border:1px dashed rgba(255,255,255,.11);border-radius:var(--radius-lg);pointer-events:none}.stage-empty strong{color:var(--text-muted);font-size:var(--font-size-base);font-weight:700}.stage-empty span{max-width:300px;color:var(--text-ghost);font-size:var(--font-size-sm);line-height:1.45}body.has-hand .stage-empty{display:none}.timeline-panel{flex:0 0 auto;margin:var(--space-md) var(--space-2xl) 0;padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised-sm)}.timeline-panel.empty{opacity:.72}.timeline-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);color:var(--text-dim);font-size:var(--font-size-sm);line-height:1.2}#timeline-current{min-width:0;overflow:hidden;color:var(--text-heading);font-weight:600;text-overflow:ellipsis;white-space:nowrap}#timeline-count{flex:0 0 auto;color:var(--text-ghost);font-family:var(--font-mono);font-size:var(--font-size-xs)}.timeline-markers{position:relative;height:26px;overflow:hidden;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset)}.timeline-marker{position:absolute;top:5px;width:8px;height:16px;min-width:0;min-height:0;padding:0;border-color:#ffffff24;border-radius:var(--radius-pill);background:var(--color-info);box-shadow:none;transform:translate(-50%)}.timeline-marker:hover{transform:translate(-50%) translateY(-1px)}.timeline-marker.setup{background:#777b8f}.timeline-marker.action{background:var(--accent-blue)}.timeline-marker.fold{background:var(--text-ghost)}.timeline-marker.all-in{width:11px;background:var(--accent-amber)}.timeline-marker.street{width:12px;background:var(--accent-purple)}.timeline-marker.showdown{width:12px;background:var(--accent-pink)}.timeline-marker.award{width:12px;background:var(--accent-green)}.timeline-marker.past{opacity:.62}.timeline-marker.active{top:3px;height:20px;opacity:1;z-index:2;box-shadow:0 0 0 2px #eeeeeebf}#controls{display:flex;align-items:center;gap:var(--space-sm);flex:0 0 auto;margin:var(--space-md) var(--space-2xl) var(--space-2xl);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised-sm)}#controls button{flex:0 0 36px;width:36px;min-width:36px;height:32px;min-height:32px;padding:0;color:var(--text-muted);font-size:var(--font-size-lg)}#controls button.primary{color:var(--accent-blue)}#scrub{flex:1;min-width:120px;height:18px;padding:0;cursor:pointer;accent-color:var(--accent-blue);background:transparent;border:0;box-shadow:none}#scrub::-webkit-slider-runnable-track{height:6px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-inset)}#scrub::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;background:var(--accent-blue);border:2px solid #101010;border-radius:50%;box-shadow:var(--shadow-glow-blue);appearance:none}#scrub::-moz-range-track{height:6px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-inset)}#scrub::-moz-range-thumb{width:14px;height:14px;background:var(--accent-blue);border:2px solid #101010;border-radius:50%;box-shadow:var(--shadow-glow-blue)}#time-readout{flex:0 0 120px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--font-size-md);text-align:right;white-space:nowrap}.tun-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.tun-format-pill{display:inline-flex;align-items:center;min-height:22px;padding:3px 10px;color:var(--accent-blue);background:#7c9dff14;border:1px solid rgba(124,157,255,.28);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.45px}.tun-header-actions{display:flex;gap:var(--space-xs)}.tun-header-actions button,.tun-seat-scope button{min-height:26px;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.tun-seat-scope{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm);color:var(--text-dim);font-size:var(--font-size-sm)}.tun-seat-scope select{width:auto;min-width:92px;min-height:26px;padding-top:var(--space-xs);padding-bottom:var(--space-xs);font-size:var(--font-size-xs)}.tun-seat-mirror{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-muted);white-space:nowrap}.tun-seat-mirror input,.tun-field-bool input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent-blue)}.tun-seat-scope small{grid-column:1 / -1;color:var(--accent-blue);font-family:var(--font-mono);font-size:var(--font-size-xs);text-align:right}.tun-groups{display:flex;flex-direction:column;gap:var(--space-sm)}.tun-group{overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-raised-sm)}.tun-group>summary{padding:var(--space-sm) var(--space-md);color:var(--text-dim);cursor:pointer;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.45px;text-transform:uppercase;user-select:none}.tun-group[open]>summary{color:var(--text-heading);border-bottom:1px solid var(--border-faint)}.tun-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-sm);padding:var(--space-md)}.tun-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;color:var(--text-dim);font-size:var(--font-size-xs)}.tun-field input{width:100%;min-height:28px;padding:var(--space-xs) var(--space-sm);color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);font-family:var(--font-mono);font-size:var(--font-size-sm)}.tun-field input:focus{outline:none;border-color:var(--accent-blue);box-shadow:var(--shadow-inset),0 0 0 2px #7c9dff24}.tun-field-slider{gap:3px}.tun-field-slider input[type=range],.tun-seat-slider input[type=range]{height:18px;padding:0;background:transparent;border:0;box-shadow:none;accent-color:var(--accent-blue)}.tun-slider-value{align-self:flex-end;color:var(--accent-blue);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1}.tun-field-bool{grid-column:1 / -1;flex-direction:row;align-items:center;gap:var(--space-sm)}.tun-field-bool span{order:2;color:var(--text-muted)}.tun-seat-grid{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.tun-seat-slider{display:grid;grid-template-columns:92px minmax(0,1fr) 38px;gap:var(--space-sm);align-items:center;color:var(--text-dim);font-size:var(--font-size-xs)}@media (max-width: 980px){html,body{height:auto;min-height:100%;overflow:auto}#app{display:flex;flex-direction:column;min-height:100dvh;height:auto;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}#sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border-subtle);overflow:visible}#sidebar header{position:static;padding-top:max(var(--space-lg),env(safe-area-inset-top))}#stage{min-height:560px;overflow:visible}#stage-frame{flex:0 0 auto;height:min(62vh,500px);height:min(62dvh,500px);min-height:280px;margin:var(--space-lg) var(--space-lg) 0;padding:var(--space-md)}body[data-format=vertical] #stage-frame{height:min(76dvh,720px);min-height:420px}.timeline-panel,#controls{margin-right:var(--space-lg);margin-left:var(--space-lg)}#controls{position:sticky;bottom:max(var(--space-sm),env(safe-area-inset-bottom));z-index:5;flex-wrap:wrap}#scrub{flex:1 1 180px}#time-readout{flex:1 0 100%;text-align:right}.panel>.row,.panel>.seg,.panel>select,.hh-dropzone{width:100%}}@media (max-width: 700px){textarea,select,input[type=text],input[type=number],input[type=file]{font-size:16px}#sidebar header,.panel{padding-right:var(--space-md);padding-left:var(--space-md)}.row>button,.row>select{flex-basis:calc(50% - var(--space-xs))}.sample-hand-row{grid-template-columns:minmax(0,1fr)}.row>button,.seg button,select{min-height:44px}#sidebar button{min-height:44px;min-width:44px}.dev-toggle-panel{margin-top:0}.row>button{line-height:1.2;overflow-wrap:anywhere;white-space:normal}.seg button{flex:1 1 calc(50% - var(--space-xs));max-width:calc(50% - var(--space-xs))}.hh-dropzone textarea{min-height:160px}#stage{min-height:500px}#stage-frame{height:min(58vh,460px);height:min(58dvh,460px);min-height:250px;margin:var(--space-md) var(--space-md) 0}body[data-format=vertical] #stage-frame{height:min(74dvh,660px);min-height:380px}.timeline-panel,#controls{margin-right:var(--space-md);margin-left:var(--space-md)}#controls button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px}.tun-seat-scope{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tun-seat-scope small{text-align:left}}@media (max-width: 480px){#sidebar header,.panel{padding-right:var(--space-sm);padding-left:var(--space-sm)}#stage{min-height:420px}#stage-frame{height:min(50dvh,420px);min-height:220px;margin:var(--space-sm) var(--space-sm) 0;padding:var(--space-sm)}body[data-format=vertical] #stage-frame{height:min(72dvh,620px);min-height:360px}.timeline-panel,#controls{margin-right:var(--space-sm);margin-left:var(--space-sm)}.timeline-panel,#controls{padding:var(--space-sm)}.timeline-meta{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}#timeline-current{white-space:normal}#controls{display:grid;grid-template-columns:repeat(3,44px) minmax(0,1fr);align-items:center}#controls button{flex:none}#scrub{grid-column:4;min-width:0;width:100%}#time-readout{grid-column:1 / -1;text-align:center}}@media (pointer: coarse){#scrub,.volume-control input[type=range],.tun-field-slider input[type=range],.tun-seat-slider input[type=range]{height:32px}#scrub::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px}#scrub::-moz-range-thumb{width:22px;height:22px}}.caption-mode-seg{flex-wrap:nowrap}.caption-mode-seg button{flex:1 1 0;max-width:none}.walkthrough-layer{position:fixed;inset:0;z-index:1000;pointer-events:none}.walkthrough-scrim{position:absolute;inset:0;width:100%;height:100%}.walkthrough-scrim path{fill:#0000009e}.walkthrough-highlight{position:fixed;border:2px solid rgba(124,157,255,.95);border-radius:var(--radius-sm);background:#ffffff09;box-shadow:inset 0 0 0 1px #ffffff24,0 0 28px #7c9dff5c;pointer-events:none}.walkthrough-highlight.is-pulse{animation:walkthrough-pulse 1.3s ease-in-out infinite}.walkthrough-card{position:fixed;right:var(--space-xl);bottom:var(--space-xl);width:min(360px,calc(100vw - var(--space-xl) * 2));padding:var(--space-lg);color:var(--text-primary);background:#161616f5;border:1px solid rgba(124,157,255,.34);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised),var(--shadow-glow-blue);pointer-events:auto}.walkthrough-card-header{display:flex;justify-content:space-between;gap:var(--space-md);color:var(--text-ghost);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.45px}.walkthrough-card strong{display:block;margin-top:var(--space-xs);color:var(--text-heading);font-size:var(--font-size-lg);line-height:1.35}.walkthrough-card audio{display:block;width:100%;margin-top:var(--space-md)}.walkthrough-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.walkthrough-actions button{flex:1 1 0}@keyframes walkthrough-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@media (max-width: 700px){.caption-mode-seg button{flex:1 1 0;max-width:none}.walkthrough-card{right:var(--space-md);bottom:var(--space-md);left:var(--space-md);width:auto}#sidebar .timeline-marker,#stage .timeline-marker,.timeline-marker{top:5px!important;width:8px!important;height:16px!important;min-width:0!important;min-height:0!important;padding:0!important;flex:0 0 auto!important}#sidebar .timeline-marker.all-in,#stage .timeline-marker.all-in,.timeline-marker.all-in{width:11px!important}#sidebar .timeline-marker.street,#sidebar .timeline-marker.showdown,#sidebar .timeline-marker.award,#stage .timeline-marker.street,#stage .timeline-marker.showdown,#stage .timeline-marker.award,.timeline-marker.street,.timeline-marker.showdown,.timeline-marker.award{width:12px!important}#sidebar .timeline-marker.active,#stage .timeline-marker.active,.timeline-marker.active{top:3px!important;height:20px!important}}
