:root{font-family:Inter,ui-rounded,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#fff8df;background:#071124;font-synthesis:none;--gold: #f6c86a;--gold-bright: #ffe6a6;--ink: #071124;--panel: rgba(11, 26, 52, .82);--line: rgba(255, 236, 184, .2)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #fff2ac;outline-offset:3px}.game-shell{min-height:100vh;min-height:100dvh;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 16%,rgba(251,223,143,.18),transparent 26%),linear-gradient(155deg,#11264a,#08142d 48%,#071124);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.ambient-host{position:absolute;inset:0;opacity:.82;pointer-events:none}.moon-canvas{position:absolute;inset:0;width:100%;height:100%}.topbar,.progress-wrap,.main-content,.demo-banner{position:relative;z-index:1}.topbar{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--gold);background:#07112499}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.15em}.brand small{margin-top:2px;color:#b7c3d8;font-size:11px}.top-actions{display:flex;gap:8px}.icon-button{min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#07112499;cursor:pointer}.icon-button span{margin-left:7px;font-size:12px;color:#d7deea}.language-button{color:var(--gold-bright);font-weight:800}.progress-wrap{max-width:720px;margin:18px auto 0;display:flex;justify-content:center;align-items:center;gap:12px;color:#aebbd1;font-size:12px;letter-spacing:.08em}.progress-dots{display:flex;gap:8px}.progress-dots i{width:28px;height:5px;border-radius:3px;background:#ffffff29}.progress-dots i.current{background:#fff2bd;box-shadow:0 0 12px var(--gold)}.progress-dots i.done{background:var(--gold)}.main-content{width:min(100%,1000px);min-height:calc(100dvh - 154px);margin:0 auto;display:grid;place-items:center;padding:24px 0 78px}.panel{width:min(100%,760px);padding:clamp(28px,5vw,64px);border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,#102547e6,#071227c7);box-shadow:0 30px 80px #00000059;backdrop-filter:blur(18px)}.hero{text-align:left;margin-top:5vh}.eyebrow{margin:0 0 14px;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.2em}h1{margin:0;max-width:780px;font-family:Georgia,Songti SC,serif;font-size:clamp(32px,6vw,64px);line-height:1.08;letter-spacing:-.03em}.lead{max-width:650px;margin:20px 0 0;color:#d7dfeb;font-size:clamp(16px,2.2vw,19px);line-height:1.8}.feature-row{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.feature-row span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#e9dfc5;background:#ffffff0a;font-size:13px}.difficulty-picker{margin:0 0 24px;padding:0;border:0}.difficulty-picker legend{color:#f2d494;font-weight:800}.difficulty-picker>p{margin:6px 0 12px;color:#f4ecd8ad;font-size:12px;line-height:1.55}.difficulty-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.difficulty-option{min-height:68px;padding:9px 10px;border:1px solid rgba(233,190,114,.22);border-radius:8px 18px;color:#e9dfc5;background:#0711247a;cursor:pointer;text-align:left}.difficulty-option strong,.difficulty-option small{display:block}.difficulty-option small{margin-top:4px;color:#f4ecd89e;line-height:1.35}.difficulty-option.selected{border-color:#e9be72;background:#e9be7229;box-shadow:0 0 0 2px #e9be7214}.primary-button{min-height:50px;border:0;border-radius:999px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:18px;color:#1c2740;background:linear-gradient(135deg,#ffe39a,#e6a63f);font-weight:850;cursor:pointer;box-shadow:0 10px 28px #e6a63f33;transition:transform .18s ease,filter .18s ease}.primary-button:hover{transform:translateY(-2px);filter:brightness(1.05)}.primary-button:disabled{cursor:wait;opacity:.65;transform:none}.moon-button{min-width:180px}.story-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}.story-art{min-height:280px;position:relative;display:grid;place-items:center}.giant-moon{color:var(--gold-bright);font-size:210px;filter:drop-shadow(0 0 36px rgba(246,200,106,.5))}.falling-rabbit{position:absolute;display:grid;place-items:center;width:72px;height:82px;border-radius:48% 48% 42% 42%;color:#253451;background:#fff8e8;box-shadow:0 10px 26px #00000040;font-weight:800;animation:float 3s ease-in-out infinite}.story-copy h1{font-size:clamp(34px,5vw,58px)}.companion-card{margin:20px 0;padding:14px 18px;display:grid;grid-template-columns:52px 1fr;gap:13px;border:1px solid rgba(246,200,106,.26);border-radius:18px;background:#071124bf;text-align:left}.companion-card p{margin:4px 0 0;color:#f7f0dd;line-height:1.55}.speaker{color:var(--gold);font-weight:800;font-size:12px}.rabbit-avatar{width:50px;height:50px;position:relative;display:grid;place-items:center;border-radius:48% 48% 43% 43%;color:#253451;background:#fff7e7;font-size:11px}.ear{position:absolute;top:-11px;width:13px;height:26px;border-radius:70%;background:#fff7e7}.ear.left{left:8px;transform:rotate(-8deg)}.ear.right{right:8px;transform:rotate(8deg)}.rabbit-face{margin-top:6px;white-space:nowrap}.puzzle-layout{width:min(100%,840px)}.scene-heading{margin:8px 0 22px;text-align:center}.scene-heading h1{margin:auto;font-family:inherit;font-size:clamp(22px,4vw,34px);letter-spacing:-.02em}.puzzle-board,.projection-card,.capacity-meter,.locked-recipe{border:1px solid var(--line);border-radius:24px;background:#08142bc2;backdrop-filter:blur(12px)}.act1-board{padding:18px}.sign-card{margin:0 auto 26px;width:min(100%,500px);padding:14px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-radius:14px;background:#f3daa41a;color:#e8dfca;font-size:13px}.sign-card strong{grid-column:1 / -1;color:var(--gold)}.lantern-row{min-height:165px;display:flex;justify-content:space-around;align-items:flex-start;gap:8px}.lantern{width:72px;border:0;background:none;cursor:pointer;transition:transform .18s ease,filter .18s ease}.lantern:nth-child(2n){margin-top:28px}.lantern:hover{transform:translateY(-4px)}.lantern:disabled{cursor:default}.lantern-top{display:block;width:35px;height:8px;margin:auto;border-radius:3px;background:#8f673b}.lantern-body{display:grid;place-items:center;height:78px;border:2px solid rgba(255,255,255,.23);border-radius:28px 28px 20px 20px;color:#ffffffd9;background:#55475a;font-size:30px;box-shadow:inset 0 0 20px #0000003d}.lantern-tail{display:block;width:2px;height:20px;margin:auto;background:#c99d58;box-shadow:-4px 6px #c99d58,4px 6px #c99d58}.lantern-gold .lantern-body{background:#8c6b2b}.lantern-green .lantern-body{background:#285f50}.lantern-red .lantern-body{background:#8f3f40}.lantern-white .lantern-body{background:#777b82}.lantern-purple .lantern-body{background:#614476}.lantern.lit .lantern-body,.hinted{filter:brightness(1.5) drop-shadow(0 0 15px rgba(255,222,120,.85))}.action-row{margin:18px 0;display:flex;justify-content:center}.notes{margin:10px 0;border:1px solid var(--line);border-radius:14px;background:#071124a8}.notes summary{padding:12px 16px;cursor:pointer;color:var(--gold);font-weight:750}.notes p{margin:0;padding:0 16px 15px;color:#d5dfed;line-height:1.6}.hint-button,.text-button{min-height:44px;border:0;background:none;color:var(--gold-bright);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.hint-button{display:block;margin:4px auto}.capacity-meter{padding:15px 18px;display:flex;align-items:center;justify-content:center;gap:16px}.capacity-meter>div{display:flex;gap:5px}.capacity-meter i{width:28px;height:14px;border:1px solid rgba(255,255,255,.3);border-radius:4px}.capacity-meter i.filled{background:var(--gold);box-shadow:0 0 9px #f6c86a8c}.ingredient-grid{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ingredient-card{padding:16px 10px;border:1px solid var(--line);border-radius:20px;background:#0a182fd6;text-align:center}.ingredient-icon{display:grid;place-items:center;width:55px;height:55px;margin:0 auto 8px;border-radius:50%;background:#ffffff17;color:var(--gold);font-size:26px}.counter{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:9px}.counter button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#ffffff0f;cursor:pointer}.counter output{min-width:22px;font-size:20px;font-weight:850}.locked-recipe{min-height:220px;margin-top:14px;padding:34px;display:grid;place-items:center;text-align:center;color:#bcc9db}.locked-recipe span{font-size:60px;color:var(--gold)}.locked-recipe p{margin:0;max-width:440px;line-height:1.7}.projection-card{padding:16px 20px;text-align:center}.projection-card>strong,.projection-card>span{display:block}.projection-card>strong{color:var(--gold)}.projection-card>span{margin:8px 0 11px;font-size:18px}.projection-card>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;color:#becbe0}.window-row{min-height:185px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,5vw,48px)}.moon-window{min-width:96px;min-height:120px;border:1px solid var(--line);background:#192d48b8;cursor:pointer}.moon-window span{display:block;color:var(--gold);font-size:45px}.moon-window strong{display:block;margin-top:8px}.shape-round{border-radius:50px 50px 14px 14px}.shape-arch{border-radius:50% 50% 8px 8px}.shape-square{border-radius:12px}.ending-layout{width:min(100%,880px);display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.ending-copy{padding:28px;border-radius:28px;background:#071124a6;backdrop-filter:blur(12px)}.ending-copy h1{font-size:clamp(32px,5vw,54px)}.duration{margin:16px 0 0;color:var(--gold);font-size:13px;font-weight:750}.completed-path{display:grid;gap:8px;color:#cbd6e7;font-size:13px}.moon-gift-card{min-height:340px;padding:30px 22px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #dab462;border-radius:25px;background:linear-gradient(145deg,#fff6dd,#e9c778);color:#23304a;text-align:center;box-shadow:0 24px 50px #00000052;transform:rotate(1.5deg)}.moon-gift-card:before,.moon-gift-card:after{content:"";position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;background:#0a1730}.moon-gift-card:before{top:30%}.moon-gift-card:after{bottom:30%}.gift-moon{font-size:52px;color:#9a6d19}.moon-gift-card>strong{margin:14px 0 4px;font-size:24px;line-height:1.35}.moon-gift-card p{margin:8px 0;line-height:1.55}.moon-gift-card em{margin-top:12px;font-style:normal;color:#744f16;font-size:12px;line-height:1.45}.moon-gift-card .primary-button{margin-top:18px;background:#1b2c4a;color:#fff3d4;box-shadow:none}.ending-layout>.text-button{grid-column:1 / -1;justify-self:center}.demo-banner{position:fixed;right:16px;bottom:14px;max-width:360px;padding:9px 12px;display:flex;gap:8px;border:1px solid rgba(255,216,120,.28);border-radius:12px;background:#071124e6;color:#cbd6e7;font-size:11px;backdrop-filter:blur(12px)}.demo-banner strong{flex:none;color:var(--gold)}@keyframes float{50%{transform:translateY(-9px) rotate(2deg)}}@media(max-width:720px){.game-shell{padding-left:12px;padding-right:12px}.brand small,.icon-button span{display:none}.main-content{padding-top:18px;align-items:start}.panel{padding:26px 20px;border-radius:24px}.story-layout,.ending-layout{grid-template-columns:1fr}.story-art{min-height:140px}.giant-moon{font-size:120px}.falling-rabbit{width:54px;height:62px}.difficulty-picker>div{grid-template-columns:1fr}.sign-card{grid-template-columns:1fr}.lantern-row{min-height:145px}.lantern{width:56px}.lantern-body{height:66px;font-size:24px}.ingredient-grid{grid-template-columns:repeat(2,1fr)}.capacity-meter{gap:9px}.capacity-meter>span{display:none}.capacity-meter i{width:22px}.moon-window{min-width:80px;min-height:108px}.window-row{gap:10px}.projection-card>div{display:grid}.demo-banner{left:12px;right:12px;max-width:none}.demo-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:390px){.moon-window{min-width:72px}.lantern{width:48px}.lantern-body{height:60px}.feature-row{gap:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:#0b1730}#app{position:relative;isolation:isolate}.ui-root{position:relative;z-index:2}.game-shell{background:transparent;color:#f4ecd8;overflow-x:hidden;overflow-y:auto}.scene-backdrop{position:fixed;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.97);transform:scale(1.015)}.scene-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,17,36,.28),transparent 42%,rgba(5,12,28,.78));box-shadow:inset 0 0 160px #02081373;pointer-events:none}.scene-act2 .scene-backdrop{filter:saturate(.9) brightness(.82)}.scene-act3 .scene-backdrop,.scene-ending .scene-backdrop{filter:saturate(.78) brightness(.72)}.scene-act2 .scene-shade{background:linear-gradient(90deg,#1310189e,#16141a14 52%,#120d1347),linear-gradient(180deg,rgba(7,17,36,.1),transparent 48%,rgba(5,12,28,.72))}.scene-act3 .scene-shade,.scene-ending .scene-shade{background:linear-gradient(90deg,rgba(9,17,39,.55),transparent 54%,rgba(11,16,37,.32)),linear-gradient(180deg,rgba(7,17,36,.14),transparent 42%,rgba(5,12,28,.72))}.ambient-host{position:fixed;inset:0;z-index:1;opacity:.7;pointer-events:none}.topbar,.progress-wrap,.main-content{z-index:3}.topbar{max-width:1160px;flex-wrap:wrap}.brand{min-width:0}.brand-mark{flex-shrink:0}.top-actions{flex-shrink:0;margin-left:auto}.brand-mark{border-color:#e9be7261;background:#061021a3;box-shadow:inset 0 0 20px #e9be7214}.brand strong{color:#f4ecd8}.brand small{color:#f4ecd8a3}.top-actions{align-items:center}.demo-chip{padding:6px 10px;border:1px solid rgba(233,190,114,.32);border-radius:999px;color:#e9be72;background:#0711249e;font-size:11px;font-weight:800;letter-spacing:.08em}.icon-button{border-color:#f4ecd833;background:#07112494;backdrop-filter:blur(10px)}.progress-wrap{margin-top:13px;color:#f4ecd8b8}.progress-dots i{height:3px;background:#f4ecd82e}.progress-dots i.current,.progress-dots i.done{background:#e9be72}.main-content{width:min(100%,1160px);min-height:calc(100dvh - 112px);padding:20px 0 48px}.eyebrow{color:#e9be72;letter-spacing:.18em}h1{color:#f7efd9;text-wrap:balance;text-shadow:0 3px 22px rgba(3,10,24,.55)}.lead{color:#f4ecd8d1}.hero-layout{width:100%;min-height:min(720px,calc(100dvh - 110px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(20px,5vw,72px)}.hero-copy{position:relative;padding:clamp(24px,4vw,48px);border-left:1px solid rgba(233,190,114,.38);background:linear-gradient(90deg,rgba(7,17,36,.52),transparent)}.game-title{font-size:clamp(56px,7vw,92px);letter-spacing:.08em;white-space:normal;overflow-wrap:anywhere}.hero-layout,.hero-copy,.story-copy,.puzzle-layout,.ending-copy{min-width:0;max-width:100%}.difficulty-picker{min-inline-size:0;max-width:100%}.difficulty-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-option{min-width:0;overflow-wrap:anywhere}.hero-tagline{margin:16px 0 0;color:#e9be72;font-family:Georgia,Songti SC,serif;font-size:clamp(23px,3vw,34px);letter-spacing:.04em}.hero-copy .lead{max-width:560px;margin-top:16px}.hero-character{min-height:560px;position:relative;display:grid;place-items:end center}.hero-character:before{content:"";position:absolute;left:15%;right:5%;bottom:9%;height:30%;border-radius:50%;background:radial-gradient(ellipse,rgba(233,190,114,.48),transparent 68%);filter:blur(18px)}.moon-fragment{display:none}.hero-glow{position:absolute;right:12%;bottom:11%;width:36%;height:16%;border-radius:50%;background:#e9be7233;filter:blur(26px)}.feature-row{margin:22px 0 28px}.feature-row span{border:0;padding:0 16px 0 0;background:none;color:#f4ecd8b8}.primary-button{min-height:52px;background:linear-gradient(135deg,#f5d38c,#dba957);color:#142039;box-shadow:0 10px 32px #e9be7238}.primary-button:active{transform:translateY(1px) scale(.98)}.yue-sprite{width:100%;aspect-ratio:615 / 639;position:relative;display:block;overflow:hidden}.yue-sprite img{width:200%;height:auto;max-width:none;position:absolute}.pose-lantern img{left:0;top:0}.pose-thinking img{left:-100%;top:0}.pose-operate img{left:0;top:-100%}.pose-celebrate img{left:-100%;top:-100%}.yue-hero{width:min(88%,600px);z-index:2;filter:drop-shadow(0 24px 36px rgba(2,8,20,.45));animation:yue-float 4.2s ease-in-out infinite}.story-panel{width:min(100%,920px);padding:clamp(24px,4vw,48px);border:1px solid rgba(233,190,114,.24);border-radius:20px 64px;background:linear-gradient(120deg,#071124c7,#0d1d358f);box-shadow:0 28px 70px #0208144d;backdrop-filter:blur(10px)}.story-art{min-height:360px}.moon-ripple{position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(233,190,114,.26);border-radius:50%;box-shadow:0 0 0 24px #e9be720d,0 0 70px #e9be7229}.yue-prologue{width:92%;z-index:1;animation:yue-float 4s ease-in-out infinite}.companion-card{grid-template-columns:58px minmax(0,1fr);border-color:#e9be7238;border-radius:8px 22px 22px;background:linear-gradient(110deg,#071124e6,#12243dc4);box-shadow:0 12px 28px #0208142e}.companion-avatar{width:54px;height:54px;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#fff4d6,#d9b875)}.companion-avatar .yue-sprite{width:70px;transform:translate(-8px,-5px)}.speaker{color:#e9be72}.puzzle-layout{width:min(100%,980px)}.scene-heading{margin:0 auto 14px;padding:13px 22px;max-width:760px;border-radius:8px;background:linear-gradient(90deg,transparent,rgba(7,17,36,.74) 16%,rgba(7,17,36,.74) 84%,transparent)}.scene-heading .eyebrow{margin-bottom:7px}.scene-heading h1{max-width:720px;font-size:clamp(20px,2.8vw,29px);font-weight:680}.puzzle-board,.projection-card,.capacity-meter,.locked-recipe{backdrop-filter:blur(8px)}.act1-board{min-height:390px;position:relative;padding:24px 24px 12px;border-color:#e9be7238;border-radius:20px 46px;background:linear-gradient(180deg,#08142b9e,#07112461);overflow:hidden}.act1-board:after{content:"";position:absolute;left:3%;right:3%;bottom:18px;height:95px;background:linear-gradient(180deg,#29475c0d,#29475c80);clip-path:polygon(0 34%,12% 24%,23% 36%,38% 18%,52% 38%,68% 22%,82% 34%,100% 16%,100% 100%,0 100%)}.lantern-rope{position:absolute;left:-3%;right:-3%;top:138px;height:2px;background:#5d4327e6;transform:rotate(-1.1deg);box-shadow:0 1px #e9be722e}.sign-card{width:fit-content;max-width:100%;position:relative;z-index:2;padding:12px 22px 14px;border:1px solid rgba(233,190,114,.34);border-radius:5px;background:linear-gradient(160deg,#ede1c8,#c9ac78);color:#28364a;box-shadow:0 8px 22px #02081447;transform:rotate(-.5deg)}.sign-card strong{color:#7a4d28}.lantern-row{min-height:215px;position:relative;z-index:2;align-items:flex-start;padding-top:28px}.lantern{width:92px}.lantern:nth-child(2n){margin-top:22px}.lantern-top{width:46px;height:9px;background:linear-gradient(#8a6032,#4e351e)}.lantern-body{height:98px;position:relative;border:1px solid rgba(255,247,218,.48);border-radius:42% 42% 30% 30%;box-shadow:inset 12px 0 20px #ffffff14,inset -12px 0 18px #0000002e,0 10px 18px #0208144d;overflow:hidden}.lantern-body:before,.lantern-body:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:#ffefc442}.lantern-body:before{left:32%}.lantern-body:after{right:32%}.lantern-body b{position:relative;z-index:2;font-weight:500}.lantern-light{position:absolute;inset:20%;border-radius:50%;background:#ffe59129;filter:blur(12px)}.lantern-tail{height:25px;background:#bd6856;box-shadow:-5px 7px #bd6856,5px 7px #bd6856}.lantern small{display:block;margin-top:11px;color:#f4ecd8d1;font-size:12px}.lantern.lit .lantern-body{filter:brightness(1.55) drop-shadow(0 0 18px rgba(255,213,105,.9))}.lantern.lit .lantern-light{background:#ffe27ccc}.active-clue{position:relative;z-index:3;width:fit-content;max-width:100%;margin:5px auto 0;padding:8px 14px;border-radius:999px;color:#f5d99c;background:#071124b8;font-size:13px}.workbench{min-height:430px;position:relative;padding:22px 22px 18px;border:1px solid rgba(233,190,114,.28);border-radius:22px;background:linear-gradient(180deg,#34211b70,#1810159e);box-shadow:0 22px 54px #05080e4d;overflow:hidden}.recipe-slip{width:min(58%,490px);min-height:82px;margin:0 auto 14px;padding:11px 16px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 15px;border-radius:4px;background:linear-gradient(145deg,#f1e4c9,#cfb889);color:#34403d;box-shadow:0 8px 24px #0d080542;transform:rotate(.3deg)}.recipe-slip strong{width:100%;color:#754e2e;text-align:center}.recipe-slip span{font-size:12px}.mould-area{width:min(70%,560px);margin:0 auto 14px;padding:12px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border-radius:14px;background:linear-gradient(145deg,#d7bb833d,#2b1d1980)}.mould-area>span{font-size:12px;color:#eedcaf}.mould-area>strong{color:#f4ecd8}.mould-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.mould-slot{aspect-ratio:1;min-width:24px;border:1px solid rgba(244,236,216,.28);border-radius:50%;background:#0f0c105c;box-shadow:inset 0 3px 6px #00000052}.mould-slot.filled{border-color:#ffedb4a6;box-shadow:inset 0 2px 4px #0003,0 0 10px #e9be7233}.portion-skin{background:#e8e0d3!important}.portion-durian{background:#d7b65b!important}.portion-yolk{background:#d67d42!important}.portion-pandan{background:#719b88!important}.ingredient-grid{width:min(100%,760px);margin:0 auto;position:relative;z-index:2}.ingredient-dish{padding:8px 8px 10px;border:0;border-radius:50% 50% 38% 38%;background:radial-gradient(ellipse at center,#e8dfc8 0 52%,#9c8c70 54% 58%,#140f1080 60%);color:#f4ecd8;text-align:center}.food-visual{height:48px;position:relative;display:flex;align-items:center;justify-content:center;gap:2px}.food-visual i{width:20px;height:20px;border-radius:50%;background:#e8e0d3;box-shadow:inset -3px -3px 5px #00000026}.ingredient-durian .food-visual i{background:#d7b65b;clip-path:polygon(50% 0,61% 24%,85% 15%,76% 39%,100% 50%,76% 61%,85% 85%,61% 76%,50% 100%,39% 76%,15% 85%,24% 61%,0 50%,24% 39%,15% 15%,39% 24%)}.ingredient-yolk .food-visual i{background:#dc8244}.ingredient-pandan .food-visual i{width:9px;height:35px;border-radius:90% 0;background:#719b88;transform:rotate(25deg)}.ingredient-dish>strong{display:block;color:#f4ecd8;font-size:13px;text-shadow:0 2px 5px rgba(0,0,0,.8)}.counter{margin-top:7px}.counter button{width:44px;height:44px;background:#071124b8;border-color:#e9be7257}.counter output{min-width:24px;color:#fff4d2}.locked-recipe{min-height:190px;position:relative;z-index:2;border:0;background:#07112499}.lock-moon{color:#e9be72;font-size:52px}.yue-workshop{width:150px;position:absolute;right:-16px;top:52px;z-index:3;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}.projection-card{width:min(100%,680px);margin:auto;border-color:#d2caf147;border-radius:44px 8px;background:linear-gradient(120deg,#272a4ab8,#111a34ad);box-shadow:inset 0 0 28px #c4b8f212}.projection-card>strong{color:#e2d7ff}.projection-card>span{color:#f4ecd8}.moon-gate-stage{min-height:238px;position:relative;margin-top:6px;display:grid;place-items:end center;overflow:hidden}.window-row{min-height:198px;position:relative;z-index:2;gap:clamp(14px,6vw,62px)}.moon-window{min-width:110px;min-height:142px;position:relative;border:1px solid rgba(216,210,244,.34);border-radius:54px 54px 12px 12px;background:linear-gradient(180deg,#606c928f,#1a2645cc);overflow:hidden;box-shadow:inset 0 0 28px #d2ccf41a,0 12px 24px #0308144d}.window-lamp{width:36px;height:58px;margin:18px auto 8px;display:block;border:1px solid rgba(244,236,216,.42);border-radius:18px 18px 8px 8px;background:#e9be722e;box-shadow:inset 0 0 14px #e9be721f}.moon-window.veiled:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,#aea4d240,#43456bbd);backdrop-filter:blur(5px)}.moon-window.veiled strong{position:relative;z-index:2}.moon-window.lit .window-lamp{background:#efd38c;box-shadow:0 0 24px #f4dd98e6,inset 0 0 10px #fff7d6}.moon-window.hinted{filter:drop-shadow(0 0 14px rgba(222,212,255,.9))}.yue-gate{width:150px;position:absolute;right:0;bottom:0;z-index:4;filter:drop-shadow(0 15px 20px rgba(2,8,20,.36))}.moon-mist{position:absolute;left:12%;right:12%;bottom:0;height:70px;z-index:3;background:radial-gradient(ellipse,rgba(189,180,225,.34),transparent 70%);filter:blur(18px);pointer-events:none}.notes{border-color:#e9be7233;border-radius:7px 18px 18px;background:#071124b8}.notes summary{color:#e9be72}.hint-button,.text-button{color:#f2d494}.action-row{margin:14px 0}.scene-story{max-width:720px;margin:14px auto 0;color:#d7dfeb;font-size:16px;line-height:1.7}.chapter-keepsake{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:16px 18px;border:1px solid rgba(233,190,114,.34);border-radius:8px 22px;background:#071124db;text-align:left}.chapter-keepsake>span{flex:none;color:var(--gold);font-size:26px}.chapter-keepsake strong{color:#f2d494}.chapter-keepsake p{margin:8px 0 0;color:#d7dfeb;line-height:1.7}.session-notice{position:relative;z-index:3;max-width:720px;margin:16px auto 0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#071124eb;color:#f2d494;line-height:1.6}.ending-layout{width:min(100%,1100px);grid-template-columns:.72fr 1.15fr .78fr;gap:24px}.ending-visual{min-height:360px;position:relative;display:grid;place-items:end center}.yue-ending{width:118%;position:relative;z-index:2;filter:drop-shadow(0 20px 24px rgba(2,8,20,.4));animation:yue-float 3.8s ease-in-out infinite}.reunion-medal{position:absolute;top:5%;right:0;width:92px;height:92px;display:grid;place-items:center;border:1px solid rgba(233,190,114,.58);border-radius:50%;color:#f3d68e;background:#07112499;box-shadow:0 0 0 9px #e9be7214,0 0 32px #e9be723d;font-size:44px}.reunion-medal i{position:absolute;bottom:8px;right:10px;font-size:15px}.ending-copy{border:1px solid rgba(233,190,114,.18);border-radius:8px 36px;background:linear-gradient(125deg,#071124e0,#13233dad)}.ending-copy h1{font-size:clamp(32px,4vw,52px)}.completed-path span{padding-left:10px;border-left:2px solid rgba(233,190,114,.42)}.gift-envelope,.moon-gift-card{min-height:300px;padding:28px 20px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#26324a;text-align:center;box-shadow:0 24px 50px #0000004d}.gift-envelope{border:1px solid #dbc18b;border-radius:9px;background:linear-gradient(155deg,#f2e5c9,#d6bd88);overflow:hidden;transform:rotate(1deg)}.gift-envelope:before,.gift-envelope:after{content:"";position:absolute;bottom:-3%;width:72%;height:65%;background:#fff8e14d;transform:rotate(36deg)}.gift-envelope:before{left:-28%}.gift-envelope:after{right:-28%;transform:rotate(-36deg)}.envelope-flap{position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(155deg,#ead7ae,#c9ad76);clip-path:polygon(0 0,100% 0,50% 100%)}.gift-seal{width:56px;height:56px;z-index:2;display:grid;place-items:center;border-radius:50%;color:#f5dca6;background:#a85547;box-shadow:0 5px 12px #4e241e4d;font-family:Georgia,Songti SC,serif;font-size:24px}.gift-envelope small,.gift-envelope .primary-button{position:relative;z-index:2}.gift-envelope small{margin:16px 0;color:#654e32}.moon-gift-card{border:1px solid #d9ba77;border-radius:9px 28px;background:linear-gradient(145deg,#fff6dd,#e9c778);transform:rotate(1deg)}.demo-notice{grid-column:3;margin:-8px 0 0;color:#f4ecd8b3;font-size:11px;text-align:center}.ending-layout>.text-button{grid-column:1 / -1}@keyframes yue-float{50%{transform:translateY(-7px) rotate(.7deg)}}@media(max-width:820px){.game-shell{padding-left:12px;padding-right:12px}.scene-backdrop{object-position:60% center}.scene-shade{background:linear-gradient(180deg,#060f1f38,#060f1f47 40%,#050c1be0)}.brand small,.icon-button span{display:none}.top-actions{gap:6px}.demo-chip{padding:5px 8px}.main-content{padding-top:12px;padding-bottom:32px;align-items:start}.hero-layout{min-height:auto;grid-template-columns:1fr;gap:0}.difficulty-picker>div{grid-template-columns:minmax(0,1fr)}.hero-copy{z-index:2;padding:34px 18px 10px;border-left:0;background:linear-gradient(180deg,rgba(7,17,36,.5),transparent);text-align:center}.game-title{font-size:clamp(48px,15vw,68px)}.hero-tagline{font-size:24px}.hero-copy .lead{margin-left:auto;margin-right:auto}.feature-row{justify-content:center}.hero-character{min-height:390px;margin-top:-18px}.yue-hero{width:min(94%,430px)}.moon-fragment{top:0;right:7%;font-size:76px}.story-layout{grid-template-columns:1fr;gap:8px}.story-panel{padding:20px;border-radius:14px 34px}.story-art{min-height:250px}.yue-prologue{width:min(80%,330px)}.scene-heading{margin-bottom:10px;padding:10px 12px}.scene-heading h1{font-size:20px}.act1-board{min-height:350px;padding:16px 8px 8px;border-radius:14px 28px}.sign-card{grid-template-columns:1fr;padding:9px 14px;font-size:12px}.lantern-rope{top:165px}.lantern-row{min-height:168px;padding-top:16px}.lantern{width:58px}.lantern:nth-child(2n){margin-top:17px}.lantern-top{width:34px}.lantern-body{height:70px;font-size:22px}.lantern small{font-size:10px}.workbench{min-height:450px;padding:14px 8px 12px}.recipe-slip{width:82%;padding-right:54px}.mould-area{width:94%;grid-template-columns:1fr auto}.mould-area>span{grid-column:1 / -1}.mould-grid{gap:3px}.mould-slot{min-width:20px}.ingredient-grid{grid-template-columns:repeat(2,1fr);gap:7px}.ingredient-dish{padding:6px}.food-visual{height:36px}.yue-workshop{width:110px;right:-18px;top:35px}.projection-card{padding:13px 14px}.projection-card>div{display:grid}.moon-gate-stage{min-height:210px}.window-row{min-height:178px;gap:8px;padding-right:54px}.moon-window{min-width:76px;min-height:120px}.window-lamp{width:29px;height:48px}.yue-gate{width:105px;right:-18px}.ending-layout{grid-template-columns:1fr;gap:12px}.ending-visual{min-height:260px}.yue-ending{width:min(82%,340px)}.reunion-medal{right:9%;width:72px;height:72px;font-size:34px}.ending-copy{padding:22px 18px}.gift-envelope,.moon-gift-card{min-height:260px;width:min(100%,360px);justify-self:center}.demo-notice{grid-column:1}.ending-layout>.text-button{grid-column:1}}@media(max-width:390px){.game-title{font-size:45px}.hero-character{min-height:340px}.feature-row span{font-size:12px}.lantern{width:52px}.lantern-body{height:64px}.lantern small{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moon-window{min-width:68px}.window-row{padding-right:46px}.recipe-slip{width:90%}}@media(prefers-reduced-motion:reduce){.yue-hero,.yue-prologue,.yue-ending{animation:none}.scene-backdrop{transform:none}}.scene-backdrop{will-change:transform;animation:backdrop-river-breathe 14s ease-in-out infinite alternate}.scene-act2 .scene-backdrop{animation-name:backdrop-workshop-breathe}.scene-act3 .scene-backdrop,.scene-ending .scene-backdrop{animation-name:backdrop-gate-breathe}.scene-atmosphere{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.scene-atmosphere>span{position:absolute;display:block}.atmosphere-halo{top:5%;right:19%;width:min(23vw,330px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,236,178,.18),rgba(233,190,114,.055) 44%,transparent 70%);filter:blur(8px);animation:atmosphere-halo-breathe 6s ease-in-out infinite}.atmosphere-mist{left:-12%;right:-12%;bottom:-7%;height:34%;opacity:.3;background:radial-gradient(ellipse at 25% 60%,rgba(179,195,220,.18),transparent 38%),radial-gradient(ellipse at 75% 45%,rgba(214,206,239,.16),transparent 42%);filter:blur(25px);animation:atmosphere-mist-drift 12s ease-in-out infinite alternate}.atmosphere-water{left:3%;bottom:3%;width:56%;height:39%;opacity:.42;background:repeating-linear-gradient(176deg,transparent 0 13px,rgba(237,198,111,.08) 14px 16px,transparent 17px 27px);clip-path:polygon(0 18%,100% 2%,91% 90%,8% 100%);filter:blur(1px);animation:atmosphere-water-shimmer 5.6s ease-in-out infinite alternate}.scene-act2 .atmosphere-water,.scene-act3 .atmosphere-water,.scene-ending .atmosphere-water{display:none}.scene-act2 .atmosphere-halo{top:3%;right:23%;opacity:.65}.scene-act3 .atmosphere-halo,.scene-ending .atmosphere-halo{top:-2%;right:auto;left:15%;opacity:.48}.scene-act2 .atmosphere-mist{opacity:.18;background:radial-gradient(ellipse,rgba(238,197,118,.15),transparent 64%)}.scene-act3 .atmosphere-mist,.scene-ending .atmosphere-mist{opacity:.58}.yue-motion{position:relative;display:block;overflow:hidden;pointer-events:none;transform-origin:50% 82%}.yue-motion-frames{position:absolute;inset:0;display:block;background-repeat:no-repeat;background-size:200% 200%}.motion-lantern{aspect-ratio:656 / 600}.motion-guide{aspect-ratio:617 / 638}.motion-lantern .yue-motion-frames{animation:yue-lantern-frames 3.2s steps(1,end) infinite}.motion-guide .yue-motion-frames{animation:yue-guide-frames 3.8s steps(1,end) infinite}.yue-act1{width:118px;position:absolute;right:4px;bottom:2px;z-index:4;filter:drop-shadow(0 11px 16px rgba(2,8,20,.38))}@keyframes backdrop-river-breathe{0%{transform:scale(1.025) translate3d(-.35%,0,0)}to{transform:scale(1.045) translate3d(.45%,-.25%,0)}}@keyframes backdrop-workshop-breathe{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.038) translate3d(-.3%,-.2%,0)}}@keyframes backdrop-gate-breathe{0%{transform:scale(1.018) translateZ(0)}to{transform:scale(1.035) translate3d(.2%,-.3%,0)}}@keyframes atmosphere-halo-breathe{50%{opacity:.62;transform:scale(1.08)}}@keyframes atmosphere-mist-drift{0%{transform:translate3d(-1.5%,0,0) scale(1)}to{transform:translate3d(1.5%,-2%,0) scale(1.04)}}@keyframes atmosphere-water-shimmer{0%{transform:translate3d(-.8%,0,0) scaleY(.98);opacity:.3}to{transform:translate3d(.8%,-1%,0) scaleY(1.04);opacity:.5}}@keyframes yue-lantern-frames{0%,23%{background-position:0 0}24%,47%{background-position:100% 0}48%,71%{background-position:0 100%}72%,to{background-position:100% 100%}}@keyframes yue-guide-frames{0%,19%{background-position:0 0}20%,39%{background-position:100% 0}40%,59%{background-position:0 100%}60%,79%{background-position:100% 100%}80%,to{background-position:0 0}}@media(max-width:820px){.atmosphere-halo{right:8%;width:min(42vw,260px)}.atmosphere-water{width:74%;opacity:.28}.yue-act1{width:82px;right:-5px;bottom:4px}.active-clue{padding-right:62px}}@media(prefers-reduced-motion:reduce){.scene-backdrop,.scene-atmosphere>span,.yue-motion-frames{animation:none!important}.scene-backdrop{transform:none}.motion-lantern .yue-motion-frames,.motion-guide .yue-motion-frames{background-position:0 0}}
