:root{--mint:#4fd39a;--mint-dark:#20a975;--ink:#171b20;--muted:#747c85;--line:#e8ebed;--paper:#fff;--lav:#bcb7ff;--pink:#ff8fab;--shadow:0 18px 50px rgba(24,48,40,.10)}
*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:var(--ink);font-family:Inter,"Noto Sans SC","PingFang SC",system-ui,sans-serif}.topbar{height:64px;max-width:560px;margin:auto;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);border-bottom:1px solid #edf0ee}.brand{font-weight:900;letter-spacing:.12em}.brand span{color:var(--mint-dark)}.icon-button{width:40px;height:40px;border:0;background:transparent;font-size:26px;color:#333;cursor:pointer}.icon-button:last-child{font-size:19px}main{max-width:560px;margin:auto;min-height:100vh;background:var(--paper);box-shadow:0 0 50px #dfe5e1}.hero{height:260px;padding:40px 28px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f2fff9 0%,#fbf7ff 48%,#fff0f4 100%)}.hero:after{content:"";position:absolute;inset:auto -40px -80px;background:rgba(255,255,255,.55);height:160px;transform:rotate(-7deg)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.24em;color:var(--mint-dark);margin-bottom:12px}.hero h1{font-size:34px;line-height:1.08;margin:0;letter-spacing:-.04em;position:relative;z-index:2}.hero h1 em{font:500 italic 18px Georgia,serif;letter-spacing:.22em;color:#777}.hero p{font-size:13px;color:#59616a}.dream-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.75}.orb-one{width:150px;height:150px;right:-25px;top:15px;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#9ef1d0 27%,#afa8ff 66%,transparent 68%)}.orb-two{width:85px;height:85px;right:105px;bottom:5px;background:radial-gradient(circle at 35% 30%,#fff,#ffc0cf 35%,#c2bbff 72%,transparent 74%)}.screen{display:none;padding:28px 24px 44px}.screen.active{display:block;animation:appear .35s ease}@keyframes appear{from{opacity:0;transform:translateY(8px)}}.notice{display:flex;gap:8px;flex-direction:column;border-left:3px solid var(--mint);padding:11px 14px;background:#f4fcf8;font-size:12px;margin-bottom:30px}.notice span{color:var(--muted)}.section-title{display:flex;align-items:center;gap:12px;margin:26px 0 15px}.section-title>span{width:34px;height:34px;border-radius:50%;background:#e9faf3;color:var(--mint-dark);display:grid;place-items:center;font-size:12px;font-weight:900}.section-title small{font-size:9px;letter-spacing:.16em;color:#92989e;display:block}.section-title b{font-size:17px}.prize-grid{display:grid;gap:11px}.prize-card{border:1px solid var(--line);border-radius:10px;padding:15px;background:white;cursor:pointer;text-align:left;position:relative;transition:.2s}.prize-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.prize-card.selected{border:2px solid var(--mint);padding:14px;background:#fafffc}.prize-card.selected:after{content:"✓";position:absolute;right:13px;top:13px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:white;font-weight:900}.prize-card small{color:var(--mint-dark);font-weight:800}.prize-card b{display:block;font-size:15px;margin-top:5px;padding-right:28px}.prize-card span{color:#848b91;font-size:12px}.count-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.count-row button{height:48px;border:1px solid var(--line);background:white;border-radius:8px;font-weight:800;font-size:15px}.count-row button.selected{background:var(--ink);color:white;border-color:var(--ink)}.ticket-panel{margin:24px 0 18px;background:#f6f7f7;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between}.ticket-panel small{display:block;color:var(--muted);font-size:11px}.ticket-panel strong{font-size:23px}.ticket-art{border:1px dashed #a5aca8;background:white;border-radius:5px;padding:12px;color:var(--mint-dark);font-weight:900}.ticket-art span{font-size:9px;letter-spacing:.16em}.primary,.secondary{width:100%;min-height:54px;border-radius:7px;font-weight:800;font-size:15px;cursor:pointer}.primary{border:0;background:linear-gradient(90deg,var(--mint),#72dfb0);color:#082b1f;box-shadow:0 9px 22px rgba(79,211,154,.24);display:flex;justify-content:center;align-items:center;gap:16px}.secondary{border:1px solid #dfe3e1;background:white;margin-top:10px}.text-button,.danger-text{border:0;background:transparent;width:100%;padding:18px;color:#66706a;text-decoration:underline;cursor:pointer}.danger-text{color:#bc5361}.confirm-card{border:1px solid var(--mint);border-radius:10px;overflow:hidden}.confirm-card h3{padding:18px;margin:0;background:#f1fcf7;font-size:15px}.confirm-row{padding:15px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px}.confirm-row span{color:var(--muted)}.fine-print{font-size:11px;color:#7c8388;line-height:1.7;margin:18px 2px}.result-stage{text-align:center;min-height:410px;display:flex;flex-direction:column;align-items:center;justify-content:center}.result-stage .spark{font-size:54px;animation:pop .6s cubic-bezier(.2,1.5,.4,1)}@keyframes pop{from{transform:scale(0) rotate(-40deg)}}.result-stage h2{font-size:40px;margin:12px 0 4px}.result-stage.win h2{color:var(--mint-dark)}.result-stage.lose h2{color:#777}.result-stage p{color:var(--muted);font-size:13px}.result-summary{display:flex;gap:12px;margin:18px 0}.result-summary div{border:1px solid var(--line);border-radius:9px;padding:13px 22px}.result-summary b{display:block;font-size:24px}.result-cards{width:100%;display:grid;gap:7px;margin-top:12px}.mini-result{display:flex;justify-content:space-between;padding:10px 13px;border-radius:6px;background:#f6f7f7;font-size:12px}.mini-result.win{background:#eafaf3;color:#16835d;font-weight:800}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;background:white;padding:13px}.tabs button.active{font-weight:900;border-bottom:3px solid var(--mint)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{text-align:center;padding:12px;background:#f6f8f7;border-radius:8px;font-size:10px;color:var(--muted)}.stats b{display:block;font-size:21px;color:var(--ink)}.history-list{display:grid;gap:10px}.history-card{border:1px solid var(--line);border-radius:8px;padding:13px;font-size:12px}.history-card header{display:flex;justify-content:space-between}.history-card .win{color:var(--mint-dark);font-weight:900}.history-card .lose{color:#8a8f94;font-weight:900}.history-card b{display:block;margin:8px 0 4px;font-size:13px}.empty{text-align:center;padding:70px 0;color:#92989e}.empty i{font-size:40px;display:block;margin-bottom:10px}dialog{width:min(510px,calc(100% - 24px));border:0;border-radius:16px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,22,19,.55);backdrop-filter:blur(3px)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between}.dialog-head small{font-size:9px;color:var(--mint-dark);letter-spacing:.2em}.dialog-head h2{margin:3px 0 20px}.close{border:0;background:#f3f4f4;width:34px;height:34px;border-radius:50%;font-size:22px}.dialog-head+label,dialog label{display:block;font-size:13px;font-weight:700;margin:16px 0}dialog label output{float:right;color:var(--mint-dark)}dialog input[type=range]{width:100%;accent-color:var(--mint);margin-top:12px}dialog input[type=number],dialog input[type=text]{width:100%;padding:12px;border:1px solid #dfe3e1;border-radius:7px;margin-top:7px}.switch-line{display:flex;justify-content:space-between}.switch-line input{accent-color:var(--mint);width:20px}.dialog-head~.primary{margin-top:24px}@media(max-width:400px){.hero{height:230px}.hero h1{font-size:29px}.screen{padding-left:18px;padding-right:18px}.count-row{gap:5px}}
