@font-face{font-family:Cormorant SC;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/cormorant-sc-700-latin-DbXnBeCd.woff2)format("woff2")}:root{--bg:#f4edde;--paper:#fbf8f1;--text:#2a2823;--muted:#6b6358;--primary:#2a2823;--on-primary:#f4edde;--taupe:#cabba4;--line:#e2d8c6;--border:#cabba4;--ok:#2e7d32;--warn:#b26a00;--error:#c62828;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);margin:0}main{max-width:480px;margin:0 auto;padding:12px 16px 24px}h1{color:var(--primary);margin:0}h1,h2{letter-spacing:.01em;font-family:Cormorant SC,Georgia,serif;font-weight:700}.brand{align-items:center;gap:10px;display:flex}.brand-mark{width:auto;height:56px;display:block}.brand-name{font-size:2.1em;line-height:1}.brand-tagline{color:var(--text);margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:.95em}.tagline{color:var(--muted);margin:4px 0 24px;font-style:italic}.checks{padding:0;list-style:none}.checks li{border-bottom:1px solid var(--line);padding:8px 0}.ok{color:var(--ok)}.error{color:var(--error)}.muted{color:var(--muted);font-size:.9em}h2{color:var(--primary);font-size:1.15em;display:inline}.card{background:var(--paper);border-radius:12px;margin-bottom:16px;padding:16px}.info{display:inline}.info summary{cursor:pointer;color:var(--primary);margin-left:6px;list-style:none;display:inline}.info summary::-webkit-details-marker{display:none}.info[open] p{color:var(--muted);font-size:.9em}button.primary{background:var(--primary);width:100%;color:var(--on-primary);font:inherit;border:0;border-radius:10px;margin:16px 0 8px;padding:14px;font-weight:600;display:block}button.primary:disabled{opacity:.5}.note-display{text-align:center;margin-top:16px}.note{color:var(--primary);font-size:3.5em;font-weight:700;line-height:1.1;display:block}.cents{min-height:1.4em;color:var(--muted);display:block}.gauge{background:var(--line);border-radius:7px;height:14px;margin:12px 0 2px;position:relative}.gauge-center,.gauge-needle{width:3px;height:20px;position:absolute;top:-3px;transform:translate(-50%)}.gauge-center{background:var(--muted);left:50%}.gauge-needle{background:var(--primary);border-radius:2px}.gauge-labels{justify-content:space-between;display:flex}.status{text-align:center;min-height:2.6em}.warn{color:var(--warn)}.readings{grid-template-columns:auto 1fr;gap:6px 12px;margin:8px 0;display:grid}.readings dt{color:var(--muted)}.readings dd{font-variant-numeric:tabular-nums;margin:0}.level{vertical-align:middle;background:var(--line);border-radius:4px;width:120px;height:8px;display:inline-block;overflow:hidden}.level span{background:var(--primary);width:0;height:100%;display:block}.fold{margin:8px 0}.fold summary{cursor:pointer;padding:8px 0}.field{margin-top:12px;display:block}.field select{border:1px solid var(--border);background:var(--paper);width:100%;font:inherit;border-radius:8px;margin-top:4px;padding:10px;display:block}button.suggestion{border:1px solid var(--primary);color:var(--primary);font:inherit;background:0 0;border-radius:16px;margin-top:8px;padding:6px 10px;font-size:.9em}.timbre-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 8px;display:grid}button.timbre{background:var(--primary);color:var(--on-primary);font:inherit;border:0;border-radius:10px;padding:12px 8px;font-weight:600}button.timbre:disabled{opacity:.5}button.timbre.active{background:var(--paper);color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.app-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex;position:relative}.menu summary{cursor:pointer;color:var(--primary);padding:4px 8px;font-size:1.6em;line-height:1;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu nav{z-index:10;background:var(--paper);border-radius:10px;flex-direction:column;min-width:200px;display:flex;position:absolute;right:0;overflow:hidden;box-shadow:0 4px 16px #00000026}.menu nav button{border:0;border-bottom:1px solid var(--line);color:var(--text);font:inherit;text-align:left;background:0 0;padding:14px 16px}.menu-version{color:var(--muted);margin:0;padding:10px 16px;font-size:.8em}.update-bar{background:var(--paper);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.update-bar[hidden]{display:none}.update-bar button{width:auto;padding:8px 14px}.center{text-align:center}.label{margin:12px 0 4px}.choice-grid{gap:8px;display:grid}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.choice-grid.three{grid-template-columns:repeat(3,1fr)}button.choice{border:1px solid var(--border);background:var(--paper);color:var(--text);font:inherit;border-radius:10px;padding:10px 6px;font-weight:600}button.choice.selected{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.choice-detail{opacity:.8;font-size:.85em;font-weight:400;display:block}.note.center{text-align:center}.gauge.guide{height:18px;margin-top:16px}.guide-zone{background:#c8e6c9;border-radius:4px;width:25%;position:absolute;top:0;bottom:0;left:37.5%}.gauge.guide .gauge-center{height:18px;top:0}.gauge.guide .gauge-needle{border-radius:3px;width:6px;height:28px;transition:left 80ms linear;top:-5px}.gauge-needle.in-tune{background:var(--ok)}.gauge-needle.too-low,.gauge-needle.too-high{background:var(--warn)}.action-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.action-grid button.primary{margin:16px 0 8px}button.secondary{border:2px solid var(--primary);background:var(--paper);width:100%;color:var(--primary);font:inherit;border-radius:10px;margin:12px 0 4px;padding:12px;font-weight:600;display:block}button.link{color:var(--muted);font:inherit;background:0 0;border:0;margin:0 auto;padding:8px;text-decoration:underline;display:block}.progress{background:var(--line);border-radius:5px;height:10px;overflow:hidden}.progress span{background:var(--primary);width:0;height:100%;display:block}.result{border-left:4px solid var(--muted);background:var(--bg);border-radius:8px;margin-top:12px;padding:12px}.result p{margin:4px 0}.result-title{font-size:1.2em;font-weight:700}.result.success{border-color:var(--ok)}.result.success .result-title{color:var(--ok)}.result.close,.result.off{border-color:var(--warn)}.result.close .result-title,.result.off .result-title{color:var(--warn)}.result.problem{border-color:var(--muted)}.note-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px;margin-bottom:8px;display:grid}.note-grid button.choice{padding:8px 4px}.howto ol{margin:4px 0 8px;padding-left:22px}.howto li{margin:6px 0}.score{margin:12px 0 4px}.score p{margin:4px 0 0}.dots{gap:6px;display:flex}.dot{border:2px solid var(--border);border-radius:50%;width:14px;height:14px}.dot.success{border-color:var(--ok);background:var(--ok)}.dot.miss{border-color:var(--warn)}.dot.partial{border-color:var(--ok);background:linear-gradient(90deg, var(--ok) 50%, transparent 50%)}.advice{background:#e8f5e9;border-radius:8px;margin:12px 0;padding:12px}.advice.down{background:#fff3e0}.advice p{margin:0 0 4px}.advice .action-grid button{margin:8px 0 0;font-size:.9em}.confirm{align-items:center;gap:10px;margin:8px 0 4px;font-weight:600;display:flex}.confirm input{width:22px;height:22px;accent-color:var(--primary);flex:none}.compare{color:var(--ok);font-weight:600;margin-top:8px!important}.coach{border-top:1px solid var(--line);padding-top:8px;margin-top:8px!important}.level-list{gap:6px;margin-bottom:8px;display:grid}.level-list button.choice{text-align:left;padding:10px 12px}
