[hidden]{display:none!important}:root{--bg:#2c2340;--card:#fffaf0;--ink:#1d1a17;--plum:#5a3478;--teal:#2a7f86;--red:#c2412d;--gold:#e8b923;--soft:#ece2cd;--mint:#cfeedd;--tile:#fff4d6;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--gut:40px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;font:16px/1.35 ui-rounded,Trebuchet MS,system-ui,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}button{font:inherit;color:var(--ink);cursor:pointer;touch-action:manipulation}a{color:var(--ink)}.sky{z-index:0;background:radial-gradient(120% 80% at 50% 0,#4a3866 0%,#2c2340 60%,#221a33 100%);position:fixed;inset:0;overflow:hidden}.sky img{opacity:.16;object-fit:contain;width:70px;height:70px;animation:linear infinite drift;position:absolute}@keyframes drift{0%{transform:translateY(110vh)rotate(-10deg)}to{transform:translateY(-20vh)rotate(14deg)}}.play{z-index:2;padding:calc(6px + var(--safe-t)) var(--gut) calc(6px + var(--safe-b));flex-direction:column;display:flex;position:fixed;inset:0}.hud{align-items:center;gap:8px;min-height:50px;display:flex}.hudmid{text-align:center;color:#fff6dc;flex:1;min-width:0}.lbl{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.dots{justify-content:center;gap:6px;margin-top:3px;display:flex}.dots i{opacity:.7;border:2px solid #fff6dc;border-radius:50%;width:10px;height:10px}.dots i.done{background:var(--gold);border-color:var(--gold);opacity:1}.dots i.now{opacity:1;background:#fff6dc}.hudcredit{color:#fff6dc;text-align:right;max-width:70px;font-size:14px;font-weight:700;line-height:1.1;text-decoration:none;position:relative}.hudcredit:after{content:"";position:absolute;inset:-12px -6px}.gridzone{flex:auto;place-items:center;min-height:120px;display:grid;position:relative}.grid{position:relative}.cell{text-transform:uppercase;color:var(--ink);background:#fff4d629;border:2px solid #fff4d659;border-radius:22%;place-items:center;font-weight:900;transition:background .2s;display:grid;position:absolute}.cell.on{background:var(--tile);border-color:var(--ink);box-shadow:0 3px 0 var(--ink);animation:.42s cubic-bezier(.2,1.6,.4,1) both cellPop}.cell.hint{border-color:var(--plum);color:var(--plum);box-shadow:0 3px 0 var(--plum);background:#f4e7ff;animation:.42s cubic-bezier(.2,1.6,.4,1) both cellPop}.cell.flash{animation:.5s both cellFlash}.cell.wave{animation:.6s both cellWave}@keyframes cellPop{0%{transform:scale(.2)rotate(-12deg)}}@keyframes cellFlash{50%{background:#fff;transform:scale(1.15)}}@keyframes cellWave{40%{transform:translateY(-9px)scale(1.08)}}.guestpeek{pointer-events:none;position:absolute;inset:0}.guestpeek img{object-fit:contain;object-position:50% 100%;transform-origin:50% 100%;width:130px;height:170px;animation:2.2s ease-in-out infinite alternate tbob;position:absolute;bottom:0}.guestpeek img.l{left:0}.guestpeek img.r{animation-delay:-1.1s;right:0}.guestpeek.cheer img{animation:.8s cheer}.wordbar{z-index:5;justify-content:center;align-items:center;gap:8px;height:54px;display:flex;position:relative}.preview{border-radius:14px;align-items:center;gap:3px;min-height:42px;padding:0 10px;display:flex}.preview.has{border:2.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink);background:#fffaf0f2}.preview span{text-transform:uppercase;text-align:center;min-width:18px;font-size:26px;font-weight:900;animation:.18s both letIn}@keyframes letIn{0%{opacity:0;transform:translateY(8px)scale(.6)}}.preview.good{background:var(--mint)}.preview.bonus{background:#fdf0c4}.preview.bad{background:#ffd9d2;animation:.38s shakeX}.preview.again{background:#e9e1f2;animation:.38s shakeX}@keyframes shakeX{20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.okbtn,.xbtn{border:2.5px solid var(--ink);width:46px;height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;padding:0;font-size:20px;font-weight:900}.okbtn{background:var(--teal);color:#fff}.xbtn{background:var(--card)}.ringzone{flex:none;position:relative}.ring{touch-action:none;border-radius:50%;position:absolute}.ring:before{content:"";background:radial-gradient(circle,#fffaf033,#fffaf012 70%);border:2px dashed #fff4d64d;border-radius:50%;position:absolute;inset:6%}.ink{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ink polyline{fill:none;stroke:#1d1a17;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;opacity:.82}.ink circle{fill:#1d1a17;opacity:.82}.tile{z-index:2;touch-action:none;background:0 0;border:0;padding:0;position:absolute}.tile .cr{pointer-events:none;transform-origin:50% 100%;height:96%;position:absolute;top:-52%;left:-14%;right:-14%}.tile .cr img{object-fit:contain;object-position:50% 100%;width:100%;height:100%;position:absolute;inset:0}.tile .lt{aspect-ratio:1;background:var(--tile);border:2.5px solid var(--ink);text-transform:uppercase;width:68%;box-shadow:0 3px 0 var(--ink);pointer-events:none;border-radius:22%;place-items:center;font-weight:900;transition:background .1s;display:grid;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}.tile.sel .lt{background:var(--gold);transform:translate(-50%)scale(1.1)}.tile.hop .cr{animation:.5s cubic-bezier(.3,1.6,.5,1) hop}.tile.cheer .cr{animation:.7s cheer}@keyframes hop{30%{transform:translateY(-16px)scaleX(.92)scaleY(1.1)}60%{transform:translateY(0)scaleX(1.08)scaleY(.92)}}@keyframes cheer{25%{transform:translateY(-12px)rotate(-8deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-8px)rotate(8deg)}}.tile.spin{transition:left .45s cubic-bezier(.4,1.3,.5,1),top .45s cubic-bezier(.4,1.3,.5,1)}.host{border:2.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink);z-index:1;background:#fffaf0eb;border-radius:50%;padding:4px;position:absolute}.host img{object-fit:contain;transform-origin:50% 100%;width:100%;height:100%}.host .spin{background:var(--card);border:2px solid var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;display:grid;position:absolute;bottom:-6px;right:-6px}.host.cheer img{animation:.8s cheer}.host.big{border-color:var(--gold);box-shadow:0 0 0 4px #e8b92380, 2px 3px 0 var(--ink)}.tool{z-index:6;border:2.5px solid var(--ink);background:var(--card);width:56px;height:56px;box-shadow:2px 3px 0 var(--ink);border-radius:50%;place-items:center;padding:4px;font-size:24px;display:grid;position:absolute}.tool img{object-fit:contain;width:100%;height:100%}.tool .badge{background:var(--plum);color:#fff;border:2px solid var(--ink);white-space:nowrap;border-radius:10px;padding:0 7px;font-size:14px;font-weight:800;line-height:18px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.tool.full{animation:.7s jarJig}.tool.glow{box-shadow:0 0 0 5px #e8b923b3, 2px 3px 0 var(--ink)}@keyframes jarJig{25%{transform:rotate(-12deg)scale(1.15)}50%{transform:rotate(10deg)scale(1.1)}75%{transform:rotate(-5deg)}}.combo{z-index:8;background:var(--gold);border:2.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink);pointer-events:none;white-space:nowrap;border-radius:999px;padding:6px 16px;font-size:18px;font-weight:900;animation:.5s cubic-bezier(.2,1.6,.4,1) comboIn;position:fixed;left:50%;transform:translate(-50%)}@keyframes comboIn{0%{transform:translate(-50%)scale(.3)rotate(-10deg)}}.flyer{z-index:9;pointer-events:none;text-transform:uppercase;background:var(--tile);border:2px solid var(--ink);border-radius:22%;place-items:center;font-weight:900;transition:transform .42s cubic-bezier(.5,0,.6,1.2),opacity .42s;display:grid;position:fixed}.ghost{z-index:9;pointer-events:none;width:44px;height:44px;font-size:34px;transition:left .5s,top .5s;position:fixed}.coach{z-index:10;width:min(420px, calc(100vw - 2 * var(--gut)));background:var(--card);border:2.5px solid var(--ink);box-shadow:3px 4px 0 var(--ink);border-radius:16px;padding:10px 12px;font-size:16px;font-weight:700;animation:.3s cardIn;position:fixed;left:50%;transform:translate(-50%)}.coach.nope{background:#fff0eb;animation:.4s shakeX}.coach .cbtns{justify-content:flex-end;margin-top:6px;display:flex}.coach button{border:2px solid var(--ink);background:var(--soft);border-radius:999px;min-height:44px;padding:6px 14px;font-size:14px;font-weight:800}.toast{z-index:11;max-width:calc(100vw - 2 * var(--gut));background:var(--ink);color:#fff6dc;pointer-events:none;text-align:center;border-radius:12px;padding:8px 14px;font-size:15px;font-weight:700;position:fixed;top:74px;left:50%;transform:translate(-50%)}.card{background:var(--card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:18px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);padding:18px 18px 16px;animation:.35s cubic-bezier(.2,1.4,.4,1) cardIn;position:relative;overflow:auto}@keyframes cardIn{0%{opacity:0;transform:translateY(26px)scale(.94)}}.card.wide{width:min(700px,100vw - 20px)}.card.center{text-align:center}.card h2{margin:0 0 8px;font-size:24px}.card h3{margin:14px 0 6px;font-size:18px}.card .lead{margin:0 0 12px;font-size:16px}.small{font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.center{justify-content:center}.row.two>*,.row.three>*{flex:1 1 0}.col{flex-direction:column;align-items:stretch;gap:9px;display:flex}.screen button,.card button{border:2.5px solid var(--ink);background:var(--card);min-height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:999px;padding:8px 14px;font-size:16px;font-weight:800}.screen button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.screen button:disabled{opacity:.45;cursor:default}button.primary{background:var(--plum);color:#fff}button.big{min-height:58px;font-size:22px}button.daily{background:#fdf0c4}button small{opacity:.85;font-size:14px;font-weight:700}.closex{z-index:2;width:46px;height:46px;position:absolute;top:10px;right:10px;border-radius:50%!important;padding:0!important}.sheethead{min-height:46px;padding-right:54px;position:relative}.sheethead .closex{top:-4px;right:-4px}.bar2{border:2px solid var(--ink);background:var(--soft);border-radius:8px;height:12px;overflow:hidden}.bar2 i{background:linear-gradient(90deg, var(--plum), var(--teal));width:0;height:100%;transition:width .3s;display:block}.screen{z-index:30;background:#1e162ab8;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.screen.clear{background:0 0}.round{border:2.5px solid var(--ink);background:var(--card);width:46px;height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;font-size:15px;font-weight:900;display:grid;padding:0!important}.cornermute{top:calc(10px + var(--safe-t));z-index:31;position:fixed;right:10px}#title{align-items:center}.titlewrap{text-align:center;width:min(520px, calc(100vw - 2 * var(--gut)));margin-bottom:max(10px, var(--safe-b));flex-direction:column;align-items:center;gap:8px;display:flex}.titlering{width:100%;height:clamp(130px,30dvh,270px);position:relative}.titlering .tc{transform-origin:50% 100%;flex-direction:column;justify-content:flex-end;align-items:center;width:18%;height:100%;animation:1.6s ease-in-out infinite alternate tbob;display:flex;position:absolute;bottom:0}.titlering .tc img{object-fit:contain;object-position:bottom;width:100%;height:62%}.titlering .tc b{aspect-ratio:1;background:var(--tile);border:2.5px solid var(--ink);width:74%;box-shadow:0 3px 0 var(--ink);border-radius:22%;place-items:center;margin-top:-10%;font-size:clamp(18px,5vw,30px);display:grid}@keyframes tbob{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-10px)rotate(3deg)}}.logo{color:#ffe9a8;text-shadow:3px 3px #1d1a17,0 0 18px #ffc87866;white-space:nowrap;margin:0;font-size:clamp(44px,12vw,76px);line-height:.95}.logo span{animation:1.9s ease-in-out infinite alternate logoBob;display:inline-block}.logo span:nth-child(2n){color:#9fe0b0;animation-delay:-.6s}.logo span:nth-child(3n){color:#ff9f8a;animation-delay:-1.1s}@keyframes logoBob{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-6px)rotate(3deg)}}.sub{color:#fff6dc;text-shadow:0 1px 3px #00000080;margin:0;font-size:15.5px;font-weight:650}.titlewrap .col{width:100%}.bestline{color:#fff6dc;min-height:1em;margin:2px 0 0;font-size:14px;font-weight:700}.card .bestline{color:var(--ink)}.links{gap:14px}.credit,.backlink{color:#fff6dc;align-items:center;min-height:44px;padding:0 6px;font-size:14px;font-weight:700;display:inline-flex}.howpage{text-align:center;min-height:220px;padding:6px 30px 10px}.howpage .big{font-size:56px}.howpage h3{font-size:20px}.howpage p{font-size:16px}.hdots{gap:6px;display:flex}.hdots i{background:var(--soft);border:2px solid var(--ink);border-radius:50%;width:10px;height:10px}.hdots i.on{background:var(--plum)}.tabs{flex-wrap:wrap;gap:6px;margin:6px 0 8px;display:flex}.tabs button{min-height:44px;padding:4px 12px;font-size:15px}.tabs button[aria-selected=true]{background:var(--plum);color:#fff}.packgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.packgrid .pack{border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:8px;min-height:64px;padding:8px;display:flex}.packgrid .pack img{object-fit:contain;width:46px;height:46px}.packgrid .pack b{font-size:16px;display:block}.packgrid .pack small{font-size:14px}.packgrid .pack.done{background:var(--mint)}.packgrid .pack.locked{opacity:.55}.packgrid .pack.guest{border-color:var(--gold);box-shadow:0 0 0 3px #e8b92373}.castrow{flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0;display:flex}.castrow img{object-fit:contain;transform-origin:50% 100%;width:54px;height:64px;animation:1s infinite cheer}.castrow img:nth-child(2n){animation-delay:-.3s}.castrow img:nth-child(3n){animation-delay:-.6s}.wordlist{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.wordlist span{background:var(--mint);border:2px solid var(--ink);text-transform:uppercase;border-radius:8px;padding:2px 8px;font-size:15px;font-weight:800}.wordlist span.h{background:#f4e7ff}.wordlist span.b{background:#fdf0c4}.statline{margin:6px 0;font-size:15px;font-weight:700}.feature{text-align:left;border:2.5px solid var(--ink);background:#fff;border-radius:14px;align-items:center;gap:12px;margin:12px 0 6px;padding:10px;display:flex}.feature img{object-fit:contain;transform-origin:50% 100%;flex:none;width:92px;height:92px;animation:1.4s infinite cheer}.feature .links{flex-direction:column;align-items:flex-start;gap:0;font-weight:700;display:flex}.feature a{color:var(--plum);font-weight:800}.unlock{text-align:left;border:2.5px dashed var(--ink);border-radius:14px;align-items:center;gap:10px;margin:10px 0;padding:10px;display:flex}.unlock.ready{background:#fdf0c4;border-style:solid}.unlock img{object-fit:cover;border:2px solid var(--ink);border-radius:8px;width:86px;height:86px}.unlock .q{border:2px solid var(--ink);background:var(--soft);border-radius:10px;flex:none;place-items:center;width:64px;height:64px;font-size:30px;font-weight:900;display:grid}.unlock>div{flex:1}.unlock .bar2{margin-top:6px}.share{border:2px solid var(--ink);white-space:pre-wrap;text-align:left;-webkit-user-select:text;user-select:text;background:#fff;border-radius:10px;padding:10px;font:15px/1.4 ui-monospace,Menlo,monospace}.week{justify-content:center;gap:6px;margin:10px 0 0;display:flex}.week span{border:2px solid var(--ink);background:var(--soft);border-radius:8px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.week span.done{background:var(--gold)}.bookgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.bk{border:2px solid var(--ink);text-align:center;background:#fff;border-radius:12px;padding:8px;font-size:14px;font-weight:700}.bk img{object-fit:contain;width:100%;height:90px}.bk.pic img{object-fit:cover}.bk .q{background:var(--soft);border-radius:8px;place-items:center;height:90px;font-size:36px;display:grid}.bk a{color:var(--plum);font-size:14px;font-weight:800;display:inline-flex}.recs{grid-template-columns:1fr auto;gap:6px 14px;font-size:16px;display:grid}.recs b{text-align:right}.viewbig{object-fit:contain;max-width:100%;max-height:60dvh}.shop-link,.feature a,.bk a{position:relative}@media (width>=900px) and (aspect-ratio>=4/3){.play{--gut:60px}}.play.wide{grid-template-rows:auto 1fr auto auto;grid-template-columns:1.15fr 1fr;column-gap:30px;display:grid}.play.wide .hud{grid-column:1/3}.play.wide .gridzone{grid-area:2/1/5}.play.wide .wordbar{grid-area:3/2}.play.wide .ringzone{grid-area:4/2}
