:root{
  --ob:#737894;
  --ob-dark:#151A26;
  --ob-soft:rgba(115,120,148,.18);
  --bg:#07080c;
  --panel:#0b0d13;
  --card:#11141d;
  --card2:#171b26;
  --border:rgba(115,120,148,.22);
  --border2:rgba(255,255,255,.08);
  --text:#f4f6fb;
  --muted:#8f96aa;
  --danger:#ef4444;
  --success:#22c55e;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 60% 0%,rgba(115,120,148,.14),transparent 34%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial,sans-serif;min-height:100vh}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}.hidden{display:none!important}
.landing{min-height:100vh;display:grid;place-items:center;padding:32px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 10%,var(--ob-soft),transparent 34%),linear-gradient(180deg,#0b0d13,#050609)}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(#000,transparent 80%)}
.hero-card{width:min(880px,100%);border:1px solid var(--border);background:linear-gradient(180deg,rgba(18,21,32,.92),rgba(10,12,18,.92));box-shadow:0 30px 90px rgba(0,0,0,.45);border-radius:24px;padding:56px;position:relative;overflow:hidden}.hero-card:before,.card:before,.redeem-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,var(--ob-soft),transparent 38%);pointer-events:none}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--ob);font-weight:900}.hero-card h1{font-size:clamp(36px,6vw,72px);line-height:.95;margin:18px 0;letter-spacing:-.06em}.hero-card p{font-size:18px;color:var(--muted);max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:1px solid var(--border);border-radius:12px;padding:12px 18px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;transition:.18s;min-height:44px}.btn:hover{transform:translateY(-1px);border-color:rgba(115,120,148,.55)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,var(--ob),#a2a8c5);color:#07080c;border-color:transparent;font-weight:900}.btn.ghost{background:rgba(115,120,148,.08)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.stats-row div{border:1px solid var(--border);border-radius:16px;padding:16px;background:rgba(255,255,255,.03)}.stats-row strong,.stats-row span{display:block}.stats-row span{color:var(--muted);font-size:13px;margin-top:4px}
.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;background:linear-gradient(180deg,#0e1018,#090a0f);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;justify-content:center;margin-bottom:28px;padding:6px 0 10px}.brand img{width:74px;height:74px;object-fit:contain;display:block;filter:drop-shadow(0 10px 28px rgba(115,120,148,.24))}.brand span,.brand b{display:none}.nav{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--muted);padding:12px 14px;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:.18s}.nav:hover,.nav.active{background:var(--ob-soft);border-color:var(--border);color:var(--text)}.panel{padding:28px;max-width:1450px;width:100%;margin:0 auto}
.player-banner{position:relative;min-height:188px;border:1px solid var(--border);border-radius:28px;margin-bottom:28px;background-size:cover!important;background-position:center!important;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.25)}.player-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.22));pointer-events:none}.banner-shade{position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.15),transparent 38%),linear-gradient(180deg,transparent,rgba(0,0,0,.36));pointer-events:none}.player-banner-content{position:relative;z-index:2;min-height:188px;padding:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.player-banner h2{font-size:40px;margin:3px 0 0;letter-spacing:-.05em}.soft-title{font-size:13px}.profile{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.14);background:rgba(9,10,15,.55);backdrop-filter:blur(16px);border-radius:18px;padding:10px 12px;box-shadow:0 12px 40px rgba(0,0,0,.22)}.profile span{display:block;color:var(--muted);font-size:12px}.avatar{width:46px;height:46px;border-radius:15px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.18)}.ghost-avatar{background:linear-gradient(135deg,var(--ob-soft),rgba(255,255,255,.04))}
.card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(18,21,32,.95),rgba(12,14,20,.95));padding:22px;margin-bottom:22px}.card.narrow{max-width:540px}.card h3,.section-head h3,.redeem-card h3{margin:8px 0 6px;font-size:25px;letter-spacing:-.035em}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.muted{color:var(--muted);margin:0}.mini{font-size:13px;margin-top:4px}.small-note{font-size:13px;margin-top:14px}.notice{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid rgba(239,68,68,.24);background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(115,120,148,.06));border-radius:18px;padding:14px 16px;margin-bottom:18px}.notice span{color:var(--muted)}
.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}.char-card{border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,var(--card),rgba(12,14,20,.94));overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.22);transition:.18s}.char-card:hover{transform:translateY(-2px);border-color:rgba(115,120,148,.42)}.char-image{height:215px;background:radial-gradient(circle at center,var(--ob-soft),transparent 45%),linear-gradient(135deg,#171b27,#08090d);display:grid;place-items:center;position:relative}.char-image:after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,rgba(0,0,0,.48))}.char-image img{width:100%;height:100%;object-fit:cover}.silhouette{width:105px;height:105px;border-radius:34px;background:linear-gradient(135deg,var(--ob),#2d3145);box-shadow:0 0 70px var(--ob-soft);display:grid;place-items:center}.silhouette span{width:38px;height:54px;border-radius:22px 22px 12px 12px;border:2px solid rgba(255,255,255,.35);border-top-width:8px}.char-body{padding:18px}.char-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.char-title h4{margin:0;font-size:22px;letter-spacing:-.03em}.badge{font-size:11px;color:#d9ddf2;background:var(--ob-soft);border:1px solid var(--border);padding:5px 9px;border-radius:999px;white-space:nowrap}.wallet-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.wallet-row div{border:1px solid rgba(115,120,148,.18);border-radius:16px;padding:13px;background:linear-gradient(180deg,rgba(115,120,148,.12),rgba(255,255,255,.025))}.wallet-row span,.info span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.wallet-row b,.info b{display:block;margin-top:4px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.info{border:1px solid rgba(115,120,148,.14);border-radius:14px;padding:10px;background:rgba(255,255,255,.025)}.danger{color:#fff;background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.28);width:100%;margin-top:16px}.danger:hover{border-color:rgba(239,68,68,.6)}.small-danger{width:auto;margin-top:0}.danger-text{color:#fb7185}.empty-state{grid-column:1/-1}
input,select{width:100%;border:1px solid var(--border);border-radius:14px;background:#0b0d13;color:var(--text);padding:14px 15px;outline:none;margin-top:12px}input:focus,select:focus{border-color:rgba(115,120,148,.8);box-shadow:0 0 0 4px var(--ob-soft)}.result{min-height:24px;color:var(--muted)}.result.error{color:#fb7185}
.redeem-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.redeem-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:28px;background:linear-gradient(135deg,rgba(20,24,35,.96),rgba(8,9,14,.96));padding:32px;min-height:270px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.redeem-card h3{font-size:34px}.redeem-input-wrap{display:flex;gap:10px;margin-top:22px}.redeem-input-wrap input{margin-top:0;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.redeem-input-wrap .btn{min-width:130px}.redeem-side{margin-bottom:0}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form .btn,.admin-form .result{grid-column:1/-1}.admin-form input,.admin-form select{margin-top:0}.code-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:18px}.code-card{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03);padding:14px}.code-card b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#d9ddf2}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.66);display:grid;place-items:center;padding:24px;z-index:100}.modal-card{width:min(460px,100%);border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#151925,#0b0d13);box-shadow:0 30px 100px rgba(0,0,0,.55);padding:24px}.modal-card h3{font-size:26px;margin:8px 0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
@media(max-width:950px){.redeem-shell{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.brand{justify-content:flex-start;margin-bottom:18px;padding:0}.brand img{width:58px;height:58px}.player-banner-content{align-items:flex-start;flex-direction:column;justify-content:flex-end}.hero-card{padding:30px}.stats-row,.admin-form{grid-template-columns:1fr}.panel{padding:18px}.redeem-input-wrap{flex-direction:column}.notice{align-items:flex-start;flex-direction:column}.player-banner h2{font-size:34px}}

/* New One Bullet portal polish */
.landing-new{background:radial-gradient(circle at 50% 0%,rgba(115,120,148,.25),transparent 30%),linear-gradient(135deg,#05060a,#0b0d13 55%,#151A26);}
.orb{position:absolute;border-radius:999px;filter:blur(24px);opacity:.48;pointer-events:none}.orb-a{width:260px;height:260px;right:8%;top:12%;background:rgba(115,120,148,.28)}.orb-b{width:180px;height:180px;left:10%;bottom:14%;background:rgba(255,255,255,.08)}
.login-card{width:min(560px,100%);position:relative;text-align:center;border:1px solid rgba(115,120,148,.28);border-radius:34px;padding:48px 38px;background:linear-gradient(180deg,rgba(20,24,36,.88),rgba(7,8,12,.92));box-shadow:0 40px 120px rgba(0,0,0,.55);overflow:hidden;backdrop-filter:blur(18px)}
.login-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at top,var(--ob-soft),transparent 44%);pointer-events:none}.login-card>*{position:relative;z-index:2}.server-logo-wrap{width:150px;height:150px;margin:0 auto 18px;padding:0;background:transparent;border:0;box-shadow:none;display:grid;place-items:center}.server-logo{width:100%;height:100%;object-fit:contain;border-radius:0;background:transparent;filter:drop-shadow(0 22px 55px rgba(0,0,0,.45)) drop-shadow(0 0 36px rgba(115,120,148,.22))}.logo-fallback{display:none;width:116px;height:116px;place-items:center;border-radius:30px;background:linear-gradient(135deg,var(--ob),#1d2233);font-weight:900;font-size:30px;color:#07080c}.login-card h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.065em;margin:6px 0 24px;line-height:.95}.server-title{background:linear-gradient(180deg,#fff,#a8aec7);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 45px rgba(115,120,148,.18)}.login-card p{display:none}.monster-login{width:100%;justify-content:center;display:inline-flex;font-size:17px;border-radius:18px}.login-glow-line{height:1px;width:100%;margin-top:30px;background:linear-gradient(90deg,transparent,var(--ob),transparent);opacity:.7}
.join-gate{min-height:48vh;display:grid;place-items:center}.gate-card{width:min(620px,100%);text-align:center;border:1px solid rgba(115,120,148,.28);border-radius:30px;padding:42px;background:linear-gradient(180deg,rgba(19,22,33,.96),rgba(9,10,15,.96));box-shadow:0 30px 100px rgba(0,0,0,.32);position:relative;overflow:hidden}.gate-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,var(--ob-soft),transparent 44%);pointer-events:none}.gate-card>*{position:relative;z-index:2}.gate-icon{width:70px;height:70px;border-radius:24px;display:grid;place-items:center;margin:0 auto 18px;background:var(--ob-soft);border:1px solid var(--border);font-size:34px;font-weight:900;color:#d9ddf2}.gate-card h3{font-size:38px;margin:10px 0;letter-spacing:-.04em}.gate-card p{color:var(--muted);line-height:1.8;max-width:480px;margin:0 auto 22px}
.nav:disabled{opacity:.38;cursor:not-allowed}.char-card-new{position:relative;background:linear-gradient(160deg,rgba(20,24,35,.96),rgba(9,10,15,.96));}.char-card-new:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(115,120,148,.16),transparent 36%);pointer-events:none}.char-top{position:relative;z-index:1;display:flex;gap:15px;padding:18px 18px 0}.char-face{width:96px;height:96px;border-radius:24px;overflow:hidden;border:1px solid rgba(115,120,148,.28);background:linear-gradient(135deg,#171b27,#08090d);box-shadow:0 16px 50px rgba(0,0,0,.28);flex:0 0 auto}.char-face img,.pick-face img{width:100%;height:100%;object-fit:cover}.char-main{min-width:0;flex:1;padding-top:6px}.face-fallback{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at center,var(--ob-soft),transparent 55%),linear-gradient(135deg,#202536,#090a0f)}.face-fallback span{width:34px;height:44px;border-radius:20px 20px 12px 12px;border:2px solid rgba(255,255,255,.35);border-top-width:8px}.wallet-new{grid-template-columns:repeat(3,1fr)}
.redeem-card-new{min-height:430px}.character-picker{display:grid;gap:10px;margin-top:22px}.pick-character{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:1px solid rgba(115,120,148,.18);border-radius:18px;background:rgba(255,255,255,.028);padding:10px;cursor:pointer;color:var(--text);transition:.16s}.pick-character:hover,.pick-character.active{border-color:rgba(115,120,148,.65);background:var(--ob-soft);transform:translateY(-1px)}.pick-face{width:54px;height:54px;border-radius:16px;overflow:hidden;background:#11141d;border:1px solid rgba(255,255,255,.08);flex:0 0 auto}.pick-character b{display:block}.pick-character span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.redeem-code-input{font-size:18px;text-align:center;letter-spacing:.22em;font-weight:900;text-transform:uppercase;margin-top:18px}.redeem-claim{width:100%;margin-top:12px;border-radius:16px}.reward-preview-card{min-height:210px}.admin-code-builder{max-width:900px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-grid.three{grid-template-columns:repeat(3,1fr)}.admin-code-builder input{margin-top:0}.reward-money-box,.reward-items-box{margin-top:18px;border:1px solid rgba(115,120,148,.16);border-radius:18px;padding:16px;background:rgba(255,255,255,.025)}.reward-money-box h4,.items-head h4{margin:0 0 12px;font-size:16px}.items-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.items-list{display:grid;gap:10px}.item-row{display:grid;grid-template-columns:1fr 120px auto;gap:10px}.admin-code-builder>#createCodeBtn{margin-top:18px;width:100%}.code-card{background:linear-gradient(180deg,rgba(18,21,32,.88),rgba(9,10,15,.88))}
@media(max-width:720px){.wallet-new,.admin-grid,.admin-grid.three,.item-row{grid-template-columns:1fr}.char-top{flex-direction:column}.char-face{width:100%;height:180px}.login-card{padding:34px 22px}.gate-card h3{font-size:30px}}

/* Clean GIF portal login */
.portal-login{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;padding:28px;background:radial-gradient(circle at 50% -10%,rgba(115,120,148,.32),transparent 34%),radial-gradient(circle at 18% 78%,rgba(115,120,148,.14),transparent 28%),linear-gradient(135deg,#05060a 0%,#0a0c12 45%,#151A26 100%)}
.portal-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at center,#000 0%,transparent 76%);opacity:.75}.portal-noise{position:absolute;inset:0;background:radial-gradient(circle at center,transparent,rgba(0,0,0,.48));pointer-events:none}.portal-beam{position:absolute;width:44vw;height:130vh;left:50%;top:50%;transform:translate(-50%,-50%) rotate(22deg);background:linear-gradient(90deg,transparent,rgba(115,120,148,.08),transparent);filter:blur(2px);pointer-events:none}.portal-ring{position:absolute;border-radius:999px;border:1px solid rgba(115,120,148,.16);box-shadow:0 0 90px rgba(115,120,148,.1),inset 0 0 50px rgba(115,120,148,.04);pointer-events:none}.ring-one{width:520px;height:520px;animation:portalFloat 7s ease-in-out infinite}.ring-two{width:760px;height:760px;opacity:.45;animation:portalFloat 9s ease-in-out infinite reverse}@keyframes portalFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.02)}}
.portal-panel{width:min(520px,100%);position:relative;text-align:center;padding:34px 28px 30px;border:1px solid rgba(115,120,148,.22);border-radius:34px;background:linear-gradient(180deg,rgba(16,19,29,.62),rgba(7,8,12,.78));box-shadow:0 44px 140px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(18px);overflow:hidden}.portal-panel:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 50% 0%,rgba(115,120,148,.22),transparent 42%);pointer-events:none}.portal-panel:after{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);pointer-events:none}.portal-panel>*{position:relative;z-index:2}.portal-logo-zone{width:min(260px,70vw);height:210px;margin:0 auto 6px;display:grid;place-items:center;background:transparent;border:0;box-shadow:none}.portal-logo{max-width:100%;max-height:100%;object-fit:contain;background:transparent;border:0;filter:drop-shadow(0 34px 54px rgba(0,0,0,.55)) drop-shadow(0 0 42px rgba(115,120,148,.28))}.portal-title-block{margin-top:0}.portal-kicker{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:900;letter-spacing:.28em;color:#aeb4cf;text-transform:uppercase;opacity:.72}.portal-kicker:before,.portal-kicker:after{content:"";width:24px;height:1px;background:rgba(115,120,148,.55)}.portal-title-block h1{margin:10px 0 24px;font-size:clamp(42px,8vw,76px);line-height:.88;letter-spacing:-.075em;background:linear-gradient(180deg,#fff,#a8aec7 72%,#737894);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 52px rgba(115,120,148,.16)}.portal-login-btn{width:100%;min-height:58px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#737894,#a4abc8);color:#07080c;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:950;font-size:18px;box-shadow:0 18px 48px rgba(115,120,148,.22),inset 0 1px 0 rgba(255,255,255,.28);transition:.18s}.portal-login-btn:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(115,120,148,.3),inset 0 1px 0 rgba(255,255,255,.35)}.portal-login-btn b{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:rgba(7,8,12,.15)}.portal-status-row{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:12px;color:#8f96aa;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.portal-status-row span{width:52px;height:1px;background:linear-gradient(90deg,transparent,rgba(115,120,148,.5),transparent)}.portal-status-row p{margin:0}
@media(max-width:560px){.portal-panel{padding:28px 18px;border-radius:28px}.portal-logo-zone{height:170px}.portal-login-btn{min-height:54px;font-size:16px}.ring-one{width:390px;height:390px}.ring-two{width:560px;height:560px}}


/* Login portal final polish */
.portal-panel{padding-top:30px}
.portal-logo-zone{height:230px;margin-bottom:2px;isolation:isolate}
.portal-logo{display:block;opacity:1 !important;visibility:visible !important;animation:none !important;transform:none !important;transition:filter .18s ease, transform .18s ease;will-change:auto}
.portal-logo-zone:hover .portal-logo{transform:scale(1.015) !important}
.portal-kicker{letter-spacing:.22em;color:#c3c8dc;opacity:.9}
.portal-title-block h1{margin-top:12px;margin-bottom:26px;font-weight:950}
.portal-login-btn span{letter-spacing:.01em}
.portal-status-row{opacity:.9}
.portal-status-row p{color:#a4abc1}
@media(max-width:560px){.portal-logo-zone{height:190px}}


/* Wide stacked character cards + no crypto layout */
.characters-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  max-width:1060px;
  margin:0 auto;
}
.char-card-new{
  width:100%;
  min-height:230px;
  display:grid;
  grid-template-columns:330px 1fr;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(21,26,38,.98),rgba(8,9,14,.98));
  box-shadow:0 26px 85px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}
.char-card-new:hover{
  transform:translateY(-2px);
  border-color:rgba(115,120,148,.55);
}
.char-card-new:before{
  background:radial-gradient(circle at 18% 18%,rgba(115,120,148,.20),transparent 42%),linear-gradient(90deg,rgba(115,120,148,.08),transparent 45%);
}
.char-card-new .char-top{
  padding:22px;
  flex-direction:column;
  justify-content:space-between;
  min-height:230px;
  border-right:1px solid rgba(115,120,148,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.char-card-new .char-face{
  width:132px;
  height:132px;
  border-radius:30px;
  box-shadow:0 20px 70px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.04) inset;
}
.char-card-new .char-main{padding-top:0;width:100%}
.char-card-new .char-title{display:block;margin-bottom:0}
.char-card-new .char-title h4{font-size:28px;line-height:1.05;margin-top:14px}
.char-card-new .char-title .badge{display:inline-flex;margin-top:12px}
.char-card-new .char-body{
  position:relative;
  z-index:1;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.wallet-new{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px;
  margin-bottom:14px;
}
.wallet-row div{
  min-height:72px;
  border-radius:18px;
}
.wallet-row b{font-size:22px;letter-spacing:-.02em}
.info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.info{min-height:68px;border-radius:16px}
.char-card-new .danger{
  max-width:260px;
  align-self:flex-end;
  margin-top:18px;
}
.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:980px){
  .char-card-new{grid-template-columns:1fr}
  .char-card-new .char-top{border-right:0;border-bottom:1px solid rgba(115,120,148,.16);min-height:auto}
  .char-card-new .char-face{width:112px;height:112px}
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .char-card-new .danger{max-width:none;align-self:stretch}
}
@media(max-width:620px){
  .wallet-new,.info-grid,.admin-grid.two{grid-template-columns:1fr !important}
  .char-card-new .char-title h4{font-size:24px}
}

/* ===== One Bullet Admin Code Builder - Clean Mode ===== */
.admin-clean-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:start;
}
.admin-code-builder-clean{
  max-width:none !important;
  padding:22px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,rgba(21,26,38,.96),rgba(8,9,14,.96)) !important;
}
.code-generator-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
  border:1px solid rgba(115,120,148,.18);
  border-radius:22px;
  padding:16px;
  background:rgba(255,255,255,.025);
}
.code-input-big{
  margin-top:8px !important;
  width:100%;
  height:58px;
  border-radius:18px !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace !important;
  font-size:26px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  color:#e7eaff !important;
  background:rgba(5,6,10,.55) !important;
  border:1px solid rgba(115,120,148,.34) !important;
}
.code-actions{display:flex;gap:10px;align-items:center}.code-actions .btn{height:48px;min-width:84px}
.preset-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.preset-btn{height:42px;border:1px solid rgba(115,120,148,.18);border-radius:16px;background:rgba(255,255,255,.028);color:var(--text);font-weight:800;cursor:pointer;transition:.16s}.preset-btn:hover{transform:translateY(-1px);background:var(--ob-soft);border-color:rgba(115,120,148,.55)}
.clean-box{border-radius:22px !important;background:rgba(255,255,255,.024) !important;border:1px solid rgba(115,120,148,.17) !important}.box-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.box-head h4{margin:0 !important}.box-head span{color:var(--muted);font-size:12px}
.field-label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.field-label input{font-size:16px;color:var(--text);text-transform:none;letter-spacing:normal}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding:16px}.item-row-clean{grid-template-columns:minmax(0,1fr) 120px 46px !important}.item-row-clean .remove-item{min-width:46px;padding:0;border-radius:14px;font-size:20px}.admin-preview{margin-top:16px;min-height:54px;border:1px dashed rgba(115,120,148,.25);border-radius:18px;background:rgba(115,120,148,.06);padding:14px;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-preview b{color:#e7eaff}.admin-preview span{color:#c9cde0}.create-code-main{width:100%;height:52px;margin-top:14px;border-radius:18px !important;font-size:15px;font-weight:900}.admin-result{min-height:24px}.admin-result span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#e7eaff}.mini-copy{border:1px solid rgba(115,120,148,.25);background:rgba(255,255,255,.04);color:#e7eaff;border-radius:10px;padding:5px 9px;font-size:12px;font-weight:800;cursor:pointer}.mini-copy:hover{background:var(--ob-soft)}.admin-help-card{position:sticky;top:22px;border-radius:24px;padding:22px;background:linear-gradient(180deg,rgba(21,26,38,.92),rgba(8,9,14,.92));border:1px solid rgba(115,120,148,.16)}.admin-help-card h3{font-size:24px;margin:8px 0}.quick-note{margin-top:18px;border-radius:18px;padding:14px;background:rgba(115,120,148,.08);border:1px solid rgba(115,120,148,.13);display:grid;gap:4px}.quick-note b{color:#e7eaff}.quick-note span{color:var(--muted);font-size:13px}.code-list-clean{grid-template-columns:repeat(auto-fill,minmax(330px,1fr)) !important}.code-card-clean{border-radius:18px !important;padding:16px !important}.code-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.code-card-top b{font-size:15px;letter-spacing:.06em}
@media(max-width:1050px){.admin-clean-layout{grid-template-columns:1fr}.admin-help-card{position:relative;top:auto}.preset-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.code-generator-box,.settings-grid{grid-template-columns:1fr}.code-actions{display:grid;grid-template-columns:1fr 1fr}.code-input-big{font-size:20px}.preset-row{grid-template-columns:1fr}.item-row-clean{grid-template-columns:1fr !important}}


/* ===== One Bullet Final Merge: wide cards + fixed character portrait ===== */
body{
  overflow-x:hidden !important;
  background:
    radial-gradient(circle at top right, rgba(115,120,148,0.12), transparent 35%),
    radial-gradient(circle at bottom left, rgba(115,120,148,0.08), transparent 38%),
    #05060a !important;
}

.container,
.wrapper,
.dashboard-container,
.dashboard-shell,
.page-shell,
.content-shell{
  width:100% !important;
  max-width:1480px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

.characters-grid,
.characters-list,
.character-list{
  width:100% !important;
  max-width:1480px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

.char-card-new,
.character-card,
.player-card{
  width:100% !important;
  min-height:250px !important;
  display:grid !important;
  grid-template-columns:260px minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
}

.char-card-new .char-top{
  min-height:250px !important;
  padding:24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  border-right:1px solid rgba(115,120,148,.16) !important;
}

.char-card-new .char-face,
.character-photo{
  width:190px !important;
  height:230px !important;
  min-width:190px !important;
  max-width:190px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  flex-shrink:0 !important;
  background:linear-gradient(180deg,#1b2030 0%,#151A26 100%) !important;
  border:1px solid rgba(115,120,148,.30) !important;
  box-shadow:0 20px 70px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.04) inset !important;
}

.char-card-new .char-face img,
.character-photo img,
.character-card img,
.player-card img,
img[src*="uploads/characters"],
img[src*="characters"]{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center 12% !important;
  margin:0 !important;
  border-radius:inherit !important;
}

.char-card-new .char-title h4{
  text-align:center !important;
  font-size:24px !important;
  line-height:1.08 !important;
  margin-top:16px !important;
}

.char-card-new .char-title p{
  text-align:center !important;
}

.char-card-new .char-title .badge{
  margin-left:auto !important;
  margin-right:auto !important;
}

.char-card-new .char-body{
  padding:26px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.wallet-new,
.wallet-row{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

@media(max-width:1050px){
  .container,.wrapper,.dashboard-container,.dashboard-shell,.page-shell,.content-shell{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .char-card-new,.character-card,.player-card{
    grid-template-columns:1fr !important;
  }
  .char-card-new .char-top{
    border-right:0 !important;
    border-bottom:1px solid rgba(115,120,148,.16) !important;
  }
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .char-card-new .char-face,.character-photo{
    width:165px !important;
    height:205px !important;
  }
  .wallet-new,.wallet-row,.info-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== One Bullet Dashboard Stats Update ===== */
.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 22px}.stat-card{border:1px solid rgba(115,120,148,.18);background:linear-gradient(180deg,rgba(21,26,38,.94),rgba(8,9,14,.94));border-radius:24px;padding:20px;box-shadow:0 18px 55px rgba(0,0,0,.22)}.stat-card span,.top-box span{display:block;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.stat-card b{display:block;font-size:34px;line-height:1;margin-top:10px;color:#f4f6ff}.stat-card p{margin:8px 0 0;color:#8d94aa;font-size:13px}.dashboard-two{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.dashboard-card{padding:20px;border-radius:24px;background:linear-gradient(180deg,rgba(21,26,38,.92),rgba(8,9,14,.92));border:1px solid rgba(115,120,148,.16)}.play-chart{height:230px;display:flex;align-items:end;gap:12px;padding:18px 6px 4px}.chart-day{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.chart-day .bar{width:100%;max-width:52px;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,#a4abc8,#737894 62%,#30364a);box-shadow:0 16px 42px rgba(115,120,148,.22),inset 0 1px 0 rgba(255,255,255,.28);min-height:8px}.chart-day b{font-size:12px;color:#edf0ff}.chart-day span{font-size:11px;color:#8790a7}.top-stats{display:grid;gap:14px;margin-top:14px}.top-box{border:1px solid rgba(115,120,148,.15);border-radius:20px;padding:16px;background:rgba(255,255,255,.025)}.top-box b{display:block;margin-top:8px;font-size:22px;color:#f4f6ff}.top-box p{margin:7px 0 0;color:#8d94aa}.logs-layout{grid-template-columns:1fr 1fr}.log-list{display:grid;gap:10px;margin-top:14px;max-height:380px;overflow:auto;padding-right:3px}.log-row{border:1px solid rgba(115,120,148,.14);border-radius:18px;padding:12px 14px;background:rgba(255,255,255,.022);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.log-row div{display:grid;gap:3px}.log-row b{color:#edf0ff;font-size:13px}.log-row span,.log-row p{color:#8d94aa;font-size:12px;margin:0}.log-row p{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-row b{text-transform:none}.redeem-history{margin-top:20px;display:grid;gap:10px}.redeem-history h4{margin:0 0 4px;font-size:18px}.history-row{border:1px solid rgba(115,120,148,.14);border-radius:16px;padding:12px;background:rgba(255,255,255,.025);display:grid;gap:4px}.history-row b{font-size:13px;color:#edf0ff;letter-spacing:.06em}.history-row span{font-size:12px;color:#aeb4c8}.history-row small{font-size:11px;color:#7f879e}.preset-row{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-grid.two{grid-template-columns:repeat(3,minmax(0,1fr))}.character-picker{max-height:390px;overflow:auto}.char-card-new .char-face{width:170px!important;height:210px!important;border-radius:24px!important;align-self:center;justify-self:center}.char-card-new .char-face img{width:170px!important;height:210px!important;object-fit:cover!important;object-position:center 16%!important;border-radius:24px!important}.char-card-new{grid-template-columns:260px minmax(0,1fr)!important}.char-card-new .char-top{display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;padding:24px!important}.char-card-new .char-title h4{font-size:25px!important}.face-fallback{width:170px!important;height:210px!important;border-radius:24px!important}
@media(max-width:1100px){.overview-grid{grid-template-columns:repeat(2,1fr)}.dashboard-two,.logs-layout{grid-template-columns:1fr}.preset-row{grid-template-columns:repeat(2,1fr)}.admin-grid.two{grid-template-columns:1fr}.char-card-new{grid-template-columns:1fr!important}.char-card-new .char-top{border-right:0!important;border-bottom:1px solid rgba(115,120,148,.16)!important}}
@media(max-width:650px){.overview-grid{grid-template-columns:1fr}.play-chart{gap:6px}.chart-day .bar{max-width:32px}.stat-card b{font-size:28px}}


/* ===== Final character image placement fix =====
   Keeps dashboard centered, fixes only the character photo box. */
.char-card-new .char-top{
  position:relative !important;
  align-items:center !important;
  justify-content:center !important;
  padding:26px 24px !important;
}

.char-card-new .char-face:empty,
.pick-face:empty{
  display:none !important;
}

.char-card-new .char-face{
  width:190px !important;
  height:220px !important;
  min-width:190px !important;
  max-width:190px !important;
  margin:0 auto !important;
  transform:translateX(10px) !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#1b2030 0%,#151A26 100%) !important;
  border:1px solid rgba(115,120,148,.30) !important;
  box-shadow:0 20px 70px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.04) inset !important;
}

.char-card-new .char-face img,
.char-card-new .char-face .character-img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  display:block !important;
  object-fit:cover !important;
  /* lower + slightly right inside the portrait */
  object-position:38% 34% !important;
  transform:none !important;
  margin:0 !important;
  border-radius:inherit !important;
}

/* Redeem picker image should stay compact and clean */
.pick-face img,
.pick-face .character-img{
  width:52px !important;
  height:62px !important;
  object-fit:cover !important;
  object-position:38% 34% !important;
  border-radius:14px !important;
}

/* Don't let generic image overrides move the portrait again */
.character-card img,
.player-card img,
img[src*="character-images"],
img[src*="uploads"],
img[src*="characters"]{
  margin:0 !important;
}


/* ===== Admin players clean system ===== */
.admin-simple-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.admin-simple-card{padding:24px}.quick-code-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.quick-code-line input{margin-top:0}.quick-reward-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.field-label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.field-label input{margin-top:0}.wide-field{grid-column:span 2}.simple-items-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.simple-items-head h4{margin:0}.simple-items-list{display:grid;gap:10px}.item-row-clean{display:grid;grid-template-columns:minmax(0,1fr) 120px 48px;gap:10px}.item-row-clean input{margin-top:0}.players-list{display:grid;gap:16px}.admin-player-card{margin-bottom:0}.admin-player-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-player-head h4{margin:0;font-size:22px}.admin-player-head span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.admin-player-chars{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:16px}.admin-char-pill{border:1px solid rgba(115,120,148,.18);background:rgba(255,255,255,.025);border-radius:18px;padding:10px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;text-align:left;color:var(--text);align-items:center}.admin-char-pill:hover,.admin-char-pill.active{border-color:rgba(115,120,148,.65);background:rgba(115,120,148,.14)}.admin-char-pill span{width:54px;height:62px;border-radius:14px;overflow:hidden;background:rgba(115,120,148,.12);display:block}.admin-char-pill img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:38% 34%!important}.admin-char-pill b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-char-pill small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-give-panel{position:sticky;bottom:18px;z-index:5;box-shadow:0 26px 80px rgba(0,0,0,.38)}
@media(max-width:1100px){.quick-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-code-line{grid-template-columns:1fr}.wide-field{grid-column:auto}.item-row-clean{grid-template-columns:1fr}}

/* ===== Advanced Admin / Players / Bans Update ===== */
.code-wizard {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
}
.wizard-row {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  align-items: start;
}
.wizard-step {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted, #9ca3af);
  font-size: 13px;
}
.wizard-step span {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(115,120,148,.16);
  border: 1px solid rgba(115,120,148,.24);
  color: #fff;
  font-weight: 800;
}
.choice-grid, .money-select-grid, .use-mode-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}
.choice-toggle, .check-card, .radio-card {
  min-height: 48px;
  border: 1px solid rgba(115,120,148,.22);
  background: rgba(21,26,38,.72);
  color: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
}
.choice-toggle.active, .check-card:has(input:checked), .radio-card.active {
  background: rgba(115,120,148,.22);
  border-color: rgba(115,120,148,.55);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 12px 28px rgba(0,0,0,.18);
}
.wizard-fill { width: 100%; }
.wizard-small { max-width: 260px; }
.admin-table-wrap { overflow: auto; }
.admin-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.admin-table th {
  text-align: left;
  color: #8d94aa;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 0 12px 4px;
}
.admin-table td {
  background: rgba(21,26,38,.72);
  border-top: 1px solid rgba(115,120,148,.16);
  border-bottom: 1px solid rgba(115,120,148,.16);
  padding: 14px 12px;
  color: #fff;
  font-size: 13px;
}
.admin-table td:first-child { border-left: 1px solid rgba(115,120,148,.16); border-radius: 14px 0 0 14px; }
.admin-table td:last-child { border-right: 1px solid rgba(115,120,148,.16); border-radius: 0 14px 14px 0; }
.admin-table code { color: #aeb5cc; font-size: 11px; word-break: break-all; }
.ban-create-card { padding: 20px; margin-bottom: 18px; }
.player-actions-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.admin-player-card.selected {
  border-color: rgba(115,120,148,.55) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.04);
}
.admin-player-head small {
  display: block;
  margin-top: 6px;
  color: #70778d;
  font-size: 11px;
  word-break: break-all;
}
.admin-char-pill span {
  width: 54px;
  height: 64px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(20,25,38,.8);
  display: block;
  flex-shrink: 0;
}
.admin-char-pill span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 62% 30% !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 14px !important;
}
.admin-char-pill {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.admin-log-list { display: flex; flex-direction: column; gap: 12px; }
.admin-log-row { padding: 16px; display: grid; gap: 10px; }
.admin-log-row div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.admin-log-row span { color: #8d94aa; font-size: 12px; }
.admin-log-row pre {
  margin: 0;
  white-space: pre-wrap;
  max-height: 140px;
  overflow: auto;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(115,120,148,.14);
  border-radius: 12px;
  padding: 10px;
  color: #b8bfd4;
  font-size: 11px;
}
.danger-mini { color: #ffb4b4 !important; border-color: rgba(239,68,68,.32) !important; }

/* Final stable character image placement */
.char-face {
  width: 170px !important;
  height: 190px !important;
  min-width: 170px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, #1b2030 0%, #151A26 100%) !important;
  border: 1px solid rgba(115,120,148,.28) !important;
}
.char-face:empty { display: none !important; }
.char-face img,
.character-img,
img[src*="character-images"] {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  object-position: 64% 31% !important;
  transform: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.char-card-new {
  grid-template-columns: 230px 1fr !important;
}

@media (max-width: 980px) {
  .wizard-row { grid-template-columns: 1fr; }
  .player-actions-mini { justify-content: flex-start; }
  .char-card-new { grid-template-columns: 1fr !important; }
}


/* ===== One Bullet Sidebar Nav Polish ===== */
.sidebar{
  padding:24px 18px !important;
}
.nav{
  position:relative !important;
  overflow:hidden !important;
  border-radius:16px !important;
  margin-bottom:10px !important;
  padding:13px 16px 15px !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
}
.nav::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(115,120,148,.95), transparent);
  transform:scaleX(.18);
  opacity:.22;
  transition:transform .18s ease, opacity .18s ease;
}
.nav:hover::after,
.nav.active::after{
  transform:scaleX(1);
  opacity:1;
}
.nav.active{
  box-shadow:0 12px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.nav:disabled::after{opacity:0 !important}

/* ===== Admin online players cards polish ===== */
.admin-player-card{
  border:1px solid rgba(115,120,148,.18) !important;
  background:linear-gradient(180deg, rgba(21,26,38,.96), rgba(8,9,14,.96)) !important;
  border-radius:24px !important;
}
.admin-player-card.selected{
  border-color:rgba(115,120,148,.62) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.30), 0 0 0 1px rgba(115,120,148,.10) inset !important;
}
.admin-player-head span{
  color:#b9bfd6 !important;
  font-weight:800 !important;
}
.admin-char-pill{
  border-radius:18px !important;
  border:1px solid rgba(115,120,148,.18) !important;
  background:rgba(255,255,255,.025) !important;
}
.admin-char-pill.active{
  background:rgba(115,120,148,.16) !important;
  border-color:rgba(115,120,148,.58) !important;
}
.admin-char-pill img,
.admin-char-pill .face-fallback,
.admin-char-pill .char-face,
.pick-face img{
  object-fit:cover !important;
  object-position:68% 30% !important;
}


/* ===== Final sidebar logout + UI controls polish ===== */
.sidebar{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}

#logoutBtn{
  margin-top:auto !important;
  color:#fecaca !important;
  border-color:rgba(239,68,68,.25) !important;
  background:linear-gradient(135deg,rgba(127,29,29,.20),rgba(239,68,68,.08)) !important;
}
#logoutBtn:hover{
  color:#fff !important;
  border-color:rgba(239,68,68,.58) !important;
  background:linear-gradient(135deg,rgba(185,28,28,.36),rgba(127,29,29,.18)) !important;
}
#logoutBtn::after{
  background:linear-gradient(90deg,transparent,rgba(239,68,68,.95),transparent) !important;
  opacity:.55 !important;
}

/* Better native select closed state */
select{
  appearance:none !important;
  -webkit-appearance:none !important;
  background:
    linear-gradient(45deg,transparent 50%,#dfe3f6 50%) calc(100% - 22px) calc(50% - 3px)/7px 7px no-repeat,
    linear-gradient(135deg,#dfe3f6 50%,transparent 50%) calc(100% - 17px) calc(50% - 3px)/7px 7px no-repeat,
    linear-gradient(180deg,rgba(21,26,38,.98),rgba(8,9,14,.98)) !important;
  color:#f4f6ff !important;
  border:1px solid rgba(115,120,148,.34) !important;
  border-radius:18px !important;
  min-height:54px !important;
  padding:0 44px 0 16px !important;
  margin-top:10px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 38px rgba(0,0,0,.16) !important;
}
select:focus{
  border-color:rgba(115,120,148,.9) !important;
  box-shadow:0 0 0 4px rgba(115,120,148,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
select option{
  background:#10131c !important;
  color:#f4f6ff !important;
}

/* Custom radio/check cards */
.radio-card,
.check-card,
.choice-toggle{
  position:relative !important;
  overflow:hidden !important;
  user-select:none !important;
}
.radio-card input,
.check-card input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.radio-card::before,
.check-card::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:999px;
  border:2px solid rgba(115,120,148,.55);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 4px rgba(8,9,14,.96);
  margin-right:10px;
  flex:0 0 auto;
}
.check-card::before{border-radius:6px}
.radio-card.active::before,
.check-card:has(input:checked)::before{
  background:#a4abc8;
  border-color:#dfe3f6;
  box-shadow:inset 0 0 0 4px rgba(8,9,14,.96),0 0 26px rgba(115,120,148,.42);
}
.radio-card,
.check-card{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  text-align:left !important;
}

/* Online player quick actions */
.online-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:8px !important;
  max-width:560px !important;
}
.action-btn{
  border:1px solid rgba(115,120,148,.24);
  background:linear-gradient(180deg,rgba(21,26,38,.92),rgba(8,9,14,.92));
  color:#edf0ff;
  border-radius:12px;
  padding:9px 12px;
  min-width:72px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  transition:.16s ease;
}
.action-btn:hover{transform:translateY(-1px);border-color:rgba(115,120,148,.65);background:rgba(115,120,148,.18)}
.action-btn.cash,.action-btn.bank{border-color:rgba(34,197,94,.25)}
.action-btn.item{border-color:rgba(96,165,250,.25)}
.action-btn.slots{border-color:rgba(168,85,247,.25)}
.action-btn.image{border-color:rgba(115,120,148,.42)}
.action-btn.kick,.action-btn.ban{border-color:rgba(239,68,68,.35);color:#fecaca}
.action-btn.kick:hover,.action-btn.ban:hover{border-color:rgba(239,68,68,.75);background:rgba(239,68,68,.13)}

/* Admin action modal */
.admin-action-modal{
  width:min(560px,100%) !important;
}
.admin-action-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
}
.admin-action-head h3{margin:8px 0 6px}
.modal-x{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(115,120,148,.22);
  background:rgba(255,255,255,.04);
  color:#f4f6ff;
  cursor:pointer;
  font-size:22px;
}
.action-block{margin-bottom:14px}
.action-fields{
  border:1px solid rgba(115,120,148,.16);
  background:rgba(255,255,255,.025);
  border-radius:20px;
  padding:16px;
  margin-top:14px;
}
.action-info{
  color:#aeb4c8;
  line-height:1.7;
}
.admin-action-modal .field-label{
  display:block;
  color:#aeb4c8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.admin-action-modal input{
  margin-top:10px !important;
}

/* Readable admin logs */
.readable-log{
  padding:18px !important;
}
.log-main-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.log-main-line b{
  display:block;
  font-size:16px;
  color:#f4f6ff;
}
.log-main-line span{
  display:block;
  margin-top:4px;
  color:#8f96aa;
  font-size:12px;
}
.log-main-line em{
  font-style:normal;
  color:#8f96aa;
  background:rgba(115,120,148,.10);
  border:1px solid rgba(115,120,148,.16);
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:900;
}
.log-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.log-detail{
  border:1px solid rgba(115,120,148,.14);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.025);
  min-width:0;
}
.log-detail span{
  display:block;
  color:#8f96aa;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.log-detail b{
  display:block;
  margin-top:4px;
  color:#edf0ff;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:900px){
  .online-actions{justify-content:flex-start !important}
  .log-details-grid{grid-template-columns:1fr}
}


/* ===== One Bullet Custom Scrollbar + Dropdown ===== */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(115,120,148,.85) rgba(255,255,255,.04);
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: rgba(255,255,255,.035);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(145,150,178,.96), rgba(72,78,102,.96));
  border-radius: 999px;
  border: 2px solid rgba(8,9,14,.96);
}
*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(172,177,205,.98), rgba(95,101,129,.98));
}
*::-webkit-scrollbar-corner {
  background: transparent;
}

.ob-native-select {
  display: none !important;
}

.ob-select {
  position: relative;
  width: 100%;
  margin-top: 10px;
  z-index: 20;
}

.ob-select-trigger {
  width: 100%;
  min-height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(115,120,148,.32);
  background:
    radial-gradient(circle at 90% 0%, rgba(115,120,148,.16), transparent 34%),
    linear-gradient(180deg, rgba(21,26,38,.98), rgba(8,9,14,.98));
  color: #f4f6ff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  font-weight: 900;
  cursor: pointer;
  transition: .16s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 14px 42px rgba(0,0,0,.18);
}

.ob-select-trigger:hover {
  border-color: rgba(115,120,148,.62);
}

.ob-select.open .ob-select-trigger {
  border-color: rgba(164,171,200,.92);
  box-shadow: 0 0 0 4px rgba(115,120,148,.16), inset 0 1px 0 rgba(255,255,255,.05);
}

.ob-select-arrow {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #dfe3f6;
  background: rgba(115,120,148,.12);
  transition: transform .16s ease, background .16s ease;
}

.ob-select.open .ob-select-arrow {
  transform: rotate(180deg);
  background: rgba(115,120,148,.22);
}

.ob-select-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  max-height: 230px;
  overflow-y: auto;
  z-index: 999;
  border-radius: 18px;
  border: 1px solid rgba(115,120,148,.30);
  background: linear-gradient(180deg, rgba(16,19,28,.98), rgba(8,9,14,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.04);
  padding: 8px;
}

.ob-select-option {
  width: 100%;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #f4f6ff;
  text-align: left;
  border-radius: 12px;
  padding: 0 14px;
  font-weight: 850;
  cursor: pointer;
  transition: .14s ease;
}

.ob-select-option:hover {
  background: rgba(115,120,148,.13);
}

.ob-select-option.active {
  background: linear-gradient(90deg, rgba(115,120,148,.38), rgba(115,120,148,.18));
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(164,171,200,.28);
}

.ban-create-card,
.admin-action-modal,
.modal-card {
  overflow: visible !important;
}


/* ===== Simple readable payment/log rows ===== */
.payment-row{
  border-color:rgba(115,120,148,.18) !important;
  background:linear-gradient(180deg,rgba(21,26,38,.72),rgba(8,9,14,.72)) !important;
}
.payment-row p b{
  color:#c7cce3;
  font-size:12px;
}
.tx-plus{
  color:#86efac !important;
}
.tx-minus{
  color:#fca5a5 !important;
}

.log-row,
.readable-log{
  border-radius:18px !important;
}
.log-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.log-detail{
  border:1px solid rgba(115,120,148,.14);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.025);
  min-width:0;
}
.log-detail span{
  display:block;
  color:#8f96aa;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.log-detail b{
  display:block;
  margin-top:4px;
  color:#edf0ff;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:900px){
  .log-details-grid{grid-template-columns:1fr}
}


/* ===== Login Logo Full Display Fix ===== */
/* Fixes logo/gif edges being cut or squeezed on the login page */
.portal-panel,
.login-card {
  overflow: visible !important;
}

.portal-logo-zone,
.server-logo-wrap {
  width: min(340px, 82vw) !important;
  height: 285px !important;
  margin: 0 auto 4px !important;
  padding: 0 !important;
  overflow: visible !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.portal-logo,
.server-logo {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}

.portal-title-block {
  margin-top: 0 !important;
}

@media (max-width: 560px) {
  .portal-logo-zone,
  .server-logo-wrap {
    width: min(280px, 86vw) !important;
    height: 230px !important;
  }
}


/* ===== OB login redesign ===== */
.ob-portal-panel{
  width:min(560px,100%) !important;
  padding:30px 28px 28px !important;
  border-radius:38px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(115,120,148,.16), transparent 40%),
    linear-gradient(180deg, rgba(14,17,25,.78), rgba(7,8,12,.88)) !important;
  border:1px solid rgba(140,146,175,.22) !important;
  box-shadow:0 40px 140px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow:visible !important;
}
.ob-portal-panel::before{background:radial-gradient(circle at 50% 0%, rgba(115,120,148,.26), transparent 46%) !important}
.portal-orb{
  position:absolute;
  width:260px;
  height:260px;
  left:50%;
  top:40px;
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(circle at center, rgba(115,120,148,.16), rgba(115,120,148,.03) 45%, transparent 70%);
  filter:blur(3px);
  pointer-events:none;
}
.ob-logo-zone{
  width:min(300px,78vw) !important;
  height:250px !important;
  margin:0 auto 4px !important;
}
.portal-logo-stack{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
.portal-logo-stack .portal-logo{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
.portal-logo-base{
  opacity:.98;
  filter:drop-shadow(0 32px 60px rgba(0,0,0,.56)) drop-shadow(0 0 36px rgba(115,120,148,.18));
  transform:scale(1.01);
}
.portal-logo-anim{
  opacity:1;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.34));
}
.ob-title-block{margin-top:2px !important}
.ob-title-block h1{
  margin:2px 0 4px !important;
  font-size:clamp(58px,11vw,100px) !important;
  line-height:.88 !important;
  letter-spacing:-.04em !important;
  font-weight:700 !important;
  font-family:'Brush Script MT','Segoe Script','Lucida Handwriting',cursive !important;
  background:linear-gradient(180deg,#ffffff 0%, #dbe0f4 38%, #949bb9 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow:0 0 40px rgba(115,120,148,.12) !important;
}
.portal-subtitle{
  margin:0;
  color:#d9deef;
  font-size:16px;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.portal-small-text{
  margin:12px auto 0;
  max-width:360px;
  color:#9ea5b8;
  font-size:14px;
  line-height:1.7;
}
.ob-login-btn{
  margin-top:24px;
  min-height:60px !important;
  border-radius:22px !important;
  font-size:17px !important;
  letter-spacing:.01em;
  background:linear-gradient(135deg,#8d94b2 0%, #c2c8e1 100%) !important;
  box-shadow:0 18px 50px rgba(115,120,148,.22), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
.ob-login-btn b{
  background:rgba(7,8,12,.18) !important;
}
.portal-status-row{
  margin-top:18px !important;
}
.portal-status-row p{
  color:#aeb5ca !important;
  letter-spacing:.12em;
}
.brand b{letter-spacing:.02em}
@media(max-width:560px){
  .ob-logo-zone{height:210px !important}
  .ob-title-block h1{font-size:76px !important}
  .portal-subtitle{font-size:13px}
  .portal-small-text{font-size:13px}
}


/* ===== OB minimal login: huge logo behind card ===== */
.ob-clean-login {
  overflow: hidden !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at 50% -12%, rgba(115,120,148,.28), transparent 34%),
    radial-gradient(circle at 50% 70%, rgba(115,120,148,.11), transparent 32%),
    linear-gradient(135deg,#020308 0%, #07080c 45%, #151A26 100%) !important;
}

.ob-bg-logo {
  position: absolute;
  left: 50%;
  top: 47%;
  width: min(900px, 105vw);
  height: min(900px, 105vw);
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  display: grid;
  place-items: center;
  opacity: .72;
  filter: drop-shadow(0 70px 140px rgba(0,0,0,.72)) drop-shadow(0 0 90px rgba(115,120,148,.22));
}

.ob-bg-logo::before {
  content: "";
  position: absolute;
  inset: 7%;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(115,120,148,.22), rgba(115,120,148,.04) 46%, transparent 68%);
  filter: blur(12px);
}

.ob-bg-logo img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1.18);
}

.ob-bg-logo-base {
  opacity: .9;
}

.ob-bg-logo-anim {
  opacity: .98;
}

/* small clean card over the giant logo */
.ob-minimal-panel {
  position: relative !important;
  z-index: 3 !important;
  width: min(420px, 94vw) !important;
  min-height: 250px !important;
  padding: 34px 30px 30px !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(10,12,18,.66), rgba(5,6,10,.78)) !important;
  border: 1px solid rgba(154,160,190,.20) !important;
  box-shadow:
    0 50px 160px rgba(0,0,0,.68),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(18px) !important;
  overflow: visible !important;
}

.ob-minimal-panel::before {
  background:
    radial-gradient(circle at 50% 0%, rgba(115,120,148,.22), transparent 54%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent) !important;
}

.ob-minimal-panel .ob-title-block h1 {
  margin: 0 0 30px !important;
  font-size: clamp(88px, 15vw, 136px) !important;
  line-height: .76 !important;
  letter-spacing: -.055em !important;
  font-family: 'Brush Script MT','Segoe Script','Lucida Handwriting',cursive !important;
  font-weight: 700 !important;
  background: linear-gradient(180deg, #fff 0%, #dbe0f4 42%, #8d94b2 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
  filter: drop-shadow(0 0 34px rgba(115,120,148,.24));
}

.ob-minimal-panel .portal-subtitle,
.ob-minimal-panel .portal-small-text,
.ob-clean-login .portal-status-row,
.ob-clean-login .portal-logo-zone,
.ob-clean-login .portal-orb {
  display: none !important;
}

.ob-minimal-panel .ob-login-btn {
  margin-top: 0 !important;
  min-height: 60px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #8d94b2 0%, #c8cee6 100%) !important;
  box-shadow: 0 22px 54px rgba(115,120,148,.25), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.ob-minimal-panel .ob-login-btn:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 28px 70px rgba(115,120,148,.34), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

@media (max-width: 620px) {
  .ob-bg-logo {
    width: 720px;
    height: 720px;
    top: 45%;
  }
  .ob-bg-logo img {
    transform: scale(1.16);
  }
  .ob-minimal-panel {
    width: min(360px, 94vw) !important;
    min-height: 230px !important;
  }
  .ob-minimal-panel .ob-title-block h1 {
    font-size: 104px !important;
  }
}


/* ===== Premium activity chart ===== */
.play-chart {
  position: relative !important;
  height: auto !important;
  min-height: 340px !important;
  display: block !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ob-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.ob-chart-head span {
  display: block;
  color: #8f96aa;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ob-chart-head b {
  display: block;
  margin-top: 6px;
  font-size: 32px;
  line-height: 1;
  color: #f4f6ff;
  letter-spacing: -.04em;
}

.ob-chart-head em {
  font-style: normal;
  color: #c8cee6;
  border: 1px solid rgba(115,120,148,.18);
  background: rgba(115,120,148,.08);
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
}

.ob-chart-wrap {
  position: relative;
  width: 100%;
  height: 260px;
  border: 1px solid rgba(115,120,148,.14);
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(115,120,148,.16), transparent 42%),
    linear-gradient(180deg, rgba(7,8,12,.72), rgba(10,12,18,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 20px 60px rgba(0,0,0,.22);
}

.ob-chart-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: .42;
}

#playChartCanvas {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
}

.ob-chart-tooltip {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  min-width: 108px;
  border: 1px solid rgba(164,171,200,.26);
  border-radius: 14px;
  background: rgba(8,9,14,.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.36);
  padding: 9px 11px;
  pointer-events: none;
}

.ob-chart-tooltip b {
  display: block;
  color: #f4f6ff;
  font-size: 12px;
}

.ob-chart-tooltip span {
  display: block;
  margin-top: 3px;
  color: #aeb5d2;
  font-size: 12px;
  font-weight: 900;
}

.ob-chart-foot {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  color: #7f879e;
  font-size: 12px;
  font-weight: 800;
}

.ob-chart-foot b {
  color: #c8cee6;
  border: 1px solid rgba(115,120,148,.14);
  background: rgba(255,255,255,.025);
  border-radius: 999px;
  padding: 6px 10px;
}

.ob-chart-foot span:last-child {
  text-align: right;
}

.ob-chart-empty {
  min-height: 250px;
  display: grid;
  place-items: center;
  color: #8f96aa;
  border: 1px solid rgba(115,120,148,.14);
  border-radius: 24px;
  background: rgba(255,255,255,.025);
}


/* ===== Login fix: big OB outside, logo inside card ===== */
.ob-word-login {
  overflow: hidden !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at 50% -8%, rgba(115,120,148,.26), transparent 34%),
    radial-gradient(circle at 50% 76%, rgba(115,120,148,.12), transparent 34%),
    linear-gradient(135deg,#020308 0%, #07080c 45%, #151A26 100%) !important;
}

.ob-word-login .ob-bg-logo,
.ob-word-login .ob-minimal-panel .ob-title-block,
.ob-word-login .portal-subtitle,
.ob-word-login .portal-small-text,
.ob-word-login .portal-status-row {
  display: none !important;
}

.ob-bg-word {
  position: absolute;
  left: 50%;
  top: 42%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  font-family: 'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;
  font-size: clamp(270px, 42vw, 620px);
  line-height: .72;
  letter-spacing: -.08em;
  font-weight: 700;
  color: transparent;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(164,171,200,.12) 45%, rgba(115,120,148,.035) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter:
    drop-shadow(0 55px 135px rgba(0,0,0,.82))
    drop-shadow(0 0 90px rgba(115,120,148,.20));
  opacity: .96;
  user-select: none;
  white-space: nowrap;
}

.ob-bg-word::after {
  content: "OB";
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(164,171,200,.11);
  text-shadow: 0 0 130px rgba(115,120,148,.16);
}

.ob-logo-card {
  position: relative !important;
  z-index: 3 !important;
  width: min(430px, 94vw) !important;
  min-height: 410px !important;
  padding: 28px 30px 30px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(115,120,148,.15), transparent 45%),
    linear-gradient(180deg, rgba(10,12,18,.70), rgba(5,6,10,.82)) !important;
  border: 1px solid rgba(154,160,190,.22) !important;
  box-shadow:
    0 55px 170px rgba(0,0,0,.70),
    inset 0 1px 0 rgba(255,255,255,.065) !important;
  backdrop-filter: blur(19px) !important;
  overflow: visible !important;
}

.ob-logo-card::before {
  background:
    radial-gradient(circle at 50% 8%, rgba(164,171,200,.16), transparent 52%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent) !important;
}

.ob-card-logo-zone {
  width: min(330px, 76vw) !important;
  height: 285px !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  overflow: visible !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ob-card-logo-zone .portal-logo-stack {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}

.ob-card-logo-zone .portal-logo {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scale(1.06) !important;
  max-width: none !important;
  max-height: none !important;
}

.ob-card-logo-zone .portal-logo-base {
  opacity: .98 !important;
  filter:
    drop-shadow(0 34px 72px rgba(0,0,0,.62))
    drop-shadow(0 0 42px rgba(115,120,148,.22)) !important;
}

.ob-card-logo-zone .portal-logo-anim {
  opacity: 1 !important;
  filter: drop-shadow(0 20px 35px rgba(0,0,0,.34)) !important;
}

.ob-logo-card .ob-login-btn {
  width: 100% !important;
  margin-top: 0 !important;
  min-height: 60px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #8d94b2 0%, #c8cee6 100%) !important;
  box-shadow:
    0 22px 54px rgba(115,120,148,.26),
    inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.ob-logo-card .ob-login-btn:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow:
    0 30px 78px rgba(115,120,148,.34),
    inset 0 1px 0 rgba(255,255,255,.44) !important;
}

@media (max-width: 620px) {
  .ob-bg-word {
    top: 38%;
    font-size: clamp(230px, 72vw, 360px);
  }

  .ob-logo-card {
    width: min(370px, 94vw) !important;
    min-height: 360px !important;
    padding: 22px 22px 24px !important;
  }

  .ob-card-logo-zone {
    width: min(280px, 78vw) !important;
    height: 245px !important;
    margin-bottom: 18px !important;
  }
}


/* ===== Crypto-style login/logout session chart ===== */
.play-chart {
  position: relative !important;
  display: block !important;
  min-height: 390px !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}
.crypto-chart-shell {
  position: relative;
  width: 100%;
}
.crypto-chart-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.crypto-chart-title span {
  display: block;
  color: #8f96aa;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.crypto-chart-title b {
  display: block;
  margin-top: 6px;
  color: #f4f6ff;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -.055em;
}
.crypto-chart-pills {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.crypto-chart-pills em,
.crypto-tip-title em {
  font-style: normal;
  font-size: 11px;
  font-weight: 950;
  border: 1px solid rgba(115,120,148,.18);
  background: rgba(115,120,148,.08);
  color: #c8cee6;
  border-radius: 999px;
  padding: 7px 10px;
}
.crypto-chart-pills em.good,
.crypto-tip-title em.good { border-color: rgba(164,171,200,.22); color: #d8ddf3; }
.crypto-chart-pills em.bad,
.crypto-tip-title em.bad { border-color: rgba(239,68,68,.28); background: rgba(239,68,68,.10); color: #fca5a5; }
.crypto-chart-pills em.live,
.crypto-tip-title em.live { border-color: rgba(34,197,94,.26); background: rgba(34,197,94,.10); color: #86efac; }
.crypto-chart-wrap {
  position: relative;
  width: 100%;
  height: 292px;
  border: 1px solid rgba(115,120,148,.15);
  border-radius: 26px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(115,120,148,.18), transparent 42%),
    linear-gradient(180deg, rgba(7,8,12,.78), rgba(10,12,18,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 22px 70px rgba(0,0,0,.28);
}
.crypto-chart-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: .46;
}
.crypto-chart-wrap::after {
  content: "";
  position: absolute;
  left: -20%; right: -20%; top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244,246,255,.30), transparent);
  pointer-events: none;
}
#playChartCanvas {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
}
.crypto-tooltip {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 6;
  width: 186px;
  border: 1px solid rgba(164,171,200,.24);
  border-radius: 16px;
  background: rgba(8,9,14,.93);
  backdrop-filter: blur(16px);
  box-shadow: 0 20px 58px rgba(0,0,0,.42);
  padding: 11px 12px;
  pointer-events: none;
}
.crypto-tip-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.crypto-tip-title b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #f4f6ff;
  font-size: 12px;
}
.crypto-tooltip strong {
  display: block;
  margin-top: 9px;
  color: #f4f6ff;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.04em;
}
.crypto-tooltip span {
  display: block;
  margin-top: 6px;
  color: #aeb5d2;
  font-size: 11px;
}
.crypto-tooltip p {
  margin: 8px 0 0;
  color: #8f96aa;
  font-size: 11px;
  line-height: 1.4;
  max-height: 32px;
  overflow: hidden;
}
.crypto-chart-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  color: #7f879e;
  font-size: 12px;
  font-weight: 850;
}
.crypto-chart-bottom b {
  justify-self: center;
  color: #c8cee6;
  border: 1px solid rgba(115,120,148,.14);
  background: rgba(255,255,255,.025);
  border-radius: 999px;
  padding: 7px 11px;
}
.crypto-chart-bottom span:last-child { text-align: right; }
.crypto-empty {
  min-height: 292px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center;
  border: 1px solid rgba(115,120,148,.14);
  border-radius: 26px;
  background: rgba(255,255,255,.025);
}
.crypto-empty b { display:block; color:#f4f6ff; }
.crypto-empty span { display:block; margin-top:5px; color:#8f96aa; }
@media(max-width:720px){
  .crypto-chart-top{flex-direction:column;align-items:stretch}
  .crypto-chart-pills{justify-content:flex-start}
  .crypto-chart-wrap{height:270px}
}


/* ===== Fix logo not showing inside card ===== */
/* Previous login CSS was hiding every .portal-logo-zone. This forces the card logo back. */
.ob-word-login .ob-card-logo-zone,
.ob-word-login .portal-logo-zone.ob-card-logo-zone {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.ob-word-login .ob-card-logo-zone .portal-logo-stack,
.ob-word-login .ob-card-logo-zone .portal-logo,
.ob-word-login .ob-card-logo-zone .portal-logo-base,
.ob-word-login .ob-card-logo-zone .portal-logo-anim {
  display: block !important;
  visibility: visible !important;
}

.ob-word-login .ob-card-logo-zone .portal-logo-stack {
  display: grid !important;
  opacity: 1 !important;
}

.ob-word-login .ob-card-logo-zone .portal-logo-base {
  opacity: 1 !important;
  z-index: 1 !important;
}

.ob-word-login .ob-card-logo-zone .portal-logo-anim {
  opacity: 1 !important;
  z-index: 2 !important;
}

/* Keep old text hidden only, not the logo */
.ob-word-login .portal-subtitle,
.ob-word-login .portal-small-text,
.ob-word-login .portal-status-row {
  display: none !important;
}

/* One Bullet authentication page */
.ob-auth-page{margin:0;min-height:100vh;background:#07080d;color:#f5f7ff;overflow-x:hidden}
.ob-auth-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:34px;overflow:hidden;background:radial-gradient(circle at 50% -15%,rgba(115,120,148,.2),transparent 38%),linear-gradient(145deg,#07080d,#0b0d14 55%,#08090e)}
.ob-auth-grid{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at center,#000,transparent 80%)}
.ob-auth-glow{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none}.ob-auth-glow-a{width:430px;height:430px;top:-180px;right:7%;background:rgba(115,120,148,.2)}.ob-auth-glow-b{width:360px;height:360px;left:-160px;bottom:-150px;background:rgba(71,78,112,.18)}
.ob-auth-card{position:relative;z-index:2;width:min(1060px,100%);min-height:650px;display:grid;grid-template-columns:1fr 1.03fr;border:1px solid rgba(151,158,190,.2);border-radius:30px;overflow:hidden;background:#0a0b11;box-shadow:0 38px 120px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.018) inset}
.ob-auth-form-side{position:relative;padding:48px 54px 34px;display:flex;flex-direction:column;background:radial-gradient(circle at 0 0,rgba(115,120,148,.08),transparent 35%),#0a0b11}
.ob-auth-brand{display:flex;align-items:center;gap:12px}.ob-auth-brand-mark{width:42px;height:42px;border:1px solid rgba(151,158,190,.22);border-radius:13px;display:grid;place-items:center;background:rgba(115,120,148,.08)}.ob-auth-brand-mark img{width:31px;height:31px;object-fit:contain}.ob-auth-brand strong,.ob-auth-brand span{display:block}.ob-auth-brand strong{font-size:13px;letter-spacing:.17em}.ob-auth-brand span{font-size:8px;color:#848ba1;letter-spacing:.28em;margin-top:4px}
.ob-auth-copy{margin-top:auto;margin-bottom:28px}.ob-auth-eyebrow{margin:0 0 10px!important;color:#9299b4!important;font-size:10px!important;font-weight:900;letter-spacing:.27em}.ob-auth-copy h1{font-size:clamp(42px,5vw,62px);line-height:1;margin:0 0 15px;letter-spacing:-.055em}.ob-auth-copy>p:last-child{max-width:420px;color:#8990a5;line-height:1.7;font-size:14px;margin:0}
.ob-auth-error{margin-bottom:15px;padding:12px 14px;border:1px solid rgba(239,68,68,.28);border-radius:13px;color:#ff9aa7;background:rgba(239,68,68,.08);font-size:13px}
.ob-discord-button{position:relative;min-height:59px;width:100%;padding:0 19px;border-radius:15px;display:flex;align-items:center;gap:13px;color:#090a0f;background:linear-gradient(110deg,#727894,#a2a8c2);font-size:14px;font-weight:900;letter-spacing:.01em;box-shadow:0 18px 45px rgba(80,87,122,.22),inset 0 1px rgba(255,255,255,.32);transition:transform .22s ease,box-shadow .22s ease}.ob-discord-button svg{width:23px;height:23px}.ob-discord-button>span:nth-child(2){flex:1;text-align:center}.ob-button-arrow{font-size:22px;transition:transform .22s}.ob-discord-button:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(80,87,122,.34),inset 0 1px rgba(255,255,255,.4)}.ob-discord-button:hover .ob-button-arrow{transform:translateX(3px)}
.ob-auth-security{display:flex;align-items:center;justify-content:center;gap:8px;color:#6f768a;font-size:10px;margin-top:15px}.ob-security-dot{width:6px;height:6px;border-radius:50%;background:#8f97b6;box-shadow:0 0 14px rgba(143,151,182,.8)}
.ob-auth-footer{display:flex;justify-content:space-between;color:#4e5465;font-size:10px;margin-top:auto;padding-top:34px}
.ob-auth-visual-side{position:relative;overflow:hidden;min-height:650px;background:linear-gradient(145deg,#151a26 0%,#2f354b 52%,#737894 100%)}.ob-auth-visual-side:before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 210deg at 54% 45%,transparent 0 25%,rgba(255,255,255,.11) 31%,transparent 40% 100%);animation:obVisualSweep 9s ease-in-out infinite}.ob-auth-visual-side:after{content:"";position:absolute;left:-1px;top:0;bottom:0;width:90px;background:#0a0b11;clip-path:polygon(0 0,66% 0,0 100%)}
.ob-visual-noise{position:absolute;inset:0;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}.ob-visual-lines{position:absolute;inset:0;background:linear-gradient(115deg,transparent 48%,rgba(255,255,255,.09) 48.2%,transparent 48.6%),linear-gradient(115deg,transparent 69%,rgba(255,255,255,.05) 69.2%,transparent 69.6%)}
.ob-visual-content{position:relative;z-index:2;height:100%;padding:70px 66px 70px 90px;display:flex;flex-direction:column;justify-content:center}.ob-visual-logo-wrap{width:80px;height:80px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(9,10,15,.12);backdrop-filter:blur(10px);display:grid;place-items:center;margin-bottom:31px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.ob-visual-logo{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.2))}.ob-visual-kicker{font-size:10px!important;color:rgba(255,255,255,.62)!important;letter-spacing:.28em;font-weight:900;margin:0 0 14px!important}.ob-visual-content h2{font-size:clamp(44px,5.1vw,70px);line-height:.92;letter-spacing:-.06em;margin:0;color:white}.ob-visual-content h2 span{color:#dfe3f2}.ob-visual-content>p:last-child{max-width:390px;margin:25px 0 0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.7}.ob-visual-domain{position:absolute;z-index:2;right:34px;bottom:28px;color:rgba(255,255,255,.48);font-size:9px;letter-spacing:.3em;font-weight:900}
@keyframes obVisualSweep{0%,100%{transform:translate3d(-2%,0,0) rotate(0deg)}50%{transform:translate3d(5%,2%,0) rotate(4deg)}}
@media(max-width:850px){.ob-auth-shell{padding:20px}.ob-auth-card{grid-template-columns:1fr;max-width:560px}.ob-auth-visual-side{display:none}.ob-auth-form-side{min-height:620px;padding:38px 34px 30px}.ob-auth-copy{margin-top:auto}.ob-auth-card{min-height:auto}}
@media(max-width:480px){.ob-auth-shell{padding:12px}.ob-auth-card{border-radius:22px}.ob-auth-form-side{min-height:590px;padding:29px 22px 24px}.ob-auth-copy h1{font-size:44px}.ob-auth-footer{padding-top:26px}.ob-auth-security{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ob-auth-visual-side:before{animation:none}.ob-discord-button,.ob-button-arrow{transition:none}}


/* ===== One Bullet fullscreen authentication ===== */
.ob-auth-page.ob-auth-fullscreen{min-height:100dvh;overflow:hidden;background:#080a0f}
.ob-login-layout{width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(430px,46%) minmax(0,54%);position:relative;overflow:hidden;background:#090b11}
.ob-login-panel{position:relative;z-index:3;min-height:100dvh;background:radial-gradient(circle at 15% 5%,rgba(115,120,148,.12),transparent 27%),linear-gradient(145deg,#0d1018 0%,#080a0f 72%);border-right:1px solid rgba(115,120,148,.14)}
.ob-login-panel-inner{width:min(620px,100%);min-height:100dvh;margin:0 auto;padding:clamp(28px,4vw,62px) clamp(28px,5vw,78px) clamp(24px,3vw,42px);display:flex;flex-direction:column}
.ob-login-brand{display:inline-flex;align-items:center;gap:13px;width:max-content}.ob-login-brand-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(151,158,190,.22);border-radius:14px;background:rgba(115,120,148,.08);box-shadow:0 12px 35px rgba(0,0,0,.22)}.ob-login-brand-mark img{width:34px;height:34px;object-fit:contain}.ob-login-brand-copy strong,.ob-login-brand-copy small{display:block}.ob-login-brand-copy strong{font-size:14px;letter-spacing:.17em}.ob-login-brand-copy small{margin-top:4px;color:#747c92;font-size:8px;font-weight:800;letter-spacing:.28em}
.ob-login-content{width:100%;max-width:490px;margin:auto 0}.ob-login-eyebrow{margin:0 0 10px;color:#939ab4;font-size:10px;font-weight:900;letter-spacing:.28em}.ob-login-content h1{margin:0;font-size:clamp(46px,5vw,76px);line-height:.94;letter-spacing:-.06em}.ob-login-lead{max-width:420px;margin:17px 0 31px;color:#858da4;font-size:14px;line-height:1.7}
.ob-login-error{margin:0 0 16px}.ob-login-method{margin-bottom:16px}.ob-login-method-label{display:block;margin:0 0 9px;color:#70788e;font-size:9px;font-weight:900;letter-spacing:.18em}.ob-login-method-box{min-height:74px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid rgba(115,120,148,.2);border-radius:16px;background:linear-gradient(180deg,rgba(22,26,38,.92),rgba(14,17,25,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.ob-discord-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(115,120,148,.14);color:#c9cee3}.ob-discord-icon svg{width:23px;height:23px}.ob-login-method-box strong,.ob-login-method-box small{display:block}.ob-login-method-box strong{font-size:14px}.ob-login-method-box small{margin-top:4px;color:#737b91;font-size:11px}.ob-method-status{display:flex;align-items:center;gap:6px;color:#929bb7;font-size:8px;font-weight:900;letter-spacing:.12em}.ob-method-status i{width:6px;height:6px;border-radius:50%;background:#9aa3c0;box-shadow:0 0 13px rgba(154,163,192,.75)}
.ob-login-submit{min-height:58px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgba(174,180,209,.24);border-radius:15px;color:#080a0f;background:linear-gradient(110deg,#737894 0%,#9ba2bd 52%,#6f758f 100%);font-size:14px;font-weight:950;letter-spacing:.01em;box-shadow:0 18px 45px rgba(69,75,104,.28);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.ob-login-submit:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 24px 55px rgba(69,75,104,.38)}.ob-login-arrow{font-size:21px;transition:transform .2s ease}.ob-login-submit:hover .ob-login-arrow{transform:translateX(4px)}
.ob-login-divider{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:#4f5669;font-size:8px;font-weight:900;letter-spacing:.16em}.ob-login-divider:before,.ob-login-divider:after{content:"";height:1px;flex:1;background:rgba(115,120,148,.12)}.ob-login-security{display:flex;align-items:center;justify-content:center;gap:8px;color:#697185;font-size:10px;text-align:center}.ob-login-footer{display:flex;justify-content:space-between;gap:20px;padding-top:26px;color:#4f5668;font-size:10px}
.ob-welcome-panel{position:relative;min-height:100dvh;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#151a26 0%,#30364b 44%,#737894 100%)}.ob-welcome-panel:before{content:"";position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:clamp(70px,8vw,140px);background:#090b11;clip-path:polygon(0 0,44% 0,0 100%)}.ob-welcome-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000)}.ob-welcome-panel:after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 205deg at 55% 47%,transparent 0 25%,rgba(255,255,255,.11) 31%,transparent 40% 100%);animation:obFullSweep 11s ease-in-out infinite}.ob-welcome-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.ob-welcome-orb-one{width:450px;height:450px;right:-100px;bottom:-120px;background:rgba(183,190,220,.32)}.ob-welcome-orb-two{width:320px;height:320px;left:18%;top:-130px;background:rgba(255,255,255,.12)}
.ob-welcome-particles i{position:absolute;z-index:2;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff;opacity:.72}.ob-welcome-particles i:nth-child(1){top:14%;right:18%}.ob-welcome-particles i:nth-child(2){top:24%;right:31%;width:3px;height:3px}.ob-welcome-particles i:nth-child(3){top:36%;right:13%;width:2px;height:2px}.ob-welcome-particles i:nth-child(4){bottom:20%;right:24%;width:3px;height:3px}.ob-welcome-particles i:nth-child(5){bottom:31%;left:25%;width:2px;height:2px}
.ob-welcome-content{position:relative;z-index:3;width:min(620px,72%);text-align:center}.ob-welcome-logo{width:88px;height:88px;margin:0 auto 28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:27px;background:rgba(8,10,15,.15);backdrop-filter:blur(14px);box-shadow:0 25px 70px rgba(0,0,0,.18)}.ob-welcome-logo img{width:68px;height:68px;object-fit:contain}.ob-welcome-kicker{margin:0 0 15px;color:rgba(255,255,255,.58);font-size:10px;font-weight:950;letter-spacing:.27em}.ob-welcome-content h2{margin:0;font-size:clamp(48px,6vw,88px);line-height:.93;letter-spacing:-.065em;text-shadow:0 14px 35px rgba(0,0,0,.14)}.ob-welcome-content h2 span{color:#f1f3fb}.ob-welcome-content>p:last-of-type{max-width:470px;margin:24px auto 31px;color:rgba(244,246,255,.68);font-size:14px;line-height:1.75}.ob-welcome-button{display:inline-grid;place-items:center;min-width:190px;min-height:54px;padding:0 26px;border:1px solid rgba(255,255,255,.34);border-radius:15px;background:rgba(9,11,17,.1);color:#fff;font-size:13px;font-weight:900;backdrop-filter:blur(12px);transition:background .2s ease,transform .2s ease}.ob-welcome-button:hover{transform:translateY(-2px);background:rgba(9,11,17,.2)}.ob-welcome-bottom{position:absolute;z-index:3;left:clamp(75px,9vw,150px);right:42px;bottom:34px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.52);font-size:9px;letter-spacing:.18em}.ob-welcome-bottom strong{color:rgba(255,255,255,.78)}
@keyframes obFullSweep{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}
@media(max-width:980px){.ob-auth-page.ob-auth-fullscreen{overflow:auto}.ob-login-layout{grid-template-columns:1fr;min-height:100dvh}.ob-login-panel,.ob-login-panel-inner{min-height:100dvh}.ob-login-panel-inner{width:100%;max-width:680px}.ob-welcome-panel{display:none}.ob-login-content{max-width:none}.ob-login-panel{border-right:0}.ob-login-panel:after{content:"";position:absolute;right:-160px;top:18%;width:360px;height:360px;border-radius:50%;filter:blur(100px);background:rgba(115,120,148,.12);pointer-events:none}}
@media(max-width:560px){.ob-login-panel-inner{padding:24px 20px 20px}.ob-login-brand-mark{width:42px;height:42px}.ob-login-content{margin:clamp(60px,13vh,110px) 0 auto}.ob-login-content h1{font-size:52px}.ob-login-lead{margin-bottom:25px}.ob-login-method-box{grid-template-columns:42px minmax(0,1fr)}.ob-method-status{display:none}.ob-login-submit{min-height:56px}.ob-login-footer{padding-top:44px}.ob-login-security{font-size:9px;line-height:1.6}}
@media(max-height:720px) and (min-width:981px){.ob-login-panel-inner{padding-top:26px;padding-bottom:22px}.ob-login-content h1{font-size:52px}.ob-login-lead{margin:12px 0 20px}.ob-login-method-box{min-height:66px}.ob-login-submit{min-height:52px}.ob-login-divider{margin:17px 0 13px}.ob-welcome-logo{width:70px;height:70px;margin-bottom:20px}.ob-welcome-logo img{width:54px;height:54px}.ob-welcome-content h2{font-size:58px}.ob-welcome-content>p:last-of-type{margin:18px auto 22px}}
@media(prefers-reduced-motion:reduce){.ob-welcome-panel:after{animation:none}.ob-login-submit,.ob-login-arrow,.ob-welcome-button{transition:none}}


/* Clean, borderless login artwork */
.ob-login-brand-mark,
.ob-welcome-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ob-login-brand-mark img,
.ob-welcome-logo img {
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.28));
}
.ob-login-footer {
  justify-content: flex-start !important;
}

/* ===== Login vertical alignment refinement ===== */
@media (min-width:981px){
  .ob-login-content{transform:translateY(-3.5vh)}
  .ob-welcome-content{transform:translateY(-6vh)}
  .ob-welcome-button{margin-top:34px}
}
@media (max-width:980px){
  .ob-login-content{transform:translateY(1.5vh)}
}
@media (max-height:720px) and (min-width:981px){
  .ob-login-content{transform:translateY(-1vh)}
  .ob-welcome-content{transform:translateY(-3vh)}
  .ob-welcome-button{margin-top:24px}
}


/* One Bullet custom pull-to-refresh for phones and iPad */
:root{--pull-distance:0px;background:#080a10;color-scheme:dark}
html,body{background:#080a10!important;overscroll-behavior-y:none}
body{min-height:100dvh}
body::after{content:"";position:fixed;inset:-120px;z-index:-9999;background:#080a10;pointer-events:none}
.ob-pull-refresh{display:none}
@media (max-width:1366px){
  .ob-pull-refresh{
    position:fixed;
    top:max(10px,env(safe-area-inset-top));
    left:50%;
    z-index:100000;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:158px;
    justify-content:center;
    padding:10px 14px;
    border:1px solid rgba(151,157,188,.22);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(21,26,38,.98),rgba(10,12,18,.98));
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    box-shadow:0 16px 44px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.05);
    color:#d9dbea;
    opacity:0;
    pointer-events:none;
    transform:translate3d(-50%,calc(-92px + var(--pull-distance)),0);
    transition:opacity .15s ease,transform .14s cubic-bezier(.2,.8,.2,1);
    will-change:transform,opacity;
  }
  .ob-pull-refresh.active{opacity:1}
  .ob-pull-refresh.settling{transition:opacity .2s ease,transform .22s cubic-bezier(.22,.75,.25,1)}
  .ob-pull-refresh-icon{
    width:29px;height:29px;border-radius:50%;display:grid;place-items:center;
    background:rgba(115,120,148,.15);color:#b8bdd6;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
    transition:transform .18s ease,background .18s ease;
  }
  .ob-pull-refresh.ready .ob-pull-refresh-icon{transform:rotate(180deg);background:rgba(115,120,148,.30)}
  .ob-pull-refresh.refreshing .ob-pull-refresh-icon{animation:obRefreshSpin .72s linear infinite}
  .ob-pull-refresh-text{font-size:.78rem;font-weight:800;white-space:nowrap}
  @keyframes obRefreshSpin{to{transform:rotate(360deg)}}
}
body.ob-is-refreshing::before{
  content:"";position:fixed;inset:0;z-index:99990;pointer-events:none;
  background:rgba(8,10,16,.12);
}
