:root{color-scheme:dark;--gold:#e8b967;--cream:#f3dfba;--plum:#21132f;--muted:#b5a3bf}*{box-sizing:border-box}body{margin:0;background:#140e1d;color:var(--cream);font-family:Arial,sans-serif}button{cursor:pointer;font:inherit;touch-action:manipulation;color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:3px solid #7ff0db;outline-offset:2px}button:active:not(:disabled){transform:scale(.97)}[hidden]{display:none!important}.app{max-width:520px;margin:auto;min-height:100dvh;position:relative;background:linear-gradient(#22132980,#20122ff2),url('assets/shop.webp') center top/cover fixed;padding-bottom:100px;box-shadow:0 0 90px #0008}header{display:flex;align-items:center;gap:8px;padding:17px 14px;background:#21132ff5;border-bottom:1px solid #a57645;position:relative;z-index:3}.wordmark{font-family:Georgia,serif;font-size:19px;letter-spacing:.4px;font-weight:bold;flex:1;text-shadow:0 2px 3px #000;color:#f2cb88}.wordmark span{color:var(--gold)}.wallet{border:1px solid #986239;border-radius:30px;background:linear-gradient(#4f3024,#312034);padding:7px 11px;color:#ffda89;white-space:nowrap;font-size:13px}.help{width:27px;height:27px;padding:0;border:1px solid #87617c;border-radius:50%;background:#35203d;font-size:14px}.page{padding:16px 14px}.quest{display:flex;min-height:115px;border:1px solid #ba8b57;border-radius:14px;overflow:hidden;background:linear-gradient(120deg,#fae4b9,#d5b988);color:#43252c;box-shadow:0 5px 20px #08000c55;margin-bottom:18px}.guest{width:25%;min-width:78px;background-image:url('assets/guests.webp');background-size:300% 100%;background-position:0% center;align-self:stretch}.questbody{flex:1;padding:12px 8px}.eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:700;color:#bc965f}.quest .eyebrow{color:#856044;letter-spacing:1.2px}h1,h2{font-family:Georgia,serif;font-weight:500}.quest h1{font-size:18px;margin:5px 0 10px;line-height:1.1}.goals{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.goal{display:flex;gap:4px;align-items:center;font-size:11px;font-weight:bold}.goal.done{color:#246e44}.goal .gem{width:27px;height:27px;border-radius:7px}.moves{width:65px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(#48214e,#251733);color:#f9dfad;border-left:2px solid #c59c5a}.moves small{font-size:9px;letter-spacing:1px}.moves strong{font-family:Georgia,serif;font-size:36px;margin-top:5px}.moves.low strong{color:#ff9b91}.boardframe{border:2px solid #a77649;border-radius:15px;padding:8px;background:#20172de8;box-shadow:0 0 0 3px #3e2949,0 8px 24px #05000966;position:relative}.corner{position:absolute;color:var(--gold);z-index:2;pointer-events:none;font-size:18px}.tl{top:-8px;left:-8px}.br{bottom:-8px;right:-8px}#board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;touch-action:none;user-select:none}.tile{border:1px solid #69517a70;border-radius:9px;background:#261c3c;position:relative;aspect-ratio:1;padding:2px;min-width:0;box-shadow:inset 0 1px 1px #b8a4dc25,0 2px 2px #0004;transition:transform .13s,opacity .13s,box-shadow .13s;touch-action:none}.gem{display:block;width:100%;height:100%;background-image:url('assets/tiles.webp');background-size:300% 200%;border-radius:7px}.tile.selected{outline:2px solid #ffd679;transform:scale(1.08);z-index:2;box-shadow:0 0 18px #ffc260bb}.tile.suggest{outline:2px solid #8ff9df;animation:pulse 1s infinite}.tile.clearing{transform:scale(.3);opacity:0}.tile.falling{animation:fall .2s ease-out}.tile.iced:after{content:'❄';position:absolute;inset:0;background:#52c8ff2a;border:2px solid #9adfff9c;border-radius:8px;color:#dffbff;font-size:14px;text-align:right;padding:1px;pointer-events:none}.tile .special{position:absolute;inset:auto 1px 2px;text-align:center;background:#f8ca6ece;color:#462455;font-size:12px;line-height:14px;border-radius:4px;font-weight:bold}.tile.rainbow{box-shadow:0 0 12px #e4a0ff;border-color:#ffc8fa}.combo{position:absolute;top:38%;left:0;right:0;text-align:center;font:bold 32px Georgia,serif;color:#ffdc8d;text-shadow:0 3px 5px #33103a,0 0 20px #bf5bf5;pointer-events:none;opacity:0;z-index:5}.combo.visible{animation:combo .65s ease-out}.brew{margin:20px 4px 5px}.brewtop{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#ead0a7}.meter{height:12px;margin:8px 0;background:#110e20;border:1px solid #81654e;border-radius:20px;padding:2px;overflow:hidden}.meter>div{height:100%;width:0;background:linear-gradient(90deg,#37a69f,#99ffe1);box-shadow:0 0 12px #72f2d6;border-radius:20px;transition:width .35s}.brew p{font-size:11px;text-align:center;color:#cbb5d2;min-height:26px;line-height:1.4;margin:8px 0 0}.boosters{display:flex;justify-content:center;gap:24px}.boosters button{background:linear-gradient(#753798,#352048);border:2px solid #b78a4c;border-radius:50%;width:61px;height:61px;position:relative;box-shadow:inset 0 0 10px #df94e73d,0 4px 0 #130b1e;margin-bottom:24px}.boosters button>span{font-size:32px;color:#ffd58a;text-shadow:0 2px #4e204f}.boosters button>b{position:absolute;bottom:-4px;right:-7px;background:#462264;border:1px solid #bf86d3;border-radius:50%;font-size:12px;min-width:22px;line-height:22px}.boosters button small{position:absolute;top:66px;left:-20px;right:-20px;font-size:9px;color:#d0b8d4}.boosters button.selected{outline:3px solid #8df1d5}.playfoot{display:flex;justify-content:space-between;margin-top:14px}.playfoot button{border:0;background:none;color:#af98bc;font-size:10px;padding:8px 0}nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);display:grid;grid-template-columns:repeat(3,1fr);padding:5px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #b38153;background:linear-gradient(#38203f,#21132f);box-shadow:0 -8px 30px #130b1d88;border-radius:20px 20px 0 0}nav button{background:none;border:1px solid transparent;border-radius:11px;font:11px Georgia,serif;letter-spacing:.8px;padding:7px;color:#b99cb6}nav button span{display:block;font-size:25px;margin-bottom:3px}nav button.active{color:#ffe2a9;background:linear-gradient(#733a83,#422654);border-color:#c58c62;box-shadow:inset 0 0 15px #c071bd30}.sectiontitle{text-align:center;padding:4px 0 15px}.sectiontitle h1{font-size:29px;margin:7px 0;color:#ffe3a7}.sectiontitle p{font-size:12px;color:#c8b5d0}.shopscene{height:330px;background:url('assets/shop.webp') center 58%/cover;border:1px solid #b38a58;border-radius:15px;position:relative;overflow:hidden;box-shadow:0 8px 30px #0005}.shopscene>span{position:absolute;top:14px;left:14px;background:#482253e6;border:1px solid #c79a66;padding:7px 12px;border-radius:20px;font-size:10px}.shopscene p{position:absolute;bottom:0;margin:0;width:100%;background:linear-gradient(transparent,#21132ffa);padding:35px 10px 16px;text-align:center;font:14px Georgia,serif}.deco{position:absolute;background:#281331ce;border:1px solid #d4a663;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:20px;box-shadow:0 0 18px #fcd77766}.parchment{background:linear-gradient(120deg,#f2dbb0,#d2b081);border:2px solid #b78850;border-radius:12px;padding:15px;margin-top:16px;color:#462737}.parchment h2{margin:0 0 8px;text-align:center;font-size:23px}.upgrade{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #a57d5755}.upgrade:last-child{border:0}.upgrade .badge{font-size:30px;background:#392346;border-radius:10px;width:49px;height:49px;display:grid;place-items:center}.upgrade .info{flex:1}.upgrade h3{font:17px Georgia,serif;margin:0 0 5px}.upgrade p{font-size:10px;margin:0;line-height:1.5;color:#785238}.buy{border:1px solid #9d6429;border-radius:8px;background:linear-gradient(#ffdd8c,#d59436);color:#522b20;padding:10px;font-size:12px;font-weight:bold;white-space:nowrap}.supply{padding:18px 4px}.supply h2{margin:0;font-size:22px}.supply p{font-size:11px;color:#bba2c7}.supplies{display:flex;gap:8px}.supplies button{flex:1;background:#382342;border:1px solid #876148;border-radius:10px;padding:13px 4px;font-size:11px}.supplies span{display:block;font-size:26px;margin-bottom:8px}.ordercard{background:linear-gradient(110deg,#efdab4,#c9a774);border:2px solid #b48953;border-radius:13px;overflow:hidden;color:#492b33;margin:0 0 14px;box-shadow:0 7px 20px #10051966;display:flex;min-height:175px}.ordercard.locked{filter:saturate(.5);opacity:.7}.ordercard .guest{width:29%;min-width:95px;background-size:auto 100%;}.ordercontent{padding:13px;flex:1;min-width:0}.ordercontent h2{font-size:21px;margin:5px 0 8px}.ordercontent p{font-size:12px;line-height:1.4;margin:0 0 10px}.ordercontent .eyebrow{color:#83542f}.reward{display:flex;justify-content:space-between;font-size:11px;align-items:center;margin:10px 0}.start{background:linear-gradient(#3b9971,#20543f);border:1px solid #24563f;box-shadow:inset 0 1px #98d18e;border-radius:7px;padding:10px;width:100%;color:#fff2cf;font-size:11px;letter-spacing:1px}.primary,.secondary{width:100%;border:1px solid #c39351;border-radius:9px;padding:14px;font-size:13px;margin-top:10px;background:linear-gradient(#e9bf74,#c38a3c);color:#402632;font-weight:bold}.secondary{background:#3b2549;color:#e7c6ee;border-color:#84608b}dialog{width:min(430px,92vw);max-height:85dvh;overflow:auto;background:linear-gradient(#392446,#221630);border:1px solid #b28a53;border-radius:18px;padding:26px;color:#f3dfba;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#0b0516c9;backdrop-filter:blur(5px)}dialog h2{font-size:30px;margin:9px 0 15px}dialog p,dialog li{font-size:13px;line-height:1.65;color:#d4bfdc}dialog ul{padding-left:20px}.medal{text-align:center;font-size:45px;color:#f8cc79}.resultcoins{text-align:center;font:30px Georgia,serif;color:#ffe4a1;margin:16px 0}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(10px);background:#24152ff2;border:1px solid #c89d62;border-radius:10px;padding:13px 18px;font-size:12px;z-index:30;pointer-events:none;opacity:0;transition:.2s;width:max-content;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translateX(-50%)}@keyframes pulse{50%{box-shadow:0 0 13px #7eeed3}}@keyframes fall{from{transform:translateY(-15px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes combo{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1.1)}75%{opacity:1}100%{opacity:0;transform:translateY(-25px)}}@media(max-width:360px){.wordmark{font-size:16px}.quest h1{font-size:16px}.moves{width:48px}.page{padding:12px 10px}#board{gap:3px}.boardframe{padding:5px}.ordercard .guest{min-width:75px}.ordercontent{padding:10px}.ordercontent h2{font-size:18px}}@media(min-width:800px){body{padding:20px 0}.app{border:1px solid #654367;border-radius:20px;overflow:hidden}nav{bottom:12px;border:1px solid #a57b55;border-radius:18px;width:500px}.shopscene{height:360px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* v2 — illustrated screens, expressive characters and responsive animation layers */
:root{--gold:#edc486;--cream:#fff0d0}.app{max-width:510px;background:linear-gradient(#28123538,#21112b70 55%,#1c1025aa),url('assets/shop.webp') center top/cover fixed;padding-bottom:105px}header{padding:14px 12px;background:linear-gradient(#32192a,#26152e);border-bottom:3px double #b18a59;box-shadow:0 3px 15px #17080f88;gap:8px}.wordmark{font-size:20px;text-align:center;letter-spacing:.4px;white-space:nowrap;font-variant:small-caps;color:#f5d699;flex:auto;line-height:1.2}.flourish{font-size:22px;color:#ae7e4f}.wallet{font-size:12px;padding:7px 9px;box-shadow:inset 0 1px #f3d68b44}.help{width:25px;height:25px;flex-shrink:0}.page{padding:13px 12px}.quest{min-height:124px;border-radius:9px;border:2px solid #d1a770;box-shadow:0 0 0 2px #553a32,0 4px 14px #210b1d88;background:radial-gradient(ellipse at 25% 15%,#fff0d0aa,transparent 65%),linear-gradient(110deg,#edd2a1,#f4dfb5,#caa66c);margin-bottom:15px;position:relative}.quest:after,.parchment:after{content:'';position:absolute;inset:4px;border:1px solid #ad7c4433;pointer-events:none;border-radius:5px}.guest{position:relative;background-image:none!important;border:0;background-color:transparent;padding:0;overflow:hidden;cursor:pointer}.quest .guest{width:27%;min-width:92px;background:radial-gradient(ellipse at 40% 90%,#bf8148,#72483b) !important;border-right:1px solid #a87b46}.guest-art{display:block;position:absolute;inset:0;background-position:center bottom;background-size:contain;background-repeat:no-repeat;transform-origin:center bottom;animation:character-breathe 5s ease-in-out infinite;pointer-events:none}.guest-0 .guest-art{background-image:url('assets/rem.webp')}.guest-1 .guest-art{background-image:url('assets/felix.webp');animation:ghost-float 4s ease-in-out infinite}.guest-2 .guest-art{background-image:url('assets/agatha.webp');animation:witch-sway 7s ease-in-out infinite}.quest .guest-art{background-size:auto 100%;inset:0 -10% 9px}.portrait-name{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#301f2cea);color:#ffe9bb;text-align:center;font:12px Georgia,serif;letter-spacing:1px;padding:11px 4px 6px;pointer-events:none}.questbody{padding:11px 8px 9px}.quest h1{font-weight:600;font-size:20px;line-height:1.12;margin:4px 0}.quest-subtitle{font:10px Georgia,serif;color:#946c45;margin:0 0 9px}.quest .eyebrow{font-size:7px;letter-spacing:1.7px}.moves{width:64px;clip-path:polygon(0 0,100% 0,100% 89%,50% 100%,0 89%);background:linear-gradient(120deg,#70366f,#3d204f 65%,#251b41);border-left:2px solid #d3aa62;padding-bottom:9px;margin:0 0 -1px}.moves strong{font-size:42px;font-weight:400;text-shadow:0 3px #2b1638}.moves small{font-family:Georgia,serif;font-size:10px;letter-spacing:1px}.goal{font:12px Georgia,serif;gap:2px;flex-direction:column}.goal .gem{width:30px;height:30px;background-color:#261c3c;box-shadow:0 1px 2px #5e3a2244}.goals{gap:10px;align-items:flex-start}.boardframe{border:3px solid #bb8c51;background:linear-gradient(145deg,#45304e,#151a34);border-radius:13px;padding:8px;box-shadow:0 0 0 2px #54334b,inset 0 0 0 1px #efd596,0 6px 16px #16071b80;z-index:2}.boardframe:before{content:'';position:absolute;inset:2px;border:1px solid #f6d38b55;border-radius:9px;pointer-events:none}.corner{font-size:23px;text-shadow:1px 2px #694325}.tl{top:-10px;left:-10px}.br{bottom:-10px;right:-10px}#board{gap:4px;position:relative;isolation:isolate}.tile{border-radius:8px;padding:1px;background:linear-gradient(#3e2e55,#231a37);border-color:#9d7abd45;box-shadow:inset 0 1px 2px #c2a0ed30,0 2px 1px #160e28;overflow:visible}.tile .gem{border-radius:6px;position:relative;will-change:auto}.tile.selected{outline:2px solid #ffe7a5;box-shadow:0 0 13px #ffc668bb}.tile .special{background:linear-gradient(90deg,#fed67480,#fff0a5dd,#fed67480);border:1px solid #ffe6a9c9;bottom:2px;left:1px;right:1px;font-size:10px;line-height:11px;color:#6e3073;box-shadow:0 0 8px #ebc16275;pointer-events:none}.tile.iced:after{font-size:13px;background:linear-gradient(135deg,#a9f5ff66,transparent 45%,#50cdff50);border-color:#bef6ff;box-shadow:inset 0 0 8px #aef6ff75;pointer-events:none}.tile.rainbow{box-shadow:0 0 9px #e6afff,inset 0 0 6px #d996ff;animation:special-glow 2.5s ease-in-out infinite}.cauldron-scene{margin:-2px -12px 0;height:182px;position:relative;background:url('assets/cauldron.webp') center center/cover;isolation:isolate}.cauldron-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(#1b122a12,transparent 50%,#21142be8);pointer-events:none;z-index:0}#cauldronTarget{position:absolute;left:31%;top:28%;width:25%;height:16%;border-radius:50%;background:radial-gradient(ellipse,#d3ffeab3,#25f7d830,transparent 75%);box-shadow:0 0 22px #53edd352;mix-blend-mode:screen;z-index:1;pointer-events:none}.steam{position:absolute;left:40%;top:22%;width:15px;height:50px;filter:blur(4px);background:linear-gradient(transparent,#8affdf77,transparent);border-radius:100%;transform:rotate(12deg);animation:steam-rise 3s ease-out infinite;pointer-events:none}.steam-two{left:48%;animation-delay:1.3s;transform:rotate(-12deg)}#catBtn{position:absolute;left:67%;top:12%;width:29%;height:66%;border:0;background:transparent;z-index:2;border-radius:50%;cursor:pointer}#catBtn:focus-visible{outline:2px dashed var(--gold)}.brew{position:absolute;left:16%;right:16%;bottom:10px;z-index:2;padding:9px 12px 7px;margin:0;border:2px solid #b78a50;border-radius:11px;background:linear-gradient(#422541ed,#24182cf0);box-shadow:0 0 0 2px #422838,inset 0 0 0 1px #edc9975c}.brewtop{font:9px Georgia,serif;letter-spacing:.3px;color:#ffe4b9}.brewtop>span{font-size:8px}.meter{height:11px;margin:6px 0 0;border-color:#a48963;background:#18172e;box-shadow:inset 0 2px 4px #000a}.meter>div{background:linear-gradient(#baffea,#47dac1,#218f8f);box-shadow:0 0 8px #a6ffda}.game-hint{font-size:10px;line-height:1.4;min-height:24px;text-align:center;color:#e2c6d8;margin:6px 0 7px;padding:0 10px}.boosters{gap:32px}.boosters button{width:70px;height:70px;margin-bottom:22px;background:radial-gradient(circle at 35% 30%,#8947a8,#592476 55%,#301c48);border:3px solid #d2a156;box-shadow:0 0 0 2px #624135,inset 0 0 0 1px #ffedb094,inset 0 0 15px #d874ff33,0 5px 3px #0f081d88}.booster-art{display:block;width:100%;height:100%;background-image:url('assets/boosters.webp');background-size:300% 100%;background-repeat:no-repeat;background-position:0 0}.shuffle-art{background-position:50% 0}.potion-art{background-position:100% 0}.boosters button>span{font-size:0;transform:scale(1.16)}.boosters button>b{font-size:14px;min-width:24px;line-height:24px;border:2px solid #d0a0dc;background:linear-gradient(#6b2a84,#3d1e58);bottom:-5px;right:-6px;box-shadow:0 2px 3px #130b18}.boosters button small{top:72px;color:#e7cbdc;font:10px Georgia,serif}.playfoot{margin-top:5px;gap:8px;justify-content:space-around}.playfoot button{font-size:9px;color:#d2b1cd;padding:7px 2px}.sectiontitle{padding:7px 0 15px;position:relative}.sectiontitle h1{display:inline-block;margin:5px 0;padding:8px 28px;color:#4e2b2c;background:linear-gradient(110deg,#dfbd80,#f9e3b7,#d6ac6b);border-top:1px solid #fff0c8;border-bottom:2px solid #94663d;clip-path:polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);font-size:28px;text-transform:uppercase;text-shadow:0 1px #ffe9c1}.sectiontitle .eyebrow{display:block;color:#e0c395;font-size:7px;text-shadow:0 2px #130f1e}.sectiontitle p{font:11px Georgia,serif;color:#efcebd;margin:7px 0}.shopscene{height:390px;border:2px solid #b88d53;border-radius:10px;background-position:center 55%;box-shadow:0 0 0 2px #4c3148,0 8px 20px #11071988}.shopscene>span{z-index:3}.shopscene>span.shop-glow{pointer-events:none;border:0;box-shadow:none;background:radial-gradient(ellipse,#64efb827,transparent 65%);width:60%;height:36%;left:20%;top:40%;padding:0;animation:cauldron-glow 4s ease-in-out infinite}.shopscene p{font-size:12px;pointer-events:none}.shop-hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);width:37px;height:37px;background:radial-gradient(#dbb166,#8c5c25);border:2px solid #fff1b1;border-radius:50%;font:30px Georgia,serif;line-height:25px;box-shadow:0 0 14px #ffdf8177;color:#fff6ce}.shop-hotspot>span{position:absolute;top:38px;left:50%;transform:translateX(-50%);font:9px Arial,sans-serif;white-space:nowrap;padding:4px 7px;background:#2a1935dd;border-radius:5px;opacity:0;transition:opacity .2s;pointer-events:none}.shop-hotspot:focus span,.shop-hotspot:hover span{opacity:1}.parchment{position:relative;border:3px solid #ad7b45;box-shadow:0 0 0 2px #513640,inset 0 0 0 1px #ffe7b6,0 7px 17px #14082188;background:radial-gradient(ellipse at 30% 10%,#fff0c680,transparent 80%),linear-gradient(120deg,#efd5a4,#dcc08b);border-radius:10px;padding:12px 16px;margin-top:14px}.parchment h2{font-size:24px;text-transform:uppercase;border-bottom:1px solid #a26d3c55;padding-bottom:9px}.upgrade{padding:12px 0;gap:12px}.upgrade .badge{width:73px;height:61px;flex-shrink:0;border:2px solid #bb8545;border-radius:7px;background-color:#322038;background-size:cover;box-shadow:0 2px 4px #67482255}.upgrade .pot-art{background-image:url('assets/cauldron.webp');background-size:200% 100%;background-position:22% center}.upgrade .cat-art{background-image:url('assets/cauldron.webp');background-size:230% 100%;background-position:100% center}.upgrade .shelf-art{background-image:url('assets/shop.webp');background-position:25% 15%;background-size:220%}.upgrade h3{font-size:18px}.upgrade p{font-size:10px;line-height:1.5;color:#795233}.buy{min-width:66px;padding:12px 8px;background:linear-gradient(#ffe197,#f8bb4f 50%,#cc8523);border:1px solid #aa742a;box-shadow:inset 0 0 0 2px #fff2aa55,0 3px 0 #9c6733;color:#623620;font-size:13px}.buy:disabled{background:linear-gradient(#abaaa4,#626674);border-color:#767170;box-shadow:inset 0 0 0 1px #ded6c6;opacity:.75;color:#ede3d3}.supply{text-align:center;padding-top:24px}.supply h2{font-size:24px;color:#f4d59e}.supply p{font-size:10px}.supplies{gap:12px}.supplies button{background:linear-gradient(#58325d,#2b1b38);border:1px solid #b28a50;box-shadow:inset 0 0 0 2px #bc8b5340;font-size:10px}.supplies .booster-art{height:58px;width:58px;margin:0 auto 7px}.ordercard{min-height:223px;border:3px solid #b8874c;border-radius:10px;position:relative;box-shadow:0 0 0 2px #493041,inset 0 0 0 1px #ffeac4,0 8px 20px #160a1888;background:radial-gradient(ellipse at 75% 25%,#ffedcbaa,transparent 80%),linear-gradient(110deg,#ca9d5c,#f3d9a9);margin-bottom:19px;overflow:hidden}.ordercard .guest{width:35%;min-width:120px;background:linear-gradient(90deg,#5b37368a,transparent)!important;align-self:stretch}.ordercard .guest-art{inset:10px -14% 17px;background-position:center center;background-size:contain}.ordercard .portrait-name{padding-bottom:10px;font-size:14px}.ordercontent{padding:14px 12px 12px 3px;display:flex;flex-direction:column;justify-content:center}.ordercontent h2{font-size:23px;margin:5px 0 9px;font-weight:600}.ordercontent p{font:12px Georgia,serif;line-height:1.45;color:#83513c;margin-bottom:8px}.ordercontent .eyebrow{font-size:7px;letter-spacing:1px}.order-ingredients{display:flex;gap:13px;align-items:center}.order-ingredients>span{display:flex;align-items:center;gap:3px;font:11px Georgia,serif}.order-ingredients .gem{width:29px;height:29px;border-radius:7px;background-color:#261c3c}.reward{margin:8px 0 10px;font-size:9px;color:#7a512e}.reward b{font:18px Georgia,serif;color:#77491d}.start{padding:11px 5px;border:2px solid #a7813f;border-radius:10px;background:linear-gradient(#419454,#116330 50%,#1d4d31);font:bold 12px Georgia,serif;letter-spacing:.6px;box-shadow:inset 0 0 0 1px #b8d990,0 2px 0 #654631}.ordercard.locked .start{background:linear-gradient(#968888,#5c4c61);box-shadow:inset 0 1px #ddd0bb}.ordercard.locked{opacity:.8;filter:saturate(.65)}nav{max-width:510px;padding:4px 7px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(#472340,#301630 65%,#24132c);border-top:3px double #ca9b64;box-shadow:0 -4px 0 #412136,0 -10px 20px #1d0b2555;border-radius:17px 17px 0 0}nav button{font:12px Georgia,serif;color:#caa78d;padding:7px 3px;letter-spacing:1px;position:relative}nav button svg{display:block;width:31px;height:31px;margin:0 auto 5px;fill:#d3ac76;stroke:#d3ac76;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}nav button[data-tab="play"] svg{fill:#d3ac76}nav button[data-tab="orders"] svg{fill:none;stroke-width:2.7}nav button.active{background:radial-gradient(ellipse at center,#84478c,#49214d);border:1px solid #e8ba76;box-shadow:inset 0 0 0 2px #ba8b6244,0 0 15px #cb64bc25;color:#ffe0ad}nav button.active:before{content:'✦';position:absolute;top:-12px;left:45%;color:#ffc9ed;text-shadow:0 0 10px #ff8cdc}nav button.active svg{filter:drop-shadow(0 0 6px #ffade1)}dialog{background:radial-gradient(ellipse at top,#5a365c,#2b1b39 65%);border:2px solid #cba16a;box-shadow:0 0 0 3px #52374a,0 20px 90px #0009;padding:24px;position:fixed}.profile-art{height:230px;position:relative;background:radial-gradient(ellipse,#f3b98535,transparent 65%);margin:-10px 0 10px}.profile-art .guest-art{background-position:center center}.profile-like{padding:10px 14px;border-left:2px solid #d8b177;background:#f1c78012}.result-character{height:150px;position:relative;background:radial-gradient(ellipse,#ffe3a142,transparent 65%);margin:-12px 0 -20px}.result-character .guest-art{background-position:center top;background-size:auto 100%}.medal{position:relative;z-index:1;text-shadow:0 3px 5px #372040;font-size:37px;margin-top:-5px}.primary{background:linear-gradient(#f6d59a,#d8a34e);box-shadow:inset 0 0 0 1px #ffeac0,0 3px #805339}.resultcoins{padding:8px;background:#e5bc7412;border-radius:8px;font-size:28px}.flying-gem{position:fixed;width:28px;height:28px;pointer-events:none;z-index:36;border-radius:50%;box-shadow:0 0 12px #a5ffee;will-change:transform,opacity}#particleCanvas{position:fixed;inset:0;pointer-events:none;z-index:35}.magic-beam{position:fixed;pointer-events:none;z-index:34;transform:translate(-50%,-50%);background:#fff7bc;box-shadow:0 0 18px #f7b3ff,0 0 40px #d4b3ff}.magic-beam.horizontal{width:min(470px,95vw);height:5px}.magic-beam.vertical{height:min(470px,65vh);width:5px}.magic-beam.circle{width:130px;height:130px;background:transparent;border:4px solid #fff1ac;border-radius:50%}#guestReaction{position:fixed;top:95px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:25;background:linear-gradient(#fff1ce,#e8c692);border:2px solid #bf904e;box-shadow:0 6px 20px #160b2260;color:#62352b;padding:12px 17px;border-radius:12px;font:14px Georgia,serif;text-align:center;max-width:85vw;width:max-content;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}#guestReaction.visible{opacity:1;transform:translateX(-50%)}#toast{bottom:110px}.page[hidden] *{animation-play-state:paused!important}@keyframes character-breathe{0%,100%{transform:translateY(1px) scale(1)}50%{transform:translateY(-1px) scale(1.018)}}@keyframes ghost-float{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes witch-sway{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}@keyframes steam-rise{0%{opacity:0;translate:0 15px;scale:.7}35%{opacity:.7}100%{opacity:0;translate:10px -45px;scale:1.6}}@keyframes cauldron-glow{50%{opacity:.45;scale:1.08}}@keyframes special-glow{50%{filter:brightness(1.2)}}@media(max-width:400px){.wordmark{font-size:17px}.flourish{font-size:18px}.wallet{font-size:11px;padding:6px 7px}header{gap:6px;padding:13px 10px}.quest h1{font-size:18px}.quest .guest{min-width:82px}.moves{width:55px}.moves strong{font-size:36px}.goal .gem{width:27px;height:27px}.goals{gap:7px}.cauldron-scene{height:156px}.shopscene{height:345px}.upgrade .badge{width:58px;height:57px}.upgrade h3{font-size:16px}.upgrade p{font-size:9px}.parchment{padding:12px}.buy{min-width:60px;padding:11px 6px}.ordercard .guest{min-width:103px}.ordercontent h2{font-size:21px}.ordercontent p{font-size:11px}.ordercard{min-height:214px}.boosters{gap:28px}.boosters button{width:63px;height:63px}.boosters button small{top:66px}}@media(max-width:350px){.flourish{display:none}.wordmark{font-size:17px}.quest .guest{min-width:70px}.quest h1{font-size:16px}.questbody{padding:10px 6px}.moves{width:44px}.goals{gap:5px}.goal .gem{width:23px;height:23px}.quest{min-height:114px}.boosters{gap:23px}.ordercard .guest{min-width:87px}.ordercontent h2{font-size:18px}.ordercontent{padding-right:9px}.order-ingredients{gap:5px}.buy{font-size:11px}.upgrade{gap:7px}.upgrade .badge{width:47px}.upgrade h3{font-size:15px}}@media(min-width:800px){.app{max-width:510px}nav{width:490px}.cauldron-scene{height:185px}}@media(prefers-reduced-motion:reduce){.steam{display:none}.guest-art,.shop-glow{animation:none!important}}
/* v3 — rechargeable spell, rewards book, ambient motion */
.spell-button{position:relative;display:flex;align-items:center;gap:10px;width:calc(100% - 8px);margin:8px 4px 7px;padding:9px 11px 12px;border:1px solid #ad8c5c;border-radius:10px;background:linear-gradient(110deg,#2a2947,#2f1c40);color:#ecddbf;overflow:hidden;text-align:left;box-shadow:inset 0 0 0 2px #eac97814}.spell-button:disabled{opacity:.8;cursor:default}.spell-rune{font:30px Georgia,serif;color:#80d6d1;line-height:1;text-shadow:0 0 12px #68eada60}.spell-copy{flex:1}.spell-copy b{display:block;font:15px Georgia,serif;letter-spacing:.4px}.spell-copy small{display:block;color:#b5a8c4;font-size:8px;margin-top:4px;line-height:1.3}#spellValue{font-size:10px;color:#dccba4;white-space:nowrap}.spell-track{position:absolute;bottom:0;left:0;right:0;height:4px;background:#130f22}.spell-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#468b9e,#c1fff0);transition:width .3s;box-shadow:0 0 9px #96f8d8}.spell-button.ready{opacity:1;border-color:#a6f0da;background:linear-gradient(110deg,#244d52,#48265d);box-shadow:0 0 17px #65eaca32,inset 0 0 0 2px #9dedce25;animation:spell-ready 2.3s ease-in-out infinite}.spell-button.ready .spell-rune{color:#cefff0;animation:rune-turn 12s linear infinite}.spell-button.ready:after{content:'';position:absolute;inset:-80% -100%;background:linear-gradient(115deg,transparent 42%,#eeffd925 50%,transparent 58%);animation:button-shimmer 3.5s ease-in-out infinite;pointer-events:none}.spell-button.selected{outline:2px solid #f6e7a1}.charged #cauldronTarget{box-shadow:0 0 28px #c4ffd1aa;background:radial-gradient(ellipse,#f2ffdce6,#49eacd69,transparent 75%)}.charged .steam{filter:blur(3px);background:linear-gradient(transparent,#bdffe5aa,transparent)}.journal-banner{width:100%;margin:15px 0 3px;padding:13px 14px;display:flex;align-items:center;gap:13px;background:linear-gradient(120deg,#573152,#342745);border:1px solid #c69e60;border-radius:11px;text-align:left;box-shadow:inset 0 0 0 2px #daab6615,0 5px 15px #1b0a2440}.journal-banner>span:nth-child(2){flex:1}.journal-banner b{display:block;font:19px Georgia,serif;color:#ffe3ad}.journal-banner small{display:block;margin-top:5px;font-size:10px;color:#cdb4cd}.book-icon{display:grid;place-items:center;font:33px Georgia,serif;border:2px solid #b89159;border-left:6px solid #725252;width:46px;height:52px;border-radius:5px;background:linear-gradient(130deg,#9f5c8b,#4f305b);box-shadow:3px 1px #bca384;color:#ffdfa0}#journalBadge{font-size:8px;color:#bfa9c4}.has-reward #journalBadge{color:#ffdb8c;background:#eac27119;padding:6px;border-radius:5px;animation:reward-glow 2s infinite}.has-reward .book-icon{box-shadow:0 0 15px #ffdb8140,3px 1px #bca384}#dailyDot{color:#f6c776;font-size:14px;line-height:0}.journal-tabs{display:flex;gap:8px;margin:0 0 10px}.journal-tabs button{flex:1;border:1px solid #97728b;background:#33213e;border-radius:8px;padding:11px 7px;color:#ba9ac4;font-size:12px}.journal-tabs button.active{color:#ffe5b0;background:linear-gradient(#72416f,#4c2c58);border-color:#c79c66;box-shadow:inset 0 0 10px #f0b57318}.journal-note{font-size:10px!important;margin:0 0 14px!important;color:#b89bc4!important}.journal-row{display:grid;grid-template-columns:33px minmax(0,1fr) 76px;gap:9px;align-items:center;border:1px solid #91638866;border-radius:11px;padding:12px 9px;background:#281a38;margin:0 0 10px}.journal-row h3{font:15px Georgia,serif;color:#f0d3ac;margin:0 0 5px}.journal-row p{font-size:10px!important;line-height:1.4!important;margin:0 0 7px!important;color:#bda5c8!important}.achievement-icon{display:grid;place-items:center;width:32px;height:39px;background:linear-gradient(#755471,#43344f);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);font-size:22px;color:#d8b58b;padding-bottom:5px}.mini-meter{height:5px;background:#170e23;border-radius:9px;margin-bottom:3px;overflow:hidden}.mini-meter>span{display:block;height:100%;background:linear-gradient(90deg,#9270ac,#e1bc8c);border-radius:9px}.journal-row small{font-size:8px;color:#a88daf}.claim-reward{border:1px solid #a78457;background:linear-gradient(#93654b,#624155);border-radius:7px;padding:10px 5px;font-size:10px;line-height:1.5;color:#ffdf9e}.claim-reward small{display:block;font-size:7px;letter-spacing:.5px;margin-top:5px;color:#f4d7ac}.claim-reward:disabled{opacity:.5}.journal-row.available{border-color:#d0ae65;background:linear-gradient(115deg,#413044,#392948);box-shadow:inset 0 0 10px #e3b97415}.available .claim-reward{background:linear-gradient(#f0cd87,#c59343);color:#4f2e39;box-shadow:0 0 12px #f1b57833}.available .claim-reward small{color:#684225}.available .achievement-icon{background:linear-gradient(#dfb778,#957142);color:#ffe5a7}.claimed{opacity:.65}.claimed .mini-meter>span{background:#6aaf92}.claimed .claim-reward{background:none;box-shadow:none;border-color:#85b19c;color:#9cd7b2;opacity:1}.reward-chest{position:relative;width:170px;height:120px;margin:10px auto 24px;perspective:500px}.chest-body{position:absolute;left:15px;bottom:0;width:140px;height:65px;background:repeating-linear-gradient(90deg,transparent 0 28px,#5b312a55 29px 31px),linear-gradient(#9b5741,#6b3a39);border:5px solid #d4a159;border-radius:3px 3px 15px 15px;box-shadow:inset 0 0 0 2px #4f2a37,0 6px 14px #160b2788}.chest-body:before,.chest-body:after{content:'';position:absolute;top:0;bottom:0;width:10px;background:linear-gradient(90deg,#bd8641,#f8d38a,#ad7b43)}.chest-body:before{left:14px}.chest-body:after{right:14px}.chest-body i{position:absolute;z-index:1;left:50%;top:14px;transform:translateX(-50%);width:28px;height:31px;display:grid;place-items:center;background:#f3ce80;border:2px solid #a87733;border-radius:5px;color:#684342;font-style:normal;box-shadow:0 2px 4px #2c152b77}.chest-lid{position:absolute;left:15px;bottom:61px;width:140px;height:48px;border:5px solid #e0b36a;border-radius:25px 25px 5px 5px;background:linear-gradient(#a96a4f,#794242);transform-origin:center bottom;animation:chest-open .8s cubic-bezier(.2,.8,.4,1) both;box-shadow:inset 0 0 0 2px #794238}.chest-glow{position:absolute;inset:-20px -20px 20px;background:radial-gradient(ellipse,#fff1b399,#f7c96733,transparent 65%);animation:chest-aura 2.2s ease-in-out infinite}.reward-amount{font:28px Georgia,serif;text-align:center;color:#ffe1a6;padding:18px 5px;background:#e6b96712;border:1px solid #d4a65a50;border-radius:10px}.coin-flight{position:fixed;width:21px;height:21px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2a3,#e8b64d 60%,#b77821);border:2px solid #ffe6a2;box-shadow:0 0 11px #ffdf8d88;display:grid;place-items:center;color:#a66527;font-size:14px;z-index:38;pointer-events:none}.spell-orb{position:fixed;width:24px;height:24px;border-radius:50%;background:radial-gradient(#fffbd3,#8df9df 40%,#7c42ca);box-shadow:0 0 24px #a4ffe3,0 0 55px #bf96ff;z-index:38;pointer-events:none}.ambient{position:absolute;inset:70px 0 100px;pointer-events:none;overflow:hidden;z-index:1}.ambient i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffecb5;box-shadow:0 0 8px #ffc884;animation:firefly 8s ease-in-out infinite;opacity:0}.ambient i:nth-child(1){left:5%;top:23%;animation-delay:0s}.ambient i:nth-child(2){left:94%;top:42%;animation-delay:-3s}.ambient i:nth-child(3){left:14%;top:73%;animation-delay:-5s}.ambient i:nth-child(4){left:89%;top:11%;animation-delay:-1s}.ambient i:nth-child(5){left:4%;top:53%;animation-delay:-6s}.ambient i:nth-child(6){left:92%;top:80%;animation-delay:-2s}.page{position:relative;z-index:2}.guest.celebrating .guest-art{animation:guest-bounce .65s ease-out 2}.is-background *{animation-play-state:paused!important}@keyframes spell-ready{50%{box-shadow:0 0 20px #65eaca66,inset 0 0 0 2px #9dedce40}}@keyframes rune-turn{to{transform:rotate(360deg)}}@keyframes button-shimmer{0%,35%{translate:-35% 0}75%,100%{translate:35% 0}}@keyframes reward-glow{50%{filter:brightness(1.4)}}@keyframes chest-open{from{transform:rotateX(0)}to{transform:rotateX(-70deg) translateY(-5px)}}@keyframes chest-aura{50%{opacity:.6;scale:1.12}}@keyframes firefly{0%,100%{opacity:0;transform:translate(0,0)}40%{opacity:.75;transform:translate(8px,-30px)}80%{opacity:.3;transform:translate(-7px,-60px)}}@keyframes guest-bounce{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-6px) rotate(-2deg)}70%{transform:translateY(-2px) rotate(1deg)}}@media(max-width:360px){.journal-row{grid-template-columns:25px minmax(0,1fr) 68px;gap:6px;padding:10px 7px}.achievement-icon{width:25px;font-size:19px}.journal-row h3{font-size:13px}.claim-reward{font-size:9px}.spell-copy b{font-size:14px}.spell-copy small{font-size:7px}.spell-button{gap:7px}dialog{padding:20px}.journal-banner b{font-size:17px}.journal-banner small{font-size:9px}}@media(prefers-reduced-motion:reduce){.ambient{display:none}.chest-lid{animation:none;transform:rotateX(-60deg)}.spell-button.ready,.chest-glow{animation:none!important}}
/* New visitors and 2×2 matching */
.guest-3 .guest-art{background-image:url('assets/mira.webp')}.guest-4 .guest-art{background-image:url('assets/bruno.webp')}.guest-5 .guest-art{background-image:url('assets/lumi.webp');animation:ghost-float 4.5s ease-in-out infinite}.guest-6 .guest-art{background-image:url('assets/sirin.webp');animation:witch-sway 5.5s ease-in-out infinite}.guest-7 .guest-art{background-image:url('assets/tilly.webp');animation:character-breathe 3s ease-in-out infinite}.guest-8 .guest-art{background-image:url('assets/marta.webp');animation:witch-sway 6s ease-in-out infinite}.tile.bomb{border-color:#ffcf74;box-shadow:inset 0 0 13px #fdb25045,0 0 9px #ffce6a40}.tile.bomb .special{color:#803865;background:linear-gradient(90deg,#ffd691,#fff2c4,#ffd691);font-size:13px;line-height:13px}.square-match-frame{position:fixed;pointer-events:none;z-index:37;border:3px solid #fff2b1;border-radius:12px;background:#ffd87318;box-shadow:0 0 18px #ffca73,inset 0 0 20px #fca9e458}.square-demo{display:grid;grid-template-columns:repeat(2,42px);gap:5px;justify-content:center;margin:14px auto 18px}.square-demo i{width:42px;height:42px;background:#261c3c url('assets/tiles.webp') 50% 0/300% 200%;border:1px solid #ffdda4;border-radius:8px;box-shadow:0 0 10px #fee1a138;animation:square-preview 2s ease-in-out infinite}.square-demo i:nth-child(2){animation-delay:.1s}.square-demo i:nth-child(3){animation-delay:.2s}.square-demo i:nth-child(4){animation-delay:.3s}@keyframes square-preview{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.5);transform:scale(.95)}}
