.hv{--font-display:var(--font-fraunces), Georgia, serif;--font-ui:var(--font-inter), system-ui, sans-serif;--page:#07050a;--raga-yaman:linear-gradient(135deg, #f0a7a0, #c87662);--raga-bhairavi:linear-gradient(135deg, #e88c8a, #8e3a3a);--raga-bhairav:linear-gradient(135deg, #b87b56, #5e3818);--raga-kafi:linear-gradient(135deg, #c4a05a, #6b4a30);--raga-todi:linear-gradient(135deg, #a8d0a4, #50804c);--raga-khamaj:linear-gradient(135deg, #d4c280, #8a7228)}.hv .rh-page{min-height:100vh}.hv .window{isolation:isolate;background:radial-gradient(80% 60% at 15% 10%, #e8b27a2e, transparent 55%), radial-gradient(60% 50% at 90% 30%, #f0a7a029, transparent 60%), radial-gradient(70% 50% at 85% 95%, #cc8a7a1f, transparent 60%), radial-gradient(90% 60% at 5% 100%, #a0625a1a, transparent 60%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 60%, var(--bg-1) 100%);width:100%;height:100vh;position:relative;overflow:hidden}.hv .window:before{content:"";pointer-events:none;mix-blend-mode:overlay;opacity:.4;z-index:1;background-image:radial-gradient(#ffe8d206 1px,#0000 1px);background-size:3px 3px;position:absolute;inset:0}.hv .shell{z-index:2;grid-template-columns:1fr 340px;display:grid;position:absolute;inset:0}.hv .app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(180%);background:#14100c99;grid-column:1/-1;align-items:center;gap:16px;padding:12px 22px;display:flex}.hv .app-header .brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);flex-shrink:0;align-items:baseline;gap:8px;font-size:22px;font-style:italic;font-weight:500;display:flex}.hv .app-header .brand .dot{color:var(--pink)}.hv .app-header .brand .tag{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:9px;font-style:normal;font-weight:400}.hv .nav-tabs{gap:2px;margin-left:18px;display:flex}.hv .nav-tab{color:var(--muted);cursor:pointer;font-family:var(--font-ui);letter-spacing:-.005em;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;transition:color .12s,background .12s;display:inline-flex}.hv .nav-tab svg{flex-shrink:0;width:14px;height:14px}.hv .nav-tab:hover{color:var(--text);background:#ffffff0a}.hv .nav-tab.active{color:var(--pink);background:#f0a7a01a;border:1px solid #f0a7a052}.hv .nav-tab .count{font-family:var(--font-mono);color:var(--dim);margin-left:2px;font-size:9.5px}.hv .nav-tab.active .count{color:var(--pink);opacity:.7}.hv .header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.hv .you-pill{background:var(--glass);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:inline-flex}.hv .you-pill .avatar{width:28px;height:28px;font-family:var(--font-display);color:var(--text);background:radial-gradient(circle at 30% 30%,#f4a06bb3,#0000 55%),linear-gradient(135deg,#3a2418,#1a0e08);border-radius:999px;place-items:center;font-size:13px;font-style:italic;display:grid}.hv .you-pill .streak{font-family:var(--font-mono);color:var(--pink);letter-spacing:.04em;font-size:10px}.hv .main{scrollbar-width:none;padding-bottom:24px;overflow-y:auto}.hv .main::-webkit-scrollbar{display:none}.hv .tonic-shift{background:var(--glass);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:999px;align-items:center;gap:10px;padding:4px 6px 4px 12px;display:inline-flex}.hv .tonic-shift .lbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px}.hv .tonic-shift .val{font-family:var(--font-display);color:var(--pink);text-align:center;min-width:24px;font-size:15px;font-style:italic}.hv :is(.tonic-shift,.tr-sa) .nudge{border:1px solid var(--line);width:24px;height:24px;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:999px;place-items:center;font-size:14px;line-height:1;display:grid}.hv :is(.tonic-shift,.tr-sa) .nudge:hover{background:#ffffff1f}.hv :is(.tonic-shift,.tr-sa) .nudge:disabled{opacity:.35;cursor:default;background:#ffffff0f}@media (pointer:coarse){.hv :is(.tonic-shift,.tr-sa) .nudge{width:32px;height:32px}}.hv .icon-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--text);cursor:pointer;background:#14100c66;border-radius:999px;place-items:center;display:grid}.hv .icon-btn:hover{background:var(--glass-strong)}.hv .page-head{justify-content:space-between;align-items:flex-end;padding:22px 28px 8px;display:flex}.hv .page-head .title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:38px;font-weight:500}.hv .page-head .title em{color:var(--pink);font-style:italic}.hv .page-head .sub{font-family:var(--font-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:11px}.hv .head-tools{align-items:center;gap:8px;display:inline-flex}.hv .rh-pill{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(180%);border:1px solid var(--line);font-family:var(--font-ui);color:var(--text);cursor:pointer;box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:inline-flex}.hv .rh-pill svg{width:14px;height:14px}.hv .rh-pill:hover{border-color:var(--line-strong)}.hv .rh-pill.primary{color:var(--pink);background:#f0a7a029;border-color:#f0a7a073}.hv .rh-pill.on{color:var(--pink);border-color:#f0a7a066}.hv .rh-pill.hero{color:#fff6f2;letter-spacing:.01em;text-shadow:0 1px #5a141459;background:linear-gradient(135deg,#ffa07a 0%,#ef6f67 45%,#c9476a 100%);border-color:#ffbeaa8c;padding:8px 16px 8px 14px;font-weight:600;transition:box-shadow .24s,transform .24s,filter .24s;box-shadow:inset 0 1px #ffffff59,0 0 0 1px #ef6f6759,0 6px 20px #ef6f6766}.hv .rh-pill.hero:hover{filter:saturate(1.1);border-color:#ffd2c3d9;transform:translateY(-1px);box-shadow:inset 0 1px #fff6,0 0 0 1px #ef6f6773,0 8px 26px #ef6f6780}.hv .rh-pill.hero svg{color:#fff6f2}.hv .rh-pill.hero .live{background:#fff6f273;border-radius:999px;width:7px;height:7px;transition:background .24s}.hv .rh-pill.hero.on{color:#fff6f2;border-color:#ffe6dcf2}.hv .rh-pill.hero.on .live{background:#fff4ef;animation:1.8s ease-out infinite hero-live;box-shadow:0 0 #fff4efb3}@keyframes hero-live{0%{box-shadow:0 0 #fff4efb3}70%{box-shadow:0 0 0 6px #fff4ef00}to{box-shadow:0 0 #fff4ef00}}@media (prefers-reduced-motion:reduce){.hv .rh-pill.hero.on .live{animation:none}}.hv{--rc-w:134px}.hv .rh-pill.rc-pill,.hv .rc-ctl{box-sizing:border-box;width:var(--rc-w);flex:none;height:34px}.hv .rh-pill.rc-pill{justify-content:center;padding-top:0;padding-bottom:0}.hv .rh-pill.rc-pill:disabled{opacity:.7;cursor:progress}.hv .rh-pill.rc-pill.saved{color:#b9e4c6;background:#8fc6a324;border-color:#8fc6a380}.hv .rc-ctl{color:var(--text);font-family:var(--font-ui);box-shadow:inset 0 1px 0 var(--hi-edge);background:#ef4f4f21;border:1px solid #ef4f4f8c;border-radius:999px;justify-content:space-between;align-items:center;gap:4px;padding:0 3px 0 10px;font-size:12px;display:inline-flex}.hv .rc-ind{flex:none;place-items:center;width:12px;height:12px;display:grid}.hv .rc-ind svg{color:#e8b27a;width:12px;height:12px}.hv .rc-ind.warn{color:#e8b27a;font-family:var(--font-mono);font-size:12px;font-weight:700}.hv .rc-dot{background:#ef4f4f;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite rc-live}.hv .rc-ctl[data-mic=off]{border-color:#e8b27a99}.hv .rc-ctl.paused{border-color:var(--line-strong);background:var(--glass)}.hv .rc-ctl.paused .rc-dot{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0;animation:none}.hv .rc-ctl.paused .rc-time{animation:1.4s ease-in-out infinite rc-live}@keyframes rc-live{0%,to{opacity:1}50%{opacity:.3}}.hv .rc-time{min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;flex:1;font-size:12px}.hv .rc-btn{border:1px solid var(--line);width:26px;height:26px;color:var(--text);cursor:pointer;background:#ffe8d212;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.hv .rc-btn svg{width:14px;height:14px}.hv .rc-btn:hover{border-color:var(--line-strong)}.hv .rc-btn.end{color:#fff;background:#ef4f4f;border-color:#0000}.hv .rc-ctl.saving{border-color:var(--line);background:var(--glass);color:var(--muted);justify-content:center;gap:8px;padding:0}.hv .rc-spin{border:2px solid #f0a7a04d;border-top-color:var(--pink);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite rc-spin}@keyframes rc-spin{to{transform:rotate(360deg)}}.hv .rc-ctl.failed{background:#e8b27a1f;border-color:#e8b27a99}.hv .rc-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hv .rc-text{height:26px;color:var(--pink);font:inherit;cursor:pointer;background:#f0a7a024;border:1px solid #f0a7a073;border-radius:999px;flex:none;padding:0 8px;font-size:11px;position:relative}.hv .rc-text.quiet{border-color:var(--line);color:var(--muted);background:0 0}.hv .tk-text{min-height:26px;color:var(--pink);font:inherit;cursor:pointer;background:#f0a7a024;border:1px solid #f0a7a073;border-radius:999px;padding:0 10px;font-size:11.5px}.hv .tk-text.quiet{border-color:var(--line);color:var(--muted);background:0 0}.hv .tk-text:disabled{opacity:.5;cursor:default}@media (max-width:1023px){.hv{--rc-w:108px}.hv .rc-ctl{gap:3px;padding-left:8px}.hv .rc-ctl .rc-ind:not(.warn){display:none}.hv .rc-ctl .rc-time{color:#ff8f8f}.hv .rc-ctl[data-mic=off] .rc-time{color:#e8b27a}.hv .rc-ctl.paused .rc-time{color:var(--muted)}.hv .rc-ctl.failed{padding-left:6px}.hv .rc-ctl.failed .rc-text{padding:0 6px}}@media (max-width:480px){.hv .head-tools{gap:6px}@media (min-width:360px){.hv .head-tools{flex-wrap:nowrap}}.hv .tonic-shift{gap:6px;padding:4px 6px;position:relative}.hv .tonic-shift .lbl{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hv .tonic-shift .val{min-width:0;padding:0 2px}.hv .rh-pill.hero{gap:6px;padding-left:10px;padding-right:10px}.hv .rh-pill.hero .rh-word{display:none}}@media (pointer:coarse){.hv .rc-btn:after,.hv .rc-text:after{content:"";position:absolute;inset:-10px -2px}.hv .rc-btn.end:after{inset:-10px -10px -10px -2px}.hv .rc-ctl{height:36px}.hv .tk-text{min-height:36px;padding:0 14px}}@media (prefers-reduced-motion:reduce){.hv .rc-dot,.hv .rc-spin,.hv .rc-ctl.paused .rc-time{animation:none}}.hv .takes .panel-head{flex-wrap:wrap;align-items:center;gap:10px}.hv .tk-tracks{gap:6px;display:inline-flex}.hv .tk-track{border:1px solid var(--line);min-height:24px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:0 9px;font-size:9.5px}.hv .tk-track.on{color:var(--pink);background:#f0a7a01a;border-color:#f0a7a073}.hv .tk-room{margin:0 0 8px}.hv .tk-list{max-height:var(--tk-cap,264px);scrollbar-width:thin;scrollbar-color:#e8b27a47 transparent;margin-right:-12px;padding-right:12px;overflow-y:auto}.hv .tk-list::-webkit-scrollbar{width:5px}.hv .tk-list::-webkit-scrollbar-track{background:0 0}.hv .tk-list::-webkit-scrollbar-thumb{background:#e8b27a47;border-radius:999px}@property --tk-fade{syntax:"<length>";inherits:false;initial-value:0}@supports (animation-timeline:scroll()){.hv .tk-list{-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--tk-fade)), transparent);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--tk-fade)), transparent);animation:linear both tk-more;animation-timeline:scroll(self)}}@keyframes tk-more{0%,92%{--tk-fade:28px}to{--tk-fade:0px}}.hv .takes .rec-row .name{font-family:var(--font-ui)}.hv .takes .rec-row .play{padding:0;position:relative}.hv .tk-take.playing .play{background:var(--pink);color:#2a1712}.hv .tk-unsaved .name{color:#e8b27a}.hv .takes .rec-row[data-busy]{opacity:.55}.hv .tk-bin{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.hv .tk-bin:hover{color:var(--text);border-color:var(--line)}.hv .tk-bin:disabled{opacity:.4;cursor:default}.hv .tk-empty{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}@media (pointer:coarse){.hv .tk-list{--tk-cap:256px}.hv .tk-track{min-height:36px;padding:0 12px}.hv .takes .rec-row .play,.hv .tk-bin{width:36px;height:36px}.hv .takes .rec-row .play:after,.hv .tk-bin:after{content:"";position:absolute;inset:-4px}.hv .takes .rec-row{padding:10px 0}}.hv .pitch-slot{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .64s cubic-bezier(.22,1,.36,1),opacity .46s cubic-bezier(.22,1,.36,1);display:grid}.hv .pitch-slot.open{opacity:1;grid-template-rows:1fr}.hv .pitch-slot-inner{min-height:0;transition:transform .64s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:translateY(-10px)}.hv .pitch-slot.open .pitch-slot-inner{transform:none}.hv .board-slot,.hv .bellows-slot{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .64s cubic-bezier(.22,1,.36,1),opacity .46s cubic-bezier(.22,1,.36,1);display:grid}.hv .board-slot.away,.hv .bellows-slot.away{opacity:0;grid-template-rows:0fr}.hv .board-slot-inner,.hv .bellows-slot-inner{min-height:0;transition:transform .64s cubic-bezier(.22,1,.36,1);overflow:hidden}.hv .board-slot.away .board-slot-inner,.hv .bellows-slot.away .bellows-slot-inner{transform:translateY(10px)}.hv .key-scroll{transform-origin:top;transition:transform .64s cubic-bezier(.22,1,.36,1),margin-bottom .64s cubic-bezier(.22,1,.36,1)}.hv[data-sliding] .key-window,.hv[data-sliding] .controls-slot,.hv[data-sliding] .phone-cards,.hv[data-sliding] .settings-cards,.hv[data-sliding] .ad-hero,.hv[data-sliding] .below-stage{will-change:transform}@media (min-width:1024px){.hv{--stage-rest:426px;--graph-h:clamp(140px, calc(100vh - 220px - var(--stage-rest)), 800px)}.hv .key-window .keybed{height:clamp(170px, calc(100vh - 123px - var(--stage-rest)), 220px)}.hv[data-graph=open] .drone-strip-graph{height:calc(var(--graph-h) - 26px)}.hv[data-graph=open] .key-window .keybed{height:clamp(170px, calc(100vh - var(--stage-rest) - var(--graph-h)), 220px)}}@media (min-width:1240px){.hv{--stage-rest:305px}}@media (min-width:1024px){.hv[data-graph=open]{--stage-rest:242px}}@media (min-width:1240px){.hv[data-graph=open]{--stage-rest:196px}}@media (prefers-reduced-motion:reduce){.hv .pitch-slot,.hv .pitch-slot-inner,.hv .board-slot,.hv .board-slot-inner,.hv .key-scroll{transition:none}}.hv .drone-strip{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:16px;grid-template-columns:220px 1fr 220px;align-items:center;gap:20px;margin:8px 28px 18px;padding:14px 18px;display:grid}.hv .drone-left{align-items:center;gap:14px;display:flex}.hv .drone-orb{flex-shrink:0;width:56px;height:56px;position:relative}.hv .drone-orb .core{background:radial-gradient(circle at 35% 30%, #ffd1c8, var(--pink) 60%, var(--pink-deep));box-shadow:0 0 18px var(--pink-glow), 0 0 32px var(--pink-glow), inset 0 1px 0 #ffffff80;border-radius:999px;position:absolute;inset:18px}.hv .drone-orb .ring{border:1.2px solid var(--pink);opacity:0;border-radius:999px;animation:2.6s ease-out infinite drone-pulse;position:absolute;inset:0}.hv .drone-orb .ring:nth-child(2){animation-delay:.87s}.hv .drone-orb .ring:nth-child(3){animation-delay:1.74s}@keyframes drone-pulse{0%{opacity:0;transform:scale(.55)}25%{opacity:.85}to{opacity:0;transform:scale(1.5)}}.hv .drone-meta .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px}.hv .drone-meta .v{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:22px;font-style:italic}.hv .drone-meta .v em{color:var(--pink);font-style:normal}.hv .drone-wave{height:56px;position:relative}.hv .drone-wave svg{width:100%;height:100%;display:block}.hv .drone-wave .baseline{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 4}.hv .drone-right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.hv .knob-mini{flex-direction:column;align-items:center;gap:6px;display:flex}.hv .knob-mini .dial{width:44px;height:44px;box-shadow:inset 0 1px 0 var(--hi-edge), inset 0 -3px 6px #00000073, 0 4px 12px #00000073;background:radial-gradient(circle at 35% 30%,#ffe8d238,#0000 55%),linear-gradient(#2a1c14,#160a06);border-radius:999px;position:relative}.hv .knob-mini .dial:after{content:"";background:var(--pink);width:2px;height:10px;box-shadow:0 0 6px var(--pink-glow);border-radius:999px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hv .knob-mini .cap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.hv .knob-mini.off .dial:after{background:var(--dim);box-shadow:none}.hv .knob-mini.off .cap{color:var(--dim)}.hv .harm-wrap{margin:0 var(--stage-margin,28px) 16px;border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge), 0 24px 48px #0006;background:radial-gradient(60% 80% at 50% 0,#e8b27a1a,#0000 65%),linear-gradient(#281c1680,#140c0899);border-radius:22px;padding:18px;position:relative}.hv .harm-top{background:radial-gradient(80% 80% at 50% 0%, #ffd2a02e, transparent 60%), repeating-linear-gradient(180deg, #0000 0 6px, #0000001f 6px 7px, #0000 7px 13px, #ffc8960a 13px 14px), linear-gradient(180deg, var(--wood-hi) 0%, var(--wood-1) 35%, var(--wood-2) 100%);border:1px solid #ffc8961a;border-radius:14px;grid-template-columns:220px 1fr 260px;align-items:center;height:132px;padding:0 18px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffd2aa2e,inset 0 -3px 8px #00000080,0 4px 12px #00000059}.hv .harm-stamp{flex-direction:column;gap:4px;display:flex}.hv .harm-stamp .word{font-family:var(--font-display);color:#ffe8d2d9;letter-spacing:-.01em;text-shadow:0 1px #0006;font-size:22px;font-style:italic}.hv .harm-stamp .word .dot{color:var(--pink)}.hv .harm-stamp .sub{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:#ffd2aa8c;font-size:9px}.hv .harm-stamp .serial{font-family:var(--font-mono);letter-spacing:.12em;color:#ffd2aa59;margin-top:6px;font-size:8.5px}.hv .reed-bank{justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.hv .reed-stop{background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;width:72px;padding:8px 6px 6px;display:flex}.hv .reed-stop .knob{background:radial-gradient(circle at 35% 30%, #f0d8a8, var(--brass-1) 55%, var(--brass-2));cursor:pointer;border-radius:999px;width:38px;height:38px;transition:none;position:relative;box-shadow:inset 0 1px #ffffff80,inset 0 -3px 6px #50280a8c,0 4px 10px #00000073,0 0 0 1px #00000059}.hv .reed-stop .knob:after{content:"";background:#321408b3;border-radius:2px;width:3px;height:8px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hv .reed-stop.active .knob{box-shadow:inset 0 1px 0 #ffffff80, inset 0 -3px 6px #50280a8c, 0 4px 10px #00000073, 0 0 0 1px #00000059, 0 0 14px var(--pink-glow);transform:translateY(-2px)}.hv .reed-stop.active .knob:after{background:var(--pink);box-shadow:0 0 6px var(--pink-glow)}.hv .reed-stop .lbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffd2aa99;font-size:8.5px}.hv .reed-stop.active .lbl{color:var(--pink)}.hv .reed-stop{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.hv .reed-stop .knob{cursor:inherit}.hv .reed-stop:active{cursor:grabbing}.hv .reed-stop:focus{outline:none}.hv .reed-stop:focus-visible{outline:1px solid var(--pink);outline-offset:1px;border-radius:12px}.hv .reed-stop .lvl{font-family:var(--font-mono);letter-spacing:.06em;color:#ffd2aa59;font-variant-numeric:tabular-nums;margin-top:-4px;font-size:8.5px}.hv .reed-stop.active .lvl{color:#f0a7a0bf}.hv .scale-changer{justify-content:flex-end;align-items:center;gap:14px;display:flex}.hv .scale-changer .info{text-align:right}.hv .scale-changer .info .lbl{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffd2aa8c;font-size:9px}.hv .scale-changer .info .v{font-family:var(--font-display);color:#ffe8d2e6;letter-spacing:-.01em;font-size:19px;font-style:italic}.hv .scale-dial{background:radial-gradient(circle at 35% 30%, #f4dcb0, var(--brass-1) 55%, var(--brass-2) 85%);border-radius:999px;width:76px;height:76px;transition:none;position:relative;box-shadow:inset 0 2px #ffffff73,inset 0 -4px 8px #3c1e0899,0 6px 16px #00000080,0 0 0 2px #0006}.hv .scale-dial:after{content:"";background:linear-gradient(180deg, var(--ebony), #3a1a08);transform-origin:50%;border-radius:999px;width:3px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #00000080}.hv .scale-dial .tick{transform-origin:50% 34px;background:#32140899;border-radius:1px;width:2px;height:7px;position:absolute;top:4px;left:50%}.hv .bellows{align-items:center;gap:10px;height:22px;margin-top:12px;padding:0 6px;display:flex}.hv .bellows .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:9px}.hv .bellows .bar{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;flex:1;height:8px;position:relative;overflow:hidden}.hv .bellows .fill{background:linear-gradient(90deg, #e8b27a8c, var(--pink) 80%);width:62%;box-shadow:0 0 12px var(--pink-glow);border-radius:999px;animation:4.2s ease-in-out infinite bellow-breathe;position:absolute;top:0;bottom:0;left:0}.hv .bellows.static .fill{width:62%;animation:none}.hv .bellows.live .fill{animation:none}@keyframes bellow-breathe{0%,to{width:60%}50%{width:78%}}.hv .bellows .val{font-family:var(--font-mono);color:var(--text);letter-spacing:.04em;text-align:right;min-width:56px;font-size:10px}.hv .keybed{background:linear-gradient(#0c0805 0%,#1a0e08 100%);border-radius:12px;height:220px;margin-top:14px;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #0009,inset 0 -1px #ffd2aa0d}.hv .keybed .whites{gap:2px;display:flex;position:absolute;inset:6px}.hv .wk{background:linear-gradient(180deg, var(--ivory) 0%, var(--ivory) 60%, var(--ivory-2) 100%);cursor:pointer;border:0;border-radius:0 0 7px 7px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding-bottom:12px;transition:background 60ms,transform 60ms,box-shadow 80ms;display:flex;position:relative;box-shadow:inset 0 1px #fff9,inset 0 -3px 6px #3c28142e,inset -1px 0 #0000001f,0 4px 8px #0000004d}.hv .wk:active,.hv .wk.pressed{box-shadow:inset 0 1px 0 #ffffff80, inset 0 -3px 6px #783c1459, 0 0 14px var(--pink-glow), 0 2px 6px #0006;background:linear-gradient(#ffd9b8 0%,#f4c08a 80%,#d8a16a 100%);transform:translateY(1px)}.hv .wk .sa{font-family:var(--font-display);color:#2d140abf;letter-spacing:-.005em;font-size:16px;font-style:italic;line-height:1}.hv .wk .dev{font-family:var(--font-bengali);color:#2d140a8c;margin-top:3px;font-size:11px;font-weight:500;line-height:1}.hv .wk .name{font-family:var(--font-mono);color:#2d140a73;letter-spacing:.06em;margin-top:6px;font-size:8.5px}.hv .wk .name sub{opacity:.6}.hv .wk.tonic,.hv .wk.ni-mark{background:linear-gradient(#ffe1cc 0%,#f4c8a8 60%,#e1a878 100%)}.hv .wk.ghost{pointer-events:none;cursor:default;flex:.5}.hv .sa{position:relative}.hv .sa.oct-lo:after,.hv .sa.oct-hi:before,.hv .sa.oct-hi2:before{letter-spacing:1px;color:currentColor;opacity:.7;pointer-events:none;font-size:7px;font-style:normal;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.hv .sa.oct-lo:after{content:"•";top:100%}.hv .sa.oct-hi:before{content:"•";bottom:calc(100% - 1px)}.hv .sa.oct-hi2:before{content:"••";bottom:calc(100% - 1px)}.hv .sa.mk-komal{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.hv .sa.mk-tivra{text-decoration:overline;text-decoration-thickness:1px}.hv .wk:focus,.hv .bk:focus,.hv .wk:focus-visible,.hv .bk:focus-visible{outline:none}.hv .wk.tonic:before{content:"";background:var(--pink);width:6px;height:6px;box-shadow:0 0 8px var(--pink-glow);border-radius:999px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hv .wk.in-raga:after{content:"";background:#e8b27ab3;border-radius:999px;width:5px;height:5px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.hv .keybed.dim-non-raga .wk:not(.in-raga),.hv .keybed.dim-non-raga .bk:not(.in-raga){filter:brightness(.62)saturate(.7)}.hv .keybed.hide-western .wk .name,.hv .keybed.hide-western .bk .name,.hv .keybed.hide-sargam .wk .sa,.hv .keybed.hide-sargam .wk .dev,.hv .keybed.hide-sargam .bk .sa,.hv .keybed.hide-sargam .bk .dev{visibility:hidden}.hv .keybed .blacks{height:min(62%, calc(100% - var(--wk-labels,80px)));pointer-events:none;position:absolute;top:6px;left:6px;right:6px}.hv .bk{background:linear-gradient(180deg, var(--ebony) 0%, #2a1810 70%, #1a0e08 100%);cursor:pointer;pointer-events:auto;color:#ffe8d28c;border:0;border-radius:0 0 5px 5px;flex-direction:column;justify-content:flex-end;align-items:center;width:24px;height:100%;padding-bottom:8px;transition:background 60ms,transform 60ms;display:flex;position:absolute;box-shadow:inset 0 1px #ffd2aa2e,inset 0 -2px 4px #0009,0 4px 6px #00000080}.hv .bk:active,.hv .bk.pressed{box-shadow:inset 0 1px 0 #ffd2aa4d, 0 0 14px var(--pink-glow);background:linear-gradient(#3a1f10 0%,#5e2e16 80%);transform:translateY(1px)}.hv .bk .sa{font-family:var(--font-display);color:#ffe8d2d9;letter-spacing:-.005em;font-size:11px;font-style:italic;line-height:1}.hv .bk .dev{font-family:var(--font-bengali);color:#ffe8d28c;margin-top:2px;font-size:9px;line-height:1}.hv .bk .name{font-family:var(--font-mono);color:#ffe8d266;letter-spacing:.05em;margin-top:3px;font-size:7.5px}.hv .bk .name sub{opacity:.6}.hv .bk.tonic{background:linear-gradient(#4a2412 0%,#6b3a1c 65%,#4a2412 100%)}.hv .bk.tonic:before{content:"";background:var(--pink);width:5px;height:5px;box-shadow:0 0 8px var(--pink-glow);border-radius:999px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hv .bk.in-raga:after{content:"";background:#e8b27ab3;border-radius:999px;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.hv .harm-controls{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.hv .h-ctrl{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(180%);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.hv .h-ctrl:hover{border-color:var(--line-strong)}.hv .h-ctrl .icon{border:1px solid var(--line);width:30px;height:30px;color:var(--text);background:#ffffff0f;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.hv .h-ctrl .meta{min-width:0}.hv .h-ctrl .lbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:9px}.hv .h-ctrl .v{font-family:var(--font-display);color:var(--text);letter-spacing:-.005em;min-height:20px;margin-top:2px;font-size:15px;font-style:italic;line-height:20px}.hv .h-ctrl.on .v{color:var(--pink)}.hv .h-ctrl.on .icon{color:var(--pink);background:#f0a7a01f;border-color:#f0a7a059}.hv .settings-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;margin:16px 28px 0;display:grid}.hv .settings-cards>.action-card{justify-content:flex-start}.hv .below-stage{grid-template-columns:1.4fr 1fr;gap:14px;margin:16px 28px 0;display:grid}.hv .panel{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:16px;padding:18px 20px}.hv .panel-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.hv .panel-head .h{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:17px;font-weight:500}.hv .panel-head .h em{color:var(--pink);font-style:italic}.hv .panel-head .more{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;font-size:10px}.hv .panel-head .more:hover{color:var(--text)}.hv .lesson-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.hv .lesson-card{border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:12px;padding:12px;transition:border-color .12s,background .12s}.hv .lesson-card:hover{border-color:var(--line-strong);background:#ffffff0d}.hv .lesson-card .stage{border-radius:8px;height:56px;margin-bottom:10px;position:relative;overflow:hidden}.hv .lesson-card.l1 .stage{background:radial-gradient(70% 60% at 30%,#f0a7a059,#0000 65%),linear-gradient(135deg,#2a1410,#0a0604)}.hv .lesson-card.l2 .stage{background:radial-gradient(60% 70% at 65% 35%,#e8b27a52,#0000 65%),linear-gradient(135deg,#1a1208,#14060c)}.hv .lesson-card.l3 .stage{background:radial-gradient(60% 50%,#8fc6a352,#0000 65%),linear-gradient(135deg,#0c1a0e,#0a0c08)}.hv .lesson-card .stage svg{position:absolute;inset:8px}.hv .lesson-card .kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:9px}.hv .lesson-card .name{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text);font-size:15px;font-weight:500}.hv .lesson-card .name em{color:var(--pink);font-style:italic}.hv .lesson-card .meta{font-family:var(--font-mono);color:var(--dim);letter-spacing:.04em;margin-top:6px;font-size:10px}.hv .rec-row{border-bottom:1px dashed var(--line);align-items:center;gap:12px;padding:8px 0;display:flex}.hv .rec-row:last-child{border-bottom:0}.hv .rec-row .play{width:30px;height:30px;color:var(--pink);cursor:pointer;background:#f0a7a024;border:1px solid #f0a7a059;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.hv .rec-row .info{flex:1;min-width:0}.hv .rec-row .name{font-family:var(--font-bengali);color:var(--text);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.hv .rec-row .meta{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-top:2px;font-size:10px}.hv .rec-row .dur{font-family:var(--font-mono);color:var(--muted);flex-shrink:0;font-size:11px}.hv .rec-row .wave{flex-shrink:0;width:84px;height:22px}.hv .rec-row .wave svg{width:100%;height:100%}.hv .rail{border-left:1px solid var(--line);scrollbar-width:none;flex-direction:column;gap:16px;padding:20px 18px;display:flex;overflow-y:auto}.hv .rail::-webkit-scrollbar{display:none}.hv .sargam-card{background:linear-gradient(135deg, #f0a7a029 0%, #e8b27a1a 60%, var(--glass) 100%);box-shadow:inset 0 1px 0 var(--hi-edge), 0 10px 28px #00000059;border:1px solid #f0a7a04d;border-radius:16px;padding:16px}.hv .sargam-card .lbl{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--pink);margin-bottom:10px;font-size:9px}.hv .sargam-card .stream{font-family:var(--font-display);color:var(--text);letter-spacing:-.005em;text-wrap:balance;min-height:48px;font-size:22px;font-weight:500;line-height:1.35}.hv .sargam-card .stream em{color:var(--pink);font-style:italic}.hv .sargam-card .stream .past{color:var(--muted);opacity:.7}.hv .sargam-card .stream .now{color:var(--pink);text-shadow:0 0 12px var(--pink-glow);font-style:italic}.hv .sargam-card .stream .future{opacity:.4}.hv .sargam-card .bn{font-family:var(--font-bengali);color:var(--muted);letter-spacing:-.005em;margin-top:8px;font-size:14px}.hv .sargam-card .meta{border-top:1px solid var(--line);gap:14px;margin-top:12px;padding-top:12px;display:flex}.hv .sargam-card .meta .m{flex-direction:column;gap:2px;display:flex}.hv .sargam-card .meta .ml{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:9px}.hv .sargam-card .meta .mv{font-family:var(--font-display);color:var(--text);font-size:16px;font-style:italic}.hv .raga-card{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:16px;padding:16px}.hv .raga-card .head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.hv .raga-card .swatch{background:var(--raga-yaman);border-radius:8px;flex-shrink:0;width:32px;height:32px;box-shadow:inset 0 1px #ffffff4d}.hv .raga-card .who{flex:1}.hv .raga-card .who .name{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:20px;font-style:italic}.hv .raga-card .who .bn{font-family:var(--font-bengali);color:var(--muted);margin-top:1px;font-size:11px}.hv .raga-card .swap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pink);cursor:pointer;font-size:9.5px}.hv .ladder{flex-direction:column;gap:10px;padding:10px 0 4px;display:flex}.hv .ladder .line{align-items:baseline;gap:8px;display:flex}.hv .ladder .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);width:60px;font-size:9px}.hv .ladder .notes{font-family:var(--font-display);color:var(--text);letter-spacing:.02em;flex:1;font-size:17px}.hv .ladder .notes em{color:var(--pink);font-style:italic}.hv .ladder .notes .accidental{color:var(--amber);font-style:italic}.hv .raga-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;display:grid}.hv .raga-meta .m .l{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:9px}.hv .raga-meta .m .v{font-family:var(--font-display);color:var(--text);font-size:15px;font-style:italic}.hv .action-card{background:var(--glass);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hi-edge);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.hv .action-row{justify-content:space-between;align-items:center;gap:10px;padding:9px 4px;display:flex}.hv .action-row .l{font-family:var(--font-ui);color:var(--text);font-size:13px}.hv .action-row .l .desc{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-top:2px;font-size:10px}.hv .toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:999px;flex-shrink:0;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.hv .toggle:after{content:"";background:#d4c8b6;border-radius:999px;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000080}.hv .toggle.on{background:#f0a7a073;border-color:#f0a7a08c}.hv .toggle.on:after{background:var(--pink);box-shadow:0 0 10px var(--pink-glow);transform:translate(16px)}.hv .start-btn{color:#2d130f;width:100%;font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;background:radial-gradient(120% 100% at 30% 20%,#ffd1c8,#f0a7a0 55%,#d68a82 100%);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 0 18px #f0a7a073,inset 0 1px #ffffff80}.hv .ad-tag{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);background:#ffffff0d;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:8.5px;display:inline-flex}.hv .ad-tag .dot{background:var(--muted);border-radius:999px;width:4px;height:4px;display:inline-block}.hv .ad-tag.promo .dot{background:var(--pink)}.hv .ad-tag.promo{color:var(--pink);border-color:#f0a7a04d}.hv .ad-hero{box-shadow:inset 0 1px 0 var(--hi-edge), 0 10px 28px #00000059;background:radial-gradient(60% 120% at 0%,#e8b27a38,#0000 60%),radial-gradient(50% 120% at 100%,#f0a7a02e,#0000 60%),linear-gradient(135deg,#281c16b3,#140c0899);border:1px solid #e8b27a52;border-radius:18px;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;margin:16px 28px 0;padding:18px 22px;display:grid;position:relative;overflow:hidden}.hv .ad-hero:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 14px,#ffd2aa06 14px 15px);position:absolute;inset:0}.hv .ad-hero .crest{background:radial-gradient(circle at 30% 30%, #ffd1c8, var(--pink) 60%, var(--pink-deep));color:#2d130f;width:64px;height:64px;font-family:var(--font-display);z-index:1;border-radius:14px;flex-shrink:0;place-items:center;font-size:30px;font-style:italic;font-weight:500;display:grid;position:relative;box-shadow:inset 0 1px #fff6,0 6px 16px #0006}.hv .ad-hero .info{z-index:1;min-width:0;position:relative}.hv .ad-hero .row1{align-items:center;gap:10px;margin-bottom:6px;display:flex}.hv .ad-hero .name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:22px;font-weight:500}.hv .ad-hero .name em{color:var(--pink);font-style:italic}.hv .ad-hero .desc{font-family:var(--font-ui);color:var(--muted);max-width:520px;font-size:13px;line-height:1.4}.hv .ad-hero .desc strong{color:var(--text);font-weight:500}.hv .ad-hero .cta{color:#2d130f;font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;z-index:1;background:radial-gradient(120% 100% at 30% 20%,#ffd1c8,#f0a7a0 55%,#d68a82 100%);border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 0 18px #f0a7a073,inset 0 1px #ffffff80}.hv .row{align-items:center;gap:8px;display:flex}.hv .grow{flex:1}.hv .main.hv-main-embedded{height:auto;padding:0 var(--stage-pad,26px) 24px;overflow-y:visible}.hv .harm-top{grid-template-columns:minmax(140px,220px) minmax(max-content,1fr) minmax(150px,260px)}.hv .harm-wrap{container-type:inline-size}.hv .harm-stamp{min-width:0}.hv .harm-stamp .word,.hv .harm-stamp .sub,.hv .harm-stamp .serial{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hv .harm-stamp .word{font-size:clamp(16px,2.3cqi,22px)}.hv .harm-stamp .sub{letter-spacing:clamp(.6px,.2cqi,2.16px)}@container (max-width:779px){.hv .harm-stamp .serial{display:none}}@container (max-width:699px){.hv .harm-stamp{display:none}.hv .harm-top{grid-template-columns:minmax(max-content,1fr) minmax(150px,auto)}}@container (max-width:489px){.hv .reed-bank .reed-stop{width:46px}.hv .reed-bank .reed-stop .knob{width:28px;height:28px}}@media (max-width:1360px){.hv .scale-changer .info{display:none}}@media (max-width:1500px){.hv .reed-stop{width:56px;padding:6px 2px 4px}.hv .reed-stop .knob{width:32px;height:32px}.hv .reed-bank{gap:6px}}.hv .wk .kb,.hv .bk .kb{font-family:var(--font-mono), monospace;text-align:center;color:#2d140a8c;margin-top:8px;font-size:10px;font-weight:500;line-height:1}.hv .bk .kb{color:#f2e9d68c}.hv .knob-live{cursor:ns-resize;touch-action:none}.hv .scale-changer-live{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.hv .scale-changer-live:active{cursor:grabbing}.hv .h-ctrl-drag{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.hv .h-ctrl-drag:after{content:"";width:2px;top:22%;bottom:22%;left:clamp(10px, var(--vol,80%), calc(100% - 12px));pointer-events:none;background:#f0a7a080;border-radius:1px;position:absolute}aside.rail.hv{flex-direction:column;gap:16px;display:flex}.hv .page-head{padding-top:var(--page-top-gap);flex-wrap:wrap;row-gap:12px}.hv .head-tools{flex-wrap:wrap}.hv .drone-strip{grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(140px,220px)}.hv .drone-wave{min-width:0}.hv .harm-controls{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.hv .harm-wrap{scrollbar-width:thin;overflow-x:auto}.hv .harm-wrap>*{min-width:446px}@media (max-width:1280px){.hv .drone-wave{display:none}.hv .drone-strip{grid-template-columns:auto auto;justify-content:space-between}.hv .drone-right .knob-mini:not(.knob-live){display:none}}.hv .below-stage.with-ad{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.hv .below-stage .gad{grid-column:1/-1;justify-self:center;width:min(100%,420px);overflow:hidden}.hv .practice-card .pc-title{font-family:var(--font-display);color:var(--text);font-size:18px}.hv .practice-card .pc-title em{color:var(--pink);font-style:italic}.hv .practice-card .pc-sub{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);margin-top:3px;font-size:8.5px}:is(.hv,.pr-sheet) .pc-list{scrollbar-width:thin;scrollbar-color:#e8b27a47 transparent;flex-direction:column;gap:2px;max-height:218px;margin-top:10px;display:flex;overflow-y:auto}.hv .practice-card .pc-browse{border:1px dashed var(--line-strong);width:100%;min-height:36px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;margin-top:6px;padding:0 10px 0 12px;font-size:12px;transition:color .16s,border-color .16s,background .16s;display:flex}.hv .practice-card .pc-browse:hover{color:var(--text);background:#ffffff0a}.hv .practice-card .pc-browse-n{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-left:auto;font-size:10px}.hv .practice-card .pc-sec{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);margin-top:12px;padding-top:10px;font-size:8.5px}.hv .practice-card .pc-list.pc-recent{max-height:none;margin-top:6px;overflow:visible}.hv .practice-card .pc-none{color:var(--muted);opacity:.8;margin:7px 0 0;font-size:12px;line-height:1.4}:is(.hv,.pr-sheet) .pc-row.recent .pc-name{font-style:italic}@media (pointer:coarse){.hv .practice-card .pc-browse{min-height:44px}}:is(.hv,.pr-sheet) .pc-row{width:100%;color:var(--text);background:0 0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}:is(.hv,.pr-sheet) .pc-row.sel{background:#f0a7a01a}:is(.hv,.pr-sheet) .pc-showing{color:var(--text);margin:10px 2px 0;font-size:12.5px;line-height:1.3}:is(.hv,.pr-sheet) .pc-showing-lbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:6px;font-size:8.5px}:is(.hv,.pr-sheet) .practice-card[data-quiet] .pc-showing{visibility:hidden}:is(.hv,.pr-sheet) .practice-card[data-quiet] .pc-row.sel{background:0 0}:is(.hv,.pr-sheet) .practice-card[data-quiet] :is(.pc-sub,.pc-name,.pc-none,.pc-scale-now,.pc-notation>*,.pc-pacebar,.pc-pace-lbl,.pc-pace-v){visibility:hidden}@media (hover:hover){:is(.hv,.pr-sheet) .pc-row{transition:background .2s}:is(.hv,.pr-sheet) .pc-row:hover:not(.pending){background:#ffe8d20f}:is(.hv,.pr-sheet) .pc-row.sel:hover{background:#f0a7a026}}:is(.hv,.pr-sheet) .pc-row.playing .pc-name{color:var(--pink)}:is(.hv,.pr-sheet) .pc-row.pending{opacity:.38}:is(.hv,.pr-sheet) .pc-select{min-width:0;min-height:36px;color:inherit;text-align:left;cursor:pointer;font-family:var(--font-display);touch-action:manipulation;background:0 0;border:0;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:grid}:is(.hv,.pr-sheet) .pc-select:disabled{cursor:default}:is(.hv,.pr-sheet) .pc-play{border:1px solid var(--line);width:26px;height:26px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:#ffe8d20d;border-radius:999px;place-items:center;margin-right:6px;transition:color .15s,border-color .15s,background .15s;display:grid;position:relative}:is(.hv,.pr-sheet) .pc-play:after{content:"";border-radius:999px;position:absolute;inset:-6px}:is(.hv,.pr-sheet) .pc-play svg{width:10px;height:10px}:is(.hv,.pr-sheet) .pc-play:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}:is(.hv,.pr-sheet) .pc-play.on{color:var(--pink);background:#f0a7a01f;border-color:#f0a7a080}:is(.hv,.pr-sheet) .pc-play,:is(.hv,.pr-sheet) .pc-select{-webkit-tap-highlight-color:transparent}:is(.hv,.pr-sheet) .pc-play:focus-visible,:is(.hv,.pr-sheet) .pc-select:focus-visible{box-shadow:0 0 0 1px var(--pink);outline:none}:is(.hv,.pr-sheet) .pc-play:focus:not(:focus-visible){outline:none}:is(.hv,.pr-sheet) .pc-play:disabled{cursor:default}@media (pointer:coarse){:is(.hv,.pr-sheet) .pc-select{min-height:44px}:is(.hv,.pr-sheet) .pc-play{width:30px;height:30px}:is(.hv,.pr-sheet) .pc-play:after{inset:-7px}}:is(.hv,.pr-sheet) .pc-n{font-family:var(--font-mono);color:var(--muted);font-size:9px}:is(.hv,.pr-sheet) .pc-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.hv,.pr-sheet) .pc-pace{align-items:center;gap:8px;margin-top:10px;display:flex}:is(.hv,.pr-sheet) .pc-pace-lbl,:is(.hv,.pr-sheet) .pc-pace-v{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:9px}:is(.hv,.pr-sheet) .pc-pacebar{border:1px solid var(--line);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffe8d20a;border-radius:9px;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 10px;display:flex;position:relative}:is(.hv,.pr-sheet) .pc-pacebar:after{content:"";width:2px;top:2px;bottom:2px;left:clamp(1px, var(--pos,60%), calc(100% - 3px));box-shadow:0 0 6px var(--pink-glow);background:#f0a7a0bf;border-radius:1px;position:absolute}:is(.hv,.pr-sheet) .pc-pausebtn,:is(.hv,.pr-sheet) .pc-enlarge{border:1px solid var(--line);width:36px;height:32px;color:var(--text);cursor:pointer;background:#ffe8d20d;border-radius:7px;font-size:10px;line-height:1}:is(.hv,.pr-sheet) .pc-enlarge{color:var(--muted);flex:none;place-items:center;padding:0;display:inline-grid}:is(.hv,.pr-sheet) .pc-enlarge:hover{color:var(--text)}:is(.hv,.pr-sheet) .pc-pausebtn svg{vertical-align:middle;width:12px;height:12px}:is(.hv,.pr-sheet) .pc-pausebtn:disabled{opacity:.35;cursor:default}:is(.hv,.pr-sheet) .pc-pausebtn:hover:not(:disabled){background:#f0a7a01f}@media (pointer:coarse){:is(.hv,.pr-sheet) .pc-pausebtn,:is(.hv,.pr-sheet) .pc-enlarge{width:44px;height:40px}}:is(.hv,.pr-sheet) .pc-notation{font-family:var(--font-mono);color:#f0e0cdc7;background:#ffe8d20a;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12px;line-height:1.9}:is(.hv,.pr-sheet) .pc-block{flex-wrap:wrap;gap:4px 10px;display:flex}:is(.hv,.pr-sheet) .pc-pyramid .pc-block{flex-direction:column;align-items:center;gap:3px}:is(.hv,.pr-sheet) .pc-pyramid .pc-phrase{background:#ffe8d20b;border-radius:999px;gap:0;padding:2px 8px;box-shadow:inset 0 0 0 1px #ffe8d20f}:is(.hv,.pr-sheet) .pc-pyramid .pc-phrase[data-apex]{background:#f0a7a01a;box-shadow:inset 0 0 0 1px #f0a7a038}:is(.hv,.pr-sheet) .pc-pyramid .pc-matra{text-align:center;width:2.1ch;display:inline-block}:is(.hv,.pr-sheet) .pc-pyramid .pc-tok[data-peak]{color:#e8b27af2;font-weight:600}@media (max-width:540px){:is(.hv,.pr-sheet) .pc-pyramid{font-size:15px}:is(.hv,.pr-sheet) .pc-pyramid .pc-phrase{max-width:100%;padding:2px 5px}:is(.hv,.pr-sheet) .pc-pyramid .pc-matra{width:1.9ch}}:is(.hv,.pr-sheet) .pc-block+.pc-block{border-top:1px solid #ffe8d214;margin-top:6px;padding-top:6px}:is(.hv,.pr-sheet) .pc-phrase{white-space:nowrap;gap:4px;display:inline-flex}:is(.hv,.pr-sheet) .pc-tok.on{color:#ffb4a8;background:#f0a7a042;border-radius:3px;font-weight:600;box-shadow:0 0 0 2px #f0a7a042}:is(.hv,.pr-sheet) .pc-tok{position:relative}:is(.hv,.pr-sheet) .pc-tok.pc-hold,:is(.hv,.pr-sheet) .pc-tok.pc-rest{opacity:.62}:is(.hv,.pr-sheet) .pc-tok.pc-rest{font-style:italic}:is(.hv,.pr-sheet) .pc-tok[data-oct]:before{content:"";background:currentColor;border-radius:50%;width:.29em;height:.29em;margin-left:-.145em;position:absolute;left:50%}:is(.hv,.pr-sheet) .pc-tok[data-oct="1"]:before{top:-.08em}:is(.hv,.pr-sheet) .pc-tok[data-oct="-1"]:before{bottom:-.17em}:is(.hv,.pr-sheet) .pc-tok[data-acc=komal]{text-underline-offset:.17em;text-decoration:underline;text-decoration-thickness:max(1px,.07em)}:is(.hv,.pr-sheet) .pc-tok[data-acc=tivra]{text-decoration:overline;text-decoration-thickness:max(1px,.07em)}:is(.hv,.pr-sheet) .pc-tok[data-acc=vivadi]:after{content:attr(data-sub);vertical-align:sub;opacity:.85;margin-left:.05em;font-size:.55em}:is(.hv,.pr-sheet) .pc-tok[data-acc=tivra][data-oct="1"]:before{top:-.42em}:is(.hv,.pr-sheet) .pc-tok[data-acc=komal][data-oct="-1"]:before{bottom:-.42em}:is(.hv,.pr-sheet) .pc-scale{border:1px solid var(--line);background:#ffe8d20a;border-radius:9px;align-items:stretch;margin-top:12px;display:flex;overflow:hidden}:is(.hv,.pr-sheet) .pc-scale-step{width:34px;min-height:38px;color:var(--text);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}:is(.hv,.pr-sheet) .pc-scale-step:first-child{border-right:1px solid var(--line)}:is(.hv,.pr-sheet) .pc-scale-step:last-child{border-left:1px solid var(--line)}:is(.hv,.pr-sheet) .pc-scale-step:hover{background:#f0a7a01f}:is(.hv,.pr-sheet) .pc-scale-step:active{background:#f0a7a033}:is(.hv,.pr-sheet) .pc-scale-now{text-align:center;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-wrap:wrap;flex:1;place-content:center;align-items:baseline;gap:1px 7px;padding:4px 9px;transition:background .16s;display:flex}@media (hover:hover){:is(.hv,.pr-sheet) .pc-scale-now:hover{background:#ffe8d20f}}:is(.hv,.pr-sheet) .pc-scale-lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:8px}:is(.hv,.pr-sheet) .pc-scale-name{color:var(--text);font-size:13px}:is(.hv,.pr-sheet) .pc-scale-notes{text-align:center;font-family:var(--font-mono);letter-spacing:.04em;color:#e8b27ad9;flex-basis:100%;font-size:9.5px}@media (pointer:coarse){:is(.hv,.pr-sheet) .pc-scale-step{width:44px;min-height:44px}}:is(.hv,.pr-sheet) .pc-phrase{border-radius:4px;margin:0 -4px;padding:0 4px}:is(.hv,.pr-sheet) .pc-phrase.on{color:#f0e0cdf2;background:#f0a7a01a}:is(.hv,.pr-sheet) .pc-taal{--pc-cell:2.1ch;line-height:1.6}:is(.hv,.pr-sheet) .pc-taal.pairs{--pc-cell:3.1ch;line-height:1.9}:is(.hv,.pr-sheet) .pc-taal-head{letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:8px;font-size:10px;display:flex}:is(.hv,.pr-sheet) .pc-taal-name{text-transform:uppercase;letter-spacing:.16em;color:#e8b27af2}:is(.hv,.pr-sheet) .pc-taal-native{font-family:var(--font-ui);letter-spacing:0;color:#f0e0cdb3;font-size:12px}:is(.hv,.pr-sheet) .pc-cycles{gap:8px 0}:is(.hv,.pr-sheet) .pc-cycle{border-radius:3px;flex-wrap:wrap;row-gap:6px;margin-right:-1px;display:flex}:is(.hv,.pr-sheet) .pc-vibhag{border-inline:1px solid #ffe8d238;margin-left:-1px;padding:1px 2px 0}:is(.hv,.pr-sheet) .pc-cycle>.pc-vibhag:first-child{margin-left:0}:is(.hv,.pr-sheet) .pc-cells{display:flex}:is(.hv,.pr-sheet) .pc-cell{width:var(--pc-cell);text-align:center;white-space:nowrap;position:relative}:is(.hv,.pr-sheet) .pc-cell.multi:after{content:"";border:max(1px,.06em) solid #f0e0cd73;border-top:0;border-radius:0 0 .7em .7em;height:.33em;position:absolute;bottom:-.58em;left:14%;right:14%}:is(.hv,.pr-sheet) .pc-cell.pad{color:#f0e0cd47}:is(.hv,.pr-sheet) .pc-mark{width:var(--pc-cell);height:1.1em;font-family:var(--font-ui);text-align:center;color:#e8b27ad9;margin-top:.25em;font-size:.83em;line-height:1.3}:is(.hv,.pr-sheet) .pc-taal.pairs .pc-mark{margin-top:.92em}:is(.hv,.pr-sheet) .pc-legend{font-family:var(--font-ui);color:var(--muted);opacity:.8;border-top:1px solid #ffe8d214;flex-wrap:wrap;gap:1px 10px;margin:10px 0 0;padding-top:7px;font-size:9.5px;line-height:1.5;display:flex}:is(.hv,.pr-sheet) .pc-legend b{color:#e8b27ad9;font-weight:600}:is(.hv,.pr-sheet) .pc-cycle.on{color:#f0e0cdf2;background:#f0a7a01a}@media (pointer:coarse){:is(.hv,.pr-sheet) .pc-taal{font-size:13px}}:is(.hv,.pr-sheet) .pc-list::-webkit-scrollbar{width:5px}:is(.hv,.pr-sheet) .pc-notation::-webkit-scrollbar{width:5px}:is(.hv,.pr-sheet) .pc-list::-webkit-scrollbar-track{background:0 0}:is(.hv,.pr-sheet) .pc-notation::-webkit-scrollbar-track{background:0 0}:is(.hv,.pr-sheet) .pc-list::-webkit-scrollbar-thumb{background:#e8b27a47;border-radius:999px}:is(.hv,.pr-sheet) .pc-notation::-webkit-scrollbar-thumb{background:#e8b27a47;border-radius:999px}:is(.hv,.pr-sheet) .pc-notation{scrollbar-color:#e8b27a47 transparent}.hv .voice-lane{width:100%;height:56px;position:relative}.hv .voice-lane canvas{width:100%;height:100%;display:block}.hv .vl-chip{font-family:var(--font-mono);letter-spacing:.08em;pointer-events:none;border-radius:999px;padding:1px 6px;font-size:9px;position:absolute;top:4px;right:84px}.hv .vl-chip.ok{color:#e8b27ae6}.hv .vl-chip.warn{color:var(--pink);background:#f0a7a01f;border:1px solid #f0a7a04d}.hv .vl-dev{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.55;align-items:center;gap:6px;font-size:8.5px;display:flex;position:absolute;bottom:4px;left:8px}.hv .vl-dev:hover{opacity:1}.hv .vl-dev-tag{color:var(--pink)}.hv .vl-dbg{border:1px solid var(--line);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:#ffe8d20d;border-radius:999px;padding:2px 7px}.hv .vl-dbg:hover{background:#ffe8d21a}.hv .vl-mic{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:max-content;max-width:calc(100% - 56px);color:var(--text);text-align:center;background:#1c120ed1;border:1px solid #f0a7a059;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;font-size:12px;line-height:1.35;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hv .vl-mic button{color:#fff;min-height:32px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#ffa07a,#ef6f67 45%,#c9476a);border:0;border-radius:999px;padding:0 14px;font-weight:600}@media (pointer:coarse){.hv .vl-mic button{min-height:44px;padding:0 18px}}.hv .vl-tune-pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:24px;color:var(--text-dim,#f0e0cdcc);font:inherit;letter-spacing:.02em;cursor:pointer;background:#1c120e9e;border:1px solid #e8b27a47;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:11px;transition:border-color .2s,color .2s;display:inline-flex;position:absolute;top:2px;left:4px}.hv .vl-tune-pill:hover{color:var(--text);border-color:#e8b27a99}.hv .vl-tune-dot{background:#e8b27a8c;border-radius:50%;width:6px;height:6px}.hv .vl-tune-pill.tuned .vl-tune-dot{background:#8ee8b4;box-shadow:0 0 6px #8ee8b4b3}.hv .vl-tune-pill.adjusting{color:var(--text);border-color:#e8b27ae6;transition:border-color .12s,color .12s,box-shadow .12s;box-shadow:0 0 0 1px #e8b27a59,0 0 14px #e8b27a73}.hv .vl-tune-pill.adjusting .vl-tune-dot{background:#ffcf8a;animation:.7s ease-in-out infinite alternate vl-tune-breathe;box-shadow:0 0 8px #ffcf8ae6}@keyframes vl-tune-breathe{0%{transform:scale(1)}to{transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.hv .vl-tune-pill.adjusting .vl-tune-dot{animation:none}}@media (pointer:coarse){.hv .vl-tune-pill{min-height:32px;padding:0 12px 0 10px;font-size:12px}}.hv .vl-tune{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:min(360px,100% - 32px);color:var(--text);background:#1c120ee6;border:1px solid #e8b27a59;border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hv .vl-tune-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hv .vl-tune-step{font-family:var(--font-display,inherit);font-size:16px;font-weight:600}.hv .vl-tune-left{font-variant-numeric:tabular-nums;color:#f0e0cd99;margin-left:6px;font-family:inherit;font-size:13px;font-weight:400}.hv .vl-tune-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.hv .vl-tune-link{color:#f0e0cdb3;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-size:12px;text-decoration:underline}.hv .vl-tune-link:hover{color:var(--text)}.hv .vl-tune-say{margin:0}.hv .vl-tune-fine{color:#f0e0cda6;margin:0;font-size:11px}.hv .vl-tune-meter{background:#f0e0cd1f;border-radius:3px;height:6px;overflow:hidden}.hv .vl-tune-meter span{background:#e8b27a8c;border-radius:3px;height:100%;transition:width .12s linear;display:block}.hv .vl-tune-meter.live span{background:linear-gradient(90deg,#8ee8b4,#e8b27a 70%,#ef6f67);transition:width 90ms linear}.hv .vl-tune-cancel{min-height:36px;color:var(--text);font:inherit;cursor:pointer;background:#f0e0cd1f;border:0;border-radius:999px;margin-left:auto;padding:0 16px;font-weight:500}.hv .vl-tune-cancel.primary{color:#fff;background:linear-gradient(135deg,#ffa07a,#ef6f67 45%,#c9476a);font-weight:600}@media (pointer:coarse){.hv .vl-tune-cancel{min-height:44px}}.hv .drone-strip-graph{height:224px;padding:8px 10px;display:block}.hv .voice-graph{width:100%;height:100%;position:relative}.hv .voice-graph canvas{width:100%;height:100%;display:block}.hv .vl-gate{border:1px solid var(--line);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffe8d20d;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;display:flex;position:relative}.hv .vl-gate:after{content:"";height:1.5px;width:clamp(0px, calc(var(--pos,20%) - 16px), calc(100% - 16px));pointer-events:none;background:#f0a7a0a6;border-radius:1px;position:absolute;bottom:2px;left:8px}.hv .vl-gate-lbl,.hv .vl-gate-v{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:8.5px}.hv .vl-gate-v{color:var(--text)}.hv .tr-main{padding-top:0}.hv .tr-head{padding-top:var(--page-top-gap);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.hv .tr-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:30px;font-weight:500;line-height:1.05}.hv .tr-title em{color:var(--pink);font-style:italic}.hv .tr-sub{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);margin-top:4px;font-size:9.5px}.hv .tr-transport{gap:8px;display:flex}.hv .tr-btn{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffe8d20d;border-radius:999px;padding:9px 16px;font-size:10px}.hv .tr-btn:hover:not(:disabled){background:#f0a7a01f}.hv .tr-btn:disabled{opacity:.35;cursor:default}.hv .tr-btn.primary{color:var(--pink);background:#f0a7a029;border-color:#f0a7a073}.hv .tr-btn.check{background:#e8b27a29;border-color:#e8b27a73}.hv .tr-graph{height:var(--tr-graph-h,200px);margin:0 0 6px}@media (min-width:1024px){#view-train.hv{--tr-rest:465px;--tr-graph-h:clamp(100px, calc(100vh - var(--tr-rest) - 160px), 240px)}#view-train.hv[data-graph=open] .tr-keys .keybed{height:clamp(120px, calc(100vh - var(--tr-rest) - var(--tr-graph-h)), 220px)}#view-train.hv[data-graph=open] .tr-well{margin-top:8px}#view-train.hv[data-graph=open] .tr-timeline{max-height:60px}#view-train.hv[data-graph=open] .tr-foot{display:none}}.hv .tr-status{border:1px solid var(--line);background:#ffe8d20a;border-radius:10px;align-items:center;gap:10px;min-height:30px;margin-top:12px;padding:6px 12px;display:flex}.hv .tr-status-text{font-family:var(--font-display);color:var(--text);font-size:15px;font-style:italic}.hv .tr-status.ph-correct{border-color:#e8b27a80}.hv .tr-status.ph-wrong{border-color:#f0a7a080}.hv .tr-chips{flex-wrap:wrap;gap:5px;display:flex}.hv .tr-chip{font-family:var(--font-mono);color:var(--text);background:#f0a7a024;border-radius:999px;padding:2px 7px;font-size:10px}.hv .tr-western{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin-left:auto;font-size:10px}.hv .tr-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.hv .tr-controls .seg{border:1px solid var(--line);background:#ffe8d20a;border-radius:999px;padding:2px;display:inline-flex}.hv .tr-controls .opt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 11px;font-size:9.5px}.hv .tr-controls .opt.active{color:var(--pink);background:#f0a7a029}.hv .tr-toggle{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffe8d20a;border-radius:999px;padding:7px 12px;font-size:9.5px}.hv .tr-toggle.on{color:var(--pink);border-color:#f0a7a066}.hv .tr-controls .h-ctrl{flex:0 0 190px;margin:0}.hv .tr-keys{margin-top:12px}.hv .tr-foot{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:8px;font-size:9px}.hv .tr-well{background:linear-gradient(#0000004d 0%,#0000002e 100%);border:1px solid #00000073;border-radius:14px;margin-top:14px;padding:10px 12px;box-shadow:inset 0 2px 8px #0000008c,inset 0 -1px #ffd2aa0d}.hv .tr-well-head{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:8.5px;display:flex}.hv .tr-well-head .tally{color:#f0e0cd99;letter-spacing:.1em}.hv .tr-timeline{scrollbar-width:thin;scrollbar-color:#e8b27a47 transparent;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.hv .tr-timeline::-webkit-scrollbar{height:5px}.hv .tr-timeline::-webkit-scrollbar-track{background:0 0}.hv .tr-timeline::-webkit-scrollbar-thumb{background:#e8b27a47;border-radius:999px}.hv .tr-round{background:linear-gradient(#ffe8d212,#ffe8d208);border:1px solid #ffd2aa17;border-left-width:3px;border-radius:9px;flex:none;padding:6px 8px;box-shadow:0 1px 3px #00000059}.hv .tr-round.ok{border-left-color:#7ec8a0cc}.hv .tr-round.bad{border-left-color:#f08282cc}.hv .tr-row{gap:3px;display:flex}.hv .tr-row+.tr-row{margin-top:3px}.hv .tr-cell{text-align:center;min-width:26px;font-family:var(--font-mono);border-radius:5px;padding:2px 4px;font-size:9.5px;line-height:1.3}.hv .tr-cell.want{color:#f0e0cd80;background:#ffe8d20d}.hv .tr-cell.hit{color:#7ec8a0;background:#7ec8a024}.hv .tr-cell.err{color:#f08282;background:#f0828229}.hv .tr-cell.miss{color:#f0e0cd40}.hv .tr-cards{margin-top:12px}.hv .tr-cards .h-ctrl{width:100%}.hv .tr-cards button.h-ctrl{cursor:pointer}.hv .tr-cards button.h-ctrl:hover{background:#f0a7a01a}.hv .tr-sa{cursor:default}.hv .tr-sa .meta{flex:1;min-width:0}.hv .tr-sa .v{color:var(--pink)}.hv .tr-sa .nudges{flex:none;align-items:center;gap:6px;display:flex}@media (min-width:1280px){.hv .tr-cards.tr-range:not(.with-count){grid-template-columns:calc(25% - 7.5px) 1fr 1fr}}.hv .tr-well-empty{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f0e0cd47;padding:10px 2px;font-size:9px}.hv .tr-chip .sa,.hv .tr-cell .sa{display:inline-block}.hv .h-ctrl .v:has(.sa){margin-top:3px;line-height:1.45}.hv .tr-chip .sa.oct-lo:after,.hv .h-ctrl .v .sa.oct-lo:after,.hv .tr-cell .sa.oct-lo:after,.hv .tr-chip .sa.oct-hi:before,.hv .h-ctrl .v .sa.oct-hi:before,.hv .h-ctrl .v .sa.oct-hi2:before,.hv .tr-cell .sa.oct-hi:before,.hv .tr-chip .sa.oct-hi2:before,.hv .tr-cell .sa.oct-hi2:before{opacity:.85;font-size:9px}.hv .tr-chip .sa.oct-lo:after,.hv .tr-cell .sa.oct-lo:after{top:calc(100% - 2px)}.hv .tr-chip .sa.oct-hi:before,.hv .tr-chip .sa.oct-hi2:before,.hv .tr-cell .sa.oct-hi:before,.hv .tr-cell .sa.oct-hi2:before{bottom:calc(100% - 3px)}.hv .tr-chip{padding:4px 8px}.hv .h-ctrl .v .sa.oct-lo:after,.hv .h-ctrl .v .sa.oct-hi:before,.hv .h-ctrl .v .sa.oct-hi2:before{opacity:.9;font-size:11px}.hv .h-ctrl .v .sa.oct-lo:after{top:calc(100% - 3px)}.hv .h-ctrl .v .sa.oct-hi:before,.hv .h-ctrl .v .sa.oct-hi2:before{bottom:calc(100% - 2px)}.hv .tr-chip.want{color:var(--muted);background:#ffe8d20f}.hv .tr-status-sep{font-family:var(--font-display);color:var(--muted);font-size:12px;font-style:italic}.hv .stops-card{gap:8px;padding-top:12px}.hv .stops-head,.hv .card-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.hv .stops-head .t,.hv .card-head .t{font-family:var(--font-serif);color:var(--text);font-size:16px}.hv .action-card.titled{padding-top:12px}.hv .action-card.titled>.card-head{margin-bottom:5px}.hv .stops-reset{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:9px}.hv .stops-reset:hover{color:var(--pink)}.hv .stop{background:#ffffff0a;border-radius:10px;transition:background .24s}.hv .stop:hover,.hv .stop.open{background:#fff1}.hv .stop-head{align-items:stretch;display:flex}.hv .stop .h-ctrl-drag{touch-action:pan-y;outline:none}.hv .stop .h-ctrl-drag:after{left:clamp(6px, var(--vol,0%), calc(100% - 8px))}.hv .stop .h-ctrl-drag:focus-visible{box-shadow:0 0 0 1px var(--pink);border-radius:10px}.hv .stop-level{flex:1;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:10px 4px 10px 13px;display:flex}.hv .stop-level .name{color:#f1ebe173;font-size:13px;transition:color .24s}.hv .stop-level .v{font-family:var(--font-display);color:#f1ebe173;font-variant-numeric:tabular-nums;font-size:15px;font-style:italic;line-height:20px;transition:color .24s}.hv .stop.on .stop-level .name{color:var(--text)}.hv .stop.on .stop-level .v{color:var(--pink)}.hv .stop:not(.on) .stop-level:after{background:#ffeedc2e}.hv .stop .h-ctrl-drag:after{transition:background .2s}.hv .stop.on .stop-level:hover:after,.hv .stop-fine:hover:after{background:#f0a7a0cc}.hv .stop-more,.hv .stop-more-gap{flex-shrink:0;width:32px}.hv .stop-power{cursor:pointer;background:0 0;border:0;border-radius:10px 0 0 10px;flex-shrink:0;place-items:center;width:32px;display:grid}.hv .stop-power .led{background:#ffe8d20f;border:1px solid #ffe8d259;border-radius:999px;width:9px;height:9px;transition:background .2s,box-shadow .2s,border-color .2s}.hv .stop-power[aria-checked=true] .led{border-color:var(--pink);background:var(--pink);box-shadow:0 0 8px var(--pink-glow)}.hv .stop-power:hover .led{border-color:#ffe8d2b3}.hv .stop-power:focus-visible{box-shadow:inset 0 0 0 1px var(--pink);outline:none}.hv .stop-more{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0 10px 10px 0;place-items:center;transition:color .2s;display:grid}.hv .stop-more:hover,.hv .stop.open .stop-more{color:var(--pink)}.hv .stop-more svg{transition:transform .52s cubic-bezier(.22,1,.36,1)}.hv .stop.open .stop-more svg{transform:rotate(180deg)}.hv .stop-slot{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .52s cubic-bezier(.22,1,.36,1),opacity .38s cubic-bezier(.22,1,.36,1);display:grid}.hv .stop.open .stop-slot{opacity:1;grid-template-rows:1fr}.hv .stop-slot-inner{min-height:0;overflow:hidden}.hv .stop-fine{justify-content:space-between;align-items:baseline;gap:10px;padding:6px 36px 6px 13px;display:flex}.hv .stop-fine:last-child{padding-bottom:11px}.hv .stop-fine .k{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:9px}.hv .stop-fine .v{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-style:italic;line-height:18px}.hv .stop-fine:after{background:#f0a7a061;top:26%;bottom:26%}@media (prefers-reduced-motion:reduce){.hv .stop-slot,.hv .stop-more svg{transition:none}}.hv .keybed{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.hv .keybed,.hv .key-view{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hv .keybed{touch-action:none}.hv .wk .name,.hv .bk .name{white-space:nowrap;line-height:1;overflow:visible}.hv .wk .name{height:12px}.hv .bk .name{height:10px}.hv .wk .name sub,.hv .bk .name sub{line-height:0}.hv .keybed.hints-desktop-off .kb{visibility:hidden}@media (pointer:coarse),(max-width:1023px){.hv .wk .kb,.hv .bk .kb{display:none}.hv .keybed.hints-touch-on .wk .kb,.hv .keybed.hints-touch-on .bk .kb{visibility:visible;display:block}.hv .keybed{--wk-labels:62px}.hv .keybed.hints-touch-on{--wk-labels:80px}}.hv .key-view{display:none}@media (max-width:1023px){.hv .main.hv-main-embedded{padding:0 14px 28px}.hv .harm-wrap{overflow-x:visible}.hv .harm-wrap>*{min-width:0}.hv .page-head{padding-left:2px;padding-right:2px}.hv .harm-wrap{margin-left:0;margin-right:0;padding:12px}.hv .key-window .keybed{height:clamp(100px,100dvh - 507px,220px)}.hv[data-graph=open] .drone-strip-graph{height:clamp(110px,60dvh - 197.6px,320px)}.hv[data-graph=open] .key-window .keybed{height:clamp(90px,40dvh - 114.4px,220px)}@media (max-width:359px){.hv .key-window .keybed{height:clamp(100px,100dvh - 549px,220px)}.hv[data-graph=open] .drone-strip-graph{height:clamp(110px,60dvh - 222.8px,320px)}.hv[data-graph=open] .key-window .keybed{height:clamp(90px,40dvh - 131.2px,220px)}}.hv .drone-strip{margin-left:0;margin-right:0}.hv .drone-strip-graph{padding-left:4px;padding-right:4px}.hv .harm-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stamp scale";column-gap:12px;height:auto;padding:10px 14px;overflow:visible}.hv .harm-stamp{grid-area:stamp;gap:3px;display:flex}.hv .harm-stamp .word{font-size:20px}.hv .harm-stamp .sub{letter-spacing:.16em}.hv .harm-stamp .serial{display:none}.hv .scale-changer{grid-area:scale;justify-content:flex-end}.hv .scale-changer .info,.hv .reed-bank,.hv .bellows{display:none}.hv .key-view{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 0;display:grid}.hv .kv-slider{border:1px solid var(--line);height:38px;font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);touch-action:none;background:#ffe8d20a;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:10px;display:flex}.hv .kv-slider .v{color:var(--text)}.hv .kv-slider:focus-visible{box-shadow:0 0 0 1px var(--pink);outline:none}.hv .key-scroll{overscroll-behavior-x:contain;scrollbar-width:none;border-radius:12px;overflow-x:auto}.hv .key-scroll::-webkit-scrollbar{display:none}.hv .wk .sa{font-size:clamp(8px, calc(var(--wk-w,40px) * .4), 16px)}.hv .bk .sa{font-size:clamp(6px, calc(var(--wk-w,40px) * .275), 11px)}.hv .wk .name{font-size:clamp(6px, calc(var(--wk-w,40px) * .2125), 8.5px)}.hv .bk .name{font-size:clamp(5px, calc(var(--wk-w,40px) * .1875), 7.5px)}.hv .wk .dev{font-size:clamp(7px, calc(var(--wk-w,40px) * .275), 11px)}.hv .bk .dev{font-size:clamp(6px, calc(var(--wk-w,40px) * .225), 9px)}.hv .key-window[data-keys=narrow] .wk .name,.hv .key-window[data-keys=narrow] .bk .name{visibility:hidden}.hv .keybed{--bk-w:calc(var(--wk-w,40px) * .65);width:calc(23 * var(--wk-w,40px));margin-top:10px;margin-left:auto;margin-right:auto}.hv .settings-cards{grid-template-columns:minmax(0,1fr);margin:18px 0 0}.hv .phone-cards{flex-direction:column;gap:14px;margin-top:18px;display:flex}.hv .below-stage .gad{display:none}.hv .ad-hero{flex-wrap:wrap;row-gap:14px}.hv .ad-hero .info{flex:200px;min-width:0}.hv .ad-hero .cta{flex:100%;justify-content:center}.hv .below-stage.with-ad{grid-template-columns:minmax(0,1fr)}.hv .below-stage{margin-left:0;margin-right:0}.hv .lesson-row{scrollbar-width:none;gap:12px;padding-bottom:2px;display:flex;overflow-x:auto}.hv .lesson-row::-webkit-scrollbar{display:none}.hv .lesson-row .lesson-card{flex:0 0 150px}#view-train.hv .tr-main{flex-direction:column;display:flex}#view-train.hv .tr-cards,#view-train.hv .tr-well{order:1}#view-train.hv .key-window .keybed{height:clamp(100px,100dvh - 306px,220px)}#view-train.hv[data-graph=open] .key-window .keybed{height:clamp(90px,100dvh - 524px,220px)}}@media (max-width:1023px) and (orientation:landscape) and (max-height:520px){.hv .page-head,.hv .tr-head{padding-top:10px}.hv .page-head .title,.hv .tr-title,.hv .board-slot{display:none}.hv .key-window .keybed{height:clamp(90px,100dvh - 208px,220px)}.hv[data-graph=open] .drone-strip-graph{height:clamp(80px,50dvh - 104px,320px)}.hv[data-graph=open] .key-window .keybed{height:clamp(80px,50dvh - 104px,220px)}#view-train.hv .key-window .keybed{height:clamp(90px,100dvh - 240px,220px)}#view-train.hv{--tr-graph-h:clamp(80px, calc((100dvh - 258px) * .5), 200px)}#view-train.hv[data-graph=open] .key-window .keybed{height:clamp(80px,50dvh - 129px,220px)}}@media (pointer:coarse){.rh-pill,.hv .tr-btn{min-height:36px}.hv .stop-power,.hv .stop-more{width:36px}.hv .stops-reset{margin:-10px -4px;padding:10px 4px}}
