:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243d43;background:#f5f8f8;font-synthesis:none;--accent:#266d7c;--line:#d6e5e7;--muted:#5d7379;--pale:#eaf6f7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--accent);text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #317e90;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,6vw,2.9rem);font-weight:550;letter-spacing:-.055em;margin-bottom:1rem}h2{font-size:1.2rem;letter-spacing:-.025em;font-weight:600}h3{font-size:1rem}p{line-height:1.65}strong{font-weight:600}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1100px;margin:auto;padding:1.25rem 2rem}.brand{display:flex;min-height:44px;align-items:center}.brand img{max-width:100%;object-fit:contain}.app-label{font-size:.9rem;display:flex;align-items:center;gap:.7rem}.beta-label{font-size:.7rem;padding:.2rem .45rem;border:1px solid var(--line);border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.app-nav{display:flex;justify-content:center;gap:.4rem;border-block:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5;padding:.5rem 1rem}.app-nav a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:.65rem 1.4rem;text-decoration:none;color:var(--muted);border-radius:7px;font-size:.95rem}.app-nav a.selected{background:var(--pale);color:var(--accent);font-weight:600}.app-main{max-width:880px;margin:auto;padding:2.5rem 1.5rem 3rem;min-height:70vh}.app-footer{max-width:880px;padding:1.5rem;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--muted)}.app-footer a{color:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.7rem;font-weight:650;margin-bottom:1.2rem}.intro{font-size:1.1rem;color:var(--muted);line-height:1.7}.primary,.secondary,.danger{border:0;display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:48px;padding:.8rem 1.4rem;border-radius:8px;text-decoration:none;font-weight:550}.primary{color:#fff;background:var(--accent)}.primary:hover{background:#1b5865;color:#fff}.secondary{background:var(--pale);color:var(--accent);border:1px solid var(--line)}.danger{background:#823f38;color:#fff}.text-button{min-height:48px;background:transparent;border:0;color:var(--accent);text-decoration:underline;padding:.7rem}.wide{width:100%;margin-top:1rem}.privacy{font-size:.8rem;color:var(--muted);margin:1.25rem 0 0}.small{font-size:.8rem}.muted{color:var(--muted)}.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2.25rem 0}.tips span{color:#6c949e;font-size:.75rem;display:block;margin-bottom:.75rem}.tips h2{font-size:.95rem;margin-bottom:.5rem}.tips p{color:var(--muted);font-size:.85rem;margin-bottom:0}.status-pill{display:inline-block;padding:.4rem .85rem;border-radius:30px;font-size:.8rem;color:var(--accent);background:#dfedf0}.status-pill.ready{background:#d4ede8;color:#225e53}.feedback{font-size:.95rem}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem;margin:1.2rem 0}.result-hero{text-align:center;padding:1rem 0}.result-number{font-size:clamp(4.5rem,15vw,7rem);font-weight:500;line-height:1.15}.result-unit{font-size:2rem;color:var(--muted);font-weight:400}.result-caption{font-size:1rem;margin:.2rem 0 1rem;color:var(--muted)}.result-hero>.small{margin:1rem 0}.comparison{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:.75rem;padding:1.25rem 0;margin-top:1.5rem;border-block:1px solid var(--line)}.comparison>div{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.comparison strong{font-size:1.25rem}.comparison .difference strong{color:var(--accent)}.comparison span{font-size:.8rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.section-heading h2{margin-bottom:.8rem}.reference-track{height:4px;background:linear-gradient(90deg,#b9dadd,#3b7688);margin:1.7rem .5rem 1.2rem;position:relative;border-radius:5px}.reference-marker{width:14px;height:14px;background:var(--accent);border:3px solid white;box-shadow:0 0 0 1px var(--accent);border-radius:100%;position:absolute;top:50%;transform:translate(-50%,-50%)}.reference-labels{display:flex;justify-content:space-between;font-size:.8rem;gap:.5rem;margin-bottom:1rem}.reference-labels small{display:block;color:var(--muted);font-size:.68rem;margin-top:.4rem}.reference .small{margin-bottom:0}.chart-legend{display:flex;gap:1.3rem;font-size:.8rem;justify-content:flex-end;color:var(--muted)}.chart-legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:.3rem}.legend-current{background:var(--accent)}.legend-previous{background:#a28663}.frequency-chart{width:100%;height:auto;display:block;margin:.5rem 0}.frequency-chart text{font-size:11px;fill:var(--muted)}.grid-line{stroke:#e1e9ec;stroke-width:1}.curve{fill:none;stroke-width:3}.curve.current{stroke:var(--accent)}.curve.previous{stroke:#a28663;stroke-dasharray:6 5}.chart-point{fill:var(--accent);stroke:#fff;stroke-width:2}.table-scroll{overflow-x:auto;margin-bottom:.75rem}table{border-collapse:collapse;width:100%;font-size:.8rem;white-space:nowrap}th,td{text-align:right;padding:.65rem .5rem;border-bottom:1px solid var(--line)}th:first-child{text-align:left}th{font-weight:550;color:var(--muted)}.technical summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;font-weight:550}.technical h3{margin-top:1.5rem}.technical dl{font-size:.85rem}.technical dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.notice{padding:1rem;background:#fbf3e5;border:1px solid #e4d5b6;border-radius:8px;font-size:.9rem;line-height:1.6}.notice p:last-child{margin-bottom:0}label{display:block;font-weight:550;font-size:.9rem;margin:1rem 0 .5rem}input,select,textarea{width:100%;min-height:48px;background:#fff;color:inherit;padding:.8rem;border:1px solid #b7ccd1;border-radius:7px}textarea{min-height:100px;resize:vertical}.check-label{display:flex;gap:1rem;align-items:center;min-height:48px;font-weight:400;cursor:pointer}.check-label input{width:20px;height:20px;min-height:20px;accent-color:var(--accent)}.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:.75rem}.panel input+.secondary{margin-top:1rem}.panel textarea+.secondary{margin-top:1rem}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}.history-day{margin:2rem 0 1rem;font-size:.85rem;color:var(--muted)}.history-list{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.history-row{display:grid;grid-template-columns:1fr auto 18px;gap:1.5rem;align-items:center;padding:1.3rem;text-decoration:none;color:inherit;border-bottom:1px solid var(--line)}.history-row:last-child{border-bottom:0}.history-row:hover{background:var(--pale)}.history-row div{display:flex;flex-direction:column;gap:.4rem}.history-row div:nth-child(2){text-align:right}.history-row span{font-size:.8rem;color:var(--muted)}.empty-state{padding:2.5rem;text-align:center}.empty-state p{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.app-header{padding:1rem}.brand img{width:120px}.app-label{font-size:.75rem;gap:.4rem}.beta-label{font-size:.6rem}.app-main{padding:1.5rem 1rem 2rem}.app-nav{gap:.2rem;padding:.4rem .75rem}.app-nav a{flex:1;padding:.6rem .4rem;font-size:.85rem}.intro{font-size:1rem}.desktop-break{display:none}.tips{grid-template-columns:1fr;gap:1rem;margin:1.5rem 0}.tips>div{display:grid;grid-template-columns:32px 1fr;column-gap:.5rem}.tips span{grid-row:span 2;padding-top:.1rem}.tips h2{margin-bottom:.2rem}.tips p{grid-column:2}.panel{padding:1.15rem}.comparison{gap:.4rem}.comparison strong{font-size:1.1rem}.comparison span{font-size:.7rem}.reference-labels{font-size:.72rem}.reference-labels small{font-size:.6rem}.app-footer{font-size:.7rem;padding:1.25rem 1rem;flex-wrap:wrap}.history-row{gap:.7rem;padding:1rem}.history-row span{font-size:.7rem}.history-row strong{font-size:.9rem}th,td{padding:.6rem .35rem;font-size:.72rem}.technical dl>div{grid-template-columns:1fr}.technical dl>div dd{margin-top:-.6rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.continuous-measure{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:1.5rem}.measure-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.measure-heading .eyebrow{margin-bottom:.45rem}.measure-heading h1{font-size:1.55rem;margin:0}.mic-indicator{font-size:.75rem;color:var(--muted);padding:.3rem 0;white-space:nowrap}.mic-indicator.on{color:#216453}.continuous-status{margin:1.6rem 0 1rem;min-height:100px}.continuous-status h2{font-size:clamp(1.4rem,4.3vw,2.25rem);line-height:1.2;margin-bottom:.6rem}.continuous-status h2.ready{color:#216453}.continuous-status p{min-height:1.6em;margin-bottom:0;font-size:.9rem;color:var(--muted)}.live-graph-wrap{width:100%;height:clamp(260px,45svh,460px);border:1px solid var(--line);border-radius:10px;overflow:hidden}.live-graph-wrap canvas{display:block;width:100%;height:100%}.decay-legend{display:flex;gap:.6rem 1rem;flex-wrap:wrap;padding:1rem 0 .2rem;font-size:.78rem;color:var(--muted)}.decay-legend>span{display:flex;align-items:center;gap:.5rem}.decay-legend i{width:20px;height:3px}.decay-legend i.dashed{background:repeating-linear-gradient(90deg,#a28663 0 5px,transparent 5px 8px)!important}.progress-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem 0;font-size:.85rem;color:var(--muted);min-height:44px}.sample-chip{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:6px;padding:.3rem .5rem;color:var(--accent);background:var(--pale)}.sample-chip svg{width:42px;height:24px}.sample-chip path{fill:none;stroke:var(--accent);stroke-width:2}.microphone-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:.5rem;font-size:.8rem}.graph-mode{display:flex;gap:.5rem;margin-top:1rem}.graph-mode button{min-height:44px;padding:.6rem .8rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent)}.graph-mode button.selected{background:var(--pale);font-weight:600}.comparison-selects{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.comparison-selects>div{min-width:0}.comparison-selects select{max-width:100%;text-overflow:ellipsis}.result-hero h2{margin:0;letter-spacing:-.06em}.technical>section{margin-top:1.5rem}.technical>h2{margin-top:1.5rem}@media(max-width:600px){.continuous-measure{padding:1rem .75rem}.app-main{padding:1rem .6rem 2rem}.measure-heading h1{font-size:1.25rem}.measure-heading .eyebrow{font-size:.6rem}.mic-indicator{font-size:.65rem}.continuous-status{margin:1.3rem 0 .9rem;min-height:95px}.continuous-status p{font-size:.8rem}.progress-strip{gap:.5rem;font-size:.75rem}.sample-chip{padding:.25rem}.sample-chip svg{width:32px}.comparison-selects{grid-template-columns:1fr;gap:0}.technical th,.technical td{white-space:normal;overflow-wrap:anywhere;padding:.5rem .2rem;font-size:.65rem}.table-scroll{overflow-x:visible}.frequency-table{table-layout:fixed}.frequency-table th,.frequency-table td{font-size:.65rem}.app-label{font-size:.7rem}.brand img{width:110px}}
