.ea-root{gap:var(--space-4);scroll-margin-top:80px;display:grid}.ea-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,6vw,1.7rem);font-weight:800}.ea-sub{color:var(--muted);word-break:keep-all;margin:4px 0 0;font-weight:600}.ea-muted{margin:4px 0 var(--space-2);color:var(--muted);word-break:keep-all;font-weight:600}.ea-note{text-align:center;color:var(--muted);word-break:keep-all;margin:0;font-size:.85rem}.ea-intro{gap:var(--space-3);padding:var(--space-6);display:grid;overflow:hidden}.ea-hero{place-items:center;height:150px;display:grid;position:relative}.ea-hero-wave{opacity:.55;position:absolute;inset:34px 0}.ea-hero-bear{position:relative}.ea-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ea-chips li{border-radius:var(--radius-pill);border:2px dashed var(--line);background:var(--cream-50);font-variant-numeric:tabular-nums;animation:rise .3s var(--ease) both, ea-float 3s ease-in-out .5s infinite;padding:6px 12px;font-size:.9rem;font-weight:700}.ea-chips li:nth-child(2n){animation-delay:80ms,1.2s}@keyframes ea-float{0%,to{translate:0}50%{translate:0 -4px}}.ea-setup{gap:var(--space-4);padding:var(--space-6);display:grid}.ea-steps{gap:var(--space-4);margin:0;padding-left:1.2em;display:grid}.ea-steps b{font-weight:800}.ea-device{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.ea-calib{align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);border-radius:var(--radius-pill);border:3px solid var(--tiger-500);background:var(--tiger-50);color:var(--fg);font:inherit;cursor:pointer;border-bottom-width:5px;font-weight:800;display:inline-flex;position:relative}.ea-calib-ring{border-radius:inherit;border:3px solid var(--tiger-500);opacity:0;pointer-events:none;position:absolute;inset:-3px}.ea-calib.is-on .ea-calib-ring{animation:1.1s ease-out infinite ea-ring}.ea-age-field{margin-top:var(--space-2);max-width:280px}.ea-warn{margin:0}.ea-stage{z-index:100;background:var(--bg);overscroll-behavior:contain;touch-action:manipulation;flex-direction:column;display:flex;position:fixed;inset:0}.ea-stage-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3), env(safe-area-inset-top));border-bottom:2px solid var(--line);display:flex}.ea-stage-title{flex:1;font-weight:800}.ea-stage-body{align-items:stretch;gap:var(--space-3);width:100%;max-width:520px;min-height:0;padding:var(--space-4);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom));flex-direction:column;flex:1;margin:0 auto;display:flex;overflow-y:auto}.ea-ladder{grid-template-columns:repeat(11,minmax(0,1fr));align-items:end;gap:3px;margin:0;padding:0;list-style:none;display:grid}.ea-ladder li{background:var(--cream-50);height:44px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:6px;place-items:end center;padding-bottom:3px;font-size:.62rem;font-weight:800;display:grid}.ea-ladder li:nth-child(n){height:calc(20px + var(--h,0px))}.ea-ladder li:first-child{--h:0px}.ea-ladder li:nth-child(2){--h:3px}.ea-ladder li:nth-child(3){--h:6px}.ea-ladder li:nth-child(4){--h:9px}.ea-ladder li:nth-child(5){--h:12px}.ea-ladder li:nth-child(6){--h:15px}.ea-ladder li:nth-child(7){--h:18px}.ea-ladder li:nth-child(8){--h:21px}.ea-ladder li:nth-child(9){--h:24px}.ea-ladder li:nth-child(10){--h:27px}.ea-ladder li:nth-child(11){--h:30px}.ea-ladder .is-heard{background:var(--good-600);color:var(--bg);animation:.35s cubic-bezier(.2,1.4,.4,1) both ea-fill}.ea-ladder .is-miss{background:var(--bad-50);color:var(--bad-600)}.ea-ladder .is-now{background:var(--tiger-500);color:var(--bear-900);animation:1s ease-in-out infinite ea-blink}@keyframes ea-fill{0%{transform-origin:bottom;transform:scaleY(.3)}}@keyframes ea-blink{50%{opacity:.55}}.ea-speaker{width:132px;height:132px;margin:var(--space-2) auto 0;place-items:center;display:grid;position:relative}.ea-ear{z-index:1;background:var(--tiger-50);border:4px solid var(--tiger-500);border-radius:50%;place-items:center;width:92px;height:92px;font-size:2.6rem;display:grid;position:relative}.ea-stage.is-playing .ea-ear{animation:.5s ease-in-out infinite ea-throb}.ea-ring{border:3px solid var(--tiger-500);opacity:0;border-radius:50%;position:absolute;inset:20px}.ea-stage.is-playing .ea-ring{animation:1.5s ease-out infinite ea-ring}.ea-stage.is-playing .ea-ring.r2{animation-delay:.5s}.ea-stage.is-playing .ea-ring.r3{animation-delay:1s}@keyframes ea-ring{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.7)}}@keyframes ea-throb{50%{transform:scale(1.06)}}.ea-wave-box{border-radius:var(--radius-md);background:var(--cream-50);height:72px;overflow:hidden}.ea-wave{width:200%;height:100%;display:block;transform:translate(0)}.ea-wave.is-live{animation:1.2s linear infinite ea-flow}.ea-wave-path{fill:none;stroke:var(--line);stroke-width:2.5px;vector-effect:non-scaling-stroke;transition:stroke .3s}.ea-wave.is-live .ea-wave-path{stroke:var(--tiger-600)}@keyframes ea-flow{to{transform:translate(-50%)}}.ea-freq{text-align:center;min-height:1.5em;color:var(--muted);margin:0;font-weight:800}.ea-answers{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.ea-btn{border-radius:var(--radius);border:3px solid var(--line);background:var(--bg);min-height:84px;color:var(--fg);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom-width:6px;font-size:1.2rem;font-weight:800;transition:transform .12s,opacity .2s}.ea-btn span{font-size:1.6rem;display:block}.ea-btn.is-yes:not(:disabled){border-color:var(--good-600);background:var(--good-50);animation:.35s cubic-bezier(.2,1.4,.4,1) both ea-ready}.ea-btn.is-no:not(:disabled){animation:.35s cubic-bezier(.2,1.4,.4,1) 50ms both ea-ready}.ea-btn:disabled{opacity:.45;cursor:default}.ea-btn:active:not(:disabled){border-bottom-width:3px;transform:translateY(3px)}@keyframes ea-ready{0%{transform:scale(.94)}}.ea-replay{align-self:center}.ea-result-wrap{gap:var(--space-4);display:grid}.ea-result{position:relative;overflow:hidden}.ea-result>:not(.confetti){z-index:2;position:relative}.ea-result .mascot{margin:0 auto}.ea-kicker{color:var(--muted);margin:0;font-weight:700}.ea-stamp{margin:var(--space-2) 0 0;border:3px solid var(--bad-600);color:var(--bad-600);border-radius:10px;padding:4px 14px;font-size:1.15rem;font-weight:800;animation:.42s cubic-bezier(.2,1.4,.4,1) 1s both ea-stamp;display:inline-block;transform:rotate(-5deg)}@keyframes ea-stamp{0%{opacity:0;transform:rotate(-5deg)scale(2.2)}70%{opacity:1;transform:rotate(-5deg)scale(.94)}to{transform:rotate(-5deg)scale(1)}}.ea-res-chips{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ea-res-chips .chip{cursor:default}.ea-spectrum{padding:var(--space-5);border-radius:var(--radius);background:var(--cream-50);gap:var(--space-3);display:grid}.ea-spec-title{margin:0;font-weight:800}.ea-bars{grid-template-columns:repeat(11,minmax(0,1fr));align-items:end;gap:4px;height:120px;display:grid}.ea-bar{text-align:center;grid-template-rows:1fr auto;align-items:end;height:100%;animation:.4s cubic-bezier(.2,1.3,.4,1) both ea-bar;display:grid}.ea-bar span{background:var(--line);border-radius:6px 6px 2px 2px;display:block}.ea-bar.is-heard span{background:var(--tiger-500)}.ea-bar small{color:var(--muted);margin-top:4px;font-size:.62rem;font-weight:800}@keyframes ea-bar{0%{transform-origin:bottom;opacity:0;transform:scaleY(0)}}.ea-marks{height:40px;margin-top:-6px;position:relative}.ea-marks span{border-left:2px dashed var(--bear-600);color:var(--bear-600);white-space:nowrap;padding-top:6px;padding-left:3px;font-size:.7rem;font-weight:800;position:absolute;top:0;transform:translate(-50%)}.ea-marks span.is-low{top:16px}.ea-late{animation:.4s cubic-bezier(.2,1.1,.4,1) both ea-late}@keyframes ea-late{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.ea-actions{gap:var(--space-2);display:grid}.ea-actions .btn{width:100%}@media (min-width:720px){.ea-actions{grid-template-columns:1fr 1fr}}.ea-shine{position:relative;overflow:hidden}.ea-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:30%;animation:3.6s ease-in-out 1.2s infinite ea-shine;position:absolute;top:0;bottom:0;left:-40%;transform:skew(-20deg)}@keyframes ea-shine{0%,70%{left:-40%}to{left:130%}}.ea-toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:110;border-radius:var(--radius-md);background:var(--bear-900);max-width:calc(100% - 32px);color:var(--bg);box-shadow:var(--shadow-float);animation:rise .2s var(--ease) both;padding:12px 18px;font-weight:700;position:fixed;transform:translate(-50%)}
