/* Omera Music reference tuner, dark-first; scoped so all other pages stay intact. */
.ref-tuner{--rt-bg:#1b2936;--rt-raised:#253746;--rt-edge:#405163;--rt-ink:#edf4f8;--rt-muted:#b9c8d4;--rt-accent:#8ee7c1;--rt-accent-ink:#092920;--rt-highlight:#283f41;color:var(--rt-ink);padding:28px 0 72px}
html[data-theme="light"] .ref-tuner{--rt-bg:#fff;--rt-raised:#f0f8f4;--rt-edge:#d1e3da;--rt-ink:#1b3140;--rt-muted:#516b79;--rt-accent:#14785b;--rt-accent-ink:#fff;--rt-highlight:#e5f5ed}
.ref-tuner *{box-sizing:border-box}
.ref-tuner [hidden]{display:none!important}
.ref-tuner button,.ref-tuner select{font:inherit}
.ref-mode-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
#tunerApp .ref-mode-button{border-radius:15px;border:1px solid var(--rt-edge);padding:13px 19px;background:var(--rt-bg);color:var(--rt-ink);font-weight:800;cursor:pointer;min-height:48px}
#tunerApp .ref-mode-button[aria-selected="true"]{background:var(--rt-accent);color:var(--rt-accent-ink);border-color:var(--rt-accent)}
.ref-main{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(250px,.85fr);gap:22px;align-items:start}
.ref-tuner .ref-surface{border:1px solid var(--rt-edge);border-radius:22px;background:var(--rt-bg);color:var(--rt-ink);padding:27px;min-width:0}
.ref-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:19px}
.ref-tuner .ref-kicker{color:var(--rt-accent);font-size:11px;letter-spacing:.16em;font-weight:900}
.ref-tuner h2{font-size:clamp(20px,2.8vw,25px);color:var(--rt-ink);line-height:1.25;margin:7px 0 9px}
.ref-section-title p,.ref-tuner .ref-guide p{color:var(--rt-muted);font-size:14px;line-height:1.65;margin:0}
.ref-audio-badge{flex:none;white-space:nowrap;border:1px solid var(--rt-edge);border-radius:50px;padding:7px 11px;font-size:11px;font-weight:800;color:var(--rt-accent)}
.ref-instruments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:17px}
#tunerApp .ref-instruments button{border:1px solid var(--rt-edge);background:var(--rt-raised);color:var(--rt-ink);border-radius:12px;padding:12px 6px;cursor:pointer;min-height:48px;font-weight:850}
#tunerApp .ref-instruments button[aria-pressed="true"]{background:var(--rt-highlight);border:2px solid var(--rt-accent);color:var(--rt-accent)}
.ref-options{min-height:67px;display:flex;align-items:center;margin-bottom:15px}
.ref-option{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--rt-muted)}
.ref-option strong{color:var(--rt-ink);font-weight:800}
#tunerApp .ref-option select{border:1px solid var(--rt-edge);background:var(--rt-raised);color:var(--rt-ink);border-radius:11px;padding:12px;max-width:min(100%,300px);font-weight:750}
.ref-strings-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;align-items:center;margin:11px 0 13px}
.ref-strings-header strong{font-size:15px;color:var(--rt-ink)}.ref-strings-header span{font-size:11px;color:var(--rt-muted)}
.ref-string-list{display:grid;gap:7px}
#tunerApp .ref-string{display:grid;grid-template-columns:35px minmax(35px,1fr) 60px 100px 38px;align-items:center;gap:10px;min-height:56px;border:1px solid var(--rt-edge);border-radius:12px;background:var(--rt-raised);color:var(--rt-ink);text-align:left;padding:9px 13px;cursor:pointer}
#tunerApp .ref-string:hover,#tunerApp .ref-string.ref-selected{border-color:var(--rt-accent);background:var(--rt-highlight)}
.ref-string-num{font-size:12px;font-weight:800;color:var(--rt-muted)}
.ref-string-line{height:25px;display:flex;align-items:center;justify-content:center}.ref-string-line>span{display:block;width:100%;background:linear-gradient(0deg,#71828b,#cbdae1 42%,#748a92);border-radius:20px;box-shadow:0 1px 4px #0003}
.ref-string-note{font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--rt-ink)}
.ref-string-freq{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;color:var(--rt-muted)}
.ref-string-play{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--rt-edge);color:var(--rt-accent);font-size:11px}
.ref-playbox{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--rt-edge);padding:18px 0 5px;margin-top:18px}
.ref-nowplaying{display:flex;align-items:center;gap:10px;min-width:0}
.ref-now-icon{height:45px;width:45px;background:var(--rt-highlight);border-radius:14px;display:grid;place-items:center;color:var(--rt-accent);font-size:23px;flex:none}
.ref-now-icon.ref-sounding{box-shadow:0 0 0 4px #48c79730}
.ref-nowplaying div{display:grid;gap:2px}.ref-nowplaying small{font-size:10px;color:var(--rt-muted);font-weight:800;letter-spacing:.1em}.ref-nowplaying strong{font-size:17px;color:var(--rt-ink)}.ref-nowplaying div>span{color:var(--rt-muted);font-size:12px}
.ref-playactions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ref-repeat{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:var(--rt-ink);cursor:pointer}
.ref-repeat input{accent-color:var(--rt-accent);height:17px;width:17px}
#tunerApp .ref-stop{border:1px solid var(--rt-edge);background:var(--rt-raised);border-radius:10px;padding:9px 12px;color:var(--rt-ink);font-weight:850;cursor:pointer}
#tunerApp .ref-stop:disabled{opacity:.5;cursor:not-allowed}
.ref-tuner .ref-status{color:var(--rt-muted);font-size:12px;line-height:1.6;margin:12px 0 0;min-height:20px}
.ref-tuner .ref-guide ol{margin:16px 0 25px;padding-left:20px;display:grid;gap:14px;color:var(--rt-ink);font-size:14px;line-height:1.65}
.ref-tuner .ref-guide li::marker{font-weight:900;color:var(--rt-accent)}
.ref-tuner .ref-notice{padding:17px;border:1px solid var(--rt-edge);background:var(--rt-raised);border-radius:13px;margin-bottom:19px}
.ref-notice strong{font-size:14px;color:var(--rt-ink)}.ref-notice p{margin-top:8px!important}
.ref-tuner .ref-hint{font-size:12px!important;line-height:1.75!important;margin:0 0 18px!important}
.ref-guide-link{color:var(--rt-accent);font-size:13px;font-weight:850;text-decoration:none}
.ref-mic-intro{margin:15px 0 18px}.ref-mic-intro h2{margin:0 0 5px}.ref-mic-intro p{color:var(--rt-muted)}
#tunerApp #microphonePanel .toolpage{padding:0;margin:0;display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
#tunerApp #microphonePanel .toolpanel,#tunerApp #microphonePanel .tool-article{min-width:0}
.ref-tuner button:focus-visible,.ref-tuner select:focus-visible{outline:3px solid var(--rt-accent);outline-offset:3px}
@media(max-width:920px){.ref-main{grid-template-columns:1fr}.ref-tuner .ref-guide{order:2}#tunerApp #microphonePanel .toolpage{grid-template-columns:1fr}}
@media(max-width:610px){.ref-tuner{padding:18px 0 70px}.ref-tuner .ref-surface{padding:18px;border-radius:15px}.ref-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#tunerApp .ref-mode-button{padding:11px 7px;font-size:12px}.ref-section-title{display:block}.ref-audio-badge{display:inline-flex;margin-top:8px}.ref-instruments{gap:5px}#tunerApp .ref-instruments button{font-size:13px;padding:10px 5px}.ref-option{display:grid;gap:8px}#tunerApp .ref-option select{max-width:none;width:100%}.ref-options{min-height:70px}#tunerApp .ref-string{grid-template-columns:22px minmax(23px,1fr) 39px 76px 24px;gap:6px;min-height:58px;padding:8px}.ref-string-note{font-size:16px}.ref-string-freq{font-size:10px}.ref-string-play{width:23px;height:23px}.ref-playbox{align-items:flex-start;flex-direction:column}.ref-playactions{justify-content:space-between;width:100%}.ref-strings-header span{font-size:10px}}
@media(max-width:350px){#tunerApp .ref-string{grid-template-columns:21px minmax(20px,1fr) 38px 71px 21px;gap:4px;padding:8px 6px}.ref-string-freq{font-size:9px}.ref-tuner .ref-surface{padding:13px}}

/* Visual string vibration: preserves original button appearance when idle. */
.ref-tuner .ref-string-line{position:relative;height:34px;isolation:isolate}
.ref-tuner .ref-string-line>span{transition:opacity .08s ease}
.ref-tuner .ref-string-line.ref-is-vibrating>span{opacity:.22}
.ref-tuner .ref-vibration-line{position:absolute;inset:0;width:100%;height:100%;opacity:0;overflow:visible;pointer-events:none}
.ref-tuner .ref-vibration-line path{fill:none;stroke:var(--rt-accent);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px var(--rt-accent))}
.ref-tuner .ref-string-line.ref-is-vibrating .ref-vibration-line{opacity:1}
@media(prefers-reduced-motion:reduce){.ref-tuner .ref-string-line>span{transition:none}}


/* Omera Music 20261020c — physical-style shared neck / fretboard.
   Additive: does not modify navigation, removed page elements or microphone tuner. */
#tunerApp .ref-string-list{display:block;gap:0;border:0;background:transparent}
.ref-instrument-neck{display:flex;align-items:stretch;min-height:310px;border-radius:20px;overflow:hidden;border:1px solid #8b7059;box-shadow:0 16px 34px #05080b47, inset 0 0 2px #f5d8a680;background:#3d251b;isolation:isolate}
.ref-headstock{position:relative;z-index:2;flex:0 0 85px;min-width:0;background:repeating-linear-gradient(105deg,transparent 0,transparent 13px,#ffffff07 14px,#00000018 18px),linear-gradient(92deg,#6b4025 0%,#8f5b30 52%,#412517 100%);border-right:4px solid #f1dfb6;box-shadow:4px 0 12px #1c0e0bc7;display:flex;align-items:center;justify-content:center}
.ref-headstock-mark{position:absolute;top:15px;left:10px;right:10px;text-align:center;color:#f3d6a0;font-weight:900;letter-spacing:.13em;font-size:11px;text-shadow:0 1px 2px #180b08}
.ref-tuning-pegs{display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;height:75%;width:100%;padding-top:12px}
.ref-tuning-peg{position:relative;display:block;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fcfaf1,#b5b5ae 46%,#5e5c55 73%,#ece6d6 84%);border:1px solid #a6a5a0;box-shadow:0 2px 3px #120a0a8a}
.ref-tuning-peg:nth-child(2n){transform:translateX(11px)}.ref-tuning-peg:nth-child(2n+1){transform:translateX(-11px)}
.ref-fretboard{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:29px 0 26px;background:repeating-linear-gradient(92deg,transparent 0,transparent 17px,#ffffff07 20px,#190f0d18 34px),linear-gradient(90deg,#3c2018,#5e3927 40%,#492719 100%)}
.ref-fret-grid{position:absolute;inset:0 24px 0 43px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));pointer-events:none;z-index:0;border-left:4px solid #efe1bc}
.ref-fret-cell{position:relative;border-right:3px solid #bea690;box-shadow:2px 0 2px #180d0988,inset -1px 0 #f9e4bc55}
.ref-fret-dot{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);height:13px;width:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#eadfc6,#a88f69 75%,#6f573f);opacity:.85;box-shadow:0 1px 2px #0006}
.ref-board-rows{position:relative;z-index:2;display:grid;grid-template-rows:repeat(var(--ref-string-count),minmax(44px,1fr));width:100%;height:auto}
#tunerApp .ref-neck-string{appearance:none;border:0;background:transparent;color:#fff5e0;border-radius:0;padding:0;min-height:44px;width:100%;display:grid;grid-template-columns:43px minmax(10px,1fr) 24px;align-items:center;gap:0;text-align:left;cursor:pointer;position:relative;transition:background .12s ease}
#tunerApp .ref-neck-string:hover,#tunerApp .ref-neck-string.ref-selected{background:linear-gradient(90deg,#a5efc21b,#72efb515,#a5efc20b)}
#tunerApp .ref-neck-string.ref-selected .ref-neck-note{color:#17271b;background:#ace7c4;box-shadow:0 0 0 2px #8ee7c15a}
#tunerApp .ref-neck-string:focus-visible{outline:3px solid #9bffcf;outline-offset:-4px;z-index:3}
.ref-neck-note{position:relative;z-index:2;justify-self:center;display:grid;place-items:center;min-width:31px;height:29px;padding:0 3px;border-radius:9px;background:#1b140fce;color:#f7e9d2;font-size:13px;font-weight:850;border:1px solid #bd8a5c77}
.ref-neck-play{color:#d4c6a8;font-size:11px;justify-self:center;opacity:.75}
.ref-neck-string.ref-selected .ref-neck-play{color:#8ee7c1;opacity:1;text-shadow:0 0 10px #8ee7c1}
.ref-fretboard .ref-string-line{height:34px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.ref-fretboard .ref-string-line>span{display:block;width:100%;background:linear-gradient(to bottom,#ffffff75 0%,#c0b69e 40%,#2c211c 90%);border-radius:100px;box-shadow:0 1px 1px #070503,0 -1px 1px #f2e0be80;transition:opacity .12s ease}
.ref-fretboard .ref-vibration-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible;opacity:0;pointer-events:none}
.ref-fretboard .ref-vibration-line path{stroke:#a0ffd6;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round;fill:none;filter:drop-shadow(0 0 4px #65ffc8)}
.ref-fretboard .ref-string-line.ref-is-vibrating>span{opacity:.22}
.ref-fretboard .ref-string-line.ref-is-vibrating .ref-vibration-line{opacity:1}
.ref-fret-numbers{position:absolute;bottom:6px;left:43px;right:24px;display:flex;align-items:center;justify-content:space-around;letter-spacing:.8em;color:#f7dfbc99;opacity:.65;font-size:9px;text-align:center;white-space:pre;pointer-events:none;overflow:hidden}
.ref-string-list .ref-instrument-neck[data-instrument="ukulele"]{min-height:260px}
.ref-string-list .ref-instrument-neck[data-instrument="bass"] .ref-neck-string{min-height:51px}
/* Wood and metal stay realistic in both themes, supporting UI is theme-aware. */
html[data-theme="light"] .ref-instrument-neck{box-shadow:0 10px 24px #52463f3a}
@media(max-width:610px){.ref-instrument-neck{min-height:270px;border-radius:14px}.ref-headstock{flex-basis:54px}.ref-headstock-mark{font-size:8px;left:3px;right:3px;letter-spacing:0;top:10px}.ref-tuning-peg{width:11px;height:11px}.ref-tuning-peg:nth-child(2n){transform:translateX(7px)}.ref-tuning-peg:nth-child(2n+1){transform:translateX(-7px)}.ref-fretboard{padding:15px 0}.ref-fret-grid{left:35px;right:15px}.ref-board-rows{grid-template-rows:repeat(var(--ref-string-count),minmax(40px,1fr))}#tunerApp .ref-neck-string{grid-template-columns:35px minmax(10px,1fr) 15px;min-height:40px}.ref-neck-note{min-width:26px;height:25px;font-size:11px;border-radius:7px}.ref-fret-dot{height:9px;width:9px}.ref-fret-cell{border-right-width:2px}.ref-fret-numbers{display:none}.ref-string-list .ref-instrument-neck[data-instrument="ukulele"]{min-height:200px}}
@media(prefers-reduced-motion:reduce){#tunerApp .ref-neck-string{transition:none}}

/* The original optional sidebar was intentionally removed by the site owner.
   Centre the single instrument instead of reserving a blank sidebar column. */
#tunerApp .ref-main{display:block;grid-template-columns:none}
#tunerApp .ref-main .ref-surface{width:100%;max-width:970px;margin-inline:auto}
.ref-fret-numbers{letter-spacing:normal;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-variant-numeric:tabular-nums}
.ref-fret-numbers span{display:block}
@media(max-width:610px){.ref-fret-numbers{display:none}}
