:root{--ink:var(--evo-ink,#0d0d0f);--dot:var(--evo-dot,#e31f1c);--paper:#fbf9f5;--mute:#0d0d0f8f;--hair:#0d0d0f1a;--u:min(1vw, .75vh);--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.34, 1.5, .64, 1);--display:var(--evo-font-display);--body:var(--evo-font-body)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#ffd9c2;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}#app{position:fixed;inset:0;overflow:hidden}#gl{width:100%;height:100%;display:block;position:absolute;inset:0}.dot{background:var(--dot);border-radius:50%;flex:none;width:.6em;height:.6em;display:inline-block}.screen{opacity:0;pointer-events:none;transition:opacity .42s var(--ease);position:absolute;inset:0}.screen.on{opacity:1}.screen.on .card{pointer-events:auto}#veil{opacity:0;pointer-events:none;transition:opacity .26s var(--ease);z-index:50;background:#fffaf6;position:absolute;inset:0}#veil.on{opacity:1}#loading{place-content:center;justify-items:center;gap:calc(4 * var(--u));background:linear-gradient(#fff3ea,#ffd9c2);display:grid}.loading-mark{width:calc(18 * var(--u));animation:breathe 2.4s var(--ease) infinite}.loading-bar{width:calc(24 * var(--u));background:var(--hair);border-radius:2px;height:2px;overflow:hidden}.loading-bar i{background:var(--ink);width:40%;height:100%;animation:load 1.2s var(--ease) infinite;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes breathe{50%{opacity:.6;transform:scale(.98)}}.brand{top:calc(5.5 * var(--u));position:absolute;left:50%;transform:translate(-50%)}.brand img{width:calc(17 * var(--u));height:auto;display:block}.title-block{top:calc(26 * var(--u));text-align:center;position:absolute;left:0;right:0}.eyebrow,.kicker{font:700 calc(1.9 * var(--u)) / 1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);align-items:center;gap:.9em;margin:0;display:inline-flex}.eyebrow .dot,.kicker .dot{width:.72em;height:.72em}.title{margin:calc(1.2 * var(--u)) 0 0;font:500 calc(25 * var(--u)) / .86 var(--display);letter-spacing:.04em;text-transform:uppercase;text-indent:.04em}.lede{margin:calc(2.6 * var(--u)) auto 0;max-width:calc(70 * var(--u));font:500 calc(2.9 * var(--u)) / 1.45 var(--body);color:#0d0d0fb8}#attract .brand,#attract .title-block,#attract .attract-foot{transition:transform .7s var(--ease), opacity .7s var(--ease)}#attract:not(.on) .title-block{transform:translateY(calc(-2 * var(--u)))}#attract:not(.on) .attract-foot{transform:translateY(calc(2 * var(--u)))}.attract-foot{left:0;right:0;bottom:calc(8 * var(--u));align-items:center;gap:calc(2.8 * var(--u));flex-direction:column;display:flex;position:absolute}.cta{align-items:center;gap:calc(2.4 * var(--u));padding:calc(1.6 * var(--u)) calc(5 * var(--u)) calc(1.6 * var(--u)) calc(1.8 * var(--u));background:var(--ink);color:var(--paper);box-shadow:0 calc(3 * var(--u)) calc(7 * var(--u)) calc(-3 * var(--u)) #0d0d0f8c;border-radius:999px;animation:3.2s ease-in-out infinite cta-float;display:inline-flex}.cta-text{font:500 calc(4 * var(--u)) / 1 var(--display);letter-spacing:.14em;text-transform:uppercase}.cta-ring{width:calc(7 * var(--u));height:calc(7 * var(--u));border-radius:50%;place-items:center;display:grid;position:relative}.cta-ring b{width:calc(1.7 * var(--u));height:calc(1.7 * var(--u));background:var(--dot);animation:tap-dot 1.8s var(--ease) infinite;border-radius:50%}.cta-ring i{animation:tap-ring 1.8s var(--ease) infinite;border:1.5px solid #fbf9f5bf;border-radius:50%;position:absolute;inset:0}.cta-ring i:nth-child(2){animation-delay:.35s}@keyframes tap-ring{0%{opacity:0;transform:scale(.3)}20%{opacity:1}to{opacity:0;transform:scale(1)}}@keyframes tap-dot{0%,to{transform:scale(1)}12%{transform:scale(.7)}30%{transform:scale(1.08)}}@keyframes cta-float{50%{transform:translateY(calc(-.6 * var(--u)))}}.record{padding:calc(1.1 * var(--u)) calc(2.6 * var(--u));-webkit-backdrop-filter:blur(12px);font:700 calc(1.8 * var(--u)) / 1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);background:#ffffff8c;border-radius:999px;align-items:baseline;gap:.8em;margin:0;display:inline-flex}.record b{font:500 calc(3.2 * var(--u)) / 1 var(--display);letter-spacing:.02em;color:var(--ink)}.score-wrap{top:calc(8 * var(--u));flex-direction:column;align-items:center;display:flex;position:absolute;left:0;right:0}.score{font:400 calc(21 * var(--u)) / .9 var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums;transform-origin:50% 70%}.score.pop{animation:pop .42s var(--spring)}@keyframes pop{0%{transform:scale(1.12) translateY(calc(-.6 * var(--u)))}to{transform:none}}.combo{margin-top:calc(1.4 * var(--u));font:700 calc(2.1 * var(--u)) / 1 var(--body);letter-spacing:.28em;text-transform:uppercase;opacity:0;transform:translateY(calc(1 * var(--u)));transition:opacity .5s var(--ease), transform .5s var(--ease);align-items:center;gap:.8em;display:inline-flex}.combo.on{opacity:1;transition-duration:.18s;transform:none}.combo.beat .dot{animation:dot-beat .5s var(--spring)}@keyframes dot-beat{0%{transform:scale(.2)}60%{transform:scale(1.5)}to{transform:scale(1)}}.hint{left:50%;bottom:calc(10 * var(--u));white-space:nowrap;padding:calc(1.3 * var(--u)) calc(3 * var(--u));-webkit-backdrop-filter:blur(12px);text-align:center;font:700 calc(2.1 * var(--u)) / 1 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--mute);transition:opacity .5s var(--ease);background:#fff9;border-radius:999px;margin:0;animation:2.2s ease-in-out infinite breathe;position:absolute;translate:-50%}.hint.gone{opacity:0;animation:none}.card{left:50%;bottom:calc(4.5 * var(--u));width:min(calc(88 * var(--u)), calc(100vw - 32px));padding:calc(5 * var(--u)) calc(6 * var(--u)) calc(5.5 * var(--u));border-radius:calc(4 * var(--u));-webkit-backdrop-filter:blur(24px)saturate(1.25);box-shadow:0 1px 0 #ffffffe6 inset, 0 0 0 1px #0d0d0f0a, 0 calc(5 * var(--u)) calc(11 * var(--u)) calc(-5 * var(--u)) #28141e61;transform:translate(-50%, calc(3 * var(--u))) scale(.985);transition:transform .6s var(--ease);pointer-events:none;background:#ffffffb3;border:1px solid #ffffffd9;position:absolute}.screen.on .card{transform:translate(-50%)}.big{align-items:baseline;gap:calc(1.6 * var(--u));margin:calc(2 * var(--u)) 0 calc(.6 * var(--u));display:flex}.big span{font:400 calc(19 * var(--u)) / .86 var(--display);font-variant-numeric:tabular-nums}.big small{font:700 calc(2.2 * var(--u)) / 1 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}.badge{top:calc(-4 * var(--u));right:calc(4 * var(--u));width:calc(17 * var(--u));height:calc(17 * var(--u));background:var(--ink);color:var(--paper);animation:badge-in .9s var(--spring) both .35s;box-shadow:0 calc(2 * var(--u)) calc(5 * var(--u)) calc(-2 * var(--u)) #0d0d0f99;border-radius:50%;place-items:center;display:grid;position:absolute;transform:rotate(-10deg)}.badge[hidden]{display:none}.badge svg{inset:calc(-2.4 * var(--u));width:calc(100% + 4.8 * var(--u));height:calc(100% + 4.8 * var(--u));position:absolute;overflow:visible}.badge-ring{fill:none;stroke:var(--paper);stroke-width:1px;opacity:.45;stroke-dasharray:340;stroke-dashoffset:340px;animation:ring-draw 1.2s var(--ease) forwards .7s;transform-origin:60px 60px;transform:scale(.82)}.badge-rays path{stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;opacity:0;animation:rays 1.4s var(--ease) .75s both}.badge-rays{transform-origin:60px 60px;animation:18s linear infinite spin}.badge span{font:500 calc(2.9 * var(--u)) / 1 var(--display);letter-spacing:.1em;text-transform:uppercase;text-align:center;position:relative}.badge span:after{content:"";right:calc(-1.6 * var(--u));bottom:calc(.3 * var(--u));width:calc(1.1 * var(--u));height:calc(1.1 * var(--u));background:var(--dot);border-radius:50%;position:absolute}@keyframes badge-in{0%{transform:rotate(-40deg)scale(0)}to{transform:rotate(-10deg)scale(1)}}@keyframes ring-draw{to{stroke-dashoffset:0}}@keyframes rays{0%{opacity:0;transform:scale(.7)}40%{opacity:.8}to{opacity:.25;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.stats{margin:calc(3 * var(--u)) 0 0;border-top:1px solid var(--hair);grid-template-columns:repeat(3,1fr);display:grid}.stats>div{padding:calc(2.4 * var(--u)) 0 0}.stats>div+div{border-left:1px solid var(--hair);padding-left:calc(3 * var(--u))}.stats dt{font:700 calc(1.6 * var(--u)) / 1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}.stats dd{margin:calc(1.2 * var(--u)) 0 0;font:400 calc(5.6 * var(--u)) / 1 var(--display)}.over-card .kicker{padding-right:calc(13 * var(--u))}.sub{margin:calc(2.6 * var(--u)) 0 0;font:500 calc(2.1 * var(--u)) / 1.4 var(--body);color:var(--mute)}.actions{gap:calc(1.8 * var(--u));margin-top:calc(4 * var(--u));grid-template-columns:1.5fr 1fr;display:grid}.btn{height:calc(9 * var(--u));font:500 calc(3.1 * var(--u)) / 1 var(--display);letter-spacing:.12em;text-transform:uppercase;transition:transform .25s var(--spring), background-color .2s;border-radius:999px}.btn:active{transform:scale(.965)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.ghost{box-shadow:inset 0 0 0 1.5px #0d0d0fcc}.btn.link{margin:calc(2.2 * var(--u)) auto 0;height:auto;padding:calc(1.6 * var(--u)) calc(3 * var(--u));font:700 calc(1.9 * var(--u)) / 1 var(--body);letter-spacing:.24em;color:var(--mute);text-underline-offset:.5em;text-decoration:underline;text-decoration-thickness:1px;display:block}.name-card{width:min(calc(96 * var(--u)), calc(100vw - 16px));padding:calc(4.5 * var(--u)) calc(3 * var(--u)) calc(2.5 * var(--u));text-align:center}.name-field{height:calc(12 * var(--u));margin:calc(2.6 * var(--u)) calc(3 * var(--u)) 0;border-bottom:2px solid var(--ink);font:400 calc(7.6 * var(--u)) / 1 var(--display);letter-spacing:.06em;white-space:pre;justify-content:center;align-items:center;display:flex;position:relative}.name-field em{color:#0d0d0f2e;place-items:center;font-style:normal;display:grid;position:absolute;inset:0}.name-field em[hidden]{display:none}.caret{width:calc(.5 * var(--u));height:calc(7 * var(--u));margin-left:calc(.6 * var(--u));background:var(--ink);animation:1.05s step-end infinite blink}.name-field.full .caret{background:var(--dot)}.name-field.shake{animation:shake .36s var(--ease)}@keyframes blink{50%{opacity:0}}@keyframes shake{20%{transform:translateX(calc(-1.2 * var(--u)))}45%{transform:translateX(calc(1 * var(--u)))}70%{transform:translateX(calc(-.6 * var(--u)))}}.name-count{margin:calc(1.2 * var(--u)) calc(3 * var(--u)) calc(2.8 * var(--u));text-align:right;font:700 calc(1.6 * var(--u)) / 1 var(--body);letter-spacing:.2em;color:var(--mute)}.keyboard{gap:calc(1 * var(--u));flex-direction:column;display:flex}.krow{justify-content:center;gap:calc(.9 * var(--u));display:flex}.key{flex:0 0 calc(6.75 * var(--u));height:calc(9.2 * var(--u));border-radius:calc(1.6 * var(--u));box-shadow:0 0 0 1px #0d0d0f12, 0 1px 0 #0d0d0f14, 0 calc(.8 * var(--u)) calc(1.6 * var(--u)) calc(-1 * var(--u)) #0d0d0f59;font:400 calc(3.8 * var(--u)) / 1 var(--display);background:#ffffffeb;place-items:center;transition:background-color .3s,color .3s;display:grid}.key.pressed{animation:keypress .32s var(--ease)}@keyframes keypress{0%{background:var(--ink);color:var(--paper);transform:scale(.88)}to{transform:none}}.key.back{flex-basis:calc(12 * var(--u));font-size:calc(4.4 * var(--u))}.key.space{flex:0 0 calc(52 * var(--u));font:700 calc(1.9 * var(--u)) / 1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}.key.done{flex:0 0 calc(24 * var(--u));background:var(--ink);color:var(--paper);font:500 calc(3.2 * var(--u)) / 1 var(--display);letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:center;gap:.6em;display:inline-flex}.key.done .dot{width:.42em;height:.42em}.tabs{margin:calc(3 * var(--u)) 0 calc(2 * var(--u));padding:calc(.6 * var(--u));background:#0d0d0f0f;border-radius:999px;grid-template-columns:1fr 1fr;display:grid;position:relative}.tab{z-index:1;height:calc(7 * var(--u));font:700 calc(1.9 * var(--u)) / 1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);transition:color .35s var(--ease);position:relative}.tab.active{color:var(--paper)}.tab-ink{top:calc(.6 * var(--u));bottom:calc(.6 * var(--u));left:calc(.6 * var(--u));width:calc(50% - .6 * var(--u));background:var(--ink);transition:transform .5s var(--spring);border-radius:999px;position:absolute}#board[data-tab=all] .tab-ink{transform:translate(100%)}.list{min-height:calc(5 * 6.4 * var(--u));margin:0;padding:0;list-style:none}.list li{grid-template-columns:calc(7 * var(--u)) 1fr auto;height:calc(6.4 * var(--u));padding:0 calc(1.6 * var(--u));border-bottom:1px solid var(--hair);animation:row-in .55s var(--ease) both;animation-delay:calc(var(--i) * 45ms);align-items:center;display:grid}.list li:last-child{border-bottom:0}.list .rk{font:400 calc(3 * var(--u)) / 1 var(--display);color:var(--mute)}.list li:nth-child(-n+3) .rk{color:var(--ink)}.list .nm{font:700 calc(2.5 * var(--u)) / 1 var(--body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.7em;display:inline-flex;overflow:hidden}.list .nm .dot{width:.55em;height:.55em}.list .sc{font:400 calc(4 * var(--u)) / 1 var(--display);font-variant-numeric:tabular-nums}.list li.me{border-radius:calc(1.6 * var(--u));background:#0d0d0f0e;border-bottom-color:#0000}.list li.empty{height:auto;padding:calc(8 * var(--u)) 0;text-align:center;font:500 calc(2.4 * var(--u)) / 1.4 var(--body);color:var(--mute);border:0;display:block}@keyframes row-in{0%{opacity:0;transform:translateY(calc(1.2 * var(--u)))}}@media (orientation:landscape){.brand{left:max(7vw,24px);transform:none}.title-block{text-align:left;top:50%;left:max(7vw,24px);right:auto;translate:0 -62%}.title{font-size:calc(24 * var(--u));text-indent:0;margin-left:-.02em}.lede{max-width:calc(64 * var(--u));margin-left:0}.attract-foot{left:max(7vw,24px);right:auto;bottom:calc(9 * var(--u));align-items:flex-start}.score-wrap{top:calc(5 * var(--u))}.score{font-size:calc(17 * var(--u))}.over-card,.board-card{width:min(calc(80 * var(--u)), 46vw);transform:translate(0, calc(50% + 3 * var(--u)));bottom:50%;left:auto;right:max(5vw,24px)}.screen.on .over-card,.screen.on .board-card{transform:translateY(50%)}.board-card .list li{height:calc(5.4 * var(--u))}.board-card .list{min-height:calc(5 * 5.4 * var(--u))}.board-card{padding-top:calc(3.6 * var(--u));padding-bottom:calc(3.6 * var(--u))}.name-card{bottom:calc(2 * var(--u))}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
