:root{color-scheme:dark;--gold:#f6cc76;--muted:#b3bccb;--line:#ffffff24;--cyan:#51e0ee;--ink:#0c1019}*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:#080b12;color:#f7f7fc;font:15px/1.45 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}[hidden]{display:none!important}.fortune-shell{max-width:1060px;margin:auto;padding:0 28px}header{display:flex;align-items:center;gap:16px;height:82px;border-bottom:1px solid var(--line)}.back,.close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#151b28;font-size:26px;flex:none}.brand{font-size:18px;line-height:1.1;font-weight:900}.brand b{color:var(--gold)}.brand small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px}.quiet{margin-left:auto;background:none;border:1px solid #647185;color:#fff;padding:9px 12px;border-radius:6px;font-weight:700}.fortune-stage{position:relative;padding:28px 0 24px;isolation:isolate}.fortune-stage:before{content:"";position:absolute;inset:0 -28px;z-index:-1;background:linear-gradient(180deg,#0c1019cc,#0c1019f7),url('../anime/cars/red/clean.webp') center/cover;opacity:.8}.intro{text-align:center}.eyebrow{color:var(--cyan);font-size:10px;font-weight:700}h1{font-size:38px;line-height:1.12;margin:8px 0}h1 strong{color:var(--gold)}.intro p{color:var(--muted);margin:8px 0 12px}.fortune-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:42px}.wheel-column{min-width:0}.wheel-frame{position:relative;width:100%;aspect-ratio:1}.wheel-frame #wheel{width:100%;height:100%;will-change:transform}#wheel svg{display:block;width:100%;height:100%}.pointer{position:absolute;width:10%;height:15%;object-fit:contain;left:45%;top:-1.5%;filter:drop-shadow(0 3px 4px #000);z-index:3}.hub{position:absolute;inset:38%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(#203141,#090e17);border:2px solid var(--gold);box-shadow:0 0 20px #f6cc7640;line-height:1.1;font-size:15px;pointer-events:none}.hub img{width:35%;height:35%;margin-bottom:3px}.hub b{text-align:center}.wheel-caption{text-align:center;font-size:12px;color:var(--muted);margin:4px 0}.attempts{display:flex;justify-content:center;gap:8px}.attempts span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--cyan);border-radius:50%;font-size:13px;color:var(--cyan)}.attempts span.used{border-color:#667080;color:#7b8594;background:#151c28}.result{text-align:center;margin:18px 0 20px;min-height:125px}.result>span,.coupon>span{color:var(--gold);font-size:11px;font-weight:700}.result>strong{display:block;font-size:40px;line-height:1.2;margin:8px 0;color:#fff}.result p{color:var(--muted);font-size:14px;margin:0}.actions{display:grid;gap:10px}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 16px;border-radius:7px;font-weight:700;text-align:center;line-height:1.2}.primary{color:#16100b;background:linear-gradient(110deg,#f8dc96,#e8ac53);border:1px solid #ffe4a3;box-shadow:0 4px 18px #f6cc7618}.primary:hover:not(:disabled){filter:brightness(1.08)}.secondary{background:#182130;color:#eff8ff;border:1px solid #536a83}button:disabled{opacity:.55;cursor:wait}.terms-short{font-size:12px;color:var(--muted);text-align:center;margin:15px 0 6px}.rules-link{display:block;margin:auto;border:0;background:none;color:var(--gold);text-decoration:underline;padding:8px}.notice{font-size:13px;text-align:center;color:var(--cyan);min-height:18px}.coupon{text-align:center;border-top:1px solid var(--gold);padding-top:14px}.coupon>strong{display:block;font-size:24px;margin:8px 0;overflow-wrap:anywhere}.coupon p{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:12px}footer>span{font-weight:900;color:var(--gold)}dialog{background:#101722;border:1px solid #617080;border-radius:8px;color:#f8f9ff;width:calc(100% - 32px);max-width:470px;max-height:85dvh;padding:22px}dialog::backdrop{background:#03050bd9;backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:22px;line-height:1.2;margin:0}h3{font-size:16px}dialog p,dialog li{font-size:14px;color:var(--muted)}dialog ul{padding-left:20px}.modal-actions{display:grid;gap:10px;margin-top:22px}dl{display:grid;grid-template-columns:1fr 1fr;font-size:14px}dt,dd{margin:0;padding:7px 0;border-bottom:1px solid var(--line)}dd{text-align:right;color:var(--gold)}.prize-record{padding:16px 0;border-bottom:1px solid var(--line)}.prize-record strong,.prize-record code{display:block;margin:5px 0}.prize-record code{font-size:18px;color:var(--gold);user-select:all}.prize-record small{color:var(--muted)}.celebration{position:absolute;inset:0;pointer-events:none}.celebration i{position:absolute;left:50%;top:50%;width:6px;height:12px;background:var(--gold);animation:confetti .8s ease-out forwards;transform:rotate(var(--angle)) translateY(-80px)}@keyframes confetti{to{transform:rotate(var(--angle)) translateY(-210px) rotate(90deg);opacity:0}}.won .hub{box-shadow:0 0 35px #f6cc76aa}.spinning .hub{box-shadow:0 0 35px #51e0ee70}.spinning .result>strong{color:var(--cyan)}@media(max-width:650px){.fortune-shell{padding:0 16px}header{height:66px;gap:10px}.brand{font-size:16px}.quiet{font-size:12px;padding:8px 9px}.fortune-stage{padding:18px 0}.fortune-stage:before{inset:0 -16px}.fortune-grid{grid-template-columns:1fr;gap:8px}.wheel-column{width:min(100%,370px);margin:auto}.intro h1{font-size:30px}.intro p{font-size:13px;margin:6px 0}.wheel-caption{display:none}.result{min-height:0;margin:10px 0 14px}.result>strong{font-size:34px;margin:4px 0}.result p{font-size:13px}.attempts span{width:27px;height:27px}.control-column{max-width:410px;width:100%;margin:auto}.terms-short{margin-top:10px}.notice:empty{display:none}.hub{font-size:12px}.actions{gap:8px}.primary,.secondary{min-height:46px}.fortune-stage .intro{margin-bottom:5px}footer{padding:14px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
