body{overflow-x:hidden}
body:before,body:after{content:"";position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(110px);opacity:.09;pointer-events:none;z-index:-1;animation:ambientFloat 12s ease-in-out infinite alternate}
body:before{left:18%;top:-220px;background:var(--purple)}body:after{right:-180px;bottom:-220px;background:var(--cyan);animation-delay:-5s}
.hero-panel:before{animation:gridDrift 18s linear infinite}.brand-mark{animation:logoGlow 3s ease-in-out infinite}.server-pill i,.online-dot{animation:onlinePulse 1.8s ease-out infinite}
.primary{transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}.primary:hover{transform:translateY(-2px);box-shadow:0 13px 38px #6554e852}.primary:active{transform:scale(.98)}
.sidebar nav a{transition:color .2s ease,background .2s ease,transform .2s ease}.sidebar nav a:hover{transform:translateX(3px)}
.stats-grid article,.entity-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.stats-grid article:hover,.entity-card:hover{transform:translateY(-5px);border-color:#39445a;box-shadow:0 18px 42px #0006}
.vehicle-visual{overflow:hidden}.vehicle-visual:before{content:"";position:absolute;inset:-100%;background:linear-gradient(115deg,transparent 40%,#ffffff12 50%,transparent 60%);transform:translateX(-35%);transition:transform .7s ease}.vehicle-card:hover .vehicle-visual:before{transform:translateX(35%)}
.toast{animation:toastIn .45s cubic-bezier(.2,.8,.2,1) both}.motion-ready .reveal-item{opacity:0;transform:translateY(18px) scale(.985)}.motion-ready .page-loaded .reveal-item{opacity:1;transform:none;transition:opacity .55s ease var(--reveal-delay),transform .55s cubic-bezier(.2,.8,.2,1) var(--reveal-delay),border-color .25s ease,box-shadow .25s ease}.motion-ready .page-loaded .stats-grid article:hover,.motion-ready .page-loaded .entity-card:hover{transform:translateY(-5px)}
@keyframes ambientFloat{to{transform:translate3d(50px,35px,0) scale(1.16)}}@keyframes gridDrift{to{background-position:110px 0}}@keyframes logoGlow{50%{box-shadow:0 8px 36px #6a58ff99;transform:translateY(-1px)}}@keyframes onlinePulse{0%{box-shadow:0 0 0 0 #31df9188}70%{box-shadow:0 0 0 7px #31df9100}100%{box-shadow:0 0 0 0 #31df9100}}@keyframes toastIn{from{opacity:0;transform:translateX(25px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .reveal-item{opacity:1;transform:none}}

.skin-photo{overflow:hidden}.skin-photo img{width:100%;height:100%;object-fit:cover}.character-list{display:grid;gap:18px}.character-detail{padding:0;overflow:hidden}.character-main{display:grid;grid-template-columns:190px 1fr;min-height:240px}.skin-showcase{position:relative;background:radial-gradient(circle at 50% 35%,#34405b,#111720 70%);overflow:hidden}.skin-showcase img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.character-detail:hover .skin-showcase img{transform:scale(1.035)}.skin-showcase small{position:absolute;left:12px;bottom:12px;background:#090c12cc;border:1px solid #384256;border-radius:7px;padding:6px 9px;color:#aab4c5}.character-info{padding:25px}.character-info h2{font-size:25px;margin:15px 0 3px}.character-info .entity-stats{grid-template-columns:repeat(4,1fr);margin-top:25px}.inventory{border-top:1px solid var(--line);padding:20px}.inventory-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.inventory-head small{color:var(--muted)}.item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.item-slot{display:flex;align-items:center;gap:10px;background:#0b1018;border:1px solid #222a38;border-radius:10px;padding:9px;min-width:0}.item-slot img{width:38px;height:38px;object-fit:contain}.item-slot span{display:grid;min-width:0}.item-slot b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-slot small{font-size:8px;color:var(--muted);margin-top:3px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th{text-align:left;color:#687286;font-size:9px;letter-spacing:1px;padding:10px;border-bottom:1px solid var(--line)}.admin-table td{padding:13px 10px;border-bottom:1px solid #1c2330;font-size:11px}.admin-table td:first-child{display:grid}.admin-table td small{margin-top:3px}.admin-table code{font-size:9px;color:#a99fff}.mini-button{border:1px solid #433b80;background:#7869ff18;color:#a99fff;border-radius:7px;padding:7px 10px;cursor:pointer}dialog{width:min(480px,calc(100% - 30px));border:1px solid #30394b;border-radius:16px;background:#101620;color:var(--text);padding:0;box-shadow:0 30px 90px #000c}dialog::backdrop{background:#03050acc;backdrop-filter:blur(6px)}.admin-dialog{position:relative;padding:28px}.admin-dialog h2{margin:8px 0 22px}.admin-dialog label{display:grid;gap:7px;margin:13px 0;color:#b8c0cf;font-size:11px}.dialog-close{position:absolute;right:17px;top:15px;border:0;background:none;color:#818b9e;font-size:24px;cursor:pointer}
@media(max-width:850px){.character-main{grid-template-columns:120px 1fr}.character-info .entity-stats{grid-template-columns:1fr 1fr}.item-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.character-main{display:block}.skin-showcase{height:210px}.item-grid{grid-template-columns:1fr}}
.skin-showcase small{display:none}

/* Compact inventory */
.inventory{padding:14px 18px}.inventory-head{margin-bottom:9px}.inventory-head strong{font-size:12px}.inventory-head small{font-size:8px}.item-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-height:190px;overflow:auto;padding-right:4px}.item-grid::-webkit-scrollbar{width:5px}.item-grid::-webkit-scrollbar-thumb{background:#343d50;border-radius:5px}.item-slot{gap:6px;border-radius:7px;padding:5px 6px;min-height:43px}.item-slot img{width:27px;height:27px;flex:0 0 auto}.item-slot b{font-size:8px}.item-slot small{font-size:7px;white-space:nowrap}
@media(max-width:1200px){.item-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:850px){.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.property-visual{height:125px;border-radius:11px;background:linear-gradient(145deg,#242d40,#111720);display:grid;place-items:center;position:relative;overflow:hidden}.property-visual>span{font-size:48px;color:#8f83ff;text-shadow:0 0 35px #7969ff88}.property-visual>b{position:absolute;right:10px;top:10px;font-size:8px;color:#a99fff;background:#0b0f16bb;border:1px solid #443d72;border-radius:6px;padding:5px 7px}.log-table td{max-width:260px}.log-table td:nth-child(6){white-space:normal;line-height:1.5}.sidebar{overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#2d3545;border-radius:4px}
.admin-table .empty-log{display:table-cell!important;max-width:none!important;width:auto;text-align:center;padding:48px 20px;border-bottom:0}.empty-log span,.empty-log strong,.empty-log small{display:block}.empty-log span{color:#7969ff;font-size:28px;margin-bottom:10px}.empty-log strong{color:#9ba5b8;font-size:12px}.empty-log small{color:#566176;font-size:9px;margin-top:6px}.empty-log-row:hover{background:transparent!important}
.dashboard-grid.dashboard-single{grid-template-columns:1fr}
.dynamic-news+.dynamic-news{margin-top:20px}.dynamic-news p{white-space:normal}.news-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.news-admin-card h2{font-size:17px;margin:14px 0 8px}.news-admin-card>p{color:var(--muted);font-size:10px;line-height:1.6;min-height:48px}.news-admin-head,.news-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.news-admin-head>small{color:var(--muted);font-size:8px}.news-admin-actions{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.publish-check{display:flex!important;grid-template-columns:18px 1fr;align-items:center}.publish-check input{width:15px;height:15px;margin:0}@media(max-width:800px){.news-admin-grid{grid-template-columns:1fr}}
.store-notice{display:flex;gap:12px;align-items:center;border:1px solid #ffae5540;background:#ffae550d;color:#b6becb;border-radius:11px;padding:13px 16px;font-size:10px;margin-bottom:18px}.store-notice b{color:var(--orange)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pp-package{position:relative;text-align:center;border:1px solid var(--line);background:linear-gradient(145deg,#141a25,#0d121a);border-radius:15px;padding:28px 20px;transition:.25s}.pp-package:hover{transform:translateY(-5px);border-color:#4a437a;box-shadow:0 18px 45px #0006}.pp-package.featured{border-color:#6657d8;background:radial-gradient(circle at 50% 0,#302965,#111722 45%)}.popular{position:absolute;right:12px;top:12px;background:#7969ff25;color:#a99fff;border-radius:6px;padding:5px 7px;font-size:7px}.pp-gem{font-size:32px;color:#8f82ff;text-shadow:0 0 25px #7969ff}.pp-package>strong{display:block;font-size:32px;margin-top:10px}.pp-package>small{color:var(--muted);font-size:8px;letter-spacing:1.5px}.package-price{font-size:18px;font-weight:800;margin:20px 0}.package-price span{font-size:10px;color:var(--muted)}.pp-package button:disabled{opacity:.4;filter:grayscale(1);pointer-events:none}.payment-history{margin-top:18px}.payment-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;border-top:1px solid var(--line);padding:13px 0}.payment-row>div{display:grid}.payment-row small{font-size:8px;color:var(--muted);margin-top:3px}.payment-row>b{font-size:11px}@media(max-width:800px){.package-grid{grid-template-columns:1fr}.payment-row{grid-template-columns:1fr auto}}
.request-layout{margin-bottom:18px}.request-history{margin-top:18px}.request-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.request-row>div{min-width:0}.request-row strong{font-size:12px}.request-row small{display:block;color:var(--muted);font-size:8px;margin-top:5px}.request-row p{color:#8e98aa;font-size:10px;margin:9px 0}.request-status{height:max-content;border-radius:6px;padding:5px 8px;font-size:8px;white-space:nowrap}.request-status.pending{background:#ffae5515;color:var(--orange)}.request-status.approved{background:#31df9115;color:var(--green)}.request-status.rejected{background:#ff657715;color:var(--danger)}.reject-reason{color:#ff8d9a;background:#ff657710;border-radius:7px;padding:8px;font-size:9px}.request-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.request-card-head{display:flex;justify-content:space-between}.request-card-head h2{margin:5px 0}.request-card-head small{color:var(--muted);font-size:8px}.admin-request dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.admin-request dl div{background:#0b1018;border:1px solid var(--line);border-radius:8px;padding:10px;min-width:0}.admin-request dt{font-size:7px;color:var(--muted);letter-spacing:1px}.admin-request dd{font-size:10px;margin:5px 0 0;word-break:break-all}.player-reason{border-left:2px solid var(--purple);padding:5px 12px}.player-reason small{font-size:7px;color:var(--muted)}.player-reason p{font-size:10px;line-height:1.6;margin:6px 0}.review-actions{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:17px}.review-actions form{display:flex;gap:7px}.reject-form input{padding:9px;font-size:9px}.approve-button,.reject-button{border:0;border-radius:8px;padding:9px 12px;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}.approve-button{background:#31df9118;color:var(--green)}.reject-button{background:#ff657718;color:var(--danger)}@media(max-width:900px){.request-admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.review-actions{grid-template-columns:1fr}.reject-form{display:grid!important;grid-template-columns:1fr auto}}
.admin-content-head,.news-admin-grid{width:min(100%,1000px);margin-left:auto;margin-right:auto}.news-admin-grid>.empty:only-child{grid-column:1/-1}
.personal-ban-status{display:grid;justify-items:start;gap:5px}.personal-ban-status strong{border-radius:6px;padding:4px 7px;font-size:9px}.personal-ban-status strong.active{background:#31df9115;color:var(--green)}.personal-ban-status strong.inactive{background:#ff657715;color:var(--danger)}.personal-ban-status small{display:block;color:var(--muted);font-size:8px}
.unban-request-button{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}.unban-request-button span{font-size:14px}
.admin-table td:first-child{display:table-cell}
