:root{--orange:#ff7900;--gold:#ffad13;--ink:#15181d;--muted:#62666d}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:radial-gradient(circle at 20% 0,#fff 0,#f4f4f4 38%,#eceeef 100%);color:var(--ink);min-height:100vh}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,480px) minmax(420px,1fr);gap:48px;align-items:center;max-width:1180px;margin:auto;padding:40px}.brand img{width:min(360px,90%)}.eyebrow{letter-spacing:.25em;font-weight:700;color:var(--orange);font-size:13px}.brand h1{font-size:58px;line-height:.95;margin:25px 0 12px}.brand h1 span{color:var(--orange)}.brand p{font-size:18px;color:var(--muted);max-width:420px}.card{background:rgba(255,255,255,.88);border:1px solid #fff;border-radius:28px;padding:28px;box-shadow:0 24px 70px #20242b22;backdrop-filter:blur(12px)}label{font-size:13px;font-weight:700;display:block;margin:14px 0 7px}input{width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:12px;font-size:16px}button{border:0;border-radius:13px;padding:15px 20px;font-size:16px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;box-shadow:0 12px 24px #ff790044}.wheel-wrap{text-align:center;display:none}.wheel{width:min(560px,86vw);aspect-ratio:1;border-radius:50%;margin:auto;position:relative;transition:transform 6s cubic-bezier(.12,.72,.12,1);box-shadow:0 22px 60px #0004,0 0 0 14px #ff8500,0 0 0 19px #ddd;background:conic-gradient(#ff8400 0 10%,#17191c 10% 20%,#fff 20% 30%,#ff8400 30% 40%,#17191c 40% 50%,#ff8400 50% 60%,#fff 60% 70%,#17191c 70% 80%,#ff8400 80% 90%,#17191c 90%)}.wheel:after{content:'✕';position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;background:white;color:var(--orange);font-size:54px;font-weight:900;box-shadow:0 5px 20px #0004}.pointer{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-top:48px solid #555;margin:0 auto -30px;position:relative;z-index:3}.labels{position:absolute;inset:0}.label{position:absolute;left:50%;top:50%;width:50%;padding:0 6% 0 14%;transform-origin:0 0;font-size:clamp(10px,1.5vw,14px);line-height:1.2;font-weight:900;color:#fff;text-shadow:0 1px 3px #000;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label.flip{padding:0 14% 0 6%}.result{display:none;margin-top:24px;padding:22px;border-radius:18px;background:#17191c;color:#fff}.result b{color:#ff9200;font-size:24px}.note{font-size:12px;color:#888;margin-top:12px}.win-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;overflow-y:auto;background:radial-gradient(circle at 50% 30%,#2a2e35 0,#15181d 55%,#0b0c0f 100%);color:#fff;text-align:center;animation:winFade .5s ease-out}.win-screen[hidden]{display:none}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.win-content{position:relative;max-width:760px;width:100%;animation:winPop .7s cubic-bezier(.2,1.4,.4,1)}.win-logo{width:min(300px,70vw);filter:drop-shadow(0 8px 30px #ff790055)}.win-content .eyebrow{margin-top:18px}.win-name{font-size:clamp(34px,6vw,64px);line-height:1.05;margin:14px 0 6px;overflow-wrap:anywhere}.win-label{font-size:18px;color:#b9bdc4;text-transform:uppercase;letter-spacing:.2em}.win-prize{display:inline-block;margin:14px 0 22px;padding:16px 34px;border-radius:20px;font-size:clamp(28px,5vw,52px);font-weight:900;background:linear-gradient(135deg,var(--gold),var(--orange));box-shadow:0 20px 60px #ff790055;overflow-wrap:anywhere}.win-quote{margin:0 auto 22px;max-width:560px;font-size:clamp(17px,2.2vw,22px);font-style:italic;color:#e6e7ea}.win-quote:before{content:'“'}.win-quote:after{content:'”'}.win-code{font-size:18px;color:#b9bdc4}.win-code b{color:#ff9200;font-size:26px;letter-spacing:.08em;margin-left:6px}.win-hint{font-size:14px;color:#8a8f97;margin:6px 0 26px}.win-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.win-actions button[hidden]{display:none}button.secondary{background:transparent;border:2px solid #ff7900;color:#ff9200;box-shadow:none}@keyframes winFade{from{opacity:0}}@keyframes winPop{from{opacity:0;transform:scale(.8) translateY(30px)}}@media(prefers-reduced-motion:reduce){.win-screen,.win-content{animation:none}}@media(max-width:850px){.shell{grid-template-columns:1fr;padding:24px}.brand h1{font-size:44px}.brand{text-align:center}.brand p{margin:auto}.card{padding:20px}}
