@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(./fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(./fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:Mochiy Pop One;font-style:normal;font-display:swap;font-weight:400;src:url(./mochiy-pop-one-latin-400-normal-B-XEkQuZ.woff2)format("woff2"),url(./mochiy-pop-one-latin-400-normal-D7_dByCQ.woff)format("woff")}:root{--gfs-ink:#4e3b31;--gfs-ink-soft:#7a6558;--gfs-paper:#fffdf6;--gfs-cream:#fff8ea;--gfs-bg:#f6ecd9;--gfs-pink:#ffb3c7;--gfs-pink-deep:#f08aa6;--gfs-mint:#9fd8c4;--gfs-butter:#ffd98a;--gfs-lav:#c7b3ef;--gfs-sky:#a9d4f5;--gfs-peach:#ffc4a8;--gfs-sage:#9cc39a;--gfs-accent:#e8906a;--gfs-line:2.5px;--gfs-shadow:0 3px 0 #4e3b31e6;--gfs-shadow-card:0 5px 0 #4e3b31d9;--gfs-radius:22px;--gfs-font:"Fredoka", "Hiragino Maru Gothic ProN", ui-rounded, system-ui, sans-serif;--gfs-display:"Mochiy Pop One", "Fredoka", ui-rounded, system-ui, sans-serif}.gfs-card{background:var(--gfs-paper);border:var(--gfs-line) solid var(--gfs-ink);border-radius:var(--gfs-radius);box-shadow:var(--gfs-shadow-card);color:var(--gfs-ink);background-image:radial-gradient(#ffffffb3 1px,#0000 1px);background-size:6px 6px}.gfs-btn{border:var(--gfs-line) solid var(--gfs-ink);background:var(--gfs-butter);min-height:48px;color:var(--gfs-ink);font-family:var(--gfs-font);box-shadow:var(--gfs-shadow);cursor:pointer;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:18px;font-weight:700;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.gfs-btn:active{box-shadow:none;transform:translateY(3px)}.gfs-btn[disabled]{opacity:.45}.gfs-btn.pink{background:var(--gfs-pink)}.gfs-btn.mint{background:var(--gfs-mint)}.gfs-btn.sky{background:var(--gfs-sky)}.gfs-btn.lav{background:var(--gfs-lav)}.gfs-btn.cream{background:var(--gfs-cream)}.gfs-petals{border:var(--gfs-line) solid var(--gfs-ink);background:var(--gfs-cream);box-shadow:var(--gfs-shadow);font-family:var(--gfs-font);color:var(--gfs-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 12px 3px 6px;font-size:17px;font-weight:700;display:inline-flex}.gfs-petals svg{display:block}:root{--bg:#fff4ea;--bg2:#ffe9d6;--card:#fffaf5;--ink:#5b4636;--ink-soft:#9b8574;--pink:#f0708f;--pink-dark:#d9546f;--pink-soft:#ffd9e2;--mint:#7fd1b9;--mint-dark:#52b397;--butter:#ffd96a;--wood:#f3d3ae;--wood-dark:#e0b384;--wall:#ffe3cf;--shadow:0 6px 0 #5b46361f, 0 10px 24px #5b46361a;--radius:22px;--font:var(--gfs-font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;margin:0;font-weight:700}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}.screen{height:100dvh;padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));flex-direction:column;max-width:560px;margin:0 auto;display:flex;position:relative;overflow:hidden}.btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:17px;font-weight:800;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active{transform:translateY(3px)scale(.98)}.btn.primary{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-dark), 0 10px 20px #f0708f4d}.btn.primary:active{box-shadow:0 2px 0 var(--pink-dark)}.btn.secondary{box-shadow:0 5px 0 var(--wood-dark);background:#fff}.btn.ghost{box-shadow:0 3px 0 var(--wood);background:#ffffffb3;padding:10px 14px;font-size:15px}.btn.heart{background:var(--pink-soft);color:var(--pink-dark);padding:10px 14px;font-size:15px;box-shadow:0 3px #f5b8c7}.btn.big{width:100%;max-width:340px;min-height:56px;padding:14px 28px;font-size:20px}.btn.huge{width:100%;max-width:340px;min-height:66px;font-size:23px}.btn.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.icon-btn{width:44px;height:44px;box-shadow:0 3px 0 var(--wood);color:var(--ink);background:#fff;border-radius:14px;place-items:center;display:grid}.chip{box-shadow:0 3px 0 var(--wood);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:15px;display:inline-flex}.muted{color:var(--ink-soft)}.topbar{align-items:center;gap:10px;padding:10px 0 6px;display:flex}.topbar-title{text-align:center;flex:1;font-size:19px;font-weight:900}.hearts{gap:2px;display:flex}.heart-lost{animation:.6s heartLost}@keyframes heartLost{0%{transform:scale(1.6)}to{transform:scale(1)}}.challenge-banner{background:var(--pink-soft);color:var(--pink-dark);text-align:center;border-radius:14px;margin-bottom:4px;padding:6px 12px;font-size:14px}.stage{border-radius:var(--radius);background:radial-gradient(circle at 20% 20%, #fff9 0 8%, transparent 9%), radial-gradient(circle at 80% 30%, #ffffff80 0 6%, transparent 7%), var(--wall);height:clamp(170px,28dvh,240px);box-shadow:inset 0 -26px 0 var(--wood), inset 0 -30px 0 var(--wood-dark);flex-shrink:0;position:relative;overflow:hidden}.queue-dots{gap:5px;display:flex;position:absolute;top:10px;left:12px}.qdot{background:#5b463626;border-radius:50%;width:9px;height:9px;transition:background .3s,transform .3s}.qdot.now{background:var(--butter);transform:scale(1.3)}.qdot.happy{background:var(--mint)}.qdot.sad{background:#e7b3b3}.caption{color:var(--ink-soft);background:#ffffffb3;border-radius:999px;padding:3px 10px;font-size:13px;animation:.3s fadeIn;position:absolute;top:7px;right:12px}.customers{justify-content:center;align-items:flex-end;gap:18px;display:flex;position:absolute;inset:26px 0 0}.customer{flex-direction:column;align-items:center;transition:opacity .3s,transform .3s,filter .3s;animation:.45s cubic-bezier(.3,1.4,.6,1) walkIn;display:flex;position:relative}.customer>svg{margin-bottom:18px;animation:2.4s ease-in-out infinite bob}.customer.other{opacity:.55;transform:scale(.9)}.customer.happy>svg{animation:.5s 2 hop}.customer.happy{animation:.5s .8s forwards leaveHappy}.customer.sad{animation:.7s .9s forwards leaveSad}.customer.flinch>svg{animation:.4s flinch}.customer .name{color:#fff;background:#5b46368c;border-radius:999px;padding:1px 8px;font-size:12px;position:absolute;bottom:2px}@keyframes walkIn{0%{opacity:0;transform:translate(120px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)rotate(-4deg)}}@keyframes flinch{0%,to{transform:translate(0)}25%{transform:translate(-5px)rotate(-3deg)}75%{transform:translate(5px)rotate(3deg)}}@keyframes leaveHappy{to{opacity:0;transform:translate(-160px)}}@keyframes leaveSad{to{opacity:0;transform:translateY(12px)translate(-120px)}}.bubble{white-space:nowrap;background:#fff;border-radius:18px;align-items:center;gap:2px;margin-bottom:4px;padding:6px 10px;animation:.35s cubic-bezier(.3,1.6,.6,1) bubblePop;display:flex;position:relative;box-shadow:0 3px #5b46361a}.bubble:after{content:"";border:7px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-7px;position:absolute;bottom:-7px;left:50%}.bubble.small{padding:7px 12px;font-size:14px}.bubble.order{padding:4px 8px}.bubble.slots{gap:6px;padding:8px 12px}.slot-dot{background:#efe3d7;border-radius:50%;width:12px;height:12px;transition:background .2s,transform .2s}.slot-dot.filled{background:var(--mint);transform:scale(1.15)}@keyframes bubblePop{0%{opacity:0;transform:scale(.3)}}.patience{flex-direction:column-reverse;gap:3px;display:flex;position:absolute;bottom:22px;right:-14px}.pat{background:var(--pink);border-radius:50%;width:8px;height:8px;transition:transform .3s,background .3s}.pat.gone{background:#eadfd4;transform:scale(.7)}.bell-btn{width:48px;height:48px;box-shadow:0 3px 0 var(--wood-dark);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:34px;right:10px}.bell-btn:active{transform:rotate(-12deg)scale(.95)}.bell-btn.used{opacity:.35;filter:grayscale()}.bell-badge{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid;position:absolute;top:-3px;right:-3px}.tray-row{flex-shrink:0;justify-content:center;align-items:center;height:76px;display:flex}.tray{box-shadow:0 4px 0 var(--wood);background:#fff;border-radius:999px;gap:8px;padding:8px 14px;animation:.25s fadeIn;display:flex}.tray.happy{animation:.6s .2s forwards trayServe}@keyframes trayServe{30%{transform:translateY(6px)}to{opacity:0;transform:translateY(-120px)scale(.6)}}.tray-slot{background:#f7eee5;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;overflow:visible}.tray-slot svg.pop{animation:.4s cubic-bezier(.3,1.8,.5,1) trayPop}.pantry-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:4px 0 14px;display:flex}.pantry{justify-content:center;display:grid}.tile{perspective:600px;padding:0;position:relative}.tile-inner{transform-style:preserve-3d;transition:transform .32s cubic-bezier(.3,1.3,.6,1);position:absolute;inset:0}.tile.open .tile-inner{transform:rotateY(180deg)}.tile-front,.tile-back{backface-visibility:hidden;border-radius:18%;place-items:center;display:grid;position:absolute;inset:0}.tile-front{box-shadow:inset 0 -5px 0 var(--wood-dark), 0 3px 0 #5b46361f;background:linear-gradient(#f9dfc2 0%,#f3cfa6 100%)}.tile-front:before{content:"";border:2px solid #e0b3848c;border-radius:12%;position:absolute;inset:16% 12% 22%}.knob{z-index:1;background:#c98f5c;border-radius:999px;width:22%;height:10%;position:relative;box-shadow:inset 0 2px #ffffff80}.tile-back{background:#fff;transform:rotateY(180deg);box-shadow:inset 0 -5px #f1e6da,0 3px #5b46361f}.tile:not(.open):active .tile-inner{transform:scale(.94)}.tile.correct .tile-back{box-shadow:inset 0 -5px 0 #bfe9d9, 0 0 0 3px var(--mint);background:#e3f8ef}.tile.correct{animation:.4s tileJoy}.tile.wrong .tile-back{background:#ffecec;box-shadow:inset 0 -5px #f7cccc,0 0 0 3px #f59b9b}.tile.wrong{animation:.4s .15s shake}@keyframes tileJoy{40%{transform:scale(1.1)}}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.tile.swapped{z-index:2;animation:.9s cubic-bezier(.6,0,.3,1) both swapMove}.tile.swapped .tile-back{box-shadow:inset 0 -5px 0 #f1e6da, 0 0 0 3px var(--butter)}@keyframes swapMove{0%{transform:translate(var(--dx), var(--dy))}25%{transform:translate(var(--dx), var(--dy)) translateY(-10px) scale(1.08)}80%{transform:translateY(-6px)scale(1.06)}to{transform:none}}.pantry.pantryStudy .tile.open .tile-inner{animation:none}.particle{pointer-events:none;z-index:30;position:fixed;transform:translate(-50%,-50%)}.particle.sparkle{color:var(--butter);text-shadow:0 0 8px #fff;font-size:30px;animation:.7s ease-out forwards sparkle}.particle.heart{animation:1.1s ease-out forwards floatUp}.particle.combo{color:var(--pink);-webkit-text-stroke:1px #fff;font-size:26px;font-weight:900;animation:.9s ease-out forwards comboPop}@keyframes sparkle{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)rotate(0)}to{opacity:0;transform:translate(-50%,-110%)scale(1.5)rotate(90deg)}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-90px)scale(1.2)}}@keyframes comboPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}30%{opacity:1;transform:translate(-50%,-70%)scale(1.3)}to{opacity:0;transform:translate(-50%,-140%)scale(1)}}.overlay{z-index:40;background:#5b463659;place-items:center;padding:16px;animation:.25s fadeIn;display:grid;position:fixed;inset:0}.card{background:var(--card);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:28px;padding:22px 20px;animation:.4s cubic-bezier(.3,1.4,.6,1) cardIn;position:relative}.card h2{margin:4px 0 8px;font-size:26px;font-weight:900}.card p{font-weight:600;line-height:1.4}.results-hero{margin-top:-64px}.stars-row{justify-content:center;align-items:flex-end;gap:6px;height:72px;display:flex}.big-star{transition:transform .4s cubic-bezier(.3,1.8,.5,1);transform:scale(0)}.big-star.in{transform:scale(1)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0;display:grid}.stat-grid div{box-shadow:0 2px 0 var(--wood);background:#fff;border-radius:14px;flex-direction:column;padding:8px 2px;display:flex}.stat-grid b{justify-content:center;align-items:center;gap:2px;font-size:18px;display:inline-flex}.stat-grid span{color:var(--ink-soft);font-size:11px}.versus{border-radius:14px;margin-bottom:12px;padding:8px;font-size:15px}.versus.win{color:#2f8f71;background:#e3f8ef}.versus.tie{color:#a07a12;background:#fff4cf}.versus.lose{background:var(--pink-soft);color:var(--pink-dark)}.results-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.results-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.toast{color:var(--mint-dark);margin-top:10px;font-size:14px}.intro-tag{background:var(--butter);border-radius:999px;padding:2px 12px;font-size:13px;font-weight:900;display:inline-block}.intro-art{justify-content:center;align-items:center;gap:10px;margin:10px 0 4px;display:flex}.intro-art .vs{color:var(--ink-soft);font-size:30px}.home{background:var(--bg)}.home-top{align-items:center;gap:8px;padding:12px 0;display:flex}.home-top .icon-btn{margin-left:auto}.storefront{box-shadow:var(--shadow);background:#fff;border-radius:28px 28px 20px 20px;margin-top:8px;padding-bottom:12px;position:relative;overflow:hidden}.awning{filter:drop-shadow(0 4px #5b463614);width:100%;height:54px;display:block}.logo{text-align:center;margin:6px 0 0;font-weight:900;line-height:.95}.logo span{color:var(--pink);text-shadow:0 4px 0 var(--pink-soft);letter-spacing:-1px;font-size:clamp(38px,12vw,54px);display:block}.logo small{color:var(--mint-dark);letter-spacing:6px;text-transform:uppercase;margin-top:4px;font-size:22px;display:block}.window{background:linear-gradient(#e6f6f1,#fdf6ee);border-radius:20px;height:clamp(170px,30dvh,250px);margin:14px 16px 0;position:relative;overflow:hidden}.shelf{border-bottom:6px solid var(--wood);justify-content:center;gap:6px;padding-bottom:4px;display:flex;position:absolute;top:14px;left:0;right:0}.home-mascot{justify-content:center;display:flex;position:absolute;bottom:24px;left:0;right:0}.home-mascot svg{animation:2.4s ease-in-out infinite bob}.counter{background:var(--wood);border-top:6px solid var(--wood-dark);height:34px;position:absolute;bottom:0;left:0;right:0}.home-actions{flex-direction:column;align-items:center;gap:14px;margin-top:auto;padding:16px 0 18px;display:flex}.install-tip{box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:10px;padding:10px 36px 10px 14px;font-size:14px;font-weight:600;animation:.4s fadeIn;position:relative}.install-tip .x{width:32px;height:32px;font-size:22px;position:absolute;top:4px;right:6px}.ios-share{color:#2f7cf6;display:inline-block}.map-scroll{-webkit-overflow-scrolling:touch;flex:1;margin:0 -12px;padding:0 12px;overflow-y:auto}.map-path{flex-direction:column;align-items:center;gap:10px;padding:16px 0 40px;display:flex}.map-node-wrap{flex-direction:column;align-items:center;gap:2px;display:flex}.map-node{width:66px;height:66px;box-shadow:0 5px 0 var(--wood-dark);background:#fff;border-radius:50%;place-items:center;font-size:24px;font-weight:900;display:grid;position:relative}.map-node:active:not(:disabled){box-shadow:0 2px 0 var(--wood-dark);transform:translateY(3px)}.map-node.current{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-dark), 0 0 0 6px var(--pink-soft);animation:1.6s ease-in-out infinite pulse}.map-node.perfect{background:#fff4cf}.map-node.locked{color:#c8b6a5;background:#efe5da;box-shadow:0 4px #e0d2c4}.map-node.boss{width:84px;height:84px}.node-crown{position:absolute;top:-18px}.node-new{background:var(--butter);color:var(--ink);border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;top:-6px;right:-12px}.node-stars{gap:1px;display:flex}.map-more{color:var(--ink-soft);margin-top:16px;font-size:15px}.settings{text-align:left;max-height:calc(100dvh - 32px);overflow-y:auto}.settings h2{text-align:center}.field{flex-direction:column;gap:6px;margin-bottom:14px;font-size:14px;display:flex}.field input{font:inherit;border:2px solid var(--wood);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:14px;padding:10px 14px;font-size:17px}.toggle{border-bottom:1px solid #f1e4d6;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--pink)}.jukebox{border-bottom:1px solid #f1e4d6;align-items:center;gap:8px;padding:8px 0;display:flex}.juke-now{text-align:center;flex:1;font-weight:800;line-height:1.2}.juke-now small{color:var(--ink-soft);font-size:11px;font-weight:700;display:block}.juke-step{border:2px solid var(--wood);width:38px;height:38px;color:var(--pink-dark);background:#fff;border-radius:50%;place-items:center;padding:0;display:grid}.juke-step .flip{transform:scaleX(-1)}.howto{margin:14px 0;font-size:14px}.howto p{margin:4px 0}.version{color:var(--ink-soft);text-align:center;font-size:12px}.settings .btn{margin:0 auto;display:flex}.rotate-notice{display:none}@media (orientation:landscape) and (height<=500px){.rotate-notice{z-index:100;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:20px;display:flex;position:fixed;inset:0}.rotate-phone{border:5px solid var(--pink);border-radius:10px;width:44px;height:76px;animation:1.8s ease-in-out infinite rotatePhone}@keyframes rotatePhone{0%,30%{transform:rotate(-90deg)}60%,to{transform:rotate(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.stage-top{z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;top:8px;left:12px;right:12px}.stage-top .queue-dots{position:static}.qdot.critic{background:#c9a227;border-radius:3px}.served-count{background:#fffc;border-radius:999px;padding:2px 10px;font-size:14px}.live-score{background:#fffc;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 6px;display:flex}.star-meter{display:flex}.star-lost{animation:.5s starLost}@keyframes starLost{0%{transform:scale(1.6)rotate(-20deg)}to{transform:none}}.points{font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:14px;animation:.25s bump}@keyframes bump{50%{color:var(--pink);transform:scale(1.25)}}.title-tag{background:var(--butter);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.customers{gap:10px;inset:30px 0 0}.caption{box-shadow:0 2px 0 var(--wood);background:#fff;align-self:center;margin:0 auto 8px;position:static}.pantry-wrap{flex-direction:column;justify-content:flex-start;padding-top:2px}.bubble.tip{white-space:normal;text-align:center;background:#fff4cf;max-width:180px;font-size:13px}.bubble.tip:after{border-top-color:#fff4cf}.bubble.usual{background:#eef9f4}.bubble.usual:after{border-top-color:#eef9f4}.order-item{display:inline-flex;position:relative}.seq-num{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:11px;display:grid;position:absolute;bottom:-4px;right:-3px;box-shadow:0 0 0 2px #fff}.seq-art .seq-num{width:22px;height:22px;font-size:14px}.bubble.actually{gap:6px;padding:6px 12px}.actually-word{color:var(--pink-dark);font-size:14px}.crossed{opacity:.55;display:inline-flex;position:relative}.crossed:after{content:"";background:#e0708f;border-radius:2px;height:4px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-30deg)}.arrow{color:var(--ink-soft)}.customer.is-critic>svg{filter:drop-shadow(0 0 8px #ffc93c99)}.slot-num{color:#d8c6b4;font-size:18px}.tray-slot svg.land{animation:.3s cubic-bezier(.3,1.8,.5,1) .33s both land}@keyframes land{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}.flyer{z-index:35;pointer-events:none;filter:drop-shadow(0 6px 6px #5b463640);position:fixed;top:0;left:0}.study-btn{position:relative;overflow:hidden}.bonus-bar{background:var(--butter);height:5px;transition:width .2s linear;position:absolute;bottom:0;left:0}.bonus-label{background:#ffffff40;border-radius:999px;padding:1px 7px;font-size:13px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.btn:disabled{opacity:.6}.tile.swapped .tile-front{box-shadow:inset 0 -5px 0 var(--wood-dark), 0 0 0 3px var(--butter)}.tile.swapped.settled .tile-front{box-shadow:inset 0 -5px 0 var(--wood-dark), 0 0 0 3px #ffd96a99}.confetti{pointer-events:none;z-index:41;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:3px;width:9px;height:14px;animation:linear forwards confetti;position:absolute;top:-20px}@keyframes confetti{to{transform:translateY(110vh)rotate(720deg)}}.gold-cup{animation:.5s cubic-bezier(.3,1.6,.5,1) .2s both stamp;position:absolute;top:10px;right:14px}@keyframes stamp{0%{opacity:0;transform:scale(3)rotate(-30deg)}to{opacity:1;transform:rotate(12deg)}}.recap{letter-spacing:2px;margin-top:6px;font-size:22px}.streak-banner,.unlock-banner{background:#fff4cf;border-radius:14px;margin-bottom:12px;padding:8px 12px;font-size:14px}.unlock-banner{text-align:left;background:#eef9f4;align-items:center;gap:8px;animation:.5s 1.4s both cardIn;display:flex}.chip{position:relative}.chip .dot{background:var(--pink);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:-2px;right:-2px}.home-mascot{align-items:flex-end;gap:0}.guest{margin:0 -6px}.guest svg{animation:2.8s ease-in-out infinite bob}.guest.g1 svg{animation-delay:.6s}.guest.g0{order:-1}.home-actions{gap:10px;padding:12px 0 14px}.mode-card{text-align:left;box-shadow:0 4px 0 var(--wood);background:#fff;border-radius:18px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.mode-card:active{transform:translateY(2px)}.mode-card:disabled{opacity:.55}.mode-title{font-size:16px;font-weight:900}.mode-sub{color:var(--ink-soft);font-size:12px}.home-links{gap:8px;width:100%;max-width:340px;display:flex}.home-links .btn{flex:1;padding:10px 6px;font-size:15px}.decor{pointer-events:none;position:absolute}.decor.bunting{z-index:2;width:100%;height:26px;top:0;left:0}.decor.fairy{z-index:2;height:20px;top:0;left:0;right:0}.decor.fairy span{background:#ffe28a;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 6px 2px #ffe28a}@keyframes twinkle{50%{opacity:.35}}.decor.lamps{z-index:1;width:80%;height:50px;top:0;left:10%}.decor.art{background:#fff;border:4px solid #c98f5c;border-radius:6px;padding:2px;top:64px;right:10px}.decor.plant{width:50px;height:76px;bottom:28px;left:6px}.decor.record{bottom:28px;right:8px}.decor.record .note{color:var(--pink);animation:2.2s ease-out infinite floatUp;position:absolute;top:-10px;left:20px}.decor.record .note.n2{color:var(--mint-dark);animation-delay:1.1s;left:34px}.shop-preview{margin:4px 0 12px}.shop-preview .window{margin:0}.shop-grid,.guest-grid{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:8px;display:grid;overflow-y:auto}.shop-card{box-shadow:0 3px 0 var(--wood);text-align:left;background:#fff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 10px;display:flex}.shop-card.equipped{box-shadow:0 3px 0 var(--mint-dark), 0 0 0 2px var(--mint)}.shop-card.poor{opacity:.55}.shop-card.flash{animation:.5s tileJoy}.shop-name{font-size:15px}.shop-action{color:var(--pink-dark);align-items:center;gap:4px;font-size:13px;display:inline-flex}.shop-hint{text-align:center;font-size:13px}.guest-grid{padding-top:8px}.guest-card{box-shadow:0 3px 0 var(--wood);background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:10px;display:flex}.guest-card.locked .guest-art{filter:brightness(0)opacity(.15)}.guest-title{color:var(--mint-dark);font-size:12px}.hearts-row span{color:#eadfd4}.hearts-row span.on{color:var(--pink)}.small{font-size:12px}.map-nodes{width:100%;position:relative}.map-road{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-path{gap:0}.map-node-wrap{justify-content:center;width:100%;height:100px;position:relative}.map-node{z-index:1}.map-node.mini{background:#fff4cf;box-shadow:0 5px #e8a92a}.map-node.boss{background:#fff4cf;overflow:visible}.map-node.current.boss{background:#ffe3ea}.twist-badge{min-width:30px;height:30px;box-shadow:0 2px 0 var(--wood);color:var(--pink-dark);background:#fff;border-radius:999px;place-items:center;padding:0 4px;font-size:12px;display:grid;position:absolute;bottom:-6px;right:-14px}.node-avatar{animation:2s ease-in-out infinite bob;position:absolute;top:-8px;left:-30px}.node-title{background:var(--butter);border-radius:999px;margin-bottom:4px;padding:1px 8px;font-size:12px}.map-prop{opacity:.9;position:absolute;top:30px}.map-prop.l{left:8%}.map-prop.r{right:8%}.map-node-wrap:has(.map-prop.l) .map-prop.l{left:-30%}.map-node-wrap:has(.map-prop.r) .map-prop.r{right:-30%}.match .topbar{padding-bottom:4px}.score-chip{font-variant-numeric:tabular-nums;justify-content:center;min-width:64px;animation:.25s bump}.progress{background:#f1e4d6;border-radius:999px;height:8px;margin:0 4px 6px;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--mint), #7fd1b9);border-radius:999px;height:100%;transition:width .4s;display:block}.counter-stage{border-radius:var(--radius);background:var(--wall);height:clamp(104px,15dvh,130px);box-shadow:inset 0 -18px 0 var(--wood), inset 0 -22px 0 var(--wood-dark);flex-shrink:0;justify-content:center;align-items:flex-end;gap:18px;display:flex;position:relative;overflow:hidden}.patron{flex-direction:column;align-items:center;animation:.45s cubic-bezier(.3,1.4,.6,1) walkIn;display:flex}.patron>svg{margin-bottom:2px;animation:2.4s ease-in-out infinite bob}.patron.happy .bubble{background:#e3f8ef}.x3{color:var(--ink-soft);font-size:13px}.patron-empty{color:var(--ink-soft);align-self:center}.board-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 0 6px;display:flex}.board{isolation:isolate;z-index:0;position:relative}.board.shuffled{animation:.45s boardShuffle}@keyframes boardShuffle{30%{transform:scale(.96)rotate(-1deg)}60%{transform:scale(1.02)rotate(1deg)}}.mtile{background:#fffdf8;border-radius:14%;padding:0;transition:transform .1s,filter .2s;position:absolute;box-shadow:inset 0 -4px #f3e6d6,3px 4px #e3cdb4,4px 6px 6px #5b46362e}.mtile-face{border-radius:inherit;border:2px solid #f5e9dc;place-items:center;display:grid;position:absolute;inset:0}.mtile.free:active{transform:translateY(2px)scale(.96)}.mtile.hinted,.mtile.tut{animation:.9s ease-in-out infinite hintPulse;z-index:99999!important}.mtile.hinted .mtile-face,.mtile.tut .mtile-face{border-color:var(--butter);box-shadow:0 0 0 3px var(--butter)}@keyframes hintPulse{50%{transform:translateY(-4px)scale(1.06)}}.tut-hand{pointer-events:none;font-size:30px;animation:1s ease-in-out infinite tap;position:absolute;bottom:-18px;right:-10px}@keyframes tap{50%{transform:translate(-4px,-6px)}}.tut-caption{text-align:center;color:var(--pink-dark);margin-bottom:4px;font-size:18px;animation:1.6s ease-in-out infinite pulse}.tray-area{flex-shrink:0;justify-content:center;padding:2px 0 8px;display:flex}.mtray{box-shadow:0 4px 0 var(--wood-dark), inset 0 2px 0 #fff;background:#fff;border-radius:20px;transition:box-shadow .3s;position:relative}.mtray.danger{box-shadow:0 4px #f0a3a3,0 0 0 3px #ffd6d6}.mtray.full{animation:.4s shake}.mslot{background:#f7eee5;border-radius:12px;position:absolute;top:8px}.tray-tile,.ghost-tile{background:#fffdf8;border-radius:12px;place-items:center;transition:left .22s cubic-bezier(.3,1.3,.6,1);display:grid;position:absolute;top:8px;box-shadow:inset 0 -3px #f3e6d6,0 2px #e3cdb4}.ghost-tile{z-index:60;pointer-events:none;transition:none;position:fixed;top:0;left:0}.boosters{flex-shrink:0;justify-content:center;gap:14px;padding:2px 0 12px;display:flex}.booster{width:76px;height:58px;box-shadow:0 4px 0 var(--wood);background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:relative}.booster.empty{opacity:.4}.b-icon{font-size:22px;line-height:1}.b-label{color:var(--ink-soft);font-size:12px}.b-count{background:var(--pink);color:#fff;min-width:22px;height:22px;box-shadow:0 0 0 2px var(--bg);border-radius:999px;place-items:center;font-size:12px;display:grid;position:absolute;top:-6px;right:-6px}.card.stuck{flex-direction:column;align-items:center;gap:10px;display:flex}.card.stuck p{margin:0 0 4px}.stat-grid.three{grid-template-columns:repeat(3,1fr)}.mode-card.daily{text-align:center;align-items:center;width:100%;max-width:340px}.shelf-row{background:var(--wood);box-shadow:inset 0 -3px 0 var(--wood-dark);border-radius:12px;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:5px;max-width:100%;margin:0 auto 4px;padding:4px 8px;display:flex}.shelf-tile{background:#fffdf8;border-radius:10px;place-items:center;animation:.35s cubic-bezier(.3,1.6,.6,1) bubblePop;display:grid;box-shadow:inset 0 -3px #f3e6d6,0 2px #c9a47a}.shelf-tile.hinted{box-shadow:0 0 0 3px var(--butter);animation:.9s ease-in-out infinite hintPulse}:root{--bg:#f6eedd;--bg2:#efe2c8;--card:#fdf8ec;--ink:#4e3b2c;--ink-soft:#8b7560;--pink:#e0735f;--pink-dark:#b8543f;--pink-soft:#f8d8cc;--mint:#93c48b;--mint-dark:#5f9e5a;--butter:#f5cf6b;--wood:#e2c49c;--wood-dark:#c79f72;--wall:#f3e3c7;--font-display:var(--gfs-display)}html,body{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .25  0 0 0 0 .15  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"), radial-gradient(ellipse at 50% 0%, #fbf5e6 0%, var(--bg) 70%)}h1,h2,.topbar-title,.btn,.mode-title,.logo span,.logo small{font-family:var(--font-display)}.btn.primary{background:linear-gradient(180deg, #e8866f, var(--pink))}.logo span{color:#d9604c;text-shadow:0 3px #f5d2b8,0 6px 14px #d9604c2e;letter-spacing:0}.logo small{color:var(--mint-dark)}.window-view{border:6px solid #b98a5e;border-radius:14px 14px 6px 6px;height:58%;position:absolute;top:10px;left:8%;right:8%;overflow:hidden;box-shadow:inset 0 0 0 2px #8a5a44}.window-view:after{content:"";background:linear-gradient(90deg,#0000 calc(50% - 3px),#b98a5e calc(50% - 3px) calc(50% + 3px),#0000 calc(50% + 3px));position:absolute;inset:0}.landscape{width:100%;height:100%;display:block}.window .shelf{z-index:1;top:auto;bottom:calc(42% - 6px)}.window{height:clamp(170px,27dvh,240px)}.counter-stage{background:0 0}.stage-landscape{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.counter-stage{isolation:isolate;box-shadow:inset 0 -18px #c99a6a,inset 0 -22px #a8774d,0 3px #4e3b2c1f}.cloud{animation:26s ease-in-out infinite alternate drift}@keyframes drift{to{transform:translate(18px)}}.mtile{background:linear-gradient(160deg,#fffaf0 0%,#f7ecd6 100%);box-shadow:inset 0 -4px #ead8b8,3px 4px #cfa97c,4px 7px 8px #4e3b2c38}.mtile-face{border:2px solid #c99f7259}.tray-tile,.ghost-tile,.shelf-tile{background:linear-gradient(160deg,#fffaf0,#f7ecd6)}.mtray{box-shadow:0 4px 0 var(--wood-dark), inset 0 2px 0 #fffaf0;background:linear-gradient(#fdf6e7,#f3e3c5)}.mslot{background:#c99f722e}.booster,.icon-btn,.chip,.btn.secondary,.btn.ghost,.mode-card,.shop-card,.guest-card,.stat-grid div{background:#fffaf0}.map-scroll{background:linear-gradient(#d9f0f4 0%,#eaf3dc 30%,#dcebc4 100%);border-radius:20px 20px 0 0}.window .shelf{justify-content:space-between;padding:0 11%}.home-mascot{z-index:2}.topbar-title{line-height:1.05}.title-sub{color:var(--pink-dark);font-size:12px;font-family:var(--font);display:block}.served-chip{justify-content:center;min-width:56px}.counter-stage{gap:14px}.patron{position:relative}.patron-name{color:#fffaf0;background:#4e3b2c99;border-radius:999px;padding:0 6px;font-size:10px;font-weight:800;position:absolute;bottom:1px}.bubble.want{gap:4px;padding:3px 8px 3px 4px}.pips{flex-direction:column;gap:2px;display:flex}.pips span{background:#eadfcf;border-radius:50%;width:6px;height:6px;transition:background .2s,transform .2s}.pips span.on{background:var(--mint-dark);transform:scale(1.25)}.stamp{background:var(--mint-dark);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;animation:.35s cubic-bezier(.3,1.6,.5,1) .8s both stamp;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 0 0 2px #fffaf0}.patron.happy{animation:.5s 1.3s forwards leaveHappy}.patron.happy>svg{animation:.4s .85s 3 hop}.mtile.blocked{filter:brightness(.8)saturate(.6)sepia(.2)}.mtile.domed{filter:none;background:linear-gradient(160deg,#eef2f3,#d8e0e4)}.mtile.woke{animation:.4s cubic-bezier(.3,1.6,.5,1) wake}.mtile.reveal .mtile-face{animation:.45s reveal}@keyframes wake{0%{transform:scale(.94)}60%{transform:scale(1.07)translateY(-3px)}to{transform:none}}@keyframes reveal{0%{transform:rotateY(90deg)scale(.8)}to{transform:none}}.mtile.nope{animation:.3s nope}.mtile.blocker{animation:.4s hintPulse}@keyframes nope{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.combo-banner{z-index:50;pointer-events:none;font-family:var(--font-display);color:#fffaf0;background:var(--pink);box-shadow:0 4px 0 var(--pink-dark), 0 8px 18px #4e3b2c40;white-space:nowrap;border-radius:999px;padding:4px 18px;font-size:26px;animation:.9s cubic-bezier(.3,1.5,.5,1) forwards comboBanner;position:absolute;top:40%;left:50%}.combo-banner b{font-size:32px}@keyframes comboBanner{0%{opacity:0;transform:translate(-50%,20px)scale(.4)}25%{opacity:1;transform:translate(-50%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-10px)scale(1)}to{opacity:0;transform:translate(-50%,-40px)scale(.9)}}.board-wrap{position:relative}.intro-strip{z-index:60;box-shadow:0 6px 0 var(--wood-dark), 0 10px 24px #4e3b2c40;background:#fffaf0;border-radius:18px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:700;animation:.4s cubic-bezier(.3,1.4,.6,1) cardIn;display:flex;position:absolute;bottom:12px;left:8px;right:8px}.intro-strip .btn{flex-shrink:0;padding:8px 16px;font-size:15px}.side-demo{flex-shrink:0;gap:2px;display:flex}.side-demo i{background:#d9c6a8;border-radius:3px;width:12px;height:16px}.side-demo i.lit{background:var(--mint-dark)}.shelf-row{align-items:center;width:fit-content;min-width:60%}.shelf-row.empty{box-shadow:none;background:#e2c49c59}.stuck-strip{align-items:center;gap:8px;padding:2px 4px;animation:.3s cardIn;display:flex}.stuck-text{font-family:var(--font-display);color:var(--pink-dark);font-size:16px}.small-btn{padding:6px 12px;font-size:14px}.small-btn small{opacity:.8}.particle.crumb{border-radius:50%;width:8px;height:8px;animation:.7s ease-out forwards crumb}@keyframes crumb{0%{opacity:1;transform:translate(-50%,-50%)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) + 20px)) scale(.4);opacity:0}}.particle.tip{font-family:var(--font-display);color:var(--mint-dark);box-shadow:0 2px 0 var(--wood);background:#fffaf0;border-radius:999px;padding:2px 10px;font-size:15px;animation:1.2s ease-out forwards floatUp}.tut-hand{font-size:0}.served-row{flex-wrap:wrap;justify-content:center;gap:2px;margin:4px 0 6px;display:flex}.served-face{animation:.35s cubic-bezier(.3,1.6,.6,1) both bubblePop}.tally{box-shadow:0 2px 0 var(--wood);background:#fffaf0;border-radius:16px;margin:8px 0 12px;padding:8px 14px;font-size:14px}.tally div{justify-content:space-between;padding:2px 0;display:flex}.tally .total{border-top:1px dashed var(--wood-dark);margin-top:4px;padding-top:6px;font-size:17px}.tally .coins-line b{align-items:center;gap:3px;display:inline-flex}.goal{width:100%;max-width:340px;box-shadow:0 3px 0 var(--wood);text-align:left;background:#fffaf0;border-radius:14px;flex-direction:column;gap:5px;padding:6px 12px 8px;font-size:13px;display:flex}.goal-bar{background:#efe2c8;border-radius:999px;height:8px;overflow:hidden}.goal-bar span{background:linear-gradient(90deg, var(--butter), var(--pink));border-radius:999px;height:100%;display:block}.shop-card svg{align-self:center}.shelf-row.empty{box-shadow:none;background:0 0;border:2px dashed #c79f7273}.intro-strip{box-shadow:0 3px 0 var(--wood-dark);width:100%;padding:6px 10px;font-size:13px;position:static}.side-demo i.locked{background:#b9a68a;position:relative}.side-demo i.locked:after{content:"×";color:#fffaf0;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.side-demo i.lit{animation:.9s ease-in-out infinite hintPulse}.critic-count{color:#fffaf0;z-index:2;background:#c9a227;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;top:-6px;right:-10px}.overlay .confetti{z-index:0}.overlay .card{z-index:1}.review-card{background:#fbf3df;border-radius:14px;margin:0 0 10px;padding:8px 12px;font-size:14px;font-weight:600}.review-card p{margin:4px 0 0;font-style:italic}.streak-banner{justify-content:center;align-items:center;gap:6px;display:flex}.mode-title{align-items:center;gap:6px;display:inline-flex}.home .storefront{flex-shrink:0}.home .window{min-height:170px}.home .logo span{font-size:clamp(34px,10vw,48px)}.home .awning{height:40px}.home-actions{gap:8px;padding:10px 0 12px;overflow-y:auto}.home .btn.huge{min-height:58px}.node-title{margin-bottom:18px}.window-view{left:18%;right:18%}.decor.art{transform-origin:100% 0;top:18px;left:auto;right:3%;transform:scale(.8)}.fav{color:var(--ink-soft);align-items:center;gap:3px;font-size:11px;display:inline-flex}.counter-stage{height:clamp(88px,12.5dvh,112px)}.tip-jar{background:#efe2c8;border-radius:6px;gap:2px;margin-left:4px;padding:2px 3px;display:inline-flex}.tip-jar i{background:#d9c6a8;border-radius:2px;width:5px;height:12px;transition:background .3s}.tip-jar i.on{background:#c9a227}.mtile.sidelocked{filter:brightness(.92)saturate(.8)}.mtile.sidelocked:before,.mtile.sidelocked:after{content:"";z-index:2;background:#5a3e2b8c;border-radius:2px;width:3px;position:absolute;top:22%;bottom:22%}.mtile.sidelocked:before{left:3px}.mtile.sidelocked:after{right:3px}.tray-area{position:relative}.float-caption{z-index:5;color:var(--pink-dark);box-shadow:0 3px 0 var(--wood-dark);white-space:nowrap;text-overflow:ellipsis;background:#fffaf0;border-radius:999px;max-width:94vw;padding:6px 14px;font-size:15px;font-weight:800;animation:.3s cardIn;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)}.stuck-strip{z-index:6;box-shadow:0 4px 0 var(--wood-dark), 0 8px 18px #4e3b2c33;white-space:nowrap;background:#fffaf0;border-radius:16px;padding:6px 10px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.mtray.danger{animation:1s ease-in-out infinite dangerPulse}.mtray.chef{box-shadow:0 4px #c9a227,0 0 0 2px #f5cf6b}.combo-ticks{background:var(--pink);color:#fffaf0;border-radius:999px;align-items:center;gap:3px;padding:1px 7px 1px 6px;font-size:11px;display:inline-flex;position:absolute;top:-12px;right:10px}.combo-ticks i{background:#fffaf059;border-radius:50%;width:5px;height:5px}.combo-ticks i.on{background:#fffaf0}.boosters{align-items:center;gap:10px;padding:0 0 10px}.booster{border-radius:14px;width:66px;height:48px}.shelf-count{color:var(--ink-soft);box-shadow:0 2px 0 var(--wood);background:#fffaf0;border-radius:999px;padding:4px 10px;font-size:12px}.shelf-row{min-height:0;margin:2px auto 4px;animation:.3s cardIn}.decor.lanterns{z-index:2;width:100%;height:36px;top:0;left:0}.decor.sill{z-index:1;opacity:.95;width:64%;bottom:calc(42% - 12px);left:18%}.decor.clock{width:30px;height:38px;top:14px;left:4%}.decor.teaset{width:50px;height:26px;bottom:30px;right:5%}.decor.rug{z-index:1;background:#d99a8f;border-radius:50%;height:14px;bottom:4px;left:25%;right:25%;box-shadow:inset 0 0 0 3px #c47f73}.shop-card.locked{opacity:.5;filter:grayscale(.6)}.chapter{font-family:var(--font-display);color:var(--pink-dark);box-shadow:0 2px 0 var(--wood);white-space:nowrap;background:#fffaf0;border-radius:999px;margin-bottom:8px;padding:3px 12px;font-size:13px}.chef-hat{pointer-events:none;line-height:0;position:absolute;top:14px;left:-17px;transform:rotate(-10deg)}.score-line{box-shadow:0 2px 0 var(--wood);background:#fffaf0;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 10px;padding:8px 12px;font-size:14px;display:flex}.score-line .best{color:var(--ink-soft);font-size:12px}.score-line .best.new{color:var(--pink-dark);font-weight:900}.score-line .coin-val{align-items:center;gap:3px;font-weight:900;display:inline-flex}.chef-medal{background:#fff4cf;border-radius:12px;margin-bottom:10px;padding:6px 10px;font-size:13px}.chef-btn{color:#a07a12;box-shadow:0 3px #e8c46a}.map-node-wrap{height:auto;min-height:100px}.home .storefront .window{height:max(170px,30dvh)}.lane{flex-shrink:0;justify-content:center;align-items:center;margin:2px 0 4px;display:flex}.lane .shelf-row{margin:0}.lane-caption{color:var(--pink-dark);box-shadow:0 3px 0 var(--wood-dark);text-align:center;background:#fffaf0;border-radius:999px;max-width:96%;padding:6px 14px;font-size:14px;font-weight:800;line-height:1.25;animation:.3s cardIn}.lane-caption.toast-gold{color:#8a6a10;background:#fff4cf;box-shadow:0 3px #e8c46a}.lane-caption.danger-cap{color:#b8543f;background:#fde3de;box-shadow:0 3px #e0a3a3}.lane .stuck-strip{position:static;transform:none}.float-caption{display:none}.mslot.last{background:#f8c9bf;animation:.9s ease-in-out infinite pulse}.tip-jar small{color:var(--ink-soft);align-self:center;margin-right:2px;font-size:9px}.tip-jar.full{background:#fff4cf;box-shadow:0 0 0 2px #e8c46a}.shelf-icon{vertical-align:middle;background:repeating-linear-gradient(90deg,#f3e3c7 0 4px,#e2c49c 4px 5px);border-bottom:3px solid #b98a5e;border-radius:2px;width:14px;height:9px;display:inline-block}.fav-badge{color:#fffaf0;background:#e0735f;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:-6px;left:-6px;box-shadow:0 0 0 2px #fffaf0}.bubble.want{position:relative}.set-header{font-family:var(--font-display);grid-column:1/-1;justify-content:space-between;align-items:baseline;margin:8px 2px 0;font-size:16px;display:flex}.set-header small{font-family:var(--font);color:var(--ink-soft);font-size:12px}.install-chip{color:var(--mint-dark);background:#e3f0de}.install-card p{margin:0 0 14px}.stage-awning{z-index:1;filter:drop-shadow(0 2px #4e3b2c26);width:100%;height:14px;position:absolute;top:0;left:0}.twinkle-star{animation:2.4s ease-in-out infinite twinkle}.mtile.wanted:after{content:"♥";color:#fffaf0;z-index:3;background:#e0735f;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:-5px;right:-5px;box-shadow:0 0 0 2px #fffaf0}.chef-sub{color:#a07a12}.star-why{color:var(--ink-soft);margin:0 0 6px;font-size:13px}.chapter-card{background:#eef5e6;border-radius:14px;flex-direction:column;gap:2px;margin-bottom:10px;padding:8px 12px;font-size:13px;display:flex}.chapter-thumbs{justify-content:center;gap:6px;display:flex}.chef-link{color:#a07a12;background:#fff4cf;border-radius:999px;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:800;box-shadow:0 2px #e8c46a}.chef-link.won{color:#5a3e2b;background:#f5cf6b}.screen.mahjong{isolation:isolate;padding-bottom:max(8px, env(safe-area-inset-bottom));position:relative}.scene-bg{z-index:-1;contain:strict;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0;transform:translateZ(0)}.screen.mahjong:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 55%,#fbf5e6c7 0%,#fbf5e659 70%,#fbf5e626 100%);position:fixed;inset:0}.mj-top{align-items:center;gap:10px;padding:8px 0 4px;display:flex}.mj-title{line-height:1.1;font-family:var(--font-display);flex-direction:column;flex:1;align-items:center;display:flex}.mj-title b{font-size:19px}.mj-title small{color:var(--pink-dark);font-size:12px;font-family:var(--font)}.mj-score{min-width:74px;box-shadow:0 3px 0 var(--wood);background:#fffaf0e6;border-radius:14px;flex-direction:column;align-items:flex-end;padding:4px 10px;display:flex}.mj-score b{font-variant-numeric:tabular-nums;font-size:17px;animation:.25s bump}.mj-score .streak{color:#fffaf0;background:var(--pink);border-radius:999px;padding:0 6px;font-size:11px;font-weight:800}.mj-progress{background:#e2c49c80;border-radius:999px;height:6px;margin:2px 4px 6px;overflow:hidden}.mj-progress span{background:linear-gradient(90deg,#93c48b,#5f9e5a);height:100%;transition:width .4s;display:block}.orders{flex-shrink:0;justify-content:center;gap:6px;min-height:46px;display:flex}.order{box-shadow:0 2px 0 var(--wood);background:#fffaf0f0;border-radius:14px;align-items:center;gap:4px;min-width:0;padding:3px 8px 3px 3px;animation:.35s cardIn;display:flex}.order.happy{background:#e3f0de;animation:.5s .9s forwards leaveHappy}.order.critic{box-shadow:0 2px #c9a227,0 0 0 2px #f5cf6b}.order-face{background:radial-gradient(70% 32% at 50% 88%,#7a53342e,#0000 70%),linear-gradient(#fbefd9 0%,#f3dfbd 100%);border-radius:12px;flex-shrink:0;width:38px;height:34px;position:relative;overflow:visible;box-shadow:inset 0 0 0 1px #7a53342e}.order-face>.animal{position:absolute;bottom:-2px;left:50%;translate:-50%}.order-body{flex-direction:column;min-width:0;line-height:1.05;display:flex}.order-name{color:var(--ink-soft);white-space:nowrap;font-size:11px}.order-want{align-items:center;gap:3px;display:flex}.order-pips{gap:2px;display:flex}.order-pips i{background:#e5d6bd;border-radius:50%;width:7px;height:7px}.order-pips i.on{background:var(--mint-dark)}.critic-left{color:#a07a12;font-size:10px;font-weight:900}.order-empty{color:var(--ink-soft);background:#fffaf0e6;border-radius:999px;align-self:center;padding:4px 12px;font-size:13px}.screen.mahjong .board-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:6px 0;display:flex;position:relative}.mj-tile{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .4  0 0 0 0 .3  0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>"),linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%);border-radius:12%;padding:0;transition:transform .12s,filter .2s,box-shadow .15s;position:absolute;box-shadow:inset 0 0 0 1.5px #c99f7259,2px 2px #ead8b6,4px 4px #c99f6e,5px 6px 8px #4e3b2c4d}.mj-face{place-items:center;display:grid;position:absolute;inset:0}.mj-tile.covered,.mj-tile.boxed{filter:brightness(.93)saturate(.82)}.screen.mahjong .mj-tile.covered,.screen.mahjong .mj-tile.boxed{filter:brightness(.72)saturate(.6)}.screen.mahjong .mj-tile.facedown.covered,.screen.mahjong .mj-tile.facedown.boxed{filter:brightness(.8)saturate(.75)}.mj-tile.free:active{transform:translate(1px,1px)}.mj-tile.selected{transform:translate(-2px,-4px);box-shadow:inset 0 0 0 3px #e8b54a,2px 2px #ead8b6,4px 4px #c99f6e,6px 10px 14px #4e3b2c59;z-index:99998!important}.mj-tile.hinted,.mj-tile.tut{animation:.9s ease-in-out infinite hintPulse;box-shadow:inset 0 0 0 3px #93c48b,2px 2px #ead8b6,4px 4px #c99f6e;z-index:99997!important}.mj-tile.nope{animation:.3s nope}.mj-tile.leaving{pointer-events:none;animation:.26s ease-in forwards tileLeave}@keyframes tileLeave{40%{opacity:1;transform:translateY(-10px)scale(1.12)}to{opacity:0;transform:translateY(-18px)scale(.6)}}.board.shuffling .mj-tile{animation:.5s ease-in-out 2 shuffleWiggle}@keyframes shuffleWiggle{25%{transform:rotate(-6deg)translateY(-3px)}75%{transform:rotate(6deg)translateY(3px)}}.ice-coat{border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffffbf 0 18%,#0000 18% 60%,#ffffff80 60% 64%,#0000 64%),linear-gradient(#bee1f5b8,#96c8ebb8);position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffffe6}.lock-badge{color:#8a6a10;background:#fffaf0;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:4px;right:4px;box-shadow:0 1px #c9a227}.mj-tile.key-tile{box-shadow:inset 0 0 0 2px #e8b54a,2px 2px #f0dfa8,4px 4px #c9a227,5px 6px 8px #4e3b2c4d}.mj-dock{flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding-top:6px;display:flex}.mj-dock .booster{width:70px;height:50px}.dead-note{color:var(--pink-dark);background:#fffaf0f2;border-radius:12px;padding:6px 10px;font-size:13px;font-weight:700}.spark{pointer-events:none;z-index:60;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:13px;height:13px;margin:-6px 0 0 -6px;animation:.9s cubic-bezier(.2,.8,.4,1) forwards crumb;position:fixed}.pop{z-index:61;pointer-events:none;font-family:var(--font-display);white-space:nowrap;font-weight:900;animation:1.05s ease-out forwards popUp;position:fixed;transform:translate(-50%,-50%)}.pop.serve{color:var(--mint-dark);background:#fffaf0;border-radius:999px;padding:1px 8px;font-size:13px}.pop.thaw{color:#3f7fa8;font-size:13px}@keyframes popUp{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}.shuffle-note,.tut-note{color:var(--pink-dark);box-shadow:0 3px 0 var(--wood-dark);white-space:nowrap;z-index:100000;pointer-events:none;background:#fffaf0f5;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.intro-card{z-index:100001;box-shadow:0 5px 0 var(--wood-dark), 0 10px 24px #4e3b2c40;background:#fffaf0;border-radius:18px;align-items:center;gap:10px;padding:10px 12px;animation:.35s cardIn;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.intro-card p{flex:1;margin:0;font-size:14px;font-weight:700}.ice-demo{background:linear-gradient(#bee1f5e6,#96c8ebe6);border-radius:8px;flex-shrink:0;width:40px;height:48px;box-shadow:inset 0 0 0 2px #fff}.danger-zone{border-top:1px dashed var(--wood-dark);text-align:center;margin:10px 0;padding-top:10px}.danger-zone p{font-size:13px}.danger-row{justify-content:center;gap:8px;display:flex}.btn.danger{color:#fffaf0;background:#b8543f;padding:10px 14px;font-size:15px;box-shadow:0 3px #8a3a2a}.mj-tile.facedown{filter:none;background:linear-gradient(155deg,#7fa98a 0%,#5f8a6c 100%);box-shadow:inset 0 0 0 1.5px #fffaf059,2px 2px #ead8b6,4px 4px #c99f6e,5px 6px 8px #4e3b2c4d}.tile-back{background:radial-gradient(circle,#fffaf080 0 10%,#0000 11%),repeating-linear-gradient(45deg,#fffaf024 0 4px,#0000 4px 9px);border:2px solid #fffaf08c;border-radius:10%;position:absolute;inset:12%}.tile-back.demo{background-color:#6f9a7b;flex-shrink:0;width:40px;height:48px;display:block;position:relative;inset:auto}.mj-tile.peeking .mj-face{animation:.2s peekFlip}@keyframes peekFlip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.mj-tile.peeking{filter:none;box-shadow:inset 0 0 0 3px #7fa98a,2px 2px #ead8b6,4px 4px #c99f6e,5px 6px 8px #4e3b2c4d}.mj-tile .mj-face{transition:transform .18s}.mj-tile.mystery{background:linear-gradient(155deg,#d9a653 0%,#b98a3e 100%)}.mj-tile.mystery .tile-back:after,.tile-back.demo.mystery:after{content:"?";color:#fffaf0;font-family:var(--font-display);place-items:center;font-size:1.3em;font-weight:900;display:grid;position:absolute;inset:0}.tile-back.demo.mystery{background-color:#c9973f}.stock-row{justify-content:center;gap:10px;margin:6px 0;display:flex}.stock{box-shadow:0 3px 0 var(--wood);background:#fffaf0;border-radius:14px;flex-direction:column;align-items:center;min-width:76px;padding:6px 14px;display:flex}.stock b{font-size:20px}.stock small{color:var(--ink-soft);text-transform:capitalize;font-size:11px}.offer-icons{gap:2px;display:flex}.home-links{flex-wrap:wrap}.home-links .btn{flex:40%}.mode-row{grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:340px;display:grid}.mode-row .mode-card.daily{width:auto}.endless-intro{text-align:center;margin:6px 8px 12px;font-size:14px}.tier-list{flex-direction:column;gap:12px;display:flex}.tier-card{box-shadow:0 4px 0 var(--wood);text-align:left;background:#fffaf0;border-radius:20px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.tier-card:active{transform:translateY(2px)}.tier-cozy{background:linear-gradient(135deg,#eef5e6,#fffaf0)}.tier-busy{background:linear-gradient(135deg,#fbe9c6,#fffaf0)}.tier-rush{background:linear-gradient(135deg,#f8d8cc,#fffaf0)}.tier-name{font-family:var(--font-display);font-size:22px}.tier-desc{color:var(--ink-soft);font-size:14px}.tier-meta{color:var(--ink-soft);gap:12px;font-size:12px;display:flex}.mj-tray{background:linear-gradient(#b98a5e,#9c6f47);border-radius:16px;flex-shrink:0;justify-content:center;gap:6px;margin:4px auto 0;padding:7px 10px;transition:box-shadow .2s;display:flex;box-shadow:inset 0 2px #fffaf059,0 3px #7a5334,0 6px 12px #4e3b2c40}.mj-tray.full{animation:.35s 2 nope;box-shadow:inset 0 2px #fffaf059,0 3px #7a5334,0 0 0 3px #e0735f}.tray-slot{background:#4e341e59;border-radius:9px;width:48px;height:58px;position:relative;box-shadow:inset 0 2px 4px #00000040}.tray-tile{background:linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%);border-radius:9px;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px #c99f7259,0 3px #c99f6e}@keyframes trayLand{0%{opacity:.4;transform:translateY(-40px)scale(1.25)}to{opacity:1;transform:none}}.tray-tile.leaving{animation:.3s ease-in forwards trayLeave}@keyframes trayLeave{45%{filter:brightness(1.25);transform:translateY(-10px)scale(1.3)}to{opacity:0;transform:translateY(-28px)scale(.4)}}.tray-tile.hinted{animation:.9s ease-in-out infinite hintPulse;box-shadow:inset 0 0 0 3px #93c48b,0 3px #c99f6e}.lost-dock{flex-wrap:wrap}@media (width<=360px){.tray-slot{width:42px;height:51px}}.screen.home .home-top{flex-shrink:0;padding:10px 0 6px}.screen.home .storefront{flex-direction:column;flex:auto;min-height:0;margin-top:0;padding-bottom:10px;display:flex}.screen.home .storefront .awning{flex-shrink:0;height:34px}.screen.home .logo{flex-shrink:0}.screen.home .logo span{font-size:clamp(30px,6.5dvh,48px)}.screen.home .logo small{margin-top:2px;font-size:clamp(13px,2.4dvh,20px)}.screen.home .storefront .window{flex:auto;height:auto;min-height:96px;margin-top:8px}.screen.home .home-actions{flex-shrink:0;gap:7px;margin-top:0;padding:8px 0 10px;overflow:visible}.screen.home .btn.huge{min-height:52px;padding-top:10px;padding-bottom:10px}.screen.home .mode-row{max-width:none}.screen.home .mode-card{min-height:0;padding:8px 10px}.screen.home .home-links{grid-template-columns:repeat(4,1fr);gap:6px;width:100%;display:grid}.screen.home .home-links .btn{letter-spacing:0;min-width:0;padding:10px 2px;font-size:14px}@media (height<=640px){.screen.home .logo small,.screen.home .mode-sub{display:none}}.errands{width:100%;font:inherit;color:var(--ink,#5b4636);background:#fffaf0;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:800;display:flex;box-shadow:0 3px #e3cfae}.errands b{margin-left:auto}.errands.ready{background:#fff1c9;animation:1.2s ease-in-out infinite hintPulse}.errand-pips{gap:4px;display:flex}.errand-pips i{background:#e8dcc6;border-radius:50%;width:10px;height:10px}.login-card,.quest-card{text-align:center;max-width:360px}.login-sub{opacity:.8;margin:0 0 10px;font-size:14px}.login-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;display:grid}.login-day{background:#f7eedd;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:12px;display:flex;position:relative}.login-day.big{background:#fbe3c8;grid-column:span 2}.login-day.today{background:#fff1c9;animation:1.2s ease-in-out infinite hintPulse;box-shadow:0 0 0 3px #f5cf6b}.login-day.got{opacity:.55}.login-check{color:#5f8a6c;font-weight:900;position:absolute;top:2px;right:6px}.reward-icons{flex-wrap:wrap;justify-content:center;gap:4px;font-weight:800;display:inline-flex}.reward-icons span{align-items:center;gap:2px;display:inline-flex}.quest-list{text-align:left;flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.quest{background:#f7eedd;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex}.quest.claimed{opacity:.6}.quest-text{flex-direction:column;flex:1;gap:4px;font-size:14px;display:flex}.quest-text small{align-items:center;gap:6px;font-size:12px;display:flex}.quest-bar{background:#e8dcc6;border-radius:99px;height:7px;overflow:hidden}.quest-bar span{background:#93c48b;height:100%;display:block}.quest-got{color:#5f8a6c;font-size:20px;font-weight:900}.climbs{margin-top:16px}.climbs h3{margin:0 0 6px;font-size:15px}.climbs ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.climbs li{background:#fffaf0;border-radius:10px;align-items:center;gap:10px;padding:6px 10px;font-size:14px;display:flex}.climbs li small{opacity:.6;margin-left:auto}.chapter{align-items:center;gap:8px;display:inline-flex}.chest{font:inherit;color:var(--ink,#5b4636);background:#f7eedd;border:0;border-radius:999px;align-items:center;gap:4px;padding:2px 10px 2px 4px;font-size:12px;line-height:1;display:inline-flex}.chest svg{flex:none;margin:-4px 0}.chest.ready{background:#f5cf6b;animation:1s ease-in-out infinite hintPulse;box-shadow:0 0 0 2px #fff3c2,0 3px 10px #e8a02873}.chest.ready svg{transform-origin:50% 85%;animation:1.8s ease-in-out infinite chestWiggle}@keyframes chestWiggle{0%,55%,to{transform:rotate(0)}65%{transform:rotate(-9deg)}75%{transform:rotate(8deg)}85%{transform:rotate(-4deg)}}.chest.opened{opacity:.7}.room-stats{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:6px;margin:2px 0 8px;font-size:13px;display:flex}.room-stats .chip{padding:4px 10px;font-size:13px}.tip-jar.ready{background:#fff1c9;animation:1.1s ease-in-out infinite hintPulse}.room{aspect-ratio:1/.92;width:100%;max-height:46dvh;box-shadow:var(--shadow);border-radius:22px;flex-shrink:0;margin:0 auto;position:relative;overflow:hidden}.room-wall{background:linear-gradient(180deg, #ffffff2e, #0000000f), var(--wall);position:absolute;inset:0 0 58%}.room-wall:after{content:"";background:#b98d62;height:7%;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 -2px #d9b48a}.room-floor{background:linear-gradient(180deg, #3c28192e, transparent 40%), repeating-linear-gradient(90deg, var(--floor-a) 0 7.5%, var(--floor-b) 7.5% 8%, var(--floor-a) 8% 15.5%, #00000014 15.5% 16%);position:absolute;inset:42% 0 0}.room-window{opacity:.9;background:linear-gradient(#8ec5e8,#dff0f4 70%,#b8d8a0 71%);border:5px solid #b98d62;border-radius:40% 40% 6px 6px;width:28%;height:26%;position:absolute;top:5%;left:36%}.room-hook,.room-cell{background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-100%)}.room-hook{aspect-ratio:1;border-radius:50%;width:15%;transform:translate(-50%,-50%)}.room-cell{aspect-ratio:1/.6;border-radius:40%;transform:translate(-50%,-80%)}.room-hook,.room-cell{pointer-events:none}.room.placing .room-cell.open,.room.placing .room-hook.open{z-index:4;background:#d6f0c473;animation:1.6s ease-in-out infinite cellGlow;box-shadow:inset 0 0 0 1.5px #7eb86ebf}.room.placing .room-cell.taken,.room.placing .room-hook.taken{z-index:4;background:#e0735f1f}.room.placing .room-cell.target,.room.placing .room-hook.target{animation:none;box-shadow:inset 0 0 0 3px #fffaf0,0 0 12px #fffaf0e6}@keyframes cellGlow{50%{opacity:.55}}.room{touch-action:none;-webkit-user-select:none;user-select:none}.room-ghost{aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 10px 6px #3c281959);transition:left 90ms ease-out,top 90ms ease-out;animation:1.3s ease-in-out infinite ghostBob;position:absolute;transform:translate(-50%,-104%)}.room-ghost.wall{z-index:150;transform:translate(-50%,-58%)}.room-ghost.rug{transform:translate(-50%,-84%)}.room-ghost.blocked{filter:drop-shadow(0 10px 6px #3c281959)sepia(.6)hue-rotate(-30deg)saturate(1.8)brightness(.95);opacity:.85}@keyframes ghostBob{50%{margin-top:-1.5%}}.room-footprint{aspect-ratio:1/.45;pointer-events:none;z-index:140;border-radius:50%;transition:left 90ms ease-out,top 90ms ease-out;position:absolute;transform:translate(-50%,-70%)}.room-footprint.fits{background:#7ec86e73;box-shadow:0 0 0 2px #5ca050cc}.room-footprint.blocked{background:#e0735f66;box-shadow:0 0 0 2px #c8503cd9}.room.dragging .room-ghost{animation:none}.room-piece.moving{opacity:.18}.room-piece.plop{animation:.42s cubic-bezier(.3,1.6,.6,1) plop}@keyframes plop{0%{scale:1.15 .85}50%{scale:.95 1.08}to{scale:1}}.hold-tip{font-size:13px}.room-piece{aspect-ratio:1;background:0 0;border:0;padding:0;transition:filter .15s;position:absolute;transform:translate(-50%,-94%)}.room-piece.wall{z-index:3;transform:translate(-50%,-50%)}.room-piece.rug{transform:translate(-50%,-78%)}.room.placing .room-piece{pointer-events:none}.room-guest{aspect-ratio:1;pointer-events:none;animation:2.6s ease-in-out infinite bob;position:absolute;translate:-50% -100%}.room-actions,.room-tabs{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:40px;margin:10px 0 6px;font-size:14px;display:flex}.room-tab{font:inherit;color:var(--ink,#5b4636);background:#fffaf0;border:0;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:800;box-shadow:0 2px #e3cfae}.room-tab.on{color:#fff;background:#93c48b;box-shadow:0 2px #5f8a6c}.room-shelf{flex:1;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));align-content:start;gap:8px;min-height:0;padding-bottom:12px;display:grid;overflow-y:auto}.room-set{grid-column:1/-1;margin:4px 0 0;font-size:14px}.furn-card{font:inherit;color:var(--ink,#5b4636);background:#fffaf0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative;box-shadow:0 3px #e3cfae}.furn-card.poor{opacity:.6}.furn-card.locked{opacity:.45;filter:grayscale(.7)}.furn-card.on{box-shadow:0 0 0 3px #93c48b,0 3px #e3cfae}.furn-card.flash{animation:.8s hintPulse}.furn-name{text-align:center;font-size:12px;font-weight:800;line-height:1.1}.furn-price{align-items:center;gap:2px;font-size:12px;display:inline-flex}.furn-owned{color:#5f8a6c;font-size:11px;font-weight:800;position:absolute;top:4px;right:6px}.floor-swatch{background:repeating-linear-gradient(90deg, var(--floor-a) 0 25%, var(--floor-b) 25% 50%);border-radius:10px;width:46px;height:46px}.room-empty{text-align:center;grid-column:1/-1;font-size:14px}.screen.mahjong .mj-tile{box-shadow:inset 0 0 0 1.5px #7a53348c, inset 0 2px 0 #fffc, 1px 1px 0 #e6cfa6, calc(var(--edge,5px) * .5) calc(var(--edge,5px) * .5) 0 #d2b084, var(--edge,5px) var(--edge,5px) 0 #9c7248, calc(var(--edge,5px) + 1px) calc(var(--edge,5px) + 1px) 0 #4e341e8c, calc(var(--edge,5px) + 3px) calc(var(--edge,5px) + 5px) 8px #281a0f73;border-radius:10%}.screen.mahjong .mj-tile.selected,.screen.mahjong .mj-tile.hinted,.screen.mahjong .mj-tile.tut{box-shadow:inset 0 0 0 3px #e8b54a, var(--edge,5px) var(--edge,5px) 0 #9c7248, calc(var(--edge,5px) + 3px) calc(var(--edge,5px) + 5px) 8px #281a0f73}.screen.mahjong .mj-tile.facedown{box-shadow:inset 0 0 0 1.5px #28463299, inset 0 2px 0 #ffffff59, var(--edge,5px) var(--edge,5px) 0 #9c7248, calc(var(--edge,5px) + 1px) calc(var(--edge,5px) + 1px) 0 #4e341e8c, calc(var(--edge,5px) + 3px) calc(var(--edge,5px) + 5px) 8px #281a0f73}.screen.mahjong .mj-title{background:#fffaf0e6;border-radius:14px;padding:2px 12px 4px;box-shadow:0 2px #7a533440}.screen.mahjong .ice-coat{background:linear-gradient(135deg,#fff9 0 14%,#0000 14% 62%,#ffffff73 62% 66%,#0000 66%),linear-gradient(#bee1f561,#96c8eb6b);box-shadow:inset 0 0 0 2.5px #fffffff2,inset 0 0 10px #78b4e199}.moon-clock{color:#f3ecd2;background:#282e58d9;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:6px;margin:2px 0 4px;padding:3px 12px;font-size:12px;font-weight:800;display:inline-flex}.moon-clock.up{color:#4a3d6e;background:#fff4cdf2}.moon-disc{background:#6d6f94;border-radius:50%;width:12px;height:12px;transition:background .4s;box-shadow:inset -3px -1px #3a3d63}.moon-clock.up .moon-disc{background:#fff3c4;box-shadow:0 0 8px #ffe28a}.moon-badge{color:#e8c35a;text-shadow:0 0 4px #ffe28ae6;pointer-events:none;font-size:13px;line-height:1;position:absolute;top:2px;right:5px}.mj-tile.moonlit.facedown{background:linear-gradient(155deg,#4f5a92 0%,#313a6b 100%)}.mj-tile.moonlit.facedown .moon-badge{color:#fff3c4}.mj-tile.spirit-tile:not(.facedown){background:radial-gradient(circle at 50% 45%,#ffecaabf,#0000 65%),linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%)}@keyframes fadeIn{0%{opacity:0}}.gallery{background:var(--bg)}.gallery-size{align-items:center;gap:4px;font-size:12px;display:flex}.gallery-size input{width:80px}.gallery-tabs{flex-shrink:0;gap:6px;padding:4px 0 8px;display:flex;overflow-x:auto}.gallery-body{flex:1;min-height:0;padding-bottom:20px;overflow-y:auto}.gallery-row h4{margin:10px 0 4px}.gallery-row h4 small{opacity:.5;font-weight:600}.gallery-strip,.gallery-grid{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.gallery figure{flex-direction:column;align-items:center;gap:2px;margin:0;display:flex}.gallery figcaption{opacity:.7;text-align:center;word-break:break-all;font-size:10px}.gallery-face{background:linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%);border-radius:12%;place-items:center;width:100%;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #7a53348c,4px 4px #9c7248}.gallery-world{position:relative;margin-bottom:12px!important}.gallery-land{isolation:isolate;border-radius:16px;width:100%;height:560px;display:block;position:relative;overflow:hidden}.gallery-land>.scene-bg,.gallery-land>.ambient{z-index:0;width:100%;height:100%;position:absolute}.gallery-cafe{width:100%;margin:10px 0 0!important}.gallery-cafe>.window{aspect-ratio:1/.82;width:100%}.gallery-icon-row{color:#4a3228;align-items:flex-end;gap:6px;display:flex}.gimmick-toggle{width:100%;font:inherit;text-align:left;color:var(--ink,#5b4636);background:#fffaf0;border:0;border-radius:16px;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex;box-shadow:0 3px #e3cfae}.gimmick-toggle b{font-size:15px;display:block}.gimmick-toggle small{opacity:.75;font-size:12px}.toggle-knob{background:#d8cbb4;border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.toggle-knob:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.gimmick-toggle.on .toggle-knob:after{transform:translate(18px)}.ambient{z-index:-1;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.window .ambient{z-index:1;position:absolute}.screen.mahjong .mj-tile.covered,.screen.mahjong .mj-tile.boxed,.screen.mahjong .mj-tile.facedown.covered,.screen.mahjong .mj-tile.facedown.boxed{filter:none}.screen.mahjong .mj-tile:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#78563a42;transition:opacity .18s;position:absolute;inset:0}.screen.mahjong .mj-tile.covered:after,.screen.mahjong .mj-tile.boxed:after{opacity:1}.screen.mahjong .mj-tile.facedown.covered:after,.screen.mahjong .mj-tile.facedown.boxed:after{opacity:.55}.screen.mahjong .board{contain:layout paint}.screen.mahjong .mj-tile{transition:transform .12s}.screen{animation:.18s ease-out screenIn}@keyframes screenIn{0%{opacity:0}}html,body{background:var(--bg);overscroll-behavior:none}.fast *,.fast :before,.fast :after{transition:none!important;animation-duration:0s!important;animation-delay:0s!important}.shop-tabs{grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 12px;display:grid}.shop-tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:#ffffffa6;border:none;border-radius:999px;padding:10px 0;font-weight:800}.shop-tabs button.on{background:var(--ink);color:#fff}.menu-panel .menu-sub{margin:2px 2px 6px}.menu-grid{overflow:visible}.menu-art{place-items:center;padding:6px 0 2px;display:grid}.idle-rate{font-size:12px}.welcome-coins{color:var(--ink);align-items:center;gap:6px;font-size:20px;font-weight:900;display:inline-flex}.welcome-card .btn{margin-top:10px}.cf-wall,.cf-sky,.cf-frame,.cf-light,.cf-floor{pointer-events:none;position:absolute}.cf-wall{z-index:0;inset:0}.cf-sky{z-index:1;background:linear-gradient(#4f9ee6 0%,#8fcaf2 55%,#d8eef8 100%);overflow:hidden}.cf-sky .landscape,.cf-sky svg{width:100%;height:100%;position:absolute;inset:0}.bonus-timer{z-index:2;color:#5b4636;background:#f5cf6b;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:900;display:grid;position:absolute;top:-8px;right:-6px}.orders-goal{color:var(--pink-dark);background:#fbe3dc;border-radius:999px;margin-top:2px;padding:1px 8px;font-size:11px;font-weight:800;display:inline-block}.orders-goal.done{color:#3f6e3c;background:#dcefd6}.star-checks{color:#a8987f;flex-wrap:wrap;justify-content:center;gap:4px 6px;margin:6px auto 8px;padding:0;font-size:13px;font-weight:800;list-style:none;display:flex}.star-checks li{background:#f3ead8;border-radius:999px;padding:2px 9px}.star-checks li.ok{background:#e3f1dc}.crown-tip{color:#a8987f;margin:0 0 8px;font-size:12px!important}.score-details{color:#a8987f;margin:0 auto 8px;font-size:12px}.score-details summary{cursor:pointer;font-weight:700;list-style:none}.star-checks li.ok{color:#3f6e3c}.star-checks .crown-line{color:#b8860b}.node-crownmark{color:#d4a017;text-shadow:0 1px #fff;margin-left:2px;font-size:13px;line-height:1}.board.spotlight .mj-tile:not(.tut){filter:brightness(.82)sepia(.25)}.board.spotlight .mj-tile.tut.free{z-index:99999!important}.coach{z-index:5;background:#fffaf0;border-radius:16px;align-self:center;align-items:center;gap:10px;width:min(92%,400px);margin:2px auto 6px;padding:8px 10px 8px 8px;animation:.25s cubic-bezier(.3,1.4,.6,1) coachIn;display:flex;position:relative;box-shadow:0 3px #e3cfae,0 8px 18px #0000002e}@keyframes coachIn{0%{opacity:0;transform:translateY(10px)}}.coach p{color:#4a3a2e;flex:1;margin:0;font-size:14px;font-weight:700;line-height:1.3}.coach-icon{flex-shrink:0;place-items:center;width:34px;height:40px;display:grid}.coach-icon .tile-back.demo{width:30px;height:36px}.tut-note{animation:.25s coachIn}.score-tally{color:#8a7560;max-width:240px;margin:4px auto 2px;padding:0;font-size:13px;list-style:none}.score-tally li{justify-content:space-between;gap:12px;display:flex}.regular-line{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}.results-actions .results-row{gap:6px}.results-actions .results-row .btn{min-height:0;box-shadow:none;padding:7px 10px;font-size:13px}.lost-dock{display:block}.lose-card{text-align:center;background:#fffaf0;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:10px 12px 12px;animation:.25s cardIn;display:flex;box-shadow:0 3px #e3cfae,0 8px 18px #00000026}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}}.lose-card b{color:var(--pink-dark);font-size:16px}.lose-card>span{color:#7a6552;font-size:13px}.lose-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.lose-actions .btn small{opacity:.75;font-size:12px}.board-wrap>.lose-card{z-index:100001;width:min(94%,420px);animation:.28s cubic-bezier(.3,1.3,.6,1) loseIn;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}@keyframes loseIn{0%{opacity:0;transform:translate(-50%,14px)}}.mj-dock.dimmed{opacity:.35;pointer-events:none}.flyer-x{z-index:70;pointer-events:none;will-change:transform;animation:.28s linear forwards flyX;position:fixed}.flyer-y{will-change:transform;background:linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%);border-radius:12%;place-items:center;animation:.28s cubic-bezier(.3,-.7,.7,1) forwards flyY;display:grid;position:absolute;translate:-50% -50%;box-shadow:inset 0 0 0 1.5px #7a53348c,0 6px 12px #281a0f4d}@keyframes flyX{to{transform:translate3d(var(--dx), 0, 0)}}@keyframes flyY{to{transform:translate3d(0, var(--dy), 0) scale(.72)}}.tray-tile.landing{animation:.24s cubic-bezier(.3,1.5,.6,1) .24s both trayPop}@keyframes trayPop{0%{opacity:0;transform:scale(1.2)}60%{opacity:1;transform:scale(.9,1.1)}to{opacity:1;transform:none}}.mj-tray.squash{animation:.32s traySquash}@keyframes traySquash{30%{transform:scale(1.04,.92)}60%{transform:scale(.98,1.03)}}.mj-tray.danger{animation:1s ease-in-out infinite dangerPulse;box-shadow:inset 0 2px #fffaf059,0 3px #7a5334,0 0 0 3px #e0735f,0 0 18px #e0735fa6}@keyframes dangerPulse{50%{box-shadow:inset 0 2px #fffaf059,0 3px #7a5334,0 0 0 3px #e0735f,0 0 6px #e0735f4d}}.order.happy{animation:.7s cubic-bezier(.3,1.6,.6,1) cheer;position:relative}.order.happy:after{content:"♥";color:#e0735f;font-size:16px;animation:.9s ease-out forwards heartUp;position:absolute;top:-6px;right:6px}@keyframes cheer{30%{transform:translateY(-8px)scale(1.06)}60%{transform:translateY(0)scale(.97)}}@keyframes heartUp{0%{opacity:0;transform:translateY(6px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-18px)scale(1.2)}}button.room-guest{pointer-events:none;background:0 0;border:0;padding:0}button.room-guest.wants{pointer-events:auto;cursor:pointer}.guest-bubble{aspect-ratio:1;background:#fffaf0;border-radius:50%;place-items:center;width:50%;padding:8%;animation:1.4s ease-in-out infinite hintPulse;display:grid;position:absolute;top:-16%;left:62%;box-shadow:0 2px #e3cfae,0 4px 10px #00000026}.guest-bubble:after{content:"";background:#fffaf0;border-radius:50%;width:22%;height:22%;position:absolute;bottom:-6%;left:8%}.serve-card{text-align:center;max-width:340px}.serve-card p{margin:6px 0 10px;font-weight:800}.serve-card p small{opacity:.6;font-size:12px;font-weight:600;display:block}.serve-choices{justify-content:center;gap:10px;margin-bottom:10px;display:flex}.serve-choice{background:linear-gradient(155deg,#fffdf6 0%,#f6ecd6 100%);border:0;border-radius:16px;padding:8px;box-shadow:inset 0 0 0 1.5px #7a533473,0 3px #c99f6e}.serve-choice:active{transform:translateY(2px)}.serve-choice.nope{animation:.3s nope}.serve-note{opacity:.65;font-size:12px;display:block}.arrival{z-index:60;pointer-events:none;justify-content:center;align-items:center;gap:12px;animation:2.4s forwards arrival;display:flex;position:fixed;top:17%;left:0;right:0}.arrival b{font-family:var(--font-display);letter-spacing:1px;color:#fffaf0;text-shadow:0 2px 10px #281a0f8c,0 0 2px #281a0f80;white-space:nowrap;font-size:26px;font-weight:900}.arrival-line{background:#fffaf0d9;border-radius:2px;width:36px;height:2px;box-shadow:0 1px 6px #281a0f66}@keyframes arrival{0%{opacity:0;transform:translateY(10px)}20%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.cf-frame,.cf-light,.cf-floor{width:100%;height:100%;inset:0}.cf-floor{z-index:0}.cf-frame{z-index:2}.cf-light .cf-beams{animation:8s ease-in-out infinite cfBeams}@keyframes cfBeams{0%,to{opacity:1}50%{opacity:.6}}.room-screen{background:#f6ecd8}.room-stats{gap:5px;margin:0 0 6px}.room-stats .chip{gap:4px;padding:3px 9px;font-size:12px}.room-wrap{border-radius:18px;flex-shrink:0;width:min(100%,46.7391dvh);margin:0 auto;box-shadow:0 0 0 2px #4a3228,4px 5px #4a322840}.room{aspect-ratio:1/.92;width:100%;max-height:none;box-shadow:none;isolation:isolate;background:#e8d2ae;border-radius:18px 18px 0 0}.room-piece,.room-piece.wall,.room-piece.rug{filter:none}.room-hook{z-index:4}.room-guest{aspect-ratio:1;pointer-events:none;transition-property:left,top,width;animation:none;position:absolute;translate:-50% -100%}.room-guest .guest-flip{width:100%;height:100%;display:block}.room-guest .guest-flip.left{transform:scaleX(-1)}.room-guest .guest-flip>svg{width:100%;height:100%}.room-guest.arriving{animation:.5s ease-out both guestArrive}.room-guest.leaving{animation:guestLeave .45s ease-in var(--fade-at,0s) forwards}@keyframes guestArrive{0%{opacity:0}}@keyframes guestLeave{to{opacity:0}}.coin-bubble{z-index:150;font:inherit;color:#6a4810;cursor:pointer;background:#fff3b8;border:0;border-radius:999px;align-items:center;gap:3px;padding:3px 9px 3px 4px;font-size:13px;font-weight:900;animation:.45s cubic-bezier(.3,1.7,.5,1) both bubbleUp,1.8s ease-in-out .45s infinite alternate bubbleFloat;display:inline-flex;position:absolute;translate:-50% -100%;box-shadow:0 0 0 2px #4a3228,inset -3px -3px #ffd45a,2px 3px #4a32284d}.coin-bubble:after{content:"";z-index:-1;background:#ffd45a;border-bottom:2px solid #4a3228;border-right:2px solid #4a3228;width:8px;height:8px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.coin-bubble.dropping{pointer-events:none;animation:.7s cubic-bezier(.5,0,.9,.6) forwards dropJar}@keyframes bubbleUp{0%{opacity:0;transform:scale(.2)translateY(20px)}}@keyframes bubbleFloat{to{transform:translateY(-4px)}}@keyframes dropJar{to{opacity:0;top:106%;left:90%;transform:scale(.35)}}.coin-fly{z-index:160;pointer-events:none;animation:.85s cubic-bezier(.4,-.3,.7,1) forwards coinFly;position:absolute;translate:-50% -50%}@keyframes coinFly{to{opacity:.2;top:-24%;left:92%;transform:scale(.7)}}.room-heart{z-index:140;color:#ff6f94;-webkit-text-stroke:1px #4a3228;pointer-events:none;font-size:16px;animation:1.6s ease-out forwards heartFloat;position:absolute;translate:-50% -100%}@keyframes heartFloat{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:translateY(-26px)scale(.9)}}.pastry-case{background:linear-gradient(#b27c50 0 6px,#8e5c3c 6px);border-top:2px solid #4a3228;border-radius:0 0 18px 18px;align-items:stretch;gap:6px;padding:7px 6px;display:flex;position:relative}.case-label{color:#fffaf0;background:#3f5a4a;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:2px 7px;line-height:1.05;display:flex;box-shadow:0 0 0 2px #4a3228}.case-label b{font-size:13px}.case-label span{opacity:.85;font-size:9.5px}.case-glass{scrollbar-width:none;background:linear-gradient(115deg,#0000 0 8%,#ffffffb3 8% 11%,#0000 11%),linear-gradient(#fff6e2 0 72%,#f0dcb8 72%);border-radius:8px;flex-wrap:nowrap;flex:1;align-items:flex-end;gap:1px;min-width:0;padding:3px 6px 2px;display:flex;overflow-x:auto;box-shadow:0 0 0 2px #4a3228}.case-glass::-webkit-scrollbar{display:none}.case-item{flex:none;place-items:center;width:30px;height:30px;animation:.35s both cardIn;display:grid}.case-item>svg{width:100%;height:100%}.jar{width:50px;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;padding:0;display:flex;position:relative}.jar svg{width:34px;height:36px}.jar span{color:#fffaf0;background:#4a3228;border-radius:999px;margin-top:-4px;padding:0 6px;font-size:11px;font-weight:900}.jar.ready svg{animation:1.2s ease-in-out infinite hintPulse}.jar:disabled{cursor:default}.room-tip{grid-column:1/-1;margin:2px 2px 0;font-size:12px;line-height:1.3}.furn-card{background:#fffaf0;box-shadow:0 0 0 1.5px #4a322840,0 3px #e3cfae}.furn-art{background:linear-gradient(#f6ead2 0 70%,#ecd6b0 70%);border-radius:10px;place-items:center;width:100%;padding:2px 0;display:grid}.furn-meta{color:#a0724a;font-size:10px;font-weight:800}.room-set{color:#8e5c3c}.room-tab.on{background:#4656aa;box-shadow:0 2px #1e2458}.window.cafe-scene{isolation:isolate;background:#f6ead2;border-radius:18px;box-shadow:0 0 0 2px #4a3228}.cafe-scene .home-mascot{z-index:4;bottom:13%}.cafe-scene .guest{position:relative}.cafe-scene .home-bubble{z-index:20;top:-2px;left:50%}.cf-menuboard{z-index:3;color:#fffaf0;pointer-events:none;background:#3f5a4a;border-radius:5px;width:24%;padding:4px 4px 5px;position:absolute;top:17%;left:5%;box-shadow:0 0 0 3px #b27c50,0 0 0 4.5px #4a3228,3px 4px 0 4.5px #4a322833}.cf-menuboard b{border-bottom:1px dashed #fffaf066;justify-content:space-between;align-items:baseline;margin-bottom:3px;padding:0 2px 2px;font-size:11px;display:flex}.cf-menuboard small{color:#ffd45a;font-size:9px}.cf-menu-grid{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.cf-menu-grid>svg{aspect-ratio:1;width:100%;height:auto}.cf-counter{z-index:5;background:linear-gradient(#e6ac6a 0 5px,#4a3228 5px 7px,#0000 7px),repeating-linear-gradient(90deg,#0000 0 34px,#8e5c3c 34px 36px),linear-gradient(90deg,#c78a4c 0 70%,#b27c50 70%);border-top:2px solid #4a3228;height:22%;position:absolute;bottom:0;left:0;right:0}.cf-case{z-index:6;background:linear-gradient(115deg,#0000 0 6%,#fffc 6% 9%,#0000 9%),#fff6e2;border-radius:6px 6px 3px 3px;align-items:flex-end;gap:2px;height:12%;padding:1px 6px;display:flex;position:absolute;bottom:5%;left:4%;box-shadow:0 0 0 2px #4a3228}.cf-case>svg{aspect-ratio:1;width:auto;height:100%}.cf-rate{z-index:7;color:#4a3228;background:#ffe27a;border-radius:999px;align-items:center;gap:3px;padding:2px 8px 2px 4px;font-size:11.5px;font-weight:900;display:inline-flex;position:absolute;bottom:6%;right:4%;box-shadow:0 0 0 2px #4a3228}.cafe-scene .decor.bunting,.cafe-scene .decor.lanterns,.cafe-scene .decor.fairy{z-index:4;top:11%}.cafe-scene .decor.fairy span{box-shadow:0 0 0 1px #4a3228}.cafe-scene .decor.lamps{z-index:4;width:90%;height:22%;top:10%;left:5%}.cafe-scene .decor.art{z-index:3;background:#fffaf0;border:3px solid #b27c50;border-radius:3px;padding:2px;top:38%;left:auto;right:5%;transform:none;box-shadow:0 0 0 1.5px #4a3228,3px 3px 0 1.5px #4a322833}.cafe-scene .decor.clock{z-index:3;top:19%;left:auto;right:24%}.cafe-scene .decor.sill{z-index:3;width:36%;top:auto;bottom:calc(43% - 6px);left:32%}.cafe-scene .decor.plant{z-index:7;width:46px;height:70px;bottom:12%;left:auto;right:1%}.cafe-scene .decor.record{z-index:6;bottom:17%;left:50%;right:auto;transform:translate(-160%)}.cafe-scene .decor.teaset{z-index:6;bottom:18%;right:14%}.cafe-scene .decor.rug{z-index:6;background:repeating-linear-gradient(90deg,#4656aa 0 10px,#fffaf0 10px 13px);border-radius:4px;height:10%;bottom:4%;left:50%;right:16%;box-shadow:0 0 0 1.5px #4a3228}.cafe-scene.night .cf-light{opacity:.4}.storefront{background:#fffaf0}.awning.cafe-eave,.screen.home .storefront .awning.cafe-eave{filter:none;height:44px}.shop .shop-grid:not(.menu-grid){grid-template-columns:repeat(3,1fr);gap:8px}.shop .shop-grid .shop-card{text-align:center;background:#fffaf0;align-items:center;gap:2px;padding:8px 4px}.shop .shop-grid .shop-card>svg{background:linear-gradient(#f6ead2 0 70%,#ecd6b0 70%);border-radius:12px;width:52px;height:52px}.shop .shop-name{font-size:13px;line-height:1.1}.menu-panel{flex:1;min-height:0;padding:4px 4px 16px;overflow-y:auto}.menu-panel .menu-grid{grid-template-columns:repeat(3,1fr);gap:8px}.menu-panel .menu-grid .shop-card{text-align:center;background:#fffaf0;align-items:center;gap:1px;padding:6px 4px 8px}.menu-panel .menu-grid .menu-art{padding:2px 0 0}.menu-hero{color:#fffaf0;background:#3f5a4a;border-radius:14px;margin:4px 4px 12px;padding:10px 10px 8px;box-shadow:0 0 0 4px #b27c50,0 0 0 6px #4a3228,4px 5px 0 6px #4a322833}.menu-hero-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-hero-head b{font-size:16px}.menu-hero-head small{color:#ffd45a;font-size:11px;display:block}.menu-hero .chip{padding:3px 10px;font-size:12px}.menu-showcase{background:#35503f;border-radius:10px;flex-wrap:wrap;gap:1px;margin:8px 0 6px;padding:4px;display:flex}.menu-showcase .case-item{width:28px;height:28px}.menu-hero-note{color:#f0ead8;margin:0;font-size:12px;line-height:1.35}.menu-hero-note b{color:#ffd45a;align-items:center;gap:2px;display:inline-flex}.menu-perk{color:#4656aa;font-size:11px;font-weight:900}@media (prefers-reduced-motion:reduce){.cf-light .cf-beams,.coin-bubble{animation:none}}.cf-sky{background:linear-gradient(#86aac4 0%,#b8d0d6 60%,#e8e2cc 100%);border-radius:50% 50% 0 0/28% 28% 0 0}.cf-light,.cf-shafts{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cf-light{z-index:6}.cf-shafts{z-index:6;will-change:opacity;animation:9s ease-in-out infinite cfBeams}.cf-motes{z-index:7;pointer-events:none;position:absolute}.cf-motes i{opacity:0;background:#fbf1d6;border-radius:50%;width:2px;height:2px;animation:10s ease-in-out infinite cfMote;position:absolute}.cf-motes i:nth-child(2n){width:1.5px;height:1.5px;animation-duration:13s}@keyframes cfMote{0%{opacity:0;transform:translate(0)}20%{opacity:.8}50%{transform:translate(7px,-12px)}80%{opacity:.6}to{opacity:0;transform:translate(14px,3px)}}.room-wrap{border-radius:16px;box-shadow:0 0 0 2px #3b2519,3px 4px #3a241833}.room{background:#ead8b6}.room .cf-sky{z-index:1}.chip.idle-rate{color:#6e4c1c;background:#f8ecd0}.chip.menu-bonus{color:#7e3831;background:#f6e3cf}.room-hook{width:13%}.room .room-ivy{z-index:2;pointer-events:none;width:17%;height:auto;position:absolute;top:7%}.room .room-ivy.l{left:0}.room .room-ivy.r{right:0;transform:scaleX(-1)}.room.placing .room-cell.open,.room.placing .room-hook.open{background:radial-gradient(#fbf3ded9,#e9cd8c59 70%);box-shadow:inset 0 0 0 2px #c9a458}.room-piece.sel{filter:drop-shadow(2px 0 #d9b35e)drop-shadow(-2px 0 #d9b35e)drop-shadow(0 2px #d9b35e)drop-shadow(0 -2px #d9b35e)}.pastry-case{background:linear-gradient(#d7a567 0 3px,#b27d4a 3px 6px,#6b4631 6px 8px,#0000 8px),repeating-linear-gradient(90deg,#7f573b 0 24px,#6c4a32 24px 25px,#876042 25px 49px,#6c4a32 49px 50px);border-top:2px solid #3b2519;gap:6px;padding:7px 7px 8px}.case-label{color:#f3eee2;background:radial-gradient(at 30% 20%,#f3eee21a,#0000 60%),#333e38;border-radius:8px;padding:3px 8px;box-shadow:0 0 0 2px #98694a,0 0 0 3px #2f1d13,2px 3px 0 3px #3a241833}.case-glass{background:linear-gradient(112deg,#0000 0 7%,#fffaf08c 7% 9%,#0000 9% 13%,#fffaf059 13% 14%,#0000 14%),linear-gradient(#f6ead0 0 74%,#e6d3ae 74% 78%,#d6bf94 78%);border-radius:10px 10px 4px 4px;padding:4px 8px;position:relative;box-shadow:0 0 0 2px #c9a458,0 0 0 3px #2f1d13,inset 0 -3px #3a241814}.case-item{width:31px;height:31px}.jar{width:46px}.jar svg{width:36px;height:43px;overflow:visible}.jar span{color:#f6ead2;background:#3b2519;margin-top:-8px;position:relative}.jar.ready span{color:#3b2519;background:#e6c36e;box-shadow:0 0 0 1.5px #3b2519}.coin-bubble{color:#5a3e16;background:#f7e6bb;box-shadow:0 0 0 1.5px #3b2519,inset -3px -3px #dfb85e,2px 3px #3a241840}.coin-bubble:after{background:#dfb85e;border-bottom-color:#3b2519;border-right-color:#3b2519}.floor-swatch{background:repeating-linear-gradient(90deg,#6e462999 0 1px,#0000 1px 12.5px),repeating-linear-gradient(90deg,#c48e5b 0 12.5px,#b98253 12.5px 25px,#cf9a66 25px 37.5px);border-radius:10px;width:50px;height:46px;box-shadow:0 0 0 1.5px #3b251966,inset 0 6px 8px -4px #3a241840}.room-shelf>.furn-card:nth-child(2)>.floor-swatch{background:repeating-linear-gradient(90deg,#b96e5e73 0 8px,#0000 8px 16px),repeating-linear-gradient(0deg,#b96e5e73 0 8px,#0000 8px 16px),#efe2c8}.room-shelf>.furn-card:nth-child(3)>.floor-swatch{background:repeating-linear-gradient(90deg, #efe7d3 0 1.5px, transparent 1.5px 12.5px), repeating-linear-gradient(0deg, #efe7d3 0 1.5px, transparent 1.5px 11.5px), repeating-conic-gradient(#b9cfbb 0 25%, #a8c2ab 0 50%) 0 0/25px 23px}.room-shelf>.furn-card:nth-child(4)>.floor-swatch{background:radial-gradient(3px 1.5px,#93ad7b 60%,#0000 70%) 0 0/9px 7px,radial-gradient(3px 1.5px,#72905c 60%,#0000 70%) 4px 3px/9px 7px,#7f9a68}.window.cafe-scene{isolation:isolate;--u:min(1cqw, 1.32cqh);--ceil:calc(var(--u) * 7.5);--floor:calc(var(--u) * 6.5);--ctop:calc(var(--u) * 27);--wall:calc(100cqh - var(--ceil) - var(--ctop));--winw:min(max(calc(var(--u) * 29), calc((var(--wall) - var(--u) * 12) * .52)), calc(var(--u) * 38), calc((var(--wall) - var(--u) * 12) * 1.18));--winh:clamp(calc(var(--winw) / 1.18), calc((var(--wall) - var(--u) * 16) * .6), calc(var(--winw) * 1.3));--wint:calc(var(--ceil) + var(--winh) * .22 + max(0px, (var(--wall) - var(--winh) * 1.5) * .4));background:#ead8b6;border-radius:12px;box-shadow:0 0 0 2px #3b2519;container-type:size}.cafe-scene>*{position:absolute}.cafe-scene .cf-wall{z-index:0;inset:0}.cafe-scene .cf-timber{z-index:1;left:0;top:var(--ceil);width:100%;height:calc(100% - var(--ceil) - var(--ctop) + var(--u) * 3);pointer-events:none}.cafe-scene .cf-wainscot{z-index:1;left:0;right:0;bottom:calc(var(--ctop) - var(--u) * 2);height:calc(var(--u) * 9);pointer-events:none;background:linear-gradient(180deg, #a47553 0 calc(var(--u) * .5), #6b4631 calc(var(--u) * .5) calc(var(--u) * 1.3), #2f1d13 calc(var(--u) * 1.3) calc(var(--u) * 1.3 + 1px), #3a24183d calc(var(--u) * 1.3 + 1px), #3a241800 calc(var(--u) * 4)), repeating-linear-gradient(90deg, #5f3f29 0 1px, transparent 1px calc(var(--u) * 4.5)), repeating-linear-gradient(90deg, #a8764a 0 calc(var(--u) * 4.5), #b4814f calc(var(--u) * 4.5) calc(var(--u) * 9));box-shadow:inset 0 1px #2f1d13}.cafe-scene .cf-shade{z-index:1;pointer-events:none;background:linear-gradient(180deg, #3a24184d, #3a24180f calc(var(--ceil) + var(--u) * 8), transparent calc(var(--ceil) + var(--u) * 16)), linear-gradient(90deg, #3a241824, transparent 14%, transparent 86%, #3a241829);inset:0}.cafe-scene.night .cf-shade{background:linear-gradient(180deg, #281c1e5c, #281c1e1a calc(var(--ceil) + var(--u) * 8), #28203c14 calc(var(--ceil) + var(--u) * 16)), linear-gradient(90deg, #281c1e2e, transparent 14%, transparent 86%, #281c1e33)}.cafe-scene .cf-ceiling{z-index:3;width:100%;height:var(--ceil);top:0;left:0}.cafe-scene .cf-win{z-index:2;left:50%;top:var(--wint);width:var(--winw);height:var(--winh);translate:-50%}.cafe-scene .cf-win .cf-sky{position:absolute;inset:0;overflow:hidden}.cafe-scene .cf-winart{width:140.68%;height:134%;position:absolute;top:-18%;left:-20.34%;overflow:visible}.cafe-scene .cf-win .decor.vine{z-index:1;width:34%;height:auto;top:-17%}.cafe-scene .cf-win .decor.vine.l{left:-25%}.cafe-scene .cf-win .decor.vine.r{right:-25%;transform:scaleX(-1)}.cafe-scene .cf-win .decor.sill{z-index:1;width:112%;height:auto;bottom:-7%;left:-6%}.cafe-scene .cf-menuboard{z-index:3;left:max(3.6%, calc(50% - var(--winw) * .5 - var(--u) * 34.5));top:calc(var(--wint) - var(--u) * 1.5);width:calc(var(--u) * 27);padding:calc(var(--u) * .8) calc(var(--u) * 1.1) calc(var(--u) * 1.3);border:calc(var(--u) * .9) solid;border-radius:calc(var(--u) * .9);box-shadow:0 0 0 1px #2f1d13, inset 0 0 0 1px #140e0a73, calc(var(--u) * .8) calc(var(--u) * 1) 0 #3a24182e;pointer-events:none;background:radial-gradient(60% 36% at 28% 22%,#f3eee21a,#0000 70%),radial-gradient(44% 30% at 76% 78%,#f3eee212,#0000 70%),linear-gradient(160deg,#3d4943,#2c3531);border-color:#9a6c4a #6b4631 #5a3a27 #86593d}.cafe-scene .cf-chalkcup{width:100%;height:calc(var(--u) * 3.6);margin-bottom:calc(var(--u) * .6);display:block}.cafe-scene .cf-menu-grid{gap:calc(var(--u) * .5);filter:saturate(.72)brightness(1.04);grid-template-columns:repeat(4,1fr);display:grid}.cafe-scene .cf-menu-grid>span{aspect-ratio:1;display:block;position:relative}.cafe-scene .cf-menu-grid>span>svg{width:100%;height:100%;display:block}.cafe-scene .cf-menu-grid>span:after{content:"";border-bottom:1px dashed #f3eee266;position:absolute;bottom:-6%;left:20%;right:20%}.cafe-scene .cf-shelf{z-index:3;width:calc(var(--u) * 33);height:auto;right:2.6%;bottom:calc(var(--ctop) + var(--u) * 1.4)}.cafe-scene .cf-shelf.hi{bottom:auto;left:3.6%;right:auto;top:calc(var(--wint) + var(--u) * 30);width:calc(var(--u) * 27);display:none}@container (aspect-ratio<=1/1.08){.cafe-scene .cf-shelf.hi{display:block}}.cafe-scene .cf-ivy{z-index:4;top:calc(var(--ceil) - var(--u) * 1.6);width:calc(var(--u) * 21);height:calc(var(--u) * 17.4);pointer-events:none}.cafe-scene .cf-ivy.l{left:0}.cafe-scene .cf-ivy.r{right:0;transform:scaleX(-1)}.cafe-scene .cf-lantern{z-index:4;width:calc(var(--u) * 5.6);height:calc(var(--ceil) + var(--u) * 7.4);pointer-events:none;top:0;translate:-50%}.cafe-scene .cf-lantern.l0{left:10%}.cafe-scene .cf-lantern.l1{left:90.5%}.cafe-scene .cf-banner{z-index:3;right:3.6%;top:calc(var(--wint) + var(--u) * .5);height:calc(var(--u) * 17);pointer-events:none;width:auto}@container (aspect-ratio<=1){.cafe-scene .cf-banner{height:calc(var(--u) * 22)}.cafe-scene .decor.clock~.cf-banner{height:calc(var(--u) * 17)}}.cafe-scene .decor.clock{z-index:3;right:auto;left:calc(50% + var(--winw) * .5 + var(--u) * 5.4);top:calc(var(--wint) - var(--u) * 3);height:calc(var(--u) * 21);width:auto}.cafe-scene .decor.art{z-index:3;left:auto;right:3.4%;top:calc(var(--wint) + var(--u) * .5);height:calc(var(--u) * 15);width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transform:none}.cafe-scene .decor.bunting{z-index:4;left:0;top:calc(var(--ceil) - var(--u) * .6);width:100%;height:calc(var(--u) * 7.5)}.cafe-scene .decor.fairy,.cafe-scene .decor.lanterns{z-index:4;left:0;right:auto;top:calc(var(--ceil) - var(--u) * 1.6);width:100%;height:calc(var(--u) * 4.2)}.cafe-scene .decor.lanterns{top:calc(var(--ceil) - var(--u) * 1.2);height:calc(var(--u) * 5)}.cafe-scene .decor.fairy>svg,.cafe-scene .decor.lanterns>svg{width:100%;height:100%;position:absolute;inset:0}.cafe-scene .decor.fairy span,.cafe-scene .decor.lanterns span{box-shadow:none;position:absolute;translate:-50% -30%}.cafe-scene .decor.fairy span.bulb{width:calc(var(--u) * 1.3);height:calc(var(--u) * 1.6);box-shadow:0 0 0 .6px #7a5a2e, 0 0 calc(var(--u) * .9) #ffde9680;background:radial-gradient(circle at 42% 38%,#fffaf0 0 22%,#f6dc98 52%,#d6a24e 100%);border-radius:45% 45% 50% 50%;animation:2.6s ease-in-out infinite twinkle}.cafe-scene .decor.fairy span.sprig{width:calc(var(--u) * 3.6);height:calc(var(--u) * 2.7);box-shadow:none;background:0 0;border-radius:0;animation:none;translate:-50% -42%}.cafe-scene .decor.fairy span.sprig>svg{width:100%;height:100%;display:block;overflow:visible}.cafe-scene .decor.lanterns span{width:calc(var(--u) * 4);height:calc(var(--u) * 4.4);--g:#f0d59c;background:radial-gradient(circle at 36% 30%, #fffaf0d9 0 9%, #fffaf000 22%), radial-gradient(circle at 50% 60%, #fff4d6 0 20%, var(--g) 64%, color-mix(in srgb, var(--g), #5a4030 30%) 100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--g), #2f1d13 62%), 0 0 calc(var(--u) * 1.6) #ffe0a073;transform-origin:50% -20%;border-radius:48% 48% 46% 46%;animation:5s ease-in-out infinite alternate cfGlobe;translate:-50% 4%}.cafe-scene .decor.lanterns span:before{content:"";background:#c9a458;border-radius:40% 40% 20% 20%;width:34%;height:16%;position:absolute;top:-12%;left:50%;translate:-50%;box-shadow:0 0 0 1px #5e4822}.cafe-scene .decor.lanterns span.g1{--g:#ecc3b2}.cafe-scene .decor.lanterns span.g2{--g:#cfdab8}.cafe-scene .decor.lanterns span.g3{--g:#f3e6c6}.cafe-scene .decor.lanterns span.g4{--g:#e4c48e}@keyframes cfGlobe{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.cafe-scene .decor.lamp{z-index:4;width:calc(var(--u) * 7.6);height:calc(var(--ceil) + var(--u) * 16);background:linear-gradient(90deg, transparent calc(50% - 1px), #3b2c24 calc(50% - 1px), #3b2c24 calc(50% + .5px), transparent calc(50% + .5px)) 0 0/100% calc(100% - var(--u) * 8) no-repeat;top:0;translate:-50%}.cafe-scene .decor.lamp.l0{left:calc(50% - var(--winw) * .36)}.cafe-scene .decor.lamp.l1{left:calc(50% + var(--winw) * .36)}.cafe-scene .decor.lamp>svg{width:100%;height:auto;position:absolute;bottom:0;left:0;overflow:visible}.cafe-scene .cf-shafts{z-index:6;inset:auto;left:calc(50% - var(--winw) * .5);top:calc(var(--wint) + var(--winh) * .2);width:calc(var(--winw) * 1.9);height:auto;bottom:calc(var(--ctop) - var(--u) * 1)}.cafe-scene.night .cf-shafts path{fill:#e9c58a}.cafe-scene .cf-motes{z-index:6;left:calc(50% - var(--winw) * .2);top:calc(var(--wint) + var(--winh) * .35);width:calc(var(--winw) * 1.3);bottom:calc(var(--ctop) + var(--u) * 2)}.cafe-scene .home-mascot{z-index:auto;pointer-events:none;display:block;inset:0}.cafe-scene .home-mascot>svg{z-index:5;left:63%;bottom:calc(var(--ctop) - var(--u) * 4.6);width:calc(var(--u) * 36);height:calc(var(--u) * 36);position:absolute;translate:-50%}.cafe-scene .guest{z-index:10;bottom:calc(var(--u) * 1);width:calc(var(--u) * 27);height:calc(var(--u) * 27);margin:0;position:absolute;translate:-50%}.cafe-scene .guest>svg{width:100%;height:100%;display:block}.cafe-scene .guest.g0{left:max(calc(var(--u) * 13.5 + 17%), 30%)}.cafe-scene .guest.g1{left:max(calc(var(--u) * 13.5), 12%);z-index:9}.cafe-scene .home-bubble{z-index:20;pointer-events:auto;top:0;left:50%}.cafe-scene .cf-floorstrip{z-index:6;height:var(--floor);background:linear-gradient(180deg, #3a241857, #3a241800 50%), repeating-linear-gradient(90deg, #6e462999 0 1px, transparent 1px calc(var(--u) * 9)), repeating-linear-gradient(90deg, #c48e5b 0 calc(var(--u) * 9), #b98253 calc(var(--u) * 9) calc(var(--u) * 18), #cf9a66 calc(var(--u) * 18) calc(var(--u) * 27));bottom:0;left:0;right:0}.cafe-scene .cf-counter{z-index:7;width:100%;left:0;bottom:calc(var(--floor) * .45);height:calc(var(--ctop) - var(--floor) * .45);background:0 0;border:0}.cafe-scene .cf-case{z-index:8;right:calc(var(--u) * 12);left:auto;bottom:calc(var(--floor) * .45 + var(--u) * 3.6);width:calc(var(--u) * 46);height:calc(var(--u) * 16.4);box-shadow:none;background:0 0;border-radius:0;padding:0;display:block}.cafe-scene .cf-case .cf-case-art{aspect-ratio:auto;width:100%;height:100%;position:absolute;inset:0}.cafe-scene .cf-case-items{justify-content:space-evenly;align-items:flex-end;height:37.5%;display:flex;position:absolute;top:11%;left:6%;right:6%}.cafe-scene .cf-case-items>svg{aspect-ratio:1;width:auto;height:100%}.cafe-scene .cf-jar{z-index:9;left:47%;bottom:calc(var(--ctop) - var(--u) * 1.4);height:calc(var(--u) * 10.5);pointer-events:none;width:auto;translate:-50%}.cafe-scene .cf-pot{z-index:9;left:91%;bottom:calc(var(--ctop) - var(--u) * 1.3);height:calc(var(--u) * 8.6);pointer-events:none;width:auto;translate:-50%}.cafe-scene .decor.teaset{z-index:9;left:71%;right:auto;bottom:calc(var(--ctop) - var(--u) * 1.6);width:calc(var(--u) * 20);height:auto;translate:-50%}.cafe-scene .decor.record{z-index:8;left:1.5%;right:auto;bottom:calc(var(--ctop) - var(--u) * 1.4);width:calc(var(--u) * 14);height:calc(var(--u) * 14);transform:none}.cafe-scene .decor.record>svg{width:100%;height:100%}.cafe-scene .decor.record .note{width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);color:#c98378;animation:2.6s ease-out infinite floatUp;position:absolute;top:0;left:18%}.cafe-scene .decor.record .note.n2{color:#8ea874;animation-delay:1.3s;left:38%}.cafe-scene .decor.record .note>svg{width:100%;height:100%}.cafe-scene .decor.plant{z-index:11;right:calc(var(--u) * -4);height:calc(var(--u) * 31);width:auto;bottom:0;left:auto}.cafe-scene .decor.rug{z-index:6;width:60%;height:calc(var(--floor) * .9);box-shadow:none;background:0 0;border-radius:0;bottom:0;left:2%;right:auto}.cafe-scene .cf-rate{z-index:12;bottom:auto;right:2.5%;top:calc(var(--ceil) * .5);color:#4a3228;background:#f6ead2;translate:0 -50%;box-shadow:0 0 0 1.5px #3b2519,inset 0 -2px #3a24181f}.screen.home .storefront{background:linear-gradient(90deg,#6b4631 0 2px,#8a5d3f 2px 4px,#6b4631 4px 9px,#2f1d13 9px 10px,#0000 10px calc(100% - 10px),#2f1d13 calc(100% - 10px) calc(100% - 9px),#6b4631 calc(100% - 9px) calc(100% - 2px),#553622 calc(100% - 2px)),radial-gradient(60% 30% at 28% 22%,#faf1deb3,#faf1de00 70%),radial-gradient(50% 24% at 78% 30%,#d6c09859,#d6c09800 70%),#e9d7b4;border-radius:20px 20px 14px 14px;padding-bottom:0;box-shadow:0 0 0 2px #3b2519,0 5px #a8794d,0 11px 20px #3a241833}.awning.cafe-eave,.screen.home .storefront .awning.cafe-eave{z-index:2;filter:none;flex-shrink:0;width:100%;height:46px;display:block;position:relative}.screen.home .storefront .logo{z-index:1;margin:4px 0 0;position:relative}.screen.home .storefront .logo span{color:#9e4a42;text-shadow:0 2px #f7ebd3,0 3px #5a3a264d}.screen.home .storefront .logo small{color:#5f7a55;text-shadow:0 1px #f7ebd3}.screen.home .storefront .window{margin:8px 15px 0;box-shadow:0 0 0 4px #7f573b,0 0 0 5px #2f1d13,inset 0 0 0 1px #2f1d1380}.screen.home .sf-sill{z-index:3;flex-shrink:0;width:100%;height:24px;margin:-5px 0 4px;display:block;position:relative}.screen.home .sf-ivy{z-index:3;pointer-events:none;width:30px;height:auto;position:absolute;top:38px}.screen.home .sf-ivy.l{left:0}.screen.home .sf-ivy.r{right:0;transform:scaleX(-1)}.screen.home .sf-sign{z-index:4;pointer-events:none;width:38px;height:auto;position:absolute;top:42px;left:9px}.screen.home .sf-lamp{z-index:4;pointer-events:none;width:26px;height:auto;position:absolute;top:44px;right:9px}@media (prefers-reduced-motion:reduce){.cf-shafts,.cf-motes i,.cafe-scene .decor.fairy span,.cafe-scene .decor.lanterns span,.cafe-scene .decor.record .note{animation:none}.cf-motes{display:none}}.order-qty{color:#b0503e;margin-left:2px;font-size:12px;font-weight:900}.order-bonus{color:#fffaf0;background:#93c48b;border-radius:999px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:800}.mj-tile.flipping{animation:.4s cubic-bezier(.3,1.3,.6,1) tileFlip}@keyframes tileFlip{0%{transform:scaleX(.05)}60%{transform:scaleX(1.08)}to{transform:none}}.mj-tray.full{animation:.42s trayShake}@keyframes trayShake{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.tray-demo{letter-spacing:-2px;color:#8a5a36;font-size:14px;font-weight:900}.mj-tray.squash:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(#fffae1d9,#fffae100 70%);animation:.45s ease-out forwards trayFlash;position:absolute;inset:0}@keyframes trayFlash{0%{opacity:1}to{opacity:0}}.mj-score .streak{animation:.3s cubic-bezier(.3,1.6,.6,1) bump}.mj-score .streak.hot{background:#b0603a;font-size:13px}.mj-score .streak.gold{color:#fffaf0;background:#c9953f;font-size:14px}.screen.mahjong .mj-tile.wanted{outline-offset:1px;outline:2.5px solid #d9a84e;animation:1.4s ease-in-out infinite wantedRing}.screen.mahjong .board .mj-tile.wanted:after{opacity:.35}@keyframes wantedRing{50%{outline-color:#d9a84e66}}.order.happy:before{content:"♥";color:#f59bb4;opacity:0;font-size:13px;animation:1s ease-out .12s forwards heartUp;position:absolute;top:-4px;left:10px}.peek-chip{color:#5a4336;background:#fffaf0eb;border-radius:999px;align-self:center;margin:0 auto 4px;padding:2px 12px;font-size:13px;font-weight:800;box-shadow:0 2px #e3cfae}.peek-eye{font-size:14px}.screen.mahjong .mj-tile.peeking{z-index:99998!important;box-shadow:0 0 0 3px #b6a3e0,0 0 14px #b6a3e0cc!important}.skip-ahead{font:inherit;color:#5a4336;background:#fff3cf;border:0;border-radius:999px;align-self:center;margin:4px auto 6px;padding:6px 14px;font-size:13px;box-shadow:0 2px #e3cfae}.skip-link{font:inherit;color:#8a7560;background:0 0;border:0;align-self:center;padding:2px 8px;font-size:13px;font-weight:700;text-decoration:underline}.room.placing .room-cell.open.target,.room.placing .room-hook.open.target{animation:none;box-shadow:inset 0 0 0 3px #fffaf0,0 0 12px #fffaf0e6}.room.placing .room-cell.open,.room.placing .room-hook.open{box-shadow:none;background:radial-gradient(#fffaeb52,#fffaeb00 72%);animation:none}.room.placing .room-cell.taken,.room.placing .room-hook.taken{background:0 0}.room.placing .room-cell.open.target,.room.placing .room-hook.open.target{background:radial-gradient(#fffaeb99,#fffaeb00 75%);box-shadow:0 0 10px #fffaf08c}.screen.mahjong .mj-tile.free{filter:brightness(1.05)}.screen.mahjong .mj-tile.covered:after,.screen.mahjong .mj-tile.boxed:after{background:#60422c5c}.screen.mahjong .mj-tile.seen:before{content:"👁";opacity:.85;z-index:2;font-size:11px;line-height:1;position:absolute;top:4%;right:6%}.screen.mahjong .mj-tile.blocker{animation:.6s blockerPulse}@keyframes blockerPulse{30%{box-shadow:0 0 0 3px #e0735f,0 0 12px #e0735fb3}}.upgrade-list{flex-direction:column;gap:10px;padding-bottom:8px;display:flex}.upgrade-row{font:inherit;text-align:left;color:var(--ink);box-shadow:0 3px 0 var(--wood);cursor:pointer;background:#fffaf0;border:none;border-radius:16px;grid-template-columns:1fr auto;grid-template-areas:"name action""perk action""pips pips";align-items:center;gap:4px 10px;padding:12px;display:grid}.upgrade-row.poor{opacity:.6}.upgrade-row.locked{opacity:.5;filter:grayscale(.6)}.upgrade-row.maxed{box-shadow:0 3px 0 var(--mint-dark), 0 0 0 2px var(--mint)}.upgrade-row.flash{animation:.5s tileJoy}.upgrade-name{grid-area:name;font-size:15px;font-weight:800}.upgrade-perk{color:var(--ink-soft);grid-area:perk;font-size:12px}.upgrade-row .shop-action{white-space:nowrap;grid-area:action}.upgrade-pips{grid-area:pips;gap:3px;display:flex}.upgrade-pips i{background:#5b463624;border-radius:3px;flex:1;height:6px}.upgrade-pips i.on{background:var(--mint-dark)}.room-set small,.set-header small{color:var(--ink-soft);font-weight:600}.room.placing .room-cell.open,.room.placing .room-hook.open{z-index:900!important}.room .coin-bubble{z-index:950}.room .room-heart{z-index:940}.room .coin-fly{z-index:960}.guest-emote{z-index:920;aspect-ratio:1;pointer-events:none;width:7.4%;animation:emoteIn .38s cubic-bezier(.3, 1.7, .5, 1) both, emoteFloat 1.6s ease-in-out .38s infinite alternate, emoteOut .3s ease-in var(--out,1.6s) forwards;background:#fffaf0;border-radius:50%;padding:1.1%;position:absolute;translate:-50% -100%;box-shadow:0 0 0 1.5px #4a3228,1.5px 2px #4a322838}.guest-emote:after{content:"";background:#fffaf0;border-radius:50%;width:20%;height:20%;position:absolute;bottom:-14%;left:22%;box-shadow:0 0 0 1.5px #4a3228}.guest-emote>svg,.guest-emote>.item,.guest-emote>*{width:100%;height:100%;display:block}.guest-emote .emote-extra{width:60%;height:60%;animation:1.4s ease-out .3s infinite noteRise;position:absolute;top:-40%;left:70%}.guest-emote.zzz{background:#f1f0fa}@keyframes emoteIn{0%{opacity:0;transform:scale(.2)translateY(30%)}}@keyframes emoteFloat{to{transform:translateY(-10%)}}@keyframes emoteOut{to{opacity:0;transform:scale(.6)translateY(-30%)}}@keyframes noteRise{0%{opacity:0;transform:translate(0)rotate(-8deg)}25%{opacity:1}to{opacity:0;transform:translate(40%,-90%)rotate(10deg)}}.room-guest .guest-flip>svg{transform-origin:50% 94%}.room-guest.seated .guest-flip>svg{animation:breathe 3.6s ease-in-out var(--phase,0s) infinite}.room-guest.seated.dozing .guest-flip>svg{animation:doze 5.2s ease-in-out var(--phase,0s) infinite}.room-guest.stand .guest-flip>svg{animation:weightShift 4.4s ease-in-out var(--phase,0s) infinite}.room-guest.stand.swaying .guest-flip>svg{animation:1.3s ease-in-out infinite alternate sway}button.room-guest.wants .guest-flip>svg{animation:waitHop 3.2s ease-in-out var(--phase,0s) infinite}@keyframes breathe{50%{transform:scale(1.01,1.022)}}@keyframes doze{0%,to{transform:rotate(0)scale(1)}45%{transform:rotate(-2.4deg)scale(1.012,1.03)}55%{transform:rotate(-2.4deg)scale(1.012,1.03)}}@keyframes weightShift{0%,to{transform:rotate(0)}30%{transform:rotate(1.4deg)}70%{transform:rotate(-1.1deg)}}@keyframes sway{0%{transform:rotate(-3deg)translateY(0)}to{transform:rotate(3deg)translateY(-1.5%)}}@keyframes waitHop{0%,20%,to{transform:translateY(0)}6%{transform:translateY(-4%)}12%{transform:translateY(0)}15%{transform:translateY(-2%)}}.table-treat{aspect-ratio:1;pointer-events:none;animation:.28s ease-out both plateDown;position:absolute;translate:-50% -86%}.table-treat>svg,.table-treat>.item{width:100%;height:100%;display:block}.table-treat .steam{opacity:0;border-left:1.5px solid #fffaecd9;border-radius:50%;width:16%;height:60%;animation:2.6s ease-out infinite steam;position:absolute;bottom:70%;left:42%}.table-treat .steam.s2{animation-delay:1.3s;left:58%}@keyframes plateDown{0%{opacity:0;transform:translateY(-20%)}}@keyframes steam{0%{opacity:0;transform:translateY(0)scaleX(1)}30%{opacity:.9}to{opacity:0;transform:translateY(-70%)scaleX(-1)}}.treat-fly{z-index:930;aspect-ratio:1;pointer-events:none;width:7%;animation-name:treatFly;animation-timing-function:cubic-bezier(.4,0,.5,1);animation-fill-mode:forwards;position:absolute;translate:-50% -100%}.treat-fly>span{width:100%;height:100%;animation-name:treatArc;animation-timing-function:linear;animation-fill-mode:forwards;display:block}@keyframes treatFly{0%{left:var(--x0);top:var(--y0)}to{left:var(--x1);top:var(--y1)}}@keyframes treatArc{0%{transform:translateY(0)scale(.8)rotate(-10deg)}50%{transform:translateY(-160%)scale(1.15)rotate(6deg)}to{transform:translateY(0)scale(1)rotate(0)}}.room.ringing .cf-bell{transform-box:fill-box;transform-origin:50% 0;animation:1s ease-out bellRing}@keyframes bellRing{12%{transform:rotate(22deg)}30%{transform:rotate(-16deg)}48%{transform:rotate(10deg)}66%{transform:rotate(-5deg)}84%{transform:rotate(2deg)}}.room .fn-glow{animation:5s ease-in-out infinite fnGlow}.room.night .fn-glow{animation-duration:3.4s}.room .fn-flame{transform-box:fill-box;transform-origin:50% 100%;animation:.7s ease-in-out infinite alternate fnFlame}.room .fn-swing{transform-box:fill-box;transform-origin:50% 0;animation:1s ease-in-out infinite alternate fnSwing}.room .fn-sway{transform-box:fill-box;transform-origin:50% 100%;animation:5.5s ease-in-out infinite fnSway}.room .fn-sway.s2{animation-duration:6.5s;animation-delay:-2s}.room .fn-steam{transform-box:fill-box;transform-origin:50% 100%;animation:3s ease-in-out infinite fnSteam}@keyframes fnGlow{50%{opacity:.72}}@keyframes fnFlame{0%{transform:scale(1)}to{transform:scale(.92,1.12)}}@keyframes fnSwing{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes fnSway{0%,to{transform:rotate(0)}35%{transform:rotate(1.6deg)}70%{transform:rotate(-1.2deg)}}@keyframes fnSteam{0%{opacity:.2;transform:translateY(0)}40%{opacity:.95}to{opacity:0;transform:translateY(-14%)}}.room.night:after{content:"";z-index:800;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(at 50% 70%,#ffc87814,#281e3c2e);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.guest-emote,.guest-emote .emote-extra,.room-guest .guest-flip>svg,.table-treat,.table-treat .steam,.room.ringing .cf-bell,.room .fn-glow,.room .fn-flame,.room .fn-swing,.room .fn-sway,.room .fn-steam{animation:none}.treat-fly{animation-duration:1ms!important}}.cafe-scene .guest .guest-emote{z-index:20;width:34%;padding:5%;top:16%;left:66%}.cafe-scene .guest .guest-emote svg{animation:none}.shop .shop-tabs{grid-template-columns:repeat(4,1fr)}.owner-now{text-align:center;color:var(--ink-soft);margin:8px 2px 0;font-size:13px}.owner-art{place-items:center;height:58px;display:grid}.owner-art.full{height:76px}.owner-art svg{overflow:visible}.owner-card.browsing:not(.equipped){box-shadow:0 3px #c9a458,0 0 0 2px #e8cf93}.owner-card.locked .owner-art{filter:grayscale(.7)brightness(.9)}.peek-sticker{aspect-ratio:1;z-index:2;pointer-events:none;background:#fffaf0;border-radius:50%;place-items:center;width:42%;padding:4%;display:grid;position:absolute;bottom:7%;right:6%;box-shadow:0 0 0 2px #b6a3e0,0 2px 4px #281a0f4d}.room-actions{flex-wrap:nowrap;min-height:48px}.room-tabs{min-height:48px}.room-actions .hold-tip{text-align:left;flex:1;min-width:0;font-size:12px;line-height:1.2}.screen.mahjong .mj-tile.ice{box-shadow:inset 0 0 0 3px #78beebe6,0 0 8px #78beeb8c}.screen.mahjong .mj-tile.blocker{animation:.55s blockerNudge;z-index:99990!important;box-shadow:0 0 0 3px #f09a4a,0 0 14px #f09a4acc!important}@keyframes blockerNudge{0%,to{translate:0}30%{translate:var(--push,0) 0}}.mj-top{z-index:30;position:relative}.mj-score{background:#fffaf0}.score-line.quiet{opacity:.9;font-size:13px}.node-peeks{color:#6f5aa8;margin-left:2px;font-size:10px;font-weight:800}.peek-chip.low{color:#9a5a12;background:#fff1d6;animation:1.6s ease-in-out infinite lowPulse;box-shadow:0 2px #e8c58a,0 0 10px #f0aa468c}@keyframes lowPulse{50%{box-shadow:0 2px #e8c58a,0 0 2px #f0aa4633}}.big-star{opacity:.55;transform:none}.big-star.in{opacity:1;animation:.4s cubic-bezier(.3,1.8,.5,1) starFill}@keyframes starFill{0%{transform:scale(.6)}to{transform:scale(1)}}button.peek-chip{font:inherit;cursor:pointer;border:0}.unseen-strip{background:#fffaf0f0;border-radius:14px;flex-wrap:wrap;justify-content:center;align-self:center;gap:4px 8px;max-width:94%;margin:0 auto 4px;padding:4px 10px;display:flex;box-shadow:0 2px #e3cfae}.unseen{color:#5a4336;align-items:center;gap:2px;font-size:12px;display:inline-flex}.unseen-none{color:#5a4336;font-size:12px}.par-line{color:#8a7560;margin:0 0 8px;font-size:13px!important}.par-line.beat b{color:#3f6e3c}.node-riddle{margin-left:2px;font-size:11px}.coach.spent{visibility:hidden;animation:none}.unseen-close{font:inherit;color:#8a7560;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px}.par-hud{color:#6f5aa8;font-size:11px;font-weight:800}.screen.mahjong .mj-tile.trap{animation:1.2s ease-in-out infinite trapPulse;box-shadow:0 0 0 3px #d9534f,0 0 14px #d9534fbf!important}@keyframes trapPulse{50%{box-shadow:0 0 0 3px #d9534f,0 0 4px #d9534f4d}}.inline-tile{vertical-align:middle;background:#fffaf0;border-radius:6px;place-items:center;width:26px;height:30px;display:inline-grid;box-shadow:0 0 0 1.5px #d9534f}.riddle-card{width:100%;font:inherit;text-align:left;color:#4a3a2e;background:#f3ecff;border:0;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:0 8px;padding:6px 12px;display:grid;box-shadow:0 3px #cdbdf0}.riddle-card.done{background:#eef6e8;box-shadow:0 3px #bcd8ae}.riddle-title{font-size:14px;font-weight:900}.riddle-sub{color:#7a6a58;grid-column:1;font-size:12px}.week-dots{grid-area:1/2/span 2;gap:4px;display:flex}.week-dots i{background:#e6dccb;border-radius:50%;width:10px;height:10px}.week-dots i.today{outline-offset:1px;outline:1.5px dashed #8a7560}.week-day{color:#9a8a76;flex-direction:column;align-items:center;gap:2px;font-size:9px;font-weight:800;line-height:1;display:flex}.riddle-card{padding:8px 12px}.riddle-title{font-size:15px}.screen.home .mode-title{white-space:nowrap}.errand-chip .errand-pips{gap:3px;display:flex}.riddle-verdict{color:#6b5a48;flex-direction:column;gap:2px;margin:0 0 6px;font-weight:700;display:flex}.riddle-verdict b{color:#7a5cc2}.riddle-verdict.week b{color:#c98a00;font-size:1.05em}@media (height<=640px){.screen.home .mode-sub{font-size:11px;line-height:1.2;display:block}.screen.home .mode-card{padding:6px 8px}}.riddle-book .book-tabs{gap:6px;padding:8px 16px 0;display:flex;overflow-x:auto}.riddle-book .book-tabs button{font:inherit;color:#6b5a48;background:#fffaf0;border:0;border-radius:999px;flex:none;padding:7px 12px;font-size:13px;font-weight:800;box-shadow:0 2px #e3cfae}.riddle-book .book-tabs button.on{color:#5b3fa8;background:#f3ecff;box-shadow:0 2px #cdbdf0}.riddle-book .book-tip,.riddle-book .book-count{color:#7a6a58;margin:8px 16px 0;font-size:13px}.riddle-book .book-tip{color:#5b4636;font-weight:700}.riddle-book .book-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;padding:12px 16px 24px;display:grid;overflow-y:auto}.book-cell{aspect-ratio:1;font:inherit;color:#5b4636;background:#fffaf0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;box-shadow:0 3px #e3cfae}.book-cell b{font-size:17px}.book-cell span{min-height:16px;font-size:13px}.book-cell:active{transform:translateY(2px);box-shadow:0 1px #e3cfae}.book-chip{padding-left:10px;padding-right:10px}.riddle-keeper{text-align:left;align-items:center;gap:10px;margin:2px 0 8px;animation:.5s cubic-bezier(.3,1.4,.5,1) .6s both keeperIn;display:flex}.riddle-keeper p{color:#4a3a2e;background:#f3ecff;border-radius:14px;margin:0;padding:8px 12px;font-size:13px;line-height:1.35}.riddle-keeper b{color:#6b4fb8;display:block}@keyframes keeperIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}.mj-tray{position:relative}.rewind-ready{color:#3f6b35;pointer-events:none;background:#e3f1da;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:900;position:absolute;top:-9px;right:6px;box-shadow:0 1px #bcd8ae}.rewind-ready.used{color:#9a8a76;box-shadow:none;background:#eee6d8;text-decoration:line-through}.riddle-book .book-prize{color:#5b3fa8;background:#f3ecff;border-radius:12px;margin:8px 16px 0;padding:8px 12px;font-size:13px;font-weight:700}.riddle-book .book-prize.won{color:#3f6b35;background:#eef6e8}.riddle-prize{color:#5b3fa8;flex-direction:column;gap:4px;margin:0 0 8px;font-size:13px;font-weight:800;display:flex}.riddle-prize.won{color:#3f6b35}.prize-bar{background:#ece4f6;border-radius:999px;height:8px;display:block;overflow:hidden}.prize-bar i{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#b39ae0,#7a5cc2);height:100%;animation:.9s cubic-bezier(.3,1.2,.5,1) .5s both prizeFill;display:block}.riddle-prize.won .prize-bar i{background:linear-gradient(90deg,#a8d098,#5f9a50)}@keyframes prizeFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.screen.mahjong .coach{left:0;right:0;bottom:calc(6px + env(safe-area-inset-bottom));z-index:40;margin:0 auto;position:absolute}.screen.mahjong .coach.spent{display:none}.screen.mahjong>.peek-chip{z-index:4;align-self:flex-start;margin:0 0 -14px 18px;position:relative}.screen.mahjong .mj-tray{padding:6px 16px}.screen.mahjong .mj-dock{padding-top:4px}.screen.mahjong .mj-dock .booster{height:44px}.screen.mahjong .mj-top{padding:4px 0 2px}.screen.mahjong .board .mj-tile.facedown.covered:after,.screen.mahjong .board .mj-tile.facedown.boxed:after{opacity:1}.screen.mahjong .board .mj-tile.facedown.free{outline-offset:-2px;outline:2px solid #fff6d6f2}:root{--bg:var(--gfs-bg);--bg2:#efe1c6;--card:var(--gfs-paper);--surface:var(--gfs-paper);--surface-2:var(--gfs-cream);--line:var(--gfs-ink);--line-strong:var(--gfs-ink);--ink:var(--gfs-ink);--ink-soft:var(--gfs-ink-soft);--moss:#4f7a5c;--moss-hi:var(--gfs-mint);--moss-lo:#3d6a4c;--brick:#b0475a;--brick-lo:#8e3446;--honey:#f2b84b;--lift:#4e3b31e6;--sticker:var(--gfs-line) solid var(--gfs-ink);--shadow-sm:var(--gfs-shadow);--shadow-md:var(--gfs-shadow-card);--shadow-lg:var(--gfs-shadow-card);--shadow:var(--gfs-shadow);--radius:var(--gfs-radius);--font:var(--gfs-font);--font-display:var(--gfs-display);--pink:#d65f7a;--pink-dark:#b0475a;--pink-soft:#ffdde6;--mint:var(--gfs-mint);--mint-dark:#3f7a5f;--butter:var(--gfs-butter);--wood:#e9d3ae;--wood-dark:#c9a978}html,body{background:var(--gfs-bg);font-family:var(--gfs-font);font-synthesis-weight:none;font-weight:500}body{color:var(--ink)}h1,h2,h3{font-family:var(--gfs-display);font-weight:400}.topbar-title,.mj-title b,.card h2,.overlay h2,.mode-title,.riddle-title,.tier-name,.guest-title{font-family:var(--gfs-display);letter-spacing:0;font-weight:400}.topbar-title{color:var(--ink);text-shadow:none;font-size:19px}.title-pill{border:var(--sticker);max-width:100%;box-shadow:var(--gfs-shadow);white-space:nowrap;text-overflow:ellipsis;background:#fffaf0f5;border-radius:18px;padding:3px 14px 5px;line-height:1.25;display:inline-block;overflow:hidden}.topbar .chip{white-space:nowrap;flex-shrink:0}@media (width<=360px){.topbar{gap:6px}.topbar-title{min-width:0;font-size:15px}.topbar .chip{padding:4px 8px;font-size:14px}}.btn{font-family:var(--gfs-font);letter-spacing:0;border:var(--sticker);color:var(--ink);text-shadow:none;box-shadow:var(--gfs-shadow);border-radius:20px;font-weight:700;transition:transform 60ms,box-shadow 60ms}.btn:active,.btn.primary:active,.btn.secondary:active,.btn.ghost:active,.btn.heart:active{box-shadow:none;transform:translateY(3px)}.btn.primary{background:var(--gfs-pink);color:var(--ink);text-shadow:none;box-shadow:var(--gfs-shadow)}.btn.secondary{background:var(--gfs-cream);color:var(--ink);box-shadow:var(--gfs-shadow)}.btn.ghost{background:var(--gfs-paper);color:var(--ink);box-shadow:var(--gfs-shadow)}.btn.heart{background:var(--gfs-pink);color:var(--ink);box-shadow:var(--gfs-shadow)}.btn.butter{background:var(--gfs-butter)}.btn.mint{background:var(--gfs-mint)}.btn.lav{background:var(--gfs-lav)}.btn.sky{background:var(--gfs-sky)}.btn.peach{background:var(--gfs-peach)}.btn[disabled]{opacity:.5}.icon-btn{border:var(--sticker);background:var(--gfs-cream);color:var(--ink);box-shadow:var(--gfs-shadow);border-radius:16px}.icon-btn:active{box-shadow:none;transform:translateY(3px)}.chip{border:var(--sticker);background:var(--gfs-cream);color:var(--ink);font-weight:600;box-shadow:0 2px #4e3b31e6}button.chip:active{box-shadow:none;transform:translateY(2px)}.chip .dot{background:var(--gfs-pink-deep);border:2px solid var(--ink)}.chip.flame{background:var(--gfs-peach)}.install-chip{background:var(--gfs-mint);color:var(--ink)}.overlay{background:#4e3b3173}.card{background-color:var(--gfs-paper);border:var(--sticker);border-radius:var(--gfs-radius);box-shadow:var(--gfs-shadow-card);background-image:radial-gradient(#ffffffb3 1px,#0000 1px);background-size:6px 6px}.mode-card,.shop-card,.guest-card,.stock,.quest,.tier-card,.gimmick-toggle,.riddle-card,.errands,.owner-card,.book-cell,.login-day{background-color:var(--gfs-paper);border:var(--sticker);box-shadow:var(--gfs-shadow)}.shop-card,.guest-card,.tier-card{background-image:radial-gradient(#ffffffb3 1px,#0000 1px);background-size:6px 6px}button.mode-card:active,button.riddle-card:active,button.errands:active,button.tier-card:active,button.gimmick-toggle:active,button.book-cell:active,button.shop-card:active{box-shadow:none;transform:translateY(3px)}.mode-card{background:var(--gfs-paper)}.mode-card.daily{background:var(--gfs-peach)}.mode-card.daily.done{background:#d9f0e6}.mode-card.endless{background:var(--gfs-sky)}.mode-sub{color:var(--ink);opacity:.85}.riddle-card{background:var(--gfs-lav);color:var(--ink)}.riddle-card.done{background:#d9f0e6}.riddle-sub{color:var(--ink);opacity:.85}.week-day{color:var(--ink);opacity:.8}.week-dots i{background:var(--gfs-cream);box-shadow:inset 0 0 0 1.5px var(--ink)}.week-dots i.daily{background:var(--gfs-pink)}.week-dots i.riddle{box-shadow:inset 0 0 0 1.5px var(--ink), 0 0 0 2px var(--gfs-butter)}.week-dots i.future{background:0 0;box-shadow:inset 0 0 0 1.5px #4e3b3166}.week-dots i.today{outline:1.5px dashed var(--ink)}.shop-card.equipped{box-shadow:0 0 0 3px var(--gfs-mint), var(--gfs-shadow);background-color:#e3f4ec}.errands{background-color:var(--gfs-cream);color:var(--ink)}.errands.ready{background-color:var(--gfs-butter)}.errand-pips i{background:var(--gfs-cream);box-shadow:inset 0 0 0 1.5px var(--ink)}.errand-pips i.on{background:var(--gfs-butter)}.errand-pips i.claimed{background:var(--gfs-mint)}.toast{background:var(--gfs-paper);border:var(--sticker);box-shadow:var(--gfs-shadow);color:var(--ink)}.room-tab{border:var(--sticker);background:var(--gfs-cream);color:var(--ink);box-shadow:0 2px #4e3b31e6}.room-tab.on{background:var(--gfs-mint);color:var(--ink);text-shadow:none;box-shadow:0 2px #4e3b31e6}.shop-tabs{background:var(--gfs-cream);border:var(--sticker);box-shadow:var(--gfs-shadow);border-radius:16px;flex-shrink:0;gap:0;padding:0;overflow:hidden}.shop-tabs button{min-height:44px;color:var(--ink);box-shadow:none;background:0 0;border-radius:0;font-weight:700}.shop-tabs button+button{border-left:2px solid var(--ink)}.shop-tabs button.on{background:var(--gfs-mint);color:var(--ink);box-shadow:none}.shop .shop-grid .shop-card>svg{background:radial-gradient(circle at 50% 44%,#fff8ea 0 52%,#f3e6cd 100%);border-radius:12px}.furn-card{background:var(--gfs-paper);border:var(--sticker);box-shadow:var(--gfs-shadow)}.furn-card.on{box-shadow:0 0 0 3px var(--gfs-mint), var(--gfs-shadow);background:#e3f4ec}.furn-art{background:radial-gradient(circle at 50% 46%,#fff8ea 0 50%,#f3e6cd 100%)}.furn-meta{color:var(--ink-soft)}.furn-owned{color:var(--moss)}.room-set,.set-header{color:var(--ink);font-family:var(--gfs-display);font-weight:400}.booster{background:var(--gfs-cream);border:var(--sticker);box-shadow:var(--gfs-shadow)}.booster:active{box-shadow:none;transform:translateY(3px)}.booster.empty{background:#efe3cf}.b-count{background:var(--gfs-pink);color:var(--ink);border:2px solid var(--ink);box-shadow:none;font-weight:700}.b-label{color:var(--ink);font-weight:600}.mj-score,.screen.mahjong .mj-title,.order,.peek-chip,.shelf-count,.dead-note,.par-hud{background:var(--gfs-paper);border:var(--sticker);box-shadow:var(--gfs-shadow)}.mj-score .streak{background:var(--gfs-pink);color:var(--ink);border:1.5px solid var(--ink)}.mj-progress{background:var(--gfs-cream);border:2px solid var(--ink);height:8px}.mj-progress span{background:linear-gradient(90deg, var(--gfs-butter), var(--gfs-pink))}.order.happy{background:#e3f4ec}.order.critic{box-shadow:0 0 0 2px var(--gfs-butter), var(--gfs-shadow);background:#fff3d6}.peek-chip.low{background:var(--gfs-butter);color:var(--ink);box-shadow:var(--gfs-shadow);animation:none}.peek-chip.empty{color:var(--pink-dark)}.map-scroll{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 220'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M24 60q-2-9 1-15M28 60q0-8 5-13M20 60q-4-6-4-12' stroke='%239cb487' stroke-width='1.8'/%3E%3Cpath d='M130 38q-2-8 1-13M134 38q1-7 5-10M126 38q-3-5-3-10' stroke='%23a9bf93' stroke-width='1.6'/%3E%3Cpath d='M96 150q-2-9 1-15M100 150q0-8 5-13M92 150q-4-6-4-12' stroke='%2395af80' stroke-width='1.8'/%3E%3Cpath d='M160 190q-2-7 1-12M164 190q1-6 4-9M156 190q-3-5-3-9' stroke='%23a9bf93' stroke-width='1.6'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='62' cy='92' r='2.6' fill='%23fbf6ea'/%3E%3Ccircle cx='62' cy='92' r='1' fill='%23e2b85a'/%3E%3Ccircle cx='150' cy='112' r='2.4' fill='%23ecc2b8'/%3E%3Ccircle cx='150' cy='112' r='.9' fill='%23f3d58f'/%3E%3Ccircle cx='20' cy='150' r='2.2' fill='%23fbf6ea'/%3E%3Ccircle cx='20' cy='150' r='.9' fill='%23e2b85a'/%3E%3Ccircle cx='120' cy='196' r='2.4' fill='%23ecc2b8'/%3E%3Ccircle cx='120' cy='196' r='.9' fill='%23f3d58f'/%3E%3C/g%3E%3C/svg%3E") 0 0/180px 220px,radial-gradient(120% 26% at 50% 0,#e9f0ece6,#e9f0ec00 100%),linear-gradient(#e9eedc 0%,#dfe8cf 40%,#d6e1c3 100%)}.map-road path{stroke:#eee3cc}.map-road{filter:drop-shadow(0 2px #96785059)}.map-node{background:var(--gfs-paper);color:var(--ink);border:3px solid var(--ink);font-family:var(--gfs-display);font-weight:400;box-shadow:0 4px #4e3b31e6}.map-node:active{box-shadow:none;transform:translateY(3px)}.map-node.mini,.map-node.boss{background:var(--gfs-butter)}.map-node.current,.map-node.current.boss{background:var(--gfs-pink);color:var(--ink);text-shadow:none;box-shadow:0 4px #4e3b31e6,0 0 0 7px #ffb3c773}.map-node.locked{color:#9a8572;background:#efe3cf;border-color:#4e3b3173;box-shadow:0 3px #4e3b3159}.chapter{background:var(--gfs-paper);border:var(--sticker);box-shadow:var(--gfs-shadow)}.chapter>span{color:var(--brick)}.node-title{background:var(--gfs-butter);color:var(--ink);border:2px solid var(--ink)}.menu-hero{border:var(--sticker);box-shadow:var(--gfs-shadow-card);background:#37443d}.menu-hero-head small,.menu-hero-note b{color:#ecd08a}.menu-showcase{background:#141c1847}.menu-perk{color:var(--moss)}.screen.home .storefront .logo{font-family:var(--gfs-display);letter-spacing:0;font-weight:400;line-height:1}.screen.home .storefront .logo span{line-height:1.1;font-family:var(--gfs-display);letter-spacing:0;color:var(--ink);text-shadow:none;justify-content:center;align-items:baseline;font-weight:400;display:flex}.screen.home .storefront .logo span i{color:var(--c,#fff8ea);-webkit-text-stroke:.17em var(--ink);paint-order:stroke fill;text-shadow:0 .1em 0 var(--ink);font-style:normal;transform:rotate(-4deg)}.screen.home .storefront .logo span i:nth-child(2n){transform:rotate(4deg)translateY(-1px)}.screen.home .storefront .logo span i.sp{width:.28em}.screen.home .storefront .logo small{font-family:var(--gfs-display);color:#fff8ea;letter-spacing:.3em;-webkit-text-stroke:.2em var(--ink);paint-order:stroke fill;text-shadow:0 .12em 0 var(--ink);margin:.25em -.3em 0 0;font-weight:400}.screen.home .mode-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.screen.home .mode-card{min-width:0}.screen.home .mode-title{font-size:clamp(12px,3.9vw,16px)}.screen.home .riddle-title{white-space:nowrap;font-size:clamp(12px,3.9vw,15px)}.screen.home .mode-sub,.screen.home .riddle-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.riddle-book .book-tabs{flex-shrink:0;padding-bottom:4px}.riddle-book .book-tabs button{border:var(--sticker);background:var(--gfs-cream);color:var(--ink);font-weight:600;box-shadow:0 2px #4e3b31e6}.riddle-book .book-tabs button.on{background:var(--gfs-lav);color:var(--ink);box-shadow:0 2px #4e3b31e6}.riddle-book .book-tip{color:var(--ink)}.riddle-book .book-count{color:var(--ink-soft)}.book-cell{color:var(--ink)}.book-cell.tried{background:var(--gfs-butter)}.book-cell.solved{background:var(--gfs-mint);box-shadow:var(--gfs-shadow)}.riddle-keeper p{background:var(--gfs-lav);border:var(--sticker);color:var(--ink)}.riddle-keeper b{color:var(--ink)}.quest-bar{background:var(--gfs-cream);border:2px solid var(--ink);height:11px}.quest-bar span{background:var(--gfs-mint)}.login-day.today{background:var(--gfs-butter);box-shadow:0 0 0 3px var(--gfs-pink), var(--gfs-shadow)}.login-day.big{background:var(--gfs-peach)}.score-line,.intro-card,.coach,.lose-card,.streak-banner,.unlock-banner,.chapter-card{border:var(--sticker);box-shadow:var(--gfs-shadow)}.score-line,.intro-card,.coach,.lose-card{background:var(--gfs-paper)}.streak-banner{background:var(--gfs-butter)}.unlock-banner,.chapter-card{background:#d9f0e6}.star-checks{color:var(--ink-soft)}.star-checks li{background:var(--gfs-cream);border:2px solid #4e3b3159}.star-checks li.ok{background:var(--gfs-mint);border-color:var(--ink);color:var(--ink)}.crown-tip,.score-details{color:var(--ink-soft)}.toggle-knob{border:2px solid var(--ink);box-shadow:none;background:#efe3cf}.toggle-knob:after{border:2px solid var(--ink);box-shadow:none;top:2px;left:2px}.gimmick-toggle.on .toggle-knob{background:var(--gfs-mint)}.toggle{border-bottom:2px dotted #4e3b314d}.toggle input{accent-color:var(--moss)}.jukebox{border-bottom:2px dotted #4e3b314d}.juke-step{border:var(--sticker);background:var(--gfs-cream);color:var(--ink);box-shadow:0 2px #4e3b31e6}.juke-step:active{box-shadow:none;transform:translateY(2px)}.field input{border:var(--sticker);color:var(--ink);font-family:var(--gfs-font);background:#fff}@media (prefers-reduced-motion:reduce){html,body{background-attachment:scroll}}.chef-link{align-items:center;gap:3px;display:inline-flex}.node-crownmark{vertical-align:middle;display:inline-flex}.crown-line svg{vertical-align:-2px;margin-right:2px}.node-avatar{top:auto;bottom:-6px;left:-56px}.cafe-scene .guest>.guest-flip{width:100%;height:100%;display:block}.cafe-scene .guest>.guest-flip>svg{width:100%;height:100%}.cafe-scene .guest-flip.left{transform:scaleX(-1)}.cafe-scene .guest{width:calc(var(--u) * 32);height:calc(var(--u) * 32)}.cafe-scene .guest.in{animation:2.2s linear both homeGuestIn}.cafe-scene .guest.out{animation:2s linear both homeGuestOut}@keyframes homeGuestIn{0%{translate:-270%}to{translate:-50%}}@keyframes homeGuestOut{0%{translate:-50%}to{translate:-270%}}.overlay:has(>.card.results){padding-top:52px;overflow-y:auto}.overlay>.card.results{margin-block:auto}.results-hero .an-bust,.unlock-banner .an-bust{-webkit-mask-image:linear-gradient(#000 64%,#0000 96%);mask-image:linear-gradient(#000 64%,#0000 96%)}.order.regular .order-face:after{content:"♥";z-index:2;color:#d0647a;background:#fffaf0;border-radius:50%;place-items:center;width:14px;height:14px;font-size:9px;line-height:1;display:grid;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 0 1px #7a533447}.animal{display:block;overflow:visible}.animal.an-bust{overflow:hidden}.an-anim .an-f0{animation:.5s step-end infinite anFrameA}.an-anim .an-f1{animation:.5s step-end infinite anFrameB}@keyframes anFrameA{0%{opacity:1}50%{opacity:0}}@keyframes anFrameB{0%{opacity:0}50%{opacity:1}}.an-anim .an-bob{animation:.25s ease-in-out infinite alternate anBob}@keyframes anBob{0%{transform:translateY(0)}to{transform:translateY(-1.8px)}}.an-anim .an-blink{animation:4.2s ease-in-out infinite anBlink}@keyframes anBlink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.an-anim .an-wave{animation:.42s ease-in-out infinite alternate anWave}@keyframes anWave{0%{transform:rotate(-10deg)}to{transform:rotate(16deg)}}.an-anim .an-treat{animation:.7s ease-in-out infinite alternate anNibble}@keyframes anNibble{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-1.2px)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.an-anim .an-f0,.an-anim .an-f1,.an-anim .an-bob,.an-anim .an-blink,.an-anim .an-wave,.an-anim .an-treat{animation:none}.an-anim .an-f1{opacity:0}}.gb-scene{overflow:hidden}.amb{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);opacity:0;pointer-events:none;will-change:transform, opacity;width:6px;height:6px;animation:amb-petal calc(var(--t) * 1s) linear calc(var(--d) * 1s) infinite;display:none;position:absolute}.amb-cloud{will-change:transform;background:radial-gradient(closest-side,#4a465c1a,#4a465c0b 55%,#4a465c00);border-radius:50%;width:115%;height:34%;animation:80s linear infinite amb-shadow;display:none;position:absolute;top:4%;left:-75%}.amb-cloud.c2{width:95%;animation-duration:104s;animation-delay:-52s;top:48%}:is(.z-meadows+.ambient,.ambient.z-meadows):not(.t-night) .amb.a-p{background:linear-gradient(135deg,#fdf6ee,#f2d2c4 50%,#dea293);border-radius:85% 10%;width:8px;height:6px;display:block}:is(.z-meadows+.ambient,.ambient.z-meadows):not(.t-night) .amb.a-p.v1{background:linear-gradient(135deg,#fffbf4,#f5ecdc 50%,#e3d4bc)}:is(.z-meadows+.ambient,.ambient.z-meadows):not(.t-night) .amb.a-p.s2{width:10px;height:7px}:is(.z-meadows+.ambient,.ambient.z-meadows).t-evening .amb.a-p{background:linear-gradient(135deg,#fbecd8,#f0c4a4 50%,#d8957e)}:is(.z-meadows+.ambient,.ambient.z-meadows):not(.t-night) .amb.a-s,:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-s{background:radial-gradient(circle,#fdf6e2 0 32%,#eed69e8c 52%,#eed69e00 72%);border-radius:50%;width:5px;height:5px;animation-name:amb-mote;animation-timing-function:ease-in-out;display:block}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x{opacity:1;width:14px;height:10px;animation-name:amb-flutter;animation-duration:calc(var(--t) * 1.4s);animation-timing-function:ease-in-out;display:block}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x:before,:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x:after{content:"";background:linear-gradient(160deg,#fbf1cc,#ecc86c 55%,#d49a48);width:7px;height:10px;animation:.34s ease-in-out infinite amb-flap;position:absolute;top:0;box-shadow:inset 0 0 0 .6px #5a40308c}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x:before{transform-origin:100%;border-radius:70% 20% 50% 80%;left:0}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x:after{transform-origin:0;border-radius:20% 70% 80% 50%;right:0}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x.v1:before,:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb.a-x.v1:after{background:linear-gradient(160deg,#f6f2ea,#c6d4dc 55%,#8ea8bc)}:is(.z-meadows+.ambient,.ambient.z-meadows):is(.t-morning,.t-afternoon) .amb-cloud,:is(.z-cloud+.ambient,.ambient.z-cloud) .amb-cloud{display:block}:is(.z-meadows+.ambient,.ambient.z-meadows).t-night .amb:is(.a-p,.a-s),:is(.z-glimmer+.ambient,.ambient.z-glimmer) .amb.a-p{top:calc(28% + var(--y) * 0.7%);width:5px;height:5px;animation-name:amb-firefly;animation-duration:calc(var(--t) * .5s);background:radial-gradient(circle,#fff6d6 0 30%,#eed07c 52%,#eed07c00 72%);border-radius:50%;animation-timing-function:ease-in-out;display:block;box-shadow:0 0 7px 2px #eece7842}:is(.z-ember+.ambient,.ambient.z-ember) .amb.a-p{background:linear-gradient(135deg,#e6a060,#b8583c 60%,#8e3a30);border-radius:0 85%;width:9px;height:7px;display:block;box-shadow:inset 0 0 0 .6px #5a322480}:is(.z-ember+.ambient,.ambient.z-ember) .amb.a-p.v1{background:linear-gradient(135deg,#f2cf7a,#cf9a44 60%,#a8702e)}:is(.z-ember+.ambient,.ambient.z-ember) .amb.a-p.s2{width:11px;height:8px}:is(.z-ember+.ambient,.ambient.z-ember) .amb.a-s{top:calc(60% + var(--y) * 0.4%);width:3px;height:3px;animation-name:amb-rise;animation-duration:calc(var(--t) * .5s);background:radial-gradient(circle,#fff0c6 0 30%,#f0b060 52%,#f0a05000 74%);border-radius:50%;animation-timing-function:ease-out;display:block}:is(.z-ember+.ambient,.ambient.z-ember):is(.t-morning,.t-afternoon) .amb.a-s{display:none}:is(.z-tide+.ambient,.ambient.z-tide) .amb.a-p{top:calc(74% + var(--y) * 0.22%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);width:8px;height:8px;animation-name:amb-twinkle;animation-duration:calc(var(--t) * .3s);background:#fbf6ea;animation-timing-function:ease-in-out;display:block}:is(.z-tide+.ambient,.ambient.z-tide) .amb.a-p.s1{width:6px;height:6px}:is(.z-tide+.ambient,.ambient.z-tide) .amb.a-s{top:calc(80% + var(--y) * 0.16%);width:10px;height:4px;animation-name:amb-bob;animation-duration:calc(var(--t) * .45s);background:radial-gradient(closest-side,#fbf8f0e6,#fbf8f000);border-radius:50%;animation-timing-function:ease-in-out;display:block}:is(.z-tide+.ambient,.ambient.z-tide):not(.t-night) .amb.a-x{left:-8%;top:calc(10% + var(--y) * 0.35%);width:18px;height:8px;animation-name:amb-fly;animation-duration:calc(var(--t) * 2.2s);display:block}:is(.z-tide+.ambient,.ambient.z-tide):not(.t-night) .amb.a-x:before,:is(.z-tide+.ambient,.ambient.z-tide):not(.t-night) .amb.a-x:after{content:"";background:#f4efe4;border-radius:2px;width:9px;height:2.4px;position:absolute;top:3px;box-shadow:0 0 0 .6px #5a483c99}:is(.z-tide+.ambient,.ambient.z-tide):not(.t-night) .amb.a-x:before{transform-origin:100%;animation:.7s ease-in-out infinite amb-wing-l;left:0}:is(.z-tide+.ambient,.ambient.z-tide):not(.t-night) .amb.a-x:after{transform-origin:0;animation:.7s ease-in-out infinite amb-wing-r;right:0}:is(.z-glimmer+.ambient,.ambient.z-glimmer) .amb.a-p{background:radial-gradient(circle,#f0fbf4 0 28%,#a4d8c4 50%,#a4d8c400 72%);box-shadow:0 0 8px 2px #96ceb842}:is(.z-glimmer+.ambient,.ambient.z-glimmer) .amb.a-p.v1{background:radial-gradient(circle,#fff6d8 0 28%,#ecc874 50%,#ecc87400 72%);box-shadow:0 0 8px 2px #ecc87442}:is(.z-glimmer+.ambient,.ambient.z-glimmer) .amb:is(.a-s,.a-x){top:calc(30% + var(--y) * 0.7%);width:4px;height:4px;animation-name:amb-spore;animation-duration:calc(var(--t) * 1.3s);background:radial-gradient(circle,#fbf6e8 0 30%,#ece2c48c 50%,#ece2c400 72%);border-radius:50%;animation-timing-function:ease-in-out;display:block}:is(.z-glimmer+.ambient,.ambient.z-glimmer) .amb.a-x{width:6px;height:6px}:is(.z-frost+.ambient,.ambient.z-frost) .amb:is(.a-p,.a-x){top:calc(var(--y) * 0.7% - 8%);width:5px;height:5px;animation-name:amb-snow;animation-duration:calc(var(--t) * 1.1s);background:radial-gradient(circle,#fdfbf6 0 45%,#fdfbf600 72%);border-radius:50%;display:block}:is(.z-frost+.ambient,.ambient.z-frost) .amb.a-p.s1{width:3px;height:3px}:is(.z-frost+.ambient,.ambient.z-frost) .amb.a-s{top:calc(var(--y) * 0.7% - 8%);width:12px;height:12px;animation-name:amb-snow;animation-duration:calc(var(--t) * 1.5s);background:radial-gradient(circle,#fdfbf6b3 0 36%,#ecf0f447 55%,#ecf0f400 72%);border-radius:50%;display:block}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-p{background:linear-gradient(135deg,#fffbf4,#f5ecdc 50%,#e3d4bc);border-radius:85% 10%;width:8px;height:6px;display:block}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-p.v1{background:linear-gradient(135deg,#fdf6ee,#f2d2c4 50%,#dea293)}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-x{left:-8%;top:calc(8% + var(--y) * 0.5%);width:16px;height:8px;animation-name:amb-fly;animation-duration:calc(var(--t) * 2s);display:block}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-x:before,:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-x:after{content:"";background:#5e4e44;border-radius:2px;width:8px;height:2px;position:absolute;top:3px}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-x:before{transform-origin:100%;animation:.5s ease-in-out infinite amb-wing-l;left:0}:is(.z-cloud+.ambient,.ambient.z-cloud) .amb.a-x:after{transform-origin:0;animation:.5s ease-in-out infinite amb-wing-r;right:0}@keyframes amb-petal{0%{opacity:0;transform:translateY(-50px)rotate3d(1,.4,.2,0)}8%{opacity:.95}50%{transform:translate(46px,150px)rotate3d(1,.4,.2,260deg)}92%{opacity:.9}to{opacity:0;transform:translate(104px,340px)rotate3d(1,.4,.2,540deg)}}@keyframes amb-mote{0%{opacity:0;transform:translateY(24px)scale(.6)}30%{opacity:.95}70%{opacity:.75}to{opacity:0;transform:translate(22px,-120px)scale(1)}}@keyframes amb-flutter{0%{transform:translate(0,0)rotate(-6deg)}20%{transform:translate(34px,-26px)rotate(8deg)}40%{transform:translate(70px,-8px)rotate(-4deg)}60%{transform:translate(52px,24px)rotate(10deg)}80%{transform:translate(14px,18px)rotate(-8deg)}to{transform:translate(0,0)rotate(-6deg)}}@keyframes amb-flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.2)}}@keyframes amb-firefly{0%,to{opacity:.1;transform:translate(0,0)}20%{opacity:1}45%{opacity:.9;transform:translate(18px,-22px)}62%{opacity:.2}80%{opacity:.85;transform:translate(-12px,-8px)}}@keyframes amb-rise{0%{opacity:0;transform:translateY(40px)scale(1)}12%{opacity:.9}45%{transform:translate(10px,-50px)scale(.85)}75%{opacity:.6}to{opacity:0;transform:translate(-6px,-150px)scale(.3)}}@keyframes amb-twinkle{0%,to{opacity:0;transform:scale(.2)rotate(0)}40%{opacity:.85;transform:scale(1)rotate(15deg)}55%{opacity:.45;transform:scale(.6)rotate(25deg)}70%{opacity:0;transform:scale(.2)rotate(30deg)}}@keyframes amb-bob{0%,to{opacity:.25;transform:translate(0,0)scale(.9)}50%{opacity:.85;transform:translate(4px,-3px)scale(1.1)}}@keyframes amb-spore{0%{opacity:0;transform:translateY(30px)}25%{opacity:.9}50%{transform:translate(12px,-40px)}to{opacity:0;transform:translate(-6px,-150px)}}@keyframes amb-snow{0%{opacity:0;transform:translateY(-60px)}10%{opacity:.95}50%{transform:translate(22px,170px)}90%{opacity:.9}to{opacity:0;transform:translate(-8px,400px)}}@keyframes amb-fly{0%{opacity:0;transform:translate(-40px)}6%{opacity:1}50%{transform:translate(220px,-24px)}94%{opacity:1}to{opacity:0;transform:translate(480px,-10px)}}@keyframes amb-wing-l{0%,to{transform:rotate(-26deg)}50%{transform:rotate(16deg)}}@keyframes amb-wing-r{0%,to{transform:rotate(26deg)}50%{transform:rotate(-16deg)}}@keyframes amb-shadow{0%{transform:translate(0,0)}to{transform:translate(260%)}}@media (prefers-reduced-motion:reduce){.amb,.amb:before,.amb:after,.amb-cloud{animation:none!important}.amb{opacity:.7}.amb.a-x,.amb-cloud{display:none!important}}.petal-card{text-align:left;max-height:calc(100dvh - 32px);overflow-y:auto}.petal-card h3{margin:16px 0 4px;font-size:16px}.petal-card .muted{margin:0 0 8px;line-height:1.35}.petal-title{align-items:center;gap:8px;margin:0 0 8px;display:flex}.petal-actions{gap:10px;margin:12px 0 4px;display:flex}.petal-actions .btn{flex:1;text-decoration:none}.petal-code{letter-spacing:.12em;border:2.5px solid var(--gfs-ink,#4e3b31);background:var(--gfs-butter,#ffd98a);border-radius:14px;margin:4px 0 8px;padding:4px 14px;font-size:28px;font-weight:800;display:inline-block}.petal-claim{gap:8px;margin-top:10px;display:flex}.petal-claim input{min-width:0;min-height:44px;font:inherit;letter-spacing:.08em;border:2.5px solid var(--gfs-ink,#4e3b31);background:var(--gfs-cream,#fff8ea);color:inherit;-webkit-user-select:text;user-select:text;border-radius:14px;flex:1;padding:4px 12px;font-size:17px}.petal-card>.btn.ghost{margin:12px auto 0;display:block}.chip.petal-chip .petal-icon{margin:-2px 0}@media (width<=374px){.screen.home .home-top{gap:5px}.screen.home .home-top .chip{gap:3px;padding-left:8px;padding-right:9px;font-size:15px}.screen.home .home-top .icon-btn{flex-shrink:0;width:40px;height:40px}}.mj-tile,.screen.mahjong .mj-tile{--tile-edge:var(--edge,5px);box-shadow:inset 0 0 0 1px #805c3c99, inset 1.5px 1.5px 0 1px #fffefad9, inset -1.5px -2px 0 1px #d6ba9266, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3, calc(var(--tile-edge) + 3px) calc(var(--tile-edge) + 5px) 9px #3e281a4d;background:radial-gradient(120% 85% at 16% 8%,#fffdf6e6 0%,#fffdf600 55%),linear-gradient(162deg,#fbf5e8 0%,#f5eada 58%,#efe1c8 100%);border-radius:12%/10%}.mj-tile .mj-face:before{content:"";pointer-events:none;background:#ead8ba42;border-radius:9%/7.5%;position:absolute;inset:7% 8%;box-shadow:inset 0 0 0 1px #b08a6033}.mj-tile .mj-face>svg{position:relative}.mj-tile.facedown .mj-face:before{display:none}.mj-tile.covered,.mj-tile.boxed,.screen.mahjong .mj-tile.covered,.screen.mahjong .mj-tile.boxed,.screen.mahjong .mj-tile.facedown.covered,.screen.mahjong .mj-tile.facedown.boxed{filter:none}.mj-tile:after,.screen.mahjong .mj-tile:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(165deg,#58423a5c 0%,#3c2a2680 100%);transition:opacity .18s;position:absolute;inset:0}.mj-tile.covered:after,.mj-tile.boxed:after,.screen.mahjong .mj-tile.covered:after,.screen.mahjong .mj-tile.boxed:after{opacity:1}.mj-tile.facedown.covered:after,.mj-tile.facedown.boxed:after,.screen.mahjong .mj-tile.facedown.covered:after,.screen.mahjong .mj-tile.facedown.boxed:after{opacity:.62}.mj-tile.facedown,.screen.mahjong .mj-tile.facedown{box-shadow:inset 0 0 0 1px #2c3a24cc, inset 1.5px 1.5px 0 1px #e2eec84d, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3, calc(var(--tile-edge) + 3px) calc(var(--tile-edge) + 5px) 9px #3e281a4d;background:radial-gradient(115% 80% at 14% 6%,#ecf4d657 0%,#ecf4d600 46%),linear-gradient(160deg,#7a9468 0%,#62805a 58%,#52704c 100%)}.tile-back{backface-visibility:visible;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='12.6' fill='%23f3e7cb' stroke='%23364a30' stroke-opacity='.6' stroke-width='1.3'/%3E%3Cg transform='translate(.45 .5)' fill='%23c9b88e'%3E%3Cpath d='M13.8 18h11l-.8 4.8a3.6 3.6 0 0 1-3.5 3h-2.4a3.6 3.6 0 0 1-3.5-3z'/%3E%3Cpath d='M12.6 27.2h13.8v1.3H12.6z'/%3E%3C/g%3E%3Cpath d='M13.8 18h11l-.8 4.8a3.6 3.6 0 0 1-3.5 3h-2.4a3.6 3.6 0 0 1-3.5-3z' fill='%23627e58'/%3E%3Cpath d='M24.4 19.2h1.1a2 2 0 0 1 0 4h-1.7' fill='none' stroke='%23627e58' stroke-width='1.3'/%3E%3Cpath d='M12.6 27.4h13.8' stroke='%23627e58' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M17.6 15.8c-.9-.9.7-1.6 0-2.6M21.2 15.6c-.9-.9.7-1.6 0-2.6' fill='none' stroke='%23627e58' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") 50%/72% no-repeat,repeating-linear-gradient(90deg,#f4ecce33 0 3px,#0000 3px 6px),repeating-linear-gradient(0deg,#f4ecce33 0 3px,#0000 3px 6px),#6a875c;border:1.2px solid #f6ecd2d9;border-radius:10%/8%;inset:9% 10%;transform:none;box-shadow:inset 0 0 0 1.5px #34482c59,0 0 0 1px #2c3a2459}.tile-back.demo{background-color:#6a875c;border-radius:7px}.mj-tile.moonlit.facedown,.screen.mahjong .mj-tile.moonlit.facedown{background:radial-gradient(115% 80% at 14% 6%,#ced6f04d 0%,#ced6f000 46%),linear-gradient(160deg,#56628c 0%,#414c74 58%,#343d62 100%)}.mj-tile.moonlit.facedown .tile-back{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='12.6' fill='%232e365a' stroke='%23f0e2b6' stroke-opacity='.8' stroke-width='1.2'/%3E%3Cpath d='M22.6 12.2a8.2 8.2 0 1 0 5.6 12.6a6.6 6.6 0 1 1-5.6-12.6z' fill='%23f2d77e' stroke='%23b8903a' stroke-width='.8' stroke-linejoin='round'/%3E%3Cpath d='M26.2 13.6l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z' fill='%23f8ecc4'/%3E%3C/svg%3E") 50%/72% no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3.4l.6 1.8 1.8.6-1.8.6L6 8.2l-.6-1.8-1.8-.6 1.8-.6z' fill='%23f4e4b4' fill-opacity='.8'/%3E%3Ccircle cx='17' cy='15.6' r='.9' fill='%23f4e4b4' fill-opacity='.7'/%3E%3Ccircle cx='19.6' cy='5' r='.55' fill='%23f4e4b4' fill-opacity='.6'/%3E%3Ccircle cx='8' cy='18.6' r='.55' fill='%23f4e4b4' fill-opacity='.6'/%3E%3C/svg%3E") 0 0/13px 13px,#3d4870;border-color:#f0e6c8bf;box-shadow:inset 0 0 0 1.5px #1e244266,0 0 0 1px #1a1e3866}.moon-badge{aspect-ratio:1;color:#0000;width:24%;max-width:18px;height:auto;text-shadow:none;box-shadow:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M11.6 2.4a7.8 7.8 0 1 0 6.2 11.6a6.2 6.2 0 1 1-6.2-11.6z' fill='%23f0cf6e' stroke='%236a4a24' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cpath d='M6.2 6.6a5.8 5.8 0 0 1 2.6-2.4' fill='none' stroke='%23fff4cc' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;border-radius:0;font-size:0;top:5%;right:7%}.mj-tile.moonlit.facedown .moon-badge{display:none}.ice-coat,.screen.mahjong .ice-coat{border-radius:inherit;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cg stroke='%236f93aa' stroke-width='2.4' stroke-opacity='.55'%3E%3Cpath d='M7 4.5v9M2.5 9h9M3.8 5.8l6.4 6.4M10.2 5.8l-6.4 6.4'/%3E%3Cpath d='M33.5 35v8M29.5 39h8M30.7 36.2l5.6 5.6M36.3 36.2l-5.6 5.6'/%3E%3C/g%3E%3Cg stroke='%23fbfdff' stroke-width='1.2'%3E%3Cpath d='M7 4.5v9M2.5 9h9M3.8 5.8l6.4 6.4M10.2 5.8l-6.4 6.4'/%3E%3Cpath d='M33.5 35v8M29.5 39h8M30.7 36.2l5.6 5.6M36.3 36.2l-5.6 5.6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 50%/100% 100% no-repeat,linear-gradient(125deg,#ffffffb8 0 10%,#0000 10% 56%,#ffffff6b 56% 59%,#0000 59% 67%,#ffffff4d 67% 69%,#0000 69%),radial-gradient(95% 75% at 30% 18%,#f0f8fa80,#bad6e280 62%,#8cb4cc99 100%);box-shadow:inset 0 0 0 1px #5a788c99,inset 0 0 0 3px #fafdffd9,inset 0 0 10px #ecf6fab3}.ice-demo{background:linear-gradient(125deg,#fffc 0 14%,#0000 14% 60%,#ffffff73 60% 64%,#0000 64%),linear-gradient(#d6e8ee,#a4c6d8);border-radius:7px;box-shadow:inset 0 0 0 1px #5a788c99,inset 0 0 0 3px #fbfdff,0 2px #8aaec2}.mj-tile.locked .mj-face{opacity:.5}.lock-badge{aspect-ratio:1;color:#5a3a1e;background:radial-gradient(circle at 34% 28%,#fbeab0 0%,#e2b458 48%,#b88430 100%);width:40%;max-width:24px;height:auto;bottom:6%;right:6%;box-shadow:0 0 0 1.2px #6a4624,0 1.5px #6a4624,inset 0 -1px #784c1866}.lock-badge svg{width:62%;height:62%}.mj-tile:where(.key-tile,.spirit-tile):not(.facedown),.screen.mahjong .mj-tile:where(.key-tile,.spirit-tile):not(.facedown){box-shadow:inset 0 0 0 1px #6e4822d9, inset 0 0 0 3.5px #deae56, inset 0 0 0 4.5px #fff6dcf2, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #f0dcae, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #dcbc82, var(--tile-edge) var(--tile-edge) 0 #b88c4a, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #60401eb3, calc(var(--tile-edge) + 3px) calc(var(--tile-edge) + 5px) 9px #3e281a4d;background:radial-gradient(circle at 50% 46%,#ffecb8bf,#ffecb800 64%),radial-gradient(120% 85% at 16% 8%,#fffdf5f2 0%,#fffdf500 52%),linear-gradient(162deg,#fcf5e4 0%,#f6e8cc 58%,#efdcb8 100%)}.mj-tile[aria-label^=flower-],.screen.mahjong .mj-tile[aria-label^=flower-]{box-shadow:inset 0 0 0 1px #80463ecc, inset 0 0 0 3.5px #e4a79a, inset 0 0 0 4.5px #fff4ecf2, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3, calc(var(--tile-edge) + 3px) calc(var(--tile-edge) + 5px) 9px #3e281a4d}.mj-tile.selected,.screen.mahjong .mj-tile.selected{box-shadow:inset 0 0 0 1px #78481ecc, inset 0 0 0 3.5px #dca646, inset 0 0 0 5px #fff4d6e6, 0 0 0 2px #ffecbae6, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3, calc(var(--tile-edge) + 7px) calc(var(--tile-edge) + 12px) 14px #3e281a57;transform:translate(-2px,-5px)}.mj-tile.hinted,.mj-tile.tut,.screen.mahjong .mj-tile.hinted,.screen.mahjong .mj-tile.tut{box-shadow:inset 0 0 0 1px #3e5832cc, inset 0 0 0 3.5px #8a6, inset 0 0 0 5px #f0fae0e6, 0 0 0 2px #def0c4f2, 0 0 14px 2px #96be6e99, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3}.mj-tile.leaving,.screen.mahjong .mj-tile.leaving{box-shadow:inset 0 0 0 1px #805c3c80,inset 0 0 0 3px #fff6def2,0 0 0 3px #ffeec4e6,0 0 20px #f4ce82e6}.mj-tile.leaving:before{content:"";pointer-events:none;background:radial-gradient(circle,#fffaecf2 0%,#ffecc4b3 34%,#f4ce8c00 68%);border-radius:50%;animation:.26s ease-out forwards tilePoof;position:absolute;inset:-22%}@keyframes tilePoof{0%{opacity:.2;transform:scale(.5)}to{opacity:1;transform:scale(1.25)}}.mj-tile.peeking,.screen.mahjong .mj-tile.peeking{box-shadow:inset 0 0 0 1px #3e5832cc, inset 0 0 0 3px #7a9468, calc(var(--tile-edge) * .35) calc(var(--tile-edge) * .35) 0 #ecdcbd, calc(var(--tile-edge) * .7) calc(var(--tile-edge) * .7) 0 #d8bf96, var(--tile-edge) var(--tile-edge) 0 #b89266, calc(var(--tile-edge) + 1px) calc(var(--tile-edge) + 1px) 0 #604028b3, calc(var(--tile-edge) + 3px) calc(var(--tile-edge) + 5px) 9px #3e281a4d}.mj-tray{background:radial-gradient(120% 90% at 20% 0,#ffe8c459 0%,#ffe8c400 60%),repeating-linear-gradient(90deg,#ffe8c414 0 2px,#0000 2px 9px,#54321a14 9px 11px,#0000 11px 19px),linear-gradient(#c39063 0%,#a8764c 55%,#8e613c 100%);border-radius:20px;padding:8px 20px;transition:box-shadow .2s;position:relative;box-shadow:inset 0 2px #ffeac88c,inset 0 -3px #4e2e1859,0 0 0 2px #6f4e3a,0 4px #5e4030,0 9px 16px #34221652}.mj-tray:before,.mj-tray:after{content:"";background:linear-gradient(90deg,#f3d489 0%,#d8a444 45%,#a8742a 100%);border-radius:5px;width:8px;height:26px;margin-top:-13px;position:absolute;top:50%;box-shadow:0 0 0 1.2px #6a4624,inset 0 1px #fff6d6b3}.mj-tray:before{left:5px}.mj-tray:after{right:5px}.mj-tray.warn{box-shadow:inset 0 2px #ffeac88c,inset 0 -3px #4e2e1859,0 0 0 2px #6f4e3a,0 0 0 4.5px #e0b050,0 4px #5e4030,0 9px 16px #34221652}.mj-tray.danger,.mj-tray.full{box-shadow:inset 0 2px #ffeac88c,inset 0 -3px #4e2e1859,0 0 0 2px #6f4e3a,0 0 0 4.5px #c2584a,0 0 16px #c2584a8c,0 4px #5e4030,0 9px 16px #34221652}.mj-tray.danger{animation:1s ease-in-out infinite trayDanger}@keyframes trayDanger{50%{box-shadow:inset 0 2px #ffeac88c,inset 0 -3px #4e2e1859,0 0 0 2px #6f4e3a,0 0 0 4.5px #c2584a,0 0 5px #c2584a4d,0 4px #5e4030,0 9px 16px #34221652}}.tray-slot{background:radial-gradient(90% 70% at 50% 100%,#ffe2b824,#ffe2b800 70%),linear-gradient(#4a2c1680,#603c2052);border-radius:11px;box-shadow:inset 0 3px 5px #28140866,inset 0 0 0 1px #3c221059,0 1px #ffe8c466}.tray-slot.bonus{background:linear-gradient(#deae5680,#c4923c5c);box-shadow:inset 0 0 0 2px #e6b85c,inset 0 3px 5px #5a361259,0 1px #ffe8c466}.bonus-timer{color:#5a3a1e;background:radial-gradient(circle at 34% 28%,#fbeab0 0%,#e2b458 60%,#c49038 100%);box-shadow:0 0 0 1.2px #6a4624,0 1.5px #6a4624}.tray-tile,.flyer-y{background:radial-gradient(120% 85% at 16% 8%,#fffdf6e6 0%,#fffdf600 55%),linear-gradient(162deg,#fbf5e8 0%,#f5eada 58%,#efe1c8 100%);border-radius:11px;box-shadow:inset 0 0 0 1px #805c3c99,inset 1.5px 1.5px 0 1px #fffefad9,0 2px #d8bf96,0 3.5px #b89266}.flyer-y{border-radius:12%/10%;box-shadow:inset 0 0 0 1px #805c3c99,inset 1.5px 1.5px 0 1px #fffefad9,2px 2px #d8bf96,3.5px 3.5px #b89266,5px 9px 12px #3e281a4d}.tray-tile:before,.flyer-y:before{content:"";pointer-events:none;background:#ead8ba42;border-radius:9%/7.5%;position:absolute;inset:7% 8%;box-shadow:inset 0 0 0 1px #b08a6033}.tray-tile>svg,.flyer-y>svg{position:relative}.tray-tile.hinted{box-shadow:inset 0 0 0 1px #3e5832cc,inset 0 0 0 3px #8a6,0 0 12px #96be6e99,0 2px #d8bf96,0 3.5px #b89266}.spark{clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);border-radius:0;width:10px;height:10px}.pop.points{color:#fff6de;-webkit-text-stroke:1.2px #8e5a2e;text-shadow:0 2px #8e5a2e,0 0 8px #ffdc96cc;font-size:19px}.pop.serve{color:#4f6e42;background:linear-gradient(#fffcf2,#f4f0dc);box-shadow:0 0 0 1.2px #5f7a5580,0 2px #5f7a5559}.pop.thaw{color:#4f7890;-webkit-text-stroke:.6px #fbfdff}.shuffle-note{color:var(--ink);background:var(--gfs-paper);border:var(--gfs-line) solid var(--gfs-ink);box-shadow:var(--gfs-shadow);align-items:center;gap:4px;padding:2px 16px 2px 6px;display:flex}.shuffle-note .animal{margin:-10px 0 -4px}@media (prefers-reduced-motion:reduce){.mj-tile.hinted,.mj-tile.tut,.mj-tray.danger{animation:none}}.spark,.screen.mahjong .spark{width:var(--s,11px);height:var(--s,11px);margin:calc(var(--s,11px) / -2) 0 0 calc(var(--s,11px) / -2);pointer-events:none;z-index:60;clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);animation:sparkFly var(--t,.8s) linear forwards;will-change:transform, opacity;position:fixed}.spark.dot{clip-path:circle(38%)}@keyframes sparkFly{0%{opacity:1;animation-timing-function:cubic-bezier(.15,.75,.35,1);transform:translate(0)scale(.3)rotate(0)}55%{transform:translate(var(--dx), var(--dy)) scale(1) rotate(calc(var(--spin) * .6));opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.6)}to{transform:translate(calc(var(--dx) * 1.12), calc(var(--dy) + 28px)) scale(.2) rotate(var(--spin));opacity:0}}.fx{pointer-events:none;z-index:59;will-change:transform, opacity;position:fixed;translate:-50% -50%}.fx-ring{width:var(--r,80px);height:var(--r,80px);box-shadow:inset 0 0 0 3px var(--c,#fff6def2), 0 0 10px var(--c,#fff6de99);animation:fxRing var(--t,.5s) cubic-bezier(.2, .7, .3, 1) var(--d,0s) both;border-radius:50%}@keyframes fxRing{0%{opacity:1;transform:scale(.15)}70%{opacity:.7}to{opacity:0;transform:scale(1)}}.fx-glow{width:var(--r,90px);height:var(--r,90px);background:radial-gradient(circle,#fffceef2 0%,#ffe8b299 30%,#ffd68c00 70%);border-radius:50%;animation:.5s ease-out both fxGlow}@keyframes fxGlow{0%{opacity:0;transform:scale(.3)}25%{opacity:1}to{opacity:0;transform:scale(1.1)}}.fx-puff{background:radial-gradient(circle at 20% 60%,#fff8e8e6 0 22%,#0000 24%),radial-gradient(circle at 50% 45%,#fff8e8e6 0 28%,#0000 30%),radial-gradient(circle at 80% 60%,#fff8e8e6 0 22%,#0000 24%);border-radius:50%;width:46px;height:18px;animation:.4s ease-out both fxPuff}@keyframes fxPuff{0%{opacity:.9;transform:scale(.4,.3)}to{opacity:0;transform:scaleX(1.5)translateY(-4px)}}.fx-heart{color:var(--c,#e0735f);text-shadow:0 1px #78282859;animation:fxHeart 1.1s cubic-bezier(.2, .8, .4, 1) var(--d,0s) both;font-size:15px;line-height:1}@keyframes fxHeart{0%{opacity:0;transform:translate(0)scale(.3)}20%{opacity:1}60%{transform:translate(var(--dx), var(--dy)) scale(1.1);opacity:1}to{transform:translate(calc(var(--dx) * 1.2), calc(var(--dy) + 14px)) scale(.8);opacity:0}}.fx-callout{z-index:62;font-family:var(--font-display);font-size:calc(30px * var(--s,1));white-space:nowrap;color:#fff8ea;-webkit-text-stroke:.18em var(--gfs-ink);paint-order:stroke fill;text-shadow:0 .1em 0 var(--gfs-ink), 0 0 14px #ffd68cb3;font-weight:400;animation:1.2s cubic-bezier(.3,1.5,.5,1) both fxCallout}@keyframes fxCallout{0%{transform:scale(2.2) rotate(var(--tilt,0deg));opacity:0}14%{transform:scale(.92) rotate(var(--tilt,0deg));opacity:1}24%{transform:scale(1.05) rotate(var(--tilt,0deg))}32%,72%{transform:scale(1) rotate(var(--tilt,0deg));opacity:1}to{transform:translateY(-26px) scale(.9) rotate(var(--tilt,0deg));opacity:0}}.fx-rays{background:radial-gradient(circle,#fff6d68c 0%,#fff6d600 45%),repeating-conic-gradient(#ffe8aa52 0deg 9deg,#ffe8aa00 9deg 22.5deg);border-radius:50%;width:150vmax;height:150vmax;animation:1.25s ease-out both fxRays;-webkit-mask-image:radial-gradient(circle,#000 12%,#0000 60%);mask-image:radial-gradient(circle,#000 12%,#0000 60%)}@keyframes fxRays{0%{opacity:0;transform:scale(.2)rotate(0)}25%{opacity:1}to{opacity:0;transform:scale(1)rotate(40deg)}}.fx-edge{z-index:58;pointer-events:none;opacity:0;box-shadow:inset 0 0 70px 14px var(--edge-c,#ffb24099), inset 0 0 0 3px var(--edge-line,#ffe2968c);transition:opacity .5s;position:fixed;inset:0}.fx-edge.hot{opacity:1;animation:1.8s ease-in-out infinite edgeBreathe}.fx-edge.lost{--edge-c:#c2483a99;--edge-line:#e0735f99;opacity:.7;animation:.7s ease-out edgeFlush}@keyframes edgeBreathe{50%{opacity:.55}}@keyframes edgeFlush{0%{opacity:0}25%{opacity:1}60%{opacity:.6}}.board.quake{animation:.45s boardQuake}@keyframes boardQuake{15%{transform:translate(-5px,2px)rotate(-.6deg)}35%{transform:translate(5px,-2px)rotate(.5deg)}55%{transform:translate(-3px,1px)rotate(-.3deg)}75%{transform:translate(2px)rotate(.1deg)}}.mj-tile.flipping .mj-face:after{content:"";pointer-events:none;background:linear-gradient(115deg,#fff0 35%,#fffdf0d9 50%,#fff0 65%) 0 0/260% 100% no-repeat;border-radius:12%/10%;animation:.5s ease-out .12s both tileSheen;position:absolute;inset:0}@keyframes tileSheen{0%{opacity:1;background-position:120% 0}to{opacity:.2;background-position:-20% 0}}.mj-tile.leaving,.screen.mahjong .mj-tile.leaving{animation:.3s cubic-bezier(.3,1.4,.6,1) forwards tileLeaveVfx}@keyframes tileLeaveVfx{35%{opacity:1;transform:translateY(-10px)scale(1.16)rotate(-3deg)}to{opacity:0;transform:translateY(-20px)scale(.4)rotate(6deg)}}
