@font-face{font-family:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/red-hat-display-latin-ext-wght-normal-Do32GAgg.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/red-hat-display-latin-wght-normal-BX-N26TK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Red Hat Text Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/red-hat-text-latin-ext-wght-normal-BYbCslLJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Red Hat Text Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/red-hat-text-latin-wght-normal-ZHr5wXre.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#eceef1;--surface:#fff;--ink:#1d2330;--muted:#5e6673;--line:#d5d9e0;--track:#e3e6eb;--soft:#f1f2f5;--slab:#1d2330;--tile:#33405c;--good:#1f8f52;--warn:#e5a823;--bad:#c7402d;--accent:#2f6fde;--accent-deep:#2152ac;--accent-tint:#dfe9fb;--accent-on:#fff;--display:"Red Hat Display Variable", system-ui, sans-serif;--body:"Red Hat Text Variable", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:17px;line-height:1.4}h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.icon{flex:none;width:1.25em;height:1.25em}.btn{font-family:var(--body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.6em 1.15em;font-size:1rem;font-weight:700;line-height:1.15;text-decoration:none;transition:background .12s,transform 60ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45}.btn-primary{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.btn-small{padding:.5em .95em;font-size:.94rem}.btn-big{border-radius:16px;padding:.72em 1.5em;font-size:1.12rem}.btn-icon{padding:.55em}@media (hover:hover){.btn:hover:not(:disabled){background:var(--soft)}.btn-primary:hover:not(:disabled){background:var(--accent-deep)}}.brand{color:var(--ink);align-items:center;gap:12px;display:inline-flex}.brand-mark{grid-template-columns:repeat(2,13px);gap:4px;display:grid}.brand-mark i{background:var(--ink);border-radius:3px;height:13px}.brand-mark i:last-child{background:#2f6fde}.brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:24px;font-weight:800}.brand-small{gap:9px}.brand-small .brand-mark{grid-template-columns:repeat(2,10px);gap:3px}.brand-small .brand-mark i{border-radius:2.5px;height:10px}.brand-small .brand-name{font-size:19px}.trouble{z-index:50;color:#fff;background:var(--ink);border-radius:16px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.trouble-inline{position:static;transform:none}@media (prefers-reduced-motion:reduce){:not(.timer-fill),:not(.timer-fill):before,:not(.timer-fill):after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sign-in{gap:8px;max-width:360px;margin:0 auto;padding:14vh 20px 40px;display:grid}.sign-in .brand{justify-self:start}.sign-in h1{font-family:var(--display);letter-spacing:-.02em;margin-top:22px;font-size:2rem;font-weight:800;line-height:1.2}.sign-in-note{color:var(--muted);margin-bottom:10px}.sign-in label{margin-top:8px;font-size:.94rem;font-weight:700}.sign-in input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:1.1rem}.sign-in input[aria-invalid=true]{border-color:var(--bad)}.sign-in-trouble{color:var(--bad)}.sign-in .btn{margin-top:16px}.app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:100dvh}.screen-wait{min-height:100dvh}.page-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(34px,4.8vw,54px);font-weight:800;line-height:1}.quiet-link{color:var(--muted);text-underline-offset:3px;font-size:.95rem;font-weight:500}.chip{white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.35em;padding:.42em .85em .42em .7em;font-size:.96rem;font-weight:700;line-height:1.15;display:inline-flex}.bar{background:var(--track);border-radius:4px;height:8px;display:block;overflow:hidden}.bar-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.bar-short{background:var(--line);width:180px}.top-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.top-chips{gap:10px;display:flex}.tile{--pattern-ink:#40507a;background:var(--tile);border-radius:13%;position:absolute;inset:4%}.tile:before{content:"";border-radius:inherit;background:var(--pattern-ink);-webkit-mask:var(--pattern,none) center / 34% 34%;-webkit-mask:var(--pattern,none) center / 34% 34%;mask:var(--pattern,none) center / 34% 34%;position:absolute;inset:0}[data-pattern=plain] .tile:before{display:none}[data-pattern=dots]{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='4.5'/%3E%3C/svg%3E")}[data-pattern=stripes]{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0 10L10 0H20L0 20ZM10 20L20 10V20Z'/%3E%3C/svg%3E")}[data-pattern=checks]{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0 0H10V10H0ZM10 10H20V20H10Z'/%3E%3C/svg%3E")}[data-pattern=zigzag]{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0 5L10 13L20 5V11L10 19L0 11Z'/%3E%3C/svg%3E")}[data-pattern=stars]{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2Q10 10 18 10Q10 10 10 18Q10 10 2 10Q10 10 10 2Z'/%3E%3C/svg%3E")}.picker{flex-direction:column;max-width:1180px;min-height:100dvh;margin:0 auto;padding:28px clamp(18px,5vw,64px) 36px;display:flex}.picker-top{justify-content:space-between;align-items:center;display:flex}.picker-nav{align-items:center;gap:18px;display:flex}.picker-body{flex-direction:column;flex:1;justify-content:center;gap:clamp(22px,4vh,36px);padding:24px 0 5vh;display:flex}.picker-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2.4vw,30px);display:grid}.player-card{text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:26px;flex-direction:column;align-items:flex-start;gap:8px;padding:clamp(18px,2.4vw,28px);transition:box-shadow .12s,transform 80ms;display:flex}.player-card:active{transform:scale(.98)}.player-card:focus-visible{box-shadow:0 0 0 5px var(--ground), 0 0 0 9px var(--accent);outline:none}@media (hover:hover){.player-card:hover{box-shadow:0 0 0 5px var(--ground), 0 0 0 9px var(--accent)}}.player-avatar{width:clamp(96px,12vw,140px);margin:-8px 0 0 -10px}.player-name{font-family:var(--display);letter-spacing:-.015em;font-size:clamp(28px,3.2vw,36px);font-weight:800;line-height:1.05}.player-level{color:var(--muted)}.player-today{align-self:stretch;gap:9px;margin-top:16px;display:grid}.bar-label{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.94rem;display:flex}.bar-label b{color:var(--ink);align-items:center;gap:4px;display:inline-flex}.bar-label .icon{width:1em;height:1em}.player-card .chip{background:var(--soft);border-color:var(--soft);margin-top:8px}.picker-empty{max-width:30ch;color:var(--muted)}.home,.customize,.gallery{gap:clamp(14px,2.8vh,28px);max-width:1120px;min-height:100dvh;margin:0 auto;padding:18px clamp(16px,4vw,44px) 28px;display:grid}.home{grid-template-rows:auto 1fr}.home-body{align-content:center;gap:clamp(20px,4vh,38px);padding-bottom:4vh;display:grid}.home-hero{align-items:center;gap:clamp(12px,3vw,32px);display:flex}.hero-avatar{flex:none;width:clamp(120px,17vw,190px);margin-left:-12px}.hero-level{color:var(--muted);margin-top:.5em;font-size:1.1rem}.hero-level b{color:var(--ink)}.goal{margin-top:18px}.goal-segs{flex-wrap:wrap;gap:5px;display:flex}.goal-seg{background:var(--line);border-radius:4px;width:clamp(22px,2.8vw,32px);height:12px}.goal-seg.is-full{background:var(--accent)}.goal-text{color:var(--muted);margin-top:9px}.goal-text b{color:var(--ink)}.modes{grid-template-columns:1fr 1fr;align-content:start;gap:clamp(14px,2vw,24px);display:grid}.mode-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;align-items:center;gap:clamp(14px,2vw,24px);padding:clamp(16px,2vw,24px);display:flex}.mode-art{aspect-ratio:3/2;background:var(--slab);border:5px solid var(--slab);border-radius:16px;flex:none;grid-template-columns:repeat(3,1fr);width:clamp(104px,14vw,162px);display:grid;overflow:hidden}.mode-art-picture{background:var(--slab) url(/pictures/dusk.svg) center / cover}.mode-art-picture span{background:var(--slab);position:relative}.mode-art-picture span:after{content:"";background:var(--tile);border-radius:16%;position:absolute;inset:6%}.mode-art-picture span:nth-child(4):after{background:var(--accent)}.mode-art-picture span.is-open{background:0 0}.mode-art-picture span.is-open:after{display:none}.mode-art-cave{background:#12161f;border-color:#12161f}.mode-art-cave span{place-items:center;display:grid}.mode-art-cave span.is-lit{background:#e4ddcf}.mode-art-cave .icon{width:62%;height:auto}.mode-art-blocks{display:block}.mode-art-blocks svg{width:100%;height:100%;display:block}.mode-body h2{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(22px,2.5vw,28px);font-weight:800;line-height:1.1}.mode-body p{color:var(--muted);margin-top:4px}.mode-actions{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:14px;display:flex}@media (width>=901px){.modes-3{grid-template-columns:repeat(3,1fr);align-items:stretch}.modes-3 .mode-card{flex-direction:column;align-items:stretch}.modes-3 .mode-art{width:100%}.modes-3 .mode-body{flex-direction:column;flex:1;display:flex}.modes-3 .mode-actions{margin-top:auto;padding-top:14px}}@media (width<=900px){.modes-3{grid-template-columns:1fr}}@media (width>=901px) and (height<=812px){.home-body:has(.modes-3){gap:clamp(16px,3vh,30px);padding-bottom:2vh}.home-body:has(.modes-3) .hero-avatar{width:136px}.modes-3 .mode-card{padding:16px}}.home-links{flex-wrap:wrap;gap:12px;display:flex}.link-count{color:var(--muted);background:var(--soft);border-radius:999px;padding:.1em .6em;font-size:.82rem;font-weight:600}.play{grid-template-rows:auto minmax(0,1fr);gap:14px;height:100dvh;padding:16px clamp(14px,2.4vw,28px) 22px;display:grid;overflow:hidden}.play-loading{grid-template-rows:1fr;place-items:center}.loading-note{font-family:var(--display);color:var(--muted);font-size:1.3rem;font-weight:700}.play-bar{align-items:center;gap:12px;display:flex}.play-progress{color:var(--muted);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:.4em .9em;display:flex}.play-progress b{color:var(--ink)}.play-main{grid-template-columns:minmax(0,1fr) clamp(270px,31vw,364px);align-items:center;gap:clamp(14px,2vw,24px);min-height:0;display:grid}.board-wrap{align-self:stretch;place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.board{--pad:1.4cqw;width:min(100cqw, 100cqh * var(--cols) / var(--rows));aspect-ratio:var(--cols) / var(--rows);background:var(--slab);border-radius:clamp(16px,3cqw,28px);position:relative;overflow:hidden}.board-art{inset:var(--pad);width:calc(100% - 2 * var(--pad));height:calc(100% - 2 * var(--pad));object-fit:cover;border-radius:clamp(8px,1.8cqw,16px);position:absolute}.cells{inset:var(--pad);grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);display:grid;position:absolute}.cell{background:var(--slab);border:0;border-radius:0;min-width:0;padding:0;position:relative}.cell:focus-visible{z-index:3;outline-offset:-6px;outline:3px solid #fff}.cell.is-near .tile{--pattern-ink:var(--accent-deep);background:var(--accent)}.phase-pick .cell.is-near .tile{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(.92)}}.cell.is-target .tile{box-shadow:inset 0 0 0 .6cqw var(--accent);background:#fff;place-items:center;animation:none;display:grid}.cell.is-target .tile:before{display:none}.cell.is-target .tile:after{content:"?";font-family:var(--display);color:var(--ink);font-size:7cqw;font-weight:800;line-height:1}.board-picture .cell.is-open{background:0 0}.board-picture .cell.is-open .tile{box-shadow:none;background:#fff;animation:.3s ease-in forwards clear}.board-picture .cell.is-open .tile:before,.board-picture .cell.is-open .tile:after,.board-picture .cell.was-open .tile{display:none}@keyframes clear{to{opacity:0;transform:scale(.2)}}.token-spot{top:var(--pad);left:var(--pad);z-index:2;width:calc((100% - 2 * var(--pad)) / var(--cols));height:calc((100% - 2 * var(--pad)) / var(--rows));pointer-events:none;place-items:center;transition:transform .13s ease-out;display:grid;position:absolute}.board-picture.phase-done .token-spot{opacity:0;transition:opacity .5s .6s}.token{aspect-ratio:1;background:#fff;border-radius:50%;place-items:center;width:74%;display:grid;box-shadow:0 0 0 .35cqw #fff}.token svg{width:100%}.mood-munch .token,.mood-cheer .token{animation:.34s ease-out hop}.mood-oops .token{animation:.35s shake}@keyframes hop{40%{transform:translateY(-14%)scale(1.06)}}@keyframes shake{20%,60%{transform:translate(-7%)}40%,80%{transform:translate(7%)}}.burst{z-index:4;font-family:var(--display);color:#fff;background:var(--ink);pointer-events:none;border-radius:999px;padding:.15em .6em;font-size:clamp(15px,2.2cqw,22px);font-weight:800;animation:.9s ease-out forwards float-up;position:absolute;top:8%;left:50%}@keyframes float-up{0%{opacity:0;transform:translate(-50%,40%)scale(.6)}20%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)}}.board-cave{background:#12161f}.board-cave .cell{background:0 0}.board-cave .cell.is-open{background:#e4ddcf}.board-cave .cell.is-here{background:#f3eee3}.wall{z-index:1;background:#5b4c3d;border-radius:5px;position:absolute}.wall-0{height:8px;top:-4px;left:-4px;right:-4px}.wall-2{height:8px;bottom:-4px;left:-4px;right:-4px}.wall-1{width:8px;top:-4px;bottom:-4px;right:-4px}.wall-3{width:8px;top:-4px;bottom:-4px;left:-4px}.cave-exit,.cave-gem{z-index:2;pointer-events:none;width:54%;height:54%;margin:auto;position:absolute;inset:0}.cave-gem{width:38%;height:38%}.card{background:var(--surface);border:1px solid var(--line);border-radius:clamp(20px,2.4vw,28px);grid-template-rows:auto minmax(0,1fr) auto;gap:14px;min-height:0;padding:clamp(14px,1.8vw,24px);display:grid}.card.phase-done{grid-template-rows:1fr}.timer{height:22px;color:var(--muted);align-items:center;gap:10px;display:flex}.timer .icon{width:20px;height:20px}.timer-track{background:var(--track);border-radius:4px;flex:1;height:8px;overflow:hidden}.timer-fill{background:var(--accent);border-radius:4px;height:100%;animation:linear forwards drain}@keyframes drain{0%{background:var(--accent);width:100%}69%{background:var(--accent)}70%{background:var(--warn)}87%{background:var(--warn)}88%{background:var(--bad)}to{background:var(--bad);width:0%}}.card-face{text-align:center;place-items:center;min-height:clamp(150px,26dvh,230px);display:grid}.card-hint{font-family:var(--display);letter-spacing:-.01em;gap:6px;font-size:clamp(22px,2.5vw,28px);font-weight:800;line-height:1.15;display:grid}.card-hint small{font-family:var(--body);letter-spacing:0;color:var(--muted);font-size:.95rem;font-weight:400}.problem{font-family:var(--display);letter-spacing:-.02em;flex-direction:column;align-items:center;gap:.2em;font-size:clamp(48px,6.2vw,88px);font-weight:800;line-height:1;display:flex}.problem.is-shown{flex-direction:row;gap:.25em;font-size:clamp(34px,3.8vw,48px)}.problem-text{white-space:nowrap}.answer-box{background:var(--accent-tint);border:3px solid var(--accent);border-radius:.3em;justify-content:center;align-items:center;min-width:2.2em;height:1.4em;padding:0 .25em;font-size:.68em;display:inline-flex}.problem:not(.is-right) .answer-box:after{content:"";background:var(--accent);border-radius:2px;width:4px;height:.8em;margin-left:.06em;animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.problem.is-right .answer-box{color:#fff;background:var(--good);border-color:var(--good)}.fix{justify-items:center;gap:10px;display:grid}.fix-why{color:var(--muted)}.answer-shown{color:#fff;background:var(--ink);border-radius:.24em;padding:0 .22em}.fix-ask{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.answer-small{min-width:2.6em;height:1.5em;font-family:var(--display);color:var(--ink);border-radius:12px;font-size:1.7rem;font-weight:800}.answer-small.is-match{color:#fff;background:var(--good);border-color:var(--good)}.answer-small.shake{animation:.3s shake}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{height:clamp(46px,8dvh,64px);font-family:var(--display);color:var(--ink);background:var(--soft);border:0;border-radius:16px;place-items:center;padding:0;font-size:clamp(22px,2.9dvh,28px);font-weight:700;transition:transform 50ms,background 80ms;display:grid}.key:active:not(:disabled){background:var(--track);transform:scale(.95)}.key:disabled{opacity:.45}.key-erase{background:var(--track)}.key-go{color:var(--accent-on);background:var(--accent)}.key-go:active:not(:disabled){background:var(--accent-deep)}.key .icon{width:1.2em;height:1.2em}.done{text-align:center;align-content:center;justify-items:center;gap:10px;display:grid}.done-kicker{color:var(--muted)}.done-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(28px,3.2vw,38px);font-weight:800;line-height:1.05}.done-stats{color:var(--muted);gap:6px;margin:10px 0;display:grid}.done-stats li{justify-content:center;align-items:center;gap:.35em;display:flex}.done-stats b{font-family:var(--display);color:var(--ink);font-size:1.25em;font-weight:800}.done-new{background:var(--accent-tint);border-radius:999px;padding:.25em .9em;font-weight:600;color:var(--ink)!important}.done-actions{gap:10px;width:100%;margin-top:10px;display:grid}.toast{z-index:40;color:#fff;background:var(--ink);border-radius:999px;align-items:center;gap:.5em;max-width:calc(100vw - 32px);padding:11px 20px 11px 16px;font-weight:700;animation:.25s ease-out both toast-in;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{transform:translate(-50%,-140%)}}.customize,.gallery{grid-template-rows:auto 1fr;align-content:start}.customize-main{grid-template-columns:minmax(180px,1fr) minmax(0,2.4fr);align-items:start;gap:clamp(16px,3vw,36px);display:grid}.customize-stage{justify-items:center;gap:4px;padding-top:12px;display:grid;position:sticky;top:16px}.customize-stage svg{width:min(100%,250px)}.customize-name{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(28px,3.6vw,40px);font-weight:800}.panel{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:clamp(14px,2vw,22px)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.5em 1.05em;font-weight:700}.tab.is-on{color:#fff;background:var(--ink)}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;display:grid}.pick-item{background:var(--soft);border:0;border-radius:18px;align-content:start;justify-items:center;gap:4px;padding:10px 6px;display:grid}.pick-item.is-on{background:var(--accent-tint);box-shadow:inset 0 0 0 3px var(--accent)}.pick-preview{place-items:center;width:84px;height:84px;display:grid}.pick-preview svg{width:100%}.pick-item.is-locked .pick-preview{opacity:.45}.pick-name{font-size:.92rem;font-weight:700}.pick-price{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.25em;padding:.12em .7em .12em .55em;font-size:.85rem;font-weight:700;display:inline-flex}.pick-price .icon{width:.95em;height:.95em}.panel-trouble{background:var(--soft);border-radius:12px;margin-bottom:12px;padding:8px 12px}.swatch{background:var(--accent);border-radius:50%;width:58px;height:58px}.tile-sample{background:var(--slab);border-radius:14px;width:66px;height:66px;position:relative}.tile-sample .tile{--pattern-ink:var(--accent-deep);background:var(--accent)}.sheet-back{z-index:60;background:#1d23308c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet{text-align:center;background:var(--surface);border-radius:28px;justify-items:center;gap:10px;width:min(420px,100%);padding:26px;display:grid}.sheet h2{font-family:var(--display);letter-spacing:-.01em;font-size:1.7rem;font-weight:800;line-height:1.1}.sheet p{color:var(--muted)}.sheet-preview{place-items:center;width:140px;height:140px;display:grid}.sheet-preview svg{width:100%}.sheet-preview .tile-sample{width:110px;height:110px}.sheet-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.gallery{grid-template-rows:auto auto 1fr}.sets{align-content:start;gap:clamp(22px,3.4vh,34px);padding-bottom:24px;display:grid}.set-head{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;display:flex}.set-head h2{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(20px,2.3vw,25px);font-weight:800;line-height:1.1}.set-count{color:var(--muted);align-items:center;gap:4px;font-weight:600;display:inline-flex}.set-count.is-complete{color:var(--good)}.set-count .icon{width:1em;height:1em}.set-head .btn{margin-left:auto}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);display:grid}.gallery-item{text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0;display:block;overflow:hidden}button.gallery-item:active{transform:scale(.98)}.gallery-item img,.gallery-cover{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.gallery-cover{background:var(--slab);grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.gallery-cover .tile{margin:4%;position:relative;inset:auto}.gallery-title{text-overflow:ellipsis;white-space:nowrap;padding:7px 10px 8px;font-size:.86rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gallery-item.is-hidden .gallery-title{color:var(--muted);font-weight:400}.viewer{z-index:20;background:var(--slab);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.viewer figure{justify-items:center;gap:12px;width:min(100%,111dvh);display:grid}.viewer img{aspect-ratio:3/2;object-fit:cover;border-radius:18px;width:100%;display:block}.viewer figcaption{font-family:var(--display);color:#fff;font-size:clamp(20px,2.6vw,28px);font-weight:800}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (aspect-ratio<=1),(width<=700px){.play-main{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.card .timer{grid-column:1/-1}.card.phase-done{grid-template-columns:1fr}.card-face{min-height:0}.key{height:clamp(42px,6dvh,60px)}}@media (width<=760px){.modes,.customize-main{grid-template-columns:1fr}.customize-stage{padding-top:0;position:static}.customize-stage svg{width:150px}.bar-short{width:90px}}@media (width<=520px){.card{grid-template-columns:1fr}.home-hero{flex-direction:column;align-items:flex-start}}
