:root{--bg:#080a0f;--panel:#10141c;--panel2:#151a23;--text:#f2f5f8;--muted:#8d97a8;--line:#252c38;--accent:#79f2a3;--danger:#ff6b7a;--radius:22px}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -10%,#182331 0,#080a0f 35%);color:var(--text);font:15px/1.5 Inter,system-ui,Arial}a{color:var(--text);text-decoration:none}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;background:#080a0fee;backdrop-filter:blur(16px);z-index:5}.brand{font-weight:900;font-size:25px;letter-spacing:-1px}.brand span{color:var(--accent)}nav{display:flex;gap:22px;align-items:center}.ticker{overflow:hidden;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--muted);font-size:12px}.ticker div{padding:7px 0;animation:scroll 25s linear infinite}@keyframes scroll{from{transform:translateX(100%)}to{transform:translateX(-100%)}}main{width:min(1180px,92%);margin:38px auto}.hero{display:grid;grid-template-columns:1.5fr .7fr;gap:30px;align-items:center;padding:50px 0}.hero h1{font-size:64px;line-height:.98;letter-spacing:-4px;margin:10px 0}.hero h1 span{color:var(--accent)}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:2px}.muted{color:var(--muted)}.hero-card{background:linear-gradient(145deg,#1a242d,#0e1219);border:1px solid var(--line);border-radius:32px;padding:35px;text-align:center;box-shadow:0 30px 80px #0006}.hero-card strong{font-size:90px;display:block;line-height:1}.hero-card b{display:block;font-size:28px;color:var(--accent)}.hero-card span,.hero-card small{display:block;color:var(--muted)}.label{font-size:11px;color:var(--muted)}.actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:12px 18px;background:var(--accent);color:#07100b;font-weight:800;cursor:pointer}.btn.ghost{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn.small{padding:8px 12px;font-size:12px;margin-top:8px}.grid{display:grid;gap:16px;margin:16px 0}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,var(--panel),#0d1117);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 12px 40px #0002}.card h2,.card h3{margin-top:0}.item{min-height:170px}.item>span{font-size:25px}.item b{display:block;margin-top:8px;color:var(--accent)}input,select{width:100%;background:#0a0e14;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;margin:6px 0 10px;outline:none}input:focus,select:focus{border-color:#536173}label{display:block;font-size:13px;color:#c8ced8;margin-bottom:8px}.auth{width:min(700px,100%);margin:40px auto}.auth h1{font-size:40px}.wide{max-width:850px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.pass{display:flex}.pass input{border-radius:12px 0 0 12px}.pass button{margin:6px 0 10px;border:1px solid var(--line);background:#0a0e14;color:#fff;border-radius:0 12px 12px 0}.check{display:flex;gap:9px;align-items:center;margin:14px 0}.check input{width:auto;margin:0}.flash{padding:12px 16px;border-radius:12px;margin:10px 0;border:1px solid var(--line)}.flash.success{background:#0d281a;color:#aaf5bd}.flash.error{background:#2b1117;color:#ff9ca8}.topbar{display:flex;justify-content:space-between;align-items:end}.topbar h1{font-size:40px;margin:0 0 20px}.balance{text-align:right}.balance small,.balance span{display:block;color:var(--muted)}.balance strong{font-size:54px;line-height:1;color:var(--accent)}.sectionhead{margin-top:35px;display:flex;align-items:center;justify-content:space-between}.feed{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.feed div{padding:13px 16px;border-bottom:1px solid var(--line)}.feed span{color:var(--accent);margin-right:10px}.feed small{float:right;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}th{color:var(--muted)}.rank{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}footer{text-align:center;color:#586170;padding:45px 20px;font-size:12px}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero h1{font-size:46px}.three,.four,.two{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.topbar{display:block}.balance{text-align:left;margin-bottom:20px}}@media(max-width:520px){.three,.four,.two{grid-template-columns:1fr}header{padding:0 4%}nav{gap:9px;font-size:12px}}

.upgrade-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.upgrade-game{text-align:center}.wheel-wrap{position:relative;width:min(360px,80vw);aspect-ratio:1;margin:20px auto}.upgrade-wheel{width:100%;height:100%;border-radius:50%;background:conic-gradient(#79f2a3 0 calc(360deg - (var(--chance)*3.6deg)),#ffd84d calc(360deg - (var(--chance)*3.6deg)) 360deg);border:10px solid #252c38;box-shadow:0 0 0 8px #0b0e13,0 25px 70px #0008;position:relative;transition:transform 4s cubic-bezier(.12,.72,.12,1)}.upgrade-wheel.spinning{transform:rotate(1800deg)}.wheel-center{position:absolute;inset:50%;transform:translate(-50%,-50%);width:95px;height:95px;border-radius:50%;background:#0b0f15;border:2px solid #fff2;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;letter-spacing:1px}.wheel-center small{font-size:9px;color:var(--muted)}.wheel-pointer{position:absolute;z-index:3;top:-9px;left:50%;transform:translateX(-50%);color:#ffd84d;font-size:32px;text-shadow:0 4px 10px #000}.upgrade-layout label{margin-top:12px}@media(max-width:800px){.upgrade-layout{grid-template-columns:1fr}}.item-img{width:100%;height:110px;object-fit:contain;background:#0a0e14;border-radius:14px;margin-bottom:10px}.inventory-card{cursor:pointer}.item-actions{display:none;margin-top:10px}.inventory-card.open .item-actions{display:block}.item-actions form{margin:6px 0}.item-actions input,.item-actions select{margin:2px 0 6px}.prefix{color:var(--accent)}.tiny{font-size:11px;color:var(--muted)}.tag{display:inline-block;border:1px solid var(--line);padding:3px 8px;border-radius:999px;margin:2px}.danger{background:var(--danger);color:#fff}.danger-card{border-color:#4d222a}.jackpot-timer{font-size:36px;font-weight:900;color:var(--accent);letter-spacing:2px;margin:8px 0}.maintenance{max-width:720px;margin:100px auto;text-align:center;padding:60px 30px}.maintenance-icon{font-size:64px;margin:15px}.maintenance h1{font-size:42px}.upgrade-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.upgrade-game{text-align:center}.wheel-wrap{position:relative;width:min(360px,80vw);aspect-ratio:1;margin:20px auto}.upgrade-wheel{width:100%;height:100%;border-radius:50%;background:conic-gradient(#79f2a3 0 calc(360deg - (var(--chance)*3.6deg)),#ffd84d calc(360deg - (var(--chance)*3.6deg)) 360deg);border:10px solid #252c38;box-shadow:0 0 0 8px #0b0e13,0 25px 70px #0008;position:relative;transition:transform 4s cubic-bezier(.12,.72,.12,1)}.upgrade-wheel.spinning{transform:rotate(1800deg)}.wheel-center{position:absolute;inset:50%;transform:translate(-50%,-50%);width:95px;height:95px;border-radius:50%;background:#0b0f15;border:2px solid #fff2;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;letter-spacing:1px}.wheel-center small{font-size:9px;color:var(--muted)}.wheel-pointer{position:absolute;z-index:3;top:-9px;left:50%;transform:translateX(-50%);color:#ffd84d;font-size:32px;text-shadow:0 4px 10px #000}.upgrade-layout label{margin-top:12px}@media(max-width:800px){.upgrade-layout{grid-template-columns:1fr}}

/* GAME UI - CLEAN FINAL */
.game-modal{position:fixed;inset:0;background:#020409e6;backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;z-index:50}
.game-modal.show{display:flex}
.game-modal-card{width:min(920px,94vw);padding:34px 28px 28px;border:1px solid #303948;border-radius:28px;background:#0d1118;box-shadow:0 30px 100px #000b;text-align:center;overflow:hidden}
.case-stage{position:relative;width:100%;padding:46px 0 8px}
.case-pointer{position:absolute;z-index:20;top:4px;left:50%;transform:translateX(-50%);width:0;height:0;font-size:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:28px solid #ffd84d;filter:drop-shadow(0 4px 8px #000)}
.case-reel{position:relative;width:100%;height:172px;margin:0;overflow:hidden;border:1px solid #303948;border-radius:18px;background:linear-gradient(180deg,#0b1017,#070b10);padding:0;display:block;box-shadow:inset 0 0 45px #000b}
.case-reel:before,.case-reel:after{content:"";position:absolute;top:0;bottom:0;width:14%;z-index:10;pointer-events:none}
.case-reel:before{left:0;background:linear-gradient(90deg,#080c12 0%,rgba(8,12,18,.88) 25%,transparent 100%)}
.case-reel:after{right:0;background:linear-gradient(270deg,#080c12 0%,rgba(8,12,18,.88) 25%,transparent 100%)}
.case-track{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;height:100%!important;width:max-content!important;min-width:max-content!important;padding:0 8px!important;margin:0!important;transform:translate3d(0,0,0);will-change:transform;animation:none!important}
.case-card{flex:0 0 142px!important;width:142px!important;min-width:142px!important;height:142px!important;margin:0!important;border:1px solid #293240;border-radius:12px;background:linear-gradient(145deg,#151c26,#0c1118);display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px;padding:8px;box-sizing:border-box;overflow:hidden;animation:none!important}
.case-card img{width:86px;height:86px;object-fit:contain;display:block;flex:0 0 auto}
.case-card strong{font-size:11px;text-align:center;line-height:1.15;color:#e7ebf1;max-width:130px;min-height:25px;overflow:hidden}
.case-value{font-size:10px;color:#79f2a3}
.case-card.win{border-color:#ffd84d;box-shadow:0 0 0 1px #ffd84d55,0 0 30px #ffd84d22}

/* Upgrade wheel: JS controls the exact 11-second animation. */
#upgradeWheel{will-change:transform;transition:none!important}
#upgradeWheel.spinning{transition:none!important}

.client-toast{position:fixed;right:22px;bottom:22px;z-index:100;min-width:260px;max-width:380px;padding:15px 18px;border-radius:14px;background:#10161f;border:1px solid #354052;box-shadow:0 20px 60px #0008;transform:translateY(30px);opacity:0;transition:.3s;font-weight:800}
.client-toast.show{transform:translateY(0);opacity:1}
.client-toast.success{border-color:#2e9d61}.client-toast.error{border-color:#a73d4c}
.client-toast::before{content:"FPI";display:block;font-size:10px;letter-spacing:2px;color:var(--accent);margin-bottom:3px}

.inventory-card{cursor:pointer}.inventory-card.open{border-color:#79f2a3;box-shadow:0 0 0 1px #79f2a333,0 15px 50px #0005}.item-actions{display:none;margin-top:10px}.inventory-card.open .item-actions{display:block}.item-actions form{margin:6px 0}.item-actions input,.item-actions select{margin:2px 0 6px}.prefix{color:var(--accent)}.tiny{font-size:11px;color:var(--muted)}.tag{display:inline-block;border:1px solid var(--line);padding:3px 8px;border-radius:999px;margin:2px}.danger{background:var(--danger);color:#fff}.danger-card{border-color:#4d222a}.jackpot-timer{font-size:36px;font-weight:900;color:var(--accent);letter-spacing:2px;margin:8px 0}.maintenance{max-width:720px;margin:100px auto;text-align:center;padding:60px 30px}.maintenance-icon{font-size:64px;margin:15px}.maintenance h1{font-size:42px}
@media(max-width:800px){.upgrade-layout{grid-template-columns:1fr}.case-card{flex-basis:118px!important;width:118px!important;min-width:118px!important}.case-card img{width:70px;height:70px}.case-reel{height:150px}}
