:root{color-scheme:dark;--bg:#0a111c;--panel:#121e2e;--panel2:#19293b;--edge:#2a3a50;--soft:#92a7bd;--ink:#edf4ff;--aqua:#59c9bc;--indigo:#a6a4fa;--gold:#ffd58d;--danger:#f19b98;font:14px/1.5 'Segoe UI',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at top left,#12243b 0%,transparent 40%),var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.creator:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}a{color:#bdb9ff;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:23px;letter-spacing:-.025em;margin-bottom:3px}h2{font-size:20px;letter-spacing:-.02em;margin-bottom:5px}h3{font-size:15px;margin-bottom:8px}small,.muted,.sub{color:var(--soft)}.sub{font-size:12px}.overline{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:700}.page{max-width:1670px;margin:auto;padding:25px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 0 25px}.brand{display:flex;gap:14px;align-items:center}.brand-mark{height:46px;width:46px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:900;background:linear-gradient(145deg,#2b7d88,#6c5caa)}.topbar nav{display:flex;align-items:center;gap:16px}.version{font-size:12px;padding:5px 9px;color:#b5c7db;border:1px solid var(--edge);border-radius:8px}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start;gap:18px}.sidebar{display:grid;gap:14px;position:sticky;top:12px;max-height:calc(100vh - 25px);overflow:auto;scrollbar-color:#3f556e transparent}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:19px;min-width:0;box-shadow:0 8px 24px #00000015}.sidebar .panel{padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:150px}.field{background:#0c1726;border:1px solid #3b4c63;border-radius:9px;color:var(--ink);padding:10px 11px;min-width:0;max-width:100%}.field::placeholder{color:#8296ae}.button{background:#5e71d6;color:#fff;border:1px solid #6479dc;border-radius:9px;padding:10px 14px;font-weight:600;white-space:nowrap}.button:hover{filter:brightness(1.12)}.button.secondary{background:#25384f;border-color:#3b4d66;color:#d7e6f7}.button.quiet{background:transparent;border-color:var(--edge);color:#cddbe9}.button:disabled{opacity:.4;cursor:not-allowed}.full{width:100%}.creator-list{display:grid;gap:9px;margin-top:14px}.creator{width:100%;background:#172639;border:1px solid #2a405a;color:inherit;border-radius:12px;padding:13px;text-align:left;display:grid;gap:7px}.creator:hover{border-color:#667fa2}.creator.active{border-color:#96a1f9;background:#202c48;box-shadow:inset 3px 0 #aaa8ff}.creator .name{font-size:14px;font-weight:700;overflow-wrap:anywhere}.creator .figures{display:flex;justify-content:space-between;gap:7px;color:#d2def0;font-size:12px}.pill{display:inline-flex;align-items:center;border-radius:99px;gap:5px;padding:3px 9px;border:1px solid #40516a;background:#1b2c40;font-size:11px;color:#b8cadc;white-space:nowrap}.pill.live{background:#17382f;color:#77e2ba;border-color:#2d6653}.pill.offline{background:#273247;color:#bac6d7}.main{min-width:0;display:grid;gap:15px}.heading-panel{padding:20px 23px}.heading-panel .username{font-size:25px;font-weight:750;letter-spacing:-.025em;overflow-wrap:anywhere}.heading-panel .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--edge);border-radius:13px;padding:6px;overflow-x:auto;scrollbar-color:#314761 transparent}.tab{background:transparent;border:0;border-radius:8px;padding:10px 13px;color:#abbdd2;font-weight:650;white-space:nowrap}.tab:hover{background:#203047;color:#fff}.tab[aria-selected=true]{background:#35456c;color:white;box-shadow:inset 0 -2px var(--indigo)}.view[hidden]{display:none!important}.view{display:grid;gap:15px}.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.section-top p{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{padding:15px 17px;background:var(--panel);border:1px solid var(--edge);border-radius:13px;min-width:0}.stat .num{display:block;font-size:25px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.2;margin:8px 0 4px}.stat .label{font-size:12px;color:#acbfd5}.stat small{display:block;white-space:normal;line-height:1.35}.split{display:grid;grid-template-columns:1.65fr 1fr;gap:15px}.split.equal{grid-template-columns:1fr 1fr}.metric-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.mini{font-size:12px;color:#d1dff0;padding:5px 9px;background:#1b2b41;border:1px solid #324760;border-radius:7px;font-variant-numeric:tabular-nums}.chart-box{position:relative;width:100%;min-width:0;border:1px solid #2a3c51;background:#0d1828;border-radius:12px;overflow:hidden}.plot{display:block;width:100%;height:auto;min-height:260px;user-select:none}.plot .gridline{stroke:#2c4054;stroke-width:1}.plot .axis-label{fill:#a3b7cd;font:13px 'Segoe UI',system-ui,sans-serif}.plot .axis-caption{fill:#86a3bd;font:12px 'Segoe UI',system-ui,sans-serif}.plot .series{fill:none;stroke:var(--indigo);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.plot .bar{fill:#6ea9c1}.plot .bar:hover{fill:var(--aqua)}.plot .marker{fill:#f0e2ac;stroke:#172333;stroke-width:2}.plot .hotspot{fill:transparent;cursor:crosshair}.plot .crosshair{stroke:#e0e6ff;stroke-width:1;stroke-dasharray:4 4;opacity:.65;pointer-events:none}.chart-tip{position:absolute;pointer-events:none;z-index:5;background:#29374d;border:1px solid #697a9c;box-shadow:0 8px 18px #0007;border-radius:9px;padding:8px 11px;font-size:12px;color:#f4f7fe;white-space:nowrap;transform:translate(-50%,-115%)}.chart-tip[hidden]{display:none}.chart-empty{color:var(--soft);padding:32px 15px;text-align:center}.chart-toolbar{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:13px}.compact-field{padding:7px 9px;font-size:12px}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.chart-grid>.wide{grid-column:1/-1}.table-wrap{overflow:auto;max-height:480px;scrollbar-color:#42566d transparent}table{border-collapse:collapse;width:100%;min-width:500px;font-size:13px}th{color:#9fb7ce;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;position:sticky;top:0;background:#172638;z-index:1}th,td{padding:11px 12px;border-bottom:1px solid #283e53;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}th.right,td.right{text-align:right}tbody tr:hover{background:#1b2d42}tbody tr.clickable{cursor:pointer}tbody tr.current{background:#2b3757}.hint{font-size:12px;color:var(--soft);margin:10px 0 0}.empty{color:#9fb0c3;font-size:13px;padding:18px;text-align:center;border:1px dashed #31475b;border-radius:10px}.stack{display:grid;gap:15px}.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.filters .field.search{flex:1 1 200px}.event-grid{display:grid;grid-template-columns:1fr;gap:0}.event{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 4px;border-bottom:1px solid #2c4053;font-size:13px}.event .message{white-space:pre-wrap;overflow-wrap:anywhere;color:#dbe8f6}.event .sender{font-weight:750;overflow-wrap:anywhere;color:#d6ceff}.event .time{color:#8aa4bd;font-size:11px;white-space:nowrap}.event .event-kind{font-size:11px;color:#86cbbc}.battle-entry{border:1px solid #32475f;border-radius:12px;padding:14px;background:#17283b;margin-top:9px;overflow-wrap:anywhere}details summary{cursor:pointer;color:#b3c3de}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#c4d5e6;background:#0e1826;padding:10px;border-radius:8px}.footer{font-size:11px;color:#869ab2;padding:10px 3px 20px}.notice{padding:13px 15px;border:1px solid #524b39;background:#2a291e;color:#eddfaf;border-radius:10px;font-size:12px}.notification{font-size:12px;color:#98c8db;min-height:16px}.skeleton{color:var(--soft)}.stat .num{overflow-wrap:anywhere}@media(max-width:1230px){.workspace{grid-template-columns:235px minmax(0,1fr)}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:1fr 1fr}}@media(max-width:920px){.page{padding:14px}.workspace{display:block}.sidebar{position:static;max-height:none;display:block;margin-bottom:14px}.sidebar .panel{margin-bottom:12px}.creator-list{display:flex;overflow-x:auto}.creator{flex:0 0 210px}.split,.split.equal{grid-template-columns:1fr}.topbar{flex-wrap:wrap}}@media(max-width:680px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.chart-grid>.wide{grid-column:auto}.heading-panel .actions{justify-content:flex-start}.plot{min-height:200px}.event{grid-template-columns:1fr auto;gap:4px}.event .message{grid-column:1/-1}.topbar nav{justify-content:flex-start}.panel{padding:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Readable numeric axis at standard notebook sizes. */
.plot .axis-label{font-size:16px}.plot .axis-caption{font-size:14px}

.recording-panel h2{margin:8px 0;color:var(--gold)}.recording-panel h2[data-state="recording"]{color:var(--aqua)}.recording-panel h2[data-state="error"]{color:var(--danger)}.comparison td:not(:first-child){font-variant-numeric:tabular-nums}.comparison th{white-space:normal}.comparison{min-width:640px}

#participantHistoryPanel{scroll-margin-top:16px}
#participantChat{width:min(820px,94vw);max-height:88vh;padding:24px;border:1px solid var(--edge);border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:0 24px 100px #000a}
#participantChat::backdrop{background:#020812c9;backdrop-filter:blur(3px)}
.chat-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.chat-dialog-head h2{overflow-wrap:anywhere}.chat-dialog-head button{flex-shrink:0}
.chat-transcript{max-height:55vh;overflow:auto;overscroll-behavior:contain;margin-top:14px;padding:0 10px;border:1px solid var(--edge);border-radius:10px;background:var(--bg)}
.chat-message{padding:14px 4px;border-bottom:1px solid var(--edge)}.chat-message:last-child{border:0}.chat-message time{font-size:12px;color:var(--soft)}.chat-message p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-dialog-foot{display:flex;justify-content:center;margin-top:14px}
@media(max-width:600px){#participantChat{padding:16px}.chat-dialog-head{gap:10px}.chat-dialog-head h2{font-size:17px}}

#profileCard{width:min(850px,94vw);max-height:90vh;overflow:auto;padding:24px;border:1px solid var(--edge);border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:0 24px 100px #000a}
#profileCard::backdrop{background:#020812c9;backdrop-filter:blur(3px)}.profile-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;margin:20px 0}.profile-summary h3{font-size:23px}.profile-avatar{width:130px;height:130px;object-fit:cover;border-radius:20px;background:var(--bg);border:1px solid var(--edge)}.profile-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;color:var(--soft);font-size:12px}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}.profile-relations{padding:16px;background:var(--bg);border:1px solid var(--edge);border-radius:12px;margin-bottom:22px}.profile-relations p:last-child{margin-bottom:0}.profile-messages{max-height:34vh;overflow:auto;padding:0 12px;border:1px solid var(--edge);border-radius:12px}.profile-name{font:inherit;color:var(--indigo);padding:0;background:none;border:0;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere}.chat-message .profile-name{margin-left:12px}@media(max-width:600px){#profileCard{padding:16px}.profile-summary{grid-template-columns:80px minmax(0,1fr);gap:14px}.profile-avatar{width:80px;height:80px}}

.monitor-item{border:1px solid var(--edge);border-radius:12px;overflow:hidden;flex:0 0 210px}.monitor-item .creator{border:0;border-radius:0;margin:0}.monitor-delete{display:block;width:100%;padding:7px;background:#2c1e27;border:0;border-top:1px solid #493342;color:#f3aaa8;text-align:center;font:inherit;cursor:pointer}.monitor-delete:hover{background:#46252e}.archive-label{display:block;margin:16px 0 6px}#restoreMonitor{margin-top:8px}
#removeMonitor{width:min(510px,94vw);padding:24px;border-radius:18px;border:1px solid var(--edge);background:var(--panel);color:var(--ink)}#removeMonitor::backdrop{background:#020812bd}.button.danger{background:#a13d4c;color:#fff}#removeMonitorConfirm .button{margin-top:14px}#removeMonitorError{color:var(--danger)}
#removeMonitor [hidden],#restoreMonitor[hidden]{display:none!important}
#loyaltyRows small{display:block;margin-top:4px;color:var(--muted,#9baac0)}

.legacy-profile-link{padding:16px;border:1px solid var(--edge);border-radius:12px;margin:16px 0}.legacy-profile-link .profile-avatar{width:72px;height:72px;margin-top:12px}

.match-panel{background:radial-gradient(ellipse at top,#23264a 0,transparent 65%),var(--panel)}.match-arena{display:flex;flex-wrap:wrap;gap:32px;padding:16px 0}.battle-player{position:relative;flex:1 1 180px;min-width:0;display:flex;align-items:center;text-align:center;flex-direction:column;padding:24px 16px;border:1px solid var(--edge);border-top:3px solid var(--match-accent);border-radius:18px;background:#0d1726}.battle-player+.battle-player:before{content:'VS';position:absolute;left:-27px;top:65px;color:#adbad0;font-size:13px;font-weight:800}.match-avatar{width:96px;height:96px;object-fit:cover;border-radius:50%;border:3px solid var(--match-accent);background:#172437;box-shadow:0 0 28px #0005;margin-bottom:14px}.match-placeholder{display:flex;align-items:center;justify-content:center;padding:8px;font-size:11px;color:var(--soft)}.battle-player h3{font-size:18px;overflow-wrap:anywhere;margin:0 0 6px}.battle-player a{color:var(--ink)}.match-score{font-size:38px;font-variant-numeric:tabular-nums;color:var(--match-accent);margin-top:12px}.match-score-label{font-size:12px;color:var(--soft);margin:4px 0 16px}.match-progress{width:100%;height:10px;border:0;border-radius:8px;overflow:hidden;accent-color:var(--match-accent)}.match-progress::-webkit-progress-bar{background:#26334a}.match-progress::-webkit-progress-value{background:var(--match-accent);border-radius:8px}@media(max-width:600px){.battle-player{flex-basis:100%}.battle-player+.battle-player:before{top:-26px;left:calc(50% - 9px)}}

.match-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:16px;min-height:26px}.match-place{padding:5px 10px;border-radius:20px;background:#26334b;color:var(--match-accent);font-size:13px;font-weight:750}.match-monitored{padding:5px 9px;border-radius:20px;background:#2b2851;color:#c6bcff;font-size:11px}.match-league{font-size:13px;color:var(--soft);margin:4px 0 0}.monitored-player{box-shadow:0 0 0 1px #9d8aff40}

#battleHistoryRows small,#battleCreatorTotals small{display:block;margin-top:4px;color:var(--soft)}#battleHistoryRows .selected-match{background:#9580ff15}#battleHistoryRows .selected-match button{color:#b6a9ff;box-shadow:inset 3px 0 #9d8aff}

#savedBattleDialog{width:min(1100px,94vw);max-height:90vh;overflow:auto;padding:24px;border:1px solid var(--edge);border-radius:20px;background:var(--panel);color:var(--ink)}#savedBattleDialog::backdrop{background:#02081288}#savedBattleDialog .chat-dialog-head{position:sticky;top:-24px;background:var(--panel);padding:8px 0;z-index:1}#savedBattleDialog .match-arena{padding-bottom:0}@media(max-width:600px){#savedBattleDialog{padding:16px}}

.match-league-icon{display:inline-block;height:24px;max-width:110px;object-fit:contain;vertical-align:middle;margin:0 5px}

.battle-timeline-panel{margin-top:20px;padding:18px;border:1px solid var(--edge);border-radius:14px;background:#0d1726}#battleTimelineChart svg{display:block;width:100%;height:auto;min-height:220px}#battleTimelineChart circle:focus{outline:none;stroke:#fff;stroke-width:3}.timeline-legend{display:inline-flex;gap:7px;align-items:center;font-size:12px;margin:6px 14px 10px 0}.timeline-legend i{width:12px;height:4px;display:inline-block}#battleTimelineDetails[hidden]{display:none!important}

.battle-supporter-panel{margin-top:20px;padding:18px;border:1px solid var(--edge);border-radius:14px;background:#0d1726}.match-supporter-account{display:flex;align-items:center;gap:12px}.match-supporter-account img,.supporter-image-empty{width:40px;height:40px;object-fit:cover;border-radius:50%;background:#26334b;flex:0 0 40px}.supporter-image-empty{display:inline-flex;justify-content:center;align-items:center;color:var(--soft)}
