:root{
  --bg:#050607;--panel:#0b0e12;--panel2:#10141a;--line:#272d34;--text:#f7f7f7;--muted:#858d98;
  --gold:#ffc83d;--gold2:#ff9f0a;--gold-soft:#3d2c08;--danger:#ff5d6c;--green:#38d46a;
  --safe-bottom:max(12px,env(safe-area-inset-bottom));--nav-h:78px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:#050607;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden;background:radial-gradient(circle at 50% -10%,#261b06 0,transparent 32%),linear-gradient(#050607,#030405 78%)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.hidden{display:none!important}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:12px}.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.15;border-radius:50%;z-index:0}.ambient-a{width:240px;height:240px;background:#ffb414;right:-100px;top:70px}.ambient-b{width:210px;height:210px;background:#7c4dff;left:-130px;bottom:170px}.app-shell{position:relative;z-index:1;max-width:720px;margin:0 auto;min-height:100vh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.glass{background:rgba(7,9,11,.86);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.topbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid #171a1f}.identity,.top-stats{display:flex;align-items:center;gap:10px}.id-medallion{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;font-weight:950;color:#ffe98a;border:1px solid #8f6714;background:radial-gradient(circle at 50% 35%,#30250f,#0b0d10 72%);box-shadow:0 0 0 3px #100e08,0 0 28px #ffb20c18}.brand{font-size:21px;font-weight:950;letter-spacing:-.4px}.brand:after{content:"";display:inline-block;width:34px;height:2px;margin-left:7px;vertical-align:middle;background:linear-gradient(90deg,var(--gold),transparent)}.subline{display:flex;gap:6px;color:#9098a4;font-size:11px;margin-top:3px}.stat-chip,.money-chip{border:1px solid #2c323a;background:linear-gradient(180deg,#14181d,#0c0f13);border-radius:18px;color:#fff;min-height:50px}.stat-chip{padding:0 13px;display:flex;align-items:center;gap:7px}.money-chip{padding:7px 12px;text-align:right;min-width:125px}.money-chip small{display:block;color:#818995;font-size:10px}.money-chip b{display:block;color:#ffd55c;font-size:15px;margin-top:2px}.content{padding:12px 12px 22px}.screen{display:none}.screen.active{display:block}.home-screen{min-height:calc(100vh - 160px)}
.roll-selector-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.selector-pill{min-height:62px;border-radius:18px;border:1px solid #303740;background:linear-gradient(180deg,#141920,#0d1116);color:#fff;text-align:left;padding:10px 13px;position:relative}.selector-pill:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,#ffffff08,transparent);pointer-events:none}.selector-pill small{display:block;color:#8b939e;text-transform:uppercase;letter-spacing:1.1px;font-size:10px}.selector-pill b{display:block;font-size:14px;margin-top:3px;padding-right:18px}.selector-pill>span{position:absolute;right:12px;top:25px;color:#8b939e}.roll-center{display:flex;flex-direction:column;align-items:stretch}.hero-card{position:relative;border-radius:28px;min-height:520px;background:linear-gradient(180deg,#0c0f13,#060708);border:1px solid #3b3119;overflow:hidden;box-shadow:0 25px 70px #000a,0 0 0 1px #000}.legendary-frame{border-color:#7e5d14;box-shadow:0 0 0 1px #3a2c10 inset,0 0 50px #ffb00012,0 30px 80px #000b}.empty-hero{height:100%;min-height:500px;display:grid;place-content:center;text-align:center;color:#8b939d}.empty-car{font-size:76px;filter:grayscale(1);opacity:.35}.empty-hero h2{margin:12px 0 4px;color:#dfe3e8}.empty-hero p{margin:0}.car-hero{position:relative;min-height:520px;padding:18px 18px 126px;overflow:hidden}.car-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#8a5b091f,transparent 34%),linear-gradient(180deg,#1b1409aa,#07090c 52%,#030405);z-index:0}.car-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 54px,#ffffff05 55px 56px),linear-gradient(180deg,transparent 45%,#000a 75%);opacity:.6}.car-aura{position:absolute;left:13%;right:13%;top:28%;height:42%;border-radius:50%;filter:blur(34px);opacity:.34;z-index:1;animation:auraBreath 3s ease-in-out infinite}.car-light-floor{position:absolute;left:15%;right:15%;top:58%;height:11%;border-radius:50%;filter:blur(14px);opacity:.75;background:#ffb51633;z-index:1}.hero-top{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-start}.hero-title h2{font-size:31px;line-height:1.02;margin:12px 0 6px;letter-spacing:-1px}.hero-title p{margin:0;color:#b3bac4;font-size:14px}.badge,.special-tag{display:inline-flex;align-items:center;border-radius:999px;font-weight:950;text-transform:uppercase}.badge{padding:7px 12px;font-size:11px;border:1px solid #5b616a;background:#12161b}.special-tag{margin-left:7px;padding:6px 9px;font-size:9px;color:#ffe5a1;border:1px solid #7b5f21;background:#1a1408}.favorite{width:48px;height:48px;border-radius:50%;border:1px solid #795e18;background:#11130f;color:#ffd860;font-size:27px}.hero-car-stage{position:relative;z-index:3;height:245px;margin:3px -10px -4px;display:grid;place-items:center}.hero-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 25px #000) drop-shadow(0 0 24px #ffb31255);transform:translateZ(0);animation:carFloat 4.2s ease-in-out infinite}.specimen-block{position:relative;z-index:5;margin:-3px auto 9px;display:grid;justify-items:center;gap:7px}.condition-big{min-width:min(88%,390px);text-align:center;padding:10px 16px;border-radius:14px;border:1px solid #8b6718;background:linear-gradient(180deg,#281d08,#0e0d09);font-size:20px;font-weight:950;letter-spacing:.3px;color:#ffe67e;box-shadow:0 0 25px #ffc21b18,0 0 0 1px #000 inset}.condition-big span,.history-big span{font-size:.7em;opacity:.72;margin-left:5px}.history-big{padding:7px 13px;border-radius:12px;border:1px solid #3a424b;background:#101419;color:#e9edf2;font-size:14px;font-weight:800}.odometer-box{display:flex;align-items:stretch;justify-content:center;gap:7px;margin:8px auto 6px}.odometer-digits{display:flex;align-items:center;gap:4px;background:#050607;padding:7px 9px;border-radius:14px;border:1px solid #8a6613;box-shadow:0 0 22px #ffb0001c inset}.odo-digit{display:grid;place-items:center;width:34px;height:43px;border-radius:7px;background:linear-gradient(#2a2c2f,#0a0b0d 45%,#1d1f22);border:1px solid #3d4146;font-weight:950;font-size:25px;text-shadow:0 2px 5px #000;animation:digitDrop .45s both}.odo-sep{color:#6e7277;font-weight:900}.odo-unit{align-self:center;font-size:12px;font-weight:900;color:#d7dbe0;text-transform:uppercase}.hero-bottom{position:relative;z-index:5;text-align:center}.hero-value small{display:block;color:#8d949d;font-size:11px}.hero-value strong{display:block;margin-top:2px;font-size:31px;color:#ffdf68;letter-spacing:.3px;text-shadow:0 0 24px #ffae0033}.reason-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:7px}.reason{padding:5px 8px;border-radius:999px;border:1px solid #3a311d;background:#17130c;color:#d8c58f;font-size:9px}.single-actions{position:absolute;left:15px;right:15px;bottom:14px;z-index:15;display:grid;grid-template-columns:1fr 1.22fr;gap:9px}.single-actions button{min-height:66px;border-radius:19px;font-weight:950;font-size:14px;border:1px solid #705619}.single-actions button span{display:block}.keep-car{background:linear-gradient(180deg,#13171b,#0a0d11);color:#fff}.sell-car{background:linear-gradient(135deg,#ffe477,#ffb00e 62%,#f89300);color:#171005;box-shadow:0 0 24px #ffb30b30}.hero-recovery{position:absolute!important;left:15px!important;right:15px!important;bottom:14px!important;z-index:15!important}.roll-price-line{display:flex;align-items:center;gap:8px;padding:10px 4px;color:#828a94;font-size:11px}.roll-price-line b{color:#d9dde2;font-size:13px}.free-rolls{margin-left:auto;border:1px solid #27303a;border-radius:999px;padding:5px 9px}.roll-buttons{display:grid;grid-template-columns:1.2fr .8fr;gap:9px}.roll-btn{min-height:78px;border-radius:22px;border:1px solid #8b6310;display:flex;align-items:center;justify-content:center;gap:10px}.primary-gold{background:linear-gradient(135deg,#ffe170,#ffb40d 58%,#f28b00);color:#161005;box-shadow:0 8px 28px #ffad0028}.secondary-gold{background:linear-gradient(180deg,#1b170e,#0c0e11);color:#ffd861}.roll-btn .dice{font-size:28px}.roll-btn b{font-size:17px}.roll-btn small{display:block;font-size:10px;opacity:.7;margin-top:2px}.opening-state{min-height:500px;display:grid;place-content:center;justify-items:center;gap:18px;text-align:center}.opening-ring{width:110px;height:110px;border-radius:50%;border:2px solid #33270e;border-top-color:#ffd04c;box-shadow:0 0 55px #ffb00022;animation:spin 1s linear infinite}.opening-copy b{display:block;font-size:18px}.opening-copy span{display:block;margin-top:5px;color:#818994;font-size:12px}.batch-panel{margin-top:12px}.batch-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}.batch-title h3{margin:0}.batch-title span{font-size:10px;color:#7f8791}.batch-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.batch-car{position:relative;border:1px solid #2a3037;background:linear-gradient(180deg,#11151a,#090b0e);border-radius:17px;padding:8px;overflow:hidden;animation:popIn .4s both}.batch-car img{width:100%;height:88px;object-fit:contain;filter:drop-shadow(0 8px 8px #000)}.batch-car>b{display:block;font-size:11px}.batch-car small,.batch-car em{font-size:9px;color:#8d95a0;font-style:normal}.batch-actions{display:flex;gap:6px;align-items:center;margin-top:6px}.batch-action,.undo-sale{border-radius:9px;padding:6px 8px;font-size:9px}.batch-action{background:#111a13;color:#79e893}.batch-action.sold{background:#241316;color:#ff8e9b}.undo-sale{border:1px solid #725616;background:#17130b;color:#ffd65a}
/* Rarity palette + persistent car glow */
.badge.rare{color:#8dcbff;border-color:#2775c9}.badge.epic{color:#d69aff;border-color:#8a36c4}.badge.legendary{color:#ffe379;border-color:#a5770d}.badge.mythic{color:#ff8bac;border-color:#b22f5a}.badge.secret{color:#fff;border-color:#a4a4a4}.badge.limited{color:#ffb55a;border-color:#ce6d17}.rarity-shell-rare .car-aura{background:#268dff}.rarity-shell-epic .car-aura{background:#9d38ff}.rarity-shell-legendary .car-aura{background:#ffb40c}.rarity-shell-mythic .car-aura{background:#ff3e79}.rarity-shell-secret .car-aura{background:#e7e7e7}.rarity-shell-limited .car-aura{background:#ff7b1b}.rarity-shell-rare .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 30px #258cff88)}.rarity-shell-epic .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 34px #9f3fff88)}.rarity-shell-legendary .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 38px #ffc126a0)}.rarity-shell-mythic .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 42px #ff457ca0)}.rarity-shell-secret .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 40px #ffffff80)}.rarity-shell-limited .hero-image{filter:drop-shadow(0 28px 24px #000) drop-shadow(0 0 45px #ff7b1baa)}
/* Garage cards */
.section-head{display:flex;justify-content:space-between;align-items:center;margin:5px 2px 12px}.section-head h1{margin:0;font-size:28px}.section-head p{margin:3px 0 0;color:#858d97;font-size:11px}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid #2c333b;background:#11151a;color:#fff}.car-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.car-card{position:relative;border:1px solid #2a3037;border-radius:19px;background:linear-gradient(180deg,#11151b,#090b0e);overflow:hidden;box-shadow:0 12px 26px #0005}.image-wrap{height:125px;display:grid;place-items:center;background:radial-gradient(circle at 50% 70%,#35270c,#0b0e12 62%)}.image-wrap img{width:95%;height:95%;object-fit:contain;filter:drop-shadow(0 12px 10px #000)}.cardbody{padding:10px}.cardbody .badge{font-size:8px;padding:4px 6px}.car-name{margin:7px 0 2px;font-size:14px;line-height:1.05}.card-sub{font-size:9px;color:#858d97}.condition-chip{margin:7px 0;padding:7px;border-radius:10px;border:1px solid #4d3d19;background:#151107;color:#e7cc7d;font-size:9px;text-align:center}.card-odo{font-size:11px;color:#c9cdd2}.card-value{font-size:16px;color:#ffda61;font-weight:900;margin-top:3px}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.smallbtn{border:1px solid #343a42;border-radius:10px;background:#15191e;color:#fff;padding:8px 6px;font-size:9px;font-weight:800}.smallbtn.gold{border-color:#775b19;color:#ffd55b}.smallbtn.red{border-color:#66343a;color:#ff8c97}.smallbtn.green{border-color:#265d38;color:#72e596}.rarity-name,.rarity-text-rare,.rarity-text-epic,.rarity-text-legendary,.rarity-text-mythic,.rarity-text-secret,.rarity-text-limited{font-weight:900;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rarityFlow 2.5s linear infinite}.rarity-text-rare,.rarity-name.rare{background-image:linear-gradient(90deg,#3d9dff,#d4ecff,#3d9dff)}.rarity-text-epic,.rarity-name.epic{background-image:linear-gradient(90deg,#9e4bff,#f0c6ff,#9e4bff)}.rarity-text-legendary,.rarity-name.legendary{background-image:linear-gradient(90deg,#d99b10,#fff0a0,#ffb812,#d99b10)}.rarity-text-mythic,.rarity-name.mythic{background-image:linear-gradient(90deg,#ff3a6a,#ffc1d4,#ff3a6a)}.rarity-text-secret,.rarity-name.secret{background-image:linear-gradient(90deg,#777,#fff,#222,#fff,#777)}.rarity-text-limited,.rarity-name.limited{background-image:linear-gradient(90deg,#ff8b1e,#fff0a1,#ff4e36,#ff8b1e)}.rarity-card-rare{box-shadow:0 0 0 1px #247ddb33,0 12px 26px #0005}.rarity-card-epic{box-shadow:0 0 0 1px #9f4cff33,0 12px 26px #0005}.rarity-card-legendary{box-shadow:0 0 0 1px #ffbf283b,0 12px 30px #ffb00010}.rarity-card-mythic{box-shadow:0 0 0 1px #ff46773b,0 12px 30px #ff3c6b12}.rarity-card-secret{box-shadow:0 0 0 1px #ffffff35,0 12px 30px #ffffff0d}.rarity-card-limited{box-shadow:0 0 0 1px #ff831f45,0 12px 32px #ff781513}
/* Profile / services */
.panel-gold{border:1px solid #4b3a16;background:linear-gradient(180deg,#171309,#0b0d10);border-radius:19px}.profile-card{display:flex;align-items:center;gap:12px;padding:14px}.profile-id{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid #8c6918;color:#ffe47a;font-weight:950}.profile-card .grow{display:grid;gap:4px}.profile-card .grow span{color:#8b929c;font-size:11px}.profile-value{text-align:right}.profile-value small{display:block;color:#7f8790}.profile-value b{color:#ffdb62}.group-title,.list-title{font-size:12px;color:#9aa1aa;text-transform:uppercase;letter-spacing:.8px;margin:18px 4px 8px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.menu-grid button{min-height:86px;text-align:left;border:1px solid #2c3239;background:linear-gradient(180deg,#14181e,#0d1014);border-radius:18px;color:#fff;padding:12px}.menu-grid button>span:first-child{font-size:20px}.menu-grid b{display:block;margin-top:7px}.menu-grid small,.menu-grid button>span:last-child{display:block;color:#7e8791;font-size:9px;margin-top:2px}.service-grid button{border-color:#3a3526}.fee-pill{font-size:10px;padding:6px 9px;border:1px solid #3a424b;border-radius:999px;color:#aeb5be}.field{display:grid;gap:5px}.field label{font-size:10px;color:#8d95a0}.field label span{color:#5f6670}.field input,.field select,.formstack input,.formstack select{width:100%;border:1px solid #303740;background:#0d1116;color:#fff;border-radius:13px;padding:12px;outline:none}.field input:focus,.formstack input:focus{border-color:#86651a;box-shadow:0 0 0 2px #ffbf1515}.duel-create{padding:13px}.duel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.duel-tabs button{border:1px solid #303740;border-radius:12px;background:#11151a;color:#9ba3ad;padding:10px}.duel-tabs button.active{border-color:#8a6617;color:#ffdc66;background:#1a160d}.wide{width:100%;min-height:46px;border-radius:14px;border:0;font-weight:900;margin-top:8px}
/* Lists and market */
.market-list{display:grid;gap:8px}.listitem{display:flex;align-items:center;gap:10px;border:1px solid #2a3037;background:#0f1318;border-radius:16px;padding:9px}.listitem>img{width:72px;height:58px;object-fit:contain;border-radius:10px;background:#0a0c0f}.listitem b{font-size:12px}.price{color:#ffd65a;font-weight:900;margin-top:4px}.empty-list{text-align:center;color:#767e88;padding:30px 10px}
/* Modal / dialog: never use ugly browser confirms */
.modal,.dialog{position:fixed;inset:0;z-index:100}.backdrop,.dialog-backdrop{position:absolute;inset:0;background:#000b;backdrop-filter:blur(8px)}.sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,720px);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#11151a,#07090c);border:1px solid #303740;border-bottom:0;border-radius:26px 26px 0 0;padding:18px 14px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -24px 70px #000;animation:sheetUp .25s ease}.sheet-grabber{width:42px;height:4px;border-radius:99px;background:#3a4047;margin:-7px auto 12px}.sheet-close{position:absolute;right:11px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid #313840;background:#15191e;color:#aaa;font-size:20px}.sheet h2{margin:2px 42px 12px 2px}.dialog-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90%,390px);background:linear-gradient(180deg,#161b21,#0b0e12);border:1px solid #3b424a;border-radius:22px;padding:18px;text-align:center;box-shadow:0 25px 80px #000;animation:dialogIn .18s ease}.dialog-icon{font-size:36px}.dialog-card h3{margin:8px 0 5px}.dialog-card p{color:#a2a9b2;font-size:12px;line-height:1.5}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.dialog-actions button{border:1px solid #343b43;background:#11151a;color:#fff;border-radius:13px;padding:11px}.dialog-actions .confirm{border-color:#8b6414;background:linear-gradient(135deg,#ffe06c,#ffaf0b);color:#171006;font-weight:900}.notice{border:1px solid #313840;background:#101419;border-radius:14px;padding:10px;color:#aab1ba;font-size:11px;line-height:1.45}.notice.success{border-color:#2f6640;background:#0f1b13;color:#9fe1b1}.notice.danger{border-color:#67343b;background:#211114;color:#ff9aa5}.choice-list,.formstack{display:grid;gap:8px}.choice{width:100%;border:1px solid #2c333b;background:#11151a;color:#fff;border-radius:15px;padding:11px;display:flex;align-items:center;justify-content:space-between;text-align:left}.choice small{display:block;color:#7f8791;margin-top:3px}.choice.active{border-color:#806016;background:#1a160c}.check{color:#ffd65b}.upgrade-grid,.crate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.select-car-card,.feature-card{position:relative;border:1px solid #2b323a;background:linear-gradient(180deg,#15191f,#0e1115);border-radius:16px;padding:8px;color:#fff;text-align:left;overflow:hidden}.select-car-card.active,.feature-card.active{border-color:#9b7319;box-shadow:0 0 0 1px #ffc6322e}.select-car-card img{width:100%;height:96px;object-fit:contain;background:radial-gradient(circle,#32260f,#101318 70%);border-radius:11px}.select-car-card b,.feature-card b{display:block;margin-top:6px}.select-car-card small,.feature-card small{font-size:9px;color:#7f8791}.feature-icon{font-size:28px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.panel{background:#11151a;border:1px solid #2b323a;border-radius:15px;padding:10px}.panel b{font-size:20px}.modal-hero .car-hero{min-height:460px}.modal-hero .single-actions{display:none}.toast{position:fixed;z-index:180;left:50%;bottom:calc(var(--nav-h) + 18px);transform:translate(-50%,18px);opacity:0;max-width:88%;background:#161b21;border:1px solid #3a424b;color:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 15px 45px #000b;font-size:11px;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Wheel */
.wheel-wrap{display:grid;place-items:center;margin:14px auto 16px;position:relative;width:300px;height:300px}.wheel-pointer{position:absolute;z-index:10;top:1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:30px solid #ffe36c;filter:drop-shadow(0 4px 5px #000)}.wheel{position:relative;width:268px;height:268px;border-radius:50%;border:8px solid #231d10;box-shadow:0 0 0 2px #98731a,0 0 48px #ffad1c20;overflow:hidden;transition:transform 4.3s cubic-bezier(.12,.72,.08,1);background:conic-gradient(#3e2b0f 0 45deg,#12161b 45deg 90deg,#563714 90deg 135deg,#15191e 135deg 180deg,#3c2d13 180deg 225deg,#12161b 225deg 270deg,#633b12 270deg 315deg,#211019 315deg 360deg)}.wheel-sector{position:absolute;left:50%;top:50%;width:1px;height:1px;transform:rotate(var(--a)) translateY(-101px) rotate(calc(-1 * var(--a)));z-index:2}.wheel-sector span{position:absolute;left:-45px;top:-12px;width:90px;text-align:center;font-size:9px;font-weight:900;color:#f8e4a7;text-shadow:0 1px 5px #000;line-height:1.05}.wheel-hub{position:absolute;z-index:6;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#312919,#0b0e11 72%);border:2px solid #a47a1c;display:grid;place-items:center;color:#ffd65a;font-weight:950;box-shadow:0 0 24px #000}.cooldown-card{text-align:center;background:#11151a;border:1px solid #2e353d;border-radius:15px;padding:12px}.cooldown-card b{font-size:18px;color:#ffd55e;display:block}
/* Drop reveal effects */
.drop-fx{position:fixed;inset:0;z-index:160;pointer-events:none;overflow:hidden;animation:fxFade 1.65s ease forwards}.drop-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 47%,transparent 0 20%,#000c 72%);animation:vignetteFlash 1.1s ease}.drop-halo{position:absolute;left:50%;top:47%;width:22vmin;height:22vmin;border-radius:50%;transform:translate(-50%,-50%) scale(.2);filter:blur(12px);animation:haloBurst 1.2s ease-out}.drop-ring{position:absolute;left:50%;top:47%;width:80px;height:80px;border:1px solid currentColor;border-radius:50%;transform:translate(-50%,-50%);animation:ringOut 1.1s ease-out forwards}.drop-ring.r2{animation-delay:.12s}.drop-sweep{position:absolute;left:-25%;top:0;width:18%;height:100%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,#fff7,transparent);filter:blur(8px);animation:sweepAcross .9s .15s ease-out forwards}.drop-fx i{position:absolute;left:50%;top:47%;width:3px;height:19vh;border-radius:99px;transform-origin:50% 0;transform:rotate(calc(var(--i)*30deg)) translateY(22px);opacity:0;animation:rayBurst .95s ease-out}.fx-rare{color:#4ba5ff}.fx-epic{color:#c05cff}.fx-legendary{color:#ffc83e}.fx-mythic{color:#ff4f80}.fx-secret{color:#fff}.fx-limited{color:#ff8a2a}.fx-rare .drop-halo{background:#3b9cff}.fx-epic .drop-halo{background:#a946ff}.fx-legendary .drop-halo{background:#ffc127}.fx-mythic .drop-halo{background:#ff3d72}.fx-secret .drop-halo{background:#fff}.fx-limited .drop-halo{background:#ff7d1d}.drop-fx i{background:linear-gradient(currentColor,transparent)}
.confetti{position:fixed;inset:0;z-index:170;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-15px;width:6px;height:11px;background:#ffc633;animation:fall 2s ease-in forwards}
/* Bottom nav */
.bottom-nav{position:fixed;z-index:50;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,720px);height:calc(var(--nav-h) + var(--safe-bottom));padding:8px 8px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #20252b}.bottom-nav button{border:0;background:transparent;color:#707985;display:grid;place-items:center;align-content:center;gap:3px}.bottom-nav button span{font-size:20px}.bottom-nav button b{font-size:9px}.bottom-nav button.active{color:#ffd45b}.bottom-nav .roll-nav{position:relative}.bottom-nav .roll-nav span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid #805f16;background:#17130a;margin-top:-25px;box-shadow:0 0 24px #ffb0001c}.bottom-nav .roll-nav.active span{background:linear-gradient(135deg,#ffe067,#f4a707);color:#161006;box-shadow:0 0 28px #ffb10d44}
.no-animations *, .no-animations *:before,.no-animations *:after{animation:none!important;transition-duration:.01ms!important}.no-animations .drop-fx,.no-animations .confetti{display:none!important}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes carFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.008)}}@keyframes auraBreath{0%,100%{transform:scale(.94);opacity:.27}50%{transform:scale(1.08);opacity:.42}}@keyframes digitDrop{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}@keyframes rarityFlow{to{background-position:220% 0}}@keyframes popIn{from{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}@keyframes sheetUp{from{transform:translate(-50%,28px);opacity:0}}@keyframes dialogIn{from{transform:translate(-50%,-47%) scale(.97);opacity:0}}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(600deg)}}@keyframes fxFade{0%,78%{opacity:1}to{opacity:0}}@keyframes vignetteFlash{0%{opacity:0}20%{opacity:1}100%{opacity:.2}}@keyframes haloBurst{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}22%{opacity:.9}100%{transform:translate(-50%,-50%) scale(6);opacity:0}}@keyframes ringOut{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{opacity:1}100%{transform:translate(-50%,-50%) scale(7);opacity:0}}@keyframes sweepAcross{to{left:125%;opacity:0}}@keyframes rayBurst{15%{opacity:.85}100%{height:48vh;opacity:0}}
@media(max-width:470px){.topbar{padding:9px}.id-medallion{width:48px;height:48px}.brand{font-size:18px}.stat-chip{padding:0 9px}.money-chip{min-width:112px;padding-inline:9px}.content{padding:9px}.hero-card,.car-hero{min-height:505px}.car-hero{padding:14px 13px 126px}.hero-title h2{font-size:26px}.hero-car-stage{height:216px}.condition-big{font-size:17px}.hero-value strong{font-size:27px}.roll-buttons{grid-template-columns:1.15fr .85fr}.roll-btn{min-height:70px}.car-grid{gap:7px}.image-wrap{height:108px}.menu-grid{gap:7px}.wheel-wrap{transform:scale(.93);margin-top:0;margin-bottom:0}}
@media(max-width:380px){.top-stats .stat-chip{display:none}.hero-title h2{font-size:23px}.hero-car-stage{height:200px}.condition-big{font-size:15px}.single-actions button{font-size:12px}.car-grid{grid-template-columns:1fr 1fr}}
.kept-status{grid-column:1/-1;padding:16px;border-radius:16px;border:1px solid #2c6a40;background:#0e1c13;color:#8ee6a7;text-align:center;font-weight:900}


/* V10 viewport safety: no sheet or child can create horizontal scrolling. */
html,body,.app-shell,.modal,.sheet,#modalBody{max-width:100vw;overflow-x:hidden}
.sheet{width:100%;max-width:720px;overscroll-behavior-x:none}
.sheet *,#modalBody *{max-width:100%;min-width:0}
.choice,.panel,.field,.formstack,.listitem,.daily-task,.daily-all{overflow-wrap:anywhere}

/* Luck modal: keep the countdown separated from milestone labels on narrow phones. */
.luck-info-panel{margin-top:10px;display:grid;gap:9px}
.luck-main-line{display:block;font-size:22px;line-height:1.15;color:#fff;white-space:normal}
.luck-milestones{display:flex;flex-wrap:wrap;gap:7px}
.luck-milestones span{border:1px solid #343a42;border-radius:999px;padding:6px 9px;color:#c4cad1;font-size:11px;white-space:nowrap}
.luck-base-line{margin-top:1px}

.duel-history{display:grid;gap:7px;margin-bottom:12px}
.duel-history-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid #2d333a;background:#0d1116}
.duel-history-row>span{min-width:74px;font-weight:900;font-size:11px;text-transform:uppercase}
.duel-history-row.win>span{color:#53df7b}.duel-history-row.loss>span{color:#ff6c78}
.duel-history-row b{display:block;font-size:12px}.duel-history-row small{color:#858d98;font-size:10px}

.tutorial-card p{color:#a7afb9;line-height:1.55;font-size:13px}.tutorial-step{color:#d7b551;font-size:11px;font-weight:900;letter-spacing:.8px}.tutorial-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:18px}.tutorial-actions button{min-height:48px;border-radius:14px;border:1px solid #343a42}.tutorial-actions .primary-gold{border-color:#8b6414;font-weight:900}

/* Brand marks are intentionally readable in the garage, not micro badges. */
.garage-brand-logo{height:36px!important;max-width:58px!important;width:auto!important;object-fit:contain!important}

/* x5 result carousel hint: a subtle nudge makes swipe affordance obvious. */
.swipe-hint:not(.seen){animation:swipeNudge 1.5s ease-in-out 2}
@keyframes swipeNudge{0%,100%{transform:translateX(0);opacity:.72}35%{transform:translateX(-8px);opacity:1}70%{transform:translateX(8px);opacity:1}}

.badge.limited{border-color:#71e6ef!important}.rarity-text-limited,.rarity-name.limited{background-image:linear-gradient(90deg,#eaffff,#6cecff,#fff,#83bfff,#83ffe5,#eaffff)!important}.rarity-card-limited{box-shadow:0 0 0 1px #72e9f05c,0 12px 32px #65e6ff17!important}
/* Administration and Discord-style audit cards: mobile first. */
.admin-section{border:1px solid #28313d;border-radius:14px;background:#111923;margin:10px 0;min-width:0}
.admin-section>summary{list-style:none;cursor:pointer;font-size:18px;font-weight:750;padding:17px;min-height:48px;position:relative;padding-right:38px}
.admin-section>summary:after{content:'⌄';position:absolute;right:16px;top:18px;color:#aab8cb}
.admin-section[open]>summary:after{content:'⌃'}
.admin-section summary small{display:block;color:#aab8cb;font-size:12px;font-weight:400;margin-top:5px}
.admin-section-content{padding:0 12px 12px;display:grid;gap:8px;min-width:0}
.admin-section-content .choice{width:100%;min-height:48px;white-space:normal;text-align:left}
.admin-section-content .choice span{min-width:0;overflow-wrap:anywhere}
.admin-section-content .admin-grid{margin-top:0!important}
.admin-audit-sheet h2{font-size:27px;line-height:1.15}
.admin-audit-sheet .audit-head{align-items:flex-start;gap:8px}
.admin-audit-sheet .audit-head>div{min-width:0}
.admin-audit-sheet .audit-head p{font-size:13px;margin:6px 0 0}
.audit-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}
.audit-categories button{min-height:44px;font-size:12px;background:#17212d;border:1px solid #303c4d;white-space:normal}
.audit-categories button.active{color:#ffd452;border-color:#d5b543;background:#342e1a}
#modalBody .audit-categories .smallbtn{font-size:11px;padding:6px;line-height:1.3}
#modalBody .audit-categories .smallbtn.active{color:#ffd452;border-color:#d5b543;background:#342e1a}
#modalBody .audit-event .audit-category{color:var(--audit-accent);border-color:var(--audit-accent);background:transparent;font-size:11px}
.admin-audit-sheet #modalBody .audit-head{padding:10px;margin-bottom:0}
.admin-audit-sheet #modalBody .audit-head h2{font-size:26px!important}
.admin-audit-sheet #modalBody .audit-kpis{display:none}
.audit-filter-panel{margin:12px 0;border:1px solid #303c4d;border-radius:12px;padding:0 12px;background:#111923}
.audit-filter-panel>summary{min-height:48px;display:flex;align-items:center;cursor:pointer}
.admin-audit-sheet .audit-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:12px}
.admin-audit-sheet .audit-filters .field{margin:0;min-width:0}
.audit-toolbar{display:flex;gap:10px;margin:12px 0}
.audit-toolbar button{min-height:44px;flex:1}
.audit-list{display:grid;gap:9px;min-width:0;margin-top:12px}
.audit-event{--audit-accent:#a7b7cb;background:#111b27;border:1px solid #283545;border-radius:14px;overflow-wrap:anywhere;min-width:0}
.audit-event.group-punishment{--audit-accent:#ff8087}.audit-event.group-economy,.audit-event.group-stars{--audit-accent:#f4cb55}.audit-event.group-market{--audit-accent:#b095ff}.audit-event.group-cars{--audit-accent:#65b9ff}.audit-event.group-rewards{--audit-accent:#8fdbb9}.audit-event.group-administration{--audit-accent:#ecc07f}
.audit-event>details>summary{list-style:none;cursor:pointer;padding:13px;min-height:48px}
.audit-event summary::-webkit-details-marker,.admin-section summary::-webkit-details-marker{display:none}
.audit-event-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.audit-event .audit-category{color:var(--audit-accent);border:1px solid currentColor;border-radius:7px;padding:5px 7px;background:none;max-width:75%;white-space:normal}
.audit-event time{color:#aab8cb;flex-shrink:0}
.audit-event-actor{display:grid;gap:3px;margin-top:10px;font-size:14px}.audit-event-actor small{font-size:12px;color:#aab8cb}
.audit-event-description{font-size:14px;line-height:1.5;margin:9px 0}
.audit-event-footer{display:flex;align-items:center;gap:8px;font-size:12px}.audit-event-footer>span:first-child{flex:1;min-width:0;color:#aab8cb}
.audit-status{display:inline-flex;align-items:center;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:650;flex-shrink:0}
.audit-status.success{color:#64e7bd;background:#11332e}.audit-status.rejected{color:#ff939c;background:#36202b}.audit-status.error{color:#ffbb76;background:#382b1e}
.audit-event-details{border-top:1px solid #283545;padding:12px;font-size:13px;animation:auditOpen .16s ease-out}
.audit-event-details dl{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:0 0 12px}.audit-event-details dt{color:#aab8cb}.audit-event-details dd{margin:0 0 7px;overflow-wrap:anywhere}
.audit-event-details .audit-ru-details{white-space:pre-wrap;overflow-wrap:anywhere;padding:0;font-size:13px}
.audit-technical{margin-top:12px}.audit-technical summary{padding:12px 0;min-height:44px;cursor:pointer}.audit-technical pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:300px;overflow:auto}
.audit-pager{display:flex;gap:8px;margin-top:14px}.audit-pager button{flex:1;min-width:0;min-height:44px}
.admin-player-profile:empty{display:none}.admin-player-profile{background:#111b27;border:1px solid #283545;border-radius:14px;padding:14px;overflow-wrap:anywhere}
.admin-player-profile p{font-size:13px;line-height:1.5}.admin-player-profile summary{min-height:44px;padding:12px 0;cursor:pointer}
.admin-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.admin-profile-stats>div{background:#17212d;padding:10px;border-radius:10px;min-width:0}.admin-profile-stats small{display:block;color:#aab8cb;font-size:12px}.admin-profile-stats b{font-size:15px;overflow-wrap:anywhere}
.admin-player-profile [hidden],#modalBody [hidden]{display:none!important}
.admin-section summary:focus-visible,.audit-event summary:focus-visible{outline:2px solid #f4cb55;outline-offset:2px;border-radius:12px}
@keyframes auditOpen{from{opacity:.5}to{opacity:1}}
@media(min-width:650px){.admin-audit-sheet .audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-event-details dl{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}
@media(prefers-reduced-motion:reduce){.audit-event-details{animation:none}}
