*{box-sizing:border-box;margin:0;padding:0}:root{--gold: #ffd98a;--ivory: #fff6df;--ink: #1a2447;--glass: rgba(255, 255, 255, .07);--line: rgba(255, 217, 138, .28)}body{font-family:MiSans,-apple-system,PingFang SC,Noto Sans SC,sans-serif;color:#f5f7ff;min-height:100vh;background:radial-gradient(1200px 500px at 85% -5%,rgba(122,88,214,.18),transparent 60%),radial-gradient(900px 420px at 10% 8%,rgba(64,92,196,.22),transparent 55%),radial-gradient(1000px 600px at 50% 108%,rgba(255,190,110,.1),transparent 60%),linear-gradient(180deg,#04081c,#081231 45%,#0d1d47 80%,#12275a);background-attachment:fixed;position:relative}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.7),transparent 100%),radial-gradient(1px 1px at 34% 6%,rgba(207,224,255,.6),transparent 100%),radial-gradient(1.4px 1.4px at 58% 22%,rgba(255,233,201,.65),transparent 100%),radial-gradient(1px 1px at 78% 12%,rgba(255,255,255,.5),transparent 100%),radial-gradient(1.2px 1.2px at 90% 30%,rgba(207,224,255,.55),transparent 100%),radial-gradient(1px 1px at 22% 42%,rgba(255,255,255,.4),transparent 100%),radial-gradient(1.3px 1.3px at 70% 48%,rgba(255,233,201,.5),transparent 100%),radial-gradient(1px 1px at 44% 64%,rgba(207,224,255,.45),transparent 100%),radial-gradient(1.2px 1.2px at 8% 76%,rgba(255,255,255,.5),transparent 100%),radial-gradient(1px 1px at 86% 82%,rgba(255,233,201,.45),transparent 100%)}body:after{transform:translate(3%,5%) scale(1.15);opacity:.5}#app{max-width:480px;margin:0 auto;padding:34px 22px 52px;position:relative;z-index:1}.hero{text-align:center;margin-bottom:26px}.hero h1{font-size:24px;letter-spacing:3px;font-weight:700;background:linear-gradient(180deg,#ffffff 20%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 24px rgba(255,213,120,.25);margin-bottom:10px}.hero .orn{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:12px}.hero .orn i{display:block;height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--line))}.hero .orn i:last-child{transform:scaleX(-1)}.hero .orn s{width:4px;height:4px;border-radius:50%;background:var(--gold)}.hero p{font-size:13px;color:#b8c4e8;line-height:1.7}.field-label{display:block;font-size:14px;color:#a8b8e4;margin:20px 0 9px;letter-spacing:.5px}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.region-grid button{padding:13px 4px;font-size:14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:var(--glass);color:#dfe6ff;cursor:pointer;transition:all .18s ease;backdrop-filter:blur(6px)}.region-grid button.sel{background:linear-gradient(180deg,#ffe4a6,var(--gold));color:var(--ink);border-color:var(--gold);font-weight:600;box-shadow:0 0 18px #ffd98a73}input,textarea{width:100%;padding:14px;border-radius:14px;font-size:16px;border:1px solid rgba(255,255,255,.16);background:var(--glass);color:#fff;transition:border-color .18s ease,box-shadow .18s ease}input::placeholder,textarea::placeholder{color:#becaee8c}input:focus,textarea:focus{outline:none;border-color:var(--line);box-shadow:0 0 0 3px #ffd98a1f}textarea{resize:none;line-height:1.6}.counter{text-align:right;font-size:12px;color:#8fa0cc;margin-top:5px}.counter.over{color:#ff8f8f}#submitBtn{width:100%;margin-top:26px;padding:15px;font-size:17px;font-weight:700;letter-spacing:2px;border:none;border-radius:999px;background:linear-gradient(180deg,#ff8a33,#ff6900);color:#fff;cursor:pointer;box-shadow:0 6px 24px #ff690066,0 2px 6px #0000004d;transition:transform .12s ease,box-shadow .12s ease}#submitBtn:active{transform:scale(.98)}#submitBtn:disabled{opacity:.55;box-shadow:none}.tip{margin-top:12px;font-size:13px;color:#ff9f9f;text-align:center;min-height:18px}#done{text-align:center;padding-top:48px}.done-emoji{font-size:54px;margin-bottom:18px;animation:floatUp 3.2s ease-in-out infinite}@keyframes floatUp{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(5deg)}}#done h2{font-size:22px;margin-bottom:12px;letter-spacing:2px;background:linear-gradient(180deg,#fff 20%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#done p{font-size:13px;color:#b8c4e8;line-height:1.8}#again{margin-top:30px;padding:11px 32px;border-radius:999px;border:1px solid var(--line);background:#ffd98a14;color:var(--gold);font-size:14px;cursor:pointer}
