[hidden]{display:none!important}:root{interpolate-size:allow-keywords;--ease-out: cubic-bezier(.16, 1, .3, 1);--bg: #1a3044;--card: #26425a;--surface: #325170;--surface-2: #3f6084;--sunken: #16293a;--edge: #3d6486;--edge-hi: #517ea4;--text: #e7f1fb;--muted: #a7c0d6;--accent: #38bdf8;--accent-ink: #04121d;--wave: #6088ad;--loop: #fbbf24;--playhead: #f0f9ff;--danger: #f87171;--sidebar-w: 250px;--content-w: 1360px;--selected: color-mix(in oklab, var(--accent) 13%, var(--card));--danger-soft: color-mix(in oklab, var(--danger) 15%, var(--card));accent-color:var(--accent);color-scheme:dark}:root[data-theme=light]{--bg: #e8ddc6;--card: #f4ecda;--surface: #e5d9bf;--surface-2: #d8c9a8;--sunken: #ded2b7;--edge: #cbba93;--edge-hi: #ad9a70;--text: #3a3222;--muted: #6f6344;--accent: #0f766e;--accent-ink: #f6efe1;--wave: #8f7c54;--loop: #b45309;--playhead: #2a2417;--danger: #b91c1c;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding-left:var(--sidebar-w);padding-bottom:48px;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,Segoe UI,sans-serif;min-height:100vh;display:flex;flex-direction:column}header{max-width:var(--content-w);width:100%;margin:20px auto 2px;padding:0 16px;display:flex;align-items:center;gap:12px}.hbox{display:flex;align-items:center;gap:10px}.header-title{order:-1;margin-right:auto}.header-actions{gap:8px}.signin-gate{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--bg)}.signin-card{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:32px 40px;text-align:center;max-width:360px}.signin-card h2{font-size:22px;margin-bottom:10px}.signin-card p{color:var(--muted);margin-bottom:20px}.signin-brand{flex-direction:column;gap:12px;margin-bottom:22px}.signin-brand .brand-mark{width:54px;height:54px;border-radius:15px;box-shadow:0 6px 20px #2dd4bf52}.signin-brand .wordmark{font-size:30px;white-space:nowrap}.btn-google{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;background:#fff;color:#1f1f1f;font-family:Roboto,system-ui,sans-serif;font-size:14px;font-weight:500;text-decoration:none;border:1px solid #747775;border-radius:8px;transition:background-color .15s ease,box-shadow .15s ease}.btn-google:hover{background:#f7f8f8;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-google:active{background:#f1f3f4}.btn-google .g-logo{display:inline-flex}h1{font-size:22px;margin:0;letter-spacing:.5px;white-space:nowrap}h2{font-size:14px;margin:0 0 8px;font-weight:600}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{flex:0 0 auto;border-radius:9px;box-shadow:0 2px 8px #2dd4bf47}.wordmark{font-size:21px;font-weight:700;letter-spacing:.2px;white-space:nowrap;margin:0}.wordmark span{color:var(--accent)}.library-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.library-top h2{margin:0}.library-actions{display:flex;flex-wrap:wrap;gap:8px}.library-actions button{font-size:13px;padding:6px 10px}main{max-width:var(--content-w);width:100%;margin:0 auto;padding:0 16px;flex:1;display:flex;flex-direction:column}main>:first-child{margin-top:auto}main>:last-child{margin-bottom:auto}.card{background:var(--card);border:1px solid var(--edge);border-radius:10px;padding:14px;margin-top:14px}.muted{color:var(--muted)}button{background:var(--surface);color:var(--text);border:1px solid var(--edge);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer}button:hover{border-color:var(--edge-hi);background:var(--surface-2)}button.active{border-color:var(--loop);color:var(--loop)}button:disabled{opacity:.45;cursor:default}button:disabled:hover{background:var(--surface);border-color:var(--edge)}input[type=range]:disabled{opacity:.45}#songs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}#songs li{display:flex;align-items:center;gap:6px;border-radius:8px;padding:6px 8px;cursor:pointer}#songs li:hover{background:var(--surface-2)}#songs li.current{background:var(--selected);outline:1px solid var(--edge)}.song-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}#songs .name{font-size:13.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}#songs li.current .name{color:var(--accent);font-weight:600}#songs .meta{font-size:11px;color:var(--muted);white-space:nowrap}#songs .del{flex:0 0 auto;align-self:flex-start;padding:2px 5px;font-size:13px;border:none;background:none;color:var(--muted);opacity:0;transition:opacity .12s}#songs li:hover .del,#songs li.current .del,#songs .del:focus-visible{opacity:.7}#songs .del:hover{color:var(--danger);background:none;opacity:1}#libraryEmpty{font-size:13px;margin:4px 0 0}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:20;width:var(--sidebar-w);display:flex;flex-direction:column;padding:20px 14px 16px;background:var(--card);border-right:1px solid var(--edge);overflow-y:auto}.sidebar-title{font-size:16px;margin:0 0 12px;padding:0 4px 12px;border-bottom:1px solid var(--edge)}@media(max-width:720px){:root{--sidebar-w: 172px}.sidebar{padding:16px 8px}}.song-row{display:flex;gap:12px;align-items:baseline;margin-bottom:10px}#songName{font-weight:600;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#status{flex:1;min-width:0;text-align:center;color:var(--loop);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#clock{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.wave-row{display:block}.wave-main{min-width:0}.zoom-col{position:absolute;top:8px;right:8px;z-index:3;display:flex;flex-direction:column;gap:4px}.zoom-col button{width:36px;height:28px;min-width:0;padding:0;font-size:14px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--card) 74%,transparent);border-color:var(--edge-hi)}.zoom-col button:hover{background:var(--surface)}#wave{width:100%;height:250px;display:block;border-radius:6px;background:var(--sunken);cursor:crosshair;touch-action:none}.sections{display:flex;flex-direction:column;gap:4px;margin-top:14px}.section-group{display:flex;flex-direction:column;gap:4px}.subsections{display:flex;flex-direction:column;gap:4px;margin:4px 0 4px 14px;padding-left:12px;border-left:2px solid var(--edge)}.section-item{border-radius:8px;background:var(--surface);border:1px solid var(--edge)}.section-item.sub{background:var(--sunken)}.section-item.editing{border-color:var(--accent);background:var(--selected)}.si-header{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 8px}.si-caret{border:none;background:none;color:var(--muted);padding:2px 5px;font-size:18px;line-height:1;transition:transform .12s}.si-caret.open{transform:rotate(90deg)}.si-caret.has-subs{color:var(--loop)}.si-caret:hover{color:var(--text);background:none;border:none}.si-sub-count{min-width:16px;padding:1px 5px;border-radius:999px;background:color-mix(in oklab,var(--loop) 22%,var(--card));color:var(--loop);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;margin-left:-3px}.si-name{flex:0 1 auto;min-width:0;max-width:55%;text-align:left;border:none;background:none;padding:4px 6px;border-radius:6px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-name:hover{background:var(--surface-2);border:none}.section-item.editing>.si-header .si-name{color:var(--loop);font-weight:600}.si-range-text{flex:1;text-align:center;color:var(--loop);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.si-acts{display:inline-flex;align-items:center;gap:1px;margin-left:auto}.si-act{border:none;background:none;color:var(--muted);padding:5px 7px;font-size:17px;line-height:1;opacity:.75;transition:opacity .1s,color .1s}.section-item:hover .si-act,.section-item:focus-within .si-act{opacity:1}.si-act:hover{color:var(--text);background:none;border:none}.si-edit{font-size:16px}.si-done{color:var(--loop);opacity:1;font-size:18px}.si-del{font-size:19px}.si-del:hover{color:var(--danger)}.si-editor{display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px 12px;border-top:1px solid var(--edge)}.si-editor-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.si-elab{flex:0 0 auto;width:34px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.si-edit-name{flex:1 1 auto;min-width:0;background:var(--sunken);border:1px solid var(--edge);border-radius:6px;color:var(--text);font:inherit;font-size:13px;padding:4px 7px}.si-edit-name:focus{border-color:var(--accent)}.si-time{width:74px;background:var(--sunken);border:1px solid var(--edge);border-radius:6px;color:var(--loop);font:inherit;font-size:12px;padding:4px 6px;text-align:center;font-variant-numeric:tabular-nums}.si-time:focus{border-color:var(--accent)}.si-editor-row .nudge{min-width:36px;padding:7px 0;font-size:16px}.si-here{font-size:12px;padding:5px 8px;white-space:nowrap}.si-times{display:flex;flex-direction:column;gap:6px}.si-misc{gap:8px;padding-top:2px}.si-spacer{flex:1 1 auto}.si-reset-range{font-size:12px;padding:5px 10px;white-space:nowrap;border:1px solid var(--edge);color:var(--muted);border-radius:6px}.si-reset-range:hover{color:var(--text);border-color:var(--edge-hi);background:var(--surface-2)}.si-misc .si-act{opacity:1}.add-sub{align-self:flex-start;font-size:11.5px;padding:3px 10px;border-style:dashed;color:var(--muted)}.section-empty{font-size:12px;margin:4px 2px}.suggest-area{margin-top:8px}.suggest-area[hidden]{display:none}.suggest-toggle{display:inline-flex;align-items:center;gap:7px;width:100%;justify-content:flex-start;border:none;background:none;color:var(--muted);padding:5px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.suggest-toggle:hover{color:var(--text);background:none;border:none}.suggest-caret{font-size:16px;line-height:1;transition:transform .12s}.suggest-toggle.open .suggest-caret{transform:rotate(90deg)}.suggest-count{min-width:16px;padding:1px 6px;border-radius:999px;background:color-mix(in oklab,var(--accent) 22%,var(--card));color:var(--accent);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:0}.suggest-list{display:flex;flex-direction:column;gap:3px;margin-top:4px;padding:6px;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--edge));border-radius:8px;background:color-mix(in oklab,var(--accent) 7%,var(--card))}.suggest-addall{align-self:flex-start;font-size:11.5px;padding:3px 10px;margin-bottom:2px;border-style:dashed;border-color:color-mix(in oklab,var(--accent) 45%,var(--edge));color:var(--accent)}.suggest-addall:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.suggest-item{display:grid;grid-template-columns:92px 1fr 30px;align-items:center;gap:8px;padding:3px 4px 3px 8px;border-radius:6px;cursor:pointer}.suggest-item:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}.suggest-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-time{text-align:center;color:var(--muted);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.suggest-add{border:none;background:none;color:var(--muted);padding:4px 6px;font-size:17px;line-height:1;opacity:.85;justify-self:end}.suggest-add:hover{color:var(--accent);background:none;border:none;opacity:1}.suggest-item.selected{background:color-mix(in oklab,var(--loop) 15%,transparent);box-shadow:inset 3px 0 0 var(--loop)}.suggest-item.selected .suggest-name{color:var(--loop)}.suggest-analyze{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid color-mix(in oklab,var(--accent) 45%,var(--edge));border-radius:8px;background:color-mix(in oklab,var(--accent) 10%,var(--card));color:var(--accent);font-size:13px;font-weight:600}.suggest-analyze:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.suggest-status{display:flex;align-items:center;gap:8px;padding:8px 6px;font-size:12.5px;color:var(--accent)}.suggest-status:before{content:"";width:13px;height:13px;border-radius:50%;border:2px solid color-mix(in oklab,var(--accent) 40%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.suggest-head{display:flex;align-items:center;gap:4px}.suggest-head .suggest-toggle{flex:1 1 auto;width:auto}.suggest-dismiss{flex:0 0 auto;border:none;background:none;color:var(--muted);font-size:13px;line-height:1;padding:5px 7px;border-radius:6px}.suggest-dismiss:hover{color:var(--danger);background:color-mix(in oklab,var(--danger) 12%,transparent)}.suggest-empty{margin:2px 4px;font-size:12px;color:var(--muted)}.wave-main{position:relative}.count-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:88px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--loop);text-shadow:0 2px 18px rgba(0,0,0,.75)}.count-overlay.count-pulse{animation:count-pop .42s ease-out}@keyframes count-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}22%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:.55;transform:translate(-50%,-50%) scale(.94)}}.tempo-readout{display:inline-flex;align-items:center;gap:6px}.bpm-in{width:52px;text-align:center;color:var(--accent);font-weight:600;-moz-appearance:textfield;appearance:textfield}.bpm-in::-webkit-outer-spin-button,.bpm-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bpm-unit{color:var(--muted);font-size:12px}.metro-btn{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 8px;border:1px solid var(--edge);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12.5px}.metro-btn .metro-ico{font-size:15px;line-height:1}.metro-btn:hover{color:var(--text);border-color:var(--edge-hi)}.metro-btn.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}#waveScroll{overflow-x:auto;overflow-y:hidden;margin-top:4px;scrollbar-color:var(--wave) var(--sunken);scrollbar-width:thin}#waveScroll::-webkit-scrollbar{height:10px}#waveScroll::-webkit-scrollbar-track{background:var(--sunken);border-radius:5px}#waveScroll::-webkit-scrollbar-thumb{background:var(--wave);border-radius:5px}#waveScroll::-webkit-scrollbar-thumb:hover{background:var(--edge-hi)}#waveScrollInner{height:1px}.transport{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;flex-wrap:wrap}.transport button{font-size:15px;height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center}#playBtn,#stopBtn,#loopToggle{min-width:60px;padding:0}.transport-loop{font-size:18px;font-weight:700}.transport-loop.on{color:var(--loop);background:color-mix(in oklab,var(--loop) 20%,transparent);border-color:var(--loop)}.transport-sep{width:1px;align-self:stretch;margin:2px 6px;background:var(--edge)}.workspace{display:flex;flex-wrap:wrap;gap:20px 26px;align-items:flex-start;margin-top:10px}.pane{flex:1 1 calc(50% - 13px);min-width:300px;border:1px solid var(--edge);border-radius:10px;padding:2px 13px 15px;background:color-mix(in oklab,var(--surface) 14%,var(--card))}.pane--wide{flex-basis:100%}@media(max-width:760px){.pane,.pane--wide{flex-basis:100%;min-width:0}}.pane-head{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:12px;border-bottom:1px solid var(--edge)}.pane-name{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pane-tools{margin-left:auto;display:flex;align-items:center;gap:2px}.pane-drag,.pane-collapse,.pane-remove,.pane-help-btn{border:none;background:none;color:var(--muted);padding:5px 7px;min-width:30px;min-height:28px;font-size:14px;line-height:1;border-radius:6px}.pane-drag:hover,.pane-collapse:hover,.pane-remove:hover{color:var(--text);background:var(--surface-2);border:none}.pane-drag{cursor:grab;touch-action:none}.pane-drag:active{cursor:grabbing}.pane-remove:hover{color:var(--danger)}.pane-collapse{transition:transform .14s ease}.pane.collapsed .pane-collapse{transform:rotate(-90deg)}.pane.collapsed .pane-head{margin-bottom:0;border-bottom:none}.pane-body{overflow:hidden;transition:height .26s var(--ease-out),opacity .2s ease}.pane.collapsed .pane-body{height:0;opacity:0}.pane-help-btn{font-weight:700}.pane-help-btn:hover{color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,transparent)}.pane-help-dialog{max-width:440px}.pane-help-body{margin:6px 2px 2px;font-size:13.5px;line-height:1.6;color:var(--text)}.pane.dragging{opacity:.4}.workspace.reordering .pane{transition:none}.pane.drop-before{box-shadow:inset 3px 3px 0 -1px var(--accent),inset 0 3px 0 -1px var(--accent)}.workspace.drop-end{box-shadow:inset 0 -3px 0 var(--accent)}.pane-ghost{position:fixed;z-index:60;pointer-events:none;transform:translate(12px,10px);background:var(--surface-2);border:1px solid var(--edge-hi);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--text);box-shadow:0 12px 28px #00000080}body.dragging-cursor,body.dragging-cursor *{cursor:grabbing!important}.workspace-bar{display:flex;justify-content:flex-end;position:relative;margin-top:14px}.areas-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 12px;border-radius:8px;color:var(--muted)}.areas-btn:hover{color:var(--text)}.areas-icon{font-size:12px}.areas-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:210px;background:var(--card);border:1px solid var(--edge-hi);border-radius:10px;padding:8px;box-shadow:0 14px 34px #00000073;display:flex;flex-direction:column;gap:1px}.areas-menu-head{margin:2px 6px 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.areas-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px;font-size:13px;cursor:pointer}.areas-item:hover{background:var(--surface-2)}.areas-item input{width:16px;height:16px;margin:0}.areas-reset{margin-top:6px;font-size:12.5px;padding:7px 10px;border-style:dashed;color:var(--muted);text-align:left}.areas-reset:hover{color:var(--text);background:var(--surface-2)}.workspace-empty{flex-basis:100%;text-align:center;font-size:13px;padding:26px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}button:active:not(.switch):not(.pane-drag):not([disabled]){transform:translateY(1px)}#songs li,.section-item,.suggest-item{transition:background-color .15s ease,box-shadow .15s ease,color .15s ease}.suggest-list,.suggest-status,.pane-help-body{animation:rise-in .22s var(--ease-out) both}@keyframes rise-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.sidebar{animation:app-in .45s var(--ease-out) both}main{animation:app-in .5s var(--ease-out) .04s both}@keyframes app-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.loop-editor{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.loop-point{display:flex;align-items:center;gap:6px;flex-wrap:wrap;align-self:stretch}.loop-lab{width:16px;font-weight:700;color:var(--loop);text-align:center}.loop-point .time-in{width:68px}.loop-point .nudge{min-width:30px;padding:6px 0}.ghost{background:var(--surface-2);border:1px solid var(--edge);color:var(--muted);font-size:12px;padding:6px 10px}.ghost:before{content:"⌖";margin-right:5px;opacity:.85}.ghost:hover{color:var(--accent);background:var(--surface-2);border-color:var(--accent)}.loop-buttons{align-self:stretch;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.save-section{margin-left:auto;border:1px solid color-mix(in oklab,var(--accent) 45%,var(--edge));color:var(--accent);font-size:12px;padding:5px 9px;white-space:nowrap}.save-section:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.loop-divider{align-self:stretch;height:1px;background:var(--edge);margin:6px 0 2px}.loop-countin{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.ci-lab{font-weight:600;color:var(--text)}.ci-num{width:44px;text-align:center;-moz-appearance:textfield;appearance:textfield}.ci-num::-webkit-outer-spin-button,.ci-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ci-unit{color:var(--muted)}.ci-repeat{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding-left:10px;border-left:1px solid var(--edge);cursor:pointer}.ci-repeat input{accent-color:var(--accent)}.sub-head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.practice-grid{display:flex;flex-direction:column;gap:12px;width:100%}.practice-grid .sub{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;margin-top:0}.practice-grid input[type=number]{width:52px}.trainer{display:flex;flex-direction:column;gap:10px}.trainer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.trainer-head .sub-head{margin:0}.trainer-lab{color:var(--accent);font-weight:600;text-transform:none;letter-spacing:0}.trainer-fields{display:flex;gap:10px;flex-wrap:wrap}.tr-field{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);background:var(--sunken);border:1px solid var(--edge);border-radius:8px;padding:5px 10px}.tr-field:focus-within{border-color:var(--accent)}.tr-field input{width:40px;text-align:center;border:none;background:none;color:var(--text);font:inherit;font-weight:600;padding:0;-moz-appearance:textfield;appearance:textfield}.tr-field input:focus{outline:none}.tr-field input::-webkit-outer-spin-button,.tr-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tr-unit{color:var(--muted)}.trainer-hint{margin:0;font-size:12.5px;color:var(--loop);border-left:2px solid var(--loop);padding-left:8px}.trainer-hint strong{color:var(--text);font-weight:600}.trainer-start{align-self:stretch;margin-top:2px;padding:9px 16px;font-weight:600;color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 45%,var(--edge));background:color-mix(in oklab,var(--accent) 8%,var(--card))}.trainer-start:hover,.trainer-start.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.sound-panel{display:flex;flex-direction:column;gap:16px;width:100%}.fx-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.eq-reset{margin-left:auto;font-size:12px;padding:5px 12px}.fx-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.fx-toggle input{width:15px;height:15px;margin:0}.eq{display:flex;flex-direction:column;gap:8px}.eq-groups{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.eq-bands{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;align-items:end;padding-top:10px;border-top:1px solid var(--edge)}.eq-band{display:flex;flex-direction:column;align-items:center;gap:8px}.eq-band input[type=range]{writing-mode:vertical-lr;direction:rtl;width:22px;height:100px;margin:0;padding:0}.eq-freq{font-size:9.5px;color:var(--muted);font-variant-numeric:tabular-nums}.eq-bands.eq-off .eq-band{opacity:.45}.eq-bands.eq-off .eq-slider{pointer-events:none}.time-in{width:62px;background:var(--sunken);border:1px solid var(--edge);border-radius:8px;color:var(--loop);padding:6px;font:inherit;font-size:13px;text-align:center;font-variant-numeric:tabular-nums}.time-in:disabled{opacity:.45}.nudge{padding:6px 9px;font-size:13px}#playBtn,#stopBtn{font-size:27px;padding:8px 32px;line-height:1.2}.help-link{background:none;border:none;color:var(--muted);font-size:inherit;padding:0;text-decoration:underline}.help-link:hover{color:var(--text);background:none;border:none}.help-dialog{max-width:560px;width:calc(100% - 32px)}.help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.help-head h2{font-size:18px;margin:0}.help-close{border:none;background:none;color:var(--muted);font-size:22px;line-height:1;padding:0 6px}.help-close:hover{color:var(--text);background:none}.help-body section{margin-top:14px}.help-body h3{font-size:13px;color:var(--accent);margin:0 0 4px}.help-body p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.help-shortcuts ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.help-shortcuts li{font-size:12.5px;color:var(--muted)}kbd{display:inline-block;background:var(--sunken);border:1px solid var(--edge);border-radius:4px;padding:1px 5px;font:inherit;font-size:11px;color:var(--text)}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 30px}.ctl{position:relative}.ctl:not(:first-child):before{content:"";position:absolute;left:-15px;top:0;bottom:0;width:1px;background:var(--edge)}@media(max-width:620px){.controls{grid-template-columns:1fr}.ctl:not(:first-child):before{display:none}.ctl:not(:first-child){border-top:1px solid var(--edge);padding-top:14px}}.ctl h2{display:flex;justify-content:space-between}.ctl h2 span{color:var(--accent);font-variant-numeric:tabular-nums}.ctl .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ctl .row button{padding:5px 10px;font-size:13px}.ctl .sub{display:flex;justify-content:space-between;font-size:13px;margin-top:12px}input[type=range]{width:100%;margin:8px 0 0}footer{position:fixed;left:var(--sidebar-w);right:0;bottom:0;z-index:25;background:var(--bg);border-top:1px solid var(--edge);padding:8px 0;font-size:12.5px}.footer-inner{max-width:var(--content-w);margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}footer .keys{min-width:0}.profile{position:relative}.profile-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;color:var(--text);font-size:13px}.profile-avatar{font-size:15px;line-height:1;color:var(--accent)}.profile-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-caret{font-size:11px;color:var(--muted)}.profile-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;padding:6px;border:1px solid var(--edge);border-radius:10px;background:var(--card);box-shadow:0 10px 30px #0006;animation:rise-in .16s ease}.profile-head{padding:8px 10px 10px;border-bottom:1px solid var(--edge);margin-bottom:6px}.profile-head-name{font-weight:600}.profile-head-email{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.profile-item{display:block;width:100%;text-align:left;border:none;background:none;color:var(--text);padding:8px 10px;border-radius:7px;font-size:13px}.profile-item:hover{background:var(--surface-2);border:none}.settings-dialog{max-width:420px}.settings-body{display:flex;flex-direction:column;gap:18px;margin-top:6px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-label{font-size:14px;font-weight:600}.seg{display:inline-flex;padding:3px;gap:3px;border-radius:9px;background:var(--sunken);border:1px solid var(--edge)}.seg button{border:none;background:none;color:var(--muted);padding:6px 12px;border-radius:7px;font-size:12.5px}.seg button:hover{color:var(--text);background:none}.seg button.on{color:var(--accent-ink);background:var(--accent)}dialog{background:var(--card);color:var(--text);border:1px solid var(--edge);border-radius:10px;padding:18px;width:min(440px,90vw);opacity:0;transform:translateY(12px) scale(.97);transition:opacity .2s ease,transform .28s var(--ease-out),overlay .28s var(--ease-out) allow-discrete,display .28s var(--ease-out) allow-discrete}dialog[open]{opacity:1;transform:none}@starting-style{dialog[open]{opacity:0;transform:translateY(12px) scale(.97)}}dialog::backdrop{background:#0000;transition:background .25s ease,overlay .25s allow-discrete,display .25s allow-discrete}dialog[open]::backdrop{background:#00000080}@starting-style{dialog[open]::backdrop{background:#0000}}dialog h2{margin-bottom:10px}dialog input[type=url],dialog input[type=text]{width:100%;background:var(--sunken);border:1px solid var(--edge);border-radius:8px;color:var(--text);padding:8px 10px;font:inherit}.dialog-field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;color:var(--muted)}.dialog-field input[type=number]{width:64px;background:var(--sunken);border:1px solid var(--edge);border-radius:8px;color:var(--text);padding:6px 8px;font:inherit}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}button.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}button.danger{background:var(--danger);border-color:transparent;color:var(--danger-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
