/* Browser layout and accessibility fixes layered over the original Aurora artwork. */
html { color-scheme:dark; min-width:320px; min-height:100%; height:auto; }
body { min-width:320px; overflow:auto; user-select:text; }
body[data-theme="green"] { --accent:#4fe09d; --aurora-bg:url('bg/green.png'); }
body[data-theme="red"] { --accent:#ff647c; --aurora-bg:url('bg/red.png'); }
body[data-theme="green"]::before { background-image:linear-gradient(90deg,rgba(3,8,16,.84),rgba(3,8,16,.4)),url('bg/green.png'); }
body[data-theme="red"]::before { background-image:linear-gradient(90deg,rgba(3,8,16,.84),rgba(3,8,16,.4)),url('bg/red.png'); }
button,input,select { font:inherit; }
button { touch-action:manipulation; }
button:focus-visible,a:focus-visible { outline:2px solid #83e6ff; outline-offset:4px; }
.app-shell { min-height:100dvh; height:auto; }
.sidebar { position:sticky; top:0; height:100dvh; }
.workspace { min-width:0; height:auto; overflow:visible; }
.sidebar-nav { margin-top:30px; }
.nav-item { font-size:13px; }
.sidebar-bottom { padding-top:24px; }
.auth-shell { min-height:100dvh; height:auto; }
.auth-card { max-height:none; }
.auth-card .ghost-button { margin-top:12px; width:100%; }
.auth-hint { line-height:1.8; font-size:12px; color:#9ca9bf; }
.topbar { flex-wrap:wrap; gap:16px; }
.topbar-actions { flex-wrap:wrap; }
#active-account { width:190px; height:42px; font-size:12px; }
.web-notice { display:flex; align-items:center; gap:16px; padding:18px 22px; border:1px solid rgba(108,228,255,.18); border-radius:16px; background:rgba(45,99,127,.08); margin:18px 0; }
.web-notice b { font-size:13px; }
.web-notice p,.web-card p { color:#a1aec6; font-size:13px; line-height:1.7; margin:5px 0; }
.web-card { padding:26px; margin-bottom:18px; }
.web-card h3 { margin:0 0 12px; }
.web-form { display:grid; gap:12px; margin-top:20px; max-width:600px; }
.web-form label { color:#c5cfe3; font-size:13px; }
.web-form button { justify-self:start; }
.check-label { display:flex; align-items:center; gap:10px; padding:10px 0; }
.check-label input { width:18px; height:18px; }
.small-note { color:#97a8c5; font-size:12px; line-height:1.7; }
.account-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.account-card { padding:24px; min-width:0; }
.account-card.active { border-color:var(--accent); }
.account-card h3 { overflow-wrap:anywhere; margin:10px 0; }
.account-card p { font-size:13px; color:#9caec9; line-height:1.6; }
.account-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.account-actions button { font-size:12px; }
.modal-backdrop { overflow:auto; padding:24px; }
.config-modal { width:min(960px,100%); max-height:90dvh; overflow:auto; }
.web-brawlers { max-height:390px; overflow:auto; display:grid; gap:8px; padding:3px; }
.brawler-option { display:grid; grid-template-columns:24px 1fr 105px; gap:10px; align-items:center; background:rgba(255,255,255,.035); padding:12px; border:1px solid var(--line); border-radius:12px; }
.brawler-option:has(input:checked) { border-color:var(--accent); background:rgba(108,228,255,.06); }
.brawler-option input[type=checkbox] { width:18px; height:18px; }
.brawler-option label { font-size:12px; cursor:pointer; }
.brawler-option small { display:block; color:#91a1bd; margin-top:5px; }
.brawler-option input[type=number] { height:38px; padding:0 8px; font-size:13px; }
.brawler-option[hidden] { display:none; }
.modal-footer { gap:15px; }
.help-card { max-width:900px; }
.help-card li { color:#b3bfd4; font-size:14px; line-height:1.8; margin:14px 0; }
.help-card a { color:#8fe8ff; }
.help-card h4 { margin:28px 0 10px; }
.plan-row { padding:12px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:12px; font-size:13px; }
#plan-targets { margin-bottom:20px; }
.site-disclaimer { position:fixed; bottom:5px; right:12px; color:#8593ae; font-size:9px; pointer-events:none; z-index:2; }
.toast { max-width:min(370px,calc(100vw - 40px)); }
.toast b { font-size:13px; }.toast span { font-size:12px; }
.summary-card strong { overflow-wrap:anywhere; }
.log-line { font-size:12px; line-height:1.65; margin-bottom:10px; overflow-wrap:anywhere; }
.log-line small { color:#8898b5; }
.hidden,[hidden] { display:none !important; }
.motion-reduced *, .motion-reduced *::before, .motion-reduced *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
@media(max-width:1000px) {
 .app-shell { grid-template-columns:190px minmax(0,1fr); }.sidebar { padding:20px 10px; }.workspace { padding:24px; }
 .topbar-actions { width:100%; }.topbar h2 { font-size:24px; }.page-grid,.config-page-grid,.dashboard-grid,.stats-details-grid { grid-template-columns:1fr; }
 .hero-card { min-height:260px; grid-template-columns:1fr; }.hero-orbit { display:none; }.hero-copy { max-width:100%; }
 .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.account-list { grid-template-columns:1fr; }
 .auth-shell { grid-template-columns:1fr; padding:35px; }.auth-visual { display:none; }.auth-card { width:min(460px,100%); margin:auto; }
}
@media(max-width:640px) {
 .app-shell { display:block!important; }.app-shell[style*="none"] { display:none!important; }
 .sidebar { position:relative; width:100%; height:auto; padding:16px; }.sidebar-brand { padding:0; }.sidebar-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:18px; }
 .nav-item { padding:0 9px; font-size:12px; height:42px; }.sidebar-bottom { padding-top:12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }.mini-api-card { display:none; }.sidebar-user { padding:0; }.sidebar-user .user-avatar { width:30px; height:30px; }.logout-button { width:auto; }
 .workspace { padding:20px 14px 40px; }.topbar { margin-bottom:20px; }.topbar-actions { gap:8px; }#active-account { width:100%; }
 .hero-card { padding:24px 20px; }.hero-copy h3 { font-size:28px; }.hero-actions { flex-wrap:wrap; }
 .summary-grid { gap:10px; }.summary-card { padding:14px 10px; gap:8px; }.summary-card strong { font-size:14px; white-space:normal; }.summary-card .summary-icon { display:none; }
 .stats-search-card,.player-overview-card { display:flex; flex-direction:column; align-items:stretch; padding:20px; }.player-overview-meta { text-align:left; }.stats-inline-field,.inline-field { grid-template-columns:1fr; }
 .player-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.stats-details-grid { grid-template-columns:1fr; }.web-card { padding:20px; }
 .modal-backdrop { padding:10px; }.config-modal { max-height:96dvh; }.modal-body { grid-template-columns:1fr; padding:18px; }.modal-header { padding:18px; }.modal-header h2 { font-size:22px; }.modal-footer { padding:16px; flex-direction:column; align-items:stretch; }.modal-footer > div { justify-content:flex-end; }
 .auth-shell { padding:20px 14px; }.auth-card { padding:28px 22px; }.site-disclaimer { position:static; text-align:center; padding:8px; }
 .card-header { gap:12px; flex-wrap:wrap; }.table-wrap { overflow:auto; }.content-card { min-width:0; }.web-notice { padding:16px; }
}
