:root{--ui-font: "Space Grotesk", system-ui, sans-serif;--num-font: "Space Mono", ui-monospace, monospace;--fs-display: 2rem;--fs-h2: 1.0625rem;--fs-base: .9375rem;--fs-sm: .8125rem;--fs-xs: .6875rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 48px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--h-control: 42px;--h-control-sm: 34px;--pad-x: 16px;--gap: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.18);--shadow-md: 0 6px 20px -8px rgba(0,0,0,.45);--shadow-pop: 0 18px 50px -16px rgba(0,0,0,.55);--focus-ring: 0 0 0 3px var(--accent-soft);--dur: .15s;--ease: cubic-bezier(.2,.7,.3,1)}:root[data-density=roomy]{--h-control: 48px;--h-control-sm: 38px;--pad-x: 18px;--gap: 20px;--r-md: 14px;--r-lg: 18px;--r-xl: 26px;--fs-display: 2.25rem}:root[data-density=compact]{--h-control: 36px;--h-control-sm: 30px;--pad-x: 13px;--gap: 12px;--r-sm: 7px;--r-md: 9px;--r-lg: 12px;--r-xl: 16px;--fs-display: 1.75rem}:root,:root[data-theme=dark]{--bg: oklch(.17 .012 255);--bg-grad-a: oklch(.185 .014 262);--bg-grad-b: oklch(.155 .012 250);--surface-1: oklch(.215 .013 256);--surface-2: oklch(.255 .014 257);--surface-3: oklch(.3 .015 258);--surface-inset: oklch(.145 .011 252);--border: oklch(.32 .014 258);--border-soft: oklch(.27 .012 256);--border-strong: oklch(.42 .016 258);--text: oklch(.97 .004 255);--text-2: oklch(.78 .012 256);--text-3: oklch(.62 .014 256);--track: oklch(.3 .013 256);--notation-paper: #fbfbf9;--notation-ink: #14140f;color-scheme:dark}:root[data-theme=light]{--bg: oklch(.975 .004 250);--bg-grad-a: oklch(.99 .004 245);--bg-grad-b: oklch(.955 .006 255);--surface-1: oklch(1 0 0);--surface-2: oklch(.975 .004 252);--surface-3: oklch(.945 .006 255);--surface-inset: oklch(.955 .005 252);--border: oklch(.89 .006 255);--border-soft: oklch(.925 .005 255);--border-strong: oklch(.82 .01 255);--text: oklch(.24 .012 258);--text-2: oklch(.45 .013 258);--text-3: oklch(.58 .012 258);--track: oklch(.9 .006 255);--notation-paper: #ffffff;--notation-ink: #14140f;--shadow-sm: 0 1px 2px rgba(20,22,28,.07);--shadow-md: 0 8px 24px -10px rgba(20,22,28,.18);--shadow-pop: 0 18px 50px -14px rgba(20,22,28,.22);color-scheme:light}:root[data-accent=coral]{--accent: oklch(.7 .155 38);--accent-strong: oklch(.64 .165 36);--accent-press: oklch(.58 .16 35);--accent-soft: oklch(.7 .155 38 / .18);--accent-tint: oklch(.7 .155 38 / .12);--on-accent: oklch(.18 .03 40)}:root[data-accent=teal]{--accent: oklch(.74 .115 178);--accent-strong: oklch(.68 .12 180);--accent-press: oklch(.62 .12 182);--accent-soft: oklch(.74 .115 178 / .2);--accent-tint: oklch(.74 .115 178 / .13);--on-accent: oklch(.2 .03 190)}:root[data-accent=indigo]{--accent: oklch(.62 .16 274);--accent-strong: oklch(.57 .17 274);--accent-press: oklch(.51 .17 274);--accent-soft: oklch(.62 .16 274 / .22);--accent-tint: oklch(.62 .16 274 / .14);--on-accent: oklch(.99 .01 274)}:root[data-accent=amber]{--accent: oklch(.78 .14 78);--accent-strong: oklch(.72 .145 72);--accent-press: oklch(.66 .14 68);--accent-soft: oklch(.78 .14 78 / .2);--accent-tint: oklch(.78 .14 78 / .13);--on-accent: oklch(.22 .04 70)}:root{--success: oklch(.72 .13 158);--success-fg: oklch(.18 .03 158);--danger: oklch(.64 .18 22);--danger-soft: oklch(.64 .18 22 / .14)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}html{overflow-x:clip}body{max-width:100%}body{font-family:var(--ui-font);background:radial-gradient(120% 90% at 80% -10%,var(--bg-grad-a),transparent 60%),radial-gradient(120% 90% at 0% 110%,var(--bg-grad-b),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}button{font-family:inherit}::selection{background:var(--accent-soft)}.num{font-family:var(--num-font);font-feature-settings:"tnum" 1;letter-spacing:-.01em}svg.ic{width:18px;height:18px;flex:none}.app{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 64px}.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) clamp(16px,4vw,40px);max-width:1240px;margin:0 auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 72%,transparent);border-bottom:1px solid var(--border-soft)}.brand{display:flex;align-items:center;gap:var(--s-2);font-weight:700}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(160deg,var(--accent),var(--accent-strong));color:var(--on-accent);box-shadow:var(--shadow-sm);flex:none}.brand-name{font-size:1.15rem;letter-spacing:-.02em;font-weight:700}.appbar-spacer{flex:1 1 auto}.appbar-right{display:flex;align-items:center;gap:var(--s-2)}.btn{--_h: var(--h-control);height:var(--_h);min-height:var(--_h);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 var(--pad-x);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--fs-base);font-weight:600;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur)}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn .ic{width:17px;height:17px;flex:none}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:transparent}.btn-sm{--_h: var(--h-control-sm);padding:0 12px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-accent{background:var(--accent);border-color:transparent;color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-accent:hover{background:var(--accent-strong);border-color:transparent}.btn-accent:active{background:var(--accent-press)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.iconbtn{--_h: var(--h-control);width:var(--_h);height:var(--_h);display:inline-grid;place-items:center;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:all var(--dur) var(--ease)}.iconbtn:hover{background:var(--surface-3);color:var(--text)}.iconbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.iconbtn .ic{width:18px;height:18px}.transport{--_d: 86px;width:var(--_d);height:var(--_d);flex:none;display:grid;place-items:center;border-radius:var(--r-xl);border:none;cursor:pointer;position:relative;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 30px -10px color-mix(in oklab,var(--accent) 70%,transparent),var(--shadow-sm);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur)}.transport:hover{background:var(--accent-strong);transform:translateY(-1px)}.transport:active{transform:translateY(0) scale(.98)}.transport:focus-visible{outline:none;box-shadow:var(--focus-ring),0 10px 30px -10px color-mix(in oklab,var(--accent) 70%,transparent)}.transport .ic{width:34px;height:34px}.transport.is-playing{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow-sm)}.transport .label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.transport.is-playing:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit;border:2px solid var(--accent);opacity:0;animation:pulse 1.2s var(--ease) infinite}@keyframes pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md)}.seg-item{height:calc(var(--h-control) - 8px);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:none;background:transparent;border-radius:calc(var(--r-md) - 4px);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--dur) var(--ease)}.seg-item:hover{color:var(--text);background:color-mix(in oklab,var(--surface-3) 60%,transparent)}.seg-item[aria-pressed=true],.seg-item.is-active{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.seg.seg-accent .seg-item.is-active{background:var(--accent);color:var(--on-accent)}.seg-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.seg-item .glyph{font-family:var(--num-font)}.notepick{display:inline-flex;gap:6px}.notepick .seg-item{width:var(--h-control);height:var(--h-control);padding:0;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border-soft)}.notepick .seg-item:hover{background:var(--surface-3)}.notepick .seg-item.is-active{background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:var(--shadow-sm)}.notepick .seg-item svg{width:22px;height:26px}.switch{display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;height:var(--h-control);padding:0 4px}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{--_w: 46px;--_h: 26px;width:var(--_w);height:var(--_h);flex:none;border-radius:999px;background:var(--track);border:1px solid var(--border);position:relative;transition:background var(--dur) var(--ease),border-color var(--dur)}.switch .thumb{position:absolute;top:50%;left:3px;transform:translateY(-50%);width:20px;height:20px;border-radius:999px;background:var(--text-3);box-shadow:var(--shadow-sm);transition:left var(--dur) var(--ease),background var(--dur) var(--ease),width var(--dur)}.switch input:checked+.track{background:var(--accent);border-color:transparent}.switch input:checked+.track .thumb{left:calc(100% - 23px);background:var(--on-accent)}.switch input:focus-visible+.track{box-shadow:var(--focus-ring)}.switch .switch-label{font-size:var(--fs-base);font-weight:600;color:var(--text-2);transition:color var(--dur)}.switch input:checked~.switch-label{color:var(--text)}.switch .switch-ic{width:17px;height:17px;color:var(--text-3);flex:none}:root[data-toggle-style=pill] .switch .track{display:none}:root[data-toggle-style=pill] .switch{height:var(--h-control);padding:0 var(--pad-x);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);gap:8px}:root[data-toggle-style=pill] .switch .switch-ic{color:var(--text-3)}:root[data-toggle-style=pill] .switch:has(input:checked){background:var(--accent-tint);border-color:color-mix(in oklab,var(--accent) 45%,transparent)}:root[data-toggle-style=pill] .switch:has(input:checked) .switch-label,:root[data-toggle-style=pill] .switch:has(input:checked) .switch-ic{color:var(--accent)}:root[data-toggle-style=pill] .switch:has(input:checked):after{content:"";width:7px;height:7px;border-radius:999px;background:var(--accent);order:-1;box-shadow:0 0 8px var(--accent)}.range{display:block;width:100%}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;margin:0;accent-color:var(--accent)}.range input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--accent) var(--_fill,50%),var(--track) var(--_fill,50%))}.range input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--track)}.range input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:var(--accent)}.range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-6px;border-radius:999px;background:var(--surface-1);border:2px solid var(--accent);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease)}.range input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:999px;border:2px solid var(--accent);background:var(--surface-1);box-shadow:var(--shadow-sm)}.range input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.range input[type=range]:focus-visible{outline:none}.range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.stepper{display:inline-flex;align-items:center;height:var(--h-control);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-inset);overflow:hidden}.stepper input{width:56px;height:100%;border:none;background:transparent;color:var(--text);text-align:center;font-family:var(--num-font);font-size:var(--fs-base);font-weight:700;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus{outline:none}.stepper .step-btns{display:flex;flex-direction:column;border-left:1px solid var(--border-soft)}.stepper .step-btns button{flex:1;width:26px;border:none;background:transparent;color:var(--text-3);cursor:pointer;display:grid;place-items:center;padding:0}.stepper .step-btns button:hover{background:var(--surface-3);color:var(--text)}.stepper .step-btns button:first-child{border-bottom:1px solid var(--border-soft)}.stepper .step-btns .ic{width:12px;height:12px}.stepper:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.card{background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.field-label{display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:var(--s-2)}.eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.page-title{font-size:var(--fs-display);font-weight:700;letter-spacing:-.025em;margin:0}.input{height:var(--h-control);width:100%;padding:0 var(--pad-x);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-inset);color:var(--text);font-size:var(--fs-base);font-weight:600}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input::placeholder{color:var(--text-3)}.select{height:var(--h-control);padding:0 36px 0 var(--pad-x);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--num-font);font-weight:700;font-size:var(--fs-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.metro{display:grid;gap:var(--s-6)}.metro-hero{display:grid;grid-template-columns:auto 1fr;gap:var(--s-7);align-items:center;padding:var(--s-7) var(--s-7);background:radial-gradient(80% 120% at 0% 0%,var(--accent-tint),transparent 55%),var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.metro-hero-readout{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.bpm-readout{display:flex;align-items:baseline;gap:10px}.bpm-readout .val{font-family:var(--num-font);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1}.bpm-readout .unit{font-size:var(--fs-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.bpm-readout .meta{margin-left:auto;font-family:var(--num-font);color:var(--text-2);font-size:var(--fs-base)}.beats{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.beat{width:26px;height:26px;border-radius:999px;background:var(--surface-inset);border:1.5px solid var(--border-strong);transition:transform 90ms var(--ease),background 90ms var(--ease),box-shadow 90ms var(--ease),border-color 90ms}.beat.is-down{border-color:var(--accent)}.beat.is-active{background:var(--text-2);border-color:transparent;transform:scale(1.12)}.beat.is-active.is-down{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 6px 16px -6px var(--accent);transform:scale(1.22)}.beat.sub{width:12px;height:12px;border-width:1px;opacity:.8}.beat.sub.is-active{background:var(--text-3);transform:scale(1.1)}.ctl-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s-5)}.group{grid-column:span 12;display:grid;gap:var(--s-3);align-content:start}.group .group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}@media (min-width: 760px){.group.col-6{grid-column:span 6}.group.col-7{grid-column:span 7}.group.col-5{grid-column:span 5}.group.col-4{grid-column:span 4}.group.col-8{grid-column:span 8}}.tempo-row{display:flex;align-items:center;gap:var(--s-4)}.tempo-row .range{flex:1 1 auto}.toggles{display:flex;flex-wrap:wrap;gap:var(--s-3)}.volume-row{display:flex;align-items:center;gap:var(--s-4)}.volume-row .v-ic{width:20px;height:20px;color:var(--text-3);flex:none}.volume-row .v-val{font-family:var(--num-font);font-weight:700;min-width:52px;text-align:right;color:var(--text)}.volume-row .range{flex:1 1 auto}.divider{height:1px;background:var(--border-soft);border:none;margin:0}.ex-layout{display:grid;grid-template-columns:286px 1fr;gap:var(--s-6);align-items:start}@media (max-width: 940px){.ex-layout{grid-template-columns:1fr}}.library{position:sticky;top:84px;display:grid;gap:var(--s-3)}@media (max-width: 940px){.library{position:static}}.library .lib-head{display:flex;align-items:center;justify-content:space-between}.library h2{font-size:var(--fs-h2);font-weight:700;margin:0;letter-spacing:-.01em}.lib-section-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:var(--s-3) 0 var(--s-1) 4px}.lib-list{display:grid;gap:6px;max-height:62vh;overflow:auto;padding-right:4px}@media (max-width: 940px){.lib-list{max-height:none}}.lib-item{text-align:left;width:100%;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);cursor:pointer;position:relative;transition:all var(--dur) var(--ease)}.lib-item:hover{background:var(--surface-3);border-color:var(--border)}.lib-item .li-name{font-weight:600;font-size:var(--fs-base)}.lib-item .li-meta{font-family:var(--num-font);font-size:var(--fs-xs);color:var(--text-3);letter-spacing:-.01em}.lib-item.is-active{border-color:var(--accent);background:var(--accent-tint)}.lib-item.is-active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}.lib-item .li-del{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:none;place-items:center;border-radius:8px;border:none;background:transparent;color:var(--text-3);cursor:pointer}.lib-item:hover .li-del{display:grid}.lib-item .li-del:hover{background:var(--danger-soft);color:var(--danger)}.lib-empty{color:var(--text-3);font-size:var(--fs-sm);padding:8px 4px}.editor{display:grid;gap:var(--s-5);min-width:0}.editor-head{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.editor-head .name-input{flex:1 1 280px}.name-input .input{font-size:1.05rem;font-weight:700;height:var(--h-control)}.editor-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.transport-card{display:grid;gap:var(--s-5)}.transport-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5)}.transport-row .tempo-block{display:grid;gap:var(--s-3);flex:1 1 320px;min-width:240px}.meter-block{display:flex;gap:var(--s-5);flex-wrap:wrap}.meter-block .blk{display:grid;gap:var(--s-2)}.vol-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}@media (max-width: 620px){.vol-pair{grid-template-columns:1fr}}.view-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.seq{background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:var(--s-4);overflow-x:auto}.seq-grid{display:grid;gap:6px;min-width:max-content}.seq-row{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:var(--s-3)}.seq-rowlabel{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.seq-rowlabel .dot{width:10px;height:10px;border-radius:3px;flex:none}.seq-cells{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.cell{height:34px;border-radius:7px;border:1px solid var(--border-soft);background:var(--surface-inset);cursor:pointer;position:relative;transition:background 80ms var(--ease),border-color 80ms,transform 80ms}.cell:hover{border-color:var(--border-strong)}.cell.beat-start{border-left:2px solid var(--border-strong)}.cell.on{background:var(--accent);border-color:transparent}.cell.accent{background:var(--accent);border-color:transparent;box-shadow:inset 0 0 0 2px var(--on-accent)}.cell.accent:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid var(--on-accent);opacity:.9}.cell.play-col{box-shadow:0 0 0 2px var(--accent-soft)}.cell.stick{background:var(--surface-2);display:grid;place-items:center;font-family:var(--num-font);font-weight:700;color:var(--text-3);font-size:var(--fs-sm)}.cell.stick.R{color:var(--accent)}.cell.stick.L{color:var(--text)}.seq-ruler{display:grid;grid-template-columns:132px 1fr;gap:var(--s-3);margin-bottom:8px}.seq-ruler .ticks{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.seq-ruler .tick{text-align:center;font-family:var(--num-font);font-size:var(--fs-xs);color:var(--text-3)}.seq-ruler .tick.beat{color:var(--text-2);font-weight:700}.seq-ruler .tick.play{color:var(--accent)}.notation-wrap{background:var(--notation-paper);border-radius:var(--r-lg);padding:var(--s-6) var(--s-5);box-shadow:var(--shadow-md);border:1px solid color-mix(in oklab,var(--notation-ink) 12%,transparent);overflow-x:auto}.notation-hint{color:var(--text-3);font-size:var(--fs-sm);margin-top:var(--s-2)}.muted-line{color:var(--text-3);font-size:var(--fs-sm)}@media (max-width: 680px){.metro-hero{grid-template-columns:1fr;gap:var(--s-6);justify-items:start}.transport{--_d: 76px}.editor-head .editor-actions{width:100%}}.langswitch{display:inline-flex;padding:3px;background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md)}.langswitch button{height:calc(var(--h-control) - 8px);padding:0 12px;border:none;background:transparent;border-radius:calc(var(--r-md) - 4px);color:var(--text-2);font-weight:700;font-size:var(--fs-sm);cursor:pointer;font-family:var(--num-font);letter-spacing:.02em;transition:all var(--dur) var(--ease)}.langswitch button.is-active{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.fab{position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));display:none;align-items:center;gap:10px;height:64px;min-width:64px;padding:0 8px;border:none;border-radius:var(--r-pill);cursor:pointer;background:var(--accent);color:var(--on-accent);box-shadow:0 14px 34px -8px color-mix(in oklab,var(--accent) 65%,transparent),0 4px 12px #0000004d;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur);-webkit-tap-highlight-color:transparent}.fab .ic{width:30px;height:30px;margin:0 8px;flex:none}.fab .fab-label{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;padding-right:14px}.fab:active{transform:translate(-50%) scale(.96)}.fab.is-playing{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow-pop)}.fab.is-playing:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;border:2px solid var(--accent);opacity:0;animation:pulse 1.1s var(--ease) infinite}@media (pointer: coarse){.fab{display:inline-flex}}@media (max-width: 940px){.fab{display:inline-flex}}@media (min-width: 941px) and (pointer: fine){.fab{display:none}}:root{--pb-h: 78px;--bn-h: 66px;--side-w: 250px}:root[data-density=compact]{--pb-h: 70px}:root[data-density=roomy]{--pb-h: 88px}.shell{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:100vh}.topbar{display:none}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5) var(--s-4);background:color-mix(in oklab,var(--surface-1) 70%,var(--bg));border-right:1px solid var(--border-soft)}.side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px var(--s-2)}.side-brand .brand-name{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.side-nav{display:grid;gap:4px}.side-link{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:var(--r-md);border:none;background:transparent;color:var(--text-2);font-size:var(--fs-base);font-weight:600;cursor:pointer;text-align:left;transition:all var(--dur) var(--ease)}.side-link .ic{width:20px;height:20px}.side-link:hover{background:var(--surface-2);color:var(--text)}.side-link.is-active{background:var(--accent-tint);color:var(--accent)}.side-tree{display:grid;gap:2px}.side-parent{display:flex;align-items:center;height:44px;border-radius:var(--r-md);color:var(--text-2);padding:0}.side-parent.is-active{color:var(--accent)}.side-parent.is-active .side-parent-main{background:var(--accent-tint)}.side-parent-main{flex:1;display:flex;align-items:center;gap:12px;height:100%;padding:0 12px;border:none;background:none;color:inherit;font-family:inherit;font-size:var(--fs-base);font-weight:600;cursor:pointer;border-radius:var(--r-md);text-align:left}.side-parent-main .ic{width:20px;height:20px}.side-parent:not(.is-active) .side-parent-main:hover{background:var(--surface-2);color:var(--text)}.side-caret{width:32px;height:100%;display:grid;place-items:center;border:none;background:none;color:var(--text-3);cursor:pointer;border-radius:var(--r-md);flex:none}.side-caret .ic-xs{transition:transform var(--dur) var(--ease)}.side-caret.open .ic-xs{transform:rotate(90deg)}.side-caret:hover{color:var(--text);background:var(--surface-2)}.side-sub{display:grid;gap:1px;margin:2px 0 4px 19px;padding-left:8px;border-left:1px solid var(--border-soft)}.side-subitem{display:flex;align-items:center;gap:8px;height:31px;padding:0 10px;border:none;background:none;color:var(--text-3);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;border-radius:var(--r-sm);text-align:left}.side-subitem:hover{background:var(--surface-2);color:var(--text)}.side-subitem.is-active{background:var(--accent-tint);color:var(--accent)}.side-dot{width:8px;height:8px;border-radius:3px;flex:none}.side-subic{width:14px;height:14px}.side-badge{margin-left:auto;font-family:var(--num-font);font-size:11px;background:var(--surface-3);color:var(--text-2);padding:1px 7px;border-radius:999px}.side-subitem.is-soon .soon{margin-left:auto}.side-stat{margin-top:auto;display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-sm);border:1px solid var(--border-soft)}.side-stat .ic-xs{color:var(--accent)}.side-stat .num{color:var(--text);font-weight:700}.side-foot{display:flex;align-items:center;gap:var(--s-2);justify-content:space-between}.main{padding:var(--s-6) clamp(16px,3.5vw,40px) calc(var(--pb-h) + 48px);min-width:0;width:100%;max-width:1180px}.ic-xs{width:14px;height:14px;flex:none}.playerbar{position:fixed;bottom:0;left:var(--side-w);right:0;z-index:50;padding:0 clamp(16px,3.5vw,40px);background:color-mix(in oklab,var(--surface-1) 86%,var(--bg));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border)}.pb-inner{height:var(--pb-h);max-width:1180px;display:flex;align-items:center;gap:var(--s-5)}.pb-play{width:54px;height:54px;flex:none;border:none;cursor:pointer;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 22px -8px color-mix(in oklab,var(--accent) 65%,transparent);transition:transform var(--dur) var(--ease),background var(--dur)}.pb-play .ic{width:26px;height:26px}.pb-play:hover{background:var(--accent-strong)}.pb-play:active{transform:scale(.95)}.pb-play.is-playing{background:var(--surface-3);color:var(--text)}.pb-now{min-width:0;flex:0 1 220px;display:grid;gap:1px}.pb-title-row{display:flex;align-items:center;gap:8px}.pb-eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.pb-cat{width:8px;height:8px;border-radius:3px;flex:none}.pb-title{font-weight:700;font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.pb-source{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-beats{flex:1 1 auto;display:flex;justify-content:center;overflow:hidden}.pb-beats .beats{gap:8px}.pb-tempo{display:flex;align-items:center;gap:10px;flex:none}.pb-step{width:34px;height:34px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1.1rem;cursor:pointer;line-height:1}.pb-step:hover{background:var(--surface-3)}.pb-bpm{display:flex;flex-direction:column;align-items:center;min-width:52px}.pb-bpm-val{font-size:1.3rem;font-weight:700;line-height:1;letter-spacing:-.03em}.pb-bpm-unit{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.bottomnav{display:none}.library2{display:grid;gap:var(--s-5)}.lib2-head{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;justify-content:space-between}.crumbs{display:flex;align-items:center;gap:6px}.crumb{background:none;border:none;cursor:pointer;font-size:var(--fs-h2);font-weight:700;color:var(--text-3);padding:0;letter-spacing:-.01em}.crumb.cur{color:var(--text);cursor:default}.crumb-sep{color:var(--text-3)}.lib2-search{display:flex;align-items:center;gap:8px;height:var(--h-control);padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-inset);min-width:240px;flex:0 1 360px}.lib2-search .ic{width:18px;height:18px;color:var(--text-3)}.lib2-search input{flex:1;border:none;background:transparent;color:var(--text);font-family:inherit;font-size:var(--fs-base)}.lib2-search input:focus{outline:none}.lib2-search input::placeholder{color:var(--text-3)}.search-clear{border:none;background:none;color:var(--text-3);cursor:pointer;display:grid;place-items:center}.filters-row{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;padding-bottom:var(--s-2);border-bottom:1px solid var(--border-soft)}.fgroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fg-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-right:2px}.fchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease)}.fchip:hover{border-color:var(--border-strong);color:var(--text)}.fchip.is-active{background:var(--accent-tint);border-color:color-mix(in oklab,var(--accent) 45%,transparent);color:var(--accent)}.fchip-dot{width:8px;height:8px;border-radius:999px}.clear-filters{display:inline-flex;align-items:center;gap:5px;border:none;background:none;color:var(--text-3);cursor:pointer;font-size:var(--fs-sm);font-weight:600}.clear-filters:hover{color:var(--danger)}.sec-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:var(--s-3) 0 0}.lib2-home{display:grid;gap:var(--s-3)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s-3)}.cat-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-height:132px;padding:var(--s-4);border-radius:var(--r-lg);border:1px solid var(--border-soft);background:var(--surface-1);cursor:pointer;text-align:left;transition:all var(--dur) var(--ease)}.cat-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cat-icon{width:38px;height:38px;border-radius:var(--r-md);display:grid;place-items:center;color:#16140f;margin-bottom:auto}.cat-icon .ic{width:20px;height:20px}.cat-name{font-weight:700;font-size:var(--fs-base);line-height:1.2}.cat-count{font-size:var(--fs-xs);color:var(--text-3)}.coll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}.coll-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r-lg);border:1px solid var(--border-soft);background:var(--surface-1);cursor:pointer;text-align:left;transition:all var(--dur) var(--ease)}.coll-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.coll-icon{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--surface-3);color:var(--text-2);flex:none}.coll-body{display:grid;gap:2px;flex:1}.coll-name{font-weight:700}.coll-meta{font-size:var(--fs-xs);color:var(--text-3)}.coll-go{color:var(--text-3)}.coll-card.is-soon{opacity:.85}.soon{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:2px 6px;border-radius:6px;vertical-align:middle}.exlist{display:grid;gap:8px}.exlist-count{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:2px}.exrow{display:grid;grid-template-columns:4px 1fr auto auto 20px;align-items:center;gap:var(--s-4);padding:12px 16px 12px 12px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-1);cursor:pointer;text-align:left;transition:all var(--dur) var(--ease)}.exrow:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translate(2px)}.exrow-cat{width:4px;height:34px;border-radius:3px}.exrow-main{display:grid;gap:5px;min-width:0}.exrow-name{font-weight:600;font-size:var(--fs-base);display:flex;align-items:center;gap:8px}.exrow-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip-sm{font-size:var(--fs-xs);color:var(--text-3);font-weight:600}.exrow-source{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--text-3)}.exrow-meta{font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap}.exrow-go{color:var(--text-3);display:grid;place-items:center}.exrow-go .ic{width:18px;height:18px}.pattern-strip{display:none;gap:2px}@media (min-width: 720px){.pattern-strip{display:flex}}.ps-cell{width:7px;height:18px;border-radius:2px;background:var(--surface-inset);border:1px solid var(--border-soft)}.ps-cell.on{background:var(--accent);border-color:transparent;opacity:.65}.prog-ind{width:18px;height:18px;border-radius:999px;display:inline-grid;place-items:center}.prog-ind.done{background:var(--success);color:var(--success-fg)}.prog-ind.master{background:var(--accent);color:var(--on-accent)}.pill-diff{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}.pill-diff.sm{font-size:var(--fs-xs)}.pd-dot{width:8px;height:8px;border-radius:999px;background:var(--d)}.empty-state{display:grid;justify-items:center;text-align:center;gap:10px;padding:64px 20px}.empty-icon{width:64px;height:64px;border-radius:var(--r-xl);display:grid;place-items:center;background:var(--surface-2);color:var(--text-3)}.empty-icon .ic{width:28px;height:28px}.empty-state h2{margin:0;font-size:var(--fs-display);letter-spacing:-.02em}.empty-state p{margin:0;color:var(--text-3);max-width:360px}.practice{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5);min-width:0}.practice>*{min-width:0}.notation,.notation-wrap{max-width:100%}.prac-top{display:flex}.prac-back{display:inline-flex;align-items:center;gap:8px;border:none;background:none;color:var(--text-2);cursor:pointer;font-weight:600;font-size:var(--fs-sm);padding:4px 0}.prac-back:hover{color:var(--text)}.prac-back .ic{width:18px;height:18px}.prac-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.prac-titlewrap{display:grid;gap:10px;min-width:0}.prac-name{margin:0;font-size:var(--fs-display);font-weight:700;letter-spacing:-.025em}.prac-name-input{font-size:1.4rem!important;font-weight:700;height:auto;padding:8px 14px}.prac-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-soft);font-size:var(--fs-sm);font-weight:600;color:var(--text-2);white-space:nowrap}.chip.num{font-family:var(--num-font)}.chip-dot{width:8px;height:8px;border-radius:3px}.chip-source{color:var(--text-3)}.chip-source .ic-xs{width:12px;height:12px}.chip-tag{color:var(--text-3);background:transparent;border-color:transparent;padding:0 4px}.prac-progress{display:flex;gap:8px;flex:none}.prog-btn{display:inline-flex;align-items:center;gap:7px;height:var(--h-control);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:var(--fs-sm);cursor:pointer;transition:all var(--dur) var(--ease)}.prog-btn .ic{width:17px;height:17px}.prog-btn:hover{border-color:var(--border-strong);color:var(--text)}.prog-btn.is-on{background:var(--success);border-color:transparent;color:var(--success-fg)}.prog-btn.prog-master.is-on{background:var(--accent);color:var(--on-accent)}.prac-controls{display:flex;flex-wrap:wrap;gap:var(--s-6);align-items:flex-start}.prac-controls .tempo-block{flex:1 1 320px;min-width:240px;display:grid;gap:var(--s-3)}.static-field{height:var(--h-control);display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--r-md);background:var(--surface-inset);border:1px solid var(--border-soft);color:var(--text);font-weight:700;gap:6px}.metroview{display:grid;gap:var(--s-6)}.metro-stage{display:grid;justify-items:center;gap:var(--s-5);padding:var(--s-8) var(--s-6);background:radial-gradient(70% 120% at 50% 0%,var(--accent-tint),transparent 60%),var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--r-xl)}.metro-bpm{display:flex;align-items:baseline;gap:10px}.metro-bpm-val{font-size:clamp(3rem,9vw,5rem);font-weight:700;letter-spacing:-.04em;line-height:1}.metro-bpm-unit{font-size:var(--fs-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.metro-bigbeats .beats{gap:14px}.metro-bigbeats .beat{width:34px;height:34px}.metro-bigbeats .beat.sub{width:16px;height:16px}.cell.ro{cursor:default}.cell.ro:hover{border-color:var(--border-soft)}.editor-badge{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text-2);font-weight:700;font-size:var(--fs-sm)}.bar-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.bar-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bar-tab{height:32px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-family:var(--num-font);font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:all var(--dur) var(--ease)}.bar-tab:hover{background:var(--surface-3);color:var(--text)}.bar-tab.is-active{background:var(--accent);color:var(--on-accent);border-color:transparent}.bar-tab.is-playing:not(.is-active){border-color:var(--accent);color:var(--accent)}.bar-add{height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px dashed var(--border-strong);background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.bar-add:hover{border-color:var(--accent);color:var(--accent)}.bar-ops{display:flex;gap:6px}.iconbtn-sm{width:34px;height:34px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);display:grid;place-items:center;cursor:pointer}.iconbtn-sm:hover{background:var(--surface-3);color:var(--text)}.iconbtn-sm.del:hover{background:var(--danger-soft);color:var(--danger)}.iconbtn-sm:disabled{opacity:.4;cursor:not-allowed}.pb-sub{display:flex;gap:4px;flex:none}.pb-sub-btn{width:36px;height:40px;padding:0;cursor:pointer;border-radius:var(--r-sm);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-2);display:grid;place-items:center;transition:all var(--dur) var(--ease)}.pb-sub-btn svg{width:18px;height:22px}.pb-sub-btn:hover{background:var(--surface-3);color:var(--text)}.pb-sub-btn.is-active{background:var(--accent);color:var(--on-accent);border-color:transparent}.view-bar{align-items:center}.view-actions{display:flex;gap:8px;flex-wrap:wrap}.sel-sm{font-family:var(--ui-font);font-weight:600;height:28px;padding:0 30px 0 10px;font-size:var(--fs-sm);border-radius:var(--r-pill);background:var(--surface-2)}.edit-hint{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:var(--fs-sm);margin-top:-4px}.sec-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3)}.sec-actions{display:flex;gap:8px;flex-wrap:wrap}.exlist-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:2px}.empty-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.coll-create{border-style:dashed;border-color:var(--border);background:transparent}.coll-create:hover{border-color:var(--accent);background:var(--accent-tint)}.coll-icon.create{background:var(--accent);color:var(--on-accent)}.exrow.has-actions{grid-template-columns:4px 1fr auto auto auto}.exrow-actions{display:flex;gap:4px}.rowact{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--text-3)}.rowact .ic{width:16px;height:16px}.rowact:hover{background:var(--surface-3);color:var(--text)}.rowact.del:hover{background:var(--danger-soft);color:var(--danger)}.ps-cell{width:6px;height:18px;border-radius:2px;background:var(--surface-inset);border:1px solid var(--border-soft)}.ps-cell.beat:not(:first-child){margin-left:5px}.ps-cell.on{background:var(--accent);border-color:transparent;opacity:.5}.ps-cell.acc{background:var(--accent);border-color:transparent;opacity:1}@media (max-width: 900px){.pb-sub{display:none}}@media (max-width: 900px){:root{--pb-h: 88px}.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;padding:10px clamp(14px,4vw,20px);background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft)}.topbar .side-brand{padding:0}.topbar .brand-name{font-size:1.05rem}.main{padding:var(--s-4) clamp(14px,4vw,20px) calc(var(--pb-h) + var(--bn-h) + 24px);max-width:100%}.playerbar{left:0;bottom:var(--bn-h)}.pb-inner{gap:14px}.pb-play{width:64px;height:64px;border-radius:20px;box-shadow:0 10px 26px -8px color-mix(in oklab,var(--accent) 70%,transparent)}.pb-play .ic{width:32px;height:32px}.pb-play.is-playing{box-shadow:var(--shadow-md)}.pb-now{flex:1 1 auto;min-width:0}.pb-beats{display:none}.pb-tempo{margin-left:auto;gap:6px}.pb-inner{gap:12px;max-width:100%}.pb-title-row{min-width:0}.pb-eyebrow{display:none}.pb-title{font-size:var(--fs-sm)}.pb-play{width:56px;height:56px}.pb-step{width:34px}.pb-bpm{min-width:44px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;height:var(--bn-h);padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in oklab,var(--surface-1) 92%,var(--bg));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border)}.bn-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;color:var(--text-3);cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.02em}.bn-link .ic{width:22px;height:22px}.bn-link.is-active{color:var(--accent)}.bn-lang{font-size:13px;font-weight:700;line-height:22px}.prac-head{flex-direction:column}.prac-progress{width:100%}.prog-btn{flex:1;justify-content:center}.seq-row,.seq-ruler{grid-template-columns:84px 1fr}.seq-cells,.seq-ruler .ticks{grid-auto-columns:minmax(26px,1fr)}.seq-rowlabel{font-size:.78rem}}@media (max-width: 560px){.filters-row{gap:var(--s-3)}.cat-grid{grid-template-columns:repeat(2,1fr)}.exrow{grid-template-columns:4px 1fr 18px}.exrow-meta{display:none}.prac-controls{gap:var(--s-4)}.metro-bigbeats .beat{width:26px;height:26px}}.side-foot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.app-version{font-size:11px;color:var(--text-3);letter-spacing:.04em}.accent-picker{display:flex;gap:var(--s-2);margin-bottom:var(--s-3)}.side-foot-row .accent-picker{margin-bottom:0}.side-foot-row .app-version{margin-left:var(--s-2)}.accent-dot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color var(--dur) var(--ease)}.accent-dot.is-active{border-color:var(--text)}.notation,.notation-inner{position:relative}.vf-host{position:relative;z-index:1}.vf-host svg{display:block}.vf-line{overflow:visible}.vf-line svg{display:block;overflow:visible}.note-playhead{position:absolute;background:color-mix(in oklab,var(--accent) 26%,transparent);border-left:2px solid var(--accent);border-radius:4px;z-index:2;pointer-events:none}.notation-wrap .notation-inner{background:transparent;border:0}.beat-feel{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-3)}.beat-feel-item{display:flex;align-items:center;gap:6px}.beat-feel-label{font-size:var(--fs-xs);color:var(--text-3);font-weight:700}.beat-feel .notepick .seg-item{width:30px;height:30px}.beat-feel .notepick .note-icon{height:18px}.seq .cell.roll{background:#8286e6;border-color:transparent;color:var(--on-accent);display:grid;place-items:center;font-family:var(--num-font);font-weight:700;font-size:12px}.seq .cell.flam{background:#60aaf3;border-color:transparent;color:var(--on-accent);display:grid;place-items:center;font-family:var(--num-font);font-weight:700;font-size:12px}:root{--play-green: oklch(.77 .16 153)}.seq .cell.play-col{box-shadow:0 0 0 2px var(--play-green)}.seq-ruler .tick.play{color:var(--play-green)}.main{margin-inline:auto}.pb-inner{margin-inline:auto;width:100%}.pb-subtoggle{flex:none;height:40px;min-width:44px;padding:0 8px;display:grid;place-items:center;cursor:pointer;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);transition:all var(--dur) var(--ease)}.pb-subtoggle svg{width:22px;height:26px}.pb-subtoggle:hover{color:var(--text);border-color:var(--border-strong)}.pb-subtoggle.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (max-width: 900px){.pb-subtoggle{display:none}}.ramp-block .ramp-fields{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5)}.ramp-field{display:inline-flex;align-items:center;gap:8px}.ramp-field .ramp-cap{color:var(--text-3);font-size:.85rem;white-space:nowrap}.ramp-field .stepper{width:96px}.pb-muted-pill{font-size:.66rem;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:#f0764f29;color:var(--accent);text-transform:uppercase;white-space:nowrap}.bar-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3)}.bar-block{border:1px solid var(--border-soft);border-radius:var(--r-md);padding:8px;background:var(--surface-1)}.bar-block-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bar-tag{font-size:.72rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.bar-ts{height:30px;padding:0 6px;font-size:.85rem}.bar-acts{margin-left:auto;display:inline-flex;gap:4px}.bar-act{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);cursor:pointer}.bar-act:hover{color:var(--text);border-color:var(--border-strong)}.bar-act.bar-del:hover{color:var(--danger, oklch(.65 .2 25))}.bar-block .beat-feel{margin:0}.bar-add{align-self:center;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--r-md);border:1px dashed var(--border-strong);background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs-sm);cursor:pointer}.bar-add:hover{color:var(--text);border-color:var(--accent)}.bar-add .ic{width:16px;height:16px}.seq .cell.bar-start{border-left:2px solid var(--accent)}.seq-ruler .tick.bar-start{position:relative}.seq-ruler .tick .tick-bar{position:absolute;bottom:100%;left:0;white-space:nowrap;font-size:.62rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;padding-bottom:2px}.cell-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1)}.cell-legend .cl-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3)}.cell-legend .cl-item{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-2)}.cell-legend .cl-sw{width:22px;height:22px;flex:none;cursor:default;position:relative;display:grid;place-items:center;font-size:11px}.cell-legend .cl-sw.cell:hover{border-color:var(--border-soft)}.cell-legend .cl-rl{min-width:22px;height:22px;padding:0 5px;flex:none;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border-soft);font-family:var(--num-font);font-weight:700;font-size:11px;color:var(--accent)}.stamp-bar{display:flex;align-items:stretch;gap:6px;margin-bottom:var(--s-3);padding:6px;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1)}.stamp-rows{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0}.stamp-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.stamp-bar .stamp-undo{align-self:stretch;height:auto}.stamp{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.stamp:hover{color:var(--text);border-color:var(--border-strong)}.stamp.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stamp-glyph{font-weight:700;font-size:12px}.stamp-spacer{flex:1}.stamp-hint-line{color:var(--text-3);font-size:var(--fs-xs);margin:-6px 2px var(--s-3)}@media (max-width: 560px){.stamp-hint-line,.stamp-lbl{display:none}.stamp{padding:0 9px}}.seq .cell.ghost{background:color-mix(in oklab,var(--accent) 38%,var(--surface-inset));border-color:transparent;color:var(--on-accent);display:grid;place-items:center;font-family:var(--num-font);font-weight:700;font-size:10px}.bar-tag{border:none;background:none;cursor:pointer;padding:2px 6px;border-radius:var(--r-sm)}.bar-tag:hover{color:var(--text);background:var(--surface-2)}.bar-tag.is-loop{color:var(--on-accent);background:var(--accent)}.bar-block.is-loop{border-color:var(--accent)}.note-barzone{position:absolute;z-index:3;cursor:pointer;border:none;padding:0;background:transparent;border-radius:8px}.note-barzone:hover{background:color-mix(in oklab,var(--accent) 9%,transparent)}.note-barzone.is-loop{background:color-mix(in oklab,var(--accent) 13%,transparent);box-shadow:inset 0 0 0 2px var(--accent)}.seq-ruler .tick.tick-btn{border:1px solid transparent;background:none;cursor:pointer;padding:1px 3px;display:inline-flex;align-items:center;justify-content:center;gap:3px;font-family:var(--num-font);font-size:var(--fs-xs);color:var(--text-2);font-weight:700;border-radius:var(--r-sm)}.seq-ruler .tick.tick-btn:hover{color:var(--accent);border-color:var(--border);background:var(--surface-2)}.seq-ruler .tick .tick-glyph{display:inline-flex;color:var(--text-2)}.seq-ruler .tick .tick-glyph svg{width:13px;height:17px}.seq-ruler .tick.tick-btn:hover .tick-glyph{color:var(--accent)}.bar-slot{display:flex;align-items:stretch;gap:var(--s-2)}.bar-insert{align-self:stretch;width:22px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer;padding:0}.bar-insert:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.level-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;vertical-align:middle}.fchip .level-dot{margin-right:5px}.exrow-sub .level-dot{margin-right:2px}.wk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}.wk-card{display:grid;gap:8px;text-align:left;cursor:pointer;padding:var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-1);color:var(--text)}.wk-card:hover{border-color:var(--accent)}.wk-card-head{display:flex;align-items:center;gap:8px}.wk-card-name{font-weight:700}.wk-card-min{margin-left:auto;color:var(--accent);font-weight:700}.wk-card-desc{color:var(--text-3);font-size:var(--fs-sm);line-height:1.4}.wk-card-meta{color:var(--text-3);font-size:var(--fs-xs)}.workout .wk-desc{color:var(--text-2);max-width:640px}.wk-blocks{display:grid;gap:var(--s-2);margin-top:var(--s-4)}.wk-block{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);text-align:left;cursor:pointer;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1);color:var(--text)}.wk-block:hover{border-color:var(--border-strong)}.wk-block-idx{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);font-weight:700;font-size:var(--fs-xs);color:var(--text-2)}.wk-block-main{display:grid;gap:2px;min-width:0}.wk-block-name{font-weight:600}.wk-block-note{color:var(--text-3);font-size:var(--fs-sm)}.wk-block-meta{display:grid;gap:2px;justify-items:end;color:var(--text-2);font-size:var(--fs-sm)}.wk-block-set{color:var(--text-3);font-size:var(--fs-xs)}.pb-wkrow{display:flex;align-items:center;gap:10px;max-width:1180px;margin-inline:auto;width:100%;padding:5px 2px;border-bottom:1px solid var(--border-soft);min-height:32px}.pb-wkrow.is-done{color:#3fc168}.pb-wk-step{font-size:var(--fs-xs);font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pb-wktime{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);white-space:nowrap}.pb-wk-note{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pb-wkrow.is-done .pb-wk-note{color:inherit;font-size:var(--fs-sm);font-weight:700}.pb-wk-spacer{flex:1}.pb-wkbtn{width:26px;height:26px;flex:none;display:grid;place-items:center;cursor:pointer;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2)}.pb-wkbtn:hover{color:var(--text);border-color:var(--border-strong)}.pb-wkbtn .ic{width:14px;height:14px}.pr-panel{display:grid;gap:var(--s-3);padding:var(--s-4);margin-bottom:var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-1)}.pr-stats{display:flex;gap:var(--s-6)}.pr-stat{display:grid;gap:2px}.pr-num{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.pr-cap{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.pr-heatmap{display:grid;grid-template-rows:repeat(7,10px);grid-auto-flow:column;grid-auto-columns:10px;gap:3px;overflow-x:auto;padding-bottom:2px}.pr-cell{width:10px;height:10px;border-radius:2px;background:var(--surface-2)}.pr-cell.l1{background:color-mix(in oklab,var(--accent) 25%,var(--surface-2))}.pr-cell.l2{background:color-mix(in oklab,var(--accent) 50%,var(--surface-2))}.pr-cell.l3{background:color-mix(in oklab,var(--accent) 75%,var(--surface-2))}.pr-cell.l4{background:var(--accent)}.pr-recent{display:grid;gap:4px}.pr-recent-row{display:flex;justify-content:space-between;gap:var(--s-4);font-size:var(--fs-sm);color:var(--text-2)}.pr-recent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-best{color:var(--accent);display:inline-flex;align-items:center;gap:8px}.tempo-spark{color:var(--accent);opacity:.8}.wkedit-desc{margin-top:var(--s-2);max-width:640px}.wke-block{display:grid;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1)}.wke-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}.wke-ex{flex:1 1 220px;min-width:0;height:36px}.wke-trainers{row-gap:var(--s-2)}.wke-swing{flex:1 1 180px}.wke-note{font-size:var(--fs-sm)}.wk-card{position:relative}.wk-card-acts{position:absolute;top:8px;right:8px;display:none;gap:4px}.wk-card:hover .wk-card-acts{display:inline-flex}.wkv-acts{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.print-head,.print-notation{display:none}@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff!important}.topbar,.sidebar,.playerbar,.bottomnav,.practice>*:not(.print-area){display:none!important}.print-area>.notation-wrap{display:none!important}.print-notation{display:block}.shell{display:block!important;min-height:0!important}.main{padding:0!important;margin:0!important;max-width:none!important}.vf-line{break-inside:avoid;page-break-inside:avoid;height:auto!important}.notation-inner{height:auto!important}.print-head{break-after:avoid;page-break-after:avoid}.print-head{display:block;visibility:visible;color:#111;font-weight:700;font-size:14pt;margin-bottom:8pt}.notation-wrap{box-shadow:none!important;border:none!important;padding:0!important;background:#fff!important}.notation-hint,.note-playhead,.note-barzone{display:none!important}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface-1);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;width:min(560px,100%);max-height:82dvh;overflow-y:auto;padding:var(--s-3) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #00000059}.sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--text-3);opacity:.5;margin:0 auto var(--s-2)}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.sheet-title{font-weight:700;font-size:var(--fs-md, 15px)}.sheet-close{background:none;border:none;color:var(--text-3);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm)}.sheet-close:hover{color:var(--text)}.kit-chips{display:flex;gap:var(--s-2);margin:var(--s-2) 0 var(--s-4)}.kit-chip{flex:1 1 0;padding:8px 10px;border-radius:var(--r-md);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font:inherit;font-size:var(--fs-sm);font-weight:600}.kit-chip:hover{border-color:var(--border-strong);color:var(--text)}.kit-chip.is-active{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,transparent)}.sheet-mixhead{display:flex;align-items:center;justify-content:space-between;min-height:30px}.mixer-rows{display:grid;gap:6px;margin-top:var(--s-2)}.mixer-row{display:grid;grid-template-columns:104px 1fr 48px;align-items:center;gap:var(--s-2)}.mix-label{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-label.is-muted{color:var(--accent);text-decoration:line-through}.sheet-hint{display:flex;align-items:center;gap:6px;margin-top:var(--s-3)}.sheet-hint .v-ic{width:16px;height:16px;flex:none}.pb-now-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm)}.pb-now-btn:hover .pb-title{color:var(--accent)}.pb-close{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);cursor:pointer}.pb-close:hover{color:var(--text);border-color:var(--border-strong)}.pb-close .ic{width:14px;height:14px}@media (max-width: 900px){.pb-close{width:28px;height:28px}}.seq .cell.art{background:#35b9c0;border-color:transparent;color:var(--on-accent);display:grid;place-items:center;font-family:var(--num-font);font-weight:700;font-size:11px}.daily-card{display:flex;align-items:center;gap:var(--s-3);width:100%;margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1);cursor:pointer;text-align:left;color:var(--text);font:inherit}.daily-card:hover{border-color:var(--accent)}.daily-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:color-mix(in oklab,var(--accent) 16%,transparent);color:var(--accent)}.daily-icon .ic{width:18px;height:18px}.daily-main{display:grid;gap:1px;min-width:0}.daily-title{font-weight:700;font-size:var(--fs-sm)}.daily-sub{color:var(--text-3);font-size:var(--fs-xs)}.daily-go{margin-left:auto;color:var(--text-3)}.gen-hint{margin:2px 0 var(--s-2)}.cell .cell-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.brand-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.brand-btn:hover .brand-name,.rowact.star.is-on{color:var(--accent)}.prog-btn.prog-fav.is-on,.prog-btn.prog-sl.is-on{color:var(--accent);border-color:var(--accent)}.ex-list.shelf{margin-bottom:var(--s-4)}.chip-goal-add{cursor:pointer;color:var(--text-3)}.chip-goal-add:hover{color:var(--text);border-color:var(--border-strong)}.chip-goal{cursor:pointer;display:inline-flex;align-items:center;gap:6px}.chip-goal.is-reached{color:var(--play-green);border-color:var(--play-green)}.goal-bar{width:56px;height:5px;border-radius:3px;background:var(--surface-inset);overflow:hidden}.goal-fill{display:block;height:100%;background:var(--accent);border-radius:3px}.chip-goal-edit{display:inline-flex;align-items:center;gap:6px}.chip-goal-edit .stepper{width:96px}.goal-clear,.goal-ok{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:var(--r-sm);height:24px;padding:0 8px;cursor:pointer;font-size:11px}.goal-ok:hover,.goal-clear:hover{color:var(--text);border-color:var(--border-strong)}.pr-goal-track{flex:1 1 60px;max-width:120px;height:5px;border-radius:3px;background:var(--surface-inset);overflow:hidden;margin:0 8px}.pr-goal-fill{display:block;height:100%;background:var(--accent)}.beat-btn{cursor:pointer;padding:0}.beat-btn:hover{border-color:var(--accent)}.accent-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--s-3)}.bar-act.is-armed,.bar-insert.bar-paste{color:var(--accent);border-color:var(--accent)}.bar-rep{position:relative;display:inline-flex}.bar-rep .bar-act{font-size:10px;width:auto;padding:0 5px}.bar-rep-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;display:flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md)}.bar-sec{height:24px;padding:0 8px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.02em;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-sec:hover{border-color:var(--accent)}.bar-sec-input{height:24px;width:96px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--surface-inset);color:var(--text);font-size:11px;padding:0 6px}.note-seclabel{position:absolute;z-index:3;cursor:pointer;height:17px;padding:0 7px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);background:color-mix(in oklab,var(--accent) 14%,var(--notation-paper));color:var(--accent);font-size:10px;font-weight:700;line-height:15px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media print{.note-seclabel{border:none;background:none;color:#111;font-size:9pt}}.perf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--bg);display:flex;flex-direction:column;padding-bottom:calc(var(--pb-h, 84px) + 12px)}.perf-head{flex:none;display:flex;align-items:center;gap:var(--s-4);padding:12px clamp(16px,3vw,32px);border-bottom:1px solid var(--border-soft)}.perf-title{font-weight:700;font-size:1.05rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-meta{color:var(--text-3)}.perf-close{margin-left:auto;flex:none;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;font-size:15px}.perf-close:hover{color:var(--text);border-color:var(--border-strong)}.perf-notes{flex:1 1 auto;overflow-y:auto;padding:var(--s-5) clamp(16px,3vw,32px)}.perf-notes .notation-inner{background:var(--notation-paper);border-radius:var(--r-md)}@media (max-width: 700px){.perf-overlay{padding-bottom:calc(var(--pb-h, 84px) + var(--bn-h, 56px))}}.stats-sheet .st-chart{width:100%;height:auto;display:block;margin:6px 0 var(--s-4)}.st-axis{fill:var(--text-3);font-size:9px;font-family:var(--num-font)}.st-cats{display:grid;gap:6px;margin:6px 0 var(--s-4)}.st-cat-row{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:var(--s-2)}.st-cat-name{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-cat-track{height:8px;border-radius:4px;background:var(--surface-inset);overflow:hidden}.st-cat-fill{display:block;height:100%;border-radius:4px}.st-cat-min{text-align:right;font-size:var(--fs-xs);color:var(--text-2)}.st-tempo{margin-bottom:var(--s-3)}.st-tempo-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3)}.st-tempo-name{font-size:var(--fs-sm);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-tempo-best{color:var(--text-3);font-size:var(--fs-xs)}.sl-panel{margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1)}.sl-list{display:grid;gap:4px;margin-top:var(--s-2)}.sl-row{display:flex;align-items:center;gap:var(--s-3);padding:6px 4px;border-bottom:1px solid var(--border-soft)}.sl-row:last-child{border-bottom:none}.sl-num{color:var(--text-3);width:18px;text-align:right;font-size:var(--fs-xs)}.sl-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:600}.sl-meta{color:var(--text-3);font-size:var(--fs-xs)}.sl-acts{display:inline-flex;gap:2px}.sl-acts .rowact[disabled]{opacity:.35;cursor:default}.pb-slrow{background:color-mix(in oklab,var(--accent) 7%,transparent)}.surprise-card{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;width:100%;margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-1)}.surprise-ctl{margin-left:auto;display:inline-flex;gap:var(--s-2);align-items:center}.surprise-ctl .select{height:32px;padding:0 8px;font-size:var(--fs-sm)}@media (min-width: 900px){.sheet-backdrop{align-items:center}.sheet{width:min(720px,92vw);max-height:86vh;border-radius:16px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md, 0 18px 50px oklch(0 0 0 / .4))}.sheet-grip{display:none}}.clicksound{display:grid;gap:var(--s-2)}.clicksound .seg{justify-self:start;align-self:start}.cs-slots{display:grid;gap:6px}.cs-slot{display:grid;grid-template-columns:92px minmax(0,320px);align-items:center;gap:var(--s-2)}.cs-cap{font-size:var(--fs-xs);color:var(--text-3);font-weight:700}.cs-upload{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-xs);cursor:pointer;justify-self:start}.cs-upload:hover{color:var(--text);border-color:var(--accent)}.cs-file{display:inline-flex;align-items:center;gap:6px;min-width:0;height:30px;padding:0 6px;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2)}.cs-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs)}.cs-play,.cs-del{flex:none;display:grid;place-items:center;width:22px;height:22px;border:none;background:none;color:var(--text-3);cursor:pointer;border-radius:4px}.cs-play:hover,.cs-del:hover{color:var(--text);background:var(--surface-3)}.cs-error{color:var(--danger, oklch(.65 .2 25));font-size:var(--fs-xs);margin:0}a.iconbtn{display:inline-grid;place-items:center;text-decoration:none}.topbar-acts{display:inline-flex;gap:var(--s-2);align-items:center}.side-foot-acts{margin-left:auto;display:inline-flex;gap:var(--s-2);align-items:center}.guide{max-width:860px}.gd-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.gd-head .page-title{margin:0}.gd-search{flex:0 1 340px;min-width:220px}.gd-toc{display:none}.gd-toc-item{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border-soft);background:var(--surface-1);color:var(--text-2);cursor:pointer;border-radius:999px;font-size:var(--fs-xs);font-weight:700;text-align:left;white-space:nowrap}.gd-toc-item .ic{width:14px;height:14px;color:var(--text-3)}.gd-toc-item:hover{color:var(--text);border-color:var(--border-strong)}.gd-toc-item.is-active{color:var(--accent);border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.gd-toc-item.is-active .ic{color:var(--accent)}.gd-content{min-width:0;display:grid;gap:var(--s-6);margin-top:var(--s-3)}.gd-section{display:grid;gap:var(--s-4);scroll-margin-top:16px}.gd-sec-title{display:flex;align-items:center;gap:10px;margin:0;font-size:1.15rem;letter-spacing:-.01em;padding-bottom:var(--s-2);border-bottom:1px solid var(--border-soft)}.gd-sec-title .ic{width:19px;height:19px;color:var(--accent)}.gd-item{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1);padding:var(--s-4);display:grid;gap:var(--s-2)}.gd-img{width:100%;border-radius:var(--r-sm);border:1px solid var(--border-soft);background:var(--surface-inset);display:block}.gd-item-title{margin:0;font-size:1rem}.gd-item-body{margin:0;color:var(--text-2);font-size:var(--fs-sm);line-height:1.55}.gd-result{display:grid;gap:6px}.gd-crumb{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:none;background:none;color:var(--text-3);cursor:pointer;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.gd-crumb:hover{color:var(--accent)}.qmark{font-weight:800;font-size:15px}@media (max-width: 900px){.gd-toc{display:flex;overflow-x:auto;gap:6px;padding:var(--s-3) 0 4px}.gd-toc-item{flex:none}}.whatsnew{max-width:560px}.wn-list{display:grid;gap:var(--s-4)}.wn-ver-tag{display:inline-block;font-size:10px;font-weight:700;color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:999px;padding:2px 8px;margin-bottom:6px}.wn-items{margin:0;padding:0 0 0 18px;display:grid;gap:7px}.wn-item{color:var(--text-2);font-size:var(--fs-sm);line-height:1.45}.wn-link{margin-left:8px;border:none;background:none;color:var(--accent);font-size:var(--fs-xs);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:2px}.wn-foot{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-4)}.pb-beats{align-items:center;gap:8px}.pb-beats{container-type:inline-size;justify-content:safe center}.pb-beats .beats{flex-wrap:nowrap}.pb-beats .pb-barcount,.pb-beats .pb-muted-pill{white-space:nowrap;flex:none}@container (max-width: 210px){.pb-beats .pb-barcount{display:none}}@container (max-width: 420px){.pb-beats .beat{width:19px;height:19px}.pb-beats .beat.sub{width:9px;height:9px}.pb-beats .beats{gap:5px}}@container (max-width: 280px){.pb-beats .beat{width:14px;height:14px}.pb-beats .beat.sub{width:7px;height:7px}.pb-beats .beats{gap:4px}}@container (max-width: 190px){.pb-beats .beat{width:10px;height:10px}.pb-beats .beat.sub{width:5px;height:5px}.pb-beats .beats{gap:3px}}a.side-link-ext{text-decoration:none}.gd-feedback{text-decoration:none;display:inline-flex;align-items:center;gap:7px}
