*{box-sizing:border-box}body{color:#172033;background:#f5f7ff;margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.page{min-height:100vh;padding:28px 16px 56px}.shell{width:min(1120px,100%);margin:0 auto}.header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo{background:linear-gradient(135deg,#6d5dfc,#8b5cf6);border-radius:16px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 28px #6d5dfc3d}.logo svg{width:36px;height:36px}.logo-bubble{fill:#fff}.logo-face{fill:#eef2ff;stroke:#6d5dfc;stroke-width:2.5px}.logo-eye{fill:#312e81}.logo-smile{fill:none;stroke:#312e81;stroke-linecap:round;stroke-width:2.8px}.brand h1{margin:0;font-size:24px}.brand p,.hero p,.card p{color:#64708a;margin:0;line-height:1.7}.points-card{background:#ffffffc7;border:1px solid #d9defa;border-radius:18px;min-width:260px;padding:14px}.points-line{justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;display:flex}.points-line strong{color:#5145cd}.inline-form{gap:8px;display:flex}.inline-form input,.field input,.field textarea,.field select{color:#172033;background:#fff;border:1px solid #d7ddf5;border-radius:14px;outline:none;width:100%;padding:12px 13px}.inline-form input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#6d5dfc;box-shadow:0 0 0 3px #6d5dfc24}.btn{color:#fff;white-space:nowrap;background:#6d5dfc;border:0;border-radius:14px;padding:12px 16px;font-weight:700}.btn.secondary{color:#5145cd;background:#eef2ff;border:1px solid #d9defa}.btn.danger{color:#991b1b;background:#fee2e2}.hero{grid-template-columns:1fr 360px;align-items:stretch;gap:24px;margin-bottom:24px;display:grid}.hero-main{background:linear-gradient(135deg,#fff,#e9edff);border:1px solid #d9defa;border-radius:28px;padding:30px}.eyebrow{color:#5145cd;background:#eef2ff;border-radius:999px;margin-bottom:12px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.hero h2{letter-spacing:-.04em;margin:0 0 14px;font-size:clamp(32px,5vw,56px);line-height:1.08}.hero-side{color:#fff;background:linear-gradient(145deg,#172033,#312e81);border-radius:28px;padding:24px}.hero-side p{color:#cbd5ff}.steps{gap:10px;margin-top:20px;display:grid}.step{background:#ffffff1a;border-radius:16px;padding:12px}.grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.card{background:#ffffffd1;border:1px solid #d9defa;border-radius:24px;padding:22px;box-shadow:0 18px 60px #1e296314}.card h3{margin:0 0 16px;font-size:22px}.form-grid{gap:16px;display:grid}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field label{color:#33405f;margin-bottom:8px;font-weight:700;display:block}.field textarea{resize:vertical;min-height:112px}.hint{color:#6f7a96;margin-top:6px;font-size:13px;line-height:1.6}.points-error{color:#b91c1c;font-weight:700}.preview{background:#fff;border:1px solid #d9defa;border-radius:16px;max-width:180px;margin-top:10px;overflow:hidden}.preview img,.sheet img,.emoji img{width:100%;display:block}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notice{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:16px;margin-top:14px;padding:12px 14px;line-height:1.6}.notice.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.result-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.sheet{background:#fff;border:1px solid #d9defa;border-radius:18px;margin-bottom:18px;overflow:hidden}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;display:grid}.emoji{background:#fff;border:1px solid #d9defa;border-radius:18px;padding:8px}.emoji.deleted{opacity:.42}.emoji p{text-align:center;margin:6px 0 8px;font-size:13px}.emoji button{color:#5145cd;background:#eef2ff;border:0;border-radius:10px;width:100%;padding:8px}.empty{text-align:center;color:#64708a;place-items:center;min-height:420px;display:grid}.footer{color:#6f7a96;margin-top:28px;font-size:13px;line-height:1.7}@media (max-width:900px){.header,.hero,.grid,.two{grid-template-columns:1fr}.header{flex-direction:column;align-items:stretch}.points-card{min-width:0}}
