:root{--bg-top:#fff9ef;--bg-bottom:#e3f4ff;--panel:#fff;--panel-border:#ffe3c2;--text:#4b4237;--text-soft:#8a7d66;--accent:#ff9f43;--accent-deep:#f3862c;--blue:#54a0ff;--green:#2ecc71;--red:#ff6b81;--shadow:0 6px 18px #ff9f4329}*{box-sizing:border-box}html,body{background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom)) fixed;color:var(--text);-webkit-tap-highlight-color:transparent;min-height:100%;margin:0;padding:0;font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}#app{z-index:1;flex-direction:column;max-width:760px;min-height:100vh;margin:0 auto;padding:0 16px 24px;display:flex;position:relative}.bg-deco{z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.deco{opacity:.55;filter:drop-shadow(0 4px 10px #7896c840);position:absolute}.d-cloud1{font-size:64px;animation:50s ease-in-out infinite alternate driftX;top:9%;left:3%}.d-cloud2{font-size:46px;animation:42s ease-in-out infinite alternate-reverse driftX;top:16%;right:5%}.d-star1{font-size:26px;animation:2.6s ease-in-out infinite twinkle;top:62%;left:10%}.d-star2{font-size:20px;animation:3.2s ease-in-out .8s infinite twinkle;top:55%;right:12%}.d-star3{font-size:18px;animation:2.2s ease-in-out .4s infinite twinkle;top:88%;right:30%}.d-balloon{font-size:34px;animation:7s ease-in-out infinite floatBalloon;top:76%;left:7%}.d-rainbow{font-size:30px;animation:5s ease-in-out infinite sway;top:78%;right:6%}@keyframes driftX{0%{transform:translate(0)}to{transform:translate(46px)}}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1.12)}}@keyframes floatBalloon{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-16px)rotate(5deg)}}@keyframes sway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.topbar{justify-content:space-between;align-items:center;padding:14px 4px 10px;display:flex}.brand{color:var(--text);letter-spacing:1px;font-size:20px;font-weight:800;text-decoration:none}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow);border-radius:12px;font-size:17px}.icon-btn:active{transform:scale(.94)}.home-link{color:var(--accent-deep);background:var(--panel);border:2px solid var(--accent);border-radius:999px;align-items:center;gap:4px;padding:9px 16px;font-size:15px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 4px 12px #ff9f434d}.home-link:hover{background:#fff3e0;transform:translateY(-2px)scale(1.04);box-shadow:0 6px 16px #ff9f4373}.home-link:active{transform:scale(.96)}.view{animation:.35s cubic-bezier(.22,1,.36,1) both riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hero{text-align:center;margin:8px 0 14px}.fox{font-size:58px;line-height:1;animation:2.4s ease-in-out infinite foxBounce}@keyframes foxBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero h1{letter-spacing:3px;margin:10px 0 6px;font-size:36px;font-weight:900}.hero h1 span{animation:1.8s ease-in-out infinite letterBounce;display:inline-block}.hero h1 span:first-child{color:#ff6b81;animation-delay:0s}.hero h1 span:nth-child(2){color:#ffa502;animation-delay:.15s}.hero h1 span:nth-child(3){color:#2ed573;animation-delay:.3s}.hero h1 span:nth-child(4){color:#54a0ff;animation-delay:.45s}@keyframes letterBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-7px)}}.tagline{color:var(--text-soft);margin:0;font-size:15px}.fox-say{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);box-shadow:var(--shadow);border-radius:16px;margin:10px auto 0;padding:8px 16px;font-size:14px;display:inline-block;position:relative}.fox-say:before{content:"";background:var(--panel);border-left:1px solid var(--panel-border);border-top:1px solid var(--panel-border);border-top-left-radius:3px;width:14px;height:14px;margin-left:-7px;position:absolute;top:-7px;left:50%;transform:rotate(45deg)}.summary-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 18px;display:flex}.sum-chip{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:999px;padding:8px 16px;font-size:14px}.sum-chip:first-child{background:#fff8e1;border-color:#ffe082}.sum-chip:nth-child(2){background:#fff0f0;border-color:#ffb3b3}.sum-chip:nth-child(3){background:#eef6ff;border-color:#b3d9ff}.sum-chip b{font-size:16px}.section-title{letter-spacing:.5px;margin:18px 0 10px;font-size:17px;font-weight:800}.size-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.size-card{background:var(--panel);border:2px solid var(--panel-border);cursor:pointer;color:var(--text);border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;font-family:inherit;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.size-card:first-child{--card:#ffd166;--card-soft:#fff6dd}.size-card:nth-child(2){--card:#7bdc8b;--card-soft:#e9f9ee}.size-card:nth-child(3){--card:#6fc3ff;--card-soft:#e8f5ff}.size-card:nth-child(4){--card:#c39bff;--card-soft:#f3ecff}.size-card:hover{background:var(--card-soft,var(--panel));transform:translateY(-3px)}.size-card:hover .sc-icon{animation:.45s ease-in-out wiggle}.size-card.active{border-color:var(--card,var(--accent));background:var(--card-soft,#fff7ec);box-shadow:0 8px 22px #ff9f4340}.size-card.active:after{content:"✓";background:var(--card,var(--accent));color:#fff;border-radius:50%;width:26px;height:26px;font-size:15px;font-weight:900;line-height:26px;animation:.3s cubic-bezier(.34,1.56,.64,1) both popIn;position:absolute;top:-9px;right:-5px;box-shadow:0 3px 8px #3c2a1440}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)scale(1.15)}60%{transform:rotate(8deg)scale(1.1)}}.sc-icon{font-size:30px;line-height:1}.sc-name{font-size:15px;font-weight:800}.sc-desc{color:var(--text-soft);font-size:12px}.menu-options{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.seg{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;gap:3px;padding:3px;display:inline-flex}.seg-btn{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700}.seg-btn.active{background:linear-gradient(100deg, var(--accent), #ffb763);color:#fff;box-shadow:0 4px 10px #ff9f4366}.seg-btn:disabled{opacity:.4;cursor:not-allowed}.option-btn{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);cursor:pointer;border-radius:12px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:700}.option-btn:active{transform:scale(.96)}.start-btn{letter-spacing:2px;color:#fff;background:linear-gradient(100deg, var(--accent), var(--red) 90%);cursor:pointer;border:none;border-radius:999px;width:100%;max-width:420px;margin:22px auto 8px;padding:17px 20px;font-family:inherit;font-size:20px;font-weight:900;transition:transform .15s,box-shadow .15s;display:block;position:relative;overflow:hidden;box-shadow:0 10px 26px #ff8c4273}.start-btn:after{content:"";background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:45%;height:100%;animation:2.8s ease-in-out infinite shine;position:absolute;top:0;left:-70%;transform:skew(-20deg)}@keyframes shine{0%,55%{left:-70%}to{left:135%}}.start-btn:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 14px 32px #ff8c428c}.start-btn:active{transform:scale(.98)}.growth-link{color:var(--blue);cursor:pointer;background:0 0;border:none;margin:0 auto;padding:10px;font-family:inherit;font-size:15px;font-weight:700;display:block}.growth-link:hover{text-decoration:underline}.about-note{max-width:480px;color:var(--text-soft);text-align:center;margin:18px auto 0;font-size:12px;line-height:1.8}.hud{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:6px 0 12px;display:flex}.hud-btn{background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border-radius:12px;font-size:17px}.hud-btn:active{transform:scale(.94)}.hud-mode-btn{width:auto;min-width:52px;color:var(--accent-deep);padding:0 14px;font-size:15px;font-weight:800}.hud-mode-btn[hidden]{display:none}.hud-btn.on{border-color:var(--accent);background:#fff3e0}.hud-stat{background:var(--panel);border:1px solid var(--panel-border);color:var(--text-soft);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;font-size:14px}.hud-stat b{color:var(--text);text-align:center;min-width:40px;font-size:16px;display:inline-block}.board-wrap{justify-content:center;padding:4px;display:flex}#grid-canvas{-webkit-user-select:none;user-select:none;background:#ffffff8c;border-radius:20px;box-shadow:0 10px 30px #7896c82e}.growth-back{background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;color:var(--text);box-shadow:var(--shadow);border-radius:12px;margin:6px 0 4px;padding:10px 16px;font-family:inherit;font-size:15px;font-weight:700}.growth-hero{flex-wrap:wrap;gap:10px;margin:10px 0 4px;display:flex}.gh-chip{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:14px;padding:10px 14px;font-size:13px}.gh-chip b{font-size:16px}.best-table{border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--panel-border);width:100%;box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.best-table th,.best-table td{text-align:center;padding:11px 12px;font-size:14px}.best-table th{color:var(--text-soft);background:#fff3e0;font-size:13px}.best-table tr+tr td{border-top:1px dashed #f0e4d0}.bt-size{font-weight:800}.badge-wall{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.badge{background:var(--panel);border:1px solid var(--panel-border);text-align:center;opacity:.45;filter:grayscale(.9);border-radius:16px;padding:12px 8px}.badge.earned{opacity:1;filter:none;box-shadow:var(--shadow);background:#fffaf0;border-color:#ffd591}.badge-icon{font-size:26px}.badge-name{margin-top:4px;font-size:13px;font-weight:800}.badge-desc{color:var(--text-soft);margin-top:2px;font-size:11px}.record-list{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.record-list li{justify-content:space-between;align-items:center;gap:6px;padding:10px 14px;font-size:13px;display:flex}.record-list li+li{border-top:1px dashed #f0e4d0}.record-list li.empty{color:var(--text-soft);justify-content:center;padding:18px}.r-date{color:var(--text-soft)}.r-mode{font-weight:700}.r-star{letter-spacing:1px}.r-err{color:var(--text-soft);font-size:12px}.modal-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#4a3c2a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-mask[hidden]{display:none}.modal{background:var(--panel);text-align:center;border-radius:26px;width:100%;max-width:380px;padding:28px 24px;animation:.35s cubic-bezier(.34,1.56,.64,1) both popIn;box-shadow:0 24px 60px #3c2a1459}.modal:before{content:"";background:linear-gradient(90deg,#ff6b81,#ffa502,#ffd166,#2ed573,#54a0ff,#a29bfe);border-radius:26px 26px 0 0;height:10px;margin:-28px -24px 18px;display:block}@keyframes popIn{0%{opacity:0;transform:scale(.8)translateY(14px)}to{opacity:1;transform:none}}.result-fox{font-size:46px;line-height:1;animation:2s ease-in-out infinite foxBounce}.result-stars{letter-spacing:6px;margin:10px 0 4px;font-size:44px}.star{filter:grayscale();opacity:.4;display:inline-block}.star.on{filter:drop-shadow(0 2px 6px #ffc145a6);opacity:1;animation:.5s cubic-bezier(.34,1.56,.64,1) both starPop}@keyframes starPop{0%{transform:scale(0)rotate(-30deg)}to{transform:scale(1)rotate(0)}}.result-praise{margin:4px 0 6px;font-size:18px;font-weight:800}.result-detail{color:var(--text-soft);margin-bottom:10px;font-size:14px}.result-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:6px;display:flex}.badge-chip.new{background:linear-gradient(100deg,#fff3e0,#ffe9f0);border:1px solid #ffd591;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) both popIn}.modal-btns{flex-direction:column;gap:10px;margin-top:14px;display:flex}.primary-btn{color:#fff;background:linear-gradient(100deg, var(--accent), var(--red) 90%);cursor:pointer;border:none;border-radius:999px;padding:14px 18px;font-family:inherit;font-size:17px;font-weight:800;box-shadow:0 8px 20px #ff8c4273}.primary-btn:active{transform:scale(.97)}.action-btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:#fdf8f0;border-radius:999px;padding:12px 18px;font-family:inherit;font-size:15px;font-weight:700}.footer{text-align:center;color:var(--text-soft);padding:26px 10px 10px;font-size:12px;line-height:1.9}@media (max-width:480px){.hero h1{font-size:28px}.fox{font-size:48px}.size-grid{grid-template-columns:repeat(2,1fr)}.hud{gap:6px}.hud-stat{padding:8px 10px;font-size:13px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
