*{box-sizing:border-box}
body.manouke-tuner-page{margin:0;min-height:100vh;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#302a26;background:#efefed}
.tuner-page{padding:34px 18px 52px;background:linear-gradient(to bottom,#f2f1ef,#ebe8e3)}
.tuner-shell{max-width:1000px;margin:0 auto}
.tuner-intro{max-width:760px;margin:0 auto 22px;text-align:center}
.tuner-kicker{margin-bottom:8px;color:#8a642f;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.tuner-intro h1{margin:0;color:#2d2520;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,6vw,58px);line-height:1}
.tuner-intro p{max-width:680px;margin:12px auto 0;color:#675d55;font-size:15px;line-height:1.6}
.tuner-panel{overflow:hidden;border:1px solid #d8c7ad;border-radius:22px;background:#fffaf2;box-shadow:0 14px 36px rgba(61,45,32,.10)}
.tuner-panel-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e5d8c6;background:linear-gradient(to bottom,#fffdf8,#f6ead8)}
.tuner-mic-action{min-height:44px;padding:10px 16px;border:1px solid #5b4029;border-radius:11px;background:#4a3425;color:#fff5e6;font:800 14px/1.1 inherit;cursor:pointer}
.tuner-mic-action:hover{background:#38271c}
.tuner-mic-action:disabled{cursor:wait;opacity:.65}
.tuner-status{color:#675d55;font-size:13px;font-weight:700}
.tuner-status[data-kind="ok"]{color:#49613d}
.tuner-status[data-kind="error"]{color:#91443c}
.tuner-profile-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.35fr);gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid #e5d8c6;background:#fffdf8}
.tuner-profile-control label,.tuner-string-label{display:block;margin-bottom:6px;color:#5e4a3a;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tuner-string-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.tuner-string-header .tuner-string-label{margin-bottom:0}
.tuner-guided-toggle{display:inline-flex;align-items:center;gap:6px;color:#5e4a3a;font-size:11px;font-weight:800;cursor:pointer}
.tuner-guided-toggle input{margin:0;accent-color:#6f4d2e}
.tuner-profile-select{width:100%;min-height:44px;padding:9px 38px 9px 11px;border:1px solid #cdbb9f;border-radius:10px;background:#fff;color:#342821;font:800 14px/1.2 inherit}
.tuner-profile-control p{margin:7px 0 0;color:#76685e;font-size:12px;line-height:1.45}
.tuner-string-targets[hidden]{display:none}
.tuner-string-buttons{display:flex;flex-wrap:wrap;gap:7px}
.tuner-string-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:70px;min-height:44px;padding:8px 10px;border:1px solid #cdbb9f;border-radius:10px;background:#f6ead7;color:#4d392a;font:900 15px/1 inherit;cursor:pointer}
.tuner-string-number{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:rgba(111,77,46,.12);font-size:11px;line-height:1}
.tuner-string-note{font-family:Georgia,"Times New Roman",serif;font-size:16px}
.tuner-string-check{display:none;color:#49613d;font-size:13px}
.tuner-string-button:hover{border-color:#8d6947;background:#f0dfc4}
.tuner-string-button.is-active{border-color:#6f4d2e;background:#6f4d2e;color:#fff7e9;box-shadow:0 0 0 2px rgba(111,77,46,.12)}
.tuner-string-button.is-active .tuner-string-number{background:rgba(255,247,233,.2)}
.tuner-string-button.is-complete:not(.is-active){border-color:#9aac8f;background:#eef3e9;color:#405438}
.tuner-string-button.is-complete .tuner-string-check{display:inline}
.tuner-string-orientation,.tuner-guided-help{margin:7px 0 0;color:#76685e;font-size:11px;line-height:1.4}
.tuner-guided-help[hidden]{display:none}
.tuner-stage{padding:28px 20px 24px;background:radial-gradient(circle at 50% 18%,rgba(216,178,111,.13),transparent 44%),#fffaf2}
.tuner-note-readout{text-align:center}
.tuner-target-label{display:block;min-height:16px;margin-bottom:7px;color:#8a642f;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.tuner-target-label[hidden]{display:none}
.tuner-note-primary{display:block;color:#30241d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(62px,12vw,112px);font-weight:700;line-height:.88;letter-spacing:-.03em}
.tuner-note-alternate{display:block;min-height:24px;margin-top:8px;color:#826b58;font-size:16px;font-weight:800}
.tuner-detected-note{min-height:20px;margin-top:4px;color:#75675d;font-size:12px;font-weight:800}
.tuner-detected-note[hidden]{display:none}
.tuner-signal{min-height:24px;margin-top:8px;color:#765b3e;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tuner-signal[data-kind="tuned"]{color:#49613d;letter-spacing:.11em}
.tuner-cent-meter{max-width:690px;margin:26px auto 0}
.tuner-cent-labels{display:flex;justify-content:space-between;padding:0 3px 7px;color:#7b6a5e;font-size:11px;font-weight:800}
.tuner-cent-ruler{position:relative;height:42px;border:1px solid #d5c1a5;border-radius:10px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(10% - 1px),rgba(75,55,40,.22) calc(10% - 1px),rgba(75,55,40,.22) 10%),linear-gradient(to bottom,#fffdf7,#eee0c9);box-shadow:inset 0 2px 8px rgba(80,55,35,.10)}
.tuner-cent-ruler::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-1px);background:#5a4030;opacity:.75}
.tuner-cent-needle{position:absolute;top:-7px;bottom:-7px;left:50%;width:3px;transform:translateX(-1.5px);border-radius:999px;background:#9a5b2b;box-shadow:0 0 0 2px rgba(255,250,242,.88);transition:left 80ms linear,background .15s ease}
.tuner-cent-needle[data-tuned="true"]{background:#59764b}
.tuner-cent-value{margin-top:9px;text-align:center;color:#4e4036;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.tuner-tape-wrap{position:relative;max-width:900px;margin:30px auto 0;padding:13px 0;border-top:1px solid #dcc9ad;border-bottom:1px solid #dcc9ad;background:#f4e6cf}
.tuner-tape-wrap::after{content:"";position:absolute;z-index:4;top:0;bottom:0;left:50%;width:2px;transform:translateX(-1px);background:#8f4d2a;box-shadow:0 0 0 1px rgba(255,250,242,.72)}
.tuner-note-tape-viewport{position:relative;height:82px;overflow:hidden}
.tuner-note-tape-track{position:absolute;left:0;top:0;height:100%;display:flex;will-change:transform;transition:transform 75ms linear}
.tuner-note-cell{position:relative;flex:0 0 112px;width:112px;height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-left:1px solid rgba(92,66,46,.18);color:#665345;white-space:nowrap}
.tuner-note-cell::before{content:"";position:absolute;top:0;left:50%;width:1px;height:10px;background:#705845;opacity:.7}
.tuner-note-cell-primary{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:700}
.tuner-note-cell-alternate{font-size:10px;font-weight:800;opacity:.75}
.tuner-note-cell.is-current{color:#3c2a20}
.tuner-note-cell.is-current .tuner-note-cell-primary{font-size:26px}
.tuner-note-cell.is-muted{opacity:.22}
.tuner-note-cell.is-target{z-index:2;color:#34241b;opacity:1;background:rgba(255,250,242,.62)}
.tuner-note-cell.is-target .tuner-note-cell-primary{font-size:28px}
.tuner-note-cell.is-detected{opacity:.62}
.tuner-note-cell.is-detected::after{content:"";position:absolute;inset:8px 10px;border:1px dashed rgba(111,77,46,.7);border-radius:8px}
.tuner-frequency-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:9px;margin-top:18px;color:#6d5c50}
.tuner-frequency-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tuner-frequency{color:#342821;font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}
.tuner-settings{padding:20px;border-top:1px solid #e4d6c4;background:#fffdf8}
.tuner-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;max-width:760px;margin:0 auto}
.tuner-settings h2{margin:0 0 5px;font-size:18px;color:#372b24}
.tuner-settings p{margin:0;color:#76685e;font-size:13px;line-height:1.5}
.tuner-reference-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.tuner-reference-controls input[type="range"]{width:180px;accent-color:#8a5c2e}
.tuner-reference-number{width:82px;min-height:42px;padding:8px 8px;border:1px solid #cdbb9f;border-radius:9px;background:#fff;color:#342821;font:800 16px/1 inherit;text-align:right}
.tuner-reference-unit{font-size:13px;font-weight:800;color:#67574c}
.tuner-presets{display:flex;gap:6px}
.tuner-preset{min-height:38px;padding:7px 10px;border:1px solid #cdbb9f;border-radius:9px;background:#f6ead7;color:#4d392a;font-weight:800;cursor:pointer}
.tuner-preset.is-active{border-color:#6f4d2e;background:#6f4d2e;color:#fff7e9}
.tuner-privacy{max-width:760px;margin:15px auto 0;color:#817268;font-size:12px;line-height:1.5;text-align:center}
@media(max-width:720px){.tuner-page{padding:26px 10px 38px}.tuner-profile-panel{grid-template-columns:1fr}.tuner-string-buttons{gap:6px}.tuner-string-button{flex:1 0 52px}.tuner-panel-top{align-items:stretch}.tuner-mic-action{width:100%}.tuner-status{text-align:center}.tuner-stage{padding:24px 8px 20px}.tuner-note-cell{flex-basis:100px;width:100px}.tuner-settings-grid{grid-template-columns:1fr}.tuner-reference-controls{justify-content:flex-start}.tuner-reference-controls input[type="range"]{width:100%}.tuner-presets{width:100%}.tuner-preset{flex:1}}
@media(prefers-reduced-motion:reduce){.tuner-note-tape-track,.tuner-cent-needle{transition:none}}
