@font-face{font-family:Quicksand;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/d426c6df177f02c4-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Quicksand;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/9b4fbfc777bb173a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Quicksand;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/a74fb1607b845cb0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Quicksand Fallback;src:local("Arial");ascent-override:95.87%;descent-override:23.97%;line-gap-override:0.00%;size-adjust:104.31%}.__className_572227{font-family:Quicksand,Quicksand Fallback;font-style:normal}.__variable_572227{--font-display:"Quicksand","Quicksand Fallback"}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_069ab3{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_069ab3{--font-body:"Montserrat","Montserrat Fallback"}:root{--cloud:#FFFBF6;--ink:#474B53;--ink-soft:#94A3B8;--card:#ffffff;--card-edge:#D5E8E7;--wash:#E6F1F0;--sun:#D7DB5A;--sun-deep:#BFC244;--sun-soft:#F8F6E3;--leaf:#5AB88A;--leaf-soft:#E9F4EC;--berry:#E2893C;--berry-deep:#C87430;--blush:#F9E9DC;--blush-deep:#F3DCC8;--accent-deep:#3B8A8D}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--cloud);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.kb-input{position:fixed;top:0;left:0;width:1px;height:1px;opacity:.01;border:none;padding:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;outline:none}.name-card input{-moz-user-select:text;user-select:text;-webkit-user-select:text}button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}button:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:999px}.app{height:100dvh;display:flex;flex-direction:column;padding:clamp(12px,3vmin,28px)}.topbar{justify-content:flex-end;gap:12px}.points,.topbar{display:flex;align-items:center}.points{gap:10px;background:var(--card);border:2px solid var(--card-edge);border-radius:999px;padding:8px 18px 8px 12px;box-shadow:0 3px 0 var(--card-edge)}.points .star{width:clamp(22px,4vmin,30px);height:clamp(22px,4vmin,30px);flex:none}.points .label{font-weight:800;font-size:clamp(12px,2vmin,15px);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.points .value{font-family:var(--font-display),system-ui,sans-serif;font-weight:600;font-size:clamp(20px,3.6vmin,30px);min-width:1.4ch;text-align:center}.points .value.bump{animation:bump .35s ease-out}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35);color:var(--leaf)}to{transform:scale(1)}}.points.milestone .star{animation:spin-pulse .7s ease-out}@keyframes spin-pulse{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.5) rotate(72deg)}to{transform:scale(1) rotate(144deg)}}.points .bolt{width:clamp(18px,3.2vmin,24px);height:clamp(18px,3.2vmin,24px);flex:none;margin-left:6px}.stage{flex:1 1;place-items:center;min-height:0}.keycap,.stage{display:grid;position:relative}.keycap{margin-inline:auto;width:min(52vmin,360px);aspect-ratio:1;place-items:center;background:var(--wash);border-radius:clamp(28px,8vmin,56px);box-shadow:0 12px 0 var(--card-edge),0 24px 40px rgba(30,41,59,.08);transition:transform .06s ease-out,box-shadow .06s ease-out}.keycap.pressed{transform:translateY(10px);box-shadow:0 2px 0 var(--card-edge),0 8px 16px rgba(30,41,59,.06)}.keycap.wrong{animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}.keycap .glyph{font-family:var(--font-display),system-ui,sans-serif;font-weight:600;font-size:min(34vmin,230px);line-height:1;animation:pop-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.hint{margin-top:clamp(18px,4vmin,32px);text-align:center;font-weight:800;font-size:clamp(13px,2.4vmin,17px);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}.cross{position:fixed;width:clamp(64px,14vmin,110px);height:clamp(64px,14vmin,110px);transform:translate(-50%,-50%);pointer-events:none;animation:cross-flash .45s ease-out forwards;z-index:16}.cross line{stroke:var(--berry);stroke-width:14;stroke-linecap:round}@keyframes cross-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}60%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.burst{position:fixed;width:0;height:0;pointer-events:none;z-index:15}.particle{position:absolute;top:0;left:0;animation:fly .7s cubic-bezier(.16,1,.3,1) both}.particle svg{display:block;width:100%;height:100%}@keyframes fly{0%{transform:translate(-50%,-50%) scale(.3) rotate(0deg);opacity:1}70%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(var(--rot));opacity:0}}.sentence-wrap{display:flex;flex-direction:column;align-items:center;gap:clamp(20px,5vmin,44px);max-width:900px;padding:0 8px;position:relative}.sentence{display:flex;flex-wrap:wrap;justify-content:center;row-gap:clamp(10px,2vmin,18px);font-family:var(--font-display),system-ui,sans-serif;font-weight:600;font-size:clamp(30px,7vmin,58px);line-height:1}.word{display:flex;gap:clamp(3px,.7vmin,6px)}.cell{display:grid;place-items:center;min-width:.72em;padding:.08em .05em .12em;border-radius:.18em;color:var(--ink-soft);transition:color .12s ease-out,background .12s ease-out}.cell.done{color:var(--leaf)}.cell.space{min-width:.55em;margin-right:clamp(3px,.7vmin,6px)}.cell.current{background:var(--sun-soft);color:var(--ink);box-shadow:inset 0 -.1em 0 var(--sun);animation:breathe 1.4s ease-in-out infinite}.cell.current.wrong{animation:shake .3s ease-out;background:#F9E9DC;box-shadow:inset 0 -.1em 0 var(--berry)}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.sentence.finished .cell{color:var(--leaf);animation:wave .5s ease-out}@keyframes wave{0%,to{transform:translateY(0)}40%{transform:translateY(-.18em)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.veil{position:fixed;inset:0;background:rgba(243,220,200,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:20}.veil.boot{background:var(--cloud);backdrop-filter:none;-webkit-backdrop-filter:none}.boot-dots{display:flex;gap:10px}.boot-dots span{width:14px;height:14px;border-radius:999px;animation:dot-bounce .9s ease-in-out infinite}.boot-dots span:first-child{background:#E2893C}.boot-dots span:nth-child(2){background:#49A1A4;animation-delay:.15s}.boot-dots span:nth-child(3){background:#D7DB5A;animation-delay:.3s}@keyframes dot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.name-card{position:relative;gap:clamp(18px,3vmin,26px);background:var(--cloud);border-radius:36px;padding:clamp(28px,6vmin,48px) clamp(28px,7vmin,64px);box-shadow:0 10px 0 var(--blush-deep),0 30px 60px rgba(30,41,59,.14)}.name-card,.name-head{display:flex;flex-direction:column;align-items:center}.name-head{gap:8px}.name-head .eyebrow{font-weight:700;font-size:clamp(10px,1.8vmin,12px);letter-spacing:.22em;text-transform:uppercase;color:var(--berry)}.name-card .close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:var(--blush);color:var(--ink-soft);font-size:24px;line-height:1}.name-card .close:hover{color:var(--ink)}.name-card .name-star{width:clamp(40px,8vmin,56px);height:clamp(40px,8vmin,56px)}.name-card h1{font-weight:600;font-size:clamp(26px,5vmin,38px)}.name-card h1,.name-card input{font-family:var(--font-display),system-ui,sans-serif}.name-card input{font-weight:500;font-size:clamp(22px,4vmin,32px);text-align:center;color:var(--ink);background:var(--card);border:3px solid var(--blush-deep);border-radius:20px;padding:12px 18px;width:min(70vw,340px);outline:none}.name-card input:focus{border-color:var(--berry)}.name-card input::placeholder{color:var(--ink-soft);opacity:.7}.name-card .go{font-family:var(--font-display),system-ui,sans-serif;font-weight:500;font-size:clamp(17px,3vmin,22px);background:var(--berry);color:#ffffff;border-radius:999px;padding:12px 36px;transition:opacity .15s ease-out,transform .1s ease-out}.name-card .go:disabled{opacity:.35;cursor:default}.name-card .go:not(:disabled):hover{background:var(--berry-deep)}.name-card .go:not(:disabled):active{transform:scale(.96)}.modes{display:flex;justify-content:center;padding-top:clamp(10px,2vmin,18px)}.mode-group{display:flex;gap:6px;background:var(--card);border:2px solid var(--card-edge);border-radius:999px;padding:6px;box-shadow:0 3px 0 var(--card-edge)}.mode-btn{font-family:var(--font-display),system-ui,sans-serif;font-weight:500;font-size:clamp(15px,2.6vmin,19px);padding:10px 26px;border-radius:999px;color:var(--ink-soft);transition:background .15s ease-out,color .15s ease-out}.mode-btn.active{background:var(--accent-deep);color:#ffffff}.mode-btn.active,.name-card .go:not(:disabled){box-shadow:inset 0 2px 2px rgba(255,255,255,.35),inset 0 -3px 4px rgba(30,41,59,.18),0 2px 5px rgba(30,41,59,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");outline:2px dashed rgba(255,255,255,.5);outline-offset:-5px}.mode-btn:focus-visible,.name-card .go:focus-visible{outline:3px solid var(--sun);outline-offset:3px}.streak-party{position:fixed;top:clamp(64px,12vmin,110px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:var(--card);border:2px solid var(--card-edge);border-radius:999px;padding:8px 24px 8px 12px;box-shadow:0 6px 0 var(--card-edge),0 18px 40px rgba(30,41,59,.12);z-index:18;pointer-events:none;animation:party-pop 1.8s cubic-bezier(.34,1.56,.64,1) both}.streak-party img{width:clamp(44px,8vmin,64px);height:auto}.streak-party .streak-text{font-family:var(--font-display),system-ui,sans-serif;font-weight:600;font-size:clamp(17px,3vmin,23px);color:var(--ink)}.streak-party .streak-count{font-family:var(--font-display),system-ui,sans-serif;font-weight:700;font-size:clamp(21px,4vmin,30px);color:var(--accent-deep)}@keyframes party-pop{0%{opacity:0;transform:translateX(-50%) scale(.6)}12%{opacity:1;transform:translateX(-50%) scale(1.06)}20%{transform:translateX(-50%) scale(1)}82%{opacity:1;transform:translateX(-50%) scale(1)}to{opacity:0;transform:translateX(-50%) scale(.98)}}@media (prefers-reduced-motion:reduce){.streak-party{animation:none;transform:translateX(-50%)}}.about-page{height:100dvh;overflow-y:auto;padding:clamp(24px,5vmin,56px) clamp(20px,5vmin,48px);-moz-user-select:text;user-select:text;-webkit-user-select:text}.about-inner{max-width:620px;margin:0 auto;padding-bottom:56px}.about-inner h1{font-size:clamp(30px,6vmin,42px);margin-bottom:12px}.about-inner h1,.about-inner h2{font-family:var(--font-display),system-ui,sans-serif;font-weight:600}.about-inner h2{font-size:clamp(19px,3vmin,24px);margin-top:30px;margin-bottom:6px}.about-inner p{line-height:1.65;font-size:clamp(15px,2.2vmin,17px);margin-top:8px}.about-inner a{color:var(--accent-deep);font-weight:600;text-decoration:none}.about-inner a:hover{text-decoration:underline}.about-made{margin-top:30px}.about-made .heart{color:var(--berry)}.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.about-actions .btn-primary,.about-actions .btn-quiet{display:inline-flex;align-items:center;font-family:var(--font-display),system-ui,sans-serif;font-weight:500;font-size:clamp(15px,2.4vmin,18px);border-radius:999px;padding:12px 28px;text-decoration:none}.about-actions .btn-primary{background:var(--accent-deep);color:#ffffff;box-shadow:inset 0 2px 2px rgba(255,255,255,.35),inset 0 -3px 4px rgba(30,41,59,.18),0 2px 5px rgba(30,41,59,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");outline:2px dashed rgba(255,255,255,.5);outline-offset:-5px}.about-actions .btn-primary:hover{text-decoration:none}.about-actions .btn-quiet{background:var(--card);border:2px solid var(--card-edge);color:var(--ink);box-shadow:0 3px 0 var(--card-edge)}.about-actions .btn-quiet:hover{text-decoration:none;color:var(--accent-deep)}.credit{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:clamp(18px,3.4vmin,28px);font-size:clamp(11px,1.8vmin,13px);font-weight:600;letter-spacing:.04em;color:var(--ink-soft)}.credit a{color:inherit;text-decoration:none}.credit a:hover{color:var(--ink)}.credit .heart{color:var(--berry)}