@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-latin-500-normal-EugFkASW.woff2)format("woff2"),url(/assets/nunito-latin-500-normal-B5klmw3Q.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-chinese-simplified-400-normal-BKaOBC6q.woff2)format("woff2"),url(/assets/zcool-kuaile-chinese-simplified-400-normal-DF5oRnqi.woff)format("woff")}@font-face{font-family:ZCOOL KuaiLe;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zcool-kuaile-latin-400-normal-CVXjA4UX.woff2)format("woff2"),url(/assets/zcool-kuaile-latin-400-normal-CWhmaTEa.woff)format("woff")}:root{--sun:#ff8a5c;--sun-deep:#ff6b3d;--sky:#5ec8f2;--sky-deep:#3aa8d8;--mint:#7ed9a8;--mint-deep:#4fc48a;--lemon:#ffe566;--pink:#ff8fb8;--cream:#fff8f0;--ink:#3d2c29;--ink-soft:#6b534e;--card:#ffffffe0;--shadow:0 12px 32px #3d2c291f;--radius:24px;--phone-w:430px;--font-display:"ZCOOL KuaiLe", "Nunito", cursive;--font-body:"Nunito", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background-color:#0000;background-image:radial-gradient(circle at 12% 18%,#ffe5668c,#0000 36%),radial-gradient(circle at 88% 12%,#5ec8f273,#0000 32%),radial-gradient(circle at 80% 78%,#7ed9a866,#0000 38%),radial-gradient(circle at 18% 86%,#ff8fb859,#0000 34%),linear-gradient(165deg,#fff4e8 0%,#e8f7ff 48%,#f0fff6 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box}button,input,textarea,select{font:inherit;border:none;outline:none}a{color:inherit;text-decoration:none}.phone-shell{width:min(100%, var(--phone-w));min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden}.page{flex-direction:column;min-height:100vh;padding:18px 18px 28px;display:flex}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:800;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 8px #00000014}.btn:active{transform:translateY(4px);box-shadow:0 3px #00000014}.btn-sun{background:linear-gradient(180deg, #ffb08a, var(--sun));color:#fff}.btn-sky{background:linear-gradient(180deg, #8ad8f7, var(--sky));color:#fff}.btn-mint{background:linear-gradient(180deg, #a8ecc8, var(--mint-deep));color:#fff}.btn-pink{background:linear-gradient(180deg, #ffb4d0, var(--pink));color:#fff}.btn-ghost{color:var(--ink);box-shadow:none;background:#ffffffbf;border:2px solid #3d2c2914}.btn-ghost:active{transform:scale(.96)}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.topbar h1{font-family:var(--font-display);letter-spacing:.02em;font-size:1.45rem}.icon-btn{width:44px;height:44px;box-shadow:var(--shadow);cursor:pointer;background:#ffffffd9;border-radius:50%;place-items:center;font-size:1.25rem;transition:transform .2s;display:grid}.icon-btn:active{transform:scale(.92)}.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px}.floaty{animation:3.2s ease-in-out infinite floaty}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes bounce-soft{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(120px)rotate(240deg)}}@keyframes shake-cry{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.admin-shell{max-width:1100px;min-height:100vh;margin:0 auto;padding:24px}.admin-shell input,.admin-shell textarea,.admin-shell select,.admin-modal input,.admin-modal textarea,.admin-modal select{background:#fff;border:2px solid #eedfd6;border-radius:14px;width:100%;padding:10px 12px}.admin-modal .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-modal .field{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-modal .field.span-2{grid-column:1/-1}.admin-modal .field label{color:var(--ink-soft);font-size:.88rem;font-weight:800}.admin-modal .field label .req{color:#e85d5d;margin-left:2px}.admin-modal .field.is-invalid input,.admin-modal .field.is-invalid textarea,.admin-modal .field.is-invalid select{background:#fff7f7;border-color:#e85d5d}.admin-modal .field .hint{color:#e85d5d;min-height:1.1em;font-size:.78rem;font-weight:700}.admin-shell table{border-collapse:collapse;width:100%}.admin-shell th,.admin-shell td{text-align:left;vertical-align:top;border-bottom:1px solid #f0e4dc;padding:10px 8px;font-size:.92rem}
