:root{color:#082d52;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#07325c;--navy-strong:#052747;--teal:#128f8a;--teal-dark:#08706c;--surface:#f7fafc;--surface-muted:#e9f0f5;--line:#cedae4;--text-muted:#526a83;--danger:#8b2431;--warning-bg:#fff5db;--error-bg:#fff0f2;background:#eaf0f4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{background:#eaf0f4;min-width:320px;min-height:100%}body{background:#eaf0f4;min-width:320px;min-height:100dvh;margin:0}button,input,summary{font:inherit}button{touch-action:manipulation}button,input[type=range],summary{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:3px;outline:4px solid #f1b928}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell,.settings-screen{width:min(100%,35rem);min-height:100dvh;padding:calc(1.5rem + env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));background:var(--surface);margin:0 auto}.app-shell{flex-direction:column;gap:1.25rem;display:flex}.app-header{padding:.25rem 0 .15rem}.app-header h1,.settings-screen>h1{color:var(--navy);letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,7vw,2.45rem);font-weight:850;line-height:1.02}.listening-state{text-align:center;background:#edf8f8;border:1px solid #cde5e5;border-radius:1.25rem;place-content:center;gap:.45rem;min-height:8.5rem;padding:1.35rem 1rem;display:grid}.listening-state span{color:var(--text-muted);letter-spacing:.08em;font-size:.92rem;font-weight:800}.listening-state strong{color:var(--teal-dark);letter-spacing:-.035em;font-size:clamp(1.75rem,8vw,2.75rem);font-weight:900;line-height:1}.listening-state[data-state=running]{background:#e2f6f4;border-color:#94d4d0}.listening-state[data-state=error],.listening-state[data-state=interrupted]{background:#fff5f6;border-color:#e7b9bf}.listening-state[data-state=error] strong,.listening-state[data-state=interrupted] strong{color:var(--danger)}.button{min-height:3.5rem;color:var(--navy);background:var(--surface-muted);letter-spacing:.01em;cursor:pointer;border:0;border-radius:.9rem;padding:.85rem 1.15rem;font-size:1rem;font-weight:850;line-height:1.15}.button:disabled{cursor:wait;opacity:.64}.button--primary{color:#fff;background:var(--navy)}.button--primary:active{background:var(--navy-strong)}.button--stop{color:#fff;background:var(--danger)}.button--teal{color:#fff;background:var(--teal-dark)}.button--secondary{color:var(--navy);background:var(--surface-muted);border:2px solid #b8c8d6}.button--xl{border-radius:1.15rem;width:100%;min-height:5.5rem;padding:1.15rem 1.4rem;font-size:clamp(1.3rem,5.3vw,1.75rem)}.button--full{width:100%}.button--compact{min-height:3rem;padding-inline:1rem;font-size:.92rem}.control-section{border-top:2px solid var(--line);padding-top:1.25rem}.control-section h2,.settings-section h2,.privacy-note h2{color:var(--navy);letter-spacing:.035em;margin:0 0 1rem;font-size:1.15rem;font-weight:900}.gain-value{color:var(--navy);text-align:center;letter-spacing:-.055em;margin:-.15rem 0 .45rem;font-size:clamp(2.75rem,13vw,4.25rem);font-weight:900;line-height:1;display:block}.range{appearance:none;cursor:pointer;background:0 0;width:100%;height:2.75rem;margin:0}.range::-webkit-slider-runnable-track{background:#cad6e0;border-radius:999px;height:.75rem}.range::-webkit-slider-thumb{appearance:none;background:var(--navy);border:4px solid #fff;border-radius:50%;width:2rem;height:2rem;margin-top:-.625rem;box-shadow:0 2px 7px #07325c52}.range::-moz-range-track{background:#cad6e0;border-radius:999px;height:.75rem}.range::-moz-range-progress{background:var(--teal);border-radius:999px;height:.75rem}.range::-moz-range-thumb{background:var(--navy);border:4px solid #fff;border-radius:50%;width:1.55rem;height:1.55rem;box-shadow:0 2px 7px #07325c52}.range--large{height:3.25rem}.range--large::-webkit-slider-runnable-track{background:#afc1cf;height:.9rem}.range--large::-webkit-slider-thumb{width:2.35rem;height:2.35rem;margin-top:-.725rem}.gain-buttons{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.4rem;display:grid}.step-button{min-height:4.5rem;color:var(--navy);background:var(--surface-muted);cursor:pointer;border:2px solid #c1cfdb;border-radius:1rem;place-items:center;padding:.4rem;font-size:3.25rem;font-weight:450;line-height:.9;display:grid}.step-button:active{background:#dce7ee}.profile-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.profile-button{min-height:5.75rem;color:var(--navy);background:var(--surface-muted);cursor:pointer;border:2px solid #c1cfdb;border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.65rem .35rem;font-size:clamp(.75rem,3.2vw,.95rem);font-weight:850;display:flex}.profile-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.profile-button[data-selected=true]{border-color:var(--navy);color:#fff;background:var(--navy);box-shadow:inset 0 0 0 3px var(--surface)}.button--settings{justify-content:space-between;align-items:center;width:100%;min-height:4.5rem;padding-left:1.25rem;font-size:1.05rem;display:flex}.button--settings svg,.back-button svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:1.75rem;height:1.75rem}.version-button{color:#7a8fa3;cursor:pointer;background:0 0;border:0;align-self:center;min-height:2.75rem;padding:.6rem 1rem;font-size:.9rem}.notice{border:2px solid;border-radius:.9rem;gap:.45rem;padding:1rem;font-size:1rem;line-height:1.35;display:grid}.notice strong{font-size:1.05rem}.notice--warning{background:var(--warning-bg);border-color:#e0bd59}.notice--error{background:var(--error-bg);border-color:#dc8995}.onboarding{width:min(100%,35rem);min-height:100dvh;padding:calc(2rem + env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));text-align:center;background:var(--surface);place-items:center;margin:0 auto;display:grid}.onboarding__content{width:100%}.listening-mark{background:var(--navy);border-radius:1.4rem;justify-content:center;align-items:center;gap:.45rem;width:6rem;height:6rem;margin:0 auto 2rem;display:flex}.listening-mark span{background:#78d5cf;border-radius:999px;width:.55rem;display:block}.listening-mark span:first-child{height:1.8rem}.listening-mark span:nth-child(2){height:3.5rem}.listening-mark span:nth-child(3){height:2.4rem}.onboarding h1{color:var(--navy);letter-spacing:-.04em;margin:0;font-size:clamp(2.3rem,11vw,3.5rem);font-weight:900;line-height:1}.onboarding p{color:#294967;margin:1.75rem 0;font-size:clamp(1.2rem,5vw,1.5rem);line-height:1.45}.onboarding .onboarding__warning{color:var(--danger);margin-bottom:2.2rem;font-size:1.05rem;font-weight:750}.settings-screen{flex-direction:column;gap:1.5rem;display:flex}.back-button{min-height:3.25rem;color:var(--navy);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.25rem;padding:.5rem .65rem .5rem 0;font-size:1.05rem;font-weight:850;display:inline-flex}.settings-screen>h1{border-bottom:2px solid var(--line);padding-bottom:1.35rem}.settings-section>p{color:var(--text-muted);margin:-.4rem 0 .8rem;font-size:1rem;line-height:1.45}.eq-list{display:grid}.setting-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(4.5rem,5.75rem) minmax(6rem,1fr) minmax(3.8rem,auto);align-items:center;gap:.65rem;min-height:4.75rem;display:grid}.setting-row label{color:var(--navy);font-size:1rem;font-weight:800}.setting-row output{color:var(--navy);text-align:right;white-space:nowrap;font-size:.95rem;font-weight:800}.advanced-settings{border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.advanced-settings summary{min-height:4rem;color:var(--navy);cursor:pointer;padding:1.25rem 0;font-size:1.05rem;font-weight:900}.advanced-settings__body{padding-bottom:1.2rem}.advanced-settings__body h3{color:var(--text-muted);letter-spacing:.08em;margin:1.5rem 0 .4rem;font-size:.9rem}.privacy-note{border-top:2px solid var(--line);padding-top:1.4rem}.privacy-note p{color:var(--text-muted);margin:.45rem 0;font-size:1rem;line-height:1.5}.text-button{min-height:3.5rem;color:var(--navy);cursor:pointer;background:0 0;border:0;padding:.75rem;font-size:.95rem;font-weight:750;text-decoration:underline}.settings-version{color:#7a8fa3;text-align:center;margin:0;padding-bottom:.75rem}.debug-overlay,.debug-loading{z-index:100;background:#05182bcc;position:fixed;inset:0;overflow-y:auto}.debug-loading{color:#fff;place-items:center;font-weight:850;display:grid}.debug-panel{width:min(100%,50rem);min-height:100%;padding:calc(1.25rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));color:#eaf4f8;background:#071d31;margin:0 auto}.debug-panel__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.debug-panel h1{margin:0;font-size:1.7rem}.debug-panel section{border-bottom:1px solid #29445c;padding:1.25rem 0}.debug-panel h2,.debug-panel h3{color:#78d5cf;letter-spacing:.04em;margin:0 0 .75rem}.debug-panel h2{font-size:1rem}.debug-panel h3{color:#b7cad8;margin-top:1rem;font-size:.82rem}.debug-panel pre{color:#eaf4f8;white-space:pre-wrap;overflow-wrap:anywhere;background:#0c2944;border-radius:.5rem;max-width:100%;margin:0;padding:.9rem;font:.78rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}.debug-note{color:#b7cad8;margin:-.3rem 0 .7rem;font-size:.85rem}.event-log{gap:.75rem;margin:0;padding-left:1.35rem;display:grid}.event-log li{color:#eaf4f8;padding-left:.3rem;font-size:.85rem}.event-log time{color:#78d5cf;margin-right:.55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.event-log code{color:#b7cad8;overflow-wrap:anywhere;margin-top:.2rem;display:block}@media (width>=36rem){.app-shell,.settings-screen,.onboarding{border:1px solid #ccd8e2;border-radius:1.75rem;min-height:calc(100dvh - 3rem);margin-block:1.5rem;box-shadow:0 1rem 3rem #07325c1f}}@media (width<=23.5rem){.profile-options{grid-template-columns:1fr}.profile-button{flex-direction:row;min-height:4.75rem}.setting-row{grid-template-columns:4.5rem minmax(4rem,1fr) 3.5rem;gap:.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
