:root{--ink:#3f2a1c;--red:#b53622;--teal:#2d6e69;--cream:#f4d598}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#17150f;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}body{display:grid;place-items:center;overflow:hidden}.phone{position:relative;width:min(100vw,430px);height:100dvh;max-height:900px;overflow:hidden;background:#ca974d;box-shadow:0 0 70px #000}.paper-bg,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.paper-bg{opacity:.94}.shade{background:linear-gradient(#21190f10,#2d1b0d2d)}.screen{position:absolute;z-index:1;inset:0;display:none;padding:max(20px,env(safe-area-inset-top)) 23px max(18px,env(safe-area-inset-bottom))}.screen.active{display:flex}.home-screen{flex-direction:column;align-items:center}.tiny-label{padding:7px 13px;border:1px solid #442d1b99;border-radius:99px;font-size:11px;letter-spacing:1px;background:#f9dea7a6}.title-stamp{margin-top:20px;text-align:center;transform:rotate(-2deg)}.title-stamp small{font-weight:800;letter-spacing:7px}.title-stamp h1{margin:2px 0 0;color:var(--red);font:900 45px/1.05 KaiTi,serif;text-shadow:2px 3px #efc16f,4px 4px #49301e}.hero-orbit{position:relative;width:240px;height:200px;margin:12px 0 3px}.orbit{position:absolute;left:50%;top:50%;border:2px solid #2b4e478c;border-radius:50%;transform:translate(-50%,-50%) rotate(-15deg)}.orbit-a{width:230px;height:125px}.orbit-b{width:165px;height:190px;transform:translate(-50%,-50%) rotate(43deg);border-style:dashed}.hero-sun{position:absolute;left:50%;top:50%;translate:-50% -50%;width:116px;height:116px;border:4px solid #4f301d;border-radius:50%;background:#d55527;box-shadow:0 0 0 8px #eeb84f,0 10px #4a2b1847;font-size:28px;font-weight:900;color:var(--ink)}.spark{position:absolute;color:var(--red);font-size:28px;animation:blink 1.6s infinite alternate}.s1{left:4%;top:18%}.s2{right:3%;top:15%;animation-delay:.4s}.s3{right:10%;bottom:6%;animation-delay:.8s}.home-copy{margin:2px 0;font:700 16px/1.55 KaiTi,serif;text-align:center}.primary-btn{width:100%;min-height:58px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#f9dda5;background:var(--red);border:3px solid #3d271a;border-radius:5px;font-size:18px;font-weight:900;letter-spacing:2px;box-shadow:0 6px #3d271a}.primary-btn:active{translate:0 4px;box-shadow:0 2px #3d271a}.how-card{margin-top:auto;width:100%;display:grid;grid-template-columns:28px 1fr;gap:5px 8px;padding:12px 15px;border-block:1px solid #462e1b73;font-size:12px}.how-card b{color:var(--red)}button{font:inherit;cursor:pointer}.game-screen{flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;font-size:11px}.topbar .round-tag{margin-right:auto;padding:5px 9px;border:1px solid #563820;border-radius:80px;font-weight:800}.topbar b{font-size:15px}.danger b{color:#b3291f;animation:danger .5s infinite alternate}.level-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-top:16px}.level-heading small{color:#a33322;font-size:11px;font-weight:900;letter-spacing:3px}.level-heading h2{margin:2px 0 0;font:900 34px/1 KaiTi,serif}.mascot-mini{width:45px;height:45px;background:#e9b24f;border:2px solid #49301e;border-radius:50%;box-shadow:0 4px #49301e;font-weight:900;color:var(--ink)}.subtitle{margin:7px 0 10px;color:#5f412a;font-size:12px}.playfield{position:relative;height:min(56vh,445px);min-height:330px;overflow:hidden;border:3px solid #4a301d;border-radius:9px;background:#f4d08d5e;box-shadow:inset 0 0 25px #5c341a1f,0 7px #462b1940}.omen-strip{position:absolute;left:11px;top:10px;z-index:3;padding:5px 8px;background:#393022d1;color:#f3dba7;font-size:10px;border-radius:3px}.constellation{position:absolute;inset:36px 5px 18px;transform-origin:center}.motion-sway{animation:sway 3s ease-in-out infinite alternate}.motion-wobble{animation:wobble 2.2s ease-in-out infinite alternate}.star-line{position:absolute;height:2px;transform-origin:0 50%;background:#433a3829;transition:.25s}.star-line.active{background:#f8d774;box-shadow:0 0 7px #f8d774}.star-hit{position:absolute;z-index:2;width:48px;height:48px;translate:-50% -50%;display:grid;place-items:center;border:0;background:transparent;color:#796044;font-size:27px;text-shadow:0 0 3px #f9e3a7}.star-hit b{position:absolute;right:0;bottom:1px;display:none;width:17px;height:17px;border-radius:50%;background:#49301e;color:#f4d391;font:10px/17px sans-serif}.star-hit.expected{color:#f8dc75;font-size:35px;text-shadow:0 0 7px #fff1ab,0 0 15px #e35b2b;animation:pulse 1s infinite alternate}.star-hit.expected b{display:block}.star-hit.solved{color:#c73e23;text-shadow:0 0 7px #f3ad50;transform:rotate(25deg) scale(1.05)}.decoy{position:absolute;z-index:2;width:45px;height:38px;translate:-50% -50%;border:0;background:transparent;color:var(--teal);font-size:27px;animation:decoy 2.4s ease-in-out infinite alternate}.decoy i{position:absolute;width:27px;height:2px;right:28px;top:19px;rotate:-13deg;background:linear-gradient(90deg,transparent,var(--teal))}.decoy.d1{animation-delay:-.8s}.decoy.d2{animation-delay:-1.4s}.burst{position:absolute;z-index:5;translate:-50% -50%;animation:burst .42s ease-out forwards;color:#b22f20;font-size:14px;font-weight:900;pointer-events:none}.board-seal{position:absolute;right:9px;bottom:8px;color:#94302294;border:2px solid #94302280;padding:4px;font-size:8px;font-weight:900;rotate:-3deg}.progress-row{display:flex;gap:9px;align-items:center;margin-top:14px;font-size:12px}.progress-track{flex:1;height:7px;overflow:hidden;background:#402b1b38;border-radius:20px}.progress-track i{display:block;width:0;height:100%;background:var(--red);transition:width .25s}.feedback{min-height:24px;margin:8px 0 2px;text-align:center;font-size:12px}.feedback.good{color:#9e3020;font-weight:800}.feedback.bad{color:#25605d;animation:shake .25s}.score-row{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #462d1959;padding-top:10px;font-size:11px}.score-row strong{font-size:21px}.finish-screen{flex-direction:column;align-items:center;justify-content:center;text-align:center}.finish-stars{color:var(--red);font-size:19px}.finish-face{width:105px;height:105px;margin:18px 0;display:grid;place-items:center;background:#d95829;border:4px solid #49301e;border-radius:50%;box-shadow:0 0 0 8px #e9b64d,0 9px #41271540;font-size:27px;font-weight:900}.finish-screen h2{margin:0;max-width:330px;color:#a93221;font:900 34px/1.15 KaiTi,serif}.finish-screen>p{margin:14px 0 18px;font-size:13px}.receipt{width:100%;padding:10px 14px;border:2px dashed #462c1994;background:#f8da9f8c;rotate:-1deg}.receipt p{display:flex;justify-content:space-between;margin:0;padding:7px 0;border-bottom:1px dotted #4a2d1942;font-size:12px}.receipt p:last-child{border:0}.finish-screen .primary-btn{margin-top:26px}.text-btn{margin-top:18px;border:0;background:transparent;color:var(--ink);font-size:12px;text-decoration:underline}@keyframes blink{to{transform:rotate(30deg) scale(1.25);opacity:.65}}@keyframes pulse{to{transform:scale(1.25) rotate(12deg)}}@keyframes danger{to{transform:scale(1.17)}}@keyframes sway{from{transform:translateX(-4px) rotate(-2deg)}to{transform:translateX(5px) rotate(2deg)}}@keyframes wobble{from{transform:translate(-4px,3px) rotate(-3deg)}to{transform:translate(4px,-3px) rotate(3deg)}}@keyframes decoy{to{transform:translate(10px,-8px) rotate(15deg)}}@keyframes burst{to{opacity:0;transform:translateY(-35px) scale(1.5)}}@keyframes shake{30%{translate:-5px}70%{translate:5px}}@media(min-width:431px){body{padding:16px}.phone{height:min(920px,calc(100dvh - 32px));border-radius:24px;border:5px solid #292017}}
