:root{--bg:#fff;--bg-alt:#f6f5f8;--text:#1a1725;--text-dim:#6b6375;--border:#e5e4e7;--accent:#6d28d9;--victory:#1a7f37;--defeated:#b42318;--abandoned:#8a6d00;--in-progress:#2563eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#15131c;--bg-alt:#1e1b28;--text:#eae7f2;--text-dim:#a29cb3;--border:#322e3d;--accent:#a78bfa;--victory:#4ade80;--defeated:#f87171;--abandoned:#fbbf24;--in-progress:#60a5fa}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100vh}h1{margin-bottom:1.25rem;font-size:1.5rem}.error{color:var(--defeated)}.empty{color:var(--text-dim)}.runs-table,.detail-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.9rem}.runs-table th,.detail-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:.5rem .75rem;font-weight:600}.runs-table td,.detail-table td{border-bottom:1px solid var(--border);padding:.6rem .75rem}.runs-table tbody tr:hover{background:var(--bg-alt)}.status{white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:600}.status-victory{background:color-mix(in srgb, var(--victory) 18%, transparent);color:var(--victory)}.status-defeated{background:color-mix(in srgb, var(--defeated) 18%, transparent);color:var(--defeated)}.status-abandoned{background:color-mix(in srgb, var(--abandoned) 18%, transparent);color:var(--abandoned)}.status-in_progress{background:color-mix(in srgb, var(--in-progress) 18%, transparent);color:var(--in-progress)}.status-unknown{background:var(--bg-alt);color:var(--text-dim)}.run-link{text-decoration:none}.back-link{color:var(--text-dim);margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.run-meta{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:1rem 0 1.75rem;font-size:.9rem;display:grid}.run-meta dt{color:var(--text-dim);grid-column:1}.run-meta dd{grid-column:2;margin:0}section h2{color:var(--text-dim);margin:1.5rem 0 .75rem;font-size:1.1rem}.crossroads-list{padding-left:1.25rem;font-size:.9rem}.page-body{padding:1.5rem 2rem}.page-narrow{max-width:1000px;margin:0 auto}.nav-bar{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.nav-logo{letter-spacing:.03em;color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.nav-logo-mark{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;width:1.1rem;height:1.1rem;display:inline-grid}.nav-logo-mark:before,.nav-logo-mark:after{content:"";background:var(--accent);border-radius:1px}.nav-links{flex:1;align-items:center;gap:1.25rem;display:flex}.nav-link{color:var(--text);font-size:.9rem;text-decoration:none}.nav-search-form{margin-left:auto}.nav-search{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);border-radius:6px;width:180px;padding:.35rem .7rem;font-size:.85rem}.nav-auth{gap:.6rem;display:flex}.nav-btn{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;text-decoration:none;display:inline-block}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.nav-btn-ghost{color:var(--text);background:0 0}.nav-btn-solid{background:var(--text);color:var(--bg);border-color:var(--text)}.run-detail-page{max-width:1400px;margin:0 auto}.battle-nav-strip{align-items:center;gap:.75rem;margin:1rem 0;display:flex}.battle-nav-arrow{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;width:2rem;height:2rem;font-size:1rem;line-height:1}.battle-nav-arrow:disabled{opacity:.3;cursor:default}.battle-nav-arrow:not(:disabled):hover{background:var(--bg-alt)}.battle-nav-circles{flex-wrap:wrap;gap:.4rem;display:flex}.battle-nav-circle{border:2px solid var(--defeated);width:2rem;height:2rem;color:var(--defeated);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;font-size:.8rem;font-weight:600}.battle-nav-circle.won{border-color:var(--victory);color:var(--victory)}.battle-nav-circle.selected{background:color-mix(in srgb, currentcolor 20%, transparent)}.run-info-block{grid-template-columns:auto 1fr;gap:.3rem 1rem;max-width:320px;margin:1.5rem 0;font-size:.9rem;display:grid}.run-info-block dt{color:var(--text-dim)}.run-info-block dd{margin:0}.run-tabs{gap:.25rem;margin:1.5rem 0 0;display:flex}.run-tabs button{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-bottom:none;border-radius:8px 8px 0 0;padding:.5rem 1rem;font-size:.85rem}.run-tabs button.active{color:var(--text);background:var(--bg);font-weight:600}.run-tab-content{background:var(--bg);border:1px solid var(--border);border-radius:0 10px 10px;flex-direction:column;gap:1.25rem;min-height:320px;padding:1.5rem;display:flex}.summary-cards-row{flex-wrap:wrap;gap:1.5rem;display:flex}.summary-card{flex-direction:column;align-items:center;gap:.3rem;min-width:140px;display:flex}.summary-card-name{margin-bottom:.25rem;font-size:.9rem;font-weight:600}.stat-card-row{justify-content:space-between;gap:1rem;width:100%;font-size:.82rem;display:flex}.stat-card-label{color:var(--text-dim)}.stat-card-value{border-bottom:1px dotted var(--border);cursor:default;font-weight:600}.stat-tooltip-table{border-collapse:collapse;font-size:.78rem}.stat-tooltip-table td{white-space:nowrap;padding:.1rem .6rem .1rem 0}.stat-tooltip-table td:last-child{text-align:right;padding-right:0;font-weight:600}.battle-board{aspect-ratio:7/8;gap:4px;max-width:340px;margin:0 auto;display:grid}.board-cell{border-radius:4px}.board-cell-enemy-half{background:color-mix(in srgb, var(--defeated) 10%, var(--bg))}.board-cell-team-half{background:color-mix(in srgb, var(--victory) 10%, var(--bg))}.board-token-wrap{justify-content:center;align-items:center;display:flex}.hero-token,.item-token{color:#fff;cursor:default;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.hero-token{border:2px solid var(--bg);object-fit:cover;border-radius:50%}.item-token{border-radius:4px}.hero-token-sm,.item-token-sm{width:1.5rem;height:1.5rem;font-size:.6rem}.hero-token-md,.item-token-md{width:2.25rem;height:2.25rem;font-size:.75rem}.hero-token-lg,.item-token-lg{width:3rem;height:3rem;font-size:.9rem}.party-strip-row{flex-wrap:wrap;gap:1.25rem;display:flex}.party-member{flex-direction:column;align-items:center;gap:.4rem;display:flex}.party-member-items{gap:.25rem;display:flex}.party-member-no-items{color:var(--text-dim);font-size:.7rem}.page-narrow-wide{max-width:1200px;margin:0 auto}.player-link,.run-link{color:var(--text);text-decoration:none}.player-link:hover,.run-link:hover{color:var(--accent);text-decoration:underline}.party-icons{flex-wrap:wrap;gap:.2rem;display:flex}.pagination{color:var(--text-dim);align-items:center;gap:1rem;font-size:.85rem;display:flex}.pagination button{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);cursor:pointer;border-radius:6px;padding:.35rem .8rem;font-size:.85rem}.pagination button:disabled{opacity:.4;cursor:not-allowed}.lede{color:var(--text-dim);margin-bottom:2rem;font-size:1.05rem}.code-block{background:var(--bg-alt);white-space:pre;border-radius:8px;padding:1rem;font-size:.85rem;overflow-x:auto}.note{color:var(--text-dim);font-size:.85rem;font-style:italic}.note-inline{color:var(--text-dim);font-size:.8em;font-style:italic}.player-stats{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:1rem 0 2rem;font-size:.95rem;display:grid}.player-stats dt{color:var(--text-dim);grid-column:1}.player-stats dd{grid-column:2;margin:0}.top-lists-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.top-list{flex-direction:column;gap:.5rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.top-list li{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.top-list-count{color:var(--text-dim);margin-left:auto;font-size:.8rem}.player-search-results{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.player-search-results li{border:1px solid var(--border);border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.database-search{border:1px solid var(--border);background:var(--bg-alt);width:100%;max-width:400px;color:var(--text);border-radius:6px;margin:.5rem 0 1.5rem;padding:.5rem .75rem;font-size:.9rem;display:block}.database-layout{grid-template-columns:160px 1fr;align-items:start;gap:1.5rem;display:grid}.database-sidebar{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.database-category{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.45rem .7rem;font-size:.9rem}.database-category:hover{background:var(--bg-alt)}.database-category.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.database-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.database-record{border:1px solid var(--border);border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.85rem;display:flex}.database-record-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;display:flex;overflow:hidden}.database-tag{color:var(--text-dim);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:.05rem .4rem;font-size:.7rem}.site-footer{border-top:1px solid var(--border);text-align:center;padding:1rem 2rem}.site-footer p{color:var(--text-dim);margin:0;font-size:.8rem}.site-footer a{color:var(--text-dim);text-decoration:underline}.site-footer a:hover{color:var(--accent)}.site-footer-links{margin-bottom:.5rem}.contact-form{flex-direction:column;gap:.4rem;max-width:480px;margin-top:1rem;display:flex}.contact-form label{margin-top:.75rem;font-size:.9rem;font-weight:600}.contact-form textarea,.contact-form input{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);resize:vertical;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.contact-form button{align-self:flex-start;margin-top:.5rem}.release-entry{margin-bottom:2rem}.release-entry h2{margin-bottom:.25rem;font-size:1.1rem}.release-entry ul{margin-top:.5rem}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip-panel{z-index:50;border:1px solid var(--border);background:var(--bg);text-align:left;pointer-events:none;border-radius:6px;width:max-content;max-width:260px;margin-bottom:8px;padding:.5rem .65rem;font-size:.8rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.tooltip-title{margin-bottom:.2rem;font-weight:700}.tooltip-description{color:var(--text-dim);line-height:1.35}
