:root{--bg:#080c16;--panel:#111827;--line:#273249;--gold:#d7a84b;--cream:#f4e8c6;--muted:#93a0b8;--red:#d85b61;--green:#55c58a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#1c253c 0,#080c16 52%);color:var(--cream);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.screen{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);padding:42px 34px;background:linear-gradient(150deg,#151e31,#0e1422);border:1px solid #37435e;border-radius:20px;box-shadow:0 25px 80px #0008;text-align:center}.crest{width:78px;height:78px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-size:42px;color:#101827;background:var(--gold);font-family:serif}.eyebrow{margin:0;color:var(--gold);font-size:11px;letter-spacing:.18em;font-weight:800}.login-card h1{font:700 34px Georgia,serif;margin:9px 0}.muted{color:var(--muted)}.login-card input{width:100%;padding:14px 15px;margin:16px 0 12px;background:#0a101d;border:1px solid #384761;border-radius:10px;color:var(--cream);outline:none}.gold-btn{border:0;border-radius:9px;padding:12px 18px;background:linear-gradient(135deg,#f2c35b,#b37b25);color:#18120a;font-weight:800;box-shadow:0 8px 22px #d7a84b33}.login-card .gold-btn{width:100%;padding:14px}.tiny{color:#71809b;font-size:11px;margin-top:20px}.topbar{height:66px;border-bottom:1px solid #253149;background:#0d1422eF;display:flex;align-items:center;padding:0 28px;gap:24px}.brand{display:flex;gap:10px;align-items:center;color:var(--cream);text-decoration:none}.brand span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--gold);color:#121827;font:21px Georgia}.brand b{letter-spacing:.08em}.brand i{color:var(--gold);font-style:normal}.online{margin-left:auto;color:#9eabc0;font-size:12px}.online span{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:5px;box-shadow:0 0 10px var(--green)}.small-btn{background:#1a2437;border:1px solid #34415b;color:#c5d0e4;border-radius:8px;padding:9px 13px}.game-layout{display:grid;grid-template-columns:240px minmax(480px,960px) 240px;gap:16px;max-width:1480px;margin:20px auto;padding:0 18px}.panel{background:#101827d9;border:1px solid var(--line);border-radius:14px;padding:17px;min-height:620px}.profile{display:flex;gap:11px;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line)}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#23436c;color:#f3ca71;font:27px Georgia}.profile small{display:block;color:var(--muted);margin-top:4px}.bars{padding:15px 0}.bars label{display:flex;justify-content:space-between;color:#cbd4e2;font-size:11px;margin-top:7px}.bar{height:7px;background:#252e40;border-radius:99px;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;width:100%;border-radius:inherit}.bar.hp i{background:var(--red)}.bar.xp i{background:var(--gold)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-grid div{background:#182337;padding:10px;border-radius:9px}.stat-grid small,.stat-grid b{display:block}.stat-grid small{color:var(--muted);font-size:11px}.stat-grid b{color:#f3c45e;margin-top:4px}.quest{margin-top:15px;padding:13px;border:1px solid #665329;background:#251f13;border-radius:10px}.quest .tag{display:block;color:var(--gold);font-size:10px;letter-spacing:.14em;margin-bottom:8px}.quest b{display:block}.quest p{color:#a7a091;font-size:12px;margin:7px 0}.quest strong{color:#e7bf5a}.hint{display:grid;gap:6px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.hint b{color:#d9e0eb}.stage-wrap{min-width:0}.stage-head{display:flex;align-items:end;justify-content:space-between;padding:0 4px 10px}.stage-head h2{font:24px Georgia,serif;margin:4px 0 0}.coord{color:var(--muted);font-size:12px}.canvas-shell{position:relative;border:1px solid #435170;border-radius:14px;overflow:hidden;background:#101925;box-shadow:0 15px 40px #0006}.canvas-shell canvas{display:block;width:100%;height:auto;image-rendering:auto}.toast{position:absolute;top:15px;left:50%;transform:translateX(-50%);padding:9px 16px;border-radius:99px;background:#111a2be8;border:1px solid #5b6e91;color:#f7dc90;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1}.action-row{display:flex;align-items:center;gap:10px;padding:12px 0}.tip{color:#75839a;font-size:12px}.panel-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.panel-title span{color:#71809b;font-size:11px}.log{height:480px;overflow:auto;padding:10px 0}.log p{font-size:12px;color:#9faec4;margin:0;padding:7px 0;border-bottom:1px solid #202a3b}.log p b{color:#e4bb5d}.skills{border-top:1px solid var(--line);padding-top:14px}.skills>span{font-size:11px;color:var(--muted)}.skills>div{display:flex;gap:6px;margin-top:8px}.skill{width:52px;height:52px;background:#1a263b;border:1px solid #36445d;border-radius:8px;color:#f2c463;font-size:20px}.skill small{display:block;color:#8592a9;font-size:8px}.touch-controls{display:none;position:absolute;bottom:12px;left:12px;right:12px;justify-content:space-between;align-items:center}.touch-controls button{width:44px;height:38px;background:#131e32cc;border:1px solid #9a8048;color:#edce82;border-radius:8px}.touch-controls>div{display:flex;gap:5px}.touch-controls .attack{background:#c24d45;color:#fff;border-color:#efae6d;border-radius:50%;width:56px;height:56px}
@media(max-width:1100px){.game-layout{grid-template-columns:210px minmax(420px,1fr)}.right-panel{display:none}}@media(max-width:700px){.topbar{height:56px;padding:0 13px}.brand b{font-size:12px}.online{font-size:10px}.game-layout{display:block;margin:0;padding:0 8px}.left-panel{min-height:auto;margin:10px 0;padding:12px}.hint{display:none}.profile{display:inline-flex;border:0;padding:0}.bars,.stat-grid,.quest{display:none}.stage-head{padding:9px 3px}.stage-head h2{font-size:19px}.stage-head .coord{font-size:10px}.canvas-shell{border-radius:10px}.touch-controls{display:flex}.action-row{padding:8px 2px}.tip{display:none}.stage-wrap{width:100%}}
