/* Additive controls only. All reference page geometry is in main.css. */
button,input,select{font:inherit}button{color:inherit}button:disabled{opacity:.55;cursor:wait}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,[data-game]:focus-visible{outline:2px solid #ff5a65;outline-offset:4px}
[hidden]{display:none!important}.nav-utilities{display:flex;gap:12px;align-items:center;white-space:nowrap}
.nav-utilities select{background:#181b21;border:1px solid #36383e;color:white;border-radius:6px;padding:6px 4px;font-size:12px}
.nav-utilities .login-link{font-size:13px}.text-button{border:0;background:none;color:#ff6570;padding:0;cursor:pointer;font-weight:600;font-size:13px}.text-button:hover{text-decoration:underline}
[data-game]{cursor:pointer}.gift-fab,.market-fab{position:fixed;right:24px;z-index:120;border-radius:999px;padding:8px 19px;box-shadow:0 6px 30px #0008;cursor:pointer}
.gift-fab{bottom:24px;border:1px solid #fc5867;background:linear-gradient(135deg,#f03546,#a70f23);min-height:48px;font-size:16px;font-weight:800}.gift-fab span{margin-right:4px}.gift-fab:hover{transform:translateY(-3px)}
.market-fab{bottom:82px;border:1px solid #4a4550;background:#191c23;min-height:36px;font-size:12px;color:#e5e3eb}
.market-head{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:26px 0 20px}.market-time{min-height:20px;margin-top:12px;font-size:12px;color:#9ea2aa}
.price-live{color:#71d6a4}.price-stale{color:#e4b667}
dialog{color:var(--text);border:1px solid #45414c;background:#13151b;border-radius:22px;padding:0;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;box-shadow:0 35px 120px #000b}dialog::backdrop{background:#030408c9;backdrop-filter:blur(9px)}body:has(dialog[open]){overflow:hidden}.modal-close{position:absolute;right:16px;top:13px;border:1px solid #ffffff22;background:#ffffff09;border-radius:50%;width:32px;height:32px;font-size:23px;line-height:1;cursor:pointer;z-index:3;color:#ddd}.modal-close:hover{background:#ffffff20}#dialogContent{padding:38px 34px 30px}.modal-brand{display:flex;align-items:center;justify-content:center;gap:10px;color:white;font-size:19px;letter-spacing:.12em;font-weight:800;margin-bottom:28px}.modal-brand img{width:36px;height:36px}.modal-heading{text-align:center;font-size:27px;letter-spacing:-.03em;margin-bottom:8px}.modal-description{text-align:center;font-size:14px;color:#a1a2ac;margin-bottom:23px}.auth-form{display:grid;gap:16px}.field{display:grid;gap:6px;font-size:13px;color:#d3d2da}.field input{width:100%;border:1px solid #393a45;background:#0d0f14;color:#fff;border-radius:9px;height:48px;padding:12px;font-size:15px;outline:0}.field input:focus{border-color:#f04455;box-shadow:0 0 0 3px #f0445518}.password-field{position:relative}.password-field input{padding-right:54px}.password-toggle{position:absolute;right:6px;top:6px;height:36px;width:42px;border:0;background:none;cursor:pointer;font-size:12px;color:#b5b1bc}.ack{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:#b6b2bd}.ack input{accent-color:#e12231;width:16px;height:16px;flex:none;margin-top:2px}.form-error{color:#ff8b97;font-size:13px;min-height:0}.form-error:empty{display:none}.auth-form .btn{width:100%;font-size:14px}.auth-switch{display:block;text-align:center;font-size:13px;margin:20px auto 0;color:#ed6c7a}.privacy-note{border-top:1px solid #ffffff12;padding-top:17px;margin-top:20px;color:#8f8c98;font-size:11px;line-height:1.7}.promo-modal{text-align:center}.promo-kicker{font-size:9px;letter-spacing:.14em;color:#ff9ca6;margin:6px 0 18px}.promo-art{position:relative;display:grid;place-items:center;height:195px;margin:-10px -34px 5px;overflow:hidden;background:radial-gradient(ellipse,#931b3380,transparent 65%)}.promo-art::before,.promo-art::after{content:'✦';position:absolute;color:#ffb3b9;font-size:34px;left:30px;top:20px;transform:rotate(14deg)}.promo-art::after{left:auto;right:33px;top:140px;font-size:22px}.voucher-ticket{border:1px solid #ec6d7e;background:linear-gradient(130deg,#fb6b78,#d32740 40%,#8b102e);border-radius:15px;width:268px;min-height:147px;padding:18px 26px;box-shadow:0 20px 36px #0006;transform:rotate(-7deg);color:white;text-align:left;position:relative}.voucher-ticket::after{content:'';position:absolute;right:35px;top:0;bottom:0;border-left:2px dashed #ffc6ce70}.voucher-ticket small{font-size:9px;letter-spacing:.15em}.voucher-ticket strong{display:block;font-size:64px;line-height:1.15;letter-spacing:-.05em}.voucher-ticket p{font-size:9px;letter-spacing:.17em}.promo-modal .modal-heading{font-size:28px}.promo-modal .btn{width:100%;margin-top:6px;font-size:15px}.promo-later{display:block;margin:15px auto;color:#9996a1}.promo-terms{font-size:11px;line-height:1.6;color:#8b8491;margin-top:18px}.account-greeting{text-align:center;color:#b2aeb9;margin-bottom:20px}.account-voucher{border:1px solid #813142;background:linear-gradient(135deg,#3e1925,#1b1721);border-radius:14px;padding:22px;text-align:center;margin:20px 0}.account-voucher strong{display:block;font-size:59px;line-height:1.3;color:#fff;letter-spacing:-.04em}.account-voucher small{color:#f88d9a;font-size:10px;letter-spacing:.07em}.account-voucher p{font-size:12px;color:#c0a3ae;margin-top:10px}.account-actions{display:grid;gap:14px}.account-actions .btn{font-size:14px}.modal-shot{width:100%;border-radius:12px;margin:18px 0}.info-body{line-height:1.9;font-size:14px;color:#aaa6b4;margin:20px 0}.game-symbol{font-size:70px;color:#ed5264;text-align:center;margin:12px 0}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:300;background:#25232d;padding:12px 22px;border:1px solid #64606d;border-radius:10px;display:none}.toast.show{display:block}

#marketDialog{width:min(650px,calc(100% - 32px))}.market-panel{padding:40px 30px 26px}.market-panel h2{font-size:27px;margin-bottom:12px}.market-panel>p{font-size:13px;color:#aaa6b4}.market-panel small{color:#999;margin-left:5px}
#transitionDialog{border:0;border-radius:0;box-shadow:none;background:#0a0e1a;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden;margin:0;padding:0;text-align:center}
#transitionDialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
#transitionDialog::backdrop{background:#0a0e1a;backdrop-filter:none}.loading-logo{display:block;width:64px;height:64px;border-radius:50%;animation:logoBreathe 1.8s ease-in-out infinite}
#transitionTitle{margin-top:40px;font-size:14px;letter-spacing:.02em;color:#fff}.transition-track{margin-top:12px;width:180px;height:3px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.transition-track span{display:block;height:100%;background:#e12231;transform-origin:left;animation:progress 5s linear forwards}
#cancelTransition{margin-top:22px;height:40px;padding:0 20px;font-size:14px;color:#a8adb9;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:transparent;font-weight:400}
@keyframes logoBreathe{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(225,34,49,.35)}50%{transform:scale(1.08);box-shadow:0 0 0 14px rgba(225,34,49,0)}}
@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1023px){.nav-utilities{border-top:1px solid #ffffff12;padding-top:12px;margin-top:4px}.nav-utilities select{min-height:36px}.nav-utilities .login-link{padding:0 8px}}
@media(max-width:560px){.gift-fab,.market-fab{right:14px}.gift-fab{bottom:18px;min-height:44px;padding:8px 15px}.market-fab{bottom:72px}#dialogContent{padding:38px 24px 25px}.promo-art{margin-left:-24px;margin-right:-24px}.modal-heading{font-size:24px}.promo-modal .modal-heading{font-size:25px}.market-panel{padding:40px 20px 24px}.market-panel .pay-table{min-width:450px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loading-logo,.transition-track span{animation:none}.transition-track span{transform:scaleX(1)}}
