.character-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px;padding:22px 0 30px;border-bottom:1px solid var(--line)}
.character-header h1{margin:8px 0 10px;font:700 clamp(2.2rem,5vw,4.5rem)/1.05 Georgia,"Noto Serif SC",serif}
.character-header p:not(.eyebrow){margin:0;color:var(--muted)}
.scope-switch{display:flex;border:1px solid var(--line);background:var(--panel)}
.scope-switch a{padding:11px 15px;color:var(--muted);text-decoration:none}
.scope-switch a+a{border-left:1px solid var(--line)}
.scope-switch a.active{color:#17170f;background:var(--gold)}
.character-map-panel{margin-bottom:22px}
.map-wrap{overflow:hidden;border:1px solid #3b4034;border-radius:8px;background:#0f120f}
.coordinate-map{display:block;width:100%;height:auto;min-height:300px}
.map-background{fill:#131812}
.map-grid{stroke:#2d352b;stroke-width:1}
.map-axis{fill:#66705f;font:12px ui-monospace,Consolas,monospace}
.map-landmark circle{fill:#7e865d}
.map-landmark text{fill:#8e9683;font:14px "Noto Sans SC","Microsoft YaHei",sans-serif}
.map-player{color:var(--gold)}
.map-player>circle:not(.map-player-ring){fill:currentColor}
.map-player-ring{fill:none;stroke:currentColor;stroke-width:2;opacity:.45}
.map-player text{fill:#f4edcf;font:700 15px "Noto Sans SC","Microsoft YaHei",sans-serif;paint-order:stroke;stroke:#10130f;stroke-width:4px}
.map-player.dead{color:var(--red)}
.map-note{margin:16px 0 0;color:var(--muted);font-size:.82rem;line-height:1.7}
.character-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.character-card-top{display:flex;justify-content:space-between;gap:22px}
.character-card h2,.character-empty h2{margin:5px 0;font:700 1.65rem Georgia,"Noto Serif SC",serif}
.character-owner{margin:8px 0;color:var(--muted)}
.life-state{align-self:start;padding:6px 10px;border:1px solid #5d7246;color:#dbeac8;background:rgba(93,114,70,.15);font-size:.78rem;font-weight:800}
.life-state.dead{border-color:#773d36;color:#ffd3cd;background:rgba(119,61,54,.15)}
.coordinate-list{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 0;border-top:1px solid var(--line)}
.coordinate-list div{padding:18px 8px 0}
.coordinate-list div+div{border-left:1px solid var(--line);padding-left:18px}
.coordinate-list dt{color:var(--muted);font-size:.72rem;font-weight:800}
.coordinate-list dd{margin:5px 0 0;color:var(--gold);font:700 .98rem ui-monospace,Consolas,monospace}
.character-empty{grid-column:1/-1;text-align:center}
.character-empty p{color:var(--muted)}
@media(max-width:850px){.character-header{align-items:start;flex-direction:column}.character-list{grid-template-columns:1fr}.scope-switch{width:100%}.scope-switch a{flex:1;text-align:center}}
@media(max-width:560px){.character-map-panel .panel-heading{align-items:start;flex-direction:column}.coordinate-map{width:850px;max-width:none}.map-wrap{overflow-x:auto}.character-card{padding:20px 16px}.coordinate-list dd{font-size:.88rem}.topbar nav{flex-wrap:wrap;justify-content:flex-end}}
