.brush-game{padding-top:65px;padding-bottom:65px;scroll-margin-top:20px}
.game-title{text-align:center;margin-bottom:30px}
.game-title .meta{letter-spacing:1.8px;font-size:10px}
.game-title h1,.game-title h2{font-size:clamp(32px,4vw,52px);letter-spacing:-1.4px;line-height:1.15;margin:12px 0}
.game-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 48% 35%,#465356 0%,#293438 48%,#141c20 100%);color:#fff;border-radius:3px}
.game-hud{position:absolute;inset:30px 38px auto;z-index:2;display:flex;justify-content:space-between;pointer-events:none;transition:opacity .3s}
.game-metric>span{display:block;font-size:10px;font-weight:500;letter-spacing:1.6px;color:#c9d3d5;margin-bottom:3px}
.game-metric strong{font-size:36px;font-weight:400;letter-spacing:-1.3px;font-variant-numeric:tabular-nums;line-height:1.15}
.game-metric strong span{font-size:16px;letter-spacing:0;margin-left:5px;color:#c9d3d5}
.game-timer{text-align:right}
#tooth-stage{height:620px;max-height:72vh;min-height:410px;touch-action:pan-y;outline-offset:-5px;position:relative;cursor:crosshair}
#tooth-stage.is-engaged{cursor:none}
#tooth-stage canvas{display:block;width:100%;height:100%}
#clean-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;margin:0;border:0;background:#ffffff16;color:var(--yellow);appearance:none;z-index:3}
#clean-progress::-webkit-progress-bar{background:#ffffff16}
#clean-progress::-webkit-progress-value{background:var(--yellow);transition:width .15s}
#clean-progress::-moz-progress-bar{background:var(--yellow)}
#game-status{position:absolute;bottom:26px;left:24px;right:24px;text-align:center;font-size:14px;color:#dde3e4;margin:0;pointer-events:none;transition:opacity .3s}
.game-panel[data-phase="brushing"] #game-status{opacity:.7}
.game-panel[data-phase="result"] .game-hud,.game-panel[data-phase="result"] #game-status{opacity:0}
.game-result{position:absolute;inset:0;z-index:4;display:flex;align-items:center;padding:48px 7%;background:linear-gradient(90deg,rgba(16,25,29,.97),rgba(16,25,29,.84) 34%,rgba(16,25,29,0) 70%);animation:result-reveal .55s ease both}
.game-result[hidden]{display:none}
.game-result-copy{max-width:450px;width:48%}
.result-eyebrow{font-size:11px;letter-spacing:2px;color:var(--yellow);margin:0 0 20px}
.game-result h3{font-size:clamp(40px,5.4vw,76px);font-weight:400;letter-spacing:-2.8px;line-height:1.02;margin:0 0 24px;outline:none}
.result-time{display:flex;align-items:baseline;gap:10px;margin:0 0 18px;line-height:1.2}
.result-time>span:first-child{font-size:42px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}
.result-time>span:last-child{font-size:15px;color:#c9d3d5}
#result-comparison{font-size:19px;line-height:1.45;margin:0 0 7px;max-width:320px}
.game-result .result-record{font-size:11px;line-height:1.6;color:#b4bfc2;max-width:270px;margin:0 0 22px}
#game-replay{display:grid;place-items:center;width:48px;height:48px;background:var(--yellow);color:#171d1e;border:0;border-radius:50%;transition:transform .2s,background .2s}
#game-replay:hover{transform:rotate(-18deg);background:#ffe679}
#game-replay svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@keyframes result-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.game-result{animation:none}#game-replay{transition:none}}
@media(max-width:600px){
 .wrap{width:calc(100% - 36px)}.header-inner{padding:18px}.brand{font-size:24px}.brand small{font-size:7px;letter-spacing:1px}.hero h1{font-size:clamp(36px,10vw,50px)}.hero-copy{padding-top:30px}.hero-facts{gap:12px;flex-wrap:wrap}.hero-facts a{font-size:12px}.hero-contact{margin-top:24px}.hero-layout{padding-bottom:30px}.article-body{font-size:17px;overflow-wrap:anywhere}.article-body img{max-width:100%;height:auto}.contact-original{columns:1}.page-head h1,.article-head h1{font-size:clamp(30px,8vw,42px);overflow-wrap:normal}.funding-grid h3{font-size:24px;min-height:0}.funding-grid .funding-period{min-height:0}.funding-grid article>p{min-height:0}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button,.menu-toggle{min-height:44px}.footer-grid{gap:28px}.contact-form-section input,.contact-form-section textarea{font-size:16px}.navigation a{min-height:44px;display:flex;align-items:center}
 .brush-game{padding-top:35px;padding-bottom:35px}.game-title{margin-bottom:22px}.game-title h1,.game-title h2{letter-spacing:-.9px}.game-hud{inset:22px 22px auto}.game-metric strong{font-size:29px}.game-metric>span{font-size:9px;letter-spacing:1.1px}#tooth-stage{height:510px;max-height:72svh;min-height:440px}#game-status{font-size:12px;bottom:22px;left:16px;right:16px}.game-result{padding:32px 26px;align-items:flex-end;background:linear-gradient(0deg,rgba(16,25,29,1),rgba(16,25,29,.94) 45%,rgba(16,25,29,.05) 100%)}.game-result-copy{width:100%;max-width:none}.game-result h3{font-size:46px;line-height:1;letter-spacing:-1.7px;margin-bottom:17px}.game-result h3 br{display:none}.result-eyebrow{margin-bottom:12px}.result-time{margin-bottom:13px}.result-time>span:first-child{font-size:34px}#result-comparison{font-size:17px}.game-result .result-record{margin-bottom:18px;max-width:230px}#game-replay{position:absolute;bottom:34px;right:24px}
}

.game-inline{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.6fr);align-items:center;gap:64px;padding-top:12px;padding-bottom:74px}
.game-inline .game-title{text-align:left;margin:0;max-width:330px}
.game-inline .game-title h2{font-size:42px;line-height:1.12;margin:18px 0 23px;letter-spacing:-1.15px}
.game-inline .game-title .meta{font-size:10px;letter-spacing:1.15px}
.game-inline .game-intro{font-size:20px;line-height:1.5;margin-bottom:18px}
.game-inline .game-invitation{font-size:14px;line-height:1.8;color:#6a6b66;margin:0;max-width:280px}
.game-inline .game-panel{border-radius:3px}
.game-inline #tooth-stage{height:480px;min-height:400px;max-height:none}
.game-inline .game-hud{inset:24px 26px auto}
.game-inline .game-metric strong{font-size:28px}
.game-inline .game-metric>span{font-size:9px}
.game-inline #game-status{font-size:12px;bottom:22px}
.game-inline .game-result{padding:32px 6%}
.game-inline .game-result h3{font-size:44px;letter-spacing:-1.5px;margin-bottom:22px}
.game-inline .result-time>span:first-child{font-size:33px}
.game-inline .result-time>span:last-child{font-size:12px}
.game-inline #result-comparison{font-size:16px}
.game-inline .result-eyebrow{font-size:10px;margin-bottom:16px}
.game-inline .game-result .result-record{font-size:10px;margin-bottom:20px}
@media(max-width:1000px){.game-inline{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}.game-inline .game-title h2{font-size:34px}.game-inline #tooth-stage{height:460px}.game-inline .game-result h3{font-size:36px}.game-inline .game-result-copy{width:58%}.game-inline #result-comparison{font-size:14px}}
@media(max-width:760px){.game-inline{grid-template-columns:1fr;gap:24px;padding-top:0;padding-bottom:46px}.game-inline .game-title{max-width:560px}.game-inline .game-title h2{font-size:33px;margin:12px 0}.game-inline .game-intro{font-size:18px;margin-bottom:9px}.game-inline .game-invitation{max-width:none;font-size:13px}.game-inline #tooth-stage{height:440px;min-height:410px}.game-inline .game-result{padding:28px 24px}.game-inline .game-result-copy{width:100%}.game-inline .game-result h3{font-size:40px}.game-inline .game-result h3 br{display:none}.game-inline #result-comparison{font-size:16px}.game-inline .game-result .result-record{max-width:205px}}

.tooth-touch-zone{position:absolute;touch-action:none}#tooth-stage canvas{pointer-events:none}

.game-panel{user-select:none;-webkit-user-select:none}
.journal-item{min-width:0;overflow-wrap:anywhere}
.funding-grid .read-more{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;background:var(--yellow);padding:12px 20px;border-radius:5px;min-height:48px;color:#171b1d;font-size:15px;text-decoration:none}
.funding-grid .read-more:hover{background:#ffe679}
.contact-mail-note{font-size:14px;line-height:1.65;color:#5b5b55;margin:0 0 24px}
.contact-form-section #contact-status{color:#484b43}
.result-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#game-next{background:var(--yellow);color:#171b1d;border:0;padding:12px 16px;border-radius:5px;font-size:13px;display:flex;gap:15px;align-items:center;min-height:46px}
#game-next[hidden]{display:none}
#game-next:hover{background:#ffe679}
.result-actions #game-replay{position:static;flex:none;width:44px;height:44px}
.game-inline .game-result-copy{width:60%}
.brand{display:grid;grid-template-columns:52px auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:0;font-size:45px;line-height:.97;letter-spacing:-1.8px}
.brand .brand-mark{position:static;grid-column:1;grid-row:1 / 3;width:52px;height:52px;align-self:stretch}
.brand-name{grid-column:2;grid-row:1}
.brand small{grid-column:2;grid-row:2;margin:0;line-height:1;font-size:7.6px;letter-spacing:.87px;align-self:end}
@media(max-width:600px){
 .header-inner{min-height:84px;padding:18px;gap:10px;flex-wrap:wrap}
 .brand{grid-template-columns:42px auto;column-gap:10px;font-size:32px;letter-spacing:-1.05px;line-height:1}
 .brand .brand-mark{width:42px;height:42px}
 .brand small{font-size:6px;letter-spacing:.48px;line-height:1;margin:0}
 .menu-toggle{padding:0;font-size:12px}.menu-toggle span{margin-left:5px}
 .hero{min-height:0}.hero-layout{padding:35px 0 40px;gap:0;width:calc(100% - 36px)}
 .hero-copy{padding:0}.hero-contact{display:none}
 .hero h1{font-size:38px;line-height:1.1}.hero-kicker{font-size:12px;max-width:270px;margin-bottom:23px}
 .hero-copy>p:not(.hero-kicker){font-size:21px;line-height:1.4;margin-bottom:28px}
 .hero-facts{margin-top:25px;gap:12px;justify-content:space-between}.hero-facts a{font-size:11px}.hero-facts span{margin-right:5px;font-size:12px}
 .welcome{padding:36px 0}.welcome h2{font-size:25px;margin-bottom:17px}.welcome p{font-size:15px;line-height:1.75;margin-bottom:16px}
 .game-inline .game-title h2{font-size:31px}.game-inline .game-intro{font-size:17px}.game-inline .game-invitation{font-size:13px}
 .game-inline #tooth-stage{height:465px;min-height:465px}
 .game-inline .game-result-copy{width:100%}.game-inline .game-result{padding:25px 23px}.game-inline .game-result h3{font-size:37px;margin-bottom:14px}
 .game-inline .game-result .result-record{max-width:none;margin-bottom:15px}
 .game-inline .result-eyebrow{margin-bottom:12px}
}
@media(max-width:350px){.brand{font-size:28px;grid-template-columns:38px auto;column-gap:8px}.brand .brand-mark{width:38px;height:38px}.brand small{font-size:5.5px;letter-spacing:.25px}.hero h1{font-size:35px}}

.hero-layout{grid-template-columns:minmax(0,1fr)}
