:root{--bg:#070817;--panel:rgba(13,18,38,.72);--line:rgba(255,255,255,.14);--text:#f5f7ff;--muted:#aab3d8;--accent:#7df9ff;--accent2:#b388ff;--danger:#ff5c8a;--ok:#8cffc1}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial;background:radial-gradient(circle at 20% 10%,#1a2555 0,#070817 28%,#03040b 100%);color:var(--text);overflow-x:hidden}a{color:inherit}.app-shell{min-height:100vh;position:relative}.stars:before,.stars:after{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff8 1px,transparent 1px);background-size:80px 80px;animation:drift 60s linear infinite;opacity:.22}.stars:after{background-size:130px 130px;animation-duration:95s;opacity:.13}@keyframes drift{to{transform:translateY(-300px)}}header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(6,8,19,.88),rgba(33,24,70,.44));backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.5px}.sigil{width:42px;height:42px;border-radius:16px;background:conic-gradient(from 90deg,var(--accent),var(--accent2),#ffcc70,var(--accent));box-shadow:0 0 28px #7df9ff66}.nav{display:flex;gap:10px;align-items:center}.btn,button,input,select,textarea{border-radius:16px;border:1px solid var(--line)}.btn,button{background:linear-gradient(135deg,rgba(125,249,255,.16),rgba(179,136,255,.18));color:var(--text);padding:11px 16px;cursor:pointer;font-weight:700;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 30px rgba(0,0,0,.2)}.btn:hover,button:hover{transform:translateY(-1px);border-color:#7df9ffaa}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;padding:42px 34px 24px;align-items:center}.hero h1{font-size:clamp(38px,6vw,86px);line-height:.95;margin:0 0 18px;background:linear-gradient(90deg,#fff,#7df9ff,#b388ff);-webkit-background-clip:text;color:transparent}.hero p{color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.34);backdrop-filter:blur(18px)}.login-card{padding:22px}.login-card input{width:100%;padding:13px 14px;margin:7px 0 12px;background:rgba(255,255,255,.08);color:white}.grid{display:grid;gap:18px}.world-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));padding:28px 34px}.world-card{position:relative;padding:20px;min-height:210px;overflow:hidden}.world-card:before{content:"";position:absolute;inset:-45%;background:radial-gradient(circle,var(--a),transparent 40%),radial-gradient(circle at 70% 30%,var(--b),transparent 38%);filter:blur(18px);opacity:.4;animation:pulse 5s ease-in-out infinite alternate}.world-card>*{position:relative}.world-num{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.world-card h3{margin:8px 0;font-size:22px}.muted{color:var(--muted)}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:6px 10px;margin:4px 4px 0 0;background:rgba(255,255,255,.07);font-size:12px}.locked{filter:grayscale(.7);opacity:.6}.game-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;padding:20px 34px 34px}.game-canvas-panel{height:620px;overflow:hidden;position:relative}#renderCanvas{width:100%;height:100%;display:block;outline:none}.hud{padding:18px}.hud h2{margin:0 0 8px}.stat{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.ability-grid{grid-template-columns:1fr 1fr;margin-top:14px}.ability{padding:12px;background:rgba(255,255,255,.07);border-radius:18px;border:1px solid var(--line)}.footer-note{padding:18px 34px;color:var(--muted);font-size:13px}.admin-wrap{padding:28px 34px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.table th{color:#7df9ff}@media(max-width:950px){.hero,.game-layout{grid-template-columns:1fr}.game-canvas-panel{height:470px}header{flex-direction:column;align-items:flex-start;gap:12px}.world-grid{padding:18px}.hero{padding:28px 18px}}@keyframes pulse{from{transform:scale(1)}to{transform:scale(1.1) rotate(7deg)}}
