#exactStage[hidden]{display:none}body.exact{margin:0;min-height:100dvh;background:var(--back);padding:0}.exact .shell{width:100%;max-width:none;height:100dvh;min-height:0;padding:0;display:flex;align-items:center;flex-direction:column;gap:0;overflow:hidden;background:none;border:0;box-shadow:none}.exact .shell>header,.exact .shell>.radio{display:none!important}#exactStage{position:relative;flex:none;overflow:hidden;direction:ltr;isolation:isolate}.exactArt{position:absolute;width:100%;height:112.486%;left:0;top:0;object-fit:fill;max-width:none}.exactSlot{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#ffefd8}.exactSlot>*{box-sizing:border-box}#exactStage.light .exactSlot{color:#173b2a}.exact-select{gap:4%}#exactStage select{min-width:0;width:48%;height:100%;border:0;background:transparent!important;box-shadow:none;color:inherit;font:bold calc(14px * var(--scale)) Arial;padding:0 7%;appearance:none;white-space:nowrap;text-overflow:ellipsis}#exactStage option{background:#fff;color:#20252a}#exactStage[data-theme="12"] select,#exactStage[data-theme="13"] select,#exactStage[data-theme="14"] select,#exactStage[data-theme="2"] select,#exactStage[data-theme="3"] select,#exactStage[data-theme="4"] select{color:#24251e}.exact-strings #strings{width:100%;height:100%;display:flex!important;gap:2%;padding:0;margin:0;overflow-x:auto;scrollbar-width:thin;background:none;border:0}.exact-strings #strings[hidden]{display:none!important}#exactStage #strings button{flex:1 0 14%;min-width:0;height:100%;padding:2px;border-radius:8px;border:1px solid #aa966d;background:linear-gradient(#32312f,#17191e);color:#fff3d7;font:bold calc(18px * var(--scale)) Georgia;box-shadow:0 2px 3px #0007}#exactStage #strings button small{display:none}#exactStage #strings button span{font:inherit}#exactStage #strings button[aria-pressed="true"]{background:linear-gradient(#ffe7b5,#d6b06b);color:#203a29;border:2px solid #59d97b}#exactStage[data-theme="11"] #strings button[aria-pressed="true"]{background:#7932b9;color:#fff;box-shadow:0 0 12px #e36bff}#exactStage[data-theme="14"] #strings button{background:#fff3d5;color:#193425;border:2px solid #102538;border-radius:7px}#exactStage.round #strings{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8% 6%;overflow-y:auto}#exactStage.round #strings button{border-radius:50%;aspect-ratio:1;min-height:0;width:100%;height:auto;background:radial-gradient(at 30% 20%,#fff9,#a9eac5);color:#225f4a;box-shadow:0 3px 4px #7c385d66;font-size:calc(24px * var(--scale))}#exactStage.round #strings button:nth-child(3n+2){background:radial-gradient(at 30% 20%,#fff9,#f5bcd6)}#exactStage.round #strings button:nth-child(3n){background:radial-gradient(at 30% 20%,#fff9,#c8aaef)}#exactStage[data-theme="13"] #strings button{border-radius:2px;background:#26694f}#exactStage[data-theme="13"] #strings button:nth-child(2n){background:#276592}#exactStage[data-theme="13"] #strings button:nth-child(3n){background:#cc7050}#exactStage #note{margin:0;padding:0;font:bold calc(56px * var(--scale))/1 Georgia!important;color:inherit;letter-spacing:0;text-shadow:none}#exactStage[data-theme="13"] #note{font-size:calc(46px * var(--scale))!important}#exactStage #hz{font:bold calc(14px * var(--scale))/1.2 Arial;color:inherit;margin:0;text-align:center}#exactStage #status{font:bold calc(11px * var(--scale))/1.15 Arial;color:inherit;margin:0;text-align:center}#exactStage #settingsButton{width:100%;height:100%;min-height:40px;opacity:0;padding:0}#exactStage #settingsButton:focus-visible{opacity:1;background:#222;color:white}#exactStage #dot{position:absolute;left:var(--exact-pos)!important;top:0;width:4px;height:100%;transform:translateX(-50%);border-radius:4px;background:var(--pitch-color,#54df74);box-shadow:0 0 8px var(--pitch-color,#54df74);transition:none}#exactStage.circular #dot{left:50%!important;top:0;height:25%;transform-origin:50% 400%;transform:translateX(-50%) rotate(var(--exact-angle));}.exact-info{gap:5%}.exact-info button{border:0;background:none;color:inherit;font:bold calc(12px * var(--scale)) Arial;padding:2px;box-shadow:none}.exact .banner{position:relative!important;bottom:auto!important;margin:0!important;flex:0 0 62px;min-height:62px;width:100%;max-width:520px;box-sizing:border-box;padding:5px;background:#14191e;color:#dadfe5;border-radius:0}.exact .banner:before,.exact .banner:after{display:none}#exactTools{position:fixed;right:8px;bottom:8px;z-index:10;background:#202b36;color:#fff;border:1px solid #718298;border-radius:9px;padding:8px;max-width:290px;font:12px Arial}#exactTools .sim{padding:10px;display:block}#exactTools summary{cursor:pointer}#exactTools[hidden]{display:none}

body.exact .shell{margin:0!important;padding:0!important;max-width:none!important}.exact .banner{left:auto!important;right:auto!important;transform:none!important}#exactStage #strings button{min-height:0!important;line-height:1.1}#exactStage #strings{flex-wrap:nowrap!important}#exactStage select{min-height:0!important}

#exactStage{font-family:Arial,sans-serif}#exactStage #note{font-family:inherit!important;font-size:calc(70px * var(--scale))!important}#exactStage #strings button{font-family:inherit}#exactStage #strings{scrollbar-width:none}#exactStage #strings::-webkit-scrollbar{display:none}#exactStage.round #strings button{box-shadow:inset 2px 2px 4px #fffc,inset -2px -3px 4px #7f548c55,0 3px 4px #7c385d66;font-size:calc(30px * var(--scale));border:2px solid #fff5}#exactStage.round #strings button[aria-pressed=true]{border:3px solid #70cda0;background:radial-gradient(at 30% 20%,#e5ffef,#83dcb1)}#exactStage select{border:0!important;border-radius:0!important;box-shadow:none!important;outline-offset:-2px}#exactStage.round #strings{grid-auto-rows:46%;gap:8% 6%}#exactStage.round #strings button{height:100%;width:auto;max-width:100%;justify-self:center}
body.exact #exactStage .exact-select select{background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important}#exactStage .exact-info{color:#ffefd8}#exactStage[data-theme="2"] .exact-info,#exactStage[data-theme="3"] .exact-info,#exactStage[data-theme="4"] .exact-info,#exactStage[data-theme="12"] .exact-info,#exactStage[data-theme="13"] .exact-info,#exactStage[data-theme="14"] .exact-info{color:#173b2a}#exactStage[data-theme="12"] #hz{font-size:calc(12px * var(--scale))}
#exactStage[data-theme="2"] #strings button,#exactStage[data-theme="3"] #strings button,#exactStage[data-theme="4"] #strings button{background:#f5e6c6;color:#203a29}#exactStage[data-theme="3"] #strings button:nth-child(3n+2){background:#e3be96}#exactStage[data-theme="3"] #strings button:nth-child(3n){background:#b9c7aa}#exactStage[data-theme="4"] #strings button[aria-pressed=true]{background:#bf1736;color:white}#exactStage[data-theme="7"] #strings button,#exactStage[data-theme="9"] #strings button{background:#38213f}#exactStage[data-theme="8"] #strings button[aria-pressed=true]{background:#e32680;color:#13151a}
#exactStage #hz,#exactStage #status{display:none}#exactStage .compactHz{font:bold calc(17px * var(--scale)) Arial;text-align:center}#exactStage .compactStatus{font:bold calc(12px * var(--scale)) Arial;text-align:center}#exactStage[data-theme="12"] .compactHz{font-size:calc(12px * var(--scale))}#exactStage[data-theme="14"] .exact-info{padding-left:10%;gap:13%}
#exactStage[data-theme="12"] #instrument{padding-left:17%!important}
#exactStage .exactSlot[hidden]{display:none}#exactStage .exact-auto{font:700 calc(9px * var(--scale)) Arial;color:#8effa9}#exactStage .exact-cal{font:600 calc(11px * var(--scale)) Arial}#exactStage[data-theme="11"] #strings button{background:linear-gradient(#182042,#11162c);border-color:#616bac;border-radius:9px}#exactStage[data-theme="11"] #strings button[aria-pressed=true]{background:linear-gradient(#a546dc,#51257e);color:white;border-color:#f388ff;box-shadow:0 0 10px #cd69ff}#exactStage.circular #dot{height:45%;transform-origin:50% 222.222%}#exactStage[data-theme="11"] .compactStatus{border:1px solid currentColor;border-radius:30px;padding:3px 10px}

/* Direct reference-pitch adjustment, shared by every theme. */
.a4Control{display:flex;align-items:center;justify-content:center;gap:4px;min-width:146px;color:inherit}
body .a4Control button{margin:0;min-height:40px;border:0;border-radius:8px;color:inherit;font-family:Arial,sans-serif;box-shadow:none}
body .a4Control .a4Arrow{flex:0 0 36px;width:36px;padding:0;background:color-mix(in srgb,currentColor 13%,transparent);font-size:24px;font-weight:bold;touch-action:manipulation}
body .a4Control .a4Value{background:none;padding:0 3px;font-size:12px;font-weight:bold;min-width:64px}
body .a4Control button:disabled{opacity:.3;cursor:default}
#exactStage .exact-cal{min-height:40px}#exactStage .exact-info{gap:4%;padding-right:2%}
.radio footer .a4Control{margin:8px auto;width:190px}.radio footer:has(.a4Control) #calibration{display:none}
#exactStage{overflow:clip}#exactStage[data-theme="14"] .exact-info{justify-content:flex-start;padding-left:18%}#exactStage[data-theme="14"] .exact-info>button{max-width:45%;font-size:10px}

/* Keep the complete tuner above the real banner and device safe areas. */
body.exact{height:100dvh;overflow:hidden;padding:0!important}
body.exact .shell{height:100dvh!important;box-sizing:border-box;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)!important;overflow:clip}
body.exact .banner{flex-shrink:0;width:100%;max-width:none!important;min-height:62px;z-index:2}
#exactTools{bottom:auto;top:8px;right:8px;max-width:240px;opacity:.85}#exactTools[open]{opacity:1}#exactTools summary{font-size:10px}

#exactTools{position:static;max-width:none;opacity:1;margin-top:16px}

body:not(.exact){padding-bottom:0}
body:not(.exact) .shell{height:100dvh;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,0px)}
body:not(.exact) .shell>header{flex-shrink:0}
body:not(.exact) .shell>.radio{flex:1;min-height:0;overflow:auto}
body:not(.exact) .shell>.banner{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;flex-shrink:0;width:100%!important;max-width:none;margin:0}

/* Expand the string bank into rows; compress only the decorative header and lower scene. */
#exactStage .sceneBand{position:absolute;left:0;width:100%;overflow:hidden;pointer-events:none}
#exactStage .sceneBand img{position:absolute;left:0;width:100%;max-width:none;object-fit:fill}
#exactStage #strings,#exactStage.round #strings{display:grid!important;grid-template-columns:repeat(var(--string-cols,6),minmax(0,1fr));grid-template-rows:repeat(var(--string-rows,1),minmax(0,1fr));grid-auto-rows:auto;gap:5px!important;overflow:visible!important;padding:2px!important;box-sizing:border-box}
#exactStage #strings button,#exactStage.round #strings button{width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;box-sizing:border-box;font-size:clamp(12px,calc(18px * var(--scale)),22px)!important}
#exactStage.round #strings button{border-radius:999px!important}
