:root{--bg-body:#050510;--bg-card:#0a0b1e;--bg-input:#0d0e22;--bg-elevated:#12132a;--border-dim:#1e2038;--border-cyan:#00e0ff4d;--border-purple:#8b5cf64d;--border-pink:#ec48994d;--text-main:#fff;--text-dim:#88a;--text-muted:#555570;--accent:#8b5cf6;--cyan:#00e0ff;--pink:#f472b6;--amber:#fbbf24;--ms-color:#a78bfa;--hz-color:#22d3ee;--samples-color:#fbbf24;--font-sans:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px}*,:before,:after{box-sizing:border-box}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-main);background-image:radial-gradient(at 50% 0,#8b5cf612 0%,#0000 55%),linear-gradient(#8b5cf605 1px,#0000 1px),linear-gradient(90deg,#8b5cf605 1px,#0000 1px);background-size:100% 100%,40px 40px,40px 40px;min-height:100vh;margin:0;padding:0}.main-container{max-width:1280px;margin:0 auto;padding:24px 20px 40px}.page-title{text-align:center;background:linear-gradient(135deg,#fff 0%,#a78bfa 60%,#00e0ff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2.2rem;font-weight:800}.section-desc{color:var(--text-dim);margin:0 0 20px;font-size:.95rem}.text-center{text-align:center}.outer-tab-bar{border-bottom:2px solid var(--border-dim);-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.outer-tab-btn{color:var(--text-dim);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 22px;font-size:.85rem;font-weight:700;transition:color .2s,border-color .2s}.outer-tab-btn:hover{color:var(--text-main)}.outer-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.outer-tab-panel{display:none}.outer-tab-panel.active{display:block}.music-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--r-lg);position:relative;overflow:hidden;box-shadow:0 6px 28px #00000073}.card-header-cyan,.card-header-purple,.card-header-pink{text-transform:uppercase;letter-spacing:1px;align-items:center;gap:7px;padding:11px 16px;font-size:.78rem;font-weight:700;display:flex}.card-header-cyan{border-bottom:1px solid var(--border-cyan);color:var(--cyan);background:linear-gradient(135deg,#00e0ff1f,#00e0ff0a)}.card-header-purple{border-bottom:1px solid var(--border-purple);color:var(--ms-color);background:linear-gradient(135deg,#8b5cf624,#8b5cf60a)}.card-header-pink{border-bottom:1px solid var(--border-pink);color:var(--pink);background:linear-gradient(135deg,#ec489924,#ec48990a)}.card-body{padding:14px 16px}.card-hint{color:var(--text-muted);margin:0 0 12px;font-size:.78rem;line-height:1.5}.calc-grid{grid-template-columns:1fr 1.35fr;gap:18px;margin-bottom:18px;display:grid}.input-col{border-left:3px solid #00e0ff59}.result-col{border-left:3px solid #8b5cf659}.bpm-hero-section{border-bottom:1px solid var(--border-dim);padding:16px 16px 10px}.bpm-main-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:10px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:5px;font-size:.68rem;font-weight:700;display:block}.bpm-stepper{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);align-items:center;display:flex}.stepper-btn{width:38px;height:46px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:1.3rem;line-height:1;transition:all .15s}.stepper-btn:hover{background:var(--bg-elevated);color:var(--accent)}.bpm-input{border:none;border-left:1px solid var(--border-dim);border-right:1px solid var(--border-dim);width:76px;height:46px;color:var(--text-main);font-family:var(--font-mono);text-align:center;background:0 0;font-size:1.5rem;font-weight:800}.bpm-input:focus{background:#8b5cf614;outline:none}.tap-zone{flex:1;align-items:center;gap:10px;display:flex}.tap-btn{border:2px solid var(--border-purple);border-radius:var(--r-md);color:var(--text-main);cursor:pointer;background:linear-gradient(135deg,#8b5cf61f,#8b5cf60d);align-items:center;gap:6px;padding:11px 18px;font-size:.88rem;font-weight:700;transition:all .15s;display:flex;position:relative;overflow:hidden}.tap-btn:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff2e 0%,#0000 50%);width:200%;height:200%;transition:transform .5s ease-out,opacity .5s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.tap-btn.pulsing:before{animation:1s linear infinite tapPulse}@keyframes tapPulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.tap-btn:hover{border-color:var(--accent);box-shadow:0 0 18px #8b5cf64d}.tap-btn.active-tap{background:var(--accent);border-color:#fff;transform:scale(.93);box-shadow:0 0 28px #8b5cf680}.tap-icon{font-size:1.1rem}.tap-stats-col{flex-direction:column;justify-content:center;display:flex}.tap-bpm{font-family:var(--font-mono);color:var(--ms-color);font-size:1rem;font-weight:800;line-height:1.2}.tap-stat{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.reset-btn{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.reset-btn:hover{color:var(--amber);border-color:var(--amber)}.tempo-badge{letter-spacing:.5px;color:var(--ms-color);background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:20px;padding:4px 14px;font-size:.75rem;font-weight:700;transition:all .3s;display:inline-block}.mark-larghissimo{color:#94a3b8;background:#64748b26;border-color:#64748b4d}.mark-largo{color:#94a3b8;background:#47556926;border-color:#4755694d}.mark-larghetto{color:#2dd4bf;background:#14b8a626;border-color:#14b8a64d}.mark-adagio{color:#22d3ee;background:#06b6d426;border-color:#06b6d44d}.mark-andante{color:#67e8f9;background:#22d3ee26;border-color:#22d3ee4d}.mark-moderato{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}.mark-allegro{color:var(--ms-color);background:#8b5cf626;border-color:#8b5cf64d}.mark-vivace{color:#fde047;background:#eab30826;border-color:#eab3084d}.mark-presto{color:#fb923c;background:#f9731626;border-color:#f973164d}.mark-prestissimo{color:#f87171;background:#ef444426;border-color:#ef44444d}.two-col-inputs{border-bottom:1px solid var(--border-dim);grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px;display:grid}.music-select{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);width:100%;color:var(--text-main);font-family:var(--font-sans);-webkit-appearance:none;appearance:none;cursor:pointer;padding:9px 10px;font-size:.82rem}.music-select:focus{border-color:var(--accent);outline:none}.module-section{border-bottom:1px solid var(--border-dim);padding:12px 16px}.module-section--sm{padding:10px 14px}.module-section:last-of-type{border-bottom:none}.module-header{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:10px;font-size:.68rem;font-weight:700}.module-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:.62rem;font-weight:400}.swing-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.swing-pct{font-family:var(--font-mono);color:var(--ms-color);min-width:40px;font-size:1rem;font-weight:800}.music-slider{-webkit-appearance:none;appearance:none;background:var(--border-dim);cursor:pointer;border-radius:3px;flex:1;height:5px}.music-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--ms-color);cursor:pointer;border-radius:50%;width:17px;height:17px;box-shadow:0 0 8px #a78bfa66}.pink-slider::-webkit-slider-thumb{background:var(--pink);box-shadow:0 0 8px #ec489966}.preset-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chip{background:var(--bg-input);border:1px solid var(--border-dim);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:5px 11px;font-size:.72rem;font-weight:600;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--text-main)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.swing-result{gap:7px;display:flex}.result-badge{font-family:var(--font-mono);border-radius:4px;padding:3px 9px;font-size:.72rem;font-weight:700}.purple-badge{color:var(--ms-color);background:#a78bfa2e}.cyan-badge{color:var(--hz-color);background:#22d3ee2e}.stat-grid-6{background:var(--border-dim);border-bottom:1px solid var(--border-dim);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.stat-cell{background:var(--bg-card);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat-name{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:.62rem;font-weight:700}.stat-val{font-family:var(--font-mono);font-size:1rem;font-weight:800;line-height:1.2}.ms-val,.purple-val{color:var(--ms-color)}.cyan-val{color:var(--hz-color)}.amber-val{color:var(--samples-color)}.pink-val{color:var(--pink)}.tempo-class-val{color:var(--cyan)}.table-tabs{background:var(--bg-input);border-radius:var(--r-sm);margin:10px 12px 0;display:flex;overflow:hidden}.tab-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 10px;font-size:.78rem;font-weight:600;transition:all .15s}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{background:var(--ms-color);color:var(--bg-body)}.delay-table-container{max-height:240px;margin-top:4px;padding:0 12px;overflow-y:auto}.delay-table{border-collapse:collapse;width:100%;font-size:.88rem}.delay-table th{background:var(--bg-card);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-dim);color:var(--text-dim);padding:9px 7px;font-size:.65rem;font-weight:800;position:sticky;top:0}.delay-table th.col-ms{color:var(--ms-color)}.delay-table th.col-samples{color:var(--samples-color)}.delay-table th.col-hz{color:var(--hz-color)}.delay-table td{font-family:var(--font-mono);cursor:pointer;border-bottom:1px solid #ffffff08;padding:9px 7px;transition:background .15s}.delay-table tr:hover td{background:#8b5cf612}.delay-table .note-cell{font-family:var(--font-sans);color:var(--text-dim);font-weight:600}.delay-table .ms-cell{color:var(--ms-color)}.delay-table .samples-cell{color:var(--samples-color);font-size:.78rem}.delay-table .hz-cell{color:var(--hz-color);font-size:.78rem}.delay-table .extreme-row{opacity:.45}.delay-table .haas-row td{background:#fbbf2412}.table-footer{border-top:1px solid var(--border-dim);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.toggle-mini{color:var(--text-dim);cursor:pointer;align-items:center;gap:5px;font-size:.72rem;display:flex}.toggle-mini input{width:13px;height:13px;accent-color:var(--accent)}.haas-indicator{color:var(--samples-color);background:#fbbf2421;border:1px solid #fbbf244d;border-radius:20px;padding:3px 9px;font-size:.72rem;display:none}.haas-indicator.visible{display:inline}.predelay-chips{gap:7px;display:flex}.predelay-chip{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);text-align:center;cursor:pointer;flex:1;padding:9px;transition:all .15s}.predelay-chip:hover{border-color:var(--hz-color)}.pd-note{color:var(--text-muted);margin-bottom:2px;font-size:.62rem;display:block}.pd-val{font-family:var(--font-mono);color:var(--hz-color);font-size:.88rem;font-weight:700}.pd-val small{opacity:.8;font-size:.62rem}.formula-pills-row{border-top:1px solid var(--border-dim);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.formula-pill{border-radius:var(--r-sm);background:#00e0ff0f;border:1px solid #00e0ff26;flex:1;min-width:120px;padding:8px 10px}.pill-dotted{background:#8b5cf60f;border-color:#8b5cf626}.pill-triplet{background:#ec48990f;border-color:#ec489926}.pill-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:3px;font-size:.6rem;font-weight:700;display:block}.pill-eq{font-family:var(--font-mono);color:var(--cyan);font-size:.72rem}.pill-dotted .pill-eq{color:var(--ms-color)}.pill-triplet .pill-eq{color:var(--pink)}.alert-stack{flex-direction:column;gap:5px;margin-bottom:8px;padding:0 12px;display:flex}.alert-item{border-radius:var(--r-sm);border-left:3px solid #0000;padding:8px 12px;font-size:.78rem;line-height:1.5}.a-info{border-color:var(--hz-color);color:var(--hz-color);background:#22d3ee12}.a-warn{border-color:var(--amber);color:var(--amber);background:#fbbf2414}.a-good{color:#34d399;background:#34d39912;border-color:#34d399}.a-haas{border-color:var(--amber);color:var(--amber);background:#fbbf2414}.action-bar{gap:7px;padding:10px 12px 14px;display:flex}.action-btn{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);color:var(--text-dim);font-family:var(--font-sans);cursor:pointer;flex:1;padding:9px 8px;font-size:.75rem;font-weight:600;transition:all .15s}.action-btn:hover{border-color:var(--accent);color:var(--text-main);background:#8b5cf614}.viz-card{margin-top:18px}.viz-controls{border-bottom:1px solid var(--border-dim);flex-wrap:wrap;align-items:flex-end;gap:16px;padding:14px 16px;display:flex}.viz-controls .input-group{flex:none;min-width:130px}.mode-tabs{border:1px solid var(--border-dim);border-radius:var(--r-sm);background:#0006;display:flex;overflow:hidden}.mode-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:.78rem;font-weight:600;transition:all .18s}.mode-btn:hover{color:var(--text-main);background:#ffffff0a}.mode-btn.active{color:var(--pink);background:#ec489933}.feedback-control{flex-direction:column;flex:1;gap:4px;min-width:160px;max-width:280px;display:flex}.viz-stats-row{gap:28px;padding:12px 20px 6px;display:flex}.viz-stat{flex-direction:column;gap:3px;display:flex}.viz-screen-wrap{padding:0 16px 16px}.chart-card{padding:16px}.chart-card .card-heading{color:var(--cyan);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:.85rem;font-weight:700}.chart-card .card-subtext{color:var(--text-dim);margin:0 0 12px;font-size:.75rem}.visualizer-screen{border-radius:var(--r-md);background:#0009;border:1px solid #ec489940;height:150px;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #000c,0 0 16px #ec489912}.viz-spikes{align-items:flex-end;width:100%;height:85%;display:flex;position:absolute;top:0;left:0}.viz-spike{background:var(--pink);width:4px;box-shadow:0 0 8px var(--pink);transform-origin:bottom;border-radius:4px 4px 0 0;transition:left .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0}.viz-spike.primary{width:5px;box-shadow:0 0 10px #fff, 0 0 20px var(--pink);background:#fff}.viz-spike.echo{opacity:.65}.viz-ruler{border-top:1px solid #ffffff14;width:100%;height:15%;position:absolute;bottom:0;left:0}.ruler-mark{font-size:.6rem;font-family:var(--font-mono);color:var(--text-muted);position:absolute;top:3px;transform:translate(-50%)}.studio-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.poly-row{justify-content:center;align-items:center;gap:10px;margin-bottom:10px;display:flex}.poly-num{background:var(--bg-input);border:2px solid var(--border-dim);border-radius:var(--r-md);width:60px;height:56px;color:var(--text-main);font-family:var(--font-mono);text-align:center;font-size:1.6rem;font-weight:800}.poly-num:focus{border-color:var(--hz-color);outline:none;box-shadow:0 0 12px #22d3ee40}.poly-colon{color:var(--text-dim);font-size:1.6rem;font-weight:800}.poly-stats{grid-template-columns:1fr 1fr 1fr;gap:7px;margin-bottom:10px;display:grid}.poly-stat-item{background:var(--bg-input);border-radius:var(--r-sm);text-align:center;padding:8px}.poly-visual-wrap{border:1px solid var(--border-dim);border-radius:var(--r-sm);background:#0006;overflow:hidden}.poly-svg{width:100%;height:60px;display:block}.predelay-full-grid{flex-direction:column;gap:7px;margin-bottom:10px;display:flex}.predelay-full-chip{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.predelay-full-chip:hover{border-color:var(--hz-color);background:#22d3ee0f}.predelay-full-chip .pd-note{color:var(--text-dim);flex:0 0 40px;font-size:.72rem;font-weight:700}.predelay-full-chip .pd-val{font-family:var(--font-mono);color:var(--hz-color);flex:1;font-size:1rem;font-weight:700}.predelay-full-chip .pd-val small{opacity:.7;font-size:.65rem}.haas-chip{border-color:#fbbf2433}.haas-chip .pd-val{color:var(--amber)}.haas-tag{color:var(--amber);background:#fbbf2426;border:1px solid #fbbf244d;border-radius:10px;padding:2px 7px;font-size:.62rem;font-weight:700}.predelay-tip{color:var(--text-dim);border-radius:var(--r-sm);border-left:2px solid var(--accent);background:#8b5cf60f;padding:8px 10px;font-size:.76rem;line-height:1.5}.tip-icon{margin-right:4px}.looper-input-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.looper-input{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);width:90px;color:var(--text-main);font-family:var(--font-mono);text-align:center;padding:9px 10px;font-size:1.1rem;font-weight:700}.looper-input:focus{border-color:var(--pink);outline:none}.looper-label{color:var(--text-dim);font-size:.82rem}.looper-breakdown{grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:4px;display:grid}.looper-stat{background:var(--bg-input);border-radius:var(--r-sm);text-align:center;padding:10px}.lfo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.lfo-item{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);text-align:center;cursor:pointer;padding:10px;transition:all .15s}.lfo-item:hover{border-color:var(--hz-color);background:#22d3ee14}.lfo-note{color:var(--text-muted);margin-bottom:3px;font-size:.65rem;display:block}.lfo-hz{font-family:var(--font-mono);color:var(--hz-color);font-size:.95rem;font-weight:700;display:block}.lfo-hz small{opacity:.7;font-size:.6rem}.lfo-ms{color:var(--text-muted);font-size:.62rem;font-family:var(--font-mono);margin-top:2px;display:block}.reference-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ref-card--full{grid-column:1/-1}.arr-block{margin-bottom:14px}.arr-divider{background:var(--border-dim);height:1px;margin:14px 0}.arr-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.arr-input{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);width:90px;color:var(--text-main);font-family:var(--font-mono);text-align:center;padding:8px 10px;font-size:1rem;font-weight:700}.arr-input:focus{border-color:var(--ms-color);outline:none}.arr-eq{color:var(--text-muted);font-size:.88rem}.arr-result{font-family:var(--font-mono);color:var(--ms-color);font-size:1.1rem;font-weight:800}.arr-detail{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);margin-top:4px}.tempo-table-wrap{overflow-x:auto}.tempo-ref-table{border-collapse:collapse;width:100%;font-size:.82rem}.tempo-ref-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);border-bottom:1px solid var(--border-dim);background:var(--bg-card);padding:8px;font-size:.65rem;font-weight:800}.tempo-ref-table td{color:var(--text-dim);border-bottom:1px solid #ffffff08;padding:8px}.tempo-ref-table tr:hover td{background:#8b5cf60f}.tempo-ref-table tr.current-marking{background:#fbbf241a}.tempo-ref-table tr.current-marking td{color:var(--amber);font-weight:600}.mark-name{color:var(--text-main);font-weight:700}.tempo-ref-table tr.current-marking .mark-name{color:var(--amber)}.pitch-controls{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.pitch-controls .input-group{flex:1;min-width:100px}.pitch-grid{overflow-x:auto}.pitch-header-row,.pitch-row{gap:3px;margin-bottom:3px;display:flex}.pitch-note-label{width:32px;color:var(--text-dim);font-size:.7rem;font-weight:700;font-family:var(--font-mono);flex-shrink:0;justify-content:flex-end;align-items:center;padding-right:6px;display:flex}.pitch-oct-header{text-transform:uppercase;min-width:70px;color:var(--text-muted);text-align:center;letter-spacing:.4px;flex:1;padding:4px 2px;font-size:.62rem;font-weight:700}.pitch-cell{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);text-align:center;cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:1px;min-width:70px;padding:8px 4px;transition:all .15s;display:flex}.pitch-cell:hover{border-color:var(--hz-color);background:#22d3ee14}.pitch-cell.a4-ref{background:#fbbf241f;border-color:#fbbf2466;box-shadow:0 0 8px #fbbf241a}.pitch-cell.a-ref{border-color:#a78bfa40}.pitch-freq{font-family:var(--font-mono);color:var(--hz-color);font-size:.78rem;font-weight:700}.pitch-cell.a4-ref .pitch-freq{color:var(--amber)}.pitch-cell.a-ref .pitch-freq{color:var(--ms-color)}.pitch-unit{color:var(--text-muted);font-size:.55rem;font-family:var(--font-mono)}.math-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.math-item{background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-sm);padding:10px 12px;transition:border-color .15s}.math-item:hover{border-color:var(--border-cyan)}.math-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:.65rem;font-weight:700}.math-bpm{font-family:var(--font-mono);color:var(--cyan);font-size:1rem;font-weight:800}.math-bpm small{color:var(--text-muted);font-size:.65rem}.math-ms{font-family:var(--font-mono);color:var(--text-dim);margin-bottom:3px;font-size:.72rem}.math-ms small{opacity:.7;font-size:.6rem}.math-desc{color:var(--text-muted);font-size:.68rem;line-height:1.4}#toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:28px;right:24px}.music-toast{border-radius:var(--r-md);opacity:0;pointer-events:none;max-width:320px;padding:10px 20px;font-size:.82rem;font-weight:600;transition:opacity .3s,transform .3s;transform:translateY(8px)}.music-toast.show{opacity:1;transform:translateY(0)}.toast-success{background:var(--accent);color:#fff}.toast-warn{background:var(--amber);color:#000}.toast-error{color:#fff;background:#dc2626}.page-sections-outer{max-width:1280px;margin:0 auto;padding:0 20px 3rem}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--text-main);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.88rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--cyan)}.faq-item__answer{color:var(--text-dim);margin:0;padding:0 4px 14px;font-size:.84rem;line-height:1.75}@media (width<=960px){.calc-grid,.studio-grid,.reference-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}.ref-card--full{grid-column:1}}@media (width<=640px){.page-title{font-size:1.7rem}.bpm-main-row{gap:10px}.tap-zone{flex-wrap:wrap}.stat-grid-6{grid-template-columns:repeat(2,1fr)}.viz-controls{gap:10px}.formula-pills-row{flex-direction:column}.math-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}}[data-theme=light]{--bg-body:#e8edf5;--bg-card:#fff;--bg-input:#edf2f9;--bg-elevated:#f0f4fa;--border-dim:#0000001a;--border-cyan:#0e74904d;--border-purple:#7c3aed4d;--border-pink:#be185d4d;--text-main:#0f172a;--text-dim:#475569;--text-muted:#64748b;--accent:#7c3aed;--cyan:#0e7490;--pink:#be185d;--amber:#a16207;--ms-color:#7c3aed;--hz-color:#0e7490;--samples-color:#a16207}[data-theme=light] body{background:var(--bg-body);color:var(--text-main);background-image:none}[data-theme=light] .music-card{background:#fff;border-color:#0000001a;box-shadow:0 2px 12px #00000012}[data-theme=light] .chart-card .card-heading{color:#0e7490}[data-theme=light] .chart-card .card-subtext{color:#475569}[data-theme=light] .card-header-cyan{color:#0e7490;background:linear-gradient(135deg,#0e74901a,#0e749008);border-color:#0e749040}[data-theme=light] .card-header-purple{color:#7c3aed;background:linear-gradient(135deg,#7c3aed1a,#7c3aed08);border-color:#7c3aed40}[data-theme=light] .card-header-pink{color:#be185d;background:linear-gradient(135deg,#be185d1a,#be185d08);border-color:#be185d40}[data-theme=light] .page-title{background:linear-gradient(135deg,#0f172a 0%,#7c3aed 60%,#0e7490 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .outer-tab-btn{color:#64748b}[data-theme=light] .outer-tab-btn:hover{color:#0f172a}[data-theme=light] .outer-tab-btn.active{color:#7c3aed;border-bottom-color:#7c3aed}[data-theme=light] .bpm-stepper{background:#edf2f9;border-color:#0000001f}[data-theme=light] .stepper-btn{color:#64748b}[data-theme=light] .stepper-btn:hover{color:#7c3aed;background:#e2e8f0}[data-theme=light] .bpm-input{color:#0f172a;border-color:#0000001a}[data-theme=light] .bpm-input:focus{background:#7c3aed0d}[data-theme=light] .tap-btn{color:#0f172a;background:linear-gradient(135deg,#7c3aed14,#7c3aed08);border-color:#7c3aed4d}[data-theme=light] .tap-btn:hover{border-color:#7c3aed;box-shadow:0 0 12px #7c3aed26}[data-theme=light] .tap-btn.active-tap{background:#7c3aed;border-color:#7c3aed}[data-theme=light] .tap-bpm{color:#7c3aed}[data-theme=light] .reset-btn{color:#64748b;background:#edf2f9;border-color:#0000001f}[data-theme=light] .reset-btn:hover{color:#a16207;border-color:#a16207}[data-theme=light] .music-select{color:#0f172a;background:#edf2f9;border-color:#0000001f}[data-theme=light] .module-section{border-bottom-color:#00000012}[data-theme=light] .music-slider{background:#0000001f}[data-theme=light] .music-slider::-webkit-slider-thumb{background:#7c3aed;box-shadow:0 0 6px #7c3aed4d}[data-theme=light] .pink-slider::-webkit-slider-thumb{background:#be185d;box-shadow:0 0 6px #be185d40}[data-theme=light] .chip{color:#475569;background:#edf2f9;border-color:#0000001a}[data-theme=light] .chip:hover{color:#0f172a;border-color:#7c3aed}[data-theme=light] .chip.active{color:#fff;background:#7c3aed;border-color:#7c3aed}[data-theme=light] .result-badge.purple-badge{color:#7c3aed;background:#7c3aed1a}[data-theme=light] .result-badge.cyan-badge{color:#0e7490;background:#0e74901a}[data-theme=light] .stat-grid-6{background:#00000012}[data-theme=light] .stat-cell{background:#fff}[data-theme=light] .stat-name{color:#64748b}[data-theme=light] .ms-val,[data-theme=light] .purple-val{color:#7c3aed}[data-theme=light] .cyan-val{color:#0e7490}[data-theme=light] .amber-val{color:#a16207}[data-theme=light] .pink-val{color:#be185d}[data-theme=light] .tempo-class-val{color:#0e7490}[data-theme=light] .table-tabs{background:#edf2f9}[data-theme=light] .tab-btn{color:#64748b}[data-theme=light] .tab-btn:hover{color:#0f172a}[data-theme=light] .tab-btn.active{color:#fff;background:#7c3aed}[data-theme=light] .delay-table th{color:#64748b;background:#fff;border-bottom-color:#00000014}[data-theme=light] .delay-table th.col-ms{color:#7c3aed}[data-theme=light] .delay-table th.col-samples{color:#a16207}[data-theme=light] .delay-table th.col-hz{color:#0e7490}[data-theme=light] .delay-table td{border-bottom-color:#0000000d}[data-theme=light] .delay-table tr:hover td{background:#7c3aed0d}[data-theme=light] .delay-table .note-cell{color:#475569}[data-theme=light] .delay-table .ms-cell{color:#7c3aed}[data-theme=light] .delay-table .samples-cell{color:#a16207}[data-theme=light] .delay-table .hz-cell{color:#0e7490}[data-theme=light] .delay-table .haas-row td{background:#a1620712}[data-theme=light] .haas-indicator.visible{color:#a16207;background:#a162071a;border-color:#a1620759}[data-theme=light] .formula-pill{background:#0e749014;border-color:#0e749033}[data-theme=light] .formula-pill.pill-dotted{background:#7c3aed14;border-color:#7c3aed33}[data-theme=light] .formula-pill.pill-triplet{background:#be185d12;border-color:#be185d33}[data-theme=light] .pill-label{color:#64748b}[data-theme=light] .pill-eq{color:#0e7490}[data-theme=light] .formula-pill.pill-dotted .pill-eq{color:#7c3aed}[data-theme=light] .formula-pill.pill-triplet .pill-eq{color:#be185d}[data-theme=light] .a-info{color:#0e7490;background:#eff9fb;border-color:#0e7490}[data-theme=light] .a-warn{color:#a16207;background:#fffbeb;border-color:#a16207}[data-theme=light] .a-good{color:#065f46;background:#f0fdf4;border-color:#065f46}[data-theme=light] .action-btn{color:#475569;background:#fff;border-color:#0000001f}[data-theme=light] .action-btn:hover{color:#7c3aed;background:#7c3aed0d;border-color:#7c3aed}[data-theme=light] .mode-btn{color:#64748b}[data-theme=light] .mode-btn:hover{color:#0f172a;background:#0000000a}[data-theme=light] .mode-btn.active{color:#be185d;background:#be185d1a}[data-theme=light] .visualizer-screen{background:#f0f4f9;border-color:#be185d33;box-shadow:inset 0 0 20px #0000000d}[data-theme=light] .viz-spike{background:#be185d;box-shadow:0 0 6px #be185d4d}[data-theme=light] .viz-spike.primary{background:#0f172a;box-shadow:0 0 8px #0f172a,0 0 16px #be185d4d}[data-theme=light] .ruler-mark{color:#64748b}[data-theme=light] .predelay-chip{background:#edf2f9;border-color:#0000001a}[data-theme=light] .predelay-chip:hover{border-color:#0e7490}[data-theme=light] .pd-val{color:#0e7490}[data-theme=light] .predelay-full-chip{background:#edf2f9;border-color:#0000001a}[data-theme=light] .predelay-full-chip:hover{background:#0e74900f;border-color:#0e7490}[data-theme=light] .predelay-full-chip .pd-val{color:#0e7490}[data-theme=light] .haas-chip .pd-val{color:#a16207}[data-theme=light] .haas-tag{color:#a16207;background:#a162071a;border-color:#a1620740}[data-theme=light] .predelay-tip{color:#475569;background:#7c3aed0d;border-left-color:#7c3aed}[data-theme=light] .poly-num{color:#0f172a;background:#edf2f9;border-color:#0000001f}[data-theme=light] .poly-num:focus{border-color:#0e7490;box-shadow:0 0 8px #0e749033}[data-theme=light] .poly-colon{color:#64748b}[data-theme=light] .poly-stat-item{background:#edf2f9}[data-theme=light] .poly-visual-wrap{background:#f0f4f9;border-color:#0000001a}[data-theme=light] .looper-input{color:#0f172a;background:#edf2f9;border-color:#0000001f}[data-theme=light] .looper-input:focus{border-color:#be185d}[data-theme=light] .looper-stat{background:#edf2f9}[data-theme=light] .lfo-item{background:#edf2f9;border-color:#0000001a}[data-theme=light] .lfo-item:hover{background:#0e749012;border-color:#0e7490}[data-theme=light] .lfo-hz{color:#0e7490}[data-theme=light] .lfo-ms{color:#64748b}[data-theme=light] .arr-input{color:#0f172a;background:#edf2f9;border-color:#0000001f}[data-theme=light] .arr-input:focus{border-color:#7c3aed}[data-theme=light] .arr-result{color:#7c3aed}[data-theme=light] .arr-detail,[data-theme=light] .arr-eq{color:#64748b}[data-theme=light] .tempo-ref-table th{color:#64748b;background:#f8fafc;border-bottom-color:#00000014}[data-theme=light] .tempo-ref-table td{color:#475569;border-bottom-color:#0000000d}[data-theme=light] .tempo-ref-table tr:hover td{background:#7c3aed0a}[data-theme=light] .mark-name{color:#0f172a}[data-theme=light] .tempo-ref-table tr.current-marking{background:#fffbeb}[data-theme=light] .tempo-ref-table tr.current-marking td,[data-theme=light] .tempo-ref-table tr.current-marking .mark-name{color:#a16207}[data-theme=light] .pitch-cell{background:#edf2f9;border-color:#0000001a}[data-theme=light] .pitch-cell:hover{background:#0e749012;border-color:#0e7490}[data-theme=light] .pitch-cell.a4-ref{background:#fffbeb;border-color:#a1620759}[data-theme=light] .pitch-cell.a-ref{border-color:#7c3aed40}[data-theme=light] .pitch-freq{color:#0e7490}[data-theme=light] .pitch-cell.a4-ref .pitch-freq{color:#a16207}[data-theme=light] .pitch-cell.a-ref .pitch-freq{color:#7c3aed}[data-theme=light] .pitch-note-label{color:#64748b}[data-theme=light] .pitch-oct-header,[data-theme=light] .pitch-unit{color:#94a3b8}[data-theme=light] .math-item{background:#edf2f9;border-color:#0000001a}[data-theme=light] .math-item:hover{border-color:#0e74904d}[data-theme=light] .math-bpm{color:#0e7490}[data-theme=light] .math-ms{color:#475569}[data-theme=light] .math-desc,[data-theme=light] .math-label{color:#64748b}[data-theme=light] .tempo-badge{color:#475569;background:#edf2f9;border-color:#0000001f}[data-theme=light] .mark-larghissimo,[data-theme=light] .mark-largo{color:#64748b;background:#f1f5f9;border-color:#0000001f}[data-theme=light] .mark-larghetto{color:#0f766e;background:#14b8a61a;border-color:#14b8a64d}[data-theme=light] .mark-adagio,[data-theme=light] .mark-andante{color:#0e7490;background:#0e74901a;border-color:#0e74904d}[data-theme=light] .mark-moderato{color:#15803d;background:#16a34a1a;border-color:#16a34a4d}[data-theme=light] .mark-allegro{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed4d}[data-theme=light] .mark-vivace{color:#a16207;background:#a162071a;border-color:#a162074d}[data-theme=light] .mark-presto{color:#c2410c;background:#ea580c1a;border-color:#ea580c4d}[data-theme=light] .mark-prestissimo{color:#b91c1c;background:#b91c1c1a;border-color:#b91c1c4d}[data-theme=light] .toast-success{background:#7c3aed}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#0e749059;box-shadow:0 2px 10px #0e749014}[data-theme=light] .faq-item[open]{border-color:#0e749066 #0e749066 #0e749066 #0e7490;border-left-style:solid;border-left-width:3px}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#0e7490}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}