:root{--bg: #f7f6f2;--fg: #1d1d1f;--muted: #6b6b70;--accent: #2f6fde;--in-scale: #ffd166;--out-scale: #e6e4de;--active: #ef476f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}body{max-width:1100px;margin:0 auto;padding:1.2rem}h1{margin:0;font-size:1.6rem}h2{font-size:1.1rem;margin-top:1.6rem}.formula{color:var(--muted);margin:.2rem 0 1rem}.controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.controls label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}select,input,button{font:inherit;padding:.4rem .6rem;border-radius:6px;border:1px solid #c9c7c0;background:#fff}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}button{cursor:pointer}button:hover{border-color:var(--accent)}.info{margin-top:1rem;padding:.8rem 1rem;background:#fff;border-radius:8px;line-height:1.5}.info code{background:#f0efe9;padding:0 .3rem;border-radius:4px}.hint{color:var(--muted);font-size:.85rem}kbd{border:1px solid #c9c7c0;border-bottom-width:2px;border-radius:4px;padding:0 .3rem;background:#fff}.keyboard{display:flex;gap:3px;overflow-x:auto;padding-bottom:.5rem}.key{flex:1 0 34px;min-height:120px;border-radius:0 0 6px 6px;border:1px solid #b8b6ae;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:.3rem 0;font-size:.75rem;-webkit-user-select:none;user-select:none;cursor:pointer;background:var(--out-scale)}.key.in-scale{background:var(--in-scale);font-weight:600}.key.root{box-shadow:inset 0 -4px 0 var(--accent)}.key.active{background:var(--active);color:#fff}.key .step{color:var(--muted);font-weight:400}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:.85rem;background:#fff}th,td{border:1px solid #e0ded7;padding:.25rem .5rem;text-align:right}tr.in-scale td{background:#fff4d6}
