:root{--purple:#7036bd;--deep:#3f1a79;--ink:#32165f}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:#93dcfb url(sky-background.png) 50%/cover no-repeat fixed;margin:0;font-family:Nunito,sans-serif}.loading{z-index:10;color:#fff;text-align:center;background:#93dcfb url(sky-background.png) 50%/cover;place-content:center;justify-items:center;gap:6px;transition:opacity .5s,visibility .5s;display:grid;position:fixed;inset:0}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-wheel{aspect-ratio:1;background:conic-gradient(#ff6f8a 0 12deg,#ffce55 12deg 24deg,#52d7bb 24deg 36deg,#798cff 36deg 48deg,#ff8abf 48deg 60deg,#b36cf5 60deg 72deg,#67cfef 72deg 84deg,#ff9b66 84deg 96deg,#fcdb60 96deg 108deg,#53cf8d 108deg 120deg,#ff6f8a 120deg 132deg,#ffce55 132deg 144deg,#52d7bb 144deg 156deg,#798cff 156deg 168deg,#ff8abf 168deg 180deg,#b36cf5 180deg 192deg,#67cfef 192deg 204deg,#ff9b66 204deg 216deg,#fcdb60 216deg 228deg,#53cf8d 228deg 240deg,#ff6f8a 240deg 252deg,#ffce55 252deg 264deg,#52d7bb 264deg 276deg,#798cff 276deg 288deg,#ff8abf 288deg 300deg,#b36cf5 300deg 312deg,#67cfef 312deg 324deg,#ff9b66 324deg 336deg,#fcdb60 336deg);border:9px solid #7135bf;border-radius:50%;width:142px;animation:1.1s linear infinite loadingSpin;box-shadow:0 9px #4a208438}.loading h1{text-shadow:0 4px #7135bf;margin:14px 0 0;font:800 clamp(2rem,6vw,4rem)/.95 "Baloo 2",sans-serif}.loading p{color:#592180;margin:0;font:900 1.35rem Nunito,sans-serif}@keyframes loadingSpin{to{transform:rotate(360deg)}}.game-shell{background:linear-gradient(#ffffff1f,#ffffff2e);flex-direction:column;align-items:center;min-height:100vh;padding:28px 20px 20px;display:flex}header{justify-content:space-between;align-items:baseline;width:min(1050px,100%);padding:0 14px 10px;display:flex}.brand{flex-direction:column;gap:7px;display:flex}.logo{letter-spacing:.025em;color:#fff;text-shadow:0 4px 0 var(--purple),0 8px 18px #35378233;font:800 clamp(2rem,5vw,4.4rem)/.8 "Baloo 2",sans-serif}.logo span{color:#ffd84d}.creator-credit{color:#5a2a91;letter-spacing:.04em;font:900 clamp(.85rem,1.8vw,1.05rem) Nunito,sans-serif}header p{color:#5a2a91;margin:0;font-size:clamp(.9rem,2vw,1.15rem);font-weight:900}.game{grid-template-columns:minmax(390px,1fr) minmax(250px,.58fr);align-items:center;gap:clamp(18px,4vw,55px);width:min(1050px,100%);display:grid}.wheel-wrap{aspect-ratio:1;filter:drop-shadow(0 15px 12px #34538c42);justify-self:center;width:min(72vw,720px);position:relative}canvas{width:100%;height:100%;display:block}.pointer{z-index:4;border-left:25px solid #0000;border-right:25px solid #0000;border-top:62px solid var(--deep);filter:drop-shadow(0 3px #fff);width:0;height:0;position:absolute;top:-3.2%;left:50%;transform:translate(-50%)}#spin{z-index:3;aspect-ratio:1;color:#fff;letter-spacing:.04em;cursor:pointer;background:radial-gradient(circle at 36% 28%,#b16bff,#7135bf 62%,#4f218d);border:9px solid #fff;border-radius:50%;width:30%;font:900 clamp(1rem,3vw,2rem)/1 "Baloo 2",sans-serif;transition:transform .15s,filter .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px #4b2088,0 14px 22px #381e6952}#spin:hover{filter:brightness(1.08)}#spin:active{transform:translate(-50%,-45%);box-shadow:0 3px #4b2088,0 7px 12px #381e6940}.result-card{border:5px solid var(--purple);text-align:center;background:#ffffffeb;border-radius:30px;padding:28px 28px 23px;box-shadow:0 11px #5e2d993b}.result-label{color:#8a46d6;letter-spacing:.11em;font:900 1rem "Baloo 2",sans-serif}.result-card p{color:var(--ink);margin:13px 0 25px;font:800 clamp(1.3rem,2.8vw,2.15rem)/1.12 "Baloo 2",sans-serif}.count{color:#765397;border-top:2px dashed #c49ce9;padding-top:16px;font-size:.98rem;font-weight:800}.count strong{color:#f4537f;font-size:1.35rem}footer{color:#5a2a91;text-align:center;margin-top:auto;padding-top:16px;font-weight:800}@media (width<=720px){.game{grid-template-columns:1fr;gap:10px}.wheel-wrap{width:min(92vw,590px)}.pointer{border-top-width:46px;border-left-width:18px;border-right-width:18px}.result-card{width:min(530px,100%);padding:18px}header{flex-direction:column;gap:11px}}
