/* Keep the instrument readout legible in either application theme. */
.precision-tuner { padding:16px; }
.precision-tuner .panel { max-width:660px; margin:auto; padding:24px; }
.precision-tuner .precision-kicker { color:#686353; font-size:12px; letter-spacing:.12em; margin:12px 0 18px; text-align:center; }
.precision-tuner button { min-height:44px; cursor:pointer; }
.precision-tuner .precision-modes { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:14px; }
.precision-tuner .precision-modes button,.precision-tuner .precision-strings button { background:#f3efe4; color:#363a32; border:1px solid #b9b5a8; border-radius:8px; padding:10px 4px; }
.precision-tuner button[aria-pressed="true"] { background:#284d3e; color:#fff; border-color:#284d3e; }
.precision-tuner .precision-strings { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-bottom:16px; }
.precision-tuner .precision-strings small { display:block; font-size:12px; margin-bottom:3px; }
.precision-tuner .precision-strings b { font-size:21px; }
.precision-tuner .erhu-strings { grid-template-columns:repeat(2,1fr); }
.precision-tuner .precision-readout { background:#132a23; color:#f8f5e9; padding:22px 28px 18px; border-radius:18px; text-align:center; }
.precision-tuner .precision-target { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#b6cbbf; font-size:13px; }
.precision-tuner .precision-target strong { font:700 40px/1.15 system-ui; color:#fff9df; }
.precision-tuner .precision-offset { display:flex; align-items:baseline; justify-content:center; gap:8px; padding:15px 0 8px; }
.precision-tuner .precision-offset strong { font:600 clamp(48px,10vw,72px)/1.1 system-ui; font-variant-numeric:tabular-nums; }
.precision-tuner .precision-offset span { color:#b6cbbf; font-size:13px; }
.precision-tuner .precision-scale { position:relative; height:47px; margin:12px 6px 0; border-top:3px solid #779888; }
.precision-tuner .precision-zone { position:absolute; left:47%; width:6%; height:18px; top:-11px; background:#9ee5b2; opacity:.8; border-radius:3px; }
.precision-tuner .precision-scale i { position:absolute; top:-14px; width:4px; height:27px; background:#f9d082; border:1px solid #132a23; transform:translateX(-50%); transition:left .12s ease-out; }
.precision-tuner .precision-scale[data-state="in-tune"] i { background:#aaffbd; box-shadow:0 0 12px #b5ffc3; }
.precision-tuner .precision-ticks,.precision-tuner .precision-directions,.precision-tuner .precision-frequency { display:flex; justify-content:space-between; gap:10px; font-variant-numeric:tabular-nums; }
.precision-tuner .precision-ticks { margin-top:12px; color:#b6cbbf; font-size:12px; }
.precision-tuner .precision-directions { font-size:12px; color:#b6cbbf; }
.precision-tuner .precision-frequency { justify-content:center; margin-top:18px; font-size:16px; color:#e5dfc7; }
#guitar.precision-tuner .tuner-status,#erhu.precision-tuner .tuner-status { font-size:16px; line-height:1.5; min-height:48px; margin:12px 0 0; color:#f8e2ae; }
#guitar.precision-tuner .tuner-status.intune,#erhu.precision-tuner .tuner-status.intune { color:#a7efba; }
.precision-tuner .precision-level { display:flex; align-items:center; justify-content:center; gap:10px; color:#b6cbbf; font-size:12px; }
.precision-tuner meter { width:110px; height:12px; }
.precision-tuner .precision-actions { display:grid; grid-template-columns:1.3fr 1fr; gap:10px; margin:18px 0; }
.precision-tuner .precision-actions .primary { background:#284d3e; color:white; border:1px solid #284d3e; border-radius:8px; font-size:17px; font-weight:700; min-height:52px; }
.precision-tuner .precision-calibration { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; font-size:12px; }
.precision-tuner .precision-calibration input { width:72px; min-height:40px; text-align:center; font-size:16px; }
.precision-tuner .precision-help { margin:16px 0 6px; font-size:13px; line-height:1.7; text-align:center; }
.precision-tuner .precision-privacy { text-align:center; font-size:11px; opacity:.7; margin:5px 0; }
.precision-tuner .precision-free { margin:0 0 16px; font-size:13px; }
.precision-tuner .precision-free input { width:86px; min-height:44px; margin:0 8px; font-size:20px; text-align:center; }
.precision-tuner .precision-free p { color:#a12e27; margin:5px 0; }
.precision-tuner .precision-free[hidden],.precision-tuner i[hidden] { display:none!important; }
.precision-tuner button:focus-visible,.precision-tuner input:focus-visible { outline:3px solid #c58130; outline-offset:3px; }
@media(max-width:520px) {
  .precision-tuner { padding:6px; }
  .precision-tuner .panel { padding:14px 10px; }
  .precision-tuner .precision-readout { padding:18px 16px 14px; }
  .precision-tuner .precision-target { font-size:11px; gap:6px; }
  .precision-tuner .precision-target strong { font-size:34px; }
  .precision-tuner .precision-modes button { font-size:13px; }
  .precision-tuner .precision-strings { gap:5px; }
  .precision-tuner .precision-strings b { font-size:18px; }
}
#guitar.precision-tuner .panel,#erhu.precision-tuner .panel { background:#fbf8ef; color:#2d342c; border:1px solid #cec7b8; }
#guitar.precision-tuner .topbar h2,#erhu.precision-tuner .topbar h2 { color:#2d342c; }
#guitar.precision-tuner .precision-readout,#erhu.precision-tuner .precision-readout { background:#132a23; color:#f8f5e9; }
/* Physical tuner face: arched needle, illuminated display and separate controls. */
#guitar.precision-tuner .panel,#erhu.precision-tuner .panel{background:linear-gradient(145deg,#323839,#171d1e);color:#eef1eb;border:2px solid #444e4d;border-radius:26px;box-shadow:0 12px 32px #0003,inset 0 1px #ffffff30}
#guitar.precision-tuner .topbar h2,#erhu.precision-tuner .topbar h2{color:#f3f5ef}
.precision-tuner .precision-kicker{color:#c5cec7}
#guitar.precision-tuner .precision-readout,#erhu.precision-tuner .precision-readout{background:linear-gradient(#162d24,#0b1914);border:2px solid #526254;box-shadow:inset 0 3px 18px #0008;color:#ccf0bb}
.precision-tuner .precision-frequency{align-items:center;flex-wrap:wrap;justify-content:center;margin-top:14px}
.precision-tuner .precision-frequency span{font-size:24px;color:#d9f6bf}
.precision-tuner .precision-frequency strong{font:600 32px/1.2 ui-monospace,monospace;color:#d9f6bf}
.precision-tuner .precision-target strong{font-size:28px}.precision-tuner .precision-offset strong{font-size:38px}
.precision-tuner .precision-scale{height:132px;border:0;margin:10px auto;width:min(100%,320px);overflow:hidden}
.precision-tuner .precision-scale:before{content:"";position:absolute;left:8%;right:8%;top:12px;height:210px;border:3px solid #7c9875;border-radius:50%}
.precision-tuner .precision-scale i{left:50%!important;top:26px;height:90px;width:3px;transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--needle-angle,0deg));transition:transform .14s ease-out;background:#f2ce79;border:0}
.precision-tuner .precision-zone{top:12px;height:8px;left:46%;width:8%;box-shadow:0 0 14px #ade89b}
.precision-tuner .precision-ticks{position:absolute;left:2%;right:2%;bottom:0;color:#d9e7c9;font-size:11px}
.precision-tuner .precision-actions button{border-radius:12px;padding:12px;background:#d3decf;color:#20342b;border:1px solid #708471}
.precision-tuner .precision-help,.precision-tuner .precision-privacy,.precision-tuner .precision-calibration{color:#c5cec7}
.tuner-turns{padding:12px 14px;margin-top:14px;background:#f1f4e9;color:#243b2b;border-radius:12px;font-size:13px;line-height:1.7}.tuner-turns>p{font-size:16px;font-weight:650;margin:0 0 6px}.tuner-turns summary{cursor:pointer}.tuner-turns button{padding:8px;margin:6px 0;border:1px solid #81977c;border-radius:8px;background:white;color:#243b2b}.tuner-turns input{width:80px;padding:8px;margin:6px}.tuner-turns label{display:block}
