:root{--plum:#2a2036;--plum2:#3a2c48;--plum3:#52405f;--cream:#fff5e1;--cream2:#f3e4c4;--ink:#3b2d38;--muted:#7d6a73;--coral:#ff7a59;--coral-dark:#d8553a;--teal:#2fb5a3;--butter:#ffd166;--wood:#a8743f;--wood-dark:#6f4a29;--line:#e3d2ad;--line-major:#b39a6b;--fill:#4b3a67;--fill-line:#62507f;--x:#b48a62;--wrong:#e5484d;--back:#cfe6e0;--cell:30px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--plum);height:100%;color:var(--cream);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#game{position:fixed;inset:0}#bg{background:radial-gradient(circle at 85% 8%,#ffd16629,#0000 38%),linear-gradient(#2a2036cc,#1d1727e6),url(../assets/bg-studio.webp) 50%/cover no-repeat,linear-gradient(#2a2036,#1d1727);position:absolute;inset:0}#game[data-screen=album] #bg{background:url(../assets/bg-album.webp) center / cover no-repeat, var(--cream)}#album .bar h2,#album .pack-meta{color:var(--ink)}#album .album-grid h3{color:var(--coral-dark)}#album .slot:not(.got){color:var(--muted);background:#ffffff73;border-color:#c9b690}#game[data-screen=album] .pk-hud{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid var(--butter);outline-offset:2px}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.screen{width:min(100%,560px);padding:max(8px, env(safe-area-inset-top)) 12px max(10px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;animation:.22s ease-out screen-in;display:flex;position:absolute;inset:0;overflow:hidden auto}#play{padding-left:4px;padding-right:4px;overflow:hidden}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}.bar{flex:none;align-items:center;gap:8px;min-height:44px;padding-right:112px;display:flex}.bar h2{letter-spacing:.2px;margin:0;font-size:22px}.icon-btn{border:2px solid var(--wood-dark);background:var(--cream2);width:44px;height:44px;color:var(--ink);box-shadow:0 3px 0 var(--wood-dark);border-radius:12px;flex:none;place-items:center;padding:0;display:grid}.icon-btn:active{box-shadow:0 1px 0 var(--wood-dark);transform:translateY(2px)}.icon-btn svg{width:24px;height:24px}.card{color:var(--ink);background:var(--cream);border:3px solid var(--wood);box-shadow:0 0 0 2px var(--wood-dark), 0 6px 0 2px var(--wood-dark), 0 14px 24px #00000059;text-align:left;border-radius:16px;padding:12px 14px;position:relative}button.card{font:inherit;width:100%;min-height:44px}button.card:active{transform:translateY(2px)}.card-label{text-transform:uppercase;letter-spacing:1px;color:var(--coral-dark);margin-bottom:6px;font-size:12px;font-weight:800;display:block}.pill{border:2px solid var(--coral-dark);background:var(--coral);color:#fff;min-width:76px;height:44px;box-shadow:0 3px 0 var(--coral-dark);border-radius:999px;place-items:center;padding:0 16px;font-size:16px;font-weight:800;display:inline-grid}.pill.alt{background:var(--teal);border-color:#1f8b7c;box-shadow:0 3px #1f8b7c}.pill.done{background:var(--cream2);color:var(--ink);border-color:var(--wood);box-shadow:0 3px 0 var(--wood)}.btn{border:2px solid var(--wood-dark);background:var(--cream2);min-height:48px;color:var(--ink);box-shadow:0 4px 0 var(--wood-dark);border-radius:14px;padding:0 16px;font-size:16px;font-weight:800}.btn.primary{background:var(--coral);color:#fff;border-color:var(--coral-dark);box-shadow:0 4px 0 var(--coral-dark)}.btn:active{box-shadow:0 1px 0 var(--wood-dark);transform:translateY(3px)}.btn.primary:active{box-shadow:0 1px 0 var(--coral-dark)}.btn:disabled{opacity:.5}#home{gap:14px}.home-head{padding:8px 112px 0 4px}.home-art{opacity:.95;filter:drop-shadow(0 8px 10px #00000059);flex:none;width:150px;height:auto;margin:auto auto 0;animation:3.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)}}.home-head h1{letter-spacing:.5px;color:var(--butter);text-shadow:0 3px #7b4a2a;margin:0;font-size:34px;line-height:1.05}.home-head p{color:#d9cbe3;margin:6px 0 0;font-size:14px}.daily-main{align-items:center;gap:12px;display:flex}.daily-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daily-text strong{font-size:19px}.daily-text span{color:var(--muted);font-size:14px}#daily-thumb,.thumb{width:56px;height:56px;image-rendering:pixelated;background:var(--back);border:2px solid var(--wood);border-radius:10px;flex:none}.streak{color:var(--coral-dark);align-items:center;gap:4px;font-size:15px;font-weight:800;display:flex;position:absolute;top:10px;right:14px}.streak img{width:18px;height:20px}.home-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.big-btn{border:3px solid var(--wood-dark);background:var(--cream2);min-height:92px;color:var(--ink);box-shadow:0 5px 0 var(--wood-dark);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px;display:flex}.big-btn.primary{background:var(--teal);color:#fff;border-color:#1b7a6c;box-shadow:0 5px #1b7a6c}.big-btn strong{font-size:20px}.big-btn span{opacity:.85;font-size:13px}.big-btn:active{box-shadow:0 2px 0 var(--wood-dark);transform:translateY(3px)}.settings{flex-direction:column;gap:8px;display:flex}.set-row{justify-content:space-between;align-items:center;gap:10px;min-height:44px;display:flex}.set-name{font-size:15px;font-weight:700}.set-note{color:var(--muted);margin:-4px 0 4px;font-size:13px;line-height:1.35}.seg{border:2px solid var(--wood-dark);background:var(--cream2);border-radius:12px;display:inline-flex;overflow:hidden}.seg button{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0 14px;font-size:15px;font-weight:700}.seg button+button{border-left:2px solid var(--wood-dark)}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--ink);color:var(--cream)}.seg.wide{display:flex}.seg.wide button{flex:1;padding:0 4px}.switch{background:0 0;border:0;width:64px;height:44px;padding:0;position:relative}.switch i{border:2px solid var(--wood-dark);background:#b9a98a;border-radius:999px;transition:background .15s;position:absolute;inset:8px 4px}.switch i:after{content:"";background:var(--cream);border:2px solid var(--wood-dark);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:1px;left:1px}.switch[aria-checked=true] i{background:var(--teal)}.switch[aria-checked=true] i:after{transform:translate(26px)}.chips{scrollbar-width:none;flex:none;gap:8px;padding:8px 2px 10px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:2px solid var(--wood-dark);background:var(--cream2);min-height:44px;color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:0 14px;font-size:15px;font-weight:800}.chip[aria-selected=true]{background:var(--butter);box-shadow:0 3px 0 var(--wood-dark)}.chip small{opacity:.7;margin-left:4px;font-weight:700}.pack-meta{color:#d9cbe3;margin:8px 2px;font-size:14px}.tiles{grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 2px 24px;display:grid}.tile{aspect-ratio:1;border:3px solid var(--wood);background:var(--cream);min-height:64px;color:var(--ink);box-shadow:0 4px 0 var(--wood-dark);border-radius:12px;place-items:center;padding:4px;display:grid;position:relative}.tile:active{transform:translateY(2px)}.tile canvas{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.tile .q{color:var(--wood);font-size:26px;font-weight:800}.tile .band{color:var(--muted);font-size:12px;font-weight:800;position:absolute;bottom:3px;left:4px}.tile .mark{color:var(--coral-dark);font-size:12px;font-weight:800;position:absolute;top:2px;right:3px}.tile.wip{border-color:var(--teal)}.album-grid{grid-template-columns:repeat(3,1fr);gap:12px 10px;padding:4px 2px 28px;display:grid}.album-grid h3{color:var(--butter);grid-column:1/-1;margin:8px 0 0;font-size:15px}.slot{color:#cdbfd8;background:#fff5e10f;border:2px dashed #7b6a88;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:8px 4px 6px;font-size:13px;display:flex}.slot.got{border:3px solid var(--wood);background:var(--cream);color:var(--ink);box-shadow:0 4px 0 var(--wood-dark)}.slot canvas{width:72px;height:72px;image-rendering:pixelated}.slot .q{opacity:.5;place-items:center;width:72px;height:72px;font-size:30px;font-weight:800;display:grid}.slot .nm{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.slot .st{letter-spacing:1px;color:#d99a1b;font-size:12px}.slot.shiny{overflow:hidden}.slot.shiny:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff8c 48%,#0000 66%);animation:3.6s ease-in-out infinite shine;position:absolute;inset:0;transform:translate(-120%)}.slot{position:relative}@keyframes shine{0%,55%{transform:translate(-120%)}80%,to{transform:translate(120%)}}.play-bar{padding-right:112px}.bar-title{flex-direction:column;min-width:0;line-height:1.15;display:flex}.bar-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.bar-title span{color:#d9cbe3;font-size:13px}.status{flex:none;align-items:center;gap:10px;min-height:30px;padding:2px 4px;display:flex}.hearts{gap:4px;display:flex}.hearts img{width:24px;height:22px;transition:filter .2s}.hearts img.lost{filter:grayscale()brightness(.6)opacity(.6)}.chip-mode{color:#f0e4ff;background:#fff5e124;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}.zoom-btn+.timer{margin-left:0}.zoom-btn{margin-left:auto}.timer{font-family:var(--mono);color:var(--butter);margin-left:auto;font-size:18px;font-weight:700}.tip{color:#f0e4ff;flex:none;align-items:center;gap:8px;height:48px;padding:2px 6px;font-size:14px;line-height:1.25;display:flex;overflow:hidden}.tip button{border:2px solid var(--coral-dark);background:var(--coral);color:#fff;border-radius:12px;flex:none;min-height:44px;padding:0 12px;font-size:14px;font-weight:800}.board-wrap{flex:1;align-items:center;min-height:0;display:flex}.board{background:var(--cream);height:100%;min-height:0;box-shadow:0 0 0 3px var(--wood), 0 0 0 4px var(--wood-dark), 0 8px 22px #0006;touch-action:none;border-radius:14px;flex:1;transition:filter .2s;position:relative;overflow:hidden}#play.is-paused .board{filter:blur(14px)}.clip{touch-action:none;position:absolute;overflow:hidden}.grid{grid-template-columns:repeat(var(--n), var(--cell));grid-auto-rows:var(--cell);will-change:transform;display:grid;position:absolute;top:0;left:0}.sq{--lr:var(--line);--lb:var(--line);--wr:1px;--wb:1px;box-shadow:inset calc(-1 * var(--wr)) 0 0 var(--lr), inset 0 calc(-1 * var(--wb)) 0 var(--lb);transition:box-shadow .3s;position:relative}.sq.c5{--lr:var(--line-major);--wr:2px}.sq.r5{--lb:var(--line-major);--wb:2px}.sq.on{background:var(--fill);--lr:var(--fill-line);--lb:var(--fill-line)}.sq.on.c5{--lr:var(--line-major)}.sq.on.r5{--lb:var(--line-major)}.sq.x:before,.sq.x:after{content:"";background:var(--x);border-radius:2px;height:max(2px,8%);transition:opacity .25s;position:absolute;top:calc(50% - 1.5px);left:24%;right:24%;transform:rotate(45deg)}.sq.x:after{transform:rotate(-45deg)}.sq.pop{animation:.15s ease-out pop}.sq.popx{animation:.14s ease-out popx}@keyframes pop{0%{transform:scale(.55)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes popx{0%{opacity:.2;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.grid.reveal .sq.cursor{outline:none}.sq.cursor{outline:3px solid var(--teal);outline-offset:-3px;z-index:3}.sq.guide{z-index:2;outline:3px solid var(--butter);outline-offset:-3px;animation:.9s ease-in-out infinite guide}@keyframes guide{50%{background-color:#ffd16699}}.sq.wrong{z-index:2;outline:3px solid var(--wrong);outline-offset:-3px;background-color:#e5484d40}.sq.flash{animation:.42s ease-out flash}@keyframes flash{0%,40%{background-color:var(--wrong)}}.sq.sweep{animation:.34s ease-out sweep}@keyframes sweep{40%{filter:brightness(1.7)saturate(1.3);transform:scale(1.06)}}.grid.reveal .sq{background-color:var(--pic,var(--back));box-shadow:none;transition:background-color .38s,box-shadow .3s;transition-delay:var(--d,0s)}.grid.reveal .sq.x:before,.grid.reveal .sq.x:after{opacity:0}.detail{image-rendering:pixelated;pointer-events:none;position:absolute;top:0;left:0}.band-hl{pointer-events:none;background:#ffd16638;transition:opacity .12s;position:absolute}.strip{touch-action:none;transition:opacity .4s;position:absolute;overflow:hidden}.board.revealing .strip{opacity:0}.rc,.cc{font-family:var(--mono);color:var(--ink);font-size:13px;font-weight:700;line-height:15px;transition:opacity .2s,background-color .2s;display:flex;position:absolute}.rc{height:var(--cell);justify-content:flex-end;align-items:center;gap:3px;padding-right:3px;left:0;right:0}.cc{width:var(--cell);flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:3px;top:0;bottom:0}.rc i,.cc i{text-align:center;font-style:normal;display:block}.cc i{height:15px}.strip.tight .rc,.strip.tight .cc{letter-spacing:-.6px;font-size:12px}.rc.sat,.cc.sat{opacity:.32;text-decoration:line-through}.rc.hot,.cc.hot{background:#ffd1668c;border-radius:6px}.rc.done,.cc.done{animation:.52s ease-out clue-done}@keyframes clue-done{0%{background:var(--teal);color:#fff;transform:scale(1.18)}}.zoom-btn{border:2px solid var(--wood-dark);background:var(--cream2);min-width:72px;height:44px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 10px;display:flex}.zoom-btn svg{width:22px;height:22px}.zoom-btn[hidden]{display:none}.zoom-btn small{font-size:12px;font-weight:800;line-height:1}.tools{flex:none;gap:6px;padding:10px 0 2px;display:flex}.tool{border:2px solid var(--wood-dark);background:var(--cream2);min-width:44px;height:54px;color:var(--ink);box-shadow:0 3px 0 var(--wood-dark);border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:0;font-size:12px;font-weight:800;display:flex;position:relative}.tool svg{width:24px;height:22px}.tool img{width:auto;height:22px}.tool .fillshape{fill:currentColor;stroke:none}.tool[aria-pressed=true]{background:var(--ink);color:var(--cream);box-shadow:0 1px 0 var(--wood-dark);transform:translateY(2px)}.tool:active:not([aria-pressed]){box-shadow:0 1px 0 var(--wood-dark);transform:translateY(2px)}.tool:disabled{opacity:.4}.tool .badge{background:var(--coral);color:#fff;border:2px solid var(--cream);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;display:grid;position:absolute;top:-7px;right:-4px}.tool .badge:empty{display:none}.ghost{pointer-events:none;z-index:10;width:44px;height:44px;position:absolute;top:0;left:0}.ghost i{filter:drop-shadow(0 2px 4px #00000059);background:radial-gradient(circle,#fffffff2 0 28%,#ff7a59b3 30% 55%,#0000 58%);border-radius:50%;position:absolute;inset:0}.sheet{padding:0 10px max(10px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;animation:.42s cubic-bezier(.2,1.2,.4,1) sheet-in;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes sheet-in{0%{transform:translateY(110%)}}.sheet-card{pointer-events:auto;flex-direction:column;gap:10px;width:min(100%,540px);display:flex}.res-top{align-items:center;gap:14px;display:flex}.res-sticker{flex:none;place-items:center;width:96px;height:96px;display:grid}.res-sticker canvas,.modal-art canvas{width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(0 3px #6f4a2973)}.res-sticker.plop canvas{animation:.6s cubic-bezier(.2,1.3,.4,1) both plop}@keyframes plop{0%{opacity:0;transform:scale(1.7)rotate(-14deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.res-text{flex:1;min-width:0}.res-text h2{margin:0;font-size:22px}.res-text p{color:var(--muted);margin:4px 0 0;font-size:14px}.stars{gap:4px;margin-top:4px;display:flex}.stars img{width:30px;height:30px}.stars img.off{filter:grayscale()brightness(1.3)opacity(.35)}.stars img.land{animation:.42s cubic-bezier(.2,1.5,.4,1) both star-land}@keyframes star-land{0%{opacity:0;transform:scale(2.4)rotate(-30deg)}}.res-extra{min-height:20px;color:var(--coral-dark);margin:0;font-size:14px;font-weight:700}.res-actions{flex-wrap:wrap;gap:8px;display:flex}.res-actions .btn{flex:1 1 0;min-width:72px;padding:0 10px}.res-actions .btn.primary{flex:2 1 0;min-width:120px}.modal{background:#140e1cb8;place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}.modal-card{text-align:center;flex-direction:column;align-items:stretch;gap:10px;width:min(100%,420px);animation:.26s cubic-bezier(.2,1.3,.4,1) pop-card;display:flex}@keyframes pop-card{0%{opacity:0;transform:scale(.85)}}.modal-card h2{margin:0;font-size:24px}.modal-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.4}.modal-art{width:140px;height:140px;margin:0 auto}.modal-art:empty{display:none}.fx{pointer-events:none;z-index:30;position:absolute;inset:0;overflow:hidden}.pop-text{color:#fff;text-shadow:0 2px 0 var(--coral-dark), 0 0 8px #00000059;white-space:nowrap;font-size:18px;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.spark{background:url(../assets/style-sheet/sparkle.webp) 50%/contain no-repeat;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)}.heart-fly{background:url(../assets/style-sheet/icon-heart.webp) 50%/contain no-repeat;width:26px;height:24px;position:absolute;transform:translate(-50%,-50%)}.sweep-band{mix-blend-mode:soft-light;pointer-events:none;background:linear-gradient(100deg,#0000,#ffffffd9,#0000);width:34%;position:absolute;top:-10%;bottom:-10%;transform:skew(-18deg)}@media (prefers-reduced-motion:reduce){.screen,.sheet,.modal,.modal-card,.sq.pop,.sq.popx,.sq.sweep,.slot.shiny:after,.home-art{animation:none}.grid.reveal .sq{transition-delay:0s!important}}@media (width>=640px){.tiles{grid-template-columns:repeat(6,1fr)}.album-grid{grid-template-columns:repeat(4,1fr)}}
