:root{--bg:#fff4e6;--bg-deep:#ffe7cc;--surface:#fff;--ink:#2b1810;--ink-soft:#6b5244;--line:#2b18101f;--line-strong:#2b181038;--track:#2b18101a;--tomato:#ff6a3d;--sun:#ffc940;--bubblegum:#ff9ec0;--grape:#b8a3ff;--lime:#c8f05a;--sky:#8fd3ff;--mint:#8ee8c8;--focus:#2f5bff;--laugh:var(--sun);--radius-lg:28px;--radius-md:22px;--radius-sm:16px;--pad:20px;--shadow-soft:0 1px 0 #2b18100a, 0 10px 24px -16px #2b181059;--font:"Bricolage Grotesque", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-laugh=classic]{--laugh:var(--sun)}[data-laugh=contagious]{--laugh:var(--tomato)}[data-laugh=shy]{--laugh:var(--bubblegum)}[data-laugh=evil]{--laugh:var(--grape)}[data-laugh=crazy]{--laugh:var(--lime)}[data-laugh=baby]{--laugh:var(--mint)}[data-laugh=random]{--laugh:var(--sky)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-bottom:110px}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.4}body:has(.session){overscroll-behavior:none}h1,h2,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}button,input,output{font:inherit;color:inherit}button{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app{min-height:100dvh;overflow-x:clip}.screen{width:100%;max-width:600px;padding:calc(env(safe-area-inset-top) + 16px) calc(var(--pad) + env(safe-area-inset-right)) 0 calc(var(--pad) + env(safe-area-inset-left));animation:screen-in .45s var(--ease-out) both;margin:0 auto;position:relative}.btn{border:2.5px solid var(--ink);background:var(--surface);min-height:56px;color:var(--ink);letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 5px 0 var(--ink);transition:transform .18s var(--ease-bounce), box-shadow .18s var(--ease-bounce), background-color .2s;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:0 24px;font-size:1.05rem;font-weight:800;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}@media (hover:hover){.btn:hover{box-shadow:0 7px 0 var(--ink);transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}}.btn--primary{background:var(--tomato)}.btn--secondary{background:var(--sun)}.btn--dark{background:var(--ink);color:var(--bg)}.btn--ghost{box-shadow:0 3px 0 var(--ink);background:#ffffffa6}.btn--lg{min-height:58px;font-size:1.1rem}.btn--xl{min-height:66px;font-size:1.3rem}.btn--block{width:100%}.btn__meta{opacity:.85;font-weight:600}.btn__meta:before{content:"·";margin-right:.5em}.round-btn{border:2px solid var(--ink);background:var(--sun);cursor:pointer;width:48px;height:48px;box-shadow:0 3px 0 var(--ink);transition:transform .15s var(--ease-bounce), box-shadow .15s;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.5rem;font-weight:800;line-height:1;display:grid}.round-btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.round-btn:disabled{opacity:.35;cursor:not-allowed}.round-btn--small{background:var(--surface);width:44px;height:44px;font-size:1.1rem}.link-btn{text-underline-offset:3px;cursor:pointer;background:0 0;border:none;min-height:44px;padding:10px 4px;font-weight:700;text-decoration:underline}.link-btn--muted{color:var(--ink-soft);margin-left:auto}.chip{border:2px solid var(--ink);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.tag{background:var(--bg-deep);text-align:right;border-radius:999px;max-width:9.5rem;padding:4px 9px;font-size:.72rem;font-weight:700;line-height:1.25}.tag--done{background:var(--lime)}.range{--fill:50%;appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:44px;margin:0}.range::-webkit-slider-runnable-track{border:2px solid var(--ink);background:linear-gradient(to right, var(--tomato) var(--fill), var(--surface) var(--fill));border-radius:999px;height:14px}.range::-moz-range-track{border:2px solid var(--ink);background:linear-gradient(to right, var(--tomato) var(--fill), var(--surface) var(--fill));border-radius:999px;height:10px}.range::-webkit-slider-thumb{appearance:none;border:3px solid var(--ink);background:var(--surface);width:30px;height:30px;box-shadow:0 2px 0 var(--ink);transition:transform .15s var(--ease-bounce);border-radius:50%;margin-top:-10px}.range:active::-webkit-slider-thumb{transform:scale(1.12)}.range::-moz-range-thumb{border:3px solid var(--ink);background:var(--surface);width:24px;height:24px;box-shadow:0 2px 0 var(--ink);border-radius:50%}.range--small::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ink) var(--fill), var(--surface) var(--fill));height:10px}.range--small::-moz-range-track{background:linear-gradient(to right, var(--ink) var(--fill), var(--surface) var(--fill))}.range--small::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}.home__hero{padding:28px 0 8px;position:relative}.home__hero:after{content:"";z-index:-1;top:6px;right:calc(-1 * var(--pad));background:var(--sun);opacity:.55;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;width:170px;height:170px;animation:12s ease-in-out infinite blob-morph;position:absolute}.logo{letter-spacing:-.045em;font-size:clamp(4.5rem,25vw,7.5rem);font-weight:800;line-height:.9;display:flex}.logo__letter{animation:letter-drop .7s var(--ease-bounce) both;transform-origin:50% 100%;display:inline-block}.logo__letter:nth-child(3){color:var(--tomato)}@media (hover:hover){.logo__letter:hover{animation:.5s ease-in-out letter-wiggle}}.home__subtitle{letter-spacing:-.01em;max-width:22ch;margin-top:14px;font-size:1.3rem;font-weight:500;line-height:1.25}.section{margin-top:36px;scroll-margin-top:16px}.section__title{letter-spacing:-.025em;margin-bottom:14px;font-size:1.5rem;font-weight:800}.mic-note{border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--lime);box-shadow:0 3px 0 var(--ink);margin-top:20px;padding:14px 16px;font-size:.92rem;line-height:1.35;transform:rotate(-.6deg)}.mic-note strong{letter-spacing:-.01em;margin-bottom:2px;font-size:1.05rem;font-weight:800;display:block}.durations__grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.duration-card{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;min-height:100px;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease-bounce), background-color .2s, border-color .2s, box-shadow .2s;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;padding:18px 12px 14px;display:flex;position:relative}.duration-card:active{transform:scale(.96)}@media (hover:hover){.duration-card:not(.is-selected):hover{border-color:var(--line-strong);transform:translateY(-3px)}}.duration-card__label{letter-spacing:-.035em;font-size:clamp(1.35rem,6.2vw,1.9rem);font-weight:800;line-height:1}.duration-card__desc{color:var(--ink-soft);font-size:.9rem;font-weight:500}.duration-card.is-suggested{border-color:var(--sun);border-width:2.5px}.duration-card__badge{border:2px solid var(--ink);background:var(--sun);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:.6rem;font-weight:800;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-4deg)}.duration-card.is-selected{border-color:var(--ink);background:var(--tomato);box-shadow:0 5px 0 var(--ink);transform:rotate(-1.5deg)translateY(-2px)}.duration-card.is-selected:nth-child(2n){transform:rotate(1.5deg)translateY(-2px)}.duration-card.is-selected .duration-card__desc{color:var(--ink)}.duration-card--custom{flex-flow:wrap;grid-column:1/-1;justify-content:space-between;align-items:baseline;min-height:72px}.duration-card--custom .duration-card__label{letter-spacing:-.02em;font-size:1.2rem}.duration-card--custom.is-selected,.duration-card--custom.is-selected:nth-child(2n){transform:rotate(-.6deg)translateY(-2px)}.custom-picker{border:2.5px solid var(--ink);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 5px 0 var(--ink);animation:pop-in .35s var(--ease-bounce) both;margin-top:16px;padding:16px 16px 12px}.custom-picker__value{letter-spacing:-.035em;text-align:center;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;display:block}.custom-picker__row{align-items:center;gap:12px;margin-top:6px;display:flex}.custom-picker__limits{color:var(--ink-soft);justify-content:space-between;padding:4px 60px 0;font-size:.8rem;display:flex}.stats__grid,.complete__stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px 16px}.stat:before{content:"";background:var(--tomato);border-radius:3px;width:26px;height:6px;margin-bottom:10px;display:block}.stat:nth-child(2):before{background:var(--sun)}.stat:nth-child(3):before{background:var(--grape)}.stat:nth-child(4):before{background:var(--lime)}.stat__label{color:var(--ink-soft);font-size:.8rem;font-weight:600}.stat__value{letter-spacing:-.025em;margin-top:2px;font-size:1.5rem;font-weight:800;line-height:1.1}.stats__empty,.history__empty{color:var(--ink-soft);margin-top:10px;font-size:.95rem}.history__empty{margin-top:0}.history__list{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.history__item{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.history__item+.history__item{border-top:1px solid var(--line)}.history__item.is-incomplete .history__main{opacity:.7}.history__emoji{font-size:1.4rem}.history__main{flex-direction:column;min-width:0;display:flex}.history__duration{font-size:1.05rem;font-weight:800}.history__meta{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.history__actions{margin-top:6px;display:flex}.home__footer{max-width:40ch;color:var(--ink-soft);text-align:center;margin:44px auto 12px;font-size:.85rem}.cta-bar{z-index:10;margin:0 calc(-1 * var(--pad));padding:16px var(--pad) calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 72%, #fff4e600);position:sticky;bottom:0}.screen.session{max-width:none;min-height:100dvh;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:8px;display:flex}.session>:not(.session__glow,.sheet-backdrop,.listen-banner){z-index:1;width:100%;max-width:560px;margin-inline:auto;position:relative}.session__glow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.session__glow:before{content:"";aspect-ratio:1;background:var(--laugh);opacity:.5;filter:blur(70px);border-radius:50%;width:150%;max-width:900px;transition:background-color .8s,opacity .4s;animation:9s ease-in-out infinite alternate glow-float;position:absolute;top:-18%;left:50%;transform:translate(-50%)}.session.is-paused .session__glow:before{opacity:.25}.session__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.audio-indicator{white-space:nowrap;background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.audio-indicator__bars{align-items:flex-end;gap:2px;height:16px;display:inline-flex}.audio-indicator__bars span{background:var(--ink);transform-origin:bottom;border-radius:2px;width:3px;height:100%;transition:transform .3s;transform:scaleY(.25)}.audio-indicator.is-live .audio-indicator__bars span{transform:scaleY(min(1, .22 + var(--you,0) * var(--k,1)));transition:transform 80ms linear}.audio-indicator.is-live .audio-indicator__bars span:first-child{--k:.6}.audio-indicator.is-live .audio-indicator__bars span:nth-child(2){--k:1.15}.audio-indicator.is-live .audio-indicator__bars span:nth-child(3){--k:.85}.audio-indicator.is-live .audio-indicator__bars span:nth-child(4){--k:.45}.session__stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.bubble-slot{pointer-events:none;justify-content:center;align-items:flex-end;min-height:3.6rem;display:flex}.bubble{border:2.5px solid var(--ink);background:var(--surface);box-shadow:0 4px 0 var(--ink);animation:bubble 3.8s var(--ease-out) forwards;border-radius:20px;padding:10px 18px;font-size:1.1rem;font-weight:800;position:relative}.bubble:after{content:"";border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);background:var(--surface);width:16px;height:16px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.session.is-paused .bubble{animation-play-state:paused}.ring{aspect-ratio:1;width:min(74vw,38dvh,320px);min-width:200px;animation:4.2s ease-in-out infinite paused breathe;position:relative;container-type:inline-size}.ring.is-running{animation-play-state:running}.ring__halo{background:var(--laugh);opacity:.85;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transition:background-color .6s;animation-name:blob-morph,spin;animation-duration:7s,22s;animation-timing-function:ease-in-out,linear;animation-iteration-count:infinite,infinite;animation-direction:normal,normal;animation-play-state:paused;animation-delay:0s,0s;animation-fill-mode:none,none;animation-timeline:auto,auto;position:absolute;inset:5%}.ring.is-running .ring__halo{animation-play-state:running}.ring__halo{transition:background-color .6s ease, scale .6s var(--ease-out)}.session[data-phase=carry] .ring__halo{scale:1.08}.ring-wrap{place-items:center;display:grid;position:relative}.you-pulse{border:3px solid var(--ink);opacity:calc(.06 + var(--you,0) * .55);transform:scale(calc(1 + var(--you,0) * .16));pointer-events:none;border-radius:50%;transition:transform 90ms linear,opacity 90ms linear;position:absolute;inset:3%}.session.is-paused .you-pulse{opacity:0}.ring__svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ring__orbit{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-dasharray:1 13;stroke-linecap:round;opacity:.4;transform-box:fill-box;transform-origin:50%;animation:40s linear infinite reverse paused spin}.ring.is-running .ring__orbit{animation-play-state:running}.ring__track{fill:#fff4e68c;stroke:#ffffffbf}.ring__progress{fill:none;stroke:var(--ink);stroke-linecap:round;transition:stroke-dashoffset .3s linear}.ring__content{place-items:center;display:grid;position:absolute;inset:0}.timer{flex-direction:column;align-items:center;gap:2px;display:flex}.timer__digits{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:25cqi;font-weight:800;line-height:1}.ring.is-running .timer__digits{animation:3.6s ease-in-out infinite giggle}.timer__caption{color:var(--ink-soft);font-size:1rem;font-weight:700}.timer.is-paused .timer__caption{color:var(--ink);animation:1.4s ease-in-out infinite blink}.timer.is-paused .timer__digits{opacity:.55}.now-laughing{background:#ffffffb8;border-radius:999px;align-items:center;gap:12px;min-height:56px;padding:6px 16px 6px 8px;display:flex}.now-laughing__emoji{border:2px solid var(--ink);background:var(--laugh);width:44px;height:44px;animation:pop-in .45s var(--ease-bounce) both;border-radius:50%;place-items:center;font-size:1.5rem;transition:background-color .6s;display:grid}.now-laughing__name{font-size:1.1rem;font-weight:800;line-height:1.15;display:block}.now-laughing__desc{color:var(--ink-soft);font-size:.85rem;display:block}.session__panel{border:2px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;gap:12px;padding:14px;display:grid}.laughs{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin:0 -14px;padding:6px 14px 8px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000)}.laughs::-webkit-scrollbar{display:none}.laugh-pill{border:2px solid var(--line-strong);background:var(--surface);white-space:nowrap;cursor:pointer;scroll-snap-align:start;min-height:48px;transition:transform .25s var(--ease-bounce), background-color .2s, border-color .2s, box-shadow .2s;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:.95rem;font-weight:700;display:inline-flex}.laugh-pill:active{transform:scale(.95)}.laugh-pill.is-selected{border-color:var(--ink);background:var(--laugh);box-shadow:0 3px 0 var(--ink);transform:rotate(-2deg)translateY(-1px)}.laugh-pill__emoji{font-size:1.25rem}.panel-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toggles{flex:none;gap:6px;display:flex}.toggle{border:2px solid var(--line-strong);background:var(--surface);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:5px;min-height:44px;padding:0 12px;font-size:.85rem;font-weight:700;transition:background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.toggle.is-on{border-color:var(--ink);background:var(--lime);box-shadow:0 2px 0 var(--ink)}.volume{flex:140px;align-items:center;gap:10px;min-width:0;display:flex}.controls{grid-template-columns:1fr 1.6fr;gap:12px;display:grid}.session .btn--dark{box-shadow:0 5px 0 var(--laugh)}.session .btn--dark:active{box-shadow:0 1px 0 var(--laugh)}.sheet-backdrop{z-index:50;background:#2b181073;justify-content:center;align-items:flex-end;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;padding:26px 20px calc(20px + env(safe-area-inset-bottom));border:2.5px solid var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);animation:sheet-up .35s var(--ease-out) both;border-bottom:none}@media (width>=640px){.sheet-backdrop{align-items:center}.sheet{border-bottom:2.5px solid var(--ink);border-radius:var(--radius-lg);padding-bottom:24px}}.sheet__title{letter-spacing:-.025em;font-size:1.6rem;font-weight:800}.sheet__text{color:var(--ink-soft);margin-top:8px}.sheet__actions{gap:12px;margin-top:22px;display:grid}.screen.complete{min-height:100dvh;padding-bottom:calc(18px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;gap:24px;display:flex}.complete__hero,.complete__stats,.complete__actions{z-index:1;position:relative}.complete__hero{flex-direction:column;align-items:center;gap:10px;padding-top:6vh;display:flex}.complete__face{font-size:5.5rem;line-height:1;animation:.9s ease-in-out infinite alternate face-laugh;display:inline-block}.complete__title{letter-spacing:-.04em;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:800;line-height:1}.complete__lead{max-width:24ch;font-size:1.3rem;font-weight:600;line-height:1.25}.complete__aside{color:var(--ink-soft)}.complete__stats{text-align:left;grid-template-columns:repeat(3,1fr);gap:8px}.complete__stats .stat{padding:12px}.complete__stats .stat__value{font-size:1.25rem}.complete__stats .stat__label{font-size:.74rem}.complete__actions{gap:12px;margin-top:auto;display:grid}.confetti{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti__piece{top:-24px;left:var(--x);background:var(--color);width:10px;height:16px;animation:confetti-fall var(--duration) var(--delay) cubic-bezier(.25, .6, .45, 1) both;border-radius:2px;position:absolute}.confetti__piece.is-round{border-radius:50%;width:12px;height:12px}.consent{border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 3px 0 var(--ink);animation:pop-in .35s var(--ease-bounce) both;gap:10px;margin-bottom:12px;padding:12px 14px;display:grid}.consent__text{font-size:.86rem;line-height:1.35}.consent__text strong{font-weight:800}.consent__actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn--sm{min-height:44px;box-shadow:0 3px 0 var(--ink);padding:0 14px;font-size:.95rem}.link-btn--small{min-height:44px;color:var(--ink-soft);margin-top:4px;font-size:.8rem}.session__disclaimer{color:var(--ink-soft);text-align:center;text-wrap:balance;font-size:.74rem;line-height:1.35}.listen-banner{z-index:6;top:calc(env(safe-area-inset-top) + 66px);width:min(calc(100% - 2 * var(--pad)), 480px);border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 3px 0 var(--ink);text-align:center;text-wrap:balance;animation:banner-in .35s var(--ease-bounce) both;pointer-events:none;margin:0;padding:10px 16px;font-size:.92rem;font-weight:700;line-height:1.3;position:absolute;left:50%;transform:translate(-50%)}.listen-banner.is-ok{background:var(--lime)}.listen-banner.is-warn{background:var(--sun)}.toggle:disabled{opacity:.45;cursor:not-allowed}.toggle__state{background:var(--bg-deep);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:800}.toggle.is-on .toggle__state{background:var(--ink);color:var(--lime)}.mic-sheet__icon{border:2.5px solid var(--ink);background:var(--lime);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:14px;font-size:1.6rem;display:grid}.sheet__tip{margin-top:10px;font-size:.92rem;font-weight:700}.score{z-index:1;border:2.5px solid var(--ink);border-radius:var(--radius-md);background:var(--sun);box-shadow:0 5px 0 var(--ink);animation:pop-in .5s .3s var(--ease-bounce) both;justify-items:center;gap:8px;padding:18px 16px 16px;display:grid;position:relative;transform:rotate(-1deg)}.score__value{align-items:baseline;gap:2px;line-height:1;display:flex}.score__number{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:4.4rem;font-weight:800}.score__max{opacity:.55;font-size:1.6rem;font-weight:800}.score__dots{gap:5px;display:flex}.score__dots span{border:2px solid var(--ink);background:var(--surface);border-radius:50%;width:14px;height:14px}.score__dots span.is-on{background:var(--tomato)}.score__label{letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.score__detail{opacity:.8;max-width:34ch;font-size:.88rem;font-weight:600}.score.score--none{border:2px dashed var(--line-strong);box-shadow:none;color:var(--ink-soft);background:0 0;padding:12px 16px;font-size:.95rem;font-weight:600;animation:none;display:block;transform:none}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes letter-drop{0%{opacity:0;transform:translateY(-60px)rotate(-12deg)}60%{opacity:1;transform:translateY(6px)rotate(4deg)}to{transform:none}}@keyframes letter-wiggle{0%,to{transform:none}25%{transform:rotate(-10deg)translateY(-6px)}75%{transform:rotate(8deg)}}@keyframes blob-morph{0%,to{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:60% 40% 38% 62%/55% 60% 40% 45%}66%{border-radius:38% 62% 55% 45%/62% 38%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes giggle{0%,84%,to{transform:none}86%{transform:rotate(-3deg)translate(-2px)}89%{transform:rotate(3deg)translate(2px)}92%{transform:rotate(-2deg)}95%{transform:rotate(1deg)}}@keyframes bubble{0%{opacity:0;transform:translateY(10px)scale(.6)rotate(-6deg)}9%{opacity:1;transform:translateY(0)scale(1.06)rotate(-3deg)}14%{transform:scale(1)rotate(-2deg)}88%{opacity:1;transform:scale(1)rotate(-2deg)}to{opacity:0;transform:translateY(-8px)scale(.96)rotate(-2deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.4}}@keyframes glow-float{0%{transform:translate(-54%)translateY(0)}to{transform:translate(-46%)translateY(4%)}}@keyframes fade-in{0%{opacity:0}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)scale(.96)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes face-laugh{0%{transform:rotate(-8deg)translateY(0)}to{transform:rotate(8deg)translateY(-8px)}}@keyframes confetti-fall{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--drift), 110vh, 0) rotate(var(--rotation))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bubble{animation:none}.confetti{display:none}}
