@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2)format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2)format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-latin-900-normal-B0TD3Qnu.woff2)format("woff2"),url(/assets/montserrat-latin-900-normal-BDWDmVut.woff)format("woff")}:root{color:#f4f7ff;--navy:#05081a;--rainbow:linear-gradient(90deg, #2ecc5b, #2f7bff, #9b4dff, #ff4fb3, #ff3b4e, #ffc21a);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--cream:#fffaf2;--ink:#14181c;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);background:#05081a;font-family:Montserrat,Avenir Next,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{overscroll-behavior:none;background:var(--navy);margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #fff}h1,h2,p{margin:0}#root{height:100dvh}.screen{z-index:1;height:100dvh;padding:calc(12px + var(--safe-t)) calc(14px + env(safe-area-inset-right)) calc(12px + var(--safe-b)) calc(14px + env(safe-area-inset-left));background:0 0;flex-direction:column;display:flex;position:relative;overflow:hidden}.scroll-screen{-webkit-overflow-scrolling:touch;overflow:auto}.brand-pattern{color:#fff;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.screen>:not(.brand-pattern):not(.sheet-wrap):not(.burst){z-index:1;position:relative}.logo{line-height:.85}.logo-word{letter-spacing:.04em;background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:72px;font-weight:900}.logo-word sup{margin-left:4px;font-size:.28em}.logo-tag{letter-spacing:.18em;margin-top:8px;font-size:13px;font-weight:800}.size-sm .logo-word{font-size:36px}.size-sm .logo-tag{letter-spacing:.14em;font-size:10px}.tone-ink{color:#10210f}.tone-paper{color:var(--cream)}.title-screen{color:#f4f7ff;background:0 0;overflow:auto}.title-copy{padding-top:4px}.title-logo{width:auto;max-width:100%;height:min(34vh,340px);display:block}.bubble{background:var(--cream);color:var(--ink);border-radius:18px 18px 18px 6px;margin-top:14px;padding:10px 14px;font-weight:700;display:inline-block;box-shadow:0 6px #1028102e}.hero-frame{background:radial-gradient(circle at 50% 40%,#ffffff47,#0c46182e);border-radius:28px;height:min(34vh,280px);margin:12px 0;overflow:hidden}.hero-frame canvas{width:100%!important;height:100%!important}.hero-fallback{justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.hero-fallback i,.chip,.mini,.css-face{background:#2fce4a}.hero-fallback i{border-radius:50%;width:46px;height:46px;box-shadow:inset 0 -8px #0000002e,0 8px #0000001f}.title-screen .segment{background:#ffffff1a}.title-screen .segment button{color:#f4f7ff}.title-screen .link-row button,.title-screen .credit,.title-screen .mode-help,.title-screen .options{color:#e7ebf5}.title-screen .options{background:#ffffff0f}.title-screen .hero-frame{box-shadow:0 0 0 1px #ffffff14,0 18px 40px #00000059}.title-actions{flex-direction:column;gap:10px;display:flex}.mode-help{font-size:14px;font-weight:650;line-height:1.35}.segment{background:#00000024;border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segment button{background:0 0;border:0;border-radius:12px;min-height:48px;font-weight:800}.segment button[aria-pressed=true]{background:var(--cream);color:var(--ink);box-shadow:0 4px #0000002e}.btn{appearance:none;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;padding:10px 18px;font-size:20px;font-weight:800;display:flex}.btn small{opacity:.75;font-size:13px;font-weight:650}.btn:disabled{opacity:.45;transform:none}.btn-cream{background:var(--cream);color:var(--ink);box-shadow:0 6px #0e3d18}.btn-ink{background:var(--ink);color:var(--cream);box-shadow:0 6px #00000047}.btn-cream:active{box-shadow:0 3px #0e3d18}.btn-ink:active{box-shadow:0 3px #00000047}.link-row{justify-content:center;gap:18px;display:flex}.link-row button,.text-btn{text-underline-offset:3px;background:0 0;border:0;min-height:44px;font-weight:800;text-decoration:underline}.options{background:#fffaf2b8;border-radius:16px;padding:8px 12px 12px}.options summary{cursor:pointer;align-items:center;min-height:40px;font-weight:800;display:flex}.check{align-items:center;gap:8px;min-height:40px;font-weight:700;display:flex}.chip-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip-row button{background:#00000014;border:0;border-radius:999px;min-height:36px;padding:0 12px;font-weight:800}.chip-row button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.credit{text-align:center;opacity:.8;font-size:12px;font-weight:700}.scroll-screen{color:#f4f7ff;background:0 0}.scroll-screen h1{letter-spacing:.04em;background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0;font-size:clamp(36px,8vw,56px);font-weight:900}.lede{max-width:38rem;margin-bottom:16px;font-size:17px;line-height:1.4}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.howto section,.setup-screen fieldset,.field{background:#fffaf21f;border-radius:18px;margin:10px 0;padding:14px}.howto h2{margin-bottom:6px;font-size:18px}.howto p+p{margin-top:8px}.howto section p,.setup-screen p{line-height:1.45}fieldset{border:0}legend{margin-bottom:8px;font-weight:800}.field{flex-direction:column;gap:6px;font-weight:800;display:flex}.field input{background:var(--cream);min-height:48px;color:var(--ink);border:0;border-radius:12px;padding:0 12px;font-weight:700}.skill-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.skill-grid button{text-align:left;min-height:72px;color:var(--cream);background:#00000029;border:0;border-radius:14px;flex-direction:column;gap:4px;padding:10px;display:flex}.skill-grid button.on{background:var(--cream);color:var(--ink)}.skill-grid span{font-size:13px;font-weight:650}.stepper{align-items:center;gap:16px;display:flex}.stepper button{background:var(--cream);width:48px;height:48px;color:var(--ink);border:0;border-radius:14px;font-size:28px;font-weight:800}.stepper strong{text-align:center;min-width:24px;font-size:32px}.flip-chart{grid-template-columns:repeat(4,1fr);gap:8px;padding:0;list-style:none;display:grid}.flip-chart li{background:#00000029;border-radius:12px;flex-direction:column;align-items:center;padding:8px;display:flex}.flip-chart b{font-family:Bungee,sans-serif;font-size:22px;font-weight:400}.records table,.win-sheet table{border-collapse:collapse;width:100%;margin:12px 0}.records th,.records td,.win-sheet th,.win-sheet td{text-align:left;border-bottom:1px solid #fff3;padding:8px 6px}.win-sheet th,.win-sheet td{border-bottom-color:#00000014}.empty{font-size:18px;line-height:1.4}.game-screen{color:var(--cream);gap:8px}.topbar{align-items:center;gap:8px;display:flex}.icon-btn,.round-chip,.timer,.order-chip{color:var(--cream);background:#14181c47;border:0;border-radius:999px;min-height:40px;padding:0 12px;font-weight:800}.icon-btn{letter-spacing:-.12em;width:44px;padding:0}.timer{font-variant-numeric:tabular-nums;margin-left:auto}.order-chip.hard{background:#14181c}.play-layout{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.ref-btn{background:0 0;border:0;border-radius:18px;width:100%;padding:0;display:block;overflow:hidden;box-shadow:0 10px 24px #0000002e}.ref-svg{width:100%;height:auto;max-height:22vh;display:block}.seq-strip{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.seq{background:#14181c38;border-radius:14px;flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.seq.now{background:var(--cream);color:var(--ink)}.seq.done{opacity:.55}.seq-index{font-size:12px;font-weight:800}.seq-chips,.seq-step{align-items:center;gap:3px;display:inline-flex}.arrow{font-size:11px;font-weight:800}.chip{border-radius:50%;width:16px;height:16px;display:inline-block;box-shadow:inset 0 -3px #0003}.seq.now .chip{width:22px;height:22px}.chip.got{outline:2px solid #142016}.hint{min-height:1.2em;font-size:14px;font-weight:750}.stage{border-radius:28px;flex:1;min-height:240px;position:relative;overflow:hidden}.stage canvas{touch-action:none;pointer-events:none;width:100%!important;height:100%!important}.hotspots{pointer-events:none;position:absolute;inset:0}.hotspot{pointer-events:auto;background:0 0;border:0;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-9999px,-9999px)}.hotspot.hidden{visibility:hidden;pointer-events:none}.hotspot:focus-visible{outline:3px solid #fff}.side-col{min-height:0}.bot-rail{gap:8px;display:flex;overflow-x:auto}.bot-card{background:#14181c47;border-radius:16px;flex:none;width:108px;padding:8px}.bot-card header,.bot-card footer{justify-content:space-between;align-items:center;font-size:12px;font-weight:800;display:flex}.bot-card .coins{gap:2px;display:flex}.bot-card .coins i{background:#ffffff40;border-radius:50%;width:12px;height:12px;font-size:0}.bot-card .coins i.on{background:#f0c14a}.mini-grid{grid-template-columns:repeat(3,16px);gap:4px;margin:6px 0;display:grid}.mini{border-radius:50%;width:16px;height:16px;display:block}.mini.down{background:#1f9a36;box-shadow:inset 0 0 0 3px #ffffff59}.mini.show{box-shadow:inset 0 -3px #0003}.best-panel,.bot-card.finished{background:#fffaf229}.best-panel{border-radius:16px;padding:10px 12px}.best-panel h2{letter-spacing:.08em;text-transform:uppercase;font-size:13px}.best-panel p,.aside-note{justify-content:space-between;gap:8px;margin-top:4px;font-weight:700;display:flex}.covered .action-bar{visibility:hidden}.action-bar{align-items:center;gap:10px;display:flex}.action-bar .btn{flex:1;min-height:52px;font-size:18px}.flip-count{white-space:nowrap;font-weight:800}.burst{z-index:5;pointer-events:none;background:radial-gradient(circle,#0000000d,#00000047);place-items:center;display:grid}.burst strong{color:var(--cream);text-shadow:0 8px #00000040;font-family:Bungee,sans-serif;font-size:clamp(72px,18vw,160px)}.burst,.sheet-wrap{position:absolute;inset:0}.sheet-wrap{z-index:6;background:#080e0ac7;place-items:center;padding:18px;display:grid}.sheet{background:var(--cream);width:min(440px,100%);color:var(--ink);border-radius:28px;flex-direction:column;gap:10px;max-height:min(86dvh,760px);padding:20px 18px 16px;display:flex;overflow:auto;box-shadow:0 18px 50px #00000047}.sheet h2{font-family:Bungee,sans-serif;font-size:56px;font-weight:400;line-height:.9}.kicker{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}.time-read{flex-wrap:wrap;align-items:center;gap:8px;font-size:22px;font-weight:800;display:flex}.record-flag{color:#fff;background:#1f9a36;border-radius:999px;padding:2px 8px;font-size:13px}.bests{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bests div,.standings li{background:#14181c0f;border-radius:12px;justify-content:space-between;padding:8px 10px;display:flex}.bests .on{outline:2px solid #1f9a36}.standings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.card-zoom .ref-svg{max-height:46vh}.win-wrap{align-items:center}.win-sheet{position:relative}.win-coins{gap:8px;display:flex}.win-coins span{color:#142016;background:radial-gradient(circle at 35% 35%,#fff1b0,#e2b44c 45%,#a87412);border-radius:50%;place-items:center;width:48px;height:48px;font-family:Bungee,sans-serif;font-size:22px;display:grid}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border:4px solid #fffaf2cc;width:18px;height:18px;animation:3.4s linear infinite fall;position:absolute;top:-40px}@keyframes fall{to{transform:translateY(100vh)rotate(180deg)}}.c-G{background:radial-gradient(circle at 35% 35%,#b6ff9a,#2fce4a 46%,#128a30)}.c-R{background:radial-gradient(circle at 35% 35%,#ffb1a4,#f0372f 46%,#b10e16)}.c-B{background:radial-gradient(circle at 35% 35%,#b9d4ff,#2f7cf6 46%,#143ea8)}.c-Pu{background:radial-gradient(circle at 35% 35%,#d7bcff,#7a3ae8 46%,#4a14a4)}.c-Pk{background:radial-gradient(circle at 35% 35%,#ffc0e4,#ff3aa2 46%,#c41474)}.c-Y{background:radial-gradient(circle at 35% 35%,#fff3b0,#ffc233 40%,#ff6a00)}.css-board{flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100%;display:flex}.css-coins{gap:10px;display:flex}.css-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(100%,640px);display:grid}.css-coin,.css-disc{aspect-ratio:1;perspective:600px;background:0 0;border:0;border-radius:50%;width:100%;height:auto;padding:0;position:relative}.css-coin{color:#0000;background:radial-gradient(circle at 35% 35%,#fff1b0,#d7a63a 50%,#8d6414);place-items:center;width:54px;height:54px;font-family:Bungee,sans-serif;display:grid}.css-coin.up{color:#142016}.css-inner{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.css-disc.up .css-inner,.css-disc.revealing .css-inner,.css-disc.aside .css-inner{transform:rotateX(180deg)}.css-back,.css-face{backface-visibility:hidden;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 -10px #0000002e,0 10px 16px #0003}.css-back{background:radial-gradient(circle at 35% 35%,#9af07a,#1f9a36 55%,#0e5a22)}.css-face{transform:rotateX(180deg)}.css-disc.aside{transform:scale(.72)}@media (width>=1040px){.title-screen{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(320px,460px) 1fr;column-gap:28px;display:grid}.title-copy{grid-column:1}.title-screen .title-logo{height:min(38vh,400px)}.hero-frame{grid-area:1/2/span 3;height:auto;margin:0}.title-actions{grid-column:1;max-width:460px}.logo-word{font-size:104px}.play-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,380px) minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:16px;display:grid}.card-col,.side-col{overflow:auto}.ref-svg{max-height:none}.bot-rail{flex-direction:column;overflow:visible}.bot-card{width:auto}.stage{min-height:0}}@media (height<=740px){.game-screen{gap:4px}.ref-svg{max-height:15vh}.icon-btn,.round-chip,.timer,.order-chip{min-height:36px}.action-bar .btn{min-height:48px}.hint{font-size:13px}.bot-card{width:96px;padding:6px}}@media (height<=520px) and (orientation:landscape){.ref-svg{max-height:28vh}.hero-frame{height:46vh}}.timer{font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:5.6ch;font-size:clamp(18px,2.4vw,28px);font-weight:800}.icon-btn,.round-chip,.timer,.order-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080c208c;border:1px solid #ffffff24;min-height:48px}.btn,.btn-cream,.btn-ink{color:#fff;background:linear-gradient(#06091ee0, #06091ee0) padding-box, var(--rainbow) border-box;border:2px solid #0000;border-radius:999px;min-height:56px;box-shadow:0 10px 36px -12px #ff4fb3a6,0 0 28px -10px #2f7bffb3}.btn small{color:#d5dcf8}.btn:active{transform:translateY(1px)}.sheet,.options,.best-panel,.bot-card,.howto section,.setup-screen fieldset,.field{color:#f4f7ff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080c20b8;border:1px solid #ffffff1f;box-shadow:0 18px 48px #00000047}.sheet h2,.burst strong,.logo-word,.flip-chart b,.win-coins span{font-family:Montserrat,Avenir Next,sans-serif;font-weight:900}.sheet h2,.burst strong{background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text}.burst strong{font-size:clamp(72px,18vw,148px)}.kicker,.lede,.hint,.mode-help,.credit,.aside-note{color:#d5dcf8;text-shadow:0 1px 10px #05081ad9}.field input{color:#fff;background:#040616a6;border:1px solid #ffffff29}.segment{background:#ffffff14}.segment button{color:#f4f7ff;min-height:48px}.segment button[aria-pressed=true]{color:#101426;background:#f4f7ff}.skill-grid button{color:#f4f7ff;background:#ffffff0f;min-height:72px}.skill-grid button.on{background:linear-gradient(#06091eeb, #06091eeb) padding-box, var(--rainbow) border-box;color:#fff;border:2px solid #0000}.stepper button{min-width:48px;min-height:48px}.text-btn,.link-row button{color:#f4f7ff;min-height:48px}.seq{background:#080c2073;border:1px solid #ffffff1a}.seq.now{color:#101426;background:#f4f7fff0}.records th,.records td,.win-sheet th,.win-sheet td{border-bottom-color:#ffffff24}.bests div,.standings li{background:#ffffff0f}.time-read{color:#fff;font-variant-numeric:tabular-nums}.chip,.mini,.css-face,.css-back{position:relative}.chip:after,.mini:after,.css-face:after,.css-back:after{content:"";pointer-events:none;background:#ffffffeb;width:56%;height:56%;position:absolute;top:22%;left:22%;-webkit-mask:url(/dash-d-mask.png) 50%/contain no-repeat;mask:url(/dash-d-mask.png) 50%/contain no-repeat}.css-face:after,.css-back:after{border-radius:0}.atmosphere{z-index:0;pointer-events:none;color:#fff;position:fixed;inset:0;overflow:hidden}.streaks{width:100%;height:100%;position:absolute;inset:0}.glow{filter:blur(80px);opacity:.4;mix-blend-mode:screen;border-radius:50%;position:absolute}.g1{background:radial-gradient(circle,#3b2bff 0%,#0000 65%);width:60vmax;height:60vmax;animation:18s ease-in-out infinite alternate drift1;top:-22vmax;left:-18vmax}.g2{background:radial-gradient(circle,#ff2f7a 0%,#0000 65%);width:55vmax;height:55vmax;animation:22s ease-in-out infinite alternate drift2;bottom:-24vmax;right:-20vmax}@keyframes drift1{to{transform:translate(12vmax,8vmax)scale(1.15)}}@keyframes drift2{to{transform:translate(-10vmax,-6vmax)scale(1.1)}}.atmo-grid{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 10%,#0000 72%);mask-image:radial-gradient(circle at 50% 42%,#000 10%,#0000 72%)}.floaters{perspective:900px;position:absolute;inset:0}.floater{transform:translate(-50%, -50%) translate3d(calc(var(--mx) * var(--d) * 36px), calc(var(--my) * var(--d) * 24px), 0);filter:blur(var(--bl,0px));opacity:var(--o,.8);animation:1.2s both floater-in;animation-delay:var(--dl,0s);position:absolute}.floater i{background:radial-gradient(circle at 34% 28%, #fffffff2 0 6%, #ffffff47 14%, transparent 32%), radial-gradient(circle at 50% 50%, transparent 58%, #ffffff4d 60%, transparent 63%), radial-gradient(circle at 40% 35%, var(--c2), var(--c) 55%, var(--c3));width:100%;height:100%;box-shadow:0 12px 28px #00000059, 0 0 24px -6px var(--c);animation:floater-spin var(--t,9s) ease-in-out infinite alternate;border-radius:50%;display:block;position:relative}.floater.coin i{background:radial-gradient(circle at 34% 28%,#ffffffe6 0 5%,#0000 28%),conic-gradient(from 20deg,#2ecc5b,#2f7bff,#9b4dff,#ff4fb3,#ff3b4e,#ffc21a,#2ecc5b)}.floater.coin i:after{content:"";background:#fff;position:absolute;inset:22%;-webkit-mask:url(/dash-d-mask.png) 50%/contain no-repeat;mask:url(/dash-d-mask.png) 50%/contain no-repeat}@keyframes floater-spin{to{transform:rotateX(18deg)rotateY(24deg)rotate(18deg)}}@keyframes floater-in{0%{opacity:0;scale:.4}to{opacity:var(--o,.8);scale:1}}.atmosphere.subdued .glow{opacity:.16;filter:blur(110px)}.atmosphere.subdued .atmo-grid{opacity:.35}.atmosphere.subdued .floater{filter:blur(calc(var(--bl,4px) + 4px))}.atmosphere.reduced,.atmosphere.reduced *{animation:none!important}.atmosphere.reduced .floater{opacity:var(--o,.5)}
