:root{--bg:#0d1117;--panel:#151c26;--panel2:#1b2532;--line:#2b394b;--text:#e8eef7;--muted:#8fa0b7;--gold:#f4bd64;--cyan:#69d3d1;--purple:#a98bff;--red:#ff7b88}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -10%,#233852 0,#0d1117 42%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,"Microsoft YaHei",sans-serif}.shell{max-width:1120px;margin:auto;padding:34px 22px 48px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.eyebrow,.tag{color:var(--cyan);font-size:11px;letter-spacing:2px;font-weight:700}h1{font-size:46px;line-height:1;margin:10px 0}h2{font-size:28px;margin:12px 0 8px}h3{margin:0;font-size:18px}.status{color:var(--muted);font-size:13px}.status i{display:inline-block;width:8px;height:8px;background:#63e6a2;border-radius:50%;margin-right:7px;box-shadow:0 0 12px #63e6a2}.card{background:linear-gradient(145deg,rgba(27,37,50,.96),rgba(16,22,31,.96));border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 12px 40px #0003}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hero p{color:var(--muted);margin-bottom:0}.hero button,button{background:var(--gold);border:0;border-radius:10px;color:#241a0b;font-weight:800;padding:13px 19px;cursor:pointer}button:hover{filter:brightness(1.08)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{padding:17px;background:#101721;border:1px solid var(--line);border-radius:12px}.stat small,.section-title span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:25px;color:var(--gold);display:block;margin-top:5px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:span 2}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.map-affix{margin-top:12px;padding:12px;border:1px solid #63583c;border-radius:10px;background:#28241a}.map-affix strong{display:block;color:var(--gold)}.map-affix small{display:block;color:var(--muted);margin-top:4px}.map{padding:14px;border:1px solid var(--line);border-radius:11px;background:#111923;cursor:pointer}.map.active{border-color:var(--cyan);background:#132b31}.map.locked{opacity:.45;cursor:not-allowed}.map strong{display:block}.map small{color:var(--muted)}.talents,.inventory{display:flex;gap:10px;flex-wrap:wrap}.talent,.item{flex:1;min-width:125px;padding:14px;background:#111923;border:1px solid var(--line);border-radius:11px}.talent button{padding:7px 10px;margin-top:10px;background:var(--purple);font-size:12px}.item{cursor:pointer}.item:hover{border-color:var(--gold)}.item strong{display:block;color:var(--gold)}.item small{color:var(--muted)}.item-actions{display:flex;gap:7px;margin-top:12px}.item-actions button{padding:7px 10px;font-size:11px}.item-actions .secondary{background:#334155;color:#dbe7f5}.item-actions .danger{background:#512b35;color:#ffbdc5}.material{padding:14px;border:1px solid var(--purple);border-radius:11px;background:#211a35;min-width:120px}.material strong,.material small{display:block}.material small{font-size:24px;color:var(--purple);font-weight:800}.boss-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #6b3f45;background:#26191e;border-radius:12px}.boss-name strong,.boss-name small{display:block}.boss-name strong{color:var(--red);font-size:20px}.boss-name small{color:var(--muted);margin-top:6px}.boss-panel button:disabled{opacity:.35;cursor:not-allowed}.auth-card{max-width:480px;margin:10vh auto}.auth-card p{color:var(--muted)}.auth-card form{display:grid;gap:12px}.auth-card input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#0f1722;color:var(--text);font:inherit}.auth-card input:focus{outline:1px solid var(--cyan)}.auth-actions{display:flex;gap:10px}.auth-actions button{flex:1}.auth-actions .secondary{background:#334155;color:var(--text)}#auth-error{display:block;color:var(--red);margin-top:12px}.link-button{padding:7px 10px;margin-top:10px;background:transparent;border:1px solid var(--line);color:var(--muted)}.log{color:var(--muted);font-size:13px;line-height:1.9;min-height:54px}.log div{border-bottom:1px solid #ffffff0b}footer{text-align:center;color:#64748a;margin-top:26px;font-size:12px}@media(max-width:700px){.shell{padding:22px 14px}.hero{display:block}.hero button{margin-top:18px;width:100%}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.wide{grid-column:auto}h1{font-size:38px}h2{font-size:23px}}
