:root{--paper:#fffdf7;--ink:#31384c;--muted:#747b8f;--orange:#f47d58;--purple:#8a78c9;--yellow:#ffe28d;--green:#b7d9ba;--line:#dcdedb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:5px}a{color:inherit;text-decoration:none}.site-header{max-width:1210px;margin:auto;padding:25px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:1px}.logo-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--yellow);border:2px solid var(--ink);border-radius:11px;transform:rotate(-8deg);box-shadow:2px 3px 0 var(--ink);font-size:22px}.logo small{font:9px monospace;letter-spacing:2px;display:block;color:#9b96ab;margin-top:2px}.header-links{display:flex;align-items:center;gap:25px;font-size:12px;color:#797e8b}.header-pill{border:1px solid #dfdbe9;border-radius:20px;padding:7px 13px;background:#f5f1fc;color:#8e80b2;font-size:10px}.privacy-ribbon{max-width:1138px;margin:0 auto;background:#f2f5ec;border:1px solid #dce5d3;border-radius:9px;padding:10px 15px;display:flex;align-items:center;gap:12px;color:#6c7d5c;font-size:11px}.privacy-ribbon b{white-space:nowrap;font-size:11px;color:#496143}.privacy-ribbon p{margin:0;flex:1}.privacy-button{border:0;background:none;color:#64764f;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:11px}.hero{max-width:1210px;padding:55px 36px 30px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.eyebrow{font:10px monospace;letter-spacing:3px;color:#9a91a6;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:20px;height:1px;background:#aaa0b8}h1{font-size:52px;line-height:1.3;letter-spacing:-1.5px;margin:20px 0 18px;font-weight:800}h1 em{font-style:normal;position:relative;z-index:0;display:inline-block}h1 em:after{content:'';position:absolute;height:16px;left:-4px;right:-8px;bottom:5px;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.hero-copy>p{font-size:13px;line-height:2;color:#8b8c9a;margin:0;max-width:360px}.hero-actions{display:flex;align-items:center;gap:17px;margin:27px 0 21px}.primary-button{border:2px solid var(--ink);background:var(--orange);color:white;font-weight:600;letter-spacing:1px;border-radius:8px;padding:12px 20px;box-shadow:3px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translate(-1px,-2px);box-shadow:4px 6px 0 var(--ink)}.hero-actions>span{font-size:10px;color:#a5a0b1}.tiny-note{display:flex;align-items:center;gap:8px;font-size:10px;color:#a39dac}.tiny-note:before{content:'✦';color:#b7a2cc}.hero-art{position:relative;min-height:390px;display:grid;place-items:center}.illustration{width:100%;max-width:490px;filter:drop-shadow(0 15px 18px #9a7db118)}.art-label{position:absolute;font-size:10px;letter-spacing:1px;color:#847596;background:white;border:1px solid #d6cde2;border-radius:6px;padding:9px 13px;box-shadow:2px 3px 0 #e9e0ef;transform:rotate(5deg);right:3%;top:27px}.floating-star{position:absolute;color:#e3b04f;left:8%;bottom:38px;font-size:34px;transform:rotate(14deg)}.caption{position:absolute;right:5%;bottom:13px;font:9px monospace;letter-spacing:2px;color:#b3a7ba}.content{max-width:1210px;margin:auto;padding:8px 36px 30px}.section-title{display:flex;align-items:baseline;gap:13px;margin-bottom:19px}h2{font-size:19px;margin:0}.section-title>span{font-size:10px;letter-spacing:1px;color:#a6a0ad}.world-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.world-card{border:1px solid #e2dfdf;background:white;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;padding:0;color:inherit}.world-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #756d8514}.world-scene{height:140px;position:relative;overflow:hidden;display:grid;place-items:center}.world-scene svg{width:100%;height:100%}.world-card:nth-child(1) .world-scene{background:#e5e2f4}.world-card:nth-child(2) .world-scene{background:#e4eee9}.world-card:nth-child(3) .world-scene{background:#f9e8dc}.chapter{position:absolute;left:14px;top:13px;font:9px monospace;letter-spacing:1px;background:#ffffffaa;border:1px solid #ffffff;border-radius:3px;padding:4px 6px;color:#92879a}.world-card-content{padding:17px 18px 19px}.world-card h3{font-size:14px;margin:0 0 7px;display:flex;justify-content:space-between}.world-card h3>span{color:#b1a6be}.world-card p{font-size:11px;color:#9b98a4;line-height:1.8;margin:0}.story-panel{background:#f3effa;border:1px solid #e2dced;border-radius:11px;padding:20px 24px;display:flex;gap:19px;align-items:center;margin:24px 0}.story-icon{font-size:29px;color:#9b8aba}.story-text{flex:1}.story-text strong{font-size:13px;font-weight:600}.story-text p{font-size:12px;line-height:1.8;color:#9386a6;margin:6px 0 0}.story-panel>span{font:9px monospace;letter-spacing:1px;color:#b4a9c0;white-space:nowrap}.observatory-status{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;border-top:1px dashed #dcd6e2;padding:20px 0 0;margin-top:30px}.status-box{font-size:10px;color:#a59eae;line-height:1.8}.status-title{display:flex;gap:8px;align-items:center;color:#8e839d;margin-bottom:5px}.status-dot{width:5px;height:5px;background:#8daf83;border-radius:50%}.status-title strong{font-size:11px;font-weight:500}.status-box p{margin:4px 0;overflow-wrap:anywhere}.status-box #backend-detail{max-width:540px}.footer{max-width:1210px;margin:auto;padding:23px 36px 35px;display:flex;justify-content:space-between;color:#aaa3b2;font-size:9px;gap:20px}.footer b{font-weight:500;color:#8c819c}.footer>span:last-child{letter-spacing:1px}dialog{width:min(610px,calc(100% - 32px));border:1px solid #d4cbdf;border-radius:14px;padding:26px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #30254833;max-height:85vh}dialog::backdrop{background:#34244066;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.close-dialog{width:28px;height:28px;border:0;background:#eee8f6;border-radius:50%;font-size:20px;color:#9584ad}dialog p{font-size:12px;color:#8a8197;line-height:1.9}dialog h3{font-size:13px;margin:20px 0 6px}dialog a{text-decoration:underline}dialog .badge{padding:3px 7px;background:#eee7f7;border-radius:4px;font-size:10px;color:#9a89b1}.fortune-card{text-align:center;padding:20px 15px 25px}.fortune-star{font-size:42px;color:#dcb554}.fortune-card h3{font-size:23px;color:#8b79ac}.fortune-card p{max-width:380px;margin:15px auto}.fortune-card small{color:#bbb0c5;font-size:10px}.heart-float{position:fixed;pointer-events:none;z-index:50;color:#b59dd0;font-size:20px;animation:float-away 1.1s ease-out forwards}@keyframes float-away{to{transform:translateY(-75px) rotate(20deg);opacity:0}}[hidden]{display:none!important}@media(max-width:950px){h1{font-size:41px}.hero{gap:15px}.hero-art{min-height:330px}.privacy-ribbon{margin:0 36px}.art-label{font-size:8px}.world-grid{gap:14px}}@media(max-width:700px){.site-header{padding:21px 22px}.logo{font-size:17px}.header-links>a{display:none}.header-pill{font-size:9px}.privacy-ribbon{margin:0 22px;font-size:10px;align-items:flex-start;gap:8px;flex-wrap:wrap}.privacy-ribbon b{font-size:10px}.privacy-ribbon p{flex-basis:75%}.privacy-button{margin-left:auto;font-size:10px}.hero{grid-template-columns:1fr;padding:32px 22px 16px;gap:5px}.hero-copy>p{max-width:100%;font-size:12px}.hero-art{min-height:300px;max-width:470px;width:100%;margin:auto}.hero-art .illustration{max-height:340px}.hero h1{font-size:41px;margin-top:16px}.hero-actions{margin-top:23px}.content{padding:10px 22px 25px}.world-grid{grid-template-columns:1fr}.world-card{display:grid;grid-template-columns:135px 1fr}.world-scene{height:140px}.world-card-content{padding:19px 15px}.world-card h3{font-size:13px}.world-card p{font-size:10px}.chapter{font-size:7px;left:9px;top:10px}.section-title{margin-bottom:15px}.story-panel{padding:17px;gap:13px}.story-panel>span{display:none}.story-text p{font-size:11px}.observatory-status{grid-template-columns:1fr;gap:13px}.footer{padding:10px 22px 28px;flex-direction:column;gap:8px}.caption{font-size:8px}.art-label{top:15px}.floating-star{bottom:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){.section-title{flex-wrap:wrap;gap:5px}.section-title h2{white-space:nowrap}.section-title>span{flex-basis:100%;font-size:9px}}
.footer{flex-wrap:wrap}.footer-registration{width:100%;text-align:center;color:#858090;font-size:11px;letter-spacing:.2px}.footer-registration a:hover{text-decoration:underline;text-underline-offset:3px}
.passport{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:26px 28px;border:1px solid #e5d9bc;border-radius:14px;background:linear-gradient(110deg,#fff7df,#faf4ff);box-shadow:0 4px 0 #eee6d5}.passport>div:first-child{flex:1;min-width:230px}.passport h2{font-size:21px;margin:9px 0 5px}.passport p{color:#696378;font-size:12px;margin:0}.passport .eyebrow{color:#82724d;font-size:9px}.stamp-list{display:flex;gap:8px;flex-wrap:wrap}.passport-stamp{display:grid;place-items:center;width:72px;height:72px;border:1px dashed #bfb4c5;border-radius:50%;font-size:10px;color:#81778d;transform:rotate(-7deg);background:#ffffff70}.passport-stamp:nth-child(2){transform:rotate(5deg)}.passport-stamp.earned{border:2px solid #8570b1;color:#69528f;background:#ede5f8;box-shadow:inset 0 0 0 4px #fff8}.passport-stamp.earned:nth-child(2){background:#e1eee3;border-color:#70917b;color:#466a52}.passport-stamp.earned:nth-child(3){background:#ffecd6;border-color:#bd8257;color:#875736}#play-storage-note{display:block;margin:10px 5px 0;font-size:10px;color:#807887}.play-button,.ingredient{padding:11px 17px;min-height:44px;border:1px solid #d2c6e2;border-radius:10px;background:#f3ecfb;color:#584271;font-weight:600;transition:background .15s,transform .15s}.play-button:hover,.ingredient:hover{background:#e7dcf6;transform:translateY(-1px)}.play-button:disabled,.ingredient:disabled{cursor:default;opacity:.6;transform:none}.text-button{min-height:44px;border:0;background:none;color:#70617e;text-decoration:underline;text-underline-offset:4px;padding:10px}.play-tag{display:block;margin-top:12px;font-size:10px;color:#76648c;font-weight:600}.world-card p{color:#756e80}.adventure-dialog{width:min(680px,calc(100% - 28px));padding:26px 30px;overscroll-behavior:contain}.close-dialog{min-width:44px;min-height:44px;flex-shrink:0}.game-scene{text-align:center;padding:22px 20px;background:linear-gradient(140deg,#f4eefb,#fff4df);border:1px solid #e9dfed;border-radius:13px}.game-symbol{font-size:45px;line-height:1.4;margin-bottom:7px}.game-kicker{font:11px/1.8 "Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:1.5px;color:#79628f}.adventure-dialog p{font-size:14px;color:#625970;line-height:1.9}.game-scene p{max-width:490px;margin:13px auto 0}.choice-list{display:grid;gap:10px;margin:20px 0 8px}.choice-list .play-button{text-align:left;background:#fff;border-color:#ded6e7;padding:15px 18px}.choice-list .play-button:hover{background:#f2eafa}.adventure-dialog .game-note{font-size:12px;color:#817789}.game-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.adventure-dialog .ending-title{font-size:23px;text-align:center;margin:22px 0;color:#70548c}.adventure-dialog .game-award{background:#eaf3e8;color:#46653f;border:1px solid #cbdec5;padding:12px 15px;border-radius:9px;font-size:13px}.game-stats{display:inline-block;font-variant-numeric:tabular-nums;margin:18px 0 12px}.game-timer{float:right;font-size:13px;color:#77698a;margin-top:22px;font-variant-numeric:tabular-nums}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.memory-card{display:grid;place-items:center;min-height:84px;border:1px solid #cdc0e0;border-radius:11px;background:repeating-linear-gradient(45deg,#eee6f6,#eee6f6 8px,#f3edf9 8px,#f3edf9 16px);font-size:28px;color:#9d84b6;box-shadow:0 3px 0 #d8cce3;transition:transform .15s,background .15s}.memory-card:hover:not(:disabled){transform:translateY(-2px);border-color:#9e85b8}.memory-card.flipped{background:#fff8e4;border-color:#e2cb99}.memory-card.matched{background:#e6f2e7;border-color:#accdb1;box-shadow:0 2px 0 #c6dfc9;opacity:.85;cursor:default}.drink-preview{display:flex;align-items:center;justify-content:center;gap:34px;padding:12px 10px 20px}.drink-cup{position:relative;display:grid;place-items:center;flex-shrink:0;width:77px;height:80px;background:#f4ebdf;border:3px solid #9b7f6f;border-top:7px solid #e2cbbc;border-radius:5px 5px 25px 25px;font-size:29px;color:#fffdf3;box-shadow:0 6px 0 #e8ded255;transition:background .2s}.drink-cup:after{content:'';position:absolute;right:-24px;top:10px;width:19px;height:33px;border:4px solid #9b7f6f;border-left:0;border-radius:0 18px 18px 0}.drink-preview p{max-width:280px;font-size:12px}.ingredient-group{margin:10px 0;padding:10px 13px 13px;border:1px solid #e0d7e8;border-radius:10px;display:flex;gap:8px;flex-wrap:wrap}.ingredient-group legend{padding:0 7px;font-size:12px;color:#766780}.ingredient{flex:1;padding:9px 10px;background:#fff;font-size:13px;white-space:nowrap}.ingredient[aria-pressed=true]{background:#e6daf5;border:2px solid #a38abc;padding:8px 9px;color:#493260}.adventure-dialog .order-feedback{font-size:12px;min-height:24px}.ending-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.ending-entry{padding:15px 12px;border:1px dashed #d7ccdf;background:#f7f3fa;border-radius:9px;color:#92869d;font-size:12px}.ending-entry.unlocked{border-style:solid;color:#6c5288;background:#f0e7fa}.cat-companion{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;border:1px solid #e1d3e9;border-radius:30px;padding:9px 16px;min-height:44px;color:#806690;background:#fffdf7ef;font-size:11px;box-shadow:0 3px 10px #70538c10}.cat-companion:hover{background:#f2e9fc}.hero-art{position:relative;padding-bottom:40px}
@media(max-width:700px){.passport{padding:22px 18px;gap:18px}.passport>div:first-child{flex-basis:100%;min-width:0}.passport h2{font-size:19px}.stamp-list{gap:9px}.passport-stamp{width:65px;height:65px;font-size:9px}.passport>.play-button{width:100%}.adventure-dialog{padding:18px 16px;max-height:90dvh}.dialog-heading{margin-bottom:12px}.game-scene{padding:15px 12px}.game-symbol{font-size:35px}.adventure-dialog p{font-size:13px}.game-kicker{font-size:10px}.memory-board{gap:8px}.memory-card{min-height:66px;font-size:25px}.game-timer{margin-top:21px;font-size:12px}.ingredient-group{gap:6px;padding:9px}.ingredient{font-size:12px;padding:9px 6px}.ingredient[aria-pressed=true]{padding:8px 5px}.ending-grid{grid-template-columns:1fr}.game-actions .play-button{flex:1;min-width:130px}.cat-companion{bottom:0}.passport .eyebrow{letter-spacing:2px}}
