:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--text:var(--lightningcss-light,#3a4048)var(--lightningcss-dark,#c9cdd3);--text-h:var(--lightningcss-light,#22262b)var(--lightningcss-dark,#f1f2f4);--muted:var(--lightningcss-light,#50565f)var(--lightningcss-dark,#aeb3bb);--bg:var(--lightningcss-light,#e4e6e9)var(--lightningcss-dark,#17191c);--panel:var(--lightningcss-light,#fff)var(--lightningcss-dark,#22262b);--surface:var(--lightningcss-light,#d6d9dd)var(--lightningcss-dark,#30353c);--border:var(--lightningcss-light,#b9bec5)var(--lightningcss-dark,#474d56);--border-strong:var(--lightningcss-light,#7d848e)var(--lightningcss-dark,#7a818b);--accent:var(--lightningcss-light,#22262b)var(--lightningcss-dark,#e4e6e9);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#22262b);--danger:var(--lightningcss-light,#a3260f)var(--lightningcss-dark,#ff8a73);--counter:var(--lightningcss-light,#8fa0ee)var(--lightningcss-dark,#9daef5);--on-counter:#12205e;--counter-tint:var(--lightningcss-light,#e6eafb)var(--lightningcss-dark,#262c4a);--parallel:var(--lightningcss-light,#2f4fd8)var(--lightningcss-dark,#4a66e3);--on-parallel:#fff;--parallel-tint:var(--lightningcss-light,#dde3fa)var(--lightningcss-dark,#1e2650);--offset-180:var(--lightningcss-light,#edb98f)var(--lightningcss-dark,#d9a27a);--on-offset-180:var(--lightningcss-light,#4a2208)var(--lightningcss-dark,#3a1a05);--offset-0:var(--lightningcss-light,#d2691e)var(--lightningcss-dark,#e07a35);--on-offset-0:#1a1d21;--rest:var(--lightningcss-light,#8e8b99)var(--lightningcss-dark,#6e7080);--rest-ink:var(--lightningcss-light,#55525f)var(--lightningcss-dark,#bcbac6);--rest-hatch:repeating-linear-gradient(135deg, var(--lightningcss-light,#c2bfcc)var(--lightningcss-dark,#444655) 0 3px, var(--lightningcss-light,#f5f4f8)var(--lightningcss-dark,#22242c) 3px 9px);--disc-left:var(--lightningcss-light,#2f4fd8)var(--lightningcss-dark,#8fa3f3);--disc-left-fill:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1e22);--disc-right:var(--lightningcss-light,#d2691e)var(--lightningcss-dark,#e8894a);--disc-right-fill:var(--lightningcss-light,#d6d9dd)var(--lightningcss-dark,#3a4048);--highlight:var(--lightningcss-light,#2f4fd8)var(--lightningcss-dark,#8fa3f3);--sans:"Atkinson Hyperlegible Next", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--text-h)}button,input,select{font:inherit;color:inherit}.app-header{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.6rem 2rem;display:flex}.app-brand{align-items:center;gap:.6rem;display:flex}.app-brand svg{width:34px;height:20px}.app-header h1{margin:0;font-size:1.05rem;font-weight:750}.app-header-subtitle{color:var(--muted);font-size:.9rem}.app-header-actions{flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;display:flex}.theme-switch-track{background:var(--surface);width:2.75rem;height:1.6rem;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:999px;align-items:center;padding:2px;display:inline-flex}.theme-switch-thumb{background:var(--panel);border-radius:50%;place-items:center;width:calc(1.6rem - 4px);height:calc(1.6rem - 4px);transition:transform .15s;display:grid;box-shadow:0 1px 2px #00000040}.theme-switch[aria-checked=true] .theme-switch-track{background:var(--accent)}.theme-switch[aria-checked=true] .theme-switch-thumb{transform:translate(1.15rem)}.theme-switch-thumb svg{fill:none;width:14px;height:14px;stroke:var(--text-h);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:reduce){.theme-switch-thumb{transition:none}}.app-button{border:1px solid var(--border-strong);background:var(--panel);min-height:44px;color:var(--text-h);white-space:nowrap;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.1rem;font-size:.95rem;font-weight:650;display:inline-flex}.app-button:hover:not(:disabled){border-color:var(--accent)}.app-button:disabled{opacity:.45;cursor:not-allowed}.app-button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.app-button--quiet{border-color:var(--border-strong);background:var(--panel)}.app-button--quiet:hover:not(:disabled){background:var(--surface)}.app-button svg{width:18px;height:18px}.app-main{max-width:1480px;margin:0 auto;padding:1.25rem 2rem 3rem}@media (width<=1100px){.app-header{padding-inline:1rem}.app-main{padding:.75rem 1rem 1.5rem}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.device-sketch{max-width:100%;height:auto;font-family:var(--sans);display:block;overflow:visible}.device-sketch-plate{fill:#3b3f46;stroke:#24272c;stroke-width:2px}.device-sketch-disc{fill:#f4f5f7;stroke-width:3px}.device-sketch-disc--left{stroke:#2f4fd8}.device-sketch-disc--right{stroke:#d2691e}.device-sketch-hub{fill:#c3c8cf}.device-sketch-hole{fill:#8d939b}.device-sketch-grip{fill:#25282d;stroke-width:2.5px}.device-sketch-grip--left{stroke:#2f4fd8}.device-sketch-grip--right{stroke:#d2691e}.device-sketch-knob circle{fill:#26292e}.device-sketch-knob .device-sketch-knob-cap{fill:#6b717a}.device-sketch-pointer{stroke:#fff;stroke-width:4px;stroke-linecap:round}.device-sketch-label{fill:#22262b;font-size:12px;font-weight:700}.device-sketch-label--outside{fill:var(--text-h);font-size:14px}.device-sketch-ring{fill:none;stroke:var(--highlight);stroke-width:3.5px}.device-sketch-marker circle{fill:var(--highlight);stroke:#fff;stroke-width:2px}.device-sketch-marker text{fill:#fff;font-size:13px;font-weight:800}.device-sketch{--ds-period:3s;--ds-ease:cubic-bezier(.45, 0, .2, 1)}.device-sketch-turn,.device-sketch-notch{transform-box:fill-box;transform-origin:50%}.device-sketch-turn{animation:device-sketch-turn var(--ds-period) var(--ds-ease) infinite}.device-sketch-notch{animation:device-sketch-notch calc(var(--ds-period) / 2) var(--ds-ease) infinite}.device-sketch-slide{animation:device-sketch-slide var(--ds-period) var(--ds-ease) infinite}@keyframes device-sketch-turn{0%{opacity:0;transform:rotate(0)}8%,22%{opacity:1;transform:rotate(0)}62%,88%{transform:rotate(var(--ds-turn));opacity:1}to{transform:rotate(var(--ds-turn));opacity:0}}@keyframes device-sketch-notch{0%,25%{transform:rotate(0)}85%,to{transform:rotate(var(--ds-turn))}}@keyframes device-sketch-slide{0%{opacity:0;transform:translateY(0)}8%,22%{opacity:1;transform:translateY(0)}62%,88%{transform:translateY(var(--ds-dy));opacity:1}to{transform:translateY(var(--ds-dy));opacity:0}}.device-sketch-ghost{fill:none;stroke:var(--highlight);stroke-width:2.5px;stroke-dasharray:4 3.5}.device-sketch-ghost--pointer{stroke-width:3px;stroke-dasharray:3 3;stroke-linecap:round}.device-sketch-arrow path{fill:none;stroke:var(--highlight);stroke-width:3.5px;stroke-linecap:round}.device-sketch-arrow polygon{fill:var(--highlight)}@media (prefers-reduced-motion:reduce){.device-sketch-turn,.device-sketch-notch,.device-sketch-slide{animation:none}}.pattern-symbol{display:block;overflow:visible}.pattern-ring-arc{fill:none;stroke-width:5px;stroke-linecap:round}.pattern-ring-head{stroke-width:1.5px;stroke-linejoin:round}.pattern-ring-grip{stroke:var(--panel);stroke-width:2.5px}.pattern-ring--left .pattern-ring-arc,.pattern-ring--left .pattern-ring-head{stroke:var(--disc-left)}.pattern-ring--left .pattern-ring-head,.pattern-ring--left .pattern-ring-grip{fill:var(--disc-left)}.pattern-ring--right .pattern-ring-arc,.pattern-ring--right .pattern-ring-head{stroke:var(--disc-right)}.pattern-ring--right .pattern-ring-head,.pattern-ring--right .pattern-ring-grip{fill:var(--disc-right)}.pattern-badge{font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.pattern-badge--counter{background:var(--counter);color:var(--on-counter)}.pattern-badge--parallel{background:var(--parallel);color:var(--on-parallel)}.pattern-badge--sm{border-radius:6px;width:1.5rem;height:1.5rem;font-size:.85rem}.pattern-badge--md{border-radius:8px;width:2.1rem;height:2.1rem;font-size:1.15rem}.pattern-badge--lg{border-radius:11px;width:2.75rem;height:2.75rem;font-size:1.5rem}.pattern-badge--xl{border-radius:16px;width:4.5rem;height:4.5rem;font-size:2.6rem}.rest-symbol circle{fill:none;stroke:var(--rest-ink);stroke-width:3px}.rest-symbol rect{fill:var(--rest-ink)}.trail-track{fill:none;stroke:var(--border);stroke-width:2px}.trail-piece{fill:none;stroke-linecap:butt}.trail-knob{stroke:var(--panel);stroke-width:2.5px}.trail--left .trail-piece{stroke:var(--disc-left)}.trail--left .trail-knob{fill:var(--disc-left)}.trail--right .trail-piece{stroke:var(--disc-right)}.trail--right .trail-knob{fill:var(--disc-right)}.trail-grip{transform-box:view-box;animation:trail-spin var(--trail-period,3s) linear infinite;animation-play-state:var(--trail-play-state,paused)}.trail-grip--ccw{animation-direction:reverse}@keyframes trail-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.trail-grip{animation:none}}.pattern-package{--package-h:40px;align-items:center;gap:calc(var(--package-h) * .1);flex:none;line-height:1;display:inline-flex}.pattern-package--stack{flex-direction:column;align-items:flex-start}.pattern-package-number{width:calc(var(--package-h) * .47);height:calc(var(--package-h) * .47);border-radius:calc(var(--package-h) * .11);font-size:calc(var(--package-h) * .29);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:800;display:inline-grid}.pattern-package-plate{width:calc(var(--package-h) * 2);height:var(--package-h);flex:none;display:block;overflow:visible}.pattern-package--counter .pattern-package-number{background:var(--counter);color:var(--on-counter)}.pattern-package--parallel .pattern-package-number{background:var(--parallel);color:var(--on-parallel)}.pattern-package-base{stroke-width:2px}.pattern-package--counter .pattern-package-base{fill:var(--counter-tint);stroke:var(--counter)}.pattern-package--parallel .pattern-package-base{fill:var(--parallel);stroke:var(--parallel)}.pattern-package-face{fill:#fff;stroke-width:2.5px}.pattern-package-hub{fill:#c3c8cf}.pattern-package-trail{fill:none;stroke-width:3.2px;stroke-linecap:round}.pattern-package-grip{stroke:#fff;stroke-width:1.6px}.pattern-package-disc--left{--package-disc:#2f4fd8}.pattern-package-disc--right{--package-disc:#d2691e}.pattern-package-face,.pattern-package-trail{stroke:var(--package-disc)}.pattern-package-head,.pattern-package-grip{fill:var(--package-disc)}.pattern-package-orbit{transform-box:view-box}.pattern-package--moving .pattern-package-orbit{animation:pattern-package-orbit var(--orbit-period,3s) linear infinite}.pattern-package--moving [data-sense="-1"] .pattern-package-orbit{animation-direction:reverse}.pattern-package--paused .pattern-package-orbit{animation-play-state:paused}@keyframes pattern-package-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pattern-package--moving .pattern-package-orbit{animation:none}}.stepper{flex-direction:column;gap:.25rem;display:flex}.stepper-label{color:var(--muted);font-size:.8rem;font-weight:650}.stepper-control{border:1px solid var(--border-strong);background:var(--panel);border-radius:12px;align-self:flex-start;align-items:center;display:inline-flex;overflow:hidden}.stepper-control button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.stepper-control button:hover:not(:disabled){background:var(--surface)}.stepper-control button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.stepper-control button:disabled{opacity:.35;cursor:default}.stepper-control svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.stepper-value{border-inline:1px solid var(--border-strong);min-width:5.5rem;color:var(--text-h);font-variant-numeric:tabular-nums;text-align:center;font-size:1.05rem;font-weight:750;line-height:44px}.stepper-value small{color:var(--muted);margin-left:.2rem;font-size:.8rem;font-weight:600}.ip{flex-direction:column;gap:14px;display:flex}.ip-prompt{min-height:1.4em;font-weight:700}.ip-lane{align-items:stretch;gap:4px;min-height:112px;margin:0;padding:4px;list-style:none;display:flex}.ip-lane-empty{border:2px dashed var(--border-strong);color:var(--muted);border-radius:12px;flex:1;place-items:center;display:grid}.ip-lane-item{display:flex}.ip-lane-item--block{flex:1 1 0;min-width:0;max-width:150px;animation:.24s cubic-bezier(.16,1,.3,1) ip-appear}.ip-lane-item--pause{transform-origin:50%;flex:0 0 42px;animation:.36s cubic-bezier(.16,1,.3,1) ip-open}.ip-block{border:1.5px solid var(--border-strong);background:var(--panel);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:0 0 8px;display:flex;overflow:hidden}.ip-block:before{content:"";background:var(--counter);align-self:stretch;height:6px;margin-bottom:2px}.ip-block--parallel:before{background:var(--parallel)}.ip-block>*{margin-inline:8px}.ip-block-time{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800;line-height:1}.ip-block-stats{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:650}.ip-pause{border:1.5px solid var(--border-strong);background:var(--rest-hatch);width:100%;color:var(--text-h);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:10px;justify-content:center;align-items:flex-end;padding:0 0 8px;font-size:.8rem;font-weight:800;display:flex}.ip-block[aria-pressed=true],.ip-pause[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--panel), 0 0 0 4px var(--accent)}.ip-editor{flex-wrap:wrap;gap:10px;min-height:70px;display:flex}.ip-stepper .stepper-value{min-width:4.25rem}.ip-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ip-pattern{border:1.5px solid var(--border-strong);background:var(--panel);cursor:pointer;border-radius:12px;place-items:center;min-height:60px;padding:6px;display:grid}.ip-pattern:hover:not(:disabled){background:var(--bg)}.ip-pattern:active:not(:disabled){background:var(--surface)}.ip-pattern:disabled{opacity:.45;cursor:default}.ip-tasks{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-weight:650;list-style:none;display:flex}.ip-task{align-items:center;gap:7px;display:flex}.ip-task[data-state=current]{color:var(--text-h);font-weight:800}.ip-task[data-state=done]{color:var(--text-h)}.ip-task-dot{border:2px solid var(--border-strong);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.ip-task[data-state=current] .ip-task-dot{border-color:var(--highlight)}.ip-task[data-state=done] .ip-task-dot{border-color:var(--highlight);background:var(--highlight);animation:.3s cubic-bezier(.16,1,.3,1) ip-check}.ip-task-dot svg{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.ip-hint{outline:3px solid var(--highlight);outline-offset:2px;animation:1.6s ease-in-out infinite ip-hint}.ip-stepper.ip-hint{outline:none;animation:none}.ip-stepper.ip-hint .stepper-control button:last-child{outline:3px solid var(--highlight);outline-offset:-3px}@keyframes ip-hint{50%{outline-color:color-mix(in srgb, var(--highlight) 25%, transparent);outline-offset:5px}}@keyframes ip-appear{0%{opacity:0;transform:scale(.88)}}@keyframes ip-open{0%{opacity:0;transform:scaleX(.2)}}@keyframes ip-check{0%{transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.ip-lane-item--block,.ip-lane-item--pause,.ip-task[data-state=done] .ip-task-dot,.ip-hint{animation:none}}.intro{--intro-scrim:var(--lightningcss-light,color-mix(in srgb, var(--accent) 62%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--bg) 82%, transparent));--intro-shadow:var(--lightningcss-light,color-mix(in srgb, var(--accent) 28%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--bg) 85%, transparent));z-index:1000;overscroll-behavior:contain;background:var(--intro-scrim);color:var(--text);grid-template-columns:minmax(0,1fr);place-items:center;padding:24px 16px;animation:.2s ease-out intro-fade;display:grid;position:fixed;inset:0;overflow-y:auto}.intro:focus{outline:none}.intro h2,.intro p,.intro dl,.intro dd{margin:0}.intro-card{border:1px solid var(--border);background:var(--panel);width:min(600px,100%);min-height:506px;box-shadow:0 24px 48px -16px var(--intro-shadow);border-radius:20px;flex-direction:column;gap:8px;padding:12px 32px 24px;animation:.24s ease-out intro-rise;display:flex}@media (width<=480px){.intro-card{padding-inline:20px}}@media (height<=580px){.intro-card{min-height:0}}.intro-top{justify-content:flex-end;margin-right:-16px;display:flex}.intro-skip{min-width:48px;min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:.95rem;font-weight:650}.intro-skip:hover{background:var(--surface);color:var(--text-h)}.intro-screen{flex-direction:column;flex:1;gap:22px;animation:.22s ease-out intro-slide;display:flex}.intro-title{color:var(--text-h);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.625rem,1.2rem + 1.2vw,2.125rem);font-weight:800;line-height:1.15}.intro-title:focus{outline:none}.intro-line{color:var(--text-h);font-size:1.125rem;line-height:1.4}.intro-signs{grid-template-columns:minmax(0,250px) minmax(0,1fr);align-items:center;gap:24px;display:grid}.intro-signs-animation{border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #1720331a}.intro-signs-side{gap:18px;display:grid}.intro-packages{flex-wrap:wrap;gap:10px;display:flex}.intro-package{border:2px solid var(--border);background:var(--panel);min-height:48px;color:inherit;cursor:pointer;border-radius:12px;padding:6px 10px;display:inline-flex}.intro-package:hover{border-color:var(--border-strong)}.intro-package[aria-pressed=true]{border-color:var(--accent);background:var(--surface)}@media (width<=520px){.intro-signs{grid-template-columns:minmax(0,1fr);justify-items:center}.intro-signs-animation{width:min(100%,280px)}}.intro-legend{color:var(--text-h);gap:6px;font-size:1.125rem;display:grid}.intro-legend div{gap:.4em;display:flex}.intro-legend dt{font-weight:750}.intro-setup{flex-direction:column;align-items:center;gap:12px;margin:0;display:flex}.intro-setup-step{min-height:2.5em;color:var(--text-h);align-items:center;gap:10px;font-size:1.125rem;font-weight:700;display:flex}.intro-setup-number{background:var(--highlight);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.intro-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.intro-dots{margin:0 0 0 -13px;padding:0;list-style:none;display:flex}.intro-dot{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:48px;height:48px;padding:0;display:grid}.intro-dot:before{content:"";background:var(--border-strong);border-radius:4px;width:8px;height:8px;transition:width .2s ease-out,background-color .2s ease-out}.intro-dot:hover:before{background:var(--muted)}.intro-dot[aria-current=step]:before{background:var(--accent);width:22px}.intro-next{border-radius:12px;min-height:52px;padding:0 26px;font-size:1.0625rem;font-weight:750}@keyframes intro-fade{0%{opacity:0}}@keyframes intro-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes intro-slide{0%{opacity:0;transform:translate(16px)}}@media (prefers-reduced-motion:reduce){.intro,.intro-card,.intro-screen{animation:none}.intro-dot:before{transition:none}}.disc-pair{display:block;overflow:visible}.disc-face{stroke-width:2.5px}.disc--left .disc-face{fill:var(--disc-left-fill);stroke:var(--disc-left)}.disc--right .disc-face{fill:var(--disc-right-fill);stroke:var(--disc-right)}.disc-arrow{fill:none;stroke-width:2px;stroke-linecap:round}.disc--left .disc-arrow,.disc--left .disc-crank{stroke:var(--disc-left)}.disc--right .disc-arrow,.disc--right .disc-crank{stroke:var(--disc-right)}.disc--left .disc-arrowhead,.disc--left .disc-knob{fill:var(--disc-left)}.disc--right .disc-arrowhead,.disc--right .disc-knob{fill:var(--disc-right)}.disc-crank{stroke-width:1.5px;stroke-linecap:round;opacity:.45}.disc-grip{transform-box:view-box;animation:disc-spin var(--disc-period,3s) linear infinite;animation-play-state:var(--disc-play-state,paused)}.disc-grip--ccw{animation-direction:reverse}@keyframes disc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.disc-grip{animation:none}}.number-field{color:var(--muted);align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.number-field input{border:1px solid var(--border);background:var(--panel);width:4.25rem;color:var(--text-h);text-align:right;border-radius:6px;padding:.2rem .35rem}.number-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cp{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);align-items:start;gap:1.25rem;display:grid}.cp-panel{border:1px solid var(--border);background:var(--panel);border-radius:16px}.cp h2,.cp h3{letter-spacing:-.01em;margin:0;font-weight:750;line-height:1.2}.cp-stroke-icon{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.cp-composer{flex-direction:column;gap:1.1rem;padding:1.25rem;display:flex}.cp-composer-head h2{font-size:1.5rem}.cp-composer-head p{color:var(--muted);margin:.25rem 0 0;font-size:.95rem}.cp-composer-body{flex-wrap:wrap;gap:1.5rem;display:flex}.cp-groups{flex-direction:column;flex:300px;gap:.9rem;min-width:0;display:flex;container-type:inline-size}.cp-groups-note{background:var(--surface);color:var(--text);border-radius:12px;margin:0;padding:.75rem .9rem;font-size:.9rem}.cp-group{border:0;min-width:0;margin:0;padding:0}.cp-group legend{color:var(--text-h);margin-bottom:.4rem;padding:0;font-size:1rem;font-weight:750}.cp-options{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}@container (width>=560px){.cp-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.cp-option{border:1px solid var(--border-strong);background:var(--panel);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;width:100%;min-height:64px;padding:.45rem .75rem;display:flex}.cp-option:hover:not(:disabled){border-color:var(--accent)}.cp-option[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--bg)}.cp-option:disabled{opacity:.5;cursor:not-allowed}.cp-option-dot{border:2px solid var(--muted);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.cp-option[aria-pressed=true] .cp-option-dot{border-color:var(--accent)}.cp-option[aria-pressed=true] .cp-option-dot:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px}.cp-option-text{flex:1;min-width:0}.cp-option-text strong{color:var(--text-h);font-size:.98rem;line-height:1.25;display:block}.cp-option-text small{color:var(--muted);margin-top:.05rem;font-size:.82rem;line-height:1.3;display:block}.cp-option-symbol{flex:none;width:60px}.cp-preview{flex-direction:column;flex:300px;gap:.75rem;min-width:0;display:flex}.cp-stage{background:var(--counter-tint);border-radius:14px;place-items:center;min-height:240px;padding:.75rem;display:grid}.cp-stage--parallel{background:var(--parallel-tint)}.cp-stage--rest{background:var(--rest-hatch)}.cp-animation{width:min(100%,300px)}.cp-stage-rest{width:min(70%,220px)}.cp-stage-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.cp-identity{align-items:center;gap:1rem;display:flex}.cp-identity h3{font-size:1.5rem}.cp-identity p{margin:.15rem 0 0}.cp-classic{color:var(--text);font-weight:600}.cp-sense{color:var(--muted);font-size:.92rem}.cp-settings{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.cp-steppers{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;display:flex}.cp-revs{padding-bottom:.7rem}.cp-revs,.cp-placement{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.88rem}.cp-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cp-plan{flex-direction:column;gap:.75rem;max-height:calc(100dvh - 2rem);padding:1rem;display:flex;position:sticky;top:1rem;container-type:inline-size}.cp-plan-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.cp-plan-head h2{font-size:1.15rem}.cp-plan-head h2:focus{outline:none}.cp-plan-summary{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.cp-plan-list{flex-direction:column;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cp-empty{border:2px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:12px;margin:0;padding:1.25rem;font-size:.9rem}.cp-row{border:1px solid var(--border);background:var(--panel);border-radius:12px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:2px;padding:3px;display:grid}.cp-row.is-new{border-color:var(--border-strong);background:var(--surface);box-shadow:inset 4px 0 0 var(--accent);animation:1.4s ease-out cp-flash}.cp-row.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cp-row.is-selected.is-new{box-shadow:inset 0 0 0 1px var(--accent), inset 5px 0 0 var(--accent)}@keyframes cp-flash{0%{box-shadow:0 0 0 4px var(--accent), inset 4px 0 0 var(--accent)}}.cp-row-main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:1.4rem auto 44px minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:52px;padding:4px 6px;display:grid}.cp-row-main:hover{background:var(--surface)}.cp-row-main:focus-visible,.cp-icon-button:focus-visible{outline-offset:-3px}.cp-row-pos{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.9rem;font-weight:600}.cp-rest-mark{background:var(--rest-hatch);border-radius:8px;width:2.1rem;height:2.1rem;display:block}.cp-rest-mark--xl{border-radius:16px;flex:none;width:4.5rem;height:4.5rem}.cp-row-symbol{width:44px}.cp-row-text,.cp-row-meta{min-width:0;line-height:1.25}.cp-row-text strong,.cp-row-meta strong{color:var(--text-h);font-size:.9rem;display:block}.cp-row-text small,.cp-row-meta small{color:var(--muted);font-size:.8rem;display:block}.cp-row-meta{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cp-icon-button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.cp-icon-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.cp-play{border:1px solid var(--border-strong);color:var(--text-h);border-radius:12px}.cp-play:hover{border-color:var(--accent);background:var(--surface)}.cp-icon-button .cp-fill-icon{fill:currentColor;stroke:none}.cp-row-remove:hover{background:var(--surface);color:var(--danger)}.cp-row-tools{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;padding:2px 6px 4px calc(1.85rem + 6px);display:flex}.cp-small-button{padding:0 .8rem;font-size:.88rem}@container (width<=380px){.cp-row-main{grid-template-columns:1.4rem auto 36px minmax(0,1fr)}.cp-row-symbol{width:36px}.cp-row-meta{text-align:left;grid-column:4;align-items:baseline;gap:.4rem;display:flex}.cp-row-meta small:before{content:"· "}.cp-row-tools{padding-left:6px}}@media (width<=1199px){.cp{grid-template-columns:minmax(0,1fr)}.cp-plan{max-height:none;position:static}}@media (prefers-reduced-motion:reduce){.cp-row.is-new{animation:none}}.gr{--gr-head-w:16.5rem;--gr-col-gap:12px;--gr-gap:3px;--gr-row-h:38px;--gr-row-space:4px;--gr-group-h:28px;--gr-group-space:10px;--gr-ticks-h:22px;--gr-pad:4px;flex-direction:column;gap:1rem;display:flex}.gr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;display:flex}.gr-title{margin:0;font-size:1.5rem;font-weight:750;line-height:1.2}.gr-hint{color:var(--muted);margin:.25rem 0 0;font-size:.95rem}.gr-tools{flex-wrap:wrap;gap:.75rem;display:flex}.gr-seg{background:var(--surface);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.gr-seg button{min-height:44px;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.95rem;font-weight:600;display:inline-flex}.gr-seg button:hover{color:var(--text-h)}.gr-seg button[aria-pressed=true]{background:var(--panel);color:var(--text-h);box-shadow:0 1px 2px #0000002e}.gr-seg svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.gr-panel{border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:.9rem 1.15rem 1.1rem}.gr-body,.gr-tempo{grid-template-columns:var(--gr-head-w) minmax(0, 1fr);column-gap:var(--gr-col-gap);display:grid}.gr-heads{z-index:1;padding-block:var(--gr-pad);position:relative}.gr-scroll,.gr-tempo-scroll{padding:var(--gr-pad);overflow:auto hidden}.gr-tempo-scroll{overflow-x:hidden}.gr-sheet{min-width:calc(var(--gr-cols) * (var(--gr-col-min) + var(--gr-gap)) - var(--gr-gap));-webkit-user-select:none;user-select:none}.gr-ticks,.gr-track,.gr-tempo-lane{grid-template-columns:repeat(var(--gr-cols), minmax(var(--gr-col-min), 1fr));column-gap:var(--gr-gap);display:grid}.gr-corner{height:var(--gr-ticks-h);color:var(--muted);align-items:flex-end;font-size:.75rem;font-weight:650;line-height:1;display:flex}.gr-group-head,.gr-group-spacer{height:var(--gr-group-h);margin-top:var(--gr-group-space)}.gr-group-head{white-space:nowrap;color:var(--muted);align-items:center;gap:.45rem;font-size:.78rem;display:flex}.gr-group-head strong{color:var(--text-h);font-size:.85rem;font-weight:750}.gr-swatch{border-radius:3px;flex:none;width:10px;height:10px}.gr-swatch--counter{background:var(--counter)}.gr-swatch--parallel{background:var(--parallel)}.gr-swatch--rest{background:var(--rest-hatch);box-shadow:inset 0 0 0 1px var(--rest)}.gr-row-head{height:var(--gr-row-h);margin-bottom:var(--gr-row-space);border-radius:8px;grid-template-columns:1.5rem 44px minmax(0,1fr);align-items:center;gap:.5rem;padding-inline:.3rem;display:grid}.gr-row-head--highlighted{background:var(--surface)}.gr-row-symbol{width:44px}.gr-rest-mark{background:var(--rest-hatch);width:1.5rem;height:1.5rem;box-shadow:inset 0 0 0 1px var(--rest);border-radius:6px}.gr-row-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.gr-row-text strong,.gr-row-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gr-row-text strong{color:var(--text-h);font-size:.86rem;font-weight:700}.gr-row-text small{color:var(--muted);font-size:.7rem}.gr-ticks{height:var(--gr-ticks-h);color:var(--muted);font-variant-numeric:tabular-nums;align-items:end;font-size:.75rem;font-weight:650;line-height:1}.gr-ticks span{border-left:2px solid var(--border-strong);white-space:nowrap;padding:0 0 .2rem .3rem}.gr-track{grid-template-rows:var(--gr-row-h);height:var(--gr-row-h);margin-bottom:var(--gr-row-space);touch-action:none}.gr-cell,.gr-bar{grid-row:1}.gr-cell{z-index:1;background:var(--bg);cursor:crosshair;border:0;border-radius:6px;min-width:0;padding:0;transition:background-color 80ms ease-out;position:relative}.gr-cell--alt{background:var(--surface)}.gr-cell--after{opacity:.55}.gr-cell:hover{background:var(--border);opacity:1}.gr-cell--own,.gr-cell--own:hover{background:0 0}.gr--paint .gr-cell--own{cursor:pointer}.gr--paint .gr-cell--own:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.gr--erase .gr-cell--own:hover{background:color-mix(in srgb, var(--danger) 22%, transparent)}.gr-cell:focus-visible{z-index:3;outline:3px solid var(--accent);outline-offset:1px;opacity:1}.gr-track--counter .gr-cell--paint:not(.gr-cell--own){background:color-mix(in srgb, var(--counter) 60%, transparent);opacity:1}.gr-track--parallel .gr-cell--paint:not(.gr-cell--own){background:color-mix(in srgb, var(--parallel) 60%, transparent);opacity:1}.gr-track--rest .gr-cell--paint:not(.gr-cell--own){background:var(--rest-hatch);opacity:1}.gr-cell--erase.gr-cell--own,.gr-cell--doomed{background:color-mix(in srgb, var(--panel) 70%, transparent);outline:2px dashed var(--danger);outline-offset:-2px}.gr-bar{--gr-c:var(--rest-ink);--gr-fill:var(--rest-hatch);z-index:0;border:2px solid var(--gr-c);background:var(--gr-fill);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:8px;align-items:center;gap:.35rem;min-width:0;padding:0 .3rem;font-size:.75rem;line-height:1;display:flex;overflow:hidden;container-type:inline-size}.gr-bar--counter{--gr-c:var(--counter);--gr-fill:var(--counter-tint)}.gr-bar--parallel{--gr-c:var(--parallel);--gr-fill:var(--parallel-tint)}.gr-bar--rest{justify-content:center}.gr-bar--approx{border-style:dashed}.gr-bar--selected{z-index:2;outline:3px solid var(--accent);outline-offset:2px}.gr-bar-pos{color:var(--muted);font-weight:600}.gr-bar-dur{color:var(--text-h);font-weight:750}.gr-bar--rest span{background:var(--panel);border-radius:4px;padding:2px 3px}@container (width<=44px){.gr-bar-pos{display:none}.gr-bar-dur{font-size:.68rem}}@container (width<=18px){.gr-bar-dur{display:none}}.gr-notes{margin:.35rem 0 0 calc(var(--gr-head-w) + var(--gr-col-gap));color:var(--muted);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.gr-notes p{margin:0}.gr-note-round{color:var(--text);align-items:flex-start;gap:.4rem;display:flex}.gr-note-round svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;flex:none;width:16px;height:16px;margin-top:.15rem}.gr-settings{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.75rem}.gr-tempo-head{padding:0 .3rem var(--gr-pad);flex-direction:column;justify-content:flex-end;line-height:1.25;display:flex}.gr-tempo-head strong{color:var(--text-h);font-size:.86rem}.gr-tempo-head small{color:var(--muted);font-size:.75rem}.gr-tempo-lane{border-bottom:1px solid var(--border-strong);height:58px}.gr-tempo-bar{min-width:0;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:6px 6px 0 0;grid-row:1;align-items:flex-end;padding:0;display:flex}.gr-tempo-fill{width:100%;height:calc(17px + var(--gr-level) * 39px);border-top:2px solid var(--accent);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:5px 5px 0 0;justify-content:center;padding-top:2px;font-size:.75rem;font-weight:750;line-height:1.1;transition:height .12s ease-out;display:flex;overflow:hidden}.gr-tempo-bar:hover .gr-tempo-fill{background:var(--border-strong)}.gr-tempo-bar[aria-pressed=true] .gr-tempo-fill{background:var(--accent);color:var(--on-accent)}.gr-tempo-bar:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.gr-selection{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin:1rem 0 0;padding:.75rem 1rem;display:flex}.gr-selection--none{min-height:4.5rem;color:var(--muted);font-size:.9rem}.gr-sel-visual{background:var(--panel);border-radius:10px;flex:none;place-items:center;width:104px;height:60px;display:grid}.gr-sel-visual--counter{background:var(--counter-tint)}.gr-sel-visual--parallel{background:var(--parallel-tint)}.gr-sel-symbol{width:86px}.gr-sel-text{flex:240px;min-width:0}.gr-sel-pos,.gr-sel-classic{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.gr-sel-pos{font-weight:600}.gr-sel-title{align-items:center;gap:.5rem;margin:.1rem 0;font-size:1.15rem;font-weight:750;line-height:1.25;display:flex}.gr-sel-duration{font-variant-numeric:tabular-nums;margin:0}.gr-sel-duration strong{color:var(--text-h);font-size:1.1rem}.gr-sel-duration span{color:var(--muted)}.gr-sel-actions{align-items:center;gap:.25rem;display:flex}.gr-remove{color:var(--danger)}.gr-remove svg,.gr-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.gr-close{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.gr-close:hover{background:var(--surface);color:var(--text-h)}.gr-close svg{width:18px;height:18px}.gr-empty{border:1px dashed var(--border-strong);color:var(--muted);border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.gr-empty svg{flex:none;width:64px;height:43px}.gr-empty rect{fill:var(--surface)}.gr-empty .gr-empty-fill{fill:var(--counter)}.gr-empty p{margin:0;font-size:.9rem}.gr-empty .gr-empty-title{color:var(--text-h);font-size:1rem;font-weight:700}@media (width<=760px){.gr{--gr-head-w:9.5rem}.gr-row-head{grid-template-columns:1.5rem minmax(0,1fr)}.gr-row-symbol,.gr-group-head span:last-child{display:none}.gr-notes{margin-left:0}}@media (prefers-reduced-motion:reduce){.gr-cell,.gr-tempo-fill{transition:none}}.pattern-tile{border:1px solid var(--border);background:var(--panel);cursor:grab;border-radius:12px;align-items:center;display:grid;position:relative}.pattern-tile:hover,.pattern-tile:focus-within{--trail-play-state:running;border-color:var(--accent)}.pattern-tile:active{cursor:grabbing}.pattern-tile--card{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"badge.add""symbol symbol symbol""text text text";gap:.35rem .5rem;padding:.55rem .55rem .65rem}.pattern-tile--card .pattern-tile-symbol{grid-area:symbol;justify-self:center;width:84px}.pattern-tile--card .trail-symbol{width:100px}.pattern-tile--card .pattern-tile-text{text-align:center;grid-area:text}.pattern-tile--card .pattern-badge,.pattern-tile--card .pattern-tile-rest-mark{grid-area:badge}.pattern-tile--card .pattern-tile-add{grid-area:add}.pattern-tile--row{grid-template-columns:auto 64px minmax(0,1fr) auto;gap:.6rem;min-height:52px;padding:.3rem .35rem .3rem .5rem}.pattern-tile--row .pattern-tile-symbol{width:64px}.pattern-tile-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.pattern-tile-text strong{color:var(--text-h);font-size:.9rem}.pattern-tile-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.pattern-tile-rest-mark{background:var(--rest-hatch);border-radius:6px;width:1.5rem;height:1.5rem}.pattern-tile-add{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.pattern-tile-add:hover,.pattern-tile-add:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.pattern-tile-add svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:16px;height:16px}.sb{--sb-label-w:8.25rem;--sb-row-pattern:4.5rem;--sb-row-disc:3.25rem;--sb-row-tempo:4.5rem;--sb-row-gap:.375rem;--sb-rows-h:calc(var(--sb-row-pattern) + 2 * var(--sb-row-disc) + var(--sb-row-tempo) + 3 * var(--sb-row-gap));flex-direction:column;gap:1.25rem;min-width:0;display:flex}.sb h2{margin:0;line-height:1.2}.sb-panel{border:1px solid var(--border);background:var(--panel);border-radius:16px;min-width:0}.sb-muted{color:var(--muted);margin:0;font-size:.9rem}.sb-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.sb-score{padding:1rem 1.25rem .75rem}.sb-score-head{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;margin-bottom:.75rem;display:flex}.sb-score-head h2{font-size:1.3rem}.sb-scroller{overscroll-behavior-x:contain;padding-bottom:.75rem;overflow:auto hidden}.sb-scroller:focus-visible{outline-offset:-3px}.sb-grid{grid-template-rows:auto auto;justify-content:start;row-gap:.75rem;width:max-content;display:grid}.sb-corner,.sb-labels{z-index:5;width:var(--sb-label-w);background:var(--panel);position:sticky;left:0}.sb-ruler{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;height:1.75rem;position:relative}.sb-tick{color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:600;position:absolute;top:.2rem;transform:translate(-50%)}.sb-tick:after{content:"";background:var(--border-strong);width:1px;height:.35rem;position:absolute;bottom:-.45rem;left:50%}.sb-tick--start{transform:none}.sb-tick--start:after{left:0}.sb-tick.is-after-end{opacity:.55}.sb-tick--end{color:var(--text-h);font-weight:750}.sb-tick--end.is-at-edge{transform:translate(-100%)}.sb-tick--end.is-at-edge:after{left:100%}.sb-labels{gap:var(--sb-row-gap);flex-direction:column;padding-right:.5rem;display:flex}.sb-label{color:var(--text-h);align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;line-height:1.2;display:flex}.sb-label small{color:var(--muted);font-weight:500;display:block}.sb-label--pattern{height:var(--sb-row-pattern)}.sb-label--disc{height:var(--sb-row-disc)}.sb-label--tempo{height:var(--sb-row-tempo);align-items:flex-end;padding-bottom:.25rem}.sb-label-disc{flex:none;width:16px;height:16px}.sb-label-disc circle{stroke-width:2.5px}.sb-label-disc--left circle{fill:var(--disc-left-fill);stroke:var(--disc-left)}.sb-label-disc--right circle{fill:var(--disc-right-fill);stroke:var(--disc-right)}.sb-track{height:var(--sb-rows-h);position:relative}.sb-gridline,.sb-endline{background:var(--surface);pointer-events:none;width:1px;position:absolute;top:calc(1px - .75rem);bottom:0}.sb-endline{border-left:2px dashed var(--border-strong);background:0 0;width:0}.sb-cols{margin:0;padding:0;list-style:none}.sb-col{z-index:1;gap:var(--sb-row-gap);cursor:grab;border-radius:9px;flex-direction:column;transition:left .18s,width .18s;display:flex;position:absolute;top:0;bottom:0;container-type:inline-size}.sb-col:hover:not(.is-selected){outline:2px solid var(--border-strong);outline-offset:3px}.sb-col.is-selected{z-index:2;outline:3px solid var(--accent);outline-offset:3px}.sb-col.is-dragging{opacity:.4}.sb-col:active{cursor:grabbing}.sb-track.is-resizing .sb-col,.sb-track.is-dragging .sb-col{transition:none}.sb-cell{border-radius:8px;min-width:0;overflow:hidden}button.sb-cell{font:inherit;text-align:left;cursor:inherit;border:0;margin:0}button.sb-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--panel)}.sb-pattern{height:var(--sb-row-pattern);flex-direction:column;flex:none;align-items:flex-start;gap:.25rem;padding:.45rem .5rem;display:flex}.sb-pattern--counter{background:var(--counter);color:var(--on-counter)}.sb-pattern--parallel{background:var(--parallel);color:var(--on-parallel)}.sb-pattern-badge{box-shadow:0 0 0 2px var(--panel)}.sb-pattern-name{flex-direction:column;max-width:100%;line-height:1.25;display:flex}.sb-pattern-name strong,.sb-pattern-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sb-pattern-name strong{font-size:.82rem;font-weight:750}.sb-pattern-name span{font-size:.75rem;font-weight:550}.sb-disc{height:var(--sb-row-disc);color:var(--text-h);flex:none;align-items:center;gap:.375rem;padding:.375rem;font-size:.75rem;font-weight:650;line-height:1.15;display:flex}.sb-disc--counter{background:var(--counter-tint)}.sb-disc--parallel{background:var(--parallel-tint)}.sb-disc-chip{background:var(--panel);border-radius:8px;flex:none;place-items:center;width:2.375rem;height:2.375rem;display:grid}.sb-disc-trail{width:32px;height:32px}.sb-col:hover{--trail-play-state:running}.sb-disc-text{overflow-wrap:anywhere;min-width:0}.sb-tempo{height:var(--sb-row-tempo);font-variant-numeric:tabular-nums;border-radius:0;flex-direction:column;flex:none;justify-content:flex-end;gap:2px;display:flex}.sb-tempo-value{color:var(--text-h);padding-left:.25rem;font-size:.82rem;font-weight:750;line-height:1.2}.sb-tempo-bar{border-top:2px solid var(--accent);background:var(--border-strong);border-radius:3px 3px 0 0;flex:none}.sb-rest{color:var(--text-h);background:var(--rest-hatch);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;height:100%;padding:.25rem;display:flex}button.sb-rest{text-align:center}.sb-rest-symbol{flex:none;width:3rem}.sb-rest-label{background:var(--panel);color:var(--text-h);white-space:nowrap;border-radius:5px;padding:.05rem .35rem;font-size:.75rem;font-weight:750}@container (width<=92px){.sb-disc{justify-content:center}.sb-disc-text{display:none}}@container (width<=58px){.sb-pattern{align-items:center;padding-inline:.25rem}.sb-pattern-name{display:none}.sb-rest-symbol{width:2.25rem}}@container (width<=46px){.sb-rest-label--name{display:none}}@container (width<=44px){.sb-disc-chip{width:1.75rem;height:1.75rem}.sb-disc-trail{width:24px;height:24px}.sb-rest-symbol{display:none}.sb-tempo-value{text-align:center;padding-left:0;font-size:.7rem}}@container (width<=30px){.sb-pattern-badge,.sb-disc-chip,.sb-rest-label{display:none}.sb-tempo-value{visibility:hidden}}.sb-drop-marker{z-index:6;background:var(--accent);pointer-events:none;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-.5rem;bottom:-.25rem}.sb-drop-marker span{background:var(--accent);color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:5px;margin-bottom:.15rem;padding:0 .35rem;font-size:.72rem;font-weight:750;line-height:1.4;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.sb-resize{top:calc(var(--sb-row-pattern) + var(--sb-row-gap) + var(--sb-row-disc) - 1.375rem);z-index:4;cursor:ew-resize;touch-action:none;place-items:center;width:28px;height:44px;margin-left:-14px;display:grid;position:absolute}.sb-resize-grip{border:2px solid var(--panel);background:var(--accent);border-radius:6px;width:12px;height:32px;box-shadow:0 1px 3px #00000040}.sb-resize:hover .sb-resize-grip,.sb-resize.is-active .sb-resize-grip{width:14px}.sb-resize-tip{background:var(--accent);color:var(--on-accent);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:6px;padding:.15rem .5rem;font-size:.8rem;font-weight:750;position:absolute;bottom:calc(100% + .25rem);left:50%;transform:translate(-50%)}.sb-empty{border:2px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1rem;font-size:.95rem;display:flex;position:absolute;top:0;bottom:0}.sb-empty strong{color:var(--text-h);font-size:1.05rem}.sb-empty svg{background:var(--surface);fill:none;width:2.25rem;height:2.25rem;stroke:var(--text-h);stroke-width:2.2px;stroke-linecap:round;border-radius:50%;padding:.45rem}.sb-empty.is-over{border-color:var(--accent);background:var(--surface)}.sb-lower{flex-wrap:wrap;align-items:stretch;gap:1.25rem;display:flex}.sb-inspector{flex:30rem;grid-template-columns:12.5rem minmax(0,1fr);grid-template-areas:"visual head""fields fields""actions actions""swap swap";align-content:start;gap:1rem 1.25rem;padding:1.25rem;display:grid}.sb-inspector--empty{align-items:flex-start;gap:1rem;display:flex}.sb-inspector--empty h2{font-size:1.1rem}.sb-invite-icon{background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text-h);border-radius:12px;flex:none;padding:.6rem}.sb-visual{border-radius:12px;grid-area:visual;place-items:center;min-height:11rem;padding:.5rem;display:grid}.sb-visual--counter{background:var(--counter-tint)}.sb-visual--parallel{background:var(--parallel-tint)}.sb-visual--rest{background:var(--rest-hatch)}.sb-visual-animation{width:100%}.sb-visual-rest{background:var(--panel);border-radius:12px;width:7rem;padding:.5rem}.sb-head{grid-area:head;align-self:center;min-width:0}.sb-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 .35rem;font-size:.88rem;font-weight:600}.sb-title{align-items:center;gap:.75rem;display:flex}.sb-title h2{font-size:1.45rem}.sb-sense{color:var(--text);margin:.4rem 0 0;font-size:.92rem}.sb-fields{flex-wrap:wrap;grid-area:fields;align-items:flex-start;gap:.75rem 1rem;display:flex}.sb-revs{color:var(--muted);font-variant-numeric:tabular-nums;flex-basis:100%;margin:-.25rem 0 0;font-size:.88rem}.sb-field-label{color:var(--muted);font-size:.8rem;font-weight:650}.sb-actions{flex-wrap:wrap;grid-area:actions;gap:.5rem;display:flex}.sb-move{flex-direction:column;gap:.25rem;display:flex}.sb-move-buttons{gap:.25rem;display:inline-flex}.sb-icon-button{width:44px;padding:0}.sb-icon-button[aria-disabled=true]{opacity:.4;cursor:default}.sb-icon-button[aria-disabled=true]:hover{border-color:var(--border-strong)}.sb-danger{color:var(--danger);margin-left:auto}.sb-actions .app-button .sb-icon{width:18px;height:18px}.sb-swap{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;grid-area:swap;gap:.5rem;padding:.75rem;display:flex}.sb-swap-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.4rem;display:grid}.sb-swap-option{border:1px solid var(--border);background:var(--panel);min-height:44px;color:var(--text-h);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .4rem;padding:.4rem;font-size:.78rem;font-weight:650;line-height:1.2;display:grid}.sb-swap-option:hover{border-color:var(--accent)}.sb-swap-option[aria-pressed=true]{border-width:2px;border-color:var(--accent);padding:calc(.4rem - 1px)}.sb-swap-symbol{justify-self:end;width:100%;max-width:4rem}.sb-swap-option>span:last-child{grid-column:1/-1}.sb-dock{flex-direction:column;flex:34rem;gap:.75rem;padding:1.25rem;display:flex}.sb-dock h2{font-size:1.15rem}.sb-dock .sb-muted{margin-top:.15rem}.sb-dock-grid{grid-template-columns:repeat(auto-fill,minmax(6.75rem,1fr));gap:.5rem;display:grid}@media (width<=640px){.sb{--sb-label-w:5.75rem}.sb-score,.sb-inspector,.sb-dock{padding-inline:.875rem}.sb-label{font-size:.75rem}.sb-label-disc{display:none}.sb-inspector{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""head""fields""actions""swap"}.sb-visual-animation{max-width:14rem}}@media (prefers-reduced-motion:reduce){.sb-col{transition:none}}.tl{--tl-gutter:58px;flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.tl h2{margin:0;font-size:1.125rem;line-height:1.25}.tl-panel{border:1px solid var(--border);background:var(--panel);border-radius:16px}.tl-hint{color:var(--muted);margin:.25rem 0 0;font-size:.875rem;line-height:1.45}.tl-palette{flex-direction:column;flex:0 300px;gap:.25rem;min-width:260px;display:flex}.tl-group-title{align-items:center;gap:.5rem;margin:.75rem 0 .4rem;font-size:.8rem;display:flex}.tl-group-title small{color:var(--muted);font-size:.78rem;font-weight:500}.tl-chip{border-radius:5px;align-items:center;height:22px;padding:0 7px;font-size:.75rem;font-weight:750;display:inline-flex}.tl-chip--counter{background:var(--counter);color:var(--on-counter)}.tl-chip--parallel{background:var(--parallel);color:var(--on-parallel)}.tl-group ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tl-palette-rest{margin-top:.9rem}.tl-timeline{flex:460px;min-width:0;padding:1.1rem 1.25rem 1.25rem}.tl-timeline-head{margin-bottom:1.1rem}.tl-canvas{position:relative}.tl-grid{pointer-events:none;position:absolute;inset:0}.tl-line{right:0;left:calc(var(--tl-gutter) - 8px);background:var(--border);height:1px;position:absolute}.tl-label,.tl-end-time{width:calc(var(--tl-gutter) - 14px);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem;font-weight:650;line-height:1;position:absolute;left:0;transform:translateY(-50%)}.tl-blocks{inset:0 0 0 var(--tl-gutter);margin:0;padding:0;list-style:none;position:absolute}.tl-block{border:1px solid var(--border-strong);border-radius:12px;align-items:stretch;transition:top .15s,height .15s;display:flex;position:absolute;left:0;right:0}.tl-block--counter{border-color:color-mix(in srgb, var(--counter) 55%, var(--panel));background:var(--counter-tint)}.tl-block--parallel{border-color:color-mix(in srgb, var(--parallel) 40%, var(--panel));background:var(--parallel-tint)}.tl-block--rest{background:var(--rest-hatch)}.tl-block.is-selected{z-index:2;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), 0 4px 14px color-mix(in srgb, var(--accent) 18%, transparent)}.tl-block.is-dragging{opacity:.45}.tl-block:has(>.tl-block-body:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.tl-canvas.is-resizing .tl-block{transition:none}.tl:has(.tl-block.is-resizing){cursor:ns-resize;-webkit-user-select:none;user-select:none}.tl-grip{width:28px;color:var(--muted);cursor:grab;border-radius:11px 0 0 11px;flex:none;place-items:center;display:grid}.tl-grip:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--text-h)}.tl-grip:active{cursor:grabbing}.tl-block-body{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0 11px 11px 0;flex:1;align-items:center;gap:.65rem;padding:0 .9rem 0 0;display:flex}.tl-block-body:focus-visible{outline:none}.tl-pos{min-width:1.5rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.9rem;font-weight:650}.tl-symbol{background:var(--panel);border-radius:8px;flex:none;place-items:center;width:76px;height:42px;display:grid}.tl-symbol .pattern-symbol{width:64px}.tl-name{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.tl-name strong,.tl-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-name strong{color:var(--text-h);font-size:1rem;font-weight:750}.tl-name small{color:var(--muted);font-size:.8rem}.tl-meta{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;line-height:1.25;display:flex}.tl-meta strong{color:var(--text-h);font-size:1.1rem}.tl-meta small{color:var(--muted);font-size:.8rem}.tl-block--compact .tl-symbol{width:60px;height:32px}.tl-block--compact .tl-symbol .pattern-symbol{width:52px}.tl-block--compact .tl-name small{display:none}.tl-block--compact .tl-meta{flex-direction:row;align-items:baseline;gap:.5rem}.tl-block--compact .tl-meta strong{font-size:1rem}.tl-rest-pill{background:var(--panel);color:var(--text-h);font-variant-numeric:tabular-nums;border-radius:7px;align-items:baseline;gap:.5rem;padding:.15rem .65rem .15rem .5rem;font-size:.875rem;display:inline-flex}.tl-rest-pill .tl-pos{min-width:0;font-size:.85rem}.tl-resize{z-index:3;cursor:ns-resize;touch-action:none;border-radius:12px;place-items:center;width:72px;height:44px;margin-left:-36px;display:grid;position:absolute;bottom:-22px;left:50%}.tl-resize:after{content:"";border:3px solid var(--panel);background:var(--accent);border-radius:7px;width:56px;height:14px}.tl-resize:focus-visible{outline-offset:-4px}.tl-tip{z-index:3;background:var(--accent);color:var(--on-accent);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:8px;padding:.2rem .6rem;font-size:.8rem;font-weight:650;display:none;position:absolute;bottom:0;left:calc(50% + 44px);transform:translateY(50%)}.tl-block.is-resizing .tl-tip,.tl-resize:hover+.tl-tip,.tl-resize:focus-visible+.tl-tip{display:block}.tl-insert{right:0;left:calc(var(--tl-gutter) - 6px);z-index:4;background:var(--accent);pointer-events:none;border-radius:2px;height:3px;margin-top:-1.5px;position:absolute}.tl-insert:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:-4.5px;left:-6px}.tl-end{padding-left:var(--tl-gutter);align-items:center;margin-top:.75rem;display:flex;position:relative}.tl-end-time{color:var(--text-h);font-size:.8rem;font-weight:800;top:50%}.tl-dropzone,.tl-empty{border:2px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:12px}.tl-dropzone{flex:1;place-items:center;min-height:52px;padding:.5rem 1rem;font-size:.9rem;display:grid}.tl-empty{flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:340px;padding:2rem;display:flex}.tl-empty strong{color:var(--text-h);font-size:1.1rem}.tl-empty span{max-width:34ch}.tl-dropzone.is-over,.tl-empty.is-over{border-color:var(--accent);background:var(--surface);color:var(--text-h)}.tl-inspector{flex-direction:column;flex:0 330px;gap:.9rem;min-width:290px;padding:1.1rem;display:flex}.tl-insp-empty h2:focus-visible{outline-offset:4px}.tl-insp-empty p{color:var(--muted);margin:.4rem 0 0;font-size:.925rem}.tl-insp-pos{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem;font-weight:600}.tl-insp-head{align-items:center;gap:.75rem;margin-top:-.4rem;display:flex}.tl .tl-insp-head h2{font-size:1.35rem}.tl-insp-head p{color:var(--muted);margin:.1rem 0 0;font-size:.9rem}.tl-insp-rest-mark{border:1px solid var(--border-strong);background:var(--rest-hatch);border-radius:11px;flex:none;width:2.75rem;height:2.75rem}.tl-insp-sense{margin:-.3rem 0 0;font-size:.9rem}.tl-insp-visual{border-radius:12px;justify-items:center;padding:.5rem;display:grid;position:relative}.tl-insp-visual--counter{background:var(--counter-tint)}.tl-insp-visual--parallel{background:var(--parallel-tint)}.tl-insp-visual--rest{border:1px solid var(--border-strong);background:var(--rest-hatch);padding:1rem}.tl-insp-animation{width:100%;max-width:230px}.tl-insp-rest-symbol{background:var(--panel);border-radius:10px;width:120px;padding:.25rem}.tl-insp-play{border:1px solid var(--border);background:var(--panel);width:44px;height:44px;color:var(--text-h);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:.5rem;right:.5rem}.tl-insp-play:hover{border-color:var(--accent)}.tl-steppers{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.tl-revs{color:var(--muted);font-variant-numeric:tabular-nums;margin:-.3rem 0 0;font-size:.9rem}.tl-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tl-actions .app-button{flex:auto;padding:0 .8rem;font-size:.9rem}.tl-actions .tl-danger{color:var(--danger)}.tl-actions .tl-danger:hover:not(:disabled){border-color:var(--danger)}.tl-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.tl-picker button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;min-height:64px;padding:.4rem .2rem;display:flex}.tl-picker button:hover{border-color:var(--accent)}.tl-picker button[aria-pressed=true]{border-color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent)}.tl-picker .pattern-symbol{width:52px}@media (width>=1100px){.tl-palette,.tl-inspector{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto}.tl-palette{margin:-4px;padding:4px}}@media (width<=720px){.tl-palette,.tl-inspector{flex-basis:100%;min-width:0}.tl-block--counter .tl-name small,.tl-block--parallel .tl-name small{display:none}}@media (prefers-reduced-motion:reduce){.tl-block{transition:none}}.tb{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (width<=960px){.tb{grid-template-columns:minmax(0,1fr)}}.tb h2{margin:0;font-size:1.3rem}.tb-hint{max-width:42rem;color:var(--muted);margin:.25rem 0 1.25rem;font-size:.9rem}.tb-group+.tb-group{margin-top:1.5rem}.tb-group-title{align-items:baseline;gap:.5rem;margin:0 0 .6rem;font-size:1rem;display:flex}.tb-group-title small{color:var(--muted);font-size:.85rem;font-weight:400}.tb-group-marker{border-radius:3px;align-self:center;width:.75rem;height:.75rem}.tb-group-marker--counter{background:var(--counter)}.tb-group-marker--parallel{background:var(--parallel)}.tb-group-marker--rest{background:var(--rest)}.tb-pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=520px){.tb-pattern-grid{grid-template-columns:minmax(0,1fr)}}.tb-card{background:var(--panel);border:1px solid var(--border);cursor:grab;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;height:100%;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s;display:grid}.tb-card:hover,.tb-card:focus-within{--disc-play-state:running;border-color:var(--accent);box-shadow:0 2px 12px #00000014}.tb-card:active{cursor:grabbing}.tb-card-diagram{width:100px;height:auto}.tb-card-body{flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.tb-card-title{color:var(--text-h);font-weight:600}.tb-card-desc{color:var(--muted);font-size:.78rem;line-height:1.3}.tb-add{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;width:2.1rem;height:2.1rem;padding:0;font-size:1.25rem;line-height:1}.tb-add:hover,.tb-add:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tb-badges{gap:.25rem;display:inline-flex}.tb-badge{white-space:nowrap;border-radius:4px;padding:0 .4rem;font-size:.72rem;font-weight:700;line-height:1.5}.tb-badge--counter{background:var(--counter);color:var(--on-counter)}.tb-badge--parallel{background:var(--parallel);color:var(--on-parallel)}.tb-badge--offset-180{background:var(--offset-180);color:var(--on-offset-180)}.tb-badge--offset-0{background:var(--offset-0);color:var(--on-offset-0)}.tb-sequence{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:1rem;max-height:calc(100vh - 2rem);padding:1.25rem;display:flex;position:sticky;top:1rem;container:sequence/inline-size}.tb-sequence-body{flex-direction:column;flex:1;min-height:0;display:flex}@media (width<=960px){.tb-sequence{max-height:none;position:static}}.tb-timeline-bar{border-radius:8px;gap:2px;height:2.1rem;display:flex;overflow:hidden}.tb-timeline-seg{justify-content:center;align-items:center;min-width:.4rem;font-size:.75rem;font-weight:700;display:flex;position:relative;overflow:hidden}.tb-timeline-seg--counter{background:var(--counter);color:var(--on-counter)}.tb-timeline-seg--parallel{background:var(--parallel);color:var(--on-parallel)}.tb-timeline-seg--rest{background:repeating-linear-gradient(135deg, var(--rest) 0 4px, transparent 4px 8px);color:var(--text-h)}.tb-timeline-offset{height:5px;position:absolute;inset:auto 0 0}.tb-timeline-offset--180{background:var(--offset-180)}.tb-timeline-offset--0{background:var(--offset-0)}.tb-timeline-scale{color:var(--muted);justify-content:space-between;margin-top:.2rem;font-size:.75rem;display:flex}.tb-drop-area{border-radius:10px;flex:1;min-height:10rem;margin:-.25rem;padding:.25rem .25rem 2.5rem;overflow-y:auto}.tb-empty{border:2px dashed var(--border);min-height:10rem;color:var(--muted);text-align:center;pointer-events:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.5rem;display:flex}.tb-empty strong{color:var(--text-h)}.tb-drop-area.is-over .tb-empty{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.tb-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tb-item{--item-color:var(--rest);background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--item-color);border-radius:10px;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.5rem .6rem .5rem .4rem;display:grid;position:relative}.tb-item:hover,.tb-item:focus-within{--disc-play-state:running}.tb-item--counter{--item-color:var(--counter)}.tb-item--parallel{--item-color:var(--parallel)}.tb-item.is-dragging{opacity:.4}.tb-item.drop-before:before,.tb-item.drop-after:after{content:"";background:var(--accent);border-radius:2px;height:3px;position:absolute;left:-5px;right:-1px}.tb-item.drop-before:before{top:calc(-.25rem - 2.5px)}.tb-item.drop-after:after{bottom:calc(-.25rem - 2.5px)}.tb-item-handle{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:.25rem .1rem;font-size:1.1rem;line-height:1}.tb-item-handle:active{cursor:grabbing}.tb-item-index{background:var(--surface);width:1.6rem;height:1.6rem;color:var(--text-h);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.tb-item-diagram{width:68px;height:auto}.tb-item-main{flex-direction:column;gap:.3rem;min-width:0;display:flex}.tb-item-title{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:600;display:flex}.tb-item-fields{flex-wrap:wrap;align-items:center;gap:.35rem .9rem;display:flex}.tb-item-revs{color:var(--muted);font-size:.8rem}.tb-item-actions{grid-template-columns:repeat(2,auto);gap:.2rem;display:grid}@container sequence (width<=34rem){.tb-item-main{grid-area:2/1/auto/-1;padding-left:.3rem}.tb-item-actions{grid-template-columns:repeat(4,auto);justify-self:end}}.tb-icon-button{width:1.8rem;height:1.8rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0;font-size:.95rem;line-height:1}.tb-icon-button:hover:not(:disabled),.tb-icon-button:focus-visible{border-color:var(--border);background:var(--surface);color:var(--text-h)}.tb-icon-button--danger:hover:not(:disabled){color:#d23b3b}.tb-icon-button:disabled{opacity:.3;cursor:default}.builder{flex-direction:column;gap:1.25rem;display:flex}.builder-bar{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.builder-name{flex:220px;max-width:360px}.builder-name input{border:1px solid var(--border-strong);background:var(--panel);width:100%;min-height:44px;color:var(--text-h);border-radius:10px;padding:0 .75rem;font-size:1rem;font-weight:650}.builder-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.builder-total{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:.5rem}.builder-total strong{color:var(--text-h);font-size:1.15rem}.pt-overview{flex-direction:column;gap:4px;padding:0 4px;display:flex}.pt-overview-bar{gap:2px;height:12px;display:flex}.pt-overview-part{border-radius:3px;flex:1 1 0;min-width:2px}.pt-overview-part--counter{background:var(--counter)}.pt-overview-part--parallel{background:var(--parallel)}.pt-overview-part--rest{background:var(--rest)}.pt-overview-part[data-selected]{box-shadow:0 0 0 1px var(--panel), 0 0 0 3px var(--accent)}.pt-lane-zone{container-type:inline-size}.pt-lane{--pt-block-package:min(76px, calc(50cqi - 10px));overscroll-behavior-x:contain;align-items:stretch;gap:4px;margin:0;padding:5px;list-style:none;display:flex;position:relative;overflow-x:auto}.pt-lane-item{display:flex;position:relative}.pt-lane-item--block{flex:1 0 120px;max-width:260px;container-type:inline-size}.pt-lane-item--pause{flex:0 0 clamp(32px,3.2cqi,44px)}.pt-lane-empty{border:2px dashed var(--border-strong);min-height:184px;color:var(--muted);border-radius:14px;place-items:center;margin:0;font-size:1.1rem;display:grid}.pt-block{border:1.5px solid var(--border-strong);background:var(--panel);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:clamp(12px,7cqi,16px);width:100%;min-width:0;min-height:184px;padding:0 0 clamp(10px,6cqi,14px);display:flex;overflow:hidden}.pt-block:hover{border-color:var(--border-strong)}.pt-block[aria-pressed=true],.pt-pause[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--panel), 0 0 0 4px var(--accent)}.pt-block-bar{flex:none;height:7px}.pt-block--counter .pt-block-bar{background:var(--counter)}.pt-block--parallel .pt-block-bar{background:var(--parallel)}.pt-block-body{flex-direction:column;gap:clamp(8px,5cqi,12px);padding:0 clamp(6px,9cqi - 6px,12px);display:flex}.pt-block-duration{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:clamp(2rem,1rem + 10cqi,2.6rem);font-weight:800;line-height:1}.pt-block-stats{color:var(--text-h);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px .55em;font-size:clamp(1.15rem,.7rem + 6.5cqi,1.5rem);font-weight:700;line-height:1.2;display:flex}.pt-block-stats>span{align-items:center;gap:.25em;display:inline-flex}.pt-block-stats .pt-icon{width:1.1em;height:1.1em}.pt-pause{border:1px solid var(--rest);background:var(--rest-hatch);width:100%;color:var(--rest-ink);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.pt-pause[data-change=device]{color:var(--text-h)}.pt-pause-icon{place-items:center;min-height:24px;display:grid}.pt-pause-icon .pt-icon{width:24px;height:24px}.pt-pause-icon .pt-icon--solid .pt-icon-hole{fill:var(--panel)}.pt-pause-time{background:var(--panel);color:var(--text-h);font-variant-numeric:tabular-nums;writing-mode:vertical-rl;border-radius:6px;padding:6px 2px;font-size:1rem;font-weight:800;transform:rotate(180deg)}.pt-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 20px;margin:0;padding:0 4px;font-size:.9rem;display:flex}.pt-legend>span{align-items:center;gap:6px;display:inline-flex}.pt-legend .pt-icon{width:18px;height:18px}.pt-lane-zone{border-radius:16px;transition:background-color .12s ease-out;position:relative}.pt-lane-zone[data-dragging]{background:var(--surface)}.pt-lane-item--block .pt-block,.pt-pattern-button[data-draggable]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pt-pattern-button[data-draggable]{touch-action:none}.pt-lane-item[data-dragging]{opacity:.35}.pt-lane-item--placeholder{flex:1 0 156px;gap:4px;max-width:308px}.pt-placeholder-block{border:2px dashed var(--highlight);background:color-mix(in srgb, var(--highlight) 10%, var(--panel));border-radius:14px;flex:1;align-items:flex-start;min-height:184px;padding:17px 6px 0;display:flex;container-type:inline-size}.pt-placeholder-block .pattern-package{--pt-block-package:min(76px, calc(50cqi - 4px));opacity:.6}.pt-placeholder-pause{border:1px dashed var(--rest);background:var(--rest-hatch);opacity:.55;border-radius:10px;flex:0 0 clamp(32px,3.2cqi,44px)}.pt-drag-preview{z-index:50;background:var(--panel);opacity:.85;pointer-events:none;border-radius:14px;padding:6px;position:fixed;transform:translate(-50%,-60%)rotate(-3deg);box-shadow:0 10px 28px #17203347}.pt-drag-preview[data-over]{opacity:1;transform:translate(-50%,-60%)}@media (height<=800px){.pt-lane-item--block{max-width:144px}.pt-lane-item--placeholder{max-width:192px}}@media (prefers-reduced-motion:reduce){.pt-lane-zone{transition:none}.pt-drag-preview{transform:translate(-50%,-60%)}}.pt{flex-direction:column;gap:12px;display:flex}.pt-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.pt-name{flex:0 320px;min-width:200px}.pt-name input{border:1px solid var(--border-strong);background:var(--panel);width:100%;height:52px;color:var(--text-h);border-radius:12px;padding:0 14px;font-size:1.2rem;font-weight:700}.pt-total{color:var(--muted);align-items:baseline;gap:8px;margin-left:auto;font-size:1rem;display:inline-flex}.pt-total strong{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:800}.pt-bar-actions{align-items:center;gap:4px;display:flex}.pt-bar-button{min-height:52px;font-size:1.05rem}.pt-start{border-radius:12px;min-height:56px;margin-left:8px;padding:0 24px;font-size:1.12rem;font-weight:800}.pt-start .pt-icon{width:16px;height:16px}.pt-card{border:1px solid var(--border);background:var(--panel);border-radius:16px;min-width:0;padding:12px}.pt-card-title,.pt-panel-title{color:var(--text-h);margin:0;font-size:1.4rem;font-weight:800;line-height:1.2}.pt-panel-title:focus{outline:none}.pt-sequence{flex-direction:column;gap:10px;display:flex}.pt-sequence-head{flex-wrap:wrap;align-items:center;gap:8px 24px;padding:0 4px;display:flex}.pt-sequence-head .pt-card-title{margin-right:auto}.pt-field{align-items:center;gap:10px;display:flex}.pt-field-label{color:var(--text-h);font-size:1.05rem;font-weight:700}.pt-segmented{border:1px solid var(--border-strong);background:var(--panel);border-radius:12px;display:flex;overflow:hidden}.pt-segmented button{height:48px;color:var(--text-h);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 14px 0 8px;font-size:1rem;font-weight:700;display:inline-flex}.pt-segmented button+button{border-left:1px solid var(--border-strong)}.pt-segmented button:hover:not([aria-pressed=true]){background:var(--surface)}.pt-segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.pt-segmented button:focus-visible{outline-offset:-3px}.pt-grip-icon{flex:none;width:30px;height:30px}.pt-grip-icon-disc{fill:var(--panel);stroke:var(--muted);stroke-width:2px}.pt-grip-icon-hole{fill:var(--muted)}.pt-grip-icon-grip{fill:var(--text-h)}.stepper.pt-stepper{flex-direction:row;align-items:center;gap:12px}.pt-stepper .stepper-label{color:var(--text-h);font-size:1.15rem;font-weight:800}.pt-stepper .stepper-control{align-self:center}.pt-stepper .stepper-control button{background:var(--surface);width:52px;height:52px}.pt-stepper .stepper-control button:hover:not(:disabled){background:var(--border)}.pt-stepper .stepper-control svg{width:22px;height:22px}.pt-stepper .stepper-value{min-width:6rem;color:var(--text-h);font-size:1.4rem;font-weight:800;line-height:52px}.pt-stepper--compact .stepper-label{font-size:1.05rem;font-weight:700}.pt-stepper--compact .stepper-control button{width:48px;height:48px}.pt-stepper--compact .stepper-value{min-width:4.5rem;font-size:1.15rem;line-height:48px}.pt-icon{flex:none;width:20px;height:20px}.pt-icon--line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pt-icon--line .pt-icon-soft{stroke:var(--muted)}.pt-icon--solid{fill:currentColor}.pt-icon--solid .pt-icon-hole{fill:var(--panel)}.pt-panel{padding:12px 16px}.pt-panel-head{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.pt-panel-hint{color:var(--muted);font-size:.95rem}.pt-palette,.pt-editor--swap{flex-direction:column;gap:10px;display:flex}.pt-patterns{flex-direction:column;gap:8px;display:flex}.pt-patterns-row{grid-template-columns:96px repeat(4,minmax(0,1fr));align-items:center;gap:10px;display:grid}.pt-patterns-label{color:var(--text-h);font-size:1.05rem;font-weight:800}.pt-pattern-button{border:1.5px solid var(--border-strong);background:var(--panel);cursor:pointer;border-radius:14px;place-items:center;min-width:0;min-height:70px;padding:6px;display:grid;overflow:hidden}.pt-pattern-button:hover{border-color:var(--border-strong);background:var(--bg)}.pt-pattern-button:active{background:var(--surface)}.pt-pattern-button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.pt-editor{gap:28px;display:flex}.pt-editor-side{flex-direction:column;flex:0 0 280px;align-items:flex-start;gap:6px;display:flex}.pt-editor-eyebrow{color:var(--muted);margin:0 0 2px;font-size:.95rem;font-weight:700}.pt-editor-sub{color:var(--muted);margin:2px 0 0;font-size:.95rem}.pt-editor-swap{margin-top:auto}.pt-editor-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.pt-editor-row{flex-wrap:wrap;align-items:center;gap:12px 32px;display:flex}.pt-editor-label{color:var(--text-h);font-size:1.15rem;font-weight:800}.pt-brake{flex-direction:column;gap:2px;display:flex}.pt-brake-levels{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.pt-brake-levels button{border:1px solid var(--border-strong);background:var(--panel);min-width:44px;height:52px;color:var(--text-h);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:10px;font-size:1.25rem;font-weight:800}.pt-brake-levels button:hover:not([aria-pressed=true]){background:var(--surface)}.pt-brake-levels button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.pt-editor-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.pt-button{border-radius:12px;min-height:48px;padding:0 16px;font-size:1.05rem;font-weight:700}.pt-button .pt-icon{width:20px;height:20px}.pt-icon-button{width:48px;padding:0}.pt-icon-button .pt-icon{width:24px;height:24px}.pt-button--danger{color:var(--danger)}.pt-button--soft{border-color:var(--border-strong);background:var(--surface)}.pt-done{min-width:128px;margin-left:auto;font-size:1.12rem;font-weight:800}.pt-pause-route{color:var(--muted);align-items:center;gap:10px;display:flex}.pt-setup-title{color:var(--text-h);margin:0;font-size:1.25rem;font-weight:800}.pt-chips{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pt-chips li{background:var(--surface);min-height:48px;color:var(--text-h);border-radius:24px;align-items:center;padding:0 18px;font-size:1.12rem;font-weight:700;display:inline-flex}@media (width<=760px){.pt-editor{flex-direction:column;gap:16px}.pt-editor-side{flex-basis:auto}.pt-patterns-row{grid-template-columns:repeat(4,minmax(0,1fr))}.pt-patterns-label{grid-column:1/-1}.pt-brake-levels{grid-template-columns:repeat(5,minmax(0,1fr))}}.tp-intro-scrim{z-index:20;background:var(--lightningcss-light,#1720338c)var(--lightningcss-dark,#000000a6);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.tp-intro{background:var(--panel);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:1.125rem;width:min(568px,100%);max-height:100%;padding:1.5rem 2rem 2rem;display:flex;overflow-y:auto;box-shadow:0 8px 24px #1720332e}.tp-intro-bar{grid-template-columns:1fr auto 1fr;align-self:stretch;align-items:center;display:grid}.tp-intro-small{border:1px solid var(--border-strong);background:var(--panel);min-width:48px;min-height:48px;color:var(--text-h);cursor:pointer;border-radius:24px;justify-self:start;align-items:center;gap:.5rem;padding:0 .875rem;font-size:1rem;font-weight:650;display:inline-flex}.tp-intro-small svg{width:20px;height:20px}.tp-intro-close{justify-content:center;justify-self:end;padding:0}.tp-intro-dots{gap:6px;display:flex}.tp-intro-dot{background:var(--border-strong);border-radius:5px;width:10px;height:10px;transition:width .2s}.tp-intro-dot--current{background:var(--accent);width:26px}.tp-intro-visual{justify-content:center;align-items:center;min-height:190px;display:flex}.tp-intro h2{margin:0;font-size:2.25rem;font-weight:800;line-height:1.15}.tp-intro h2:focus{outline:none}.tp-intro p{color:var(--text);margin:0;font-size:1.3125rem;line-height:1.35}.tp-intro-cta{background:var(--accent);min-height:58px;color:var(--on-accent);cursor:pointer;border:0;border-radius:14px;align-self:stretch;font-size:1.25rem;font-weight:800}.tp-rest-sign{width:132px;height:132px}.tp-rest-sign circle{fill:var(--surface);stroke:var(--rest);stroke-width:4px}.tp-rest-sign rect{fill:var(--rest-ink)}@media (prefers-reduced-motion:reduce){.tp-intro-dot{transition:none}}.tp-setup{flex:1;gap:1.5rem;min-width:0;display:flex}.tp-setup-side{flex-direction:column;flex:none;gap:1rem;width:min(490px,48%);display:flex}.tp-setup-main{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.tp-setup-title{margin:0 0 .25rem;font-size:1.875rem;font-weight:800;line-height:1.1}.tp-setup-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.tp-setup-head h2{margin:0;font-size:2.125rem;font-weight:800}.tp-setup-head .tp-countdown--setup{font-size:3.25rem}.tp-setup-head .tp-countdown--held{color:var(--muted)}.tp-setup-note{color:var(--muted);margin:0;padding:0 .25rem;font-size:.95rem}.tp-setup-note--held{border:1.5px solid var(--highlight);background:var(--surface);color:var(--text-h);border-radius:12px;padding:.75rem 1rem;font-size:1.0625rem}.tp-checklist{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tp-check{border:1.5px solid var(--border-strong);background:var(--panel);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:1rem;width:100%;min-height:78px;padding:.625rem 1rem;transition:background-color .15s,border-color .15s;display:flex}.tp-check--current{border-color:var(--highlight);box-shadow:inset 0 0 0 1px var(--highlight)}.tp-check--done{background:var(--surface)}.tp-check-dot{background:var(--surface);width:42px;height:42px;color:var(--text-h);border-radius:50%;flex:none;place-items:center;font-size:1.1875rem;font-weight:800;display:inline-grid}.tp-check--current .tp-check-dot{background:var(--highlight);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10141c)}.tp-check--done .tp-check-dot{background:var(--muted);color:var(--panel)}.tp-check-dot svg{width:22px;height:22px}.tp-check-text{flex-direction:column;flex:1;gap:3px;display:flex}.tp-check-title{color:var(--text-h);font-size:1.25rem;font-weight:800;line-height:1.2}.tp-check--done .tp-check-title{color:var(--muted);text-decoration:line-through}.tp-check-hint{color:var(--muted);font-size:.95rem}.tp-go{background:var(--accent);min-height:64px;color:var(--on-accent);cursor:pointer;border:0;border-radius:16px;margin-top:auto;font-size:1.25rem;font-weight:800}.tp-go:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}.tp-stage.tp-stage--setup{grid-template-rows:auto auto 1fr;grid-template-columns:min(490px,48%) minmax(0,1fr);align-items:start;gap:1rem 1.5rem;display:grid}.tp-stage--setup .tp-setup,.tp-stage--setup .tp-setup-side{display:contents}.tp-stage--setup .tp-setup-head{grid-area:1/1}.tp-stage--setup .tp-animation{grid-area:2/1;justify-self:center;width:min(100%,100dvh - 380px);min-width:240px}.tp-stage--setup .tp-next{grid-area:3/1}.tp-stage--setup .tp-setup-main{grid-area:1/2/4/3}@media (width<=760px){.tp-setup{flex-direction:column}.tp-stage.tp-stage--setup{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.tp-stage--setup .tp-setup-main{grid-area:3/1}.tp-stage--setup .tp-next{grid-area:4/1}.tp-setup-side{width:100%}}@media (prefers-reduced-motion:reduce){.tp-check{transition:none}}.tp-prep .tp-setup{min-height:min(600px,100dvh - 190px)}.tp-prep .tp-prep-animation{align-self:center;width:min(100%,100dvh - 330px);min-width:240px}.tp{--tp-above:200px;--tp-page-x:1rem;flex-direction:column;gap:1rem;display:flex}@media (width>=1101px){.tp{--tp-above:225px;--tp-page-x:2rem}}.tp-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.tp-title{color:var(--text-h);margin:0;font-size:1.1rem;font-weight:700}.tp-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.tp-controls{flex-wrap:wrap;gap:.5rem;display:flex}.tp-button{border:1px solid var(--border-strong);background:var(--panel);min-height:48px;color:var(--text-h);cursor:pointer;border-radius:999px;align-items:center;padding:0 1.1rem;font-weight:650;display:inline-flex}.tp-button:hover{border-color:var(--accent)}.tp-button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700}.tp-progress{gap:3px;height:8px;display:flex}.tp-progress-seg{--seg:var(--rest);background:color-mix(in srgb, var(--seg) 25%, transparent);border-radius:4px;min-width:2px;position:relative;overflow:hidden}.tp-progress-seg--counter{--seg:var(--counter)}.tp-progress-seg--parallel{--seg:var(--parallel)}.tp-progress-seg--switch{--seg:var(--muted)}.tp-progress-fill{background:var(--seg);transition:width .25s linear;position:absolute;inset:0 auto 0 0}.tp-stage{--tp-side:190px;--tp-gap:1.5rem;align-items:center;gap:2.25rem;display:flex}.tp-stage:not(.tp-stage--setup){grid-template-columns:minmax(var(--tp-side), 1fr) auto minmax(var(--tp-side), 1fr);gap:var(--tp-gap);grid-template-areas:"now animation time";display:grid}.tp-animation{border-radius:18px;flex:none;min-width:280px;position:relative;overflow:hidden;box-shadow:0 6px 18px #1720331a}.tp-stage:not(.tp-stage--setup) .tp-animation{width:min(820px, calc(100dvh - var(--tp-above)), calc(100vw - 2 * var(--tp-page-x) - 2 * var(--tp-side) - 2 * var(--tp-gap)));grid-area:animation}.tp-info.tp-info--now{text-align:right;grid-area:now;align-items:flex-end}.tp-info--time{grid-area:time}.tp-info--now .tp-rpm{text-wrap:balance;font-size:1.25rem;line-height:1.3;display:block}.tp-info--now .tp-rpm svg{vertical-align:-.2em;margin-right:.4rem}.tp-animation[hidden]{display:none}.tp-overlay{color:#fff;background:#0006;place-items:center;font-size:1.75rem;font-weight:800;display:grid;position:absolute;inset:0}.tp-info{flex-direction:column;align-items:flex-start;gap:1rem;min-width:0;display:flex}.tp-step{color:var(--muted);margin:0;font-size:1.125rem;font-weight:700}.tp-title-xl{margin:0;font-size:2.125rem;font-weight:800;line-height:1.15}.tp-countdown{color:var(--text-h);font-variant-numeric:tabular-nums;margin:0;font-size:4.5rem;font-weight:800;line-height:1}.tp-countdown--huge{letter-spacing:-.02em;font-size:clamp(4.5rem,6vw,7rem);line-height:.95}.tp-rpm{color:var(--text-h);align-items:center;gap:.6rem;margin:0;font-size:1.375rem;font-weight:700;display:inline-flex}.tp-rpm svg{flex:none;width:24px;height:24px}.tp-lead{color:var(--text-h);margin:0;font-size:1.5rem;font-weight:700}.tp-hint{color:var(--text-h);margin:0;font-size:1.125rem;font-weight:700}.tp-after{border-top:1px solid var(--border);flex-wrap:wrap;align-self:stretch;align-items:center;gap:.875rem;margin-top:.5rem;padding-top:1rem;display:flex}.tp-after-label{color:var(--muted);font-size:1.0625rem}.tp-after-end{color:var(--text-h);font-size:1.0625rem;font-weight:700}.tp-pause-chip{background:var(--surface);min-height:36px;color:var(--rest-ink);font-variant-numeric:tabular-nums;border-radius:18px;align-items:center;gap:.5rem;padding:0 .75rem;font-size:1rem;font-weight:700;display:inline-flex}.tp-pause-chip svg{width:14px;height:14px}.tp-next{border:1px solid var(--border);background:var(--panel);border-radius:16px;align-items:center;gap:.875rem;padding:.75rem 1rem;display:flex}.tp-next-label{color:var(--muted);font-size:.95rem}.tp-next-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tp-next-name{color:var(--text-h);font-size:1.125rem;font-weight:800}.tp-next-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.tp-info--time .tp-next{flex-direction:column;align-items:flex-start;gap:.5rem}@media (width<=760px),(orientation:portrait){.tp-stage:not(.tp-stage--setup){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"now time""animation animation";align-items:start}.tp-stage:not(.tp-stage--setup) .tp-animation{width:min(100%, calc(100dvh - var(--tp-above) - 220px));justify-self:center;min-width:0}.tp-info.tp-info--now{text-align:left;align-items:flex-start}.tp-countdown--huge{font-size:5rem}}@media (width<=480px){.tp{--tp-now-package:44px}.tp-stage:not(.tp-stage--setup){grid-template-areas:"animation animation""now time";gap:1rem}.tp-stage:not(.tp-stage--setup) .tp-animation{width:100%}.tp-countdown,.tp-countdown--huge{font-size:3.25rem}.tp-title-xl{font-size:1.5rem}.tp-rpm,.tp-lead{font-size:1.125rem}}.tp-finished{text-align:center;align-items:center;padding:3rem 1rem}.tp-finished h2{margin:0;font-size:2.25rem}.tp-finished p{margin:0;font-size:1.125rem}@media (prefers-reduced-motion:reduce){.tp-progress-fill{transition:none}}.tp-step-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;min-height:48px;display:flex}.tp-cue{background:var(--highlight);color:#fff;border-radius:999px;align-items:center;gap:.5rem;margin:0;padding:.4rem 1rem .4rem .75rem;font-size:1.5rem;font-weight:800;line-height:1.2;animation:.36s cubic-bezier(.2,.8,.2,1) tp-cue-in;display:inline-flex}.tp-cue svg{flex:none;width:28px;height:28px}.tp-package-cue{border-radius:calc(var(--package-h) * .55);animation:1.4s ease-in-out 2 tp-package-pulse}.tp-title-icon{align-items:center;gap:.6rem;display:inline-flex}.tp-title-icon svg,.tp-hint svg{width:1.1em;height:1.1em;color:var(--highlight);flex:none}.tp-hint{align-items:center;gap:.5rem;display:inline-flex}@keyframes tp-cue-in{0%{opacity:0;transform:translateY(6px)scale(.92)}}@keyframes tp-package-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--highlight) 0%, transparent);transform:none}50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--highlight) 22%, transparent);transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.tp-cue,.tp-package-cue{animation:none}}.settings-menu{position:relative}.settings-menu>.app-button[aria-expanded=true]{background:var(--surface)}.settings-menu-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.settings-menu-panel{z-index:20;border:1px solid var(--border-strong);background:var(--panel);border-radius:14px;flex-direction:column;gap:8px;width:max-content;min-width:260px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.settings-menu-panel[hidden]{display:none}.settings-menu-panel .theme-switch{justify-content:flex-start;min-height:48px}.settings-menu-group{border:0;border-top:1px solid var(--border);flex-direction:column;margin:0;padding:8px 0 0;display:flex}.settings-menu-group legend{float:left;width:100%;color:var(--muted);padding:0 12px 4px;font-size:.85rem;font-weight:700}.settings-menu-option{min-height:48px;color:var(--text-h);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:650;display:flex}.settings-menu-option:hover{background:var(--surface)}.settings-menu-option input{width:20px;height:20px;accent-color:var(--accent);margin:0}.settings-menu-option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:-3px}.settings-menu-option input:focus-visible{outline:none}
