@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cinzel/cinzel-700.ttf)format("truetype")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--night:#19243f;--cream:#fff0d5;--paper:#fff6e9;--gold:#f6cc83;--peach:#f6bc9b;--ink:#543f3a;--muted:#c0bdd3;--line:#ffe2b538;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--font-body:"Trebuchet MS", "Avenir Next", Avenir, sans-serif;--font-story:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html{background:var(--night);min-width:0;min-height:100%;overflow-x:clip}body{min-height:100svh;color:var(--cream);font:15px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}button,a,input{outline-offset:5px}:focus-visible{outline:2px solid var(--gold)}button:focus:not(:focus-visible),main:focus{outline:none}dialog :focus-visible{outline-color:#8b593f}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}em{font-weight:inherit}main{flex:1;width:100%;min-width:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-break{display:none}.world-background{z-index:-2;pointer-events:none;background:var(--night) url(/assets/images/garden-background.webp) center center / cover no-repeat;position:fixed;inset:0}.world-background:after{content:"";opacity:0;background:50%/cover no-repeat;transition:opacity .28s;position:absolute;inset:0}body[data-page=home] .world-background:after{opacity:1;background-image:url(/assets/images/start-background-change.webp)}.star-field{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.star-field i{background:#ffe3a5;border-radius:50%;width:3px;height:3px;animation:5s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 9px 2px #ffda9759}.sprite{vertical-align:middle;background-image:url(/assets/images/festival-icons.webp);background-repeat:no-repeat;background-size:300% 200%;flex:none;width:40px;height:40px;display:inline-block}.sprite-bunny{background-position:0 0}.sprite-change{background-image:url(/assets/images/change-portrait.webp);background-position:50%;background-size:contain}.sprite-coin{background-position:50% 0}.sprite-gift{background-position:100% 0}.sprite-puzzle{background-position:0 100%}.sprite-lantern{background-position:50% 100%}.sprite-star{background-position:100% 100%}.site-header{z-index:20;border-bottom:1px solid var(--line);background:#141d3578;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:16px clamp(20px,4vw,64px);display:flex;position:relative}.brand{flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.brand-logo{object-fit:contain;width:132px;height:56px;transition:transform .22s var(--ease-out), filter .22s ease}.brand-divider{background:var(--line);width:1px;height:29px;margin:0 8px}.brand-caption{letter-spacing:2.2px;max-width:190px;font-size:10px;line-height:1.6}.player-tools{align-items:center;gap:17px;display:flex}.language-control{flex:none;display:inline-flex;position:relative}.language-trigger{min-height:42px;color:var(--cream);font:600 12px var(--font-body);transition:border-color .16s ease, box-shadow .16s ease, transform .16s var(--ease-out);background:linear-gradient(145deg,#3b3754,#242e4a);border:1px solid #ae8c65;border-radius:24px;justify-content:center;align-items:center;gap:6px;padding:5px 12px 5px 6px;display:inline-flex;box-shadow:inset 0 1px #ffe5b717}.language-lantern{width:25px;height:25px}#language-current{text-align:center;min-width:24px}.language-chevron{color:var(--gold);font:18px/1 var(--font-body);transition:transform .18s var(--ease-out);display:inline-block;transform:translateY(-2px)}.language-trigger:active{transform:translateY(1px)}.is-open .language-trigger{border-color:var(--gold);box-shadow:0 0 0 3px #f6cc8317,inset 0 1px #ffe5b71f}.is-open .language-chevron{transform:translateY(2px)rotate(180deg)}.language-dropdown{width:232px;max-width:calc(100vw - 24px);color:var(--ink);transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease, transform .18s var(--ease-out), visibility .18s;background:linear-gradient(150deg,#fff7e9,#f4e5d4);border:1px solid #e3bb83;border-radius:17px 5px 17px 17px;padding:9px;position:absolute;top:calc(100% + 13px);right:0;transform:translateY(-7px)scale(.96);box-shadow:0 14px 35px #09112559,inset 0 0 0 3px #fffbee99}.language-dropdown:before{content:"";background:#fff7e9;border-top:1px solid #e3bb83;border-left:1px solid #e3bb83;width:9px;height:9px;position:absolute;top:-5px;right:23px;transform:rotate(45deg)}.is-open .language-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.language-menu-heading{color:#97714c;letter-spacing:1.2px;border-bottom:1px solid #dfc7a8;justify-content:space-between;align-items:center;margin-bottom:5px;padding:3px 10px 9px;font-size:10px;display:flex}.language-menu-heading .sprite{width:24px;height:24px}.language-option{text-align:left;color:#634d43;width:100%;min-height:48px;transition:background-color .15s ease, border-color .15s ease, transform .15s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px;font-size:12px;display:flex}.language-option+.language-option{margin-top:3px}.language-code{color:#9a704c;width:30px;height:30px;font:600 10px var(--font-body);background:#f7eddf;border:1px solid #e4ceb3;border-radius:50%;flex:none;place-items:center;display:grid}.language-check{color:#8d674a;opacity:0;transition:opacity .15s ease, transform .18s var(--ease-out);margin-left:auto;font-size:15px;transform:scale(.7)}.language-option[aria-checked=true]{background:#f3dfc2;border-color:#e4c397}.language-option[aria-checked=true] .language-code{color:#795332;background:#ffeac8;border-color:#d7b583}.language-option[aria-checked=true] .language-check{opacity:1;transform:scale(1)}.language-option:focus-visible{outline-offset:-2px;background:#ebe0ec;outline:2px solid #9d7b66}.language-option:active{transform:scale(.98)}html[lang=zh-Hans]{--font-body:"PingFang SC", "Microsoft YaHei", sans-serif;--font-story:"Songti SC", SimSun, serif}html[lang=zh-Hans] .hero-title,html[lang=zh-Hans] .hero-title em{letter-spacing:.06em;line-height:1.1}html[lang=zh-Hans] .page-heading h1,html[lang=zh-Hans] .puzzle-heading h1,html[lang=zh-Hans] .scene-description h2{letter-spacing:.02em;line-height:1.35}html[lang=ms] .hero-title{font-size:clamp(60px,9vw,128px)}.balance-button{min-height:44px;transition:background .16s ease, transform .16s var(--ease-out);background:#ffe2b50f;border:1px solid #bc965f;border-radius:28px;align-items:center;gap:7px;padding:3px 10px 3px 3px;display:flex}.balance-button .sprite{width:36px;height:36px}#balance{font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.points-unit{color:#d5c6b3;font-size:12px}.balance-plus{width:23px;height:23px;color:var(--gold);background:#f8d09026;border-radius:50%;place-items:center;margin-left:5px;font-size:17px;line-height:1;display:grid}.player-profile{align-items:center;gap:7px;font-size:13px;display:flex}.player-profile .sprite{width:37px;height:37px}.round-button{border:1px solid var(--line);width:42px;height:42px;transition:background .15s ease, transform .15s var(--ease-out);background:#fff0d50d;border-radius:50%;place-items:center;display:inline-grid}.sound-button{color:var(--gold);border-color:#8e795f}.sound-bars{justify-content:center;align-items:center;gap:3px;width:20px;height:19px;display:flex}.sound-bars i{transform-origin:50%;background:currentColor;border-radius:3px;width:3px;height:5px;display:block}.sound-bars i:nth-child(2){height:15px}.sound-bars i:nth-child(3){height:10px}.sound-button:not(.is-playing) .sound-bars{opacity:.55}.sound-button.is-playing i{animation:.85s ease-in-out infinite alternate equalizer}.sound-button.is-playing i:nth-child(2){animation-delay:-.3s}.sound-button.is-playing i:nth-child(3){animation-delay:-.6s}.button{min-height:50px;font:600 14px/1.4 var(--font-body);text-align:center;transition:transform .16s var(--ease-out), background .16s ease, box-shadow .16s ease, opacity .16s ease;border:1px solid #0000;border-radius:15px;justify-content:center;align-items:center;gap:12px;padding:13px 25px;display:inline-flex;position:relative}.button-gold{color:#604329;background:linear-gradient(#ffe0a0,#efc477);border:1px solid #ffe4b3;box-shadow:0 4px #aa7440,0 7px 18px #0c142929,inset 0 0 0 3px #fff6dc3b}.button-gold:active{transform:translateY(3px);box-shadow:0 1px #aa7440}.button-soft{color:var(--ink);background:#eadfd2;border-color:#e1d2c1}.button:disabled{opacity:.55;box-shadow:none;transform:none}.button .sprite{width:30px;height:30px;margin:-6px 0}.arrow{transition:transform .16s var(--ease-out);font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1;display:inline-block}.text-button{color:inherit;text-underline-offset:5px;background:0 0;border:0;padding:5px 0;font-size:12px}.full-width{width:100%}.site-footer{color:#f1dfc8;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:54px;padding:12px clamp(20px,4vw,64px);font-size:11px;display:flex}.site-footer>span:first-child{color:#f6ead7;font:italic 14px var(--font-story);letter-spacing:.3px;text-shadow:0 1px 6px #080e20bf}.site-footer>.text-button{color:#ffdda0;text-shadow:0 1px 6px #080e20bf;font-weight:600}.footer-actions{align-items:center;gap:12px;display:flex}.footer-dot{opacity:.5}.start-screen{flex-direction:column;align-items:center;min-height:calc(100svh - 142px);padding:0 24px 12px;display:flex}.start-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:clamp(78px,12vh,135px) 0 38px;display:flex}.hero-title{font:500 clamp(85px, 9.8vw, 148px)/.84 var(--font-story);letter-spacing:-5px;text-shadow:0 4px 1px #92562547,0 6px 26px #0e1a3b80;animation:title-in .85s var(--ease-out) both}.hero-title em{color:var(--peach);letter-spacing:-6px;font-size:.93em;line-height:1.1;display:block}.title-flourish{align-items:center;gap:11px;margin:8px 0 12px;display:flex}.title-flourish>span:not(.sprite){background:linear-gradient(90deg,#0000,#e9bb76);width:70px;height:1px}.title-flourish>span:last-child{transform:rotate(180deg)}.title-flourish .sprite{width:24px;height:24px;animation:3s ease-in-out infinite alternate twinkle}.hero-subtitle{font:21px/1.4 var(--font-story);text-shadow:0 2px 10px #16203c}.hero-description{color:#e4d6d1;text-shadow:0 1px 7px #16203c;max-width:590px;margin-top:7px;font-size:13px}.start-button{min-width:310px;min-height:69px;font:600 29px/1.2 var(--font-story);border-radius:50px;gap:27px;margin-top:26px;padding:15px 30px;box-shadow:0 6px #aa7440,0 10px 25px #0c142947,inset 0 0 0 4px #fff6dc40}.start-button .arrow{font-size:30px}.activity-period{color:#fff1cf;font-variant-numeric:tabular-nums;letter-spacing:.2px;text-shadow:0 1px 3px #081633,0 2px 10px #081633;justify-content:center;align-items:center;gap:7px;max-width:100%;margin-top:18px;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.activity-period svg{color:#ffd98a;filter:drop-shadow(0 1px 3px #081633)}.start-note{color:#d8c8c0;letter-spacing:.25px;margin-top:19px;font-size:11px}.start-note>span{padding:0 8px}.journey-strip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d243dc7;border:1px solid #e1b8797a;border-radius:60px;justify-content:center;margin:0;padding:10px 27px;list-style:none;display:flex;box-shadow:0 10px 40px #141d3633}.journey-strip li{font:16px/1.3 var(--font-story);align-items:center;gap:10px;padding:0 21px;display:flex}.journey-strip li+li{border-left:1px dashed #ae8a64}.journey-strip .sprite{width:46px;height:46px;margin-right:1px}.step-number{width:25px;height:25px;font:15px var(--font-story);color:var(--gold);border:1px solid #aa8a62;border-radius:50%;flex:none;place-items:center;display:inline-grid}.content-width{width:min(1120px,100% - 80px);margin:0 auto}.page-enter{animation:page-in .28s var(--ease-out) both}.page-toolbar{justify-content:space-between;align-items:center;gap:18px;min-height:79px;display:flex}.back-link{color:#e1d1c8;transition:color .15s ease, transform .15s var(--ease-out);align-items:center;gap:9px;font-size:12px;display:inline-flex}.quiet-label{color:#c1b8c7;font:italic 14px var(--font-story)}.page-heading{text-align:center;margin:13px 0 36px}.page-heading h1{font:500 clamp(35px, 4vw, 52px)/1.15 var(--font-story);letter-spacing:-1.4px}.page-heading>p{color:#d2c6d1;margin-top:13px;font-size:13px}.adventure-stage{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:clamp(35px,6vw,85px);padding:0 10px 10px;display:grid}.adventure-options{border:0;min-width:0;margin:0;padding:0}.adventure-options legend{color:#c5b7c7;letter-spacing:1px;padding:0 0 23px;font-size:11px}.adventure-option{border-bottom:1px solid var(--line);cursor:pointer;color:#cec2cf;align-items:center;gap:17px;min-height:116px;padding:20px 3px;transition:color .18s;display:flex;position:relative}.adventure-option:after{content:"";background:var(--gold);transform-origin:0;height:2px;transition:transform .22s var(--ease-out);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.adventure-number{font:italic 17px var(--font-story);color:#a89aac;align-self:flex-start;padding-top:7px}.adventure-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.adventure-level{font:500 34px/1.12 var(--font-story);transition:transform .18s var(--ease-out)}.adventure-piece-count{color:#d3bdad;margin-top:7px;font-size:11px}.adventure-saved{color:#a89aac;margin-top:5px;font-size:9px}.adventure-indicator{color:var(--gold);opacity:0;transition:opacity .18s ease, transform .18s var(--ease-out);transform:translate(-6px)}.adventure-option:has(input:checked){color:var(--cream)}.adventure-option:has(input:checked):after{transform:scaleX(1)}.adventure-option:has(input:checked) .adventure-number{color:var(--gold)}.adventure-option:has(input:checked) .adventure-indicator{opacity:1;transform:translate(0)}.adventure-option:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:6px}.adventure-price{color:#cbbbca;align-items:center;gap:7px;margin-top:23px;font-size:10px;display:flex}.adventure-price .sprite{width:28px;height:28px}.adventure-preview{min-width:0}.scene-art{aspect-ratio:4/3;animation:scene-reveal .28s var(--ease-out) both;border:1px solid #c5a675;border-radius:2px;display:block;position:relative;overflow:hidden;box-shadow:0 18px 38px #09142d3d}.scene-art:after{content:"";pointer-events:none;border:1px solid #fff0d566;position:absolute;inset:7px}.scene-art img{object-fit:cover;width:100%;height:100%;transition:transform .28s var(--ease-out)}.scene-edition{color:var(--cream);background:#19243fd4;flex-wrap:wrap;gap:8px;padding:6px 12px;font-size:10px;display:inline-flex;position:absolute;bottom:19px;left:19px}.scene-edition>span{opacity:.5}.scene-copy{animation:scene-copy-in .25s var(--ease-out) 50ms both;justify-content:space-between;align-items:center;gap:24px;padding-top:23px;display:flex}.scene-description{flex:1;min-width:0}.scene-description h2{font:500 28px/1.15 var(--font-story);letter-spacing:-.5px}.scene-description>p{color:#c8bacb;margin-top:7px;font-size:11px}.scene-progress{max-width:320px;margin-top:18px!important}.scene-progress .progress-label{color:#bcafc1}.scene-progress .progress-label b{color:var(--cream)}.scene-progress .progress-track{background:#ffe6c324;height:3px}.scene-progress .progress-track>span{background:var(--gold)}.scene-action{border-radius:4px;flex-shrink:0;max-width:210px;min-height:46px;padding:12px 19px;font-size:12px}@keyframes scene-reveal{0%{opacity:0;transform:translate(14px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes scene-copy-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.difficulty-badge{color:#754835;background:#f6d1b8;border-radius:20px;align-items:center;min-height:26px;padding:5px 13px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 1px 2px #00000014}.sage .difficulty-badge,.difficulty-badge.sage{color:#475f49;background:#d8e7d7}.lilac .difficulty-badge,.difficulty-badge.lilac{color:#6a5081;background:#e8def3}.difficulty-badge.static{box-shadow:none;position:static}.collection-progress{margin-top:24px}.progress-label{color:#8c7c72;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:10px;display:flex}.progress-label b{color:#765c4c;font-weight:700}.progress-track{background:#e8ddd0;border-radius:8px;height:5px;overflow:hidden}.progress-track>span{border-radius:inherit;transform-origin:0;height:100%;transition:transform .28s var(--ease-out);background:#cb9b66;display:block}.sage .progress-track>span{background:#8ba385}.lilac .progress-track>span{background:#b69bc6}.selection-note{text-align:center;color:#e1d1c9;justify-content:center;align-items:center;gap:9px;margin:32px 0 22px;font-size:12px;display:flex}.selection-note .sprite{width:29px;height:29px}.selection-note p>span{color:#bcb5ca;font-size:11px}.puzzle-heading{justify-content:space-between;align-items:center;gap:28px;margin:10px 0 28px;display:flex}.puzzle-heading h1{font:500 clamp(29px, 3.4vw, 42px)/1.13 var(--font-story);letter-spacing:-.9px}.puzzle-heading p{color:#d2c6d1;margin-top:10px;font-size:12px}.board-heading{display:none}.prize-trigger{flex:none;min-width:215px}.game-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:30px;display:grid}.board-column{min-width:0;container-type:inline-size}.board-scroll-note{color:#dec9b6;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;display:none}.board-scroll-note>span{color:var(--gold);font-size:21px;line-height:1}.board-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b8946e #e9d9c0;border-radius:9px;overflow-x:auto}.board-scroll:focus-visible{outline-offset:3px;outline:2px solid #9b6e49}@container (max-width:666px){.board-scroll-note[data-difficulty=hard]{display:flex}}@container (max-width:506px){.board-scroll-note[data-difficulty=medium]{display:flex}}.puzzle-frame{background:#efe0c8;border:1px solid #d0af87;border-radius:20px;padding:12px;transition:box-shadow .22s;box-shadow:0 5px #907765,0 18px 40px #09142d4d}.puzzle-frame.is-complete{box-shadow:0 5px #9a774f,0 0 30px #ffd38b2e}.puzzle-board{--slot-width:80px;width:100%;min-width:calc(var(--columns) * var(--slot-width));aspect-ratio:4/3;grid-template-columns:repeat(var(--columns), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));background:#c8bcb0;border:1px solid #baaa96;border-radius:9px;gap:0;display:grid;overflow:hidden}.puzzle-board[data-difficulty=easy]{--slot-width:66px}.puzzle-tile{text-align:center;border:0;border-radius:0;min-width:0;min-height:0;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 .5px #6a564a3d}.puzzle-tile.is-empty{color:#705443;transition:background-color .16s ease, transform .16s var(--ease-out);background:#f0e2cb;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:18px 5px 8px;display:flex}.puzzle-tile.is-empty .tile-art{filter:blur(2px)saturate(.35);opacity:.8;pointer-events:none}.puzzle-tile.is-empty:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(#fff7e6a6,#0000 85%),linear-gradient(135deg,#fff9ed70,#f0e2cb66);position:absolute;inset:0;box-shadow:inset 0 0 0 .5px #6a564a3d}.puzzle-tile.is-empty:after{content:"";z-index:3;opacity:0;pointer-events:none;border:2px solid #bb8a51;border-radius:7px;transition:opacity .16s;position:absolute;inset:3px}.puzzle-tile.is-empty .slot-number{z-index:2;color:#6e5948}.puzzle-tile.is-empty .slot-action,.puzzle-tile.is-empty .slot-price{z-index:2;text-shadow:0 1px 3px #fff5e3;position:relative}.puzzle-tile.is-selected:after,.puzzle-tile.is-empty:focus-visible:after{opacity:1}.puzzle-tile:focus-visible{outline-offset:-3px;z-index:1;outline:2px solid #8b593f}.puzzle-tile.is-empty:active{transform:scale(.97)}.puzzle-tile.is-empty[aria-disabled=true]{cursor:wait}.slot-number{font:9px/1 var(--font-body);letter-spacing:.5px;color:#a1856b;position:absolute;top:5px;left:7px}.slot-action{max-width:98px;font:600 11px/1.3 var(--font-body);text-wrap:balance;transition:transform .16s var(--ease-out)}.slot-price{color:#8a6036;white-space:nowrap;justify-content:center;align-items:center;gap:3px;font-size:10px;line-height:1.2;display:inline-flex}.slot-price strong{font-variant-numeric:tabular-nums;font-weight:700}.slot-price .sprite{width:17px;height:17px}.puzzle-tile.is-empty{container:slot/inline-size}@container slot (max-width:104px){.slot-action{font-size:10px;line-height:1.2}.slot-price{flex-wrap:wrap;row-gap:0}.slot-price .sprite{width:12px;height:12px}.slot-price>span:last-child{flex-basis:100%;font-size:9px;line-height:1}}.tile-art{background-repeat:no-repeat;display:block;position:absolute;inset:0}.puzzle-tile.is-owned:after{content:"";pointer-events:none;border:.5px solid #fff0d559;position:absolute;inset:0}.is-complete .puzzle-tile.is-owned:after{border-color:#0000}.puzzle-tile.is-new{background:#f5e7d4}.puzzle-tile.is-new .tile-art{animation:piece-cloud-reveal 1.2s var(--ease-in-out) both}.piece-cloud{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cloud-puff{background:#fff8ef;border-radius:48%;width:88%;height:56%;position:absolute}.cloud-puff:before,.cloud-puff:after{content:"";background:inherit;border-radius:50%;position:absolute}.cloud-puff:before{width:53%;height:116%;top:-38%;left:9%}.cloud-puff:after{width:48%;height:96%;top:-22%;right:4%}.cloud-puff:first-child{animation:cloud-dissolve-left 1s var(--ease-in-out) both;background:#f2e3d8;top:21%;left:-15%}.cloud-puff:nth-child(2){animation:cloud-dissolve-right 1s var(--ease-in-out) 80ms both;background:#fffaf2;top:29%;right:-17%}.cloud-puff:nth-child(3){width:104%;animation:cloud-dissolve-down 1s var(--ease-in-out) .16s both;background:#f8ecdf;bottom:-18%;left:5%}.board-caption{color:#ccc0ce;justify-content:space-between;align-items:flex-start;gap:12px;padding:17px 1px;font-size:10px;display:flex}.board-caption>span{align-items:center;gap:4px;display:flex}.board-caption .sprite{width:19px;height:19px}.preview-button{color:#f4d2ac;flex-shrink:0;padding:0;font-size:10px}.collection-sidebar{flex-direction:column;gap:19px;display:flex}.collection-summary{color:var(--ink);background:var(--paper);border:1px solid #e5cfaf;border-radius:17px;padding:20px}.sidebar-heading{align-items:center;gap:7px;display:flex}.sidebar-heading .sprite{width:31px;height:31px}.sidebar-heading h2{font:600 17px/1.2 var(--font-story)}.collection-summary .collection-progress{margin-top:20px}.collection-summary .progress-label{font-size:11px}.collection-summary .progress-track{height:6px}.collection-note{color:#8a776c;margin-top:12px;font-size:11px;line-height:1.7}.piece-price{border-top:1px solid #e8ddd0;align-items:center;gap:6px;margin-top:18px;padding-top:13px;font-size:10px;display:flex}.piece-price .sprite{width:31px;height:31px}.piece-price strong{margin-right:2px;font-size:15px}.reward-preview{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d2640ab;border:1px solid #e6c99b59;border-radius:17px;padding:17px 17px 21px}.reward-gift{width:94px;height:94px;margin:-2px auto 8px;animation:5s ease-in-out infinite gift-float;display:block}.reward-label{letter-spacing:.6px;color:#e5cdb0;font-size:13px;line-height:1.5;display:block}.reward-preview h2{font-variant-numeric:lining-nums tabular-nums;color:#f7d38c;margin-top:9px;font:700 44px/1.2 Cinzel,Georgia,serif;display:inline-block}.reward-preview p{color:#ddd0db;text-wrap:balance;margin:12px 0 0;font-size:14px;line-height:1.65}.reward-preview p:last-child{color:#cfc4d3}@supports ((-webkit-background-clip:text) or (background-clip:text)){.reward-preview h2{background:linear-gradient(#fff6cd 0%,#f8dc91 27%,#d69c40 49%,#fff0b0 55%,#e7b85a 76%,#b87c30 100%);color:#0000;filter:drop-shadow(0 2px #6e421859)drop-shadow(0 3px 8px #080c2359);-webkit-background-clip:text;background-clip:text}}@media (forced-colors:active){.reward-preview h2{color:canvastext;filter:none;background:0 0}}.reward-preview .button{border-radius:10px;width:100%;min-height:41px;padding:10px 6px;font-size:10px}.reward-preview .button:disabled{color:#e0cbb5;opacity:.7;background:#f5e6cd1c;border-color:#ebd5b61f}.sidebar-note{color:#ccc0ce;font:italic 13px/1.4 var(--font-story);justify-content:center;align-items:center;gap:9px;display:flex}.sidebar-note .sprite{width:45px;height:45px}.guide-name{color:var(--peach);font:600 11px/1.3 var(--font-body);margin-bottom:3px;display:block}.reward-stage{grid-template-columns:1.05fr 1fr;align-items:center;gap:65px;padding:35px 10px 55px;display:grid}.reward-picture{background:var(--paper);border-radius:6px;padding:10px 10px 0;transform:rotate(-3deg);box-shadow:0 15px 50px #09142d4d}.reward-picture>img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;width:100%;height:auto}.picture-label{color:#816852;font:italic 19px var(--font-story);justify-content:center;align-items:center;gap:4px;padding:15px 4px;display:flex}.picture-label .sprite{width:25px;height:25px}.reward-copy{text-align:center}.claim-gift{width:120px;height:120px;margin:-20px auto 6px;animation:5s ease-in-out infinite gift-float;display:block}.reward-copy h1{font:500 clamp(41px, 4vw, 56px)/1.05 var(--font-story);letter-spacing:-1px}.reward-copy h1 em{color:var(--peach)}.reward-intro{color:#d5c9d2;max-width:305px;margin:20px auto;font-size:12px}.prize-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 auto 22px;padding:19px 10px}.prize-details h2{font:500 24px var(--font-story);margin:8px 0}.prize-details p{color:#c8bbcb;font-size:11px}.reward-copy>.button{min-width:250px}.demo-notice{color:#bfb0bf;max-width:280px;margin:19px auto 0;font-size:9px}.claim-receipt{text-align:left;justify-content:center;align-items:center;gap:11px;margin-bottom:24px;display:flex}.claim-check{color:#c5dbb7;border:1px solid #afc2a6;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.claim-receipt strong{color:#d8e5c9;font-size:12px;font-weight:400;display:block}.claim-receipt div>span{letter-spacing:.5px;color:#c2b7c7;overflow-wrap:anywhere;margin-top:4px;font-size:9px;display:block}dialog{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:min(460px,100% - 32px);max-height:calc(100svh - 40px);color:var(--ink);background:var(--paper);border:1px solid #eed6b1;border-radius:25px;padding:0;overflow:hidden auto;box-shadow:0 25px 90px #0a112266}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a1123b3}dialog[open]{animation:dialog-in .25s var(--ease-out)}#dialog-content{text-align:center;padding:30px}.dialog-close{color:#9b8577;z-index:1;background:#7458400f;border:0;width:30px;height:30px;font-size:23px;position:absolute;top:13px;right:13px}.dialog-illustration{justify-content:center;align-items:center;margin:-1px auto 8px;display:flex}.dialog-illustration .sprite{width:75px;height:75px;transform:rotate(-10deg)}.dialog-illustration .sprite+.sprite{width:62px;height:62px;margin-left:-13px;transform:rotate(12deg)}dialog h2{font:600 30px/1.13 var(--font-story);letter-spacing:-.7px}.dialog-description{color:#8f7b6e;max-width:315px;margin:14px auto 21px;font-size:12px;line-height:1.7}.dialog-description strong{color:#755b4b;font-weight:600}.selected-piece-display{justify-content:center;align-items:center;gap:20px;margin:0 auto;display:flex;position:relative}.selected-piece-art{width:clamp(88px,18svh,132px);animation:selected-piece-in .25s var(--ease-out) 50ms both;background-repeat:no-repeat;border-radius:9px;outline:3px solid #ddbb84;flex:none;box-shadow:0 7px #d3b997,0 12px 23px #64483229}.preview-sparkle{opacity:.7;width:24px;height:24px}.preview-sparkle:last-child{align-self:flex-end;width:18px;height:18px;margin-bottom:15px}.selected-piece-label{color:#956f4e;margin:16px 0;font-size:11px}.selected-piece-label>span{color:#b69a7a;margin:0 6px}dialog[data-kind=exchange] h2{padding:0 16px}dialog[data-kind=exchange] .dialog-close{width:40px;height:40px;top:6px;right:6px}dialog[data-kind=exchange] .dialog-description{margin:12px auto 18px}dialog[data-kind=exchange] .dialog-actions{background:var(--paper);z-index:1;padding:7px 0;position:sticky;bottom:0}.exchange-receipt{background:#f6ebdd;border:1px solid #eadac5;border-radius:12px;flex-direction:column;gap:10px;padding:15px 17px;display:flex}.exchange-receipt>div{color:#938070;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.exchange-receipt .receipt-total{color:#6c5140;border-bottom:1px dashed #dfcbb1;padding-bottom:10px;font-size:12px}.receipt-total strong{font-variant-numeric:tabular-nums;font-size:18px}.exchange-assurance{color:#9e805e;justify-content:center;align-items:center;gap:3px;margin:14px 0 13px;font-size:10px;display:flex}.exchange-assurance .sprite{width:22px;height:22px}.dialog-actions{grid-template-columns:1fr 1.3fr;gap:11px;display:grid}.dialog-actions .button{min-height:46px;padding:12px 10px;font-size:12px}.dialog-actions .arrow{font-size:18px}.dialog-footnote{color:#a39384;margin-top:19px;font-size:9px}.form-error{color:#a64f40;margin-bottom:12px;font-size:11px}.form-error:empty{display:none}.dialog-main-icon{width:84px;height:84px;margin:0 auto 14px;display:block}.wallet-total{color:#9d693b;font:500 49px/1.15 var(--font-story);font-variant-numeric:tabular-nums;padding:5px 0 20px}.wallet-total>span{font:11px var(--font-body);color:#988471;margin-top:7px;display:block}.wallet-plus{color:#34273c;background:#e9bf81;border-radius:50%;margin-left:3px;padding:3px}.top-up-options{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0;margin:0 0 18px;padding:0;display:grid}.top-up-options legend{color:#80634e;width:100%;margin-bottom:12px;font-size:13px}.top-up-options label{cursor:pointer;min-width:0;position:relative}.top-up-options label>span{color:#765641;min-height:72px;transition:transform .16s var(--ease-out), background .16s ease, border-color .16s ease;background:#fff8ee;border:1px solid #d9c5ad;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px;display:flex}.top-up-options strong{font-variant-numeric:tabular-nums;font-size:clamp(14px,4vw,18px)}.top-up-options small{font-size:11px}.top-up-options input:checked+span{background:#f3dfba;border-color:#a37639;transform:translateY(-2px)}.top-up-options input:focus-visible+span{outline-offset:3px;outline:2px solid #845239}.top-up-options:disabled label{cursor:wait;opacity:.65}.top-up-success{color:#527340;justify-content:center;align-items:center;gap:10px;margin:0 0 24px;font-size:14px;line-height:1.6;display:flex}.insufficient-points{margin:12px 0}dialog[data-kind=wallet] .wallet-total,.top-up-success{animation:top-up-in .2s var(--ease-out)}@keyframes top-up-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){dialog[data-kind=wallet] .wallet-total,.top-up-success{animation:none}.top-up-options label>span{transition:none;transform:none}}.wallet-explanation{text-align:left;background:#f2e6d6;border-radius:12px;margin:0 0 23px;padding:17px;font-size:11px}.wallet-explanation>strong{font-size:12px}.wallet-explanation p{color:#927b69;margin-top:6px;line-height:1.7}.how-to-list{text-align:left;flex-direction:column;gap:19px;margin:27px 0 18px;padding:0;list-style:none;display:flex}.how-to-list li{align-items:flex-start;gap:13px;display:flex}.how-to-list .step-number{color:#98693f;background:#f5e5c9;border-color:#d6b992}.how-to-list h3{margin:0 0 4px;font-size:13px}.how-to-list p,.help-save-note{color:#8b796b;font-size:11px;line-height:1.7}.help-save-note{border-top:1px solid #e5d7c5;margin-bottom:21px;padding-top:15px}dialog[data-kind=preview]{width:min(700px,100% - 32px)}dialog[data-kind=preview] h2{padding:0 15px}.preview-image{aspect-ratio:4/3;border-radius:12px;width:100%;height:auto;margin:18px 0 23px}.toast{width:max-content;max-width:calc(100% - 32px);color:var(--ink);background:var(--paper);text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:25;transition:opacity .18s ease, transform .18s var(--ease-out), visibility .18s;border:1px solid #eed6b1;border-radius:14px;padding:13px 22px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);box-shadow:0 8px 35px #0a11224d}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%)}.celebration{pointer-events:none;z-index:15;position:fixed;inset:0;overflow:hidden}.celebration-star{width:26px;height:26px;animation:confetti-fall var(--duration) ease-out var(--delay) both;position:absolute;top:-40px}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:65vh;display:flex}.loading-state .sprite{width:70px;height:70px;animation:3s ease-in-out infinite gift-float}.loading-state p{font:italic 20px var(--font-story)}.noscript{background:var(--paper);color:var(--ink);text-align:center;border-radius:12px;padding:20px;position:fixed;inset:auto 20px 20px}@media (hover:hover) and (pointer:fine){.button-gold:not(:disabled):hover{background:linear-gradient(#ffe8b7,#f4ce89);transform:translateY(-2px)}.button-soft:not(:disabled):hover{background:#e3d5c4;transform:translateY(-1px)}.button:hover .arrow{transform:translate(4px)}.balance-button:hover,.round-button:hover{background:#e6bb8726}.text-button:hover{text-decoration:underline}.back-link:hover{color:var(--cream);transform:translate(-3px)}.adventure-option:hover{color:var(--cream)}.adventure-option:hover .adventure-level{transform:translate(3px)}.scene-art:hover img{transform:scale(1.025)}.brand:hover .brand-logo{filter:brightness(1.08);transform:translateY(-1px)rotate(-2deg)}.language-trigger:hover{border-color:var(--gold);box-shadow:0 0 12px #f6cc831f}.language-option:hover{background:#ebe0ec;border-color:#d8c4dc}.puzzle-tile.is-empty:not([aria-disabled=true]):hover{background:#e9dce9}.puzzle-tile.is-empty:not([aria-disabled=true]):hover:after{opacity:.65}.puzzle-tile.is-empty:not([aria-disabled=true]):hover .slot-action{transform:translateY(-1px)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes title-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes piece-cloud-reveal{0%,15%{opacity:0}to{opacity:1}}@keyframes cloud-dissolve-left{0%,30%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-13%,-10%)scale(1.18)}}@keyframes cloud-dissolve-right{0%,30%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(13%,-8%)scale(1.18)}}@keyframes cloud-dissolve-down{0%,30%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(12%)scale(1.2)}}@keyframes selected-piece-in{0%{opacity:0;transform:translateY(7px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes twinkle{0%{opacity:.25}to{opacity:.85}}@keyframes gift-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@keyframes equalizer{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes confetti-fall{0%{opacity:0;transform:translate(0)rotate(0)}12%{opacity:1}to{transform:translate(var(--drift), 100vh) rotate(200deg);opacity:0}}@media (min-width:1550px){.content-width{width:min(1250px,100% - 120px)}.page-toolbar{min-height:100px}.page-heading{margin-bottom:44px}.adventure-stage{grid-template-columns:260px minmax(0,1fr)}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:38px}}@media (max-width:1050px){.site-header{min-height:78px;padding:14px 24px}.brand-caption{letter-spacing:1.5px;font-size:9px}.brand-divider{margin:0 2px}.player-tools{gap:10px}.content-width{width:calc(100% - 48px)}.start-screen{min-height:calc(100svh - 132px)}.hero-title{font-size:112px}.hero-subtitle{font-size:20px}.journey-strip{padding:9px 14px}.journey-strip li{gap:7px;padding:0 16px;font-size:14px}.journey-strip .sprite{width:36px;height:36px}.adventure-stage{grid-template-columns:190px minmax(0,1fr);gap:32px;padding-left:0;padding-right:0}.adventure-level{font-size:29px}.scene-copy{flex-wrap:wrap;gap:16px}.scene-description{flex-basis:100%}.scene-description h2{font-size:25px}.scene-progress{max-width:none}.game-layout{grid-template-columns:minmax(0,1fr) 225px;gap:20px}.collection-summary{padding:16px}.sidebar-heading h2{font-size:15px}.sidebar-heading .sprite{width:26px;height:26px}.reward-preview{padding:15px}.board-caption{flex-wrap:wrap;gap:7px}.reward-stage{gap:40px;padding-left:0;padding-right:0}}@media (max-width:760px){body[data-page=home] .world-background:after{background-image:url(/assets/images/start-background-mobile-change.webp)}.site-header{gap:12px;min-height:73px;padding:12px 18px}.brand{gap:6px}.brand-logo{width:108px;height:46px}.brand-divider,.brand-caption,.player-profile{display:none}.balance-button{gap:5px;min-height:37px;padding:2px 7px 2px 2px}.balance-button .sprite{width:30px;height:30px}#balance{font-size:15px}.points-unit{font-size:10px}.balance-plus{width:20px;height:20px;margin-left:2px;font-size:15px}.sound-button{width:36px;height:36px}.player-tools{gap:9px}.language-trigger{gap:5px;min-height:36px;padding:7px 10px;font-size:11px}.language-lantern{display:none}html[lang=ms] .hero-title{font-size:clamp(52px,12.5vw,86px)}html[lang=ms] .adventure-level{font-size:clamp(17px,3.5vw,24px)}.start-screen{min-height:calc(100svh - 127px);padding:0 18px 12px}.start-content{padding-top:max(100px,17vh);padding-bottom:38px}.hero-title{letter-spacing:-3px;font-size:clamp(74px,14.6vw,112px)}.hero-title em{letter-spacing:-4px}.hero-subtitle{max-width:300px;font-size:18px}.hero-description{max-width:320px;margin-top:10px;font-size:11px;line-height:1.7}.start-button{min-width:265px;min-height:60px;margin-top:25px;font-size:26px}.start-note{margin-top:17px;font-size:9px}.start-note>span{padding:0 3px}.journey-strip{border-radius:22px;width:min(480px,100%);padding:12px 4px}.journey-strip li{text-align:center;flex-wrap:wrap;justify-content:center;gap:4px;width:33.333%;padding:0 8px;font-size:12px}.journey-strip .sprite{width:31px;height:31px}.journey-strip .step-number{width:18px;height:18px;font-size:11px}.journey-strip li>span:last-child{width:100%}.site-footer{gap:8px;min-height:54px;padding:12px 19px;font-size:9px}.site-footer>span:first-child{font-size:11px}.footer-actions{gap:8px}.footer-actions .text-button{font-size:10px}.content-width{width:calc(100% - 36px)}.page-toolbar{min-height:66px}.quiet-label{display:none}.page-heading{margin:14px 0 29px}.page-heading h1{max-width:370px;margin:auto;font-size:38px}.page-heading>p{max-width:280px;margin:13px auto 0;font-size:12px}.adventure-stage{flex-direction:column;gap:24px;max-width:560px;margin:auto;display:flex}.adventure-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;width:100%;display:grid}.adventure-options legend{padding-bottom:14px;font-size:10px}.adventure-option{align-items:flex-start;gap:7px;min-height:92px;padding:9px 0 14px}.adventure-number{padding-top:5px;font-size:11px}.adventure-level{font-size:25px;line-height:1.3}.adventure-piece-count{margin-top:4px;font-size:10px}.adventure-saved{font-size:8px}.adventure-indicator{display:none}.adventure-price{grid-column:1/-1;justify-content:center;margin-top:0;font-size:10px}.adventure-preview{width:100%}.scene-copy{gap:18px;padding-top:20px}.scene-description h2{font-size:27px}.scene-description>p{font-size:12px}.scene-action{border-radius:4px;width:100%;max-width:none}.scene-edition{font-size:9px;bottom:16px;left:16px}.progress-label{font-size:11px}.selection-note{align-items:flex-start;padding:0 5px;font-size:11px}.selection-note p>span{font-size:10px}.selection-note .sprite{width:24px;height:24px}.puzzle-heading{flex-direction:column;align-items:stretch;gap:19px;margin-top:10px;margin-bottom:24px}.puzzle-heading h1{font-size:35px}.puzzle-heading p{font-size:11px}.prize-trigger{align-self:stretch}.game-layout{grid-template-columns:minmax(0,1fr);gap:10px}.puzzle-frame{border-radius:14px;padding:8px}.puzzle-board,.board-scroll{border-radius:6px}.puzzle-tile.is-empty{gap:3px;padding:16px 4px 6px}.slot-price{gap:2px;font-size:10px}.slot-price .sprite{width:14px;height:14px}.board-caption{padding:15px 1px;font-size:9px}.preview-button{font-size:9px}.collection-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-bottom:20px;display:grid}.collection-summary{align-self:start;padding:17px 13px}.sidebar-heading{gap:4px}.sidebar-heading h2{font-size:16px}.sidebar-heading .sprite{width:23px;height:23px}.collection-summary .progress-label{font-size:9px}.collection-note{font-size:10px}.piece-price{flex-wrap:wrap;gap:3px;font-size:9px}.piece-price strong{font-size:13px}.piece-price .sprite{width:25px;height:25px}.reward-preview{padding:9px 12px 15px}.reward-gift{width:72px;height:72px}.reward-preview .button{font-size:9px}.sidebar-note{grid-column:1/-1}.sidebar-note br{display:none}.sidebar-note .sprite{width:32px;height:32px}.reward-stage{grid-template-columns:minmax(0,1fr);gap:38px;max-width:440px;margin:0 auto;padding:25px 15px 35px}.reward-picture{width:95%;margin:auto}.picture-label{padding:12px 3px;font-size:17px}.claim-gift{width:93px;height:93px;margin-top:0}.reward-copy h1{font-size:47px}.reward-intro{margin-top:17px}#dialog-content{padding:29px 22px 24px}dialog h2{font-size:29px}dialog[data-kind=exchange]{width:min(420px,100% - 24px);max-height:calc(100svh - 24px)}dialog[data-kind=exchange] #dialog-content{padding:25px 18px 18px}dialog[data-kind=exchange] .dialog-actions .button{min-height:48px}dialog[data-kind=exchange] .dialog-footnote{margin-top:9px}}@media (max-width:480px){.site-header{gap:6px;padding-left:12px;padding-right:12px}.brand{gap:3px}.brand-logo{width:88px;height:38px}.player-tools{gap:6px}.balance-button{gap:4px;padding-right:5px}.balance-button .sprite{width:25px;height:25px}#balance{font-size:13px}.points-unit{display:none}.balance-plus{width:17px;height:17px;margin-left:0}.sound-button{width:32px;height:32px}.language-trigger{gap:4px;min-height:34px;padding:7px 9px}.adventure-options{gap:10px}.adventure-level{font-size:23px}}@media (max-width:370px){.site-header{padding:12px}.player-tools{gap:7px}.points-unit{display:none}.site-footer>span:first-child{font-size:10px}.page-toolbar{gap:8px}.page-toolbar .back-link{font-size:10px}.difficulty-badge.static{padding:5px 10px;font-size:9px}.page-heading h1{font-size:33px}.puzzle-heading h1{font-size:30px}.collection-sidebar{grid-template-columns:1fr}.reward-preview{padding:15px}}@media (max-height:760px) and (min-width:761px){.site-header{min-height:72px;padding-top:10px;padding-bottom:10px}.start-screen{min-height:calc(100svh - 120px)}.start-content{padding-top:62px;padding-bottom:25px}.hero-title{font-size:105px}.hero-subtitle{font-size:18px}.hero-description{font-size:11px}.title-flourish{margin:5px 0 8px}.start-button{min-height:58px;margin-top:19px;font-size:26px}.start-note{margin-top:14px}.journey-strip{padding-top:5px;padding-bottom:5px}.site-footer{min-height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.page-enter,.hero-title,.scene-art,.scene-copy,dialog[open],.selected-piece-art{animation:.18s reduced-fade!important}.puzzle-tile.is-empty,.slot-action{transition-property:background-color,opacity!important;transform:none!important}.piece-cloud{display:none}.puzzle-tile.is-new .tile-art{animation:reduced-fade .15s var(--ease-out) both!important;transform:none!important}.button,.arrow,.adventure-option,.adventure-level,.adventure-indicator,.scene-art img,.back-link,.round-button,.brand-logo,.language-dropdown,.language-option,.language-check,.language-trigger{transition-property:opacity,color,background-color!important;transform:translate(0,0)!important}.language-chevron{transition:none}.toast{transition:opacity .16s,visibility .16s;transform:translate(-50%)}.progress-track>span,.adventure-option:after{transition:none}.star-field{display:none}.sound-button.is-playing i{transform:none}}@keyframes reduced-fade{0%{opacity:.5}to{opacity:1}}svg{vertical-align:middle;flex:none}.button>svg,.admin-button>svg,.back-link>svg{display:block}.festival-header{z-index:20;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;padding:12px clamp(16px,4vw,64px);display:flex;position:sticky;top:0}.festival-header:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);backface-visibility:hidden;background:#141d35d9;position:absolute;inset:0;transform:translateZ(0)}.header-brand-row,.header-control-row,.header-controls{align-items:center;gap:12px;display:flex}.header-brand-row{flex:1;justify-content:space-between}.header-brand-row .balance-button{color:var(--cream)}.header-brand-row .balance-button strong{font-variant-numeric:tabular-nums;font-size:16px}.header-brand-row .balance-button>span:last-child{font-size:11px}.header-control-row{z-index:1;gap:18px;position:relative}.account-control{min-height:44px;color:var(--cream);background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-size:12px;display:inline-flex}.account-control span{text-overflow:ellipsis;max-width:120px;overflow:hidden}.header-controls{gap:8px}.header-controls .round-button{width:44px;height:44px}.control-picker{flex:none;position:relative}.control-trigger{min-width:58px;min-height:44px;color:var(--cream);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#30314c;border:1px solid #ae8c65;border-radius:24px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.control-trigger>svg:last-child{transition:transform .18s var(--ease-out)}.control-picker.is-open>.control-trigger>svg:last-child{transform:rotate(180deg)}.control-options{width:224px;max-width:calc(100vw - 24px);color:var(--ink);background:var(--paper);z-index:25;animation:picker-in .18s var(--ease-out);transform-origin:100% 0;border:1px solid #dfba87;border-radius:16px 5px 16px 16px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 14px 35px #09112559}.control-options button{color:#644b3b;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;font-size:13px;display:flex}.control-options button[aria-pressed=true]{background:#f3dfc2;border-color:#e4c397}.control-options button:focus-visible{outline-offset:-2px;background:#ebe0ec;outline-color:#856049}.audio-notice{border:1px solid var(--line);width:250px;color:var(--cream);background:var(--night);padding:10px;font-size:11px;position:absolute;top:100%;right:12px}.festival-form{text-align:left;flex-direction:column;gap:17px;display:flex}.festival-form label,.admin-form label,.admin-filters label{flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.festival-form input,.festival-form select,.festival-form textarea,.admin-form input,.admin-form select,.admin-form textarea,.admin-filters input,.admin-filters select{color:#533f35;width:100%;min-width:0;min-height:46px;font:16px/1.4 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fffaf2;border:1px solid #d9c5ad;border-radius:9px;padding:11px 12px}.festival-form textarea{resize:vertical}.form-intro{color:#86705d;margin:12px 0 0;font-size:13px}.field-hint{color:#876f5d;font-size:12px;font-weight:400;line-height:1.6}.auth-switch{text-align:center;font-size:12px}.auth-switch .text-button{color:#825936;min-height:44px;font-weight:700}.react-dialog-content{text-align:center;padding:30px}.react-dialog-content .dialog-main-icon{margin-top:16px}.react-dialog-content .dialog-close{width:40px;height:40px}.password-disclosure{text-align:left;margin:0 0 24px}.password-disclosure>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px}.request-prize{font:24px/1.2 var(--font-story);margin:16px 0}.request-details{text-align:left;background:#f6ebdd;border:1px solid #e2cfb7;border-radius:10px;gap:5px;margin:20px 0;padding:16px;display:grid}.request-details dt{color:#927861;margin-top:8px;font-size:11px}.request-details dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:12px}.request-reference{overflow-wrap:anywhere;color:#927861;font-size:11px}.signin-stage{grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin:35px 0;display:grid}.signin-stage>img{border-radius:12px;width:100%}.signin-stage>div{color:var(--ink);background:var(--paper);border-radius:18px;padding:28px}.signin-stage h2{font:28px var(--font-story)}.service-notice{text-align:center;background:#282d49;border:1px solid #b6997f;border-radius:12px;max-width:620px;margin:20px auto;padding:18px 24px}.service-notice .text-button{min-height:44px;font-size:13px}.inline-error{color:#ffe0c8;margin:10px 0;font-size:12px}.puzzle-frame{position:relative}.completion-overlay{z-index:3;border-radius:inherit;text-align:center;color:var(--cream);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:completion-in .25s var(--ease-out);background:#0f172bb8;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:26px;display:flex;position:absolute;inset:0}.completion-gift{width:90px;height:90px}.completion-overlay h2{max-width:370px;font:500 clamp(27px, 3vw, 38px)/1.15 var(--font-story)}.completion-overlay>p{color:#eee0d6;max-width:365px;font-size:12px;line-height:1.7}.completion-overlay .button{min-width:210px;margin-top:7px}.completion-overlay>.completion-reward-amount{color:#ffdfa1;font:600 clamp(30px, 4.5vw, 46px)/1.1 var(--font-story);font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #0c122299}.puzzle-frame:has(.completion-overlay){background:var(--night);padding:0;display:grid;overflow:hidden}:is(.puzzle-frame:has(.completion-overlay)>.board-scroll,.puzzle-frame>.completion-overlay){grid-area:1/1;min-width:0}.puzzle-frame:has(.completion-overlay)>.board-scroll{align-items:center;display:grid}.puzzle-frame:has(.completion-overlay) .puzzle-board{min-width:0}.puzzle-frame>.completion-overlay{position:relative}.request-status{justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.completion-overlay .status-pending{color:#ffe1a0}.completion-overlay .status-accepted{color:#c8eac9}.completion-overlay .status-rejected{color:#ffd3c7}.collection-summary progress{appearance:none;accent-color:#c49766;background:#e8ddd0;border:0;border-radius:6px;width:100%;height:6px;display:block;overflow:hidden}.collection-summary progress::-webkit-progress-bar{background:#e8ddd0}.collection-summary progress::-webkit-progress-value{background:#c49766;border-radius:6px}.collection-summary progress::-moz-progress-bar{background:#c49766}.board-caption .preview-button{align-items:center;gap:5px;min-height:40px;display:inline-flex}.board-caption>span{padding-top:8px}.puzzle-heading{margin-bottom:22px}.puzzle-heading p{max-width:650px}.admin-shell{color:#51443e;min-height:100svh;font:14px/1.5 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f6f2eb;display:flex}.admin-sidebar{color:#f5e7d3;background:#222c46;border-right:1px solid #655e66;flex-direction:column;width:228px;padding:26px 17px;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{flex-direction:column;align-items:flex-start;gap:7px;padding:0 10px 25px;display:flex}.admin-brand img{object-fit:contain;width:145px;height:62px}.admin-brand>span{font:19px var(--font-story)}.admin-sidebar nav{flex-direction:column;gap:7px;display:flex}.admin-sidebar nav button{color:#d4c9c9;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:47px;padding:11px 13px;font-size:13px;display:flex}.admin-sidebar nav button[aria-current=page]{color:#ffe1ab;background:#494153;border-color:#7d6970}.admin-game-link{align-items:center;gap:8px;margin-top:auto;padding:16px 13px 0;font-size:12px;display:inline-flex}.admin-workspace{width:calc(100% - 228px);min-width:0;margin-left:228px}.admin-topbar{background:#fffaf2;border-bottom:1px solid #e2d7ca;justify-content:flex-end;align-items:center;gap:20px;min-height:78px;padding:12px 34px;display:flex}.admin-topbar>span{font-size:12px}.admin-topbar>div{align-items:center;gap:12px;display:flex}.admin-icon-button{color:#765e49;background:0 0;border:1px solid #dbc8b1;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.admin-main{padding:32px clamp(20px,3vw,48px) 60px}.admin-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.admin-section-heading h1{font:500 clamp(28px, 3vw, 38px)/1.2 var(--font-story);letter-spacing:-.5px}.admin-section-heading p{color:#917d6c;margin-top:9px;font-size:13px}.admin-button{color:#6a5240;min-height:44px;font:600 12px/1.4 var(--font-body);white-space:nowrap;transition:background-color .16s ease, transform .16s var(--ease-out);background:#fffaf2;border:1px solid #d6c4ae;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.admin-button.primary{background:#e8c997;border-color:#d1ab73}.admin-button:disabled{opacity:.5}.admin-button:active:not(:disabled){transform:translateY(1px)}.admin-stats{border-top:1px solid #dccfbd;border-bottom:1px solid #dccfbd;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:30px;padding:24px 0;display:grid}.admin-stats>div{flex-direction:column;gap:10px;padding:0 22px;display:flex}.admin-stats>div+div{border-left:1px solid #ded2c1}.admin-stats span{color:#8b7763;font-size:12px}.admin-stats strong{font:500 clamp(26px, 3vw, 39px)/1.1 var(--font-story);font-variant-numeric:tabular-nums}.admin-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.admin-panel{background:#fffaf3;border:1px solid #e3d7c7;border-radius:12px;min-width:0;padding:23px}.admin-panel h2{font:500 23px/1.2 var(--font-story);margin-bottom:7px}.admin-panel>p{color:#998270;font-size:11px}.chart-canvas{width:100%;min-width:0;height:250px;margin-top:16px;font-size:12px}.queue-summary{flex-direction:column;gap:18px;margin-top:22px;display:flex}.queue-summary>div,.conversion-list p{justify-content:space-between;align-items:center;gap:15px;font-size:12px;display:flex}.queue-summary strong{font-size:24px;font-weight:500}.conversion-list{border-top:1px solid #e2d6c4;margin-top:20px;padding-top:15px}.conversion-list p+p{margin-top:8px}.status-pill{white-space:nowrap;border-radius:20px;width:max-content;padding:5px 10px;font-size:11px;display:inline-flex}.status-pill.status-pending{color:#7d5b24;background:#fae9c4}.status-pill.status-accepted{color:#3a6445;background:#dfeddf}.status-pill.status-rejected{color:#925144;background:#f7e1da}.admin-tabs{gap:9px;margin-bottom:22px;display:flex}.admin-tabs button{color:#816c58;background:#fffaf3;border:1px solid #ddcbb3;border-radius:9px;align-items:center;gap:10px;min-height:46px;padding:11px 17px;display:inline-flex}.admin-tabs button[aria-pressed=true]{color:#76522f;background:#eddbbe;border-color:#c3a578}.admin-tabs span{opacity:.65;font-size:11px}.admin-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.admin-helper{color:#8e7661;margin:20px 0 25px;line-height:1.8;font-size:12px!important}.price-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.price-slot{background:#f3ebdf;border:1px solid #e1d1b9;border-radius:9px;padding:11px}.price-slot>span{color:#9a7e60;font-size:11px}.price-slot input{min-height:42px;padding:8px}.admin-save-row{border-top:1px solid #e0d2be;justify-content:space-between;align-items:center;gap:18px;margin-top:25px;padding-top:20px;display:flex}.admin-save-row p{font-size:12px}.admin-filters{background:#fffaf3;border:1px solid #e1d6c7;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:13px;margin-bottom:23px;padding:18px;display:flex}.admin-filters label{flex:130px;max-width:240px;font-size:11px}.admin-filters input,.admin-filters select{padding:9px;font-size:14px}.admin-table-wrap{background:#fffaf3;border:1px solid #e2d6c5;border-radius:12px;width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{color:#917659;white-space:nowrap;background:#eee4d6;padding:15px 17px;font-size:11px;font-weight:600}.admin-table td{vertical-align:middle;border-top:1px solid #eee3d6;padding:17px;font-size:12px}.admin-table td strong{font-weight:600}.admin-table td small{color:#a18b73;margin-top:4px;font-size:10px;display:block}.admin-table details{max-width:350px}.admin-table summary{cursor:pointer;min-height:40px;padding-top:10px}.admin-table pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eee7de;border-radius:7px;max-width:330px;max-height:260px;padding:12px;font-size:10px;overflow:auto}.admin-table code{overflow-wrap:anywhere;font-size:11px}.pagination{color:#93806b;justify-content:space-between;align-items:center;gap:20px;margin-top:21px;font-size:12px;display:flex}.pagination>div{gap:8px;display:flex}.admin-error{color:#975040;background:#fff0e9;border:1px solid #dfa592;border-radius:9px;margin-bottom:18px;padding:15px;font-size:13px}.admin-empty,.admin-loading{text-align:center;color:#9b8571;padding:55px 20px}.admin-security{max-width:500px}.admin-security-stack{flex-direction:column;gap:20px;display:flex}.admin-security-stack .admin-panel+.admin-panel{margin-top:0}.otp-state{border-radius:9px;align-items:center;gap:8px;margin:0 0 18px;padding:11px 13px;line-height:1.6;display:flex;font-size:12px!important}.otp-state.on{color:#4a6b42;background:#eef6ec;border:1px solid #bcd7b4}.otp-state.off{color:#8a6a33;background:#fdf3e6;border:1px solid #e6cfa6}.otp-state svg{flex:none}.otp-enrolment{flex-direction:column;gap:18px;display:flex}.otp-qr{background:#fff;border:1px solid #e3d7c7;border-radius:10px;align-self:center;width:min(228px,100%);height:auto;padding:6px}.otp-secret{color:#8e7661;flex-direction:column;gap:6px;font-size:12px;display:flex}.otp-secret code{color:#533f35;letter-spacing:1.5px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#fffaf2;border:1px dashed #d9c5ad;border-radius:9px;padding:10px 12px;font-size:15px}.admin-login{min-height:100svh;color:var(--ink);background:#202d49 url(/assets/images/garden-background.webp) 50%/cover;padding:24px}.admin-login-toolbar{justify-content:space-between;align-items:center;max-width:1100px;margin:auto;display:flex}.admin-login>section{background:var(--paper);border:1px solid #dec7a4;border-radius:18px;width:min(420px,100%);margin:8vh auto 30px;padding:30px;box-shadow:0 22px 65px #0912274d}.admin-login h1{font:500 32px/1.1 var(--font-story);margin-bottom:18px}@keyframes picker-in{0%{opacity:0;transform:translateY(-5px)scale(.97)}to{opacity:1;transform:none}}@keyframes completion-in{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.control-options button:hover{background:#ebe0ec}.admin-button:hover:not(:disabled){background:#f2dfc0}.admin-sidebar nav button:hover{background:#3c384f}}@media (max-width:1100px){.festival-header .brand-caption{display:none}.admin-sidebar{width:198px;padding-left:12px;padding-right:12px}.admin-workspace{width:calc(100% - 198px);margin-left:198px}.admin-main{padding:25px 22px 50px}.price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-form-grid{grid-template-columns:1fr}}@media (max-width:760px){.festival-header{padding:7px 16px 10px;display:block}.header-brand-row{gap:12px}.header-brand-row .brand-logo{width:118px;height:50px}.header-brand-row .balance-button{gap:4px;min-height:40px;padding-right:12px}.header-brand-row .balance-button .sprite{width:32px;height:32px}.header-control-row{justify-content:space-between;gap:8px;margin-top:4px}.account-control{min-height:44px;font-size:11px}.account-control span{max-width:96px}.header-controls{gap:6px}.control-trigger{min-width:54px;padding:9px}.start-screen{min-height:calc(100svh - 172px)}.start-content{padding-top:max(80px,12vh)}.hero-title{font-size:clamp(68px,15vw,103px)}.puzzle-screen.content-width{width:calc(100% - 24px)}.puzzle-heading h1{font-size:31px}.puzzle-heading p{font-size:12px;line-height:1.7}.page-toolbar{min-height:65px}.page-toolbar .back-link{font-size:11px}.difficulty-badge.static{padding:5px 10px;font-size:10px}.collection-sidebar{grid-template-columns:1fr;gap:15px}.collection-summary{padding:20px}.collection-summary .progress-label,.collection-note{font-size:12px}.reward-preview{text-align:left;grid-template-columns:65px minmax(0,1fr);column-gap:13px;padding:15px 18px;display:grid}.reward-preview .reward-gift{grid-area:1/1/4;width:65px;height:65px;margin:auto}.reward-preview h2{font-size:38px}.reward-preview p{margin:8px 0 0}.reward-preview p:last-child{grid-column:1/-1}.sidebar-note{font-size:11px}.sidebar-note .sprite{width:40px;height:40px}.board-caption{flex-wrap:wrap;gap:0;padding-bottom:10px}.board-caption>span{font-size:10px}.board-caption .preview-button{font-size:11px}.completion-overlay{gap:11px;padding:18px}.completion-gift{width:65px;height:65px}.completion-overlay h2{font-size:27px}.completion-overlay>p{font-size:11px;line-height:1.55}.completion-overlay .button{width:100%;min-width:0;max-width:280px;min-height:48px}.puzzle-board[data-difficulty=easy]+.completion-overlay{padding:14px}.signin-stage{grid-template-columns:1fr;gap:20px;margin-top:22px}.signin-stage>img{object-fit:cover;max-height:180px}.signin-stage>div{padding:24px 20px}.react-dialog-content{padding:28px 20px 20px}dialog{border-radius:21px;width:calc(100% - 24px);max-height:calc(100svh - 24px)}dialog[data-kind=exchange] .react-dialog-content{padding:25px 18px 17px}.dialog-actions .button{min-height:48px}.admin-shell{display:block}.admin-sidebar{z-index:20;border:0;width:100%;padding:8px 12px 0;position:sticky;top:0}.admin-brand{flex-direction:row;align-items:center;gap:13px;padding:0 4px 8px}.admin-brand img{width:91px;height:40px}.admin-brand>span{font-size:19px}.admin-sidebar nav{scrollbar-width:none;flex-direction:row;gap:5px;padding-bottom:8px;overflow-x:auto}.admin-sidebar nav button{flex:none;gap:7px;width:auto;min-height:44px;padding:10px;font-size:11px}.admin-sidebar nav button svg{width:16px;height:16px}.admin-game-link{display:none}.admin-workspace{width:100%;margin-left:0}.admin-topbar{justify-content:space-between;min-height:62px;padding:8px 17px}.admin-main{padding:25px 16px 40px}.admin-section-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.admin-section-heading p{font-size:12px;line-height:1.7}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px;padding:0}.admin-stats>div{gap:10px;padding:20px 12px}.admin-stats>div:nth-child(3){border-left:0}.admin-stats>div:nth-child(n+3){border-top:1px solid #ded2c1}.admin-stats strong{font-size:32px}.admin-stats span{font-size:11px}.admin-charts{grid-template-columns:1fr;gap:16px}.admin-panel{padding:19px 16px}.admin-panel h2{font-size:24px}.chart-canvas{height:225px}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.price-slot{padding:9px}.admin-tabs button{flex:1;justify-content:center;padding:10px;font-size:13px}.admin-tabs{gap:6px}.admin-tabs span{display:none}.admin-filters{gap:11px;padding:15px 12px}.admin-filters label{flex:calc(50% - 12px);min-width:0;max-width:none}.admin-filters input,.admin-filters select{font-size:16px}.admin-filters>button{width:100%}.admin-table-wrap{background:0 0;border:0;border-radius:0;overflow:visible}.admin-table,.admin-table tbody{display:block}.admin-table thead{display:none}.admin-table tr{background:#fffaf3;border:1px solid #e1d3c0;border-radius:12px;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:13px;padding:18px;display:grid}.admin-table td{overflow-wrap:anywhere;border:0;min-width:0;padding:0;font-size:12px;display:block}.admin-table td[data-label]:before{content:attr(data-label);color:#998169;margin-bottom:6px;font-size:10px;display:block}.admin-table .row-action,.admin-table .row-detail{grid-column:1/-1}.admin-table .row-action button{width:100%}.admin-table pre{max-width:100%}.pagination{gap:10px;font-size:11px}.admin-save-row{flex-direction:column;align-items:stretch}.admin-save-row button{width:100%}.admin-login{padding:15px}.admin-login>section{padding:26px 21px}}@media (max-width:420px){.completion-overlay:has(.status-pending){gap:8px}.completion-overlay h2{font-size:24px}.completion-gift{width:48px;height:48px}.completion-overlay .request-status{font-size:10px}.account-control span{max-width:77px}.festival-header{padding-left:12px;padding-right:12px}.admin-section-heading .admin-button{padding:9px;font-size:11px}}@media (prefers-reduced-motion:reduce){.control-options,.completion-overlay{animation:.15s reduced-fade!important}.control-trigger>svg:last-child{transition:none}.admin-button{transition:background-color .15s;transform:none!important}}@media (max-width:420px){.puzzle-frame[data-difficulty=easy] .completion-overlay{gap:8px;padding:14px}.puzzle-frame[data-difficulty=easy] .completion-overlay>p:not(.completion-reward-amount){display:none}}@media (max-width:760px),(max-width:1024px) and (max-height:520px){body{width:100%;min-width:0}.game-main{flex-direction:column;min-width:0;display:flex}.game-main>section{min-width:0;max-width:100%}.game-main :is(h1,h2,p,.button){overflow-wrap:anywhere}.game-main .content-width{width:calc(100% - 32px);max-width:560px}.game-main>.service-notice{flex-shrink:0;width:calc(100% - 32px)}.festival-header{min-width:0;padding:max(6px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 6px max(16px, env(safe-area-inset-left));flex-shrink:0;display:block}.header-brand-row,.header-control-row{gap:8px;width:100%;min-width:0}.header-brand-row .brand{flex:0 108px;min-width:0}.header-brand-row .brand-logo{width:108px;max-width:100%;height:44px}.header-brand-row .balance-button{white-space:nowrap;flex:0 auto;gap:4px;min-width:0;min-height:44px;padding:3px 8px 3px 3px}.header-brand-row .balance-button strong{font-size:clamp(12px,3.6vw,15px)}.header-brand-row .balance-button .sprite{width:28px;height:28px}.header-control-row{justify-content:space-between;margin-top:2px}.account-control{flex:1 1 0;min-width:0;min-height:44px;overflow:hidden}.account-control span{white-space:nowrap;min-width:0;max-width:none}.header-controls{flex:none;gap:6px}.header-controls .round-button{width:44px;height:44px}.control-trigger{min-width:50px;min-height:44px;padding:8px}.control-options{width:min(224px,100vw - 100px)}.control-options button{overflow-wrap:anywhere;min-width:0}.control-options button>span{min-width:0}.site-footer{min-width:0;min-height:44px;padding:0 max(16px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-shrink:0;gap:10px}.site-footer>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0;font-size:10px}.site-footer>.text-button{flex:none;max-width:45%;min-height:40px;font-size:11px}.game-main .start-screen{width:100%;min-height:0;padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));flex:1;justify-content:center;gap:clamp(14px,3svh,26px)}.game-main .start-content{flex:none;width:100%;max-width:440px;padding:0}.game-main .hero-title{letter-spacing:-2px;max-width:100%;font-size:clamp(44px,min(14vw,9svh),72px)}.game-main .hero-title em{letter-spacing:-2px}html[lang=ms] .game-main .hero-title{font-size:clamp(36px,min(12vw,8svh),64px)}.game-main .title-flourish{margin:5px 0 9px}.game-main .title-flourish .sprite{width:18px;height:18px}.game-main .hero-subtitle{max-width:310px;font-size:clamp(16px,4.6vw,20px);line-height:1.35}.game-main .hero-description{max-width:330px;margin-top:8px;font-size:11px;line-height:1.5}.game-main .start-button{gap:18px;width:min(290px,100%);min-width:0;min-height:56px;margin-top:18px;padding:12px 20px;font-size:25px}.game-main .activity-period{overflow-wrap:anywhere;width:auto;margin-top:14px;font-size:13px}.game-main .start-note{margin-top:12px;font-size:9px}.game-main .journey-strip{border-radius:16px;width:min(440px,100%);padding:9px 3px}.game-main .journey-strip li{flex:1 1 0;min-width:0;padding:0 7px;font-size:11px;line-height:1.25}.game-main .journey-strip .sprite{width:25px;height:25px}.game-main .selection-screen{flex-direction:column;flex:1;padding-block:4px 10px;display:flex}.game-main .page-toolbar{gap:10px;min-width:0;min-height:44px}.game-main .back-link{min-width:0;min-height:44px;font-size:11px}.game-main .selection-screen .page-heading{margin:auto 0 12px}.game-main .selection-screen .page-heading h1{letter-spacing:-.4px;max-width:none;font-size:clamp(21px,5.8vw,27px);line-height:1.2}.game-main .selection-screen .page-heading>p{display:none}.game-main .adventure-stage{flex-direction:column;flex:none;gap:12px;width:100%;min-width:0;max-width:480px;margin-block:0 auto;padding:0;display:flex}.game-main .adventure-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.game-main .adventure-options legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.game-main .adventure-option{text-align:center;justify-content:center;align-items:center;gap:0;min-width:0;min-height:70px;padding:7px 3px 10px}.game-main .adventure-number,.game-main .adventure-indicator{display:none}.game-main .adventure-level{font-size:clamp(20px,5.2vw,26px);line-height:1.2}html[lang=ms] .game-main .adventure-level{font-size:clamp(18px,4.6vw,24px)}.game-main .adventure-piece-count{margin-top:2px;font-size:10px}.game-main .adventure-saved{margin-top:3px;font-size:8px;line-height:1.4}.game-main .adventure-preview{width:100%;min-width:0}.game-main .scene-art{width:min(100%,max(180px,133.333svh - 493.333px));margin-inline:auto}.game-main .scene-art:after{inset:5px}.game-main .scene-edition{width:fit-content;max-width:calc(100% - 20px);padding:4px 8px;font-size:9px;bottom:10px;left:10px;right:10px}.game-main .scene-copy{flex-wrap:nowrap;gap:12px;padding-top:12px}.game-main .scene-description{flex:1 1 0;min-width:0}.game-main .scene-description h2{letter-spacing:-.3px;font-size:clamp(18px,4.8vw,23px);line-height:1.2}.game-main .scene-description>p{display:none}.game-main .scene-action{flex:0 auto;gap:8px;width:auto;min-width:0;max-width:50%;min-height:48px;padding:10px 12px;font-size:12px}.game-main .selection-note{gap:5px;margin:12px 0 0;padding:0;font-size:10px;line-height:1.4}.game-main .selection-note .sprite{width:20px;height:20px}.game-main .selection-note br,.game-main .selection-note p>span{display:none}.game-main .puzzle-screen{flex-direction:column;flex:1;padding-bottom:12px;display:flex}.game-main .puzzle-heading{text-align:center;margin:2px 0 10px;display:block}.game-main .puzzle-screen:has(.game-layout)>.puzzle-heading{display:none}.game-main .board-heading{margin:0 0 12px}.game-main .puzzle-heading h1{font-size:clamp(22px,5.8vw,28px);line-height:1.2}.game-main .puzzle-heading p{display:none}.game-main .difficulty-badge.static{min-width:0;max-width:50%;padding:5px 8px;font-size:10px}.game-main .game-layout{grid-template-columns:minmax(0,1fr);gap:12px}.game-main .board-column{flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;padding-top:12px;display:flex}.game-main .puzzle-frame,.game-main .board-scroll{width:100%;min-width:0;max-width:100%}.game-main .board-scroll{overscroll-behavior-x:contain}.game-main .board-scroll-note{margin-bottom:8px;font-size:10px;line-height:1.4}.game-main .board-caption{gap:4px 10px;min-width:0;padding:8px 0}.game-main .board-caption .preview-button{min-height:40px}.game-main .collection-sidebar{grid-template-columns:minmax(0,1fr);min-width:0}.game-main .sidebar-note>span{overflow-wrap:anywhere;min-width:0}dialog{max-width:calc(100% - 24px);max-height:calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.react-dialog-content{overflow-wrap:anywhere;min-width:0}.react-dialog-content>h2{padding-inline:15px}.dialog-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.dialog-actions>.button{overflow-wrap:anywhere;min-width:0}.request-details{grid-template-columns:minmax(0,1fr)}.admin-shell,.admin-workspace,.admin-main,.admin-sidebar,.admin-topbar{min-width:0;max-width:100%}.admin-topbar>span{overflow-wrap:anywhere;min-width:0}.admin-topbar>div{flex-shrink:0}.admin-section-heading{flex-wrap:wrap}.admin-section-heading>div{min-width:0}.admin-tabs button{overflow-wrap:anywhere;min-width:0}.admin-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table details,.admin-table pre{min-width:0;max-width:100%}.status-pill{white-space:normal;max-width:100%}.pagination{flex-wrap:wrap}.admin-login{min-width:0;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;display:flex}.admin-login-toolbar{width:100%;min-width:0;margin:0 auto}.admin-login>section{flex:none;min-width:0;margin-block:auto}}@media (max-width:760px) and (max-height:700px){.game-main .hero-description,.game-main .start-note{display:none}.game-main .start-screen{gap:16px;padding-block:12px}.game-main .selection-note{display:none}.game-main .scene-copy{gap:8px}.game-main .scene-description h2{font-size:18px}}@media (max-width:360px){.header-brand-row .balance-button>span:not(.sprite){display:none}.game-main .content-width{width:calc(100% - 24px)}.game-main .journey-strip li{padding-inline:4px;font-size:10px}.game-main .scene-action{padding-inline:10px;font-size:11px}}@media (max-width:1024px) and (max-height:520px) and (orientation:landscape){.festival-header{align-items:center;gap:20px;display:flex}.header-brand-row,.header-control-row{flex:1;width:auto;margin-top:0}.game-main .content-width{max-width:760px}.game-main .start-screen{padding-block:12px}.game-main .hero-title,html[lang=ms] .game-main .hero-title{font-size:38px}.game-main .hero-subtitle{max-width:none;font-size:16px}.game-main .hero-description,.game-main .start-note,.game-main .journey-strip,.game-main .selection-note{display:none}.game-main .title-flourish{margin-block:2px 4px}.game-main .start-button{min-height:46px;margin-top:10px;padding-block:8px;font-size:23px}.game-main .selection-screen .page-heading{margin-bottom:8px}.game-main .selection-screen .page-heading h1{font-size:20px}.game-main .adventure-stage{grid-template-columns:minmax(140px,1fr) minmax(0,2fr);align-items:center;gap:20px;max-width:680px;display:grid}.game-main .adventure-options{grid-template-columns:minmax(0,1fr);gap:0}.game-main .adventure-option{min-height:50px;padding-block:4px}.game-main .adventure-level{font-size:20px}.game-main .adventure-saved{display:none}.game-main .scene-art{width:min(100%,max(140px,133.333svh - 306.667px))}.game-main .scene-copy{padding-top:8px}.game-main .scene-description h2{font-size:17px}.game-main .scene-action{min-height:44px;padding-block:8px}}.activity-summary{color:#efdfc3;flex-wrap:wrap;gap:8px 24px;padding:18px 0;font-size:13px;line-height:1.6;display:flex}.activity-summary p{margin:0}.campaign-settings .activity-toggle{flex-direction:row;align-items:center;gap:10px}.campaign-settings input[type=checkbox]{accent-color:#6d543d;width:18px;height:18px;min-height:0;padding:0}.campaign-settings fieldset{border:1px solid #e3d7c7;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;margin:0;padding:18px;display:grid}.campaign-settings legend{padding:0 6px;font-weight:600}.campaign-settings .campaign-fields{border:0;flex-direction:column;gap:17px;padding:0;display:flex}.date-time-field{flex-direction:column;gap:7px;display:flex}.date-time-field input{cursor:pointer}@media (max-width:560px){.campaign-settings fieldset{grid-template-columns:1fr}}.open-all-button{white-space:normal;text-wrap:balance;margin-top:16px}.desktop-preferences{align-items:center;gap:8px;display:flex}.mobile-settings-button{display:none}.header-controls .history-button{color:var(--cream)}.player-settings{text-align:left;gap:20px;margin-top:24px;display:grid}.player-settings label{color:#654e3c;gap:8px;font-size:14px;display:grid}.player-settings select{color:#533f35;width:100%;min-height:46px;font:16px var(--font-body);background:#fffaf2;border:1px solid #d9c5ad;border-radius:8px;padding:10px 12px}.player-settings-sound{color:#654e3c;justify-content:space-between;align-items:center;min-height:44px;font-size:14px;display:flex}.player-sound-switch{background:0 0;border:0;align-items:center;width:46px;min-height:44px;padding:0;display:flex}.player-sound-switch>span{background:#c8bcae;border-radius:13px;align-items:center;width:46px;height:26px;padding:3px;display:flex}.player-sound-switch>span:after{content:"";background:#fffaf2;border-radius:50%;width:20px;height:20px}.player-sound-switch[aria-checked=true]>span{background:#8b6a35;justify-content:flex-end}@media (max-width:760px){.festival-header .desktop-preferences{display:none}.mobile-settings-button{display:inline-flex}.festival-header{padding-bottom:5px}.festival-header:before{background:#141d35eb}body[data-embedded-player=true] .festival-header{background:#141d35f5;position:relative;top:auto}body[data-embedded-player=true] .festival-header:before{content:none}.header-control-row{border-top:1px solid #ecd3a71f;margin-top:5px;padding-top:4px}.header-controls{gap:4px}.header-controls .round-button{color:var(--cream);background:0 0;border:0;border-radius:8px}.header-controls .round-button:hover,.header-controls .round-button:focus-visible{background:#ecd3a71a}.header-controls .control-trigger{background:0 0;border:0;border-radius:8px;gap:4px;min-width:0;padding:8px}.header-controls .control-trigger:hover,.header-controls .control-picker.is-open>.control-trigger{background:#ecd3a71a}.account-control{font-size:12px}}@media (max-width:760px) and (max-height:520px) and (orientation:landscape){.header-control-row{border-top:0;margin-top:0;padding-top:0}}.history-tabs{border-bottom:1px solid #deceb8;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;display:grid}.history-tabs button{color:#796653;background:0 0;border:0;border-bottom:2px solid #0000;min-height:44px;padding:10px 6px;font-size:14px}.history-tabs button[aria-selected=true]{color:#654823;border-bottom-color:#a87531;font-weight:600}.history-tabs button:focus-visible{outline-offset:-3px}dialog[data-kind=history]{border-radius:20px;width:min(560px,100% - 24px);height:min(720px,100svh - 24px);max-height:calc(100svh - 24px);overflow:hidden}dialog[data-kind=history] .react-dialog-content{text-align:left;flex-direction:column;height:100%;max-height:none;padding:24px 24px 16px;display:flex}dialog[data-kind=history] h2{font:600 22px/1.4 var(--font-body);letter-spacing:0;flex-shrink:0;margin:0;padding:0 40px 0 0}dialog[data-kind=history] [role=tabpanel]{flex-direction:column;flex:1;min-height:0;display:flex}dialog[data-kind=history] :is(.history-list,.history-empty){flex:1}dialog[data-kind=history] .history-empty{place-items:center;display:grid}dialog[data-kind=history] .history-list[aria-busy=true]{opacity:.6;transition:opacity .12s .15s}.history-toolbar{color:#796653;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.history-toolbar button{color:#74512c;align-items:center;gap:5px;min-height:44px;font-size:12px;display:inline-flex}.history-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9b498 transparent;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.history-list>li{border-top:1px solid #e6d9c8;padding:14px 2px}.history-spending-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;display:grid}.history-piece-thumbnail{aspect-ratio:1;background:#eee0ca;border:1px solid #d9c29e;border-radius:11px;width:52px;position:relative;overflow:hidden;box-shadow:0 3px 10px #5b3e231f}.history-piece-thumbnail>span{background-repeat:no-repeat;position:absolute;inset:0}.history-spending-details{min-width:0}.history-row-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.history-row-heading h3{color:#4d3d31;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.5;display:flex}.history-row-heading h3>span{color:#7b6754;font-size:12px;font-weight:400}.history-amount{color:#654823;font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:5px;font-size:23px;font-weight:600;line-height:1.3;display:inline-flex}.history-amount>span{color:#7b6754;font-size:11px;font-weight:400}.history-context{color:#7b6754;overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.5}.history-row-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-top:9px;display:flex}.history-status{color:#835c22;align-items:center;gap:4px;margin:0;font-size:12px;line-height:1.5;display:inline-flex}.history-status[data-status=paid]{color:#45613c}.history-status[data-status=rejected],.history-status[data-status=requires_review]{color:#994f44}.history-list time{color:#796653;font-variant-numeric:tabular-nums;font-size:12px}.history-claim-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-top:3px;display:flex}.history-dates{gap:4px;margin:10px 0 0;display:grid}.history-dates>div{flex-wrap:wrap;justify-content:space-between;gap:3px 12px;display:flex}.history-dates dt{color:#7b6754;font-size:12px}.history-dates dd{margin:0}.history-note{white-space:pre-wrap;overflow-wrap:anywhere;color:#705c49;border-left:2px solid #dac4a4;margin:8px 0 0;padding-left:9px;font-size:12px;line-height:1.6}.history-empty{color:#796653;text-align:center;margin:0;padding:36px 0;font-size:14px}.history-pagination{color:#796653;border-top:1px solid #deceb8;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:12px;display:flex}.history-pagination>div{align-items:center;gap:8px;display:flex}.history-pagination button{color:#74512c;background:0 0;border:1px solid #deceb8;border-radius:8px;width:44px;height:44px}.history-pagination button:disabled{opacity:.35}.history-pagination button:hover:not(:disabled){background:#f0e3ce}@media (max-width:560px){dialog[data-kind=history] .react-dialog-content{padding:20px 16px 12px}dialog[data-kind=history] h2{font-size:20px}.history-tabs button{padding-inline:4px;font-size:13px}.history-spending-row{grid-template-columns:46px minmax(0,1fr);gap:9px}.history-piece-thumbnail{border-radius:9px;width:46px}.history-row-heading{gap:8px}.history-amount{font-size:21px}}.admin-turnover-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-turnover-dates{color:#533f35;gap:16px;margin:0;display:grid}.admin-turnover-dates>div{flex-wrap:wrap;gap:8px 20px;display:flex}.admin-turnover-dates dt{color:#715b49;min-width:130px}.admin-turnover-dates dd{font-variant-numeric:tabular-nums;margin:0}@media (max-width:600px){.admin-turnover-stats{grid-template-columns:1fr}.admin-turnover-stats>div+div{border-top:1px solid #ded2c1;border-left:0}}
