@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=ZCOOL+XiaoWei&display=swap";:root{color:#45314f;font-synthesis:none;background:#211637;font-family:Noto Serif SC,serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app{isolation:isolate;background:linear-gradient(135deg,#231541f5,#4f2d65e0);min-height:100vh;padding:24px 4vw 18px;position:relative;overflow:hidden}.backdrop{z-index:-2;filter:blur(8px)saturate(.75);opacity:.3;background:url(/assets/concept.png) 50%/cover;position:absolute;inset:0;transform:scale(1.04)}.app:after{content:"";z-index:-1;background:radial-gradient(circle at 50% 30%,#0000,#1f1435 85%);position:absolute;inset:0}header{color:#fff;justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:2px;text-shadow:0 2px 18px #e9c5ff;font-family:ZCOOL XiaoWei,serif;font-size:34px}.brand span{color:#ffe6a5;font-size:42px}.wallet{gap:12px;display:flex}.wallet span,.reward b{align-items:center;gap:7px;display:flex}.wallet span{color:#6b4773;background:#fff9ed;border:1px solid #e8ca9c;border-radius:22px;min-width:112px;padding:10px 18px;font-weight:700;box-shadow:0 6px 20px #1b102a66}.wallet svg{color:#d59527;fill:#f8ca50;width:21px}nav{background:#2a1b43aa;border:1px solid #9f82b777;border-radius:18px;gap:8px;width:max-content;margin:8px auto 16px;padding:6px;display:flex}nav button{color:#d6c7e2;cursor:pointer;background:0 0;border:0;border-radius:13px;align-items:center;gap:8px;padding:9px 22px;display:flex}nav button.active{color:#fff;background:linear-gradient(#d49bc2,#a65f9c);box-shadow:inset 0 1px #fff8,0 4px 12px #10071f}nav svg{width:18px}.stage{grid-template-columns:minmax(290px,340px) minmax(280px,1fr) minmax(300px,380px);gap:22px;max-width:1460px;height:calc(100vh - 190px);min-height:520px;margin:auto;display:grid}.panel{background:linear-gradient(155deg,#fffaf4f2,#efe3edf0);border:1px solid #f7d9b5;border-radius:26px;padding:20px;box-shadow:0 18px 50px #12091f77,inset 0 0 0 5px #fff5}.panel-title{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.panel-title span{font-size:22px;font-weight:700}.panel-title small{color:#8f7793}.dress-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dress-card{cursor:pointer;color:#604d66;background:#f8f0f6;border:1px solid #d8c3d9;border-radius:16px;flex-direction:column;justify-content:end;align-items:center;height:142px;padding:0 8px 10px;display:flex;position:relative;overflow:hidden}.dress-card:hover{transform:translateY(-2px)}.dress-card.selected{border:2px solid #bb6daa;box-shadow:0 0 0 3px #e9c9e2}.dress-art{mix-blend-mode:multiply;background:url(/assets/sprites.png) 21% 11%/525% no-repeat;position:absolute;inset:4px 17px 36px}.dress-card b{z-index:2;font-size:13px}.dress-card small{z-index:2;color:#a06949;align-items:center;gap:3px;height:18px;display:flex}.dress-card small svg{fill:#e8b33e;width:13px;height:13px}.princess{color:#fff;text-align:center;flex-direction:column;justify-content:end;align-items:center;min-width:0;display:flex;position:relative}.portrait{filter:drop-shadow(0 22px 18px #120a2277);border-radius:200px 200px 30px 30px;position:absolute;inset:0 0 72px;overflow:hidden}.portrait-img{background:url(/assets/concept.png) 49% 49%/265% no-repeat;position:absolute;inset:0}.dress-tint{mix-blend-mode:color;opacity:.32;border-radius:50% 50% 10% 10%;position:absolute;inset:45% 20% 0}.dress-blue .dress-tint{background:#5a9ed2}.dress-moon .dress-tint{background:#7551bd}.dress-ivory .dress-tint{background:#eee0c7}.dress-mint .dress-tint{background:#6dbca4}.dress-gold .dress-tint{background:#d29a36}.princess h1{z-index:2;text-shadow:0 2px 8px #2d123e;margin:0;font-family:ZCOOL XiaoWei;font-size:28px}.princess p{z-index:2;color:#ead9ef;margin:4px 0}.quest{flex-direction:column;display:flex}.quest-head{justify-content:space-between;display:flex}.quest-head small{color:#9a7e97}.quest-head h2{margin:3px 0 12px;font-size:24px}.quest-head>span{color:#49704f;background:#dff1d9;border-radius:13px;height:26px;padding:4px 11px;font-size:12px}.map-art{background:linear-gradient(#cfd8c3,#ebe0bd);border-radius:18px;flex:1;min-height:290px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #6d5f7b44}.map-art:before{content:"";opacity:.42;background:url(/assets/concept.png) 84% 41%/245% no-repeat;position:absolute;inset:0}.path{filter:drop-shadow(0 1px #9c754f);border-left:6px dotted #fff9d8;width:8px;height:72%;position:absolute;top:13%;left:48%;transform:rotate(8deg)}.node{filter:drop-shadow(0 2px 2px #6c4e4d);z-index:2;font-size:28px;position:absolute}.node span{color:#fff;background:#6d4b7e;border-radius:8px;padding:2px 7px;font-size:10px;display:block}.n1{bottom:8%;left:15%}.n2{bottom:25%;left:56%}.n3{top:42%;left:18%}.n4{top:24%;right:12%}.n5{top:5%;left:42%}.primary{color:#fff;cursor:pointer;background:linear-gradient(#c97db2,#9a4e91);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:14px;font-weight:700;display:flex;box-shadow:0 7px 16px #6f38676b}.primary svg{width:19px}.reward{justify-content:center;align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.reward span{color:#987f95}.reward b{color:#98663a}.reward svg{fill:#efbd48;width:16px;height:16px}.food-list{gap:12px;display:grid}.food-list button{text-align:left;color:#654f68;cursor:pointer;background:#fff8fb;border:1px solid #dbc8db;border-radius:15px;grid-template-columns:52px 1fr 24px;align-items:center;padding:12px;display:grid}.food-list button>span{font-size:34px}.food-list svg{color:#c98aab;width:18px}.mini-game{text-align:center}.start-card{color:#654f68;cursor:pointer;background:#fbf4f8;border:1px dashed #c397bc;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:280px;font-size:72px;display:flex}.start-card b{font-size:20px}.start-card small{font-size:12px}.hearts{text-align:left;color:#c96886;letter-spacing:4px}.mini-scene{background:linear-gradient(#d9d1e5,#f1dfc8);border-radius:20px;height:300px;padding:28px 18px}.scene-icon{font-size:78px}.scene-track{justify-content:center;gap:8px;margin:24px 0;display:flex}.scene-track i{background:#c8b8c9;border-radius:4px;width:30px;height:6px}.scene-track i.done{background:#aa6097}.mini-scene h3{margin:8px}.mini-scene p{color:#887387;font-size:13px}footer{color:#eadfed;grid-template-columns:1fr 360px 42px;align-items:center;gap:20px;max-width:1460px;height:58px;margin:10px auto 0;display:grid}footer p{margin:0}.star-goal{grid-template-columns:86px 1fr 62px;align-items:center;gap:10px;font-size:12px;display:grid}.star-goal>div{background:#ffffff26;border-radius:5px;height:8px;overflow:hidden}.star-goal i{background:linear-gradient(90deg,#e6ac4a,#fff0a0);border-radius:5px;height:100%;display:block}.star-goal b{text-align:right}footer>button{color:#fff;cursor:pointer;background:#ffffff15;border:0;border-radius:50%;width:38px;height:38px}footer svg{width:17px;margin-top:4px}@media (width<=1050px){.stage{grid-template-columns:280px 1fr}.quest{display:none}.princess{grid-column:2}.stage{height:auto;min-height:660px}footer{grid-template-columns:1fr 280px 42px}}@media (width<=720px){.app{padding:12px}.brand{font-size:24px}.wallet span{min-width:76px;padding:8px 10px}.stage{flex-direction:column;height:auto;display:flex}.princess{order:-1;height:420px}.portrait{inset:0 0 60px}.panel.left{min-height:500px}.quest{display:flex}.map-art{flex:none;height:360px}footer{grid-template-columns:1fr 38px}.star-goal{grid-area:1/1/auto/-1}footer p{font-size:12px}nav button{padding:8px 13px}}
