:root{color-scheme:dark;--bg:#102019;--panel:#1d3125;--border:#3a513c;--text:#eff4df;--muted:#a2b49e;--lime:#d9f07d;--warm:#edb887}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 5%,#2b4027,transparent 60%),var(--bg);font-family:system-ui,"Microsoft Yahei",sans-serif;color:var(--text);min-height:100vh}button,input,select{font:inherit}button{border:1px solid transparent;background:var(--lime);color:#182518;border-radius:10px;padding:12px 20px;cursor:pointer;font-weight:650}button:hover{filter:brightness(1.1)}button:disabled{opacity:.45;cursor:default}button.secondary{background:#304632;border-color:#5a7150;color:var(--text)}button.quiet{background:transparent;border-color:var(--border);color:var(--text);padding:8px 12px}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #e9c17b;outline-offset:3px}header{padding:22px 5%;border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:var(--text);font-weight:800;text-decoration:none;font-size:21px}.brand small{display:block;letter-spacing:3px;color:var(--muted);font-size:10px;margin-top:4px}#connection{font-size:13px;color:var(--muted)}main{max-width:1240px;padding:30px 30px 0;margin:auto}.entry{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:12%;min-height:70vh}.eyebrow{color:var(--lime);font-size:12px;letter-spacing:3px}h1{font-size:clamp(48px,6vw,80px);line-height:1.15;margin:22px 0}h2{margin:8px 0 20px}h3{margin-top:0}.muted{color:var(--muted);line-height:1.8}.small{font-size:12px}.features{display:flex;gap:10px;margin-top:26px}.features span{padding:7px 12px;border:1px solid var(--border);border-radius:30px;font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:26px}.entry-card{display:grid;gap:12px;box-shadow:0 20px 70px #0004}.entry-card h2{margin:0 0 8px}.entry-card label{color:var(--muted);font-size:13px}input,select{background:#13241a;color:var(--text);border:1px solid #526348;border-radius:9px;padding:12px;min-width:0}#room-code{text-transform:uppercase;letter-spacing:4px}.divider{text-align:center;color:var(--muted);font-size:12px;margin:8px 0}.room-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-bar h2{margin:6px 0 16px}.invite{display:flex;align-items:center;gap:12px}#code-label{font-family:monospace;color:var(--lime);font-size:19px;letter-spacing:3px}.players{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 22px}.player{padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:#1b2d23;display:grid;gap:8px}.player.me{border-color:#bedf6b}.player .name{font-weight:700}.player .state{font-size:12px;color:var(--muted)}.player .numbers{font-size:13px;display:flex;gap:18px}.hp{height:5px;border-radius:5px;background:#101d16;overflow:hidden}.hp div{height:100%;background:var(--lime)}.player:nth-child(2) .hp div{background:var(--warm)}.lobby-actions{display:flex;gap:12px;margin-top:22px}#lobby select{display:block;width:100%;max-width:440px;margin-top:9px}.battle-wrap{position:relative;border-radius:18px;border:1px solid var(--border);overflow:hidden;background:#777554}.battle-top,.battle-bottom{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;pointer-events:none;font-size:13px;text-shadow:0 2px 6px #000;background:#122317bc}.battle-top{top:0}.battle-top strong{font-size:25px;color:var(--lime)}.battle-bottom{bottom:0;font-size:12px;background:linear-gradient(transparent,#102019e8)}canvas{display:block;width:100%;height:min(61vh,660px);min-height:320px}.section-caption{margin:24px 0 18px}.section-caption h3{font-size:24px;margin-bottom:6px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{border:1px solid var(--border);border-radius:15px;background:#21372a;padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}.card[data-tier="1"]{border-color:#75a5dc}.card[data-tier="2"]{border-color:#bc8ae0}.card[data-tier="3"]{border-color:#e45e5e}.card img{width:64px;height:64px;object-fit:contain}.card h4{margin:0;font-size:17px}.card .description{white-space:pre-line;font-size:13px;line-height:1.7;color:#c1d0b8;flex:1;overflow-wrap:anywhere}.card .price{color:var(--lime);font-size:14px}.card button{padding:10px;font-size:14px}.card.sold{opacity:.45}.card.locked{box-shadow:inset 0 3px var(--lime)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.inventory{margin-top:26px}.inventory h3{font-size:16px}.gear{display:flex;gap:12px;flex-wrap:wrap}.gear-item{background:#14261b;border:1px solid var(--border);padding:12px;border-radius:12px;display:grid;gap:8px;min-width:130px;max-width:240px;font-size:12px}.gear-item button{font-size:12px;padding:6px 10px}.gear-item img{width:40px;height:40px;object-fit:contain}.item-list{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.8}.result{text-align:center;padding:60px 24px;margin-top:24px}.result h2{font-size:36px}.result p{color:var(--muted)}.notice{color:#f4d59e;min-height:24px;font-size:14px;margin-top:20px}footer{padding:24px;text-align:center;color:#829779;font-size:11px;letter-spacing:1px}[hidden]{display:none!important}@media(max-width:800px){main{padding:22px 16px 0}.entry{grid-template-columns:1fr;gap:26px}.entry h1{font-size:48px}.cards{grid-template-columns:repeat(2,1fr)}header{padding:18px}.room-bar{align-items:flex-start;flex-direction:column}.battle-top span:last-child{display:none}.players{gap:8px}.player{padding:12px}.player .numbers{gap:8px;flex-wrap:wrap}.invite{flex-wrap:wrap}.card{padding:14px}canvas{height:50vh}.features{margin-bottom:12px}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s,opacity .15s}}
dialog{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:28px;width:min(90vw,460px)}dialog::backdrop{background:#07130cbd}button.danger{color:#ffd4bd;border-color:#a05b45;background:#603d30}.invite{flex-wrap:wrap}
#network-diagnostics{margin-top:20px;color:var(--muted);font-size:12px}#network-diagnostics summary{cursor:pointer}#network-stats{line-height:1.8;white-space:pre-wrap}
