:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Roboto Mono", monospace;--color-accent: #3993dd;--color-accent-warm: #ed713a;--color-up: #ed713a;--color-up-light: #f4a574;--color-down: #3993dd;--color-down-light: #7bb8e8;--color-text: #222222;--color-text-secondary: #555555;--color-text-muted: #777777;--color-text-light: #999999;--color-rule: #222222;--color-border: #d4d4d4;--color-border-light: #e5e5e5;--color-bg: #f0f0f0;--color-bg-card: #ffffff;--color-bg-header: #222222;--color-bg-hover: #f5f5f5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--touch-target: 44px;--text-xs: 11px;--text-sm: 13px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-5)}::selection{background:var(--color-accent);color:#fff}.app-header{text-align:left;margin-bottom:var(--space-6)}.header-content{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:3px solid var(--color-text)}.app-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2) 0;letter-spacing:-.02em;line-height:1.2}.header-subtitle{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);margin:0;line-height:1.4}.model-title{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-1) 0}.model-subtitle{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.page-lede{font-size:var(--text-lg);line-height:1.5;color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-lede strong{color:var(--color-text);font-weight:600}.page-lede .change-up{color:var(--color-up);font-family:var(--font-mono);font-weight:600}.page-lede .change-down{color:var(--color-down);font-family:var(--font-mono);font-weight:600}.nav-tabs{display:flex;gap:var(--space-1);justify-content:flex-start;margin-top:0}.nav-tabs a,.nav-tabs button{padding:var(--space-2) var(--space-4);min-height:var(--touch-target);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-family:inherit;font-weight:500;cursor:pointer;border-radius:2px;transition:all .15s;text-decoration:none;display:inline-block}.nav-tabs a:hover,.nav-tabs button:hover{color:var(--color-text);background:var(--color-bg-hover)}.nav-tabs a.active,.nav-tabs button.active{color:var(--color-text);border-bottom:2px solid var(--color-text);background:transparent;font-weight:600}.page-subtitle{text-align:left;color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-5) 0}.filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.search-box{flex:1;min-width:200px}.search-box input,.season-filter select{width:100%;padding:var(--space-3) var(--space-4);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:2px;font-size:var(--text-sm);font-family:inherit;background:var(--color-bg-card);transition:border-color .15s}.search-box input:focus,.season-filter select:focus{outline:none;border-color:var(--color-text)}.season-filter select{min-width:160px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b6b6b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.random-btn{padding:var(--space-3) var(--space-4);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:2px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--text-sm);font-family:inherit;cursor:pointer;transition:all .15s}.random-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.provisional-filter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:0 var(--space-3);min-height:var(--touch-target)}.provisional-filter input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:36px;height:20px;background:var(--color-border);border-radius:2px;transition:background .2s;flex-shrink:0}.provisional-filter input:checked+.toggle-track{background:var(--color-text)}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:2px;transition:transform .2s}.provisional-filter input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.provisional-filter>span:last-child{white-space:nowrap}.loading{text-align:center;padding:var(--space-7);color:var(--color-text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-text);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-row{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.skeleton-cell{height:20px;background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-bg) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:2px}.skeleton-cell.rank{width:48px}.skeleton-cell.name{flex:1}.skeleton-cell.stat{width:60px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rankings-container{display:flex;flex-direction:column;gap:var(--space-2)}.tier-section{background:var(--color-bg-card);border-radius:2px;overflow:hidden}.tier-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);min-height:var(--touch-target);cursor:pointer;border-bottom:2px solid var(--color-border);transition:background .1s}.tier-header:hover{background:var(--color-bg-hover)}.tier-header[aria-expanded=true]{border-bottom-color:var(--color-rule)}.tier-header-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tier-label{font-size:var(--text-sm);font-weight:700;letter-spacing:.05em}.tier-meaning{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}.tier-percentile{font-size:var(--text-xs);color:var(--color-text-muted)}.tier-count{font-size:var(--text-xs);color:var(--color-text-light)}.tier-toggle{font-size:var(--text-xs);color:var(--color-text-muted)}.tier-table{width:100%;border-collapse:collapse}.tier-table th{background:transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-border)}.tier-table th.right{text-align:right}.tier-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm)}.tier-table td.right{text-align:right}.tier-player-row{cursor:pointer;transition:background .1s}.tier-player-row:hover{background:var(--color-bg-hover)}.tier-player-row.expanded{background:var(--color-bg)}.tier-player-row.provisional{opacity:.5}.tier-player-row.provisional:hover{opacity:.7}.rank-cell{font-family:var(--font-mono);width:48px}.rank-cell.top-10{color:var(--color-text);font-weight:700}.rank-cell.top-50{color:var(--color-text-secondary);font-weight:600}.rank-cell.top-100{color:var(--color-text-muted);font-weight:500}mark{background:var(--color-up);color:#fff;padding:1px 3px;border-radius:2px}.change-cell.positive{color:var(--color-up)}.change-cell.negative{color:var(--color-down)}@media(max-width:768px){.tier-header-left{gap:var(--space-1)}.tier-table th:nth-child(3),.tier-table td:nth-child(3),.tier-table th:nth-child(4),.tier-table td:nth-child(4){display:none}.tier-table td{padding:var(--space-2) var(--space-3)}}.rankings-table{width:100%;border-collapse:collapse}.rankings-table th{background:transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--color-rule)}.rankings-table th.right{text-align:right}.rankings-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm)}.rankings-table td.right{text-align:right}.rankings-table tr.player-row{cursor:pointer;transition:background .1s;min-height:var(--touch-target)}.rankings-table tr.player-row:hover,.rankings-table tr.player-row.expanded{background:var(--color-bg)}.rankings-table tr.player-row.provisional{opacity:.5}.rankings-table tr.player-row.provisional:hover{opacity:.7}.rank-cell{font-family:var(--font-mono);font-weight:600;color:var(--color-text);width:48px}.name-cell{font-weight:600;color:var(--color-text)}.elo-cell{font-family:var(--font-mono);font-weight:700;font-size:var(--text-base);color:var(--color-text)}.tier-badge{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;margin-right:6px;vertical-align:middle}.tier-badge.tier-s{color:var(--color-accent-warm)}.tier-badge.tier-a{color:var(--color-text)}.tier-badge.tier-b{color:var(--color-text-secondary)}.tier-badge.tier-c{color:var(--color-text-muted)}.tier-badge.tier-d,.tier-badge.tier-f{color:var(--color-accent)}.tier-legend-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:var(--space-2)}.tier-legend-icon{width:16px;height:16px;border-radius:50%;background:var(--color-border-light);color:var(--color-text-muted);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:help}.tier-legend-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:var(--color-bg-header);color:#fff;padding:var(--space-3);border-radius:2px;font-size:var(--text-xs);white-space:nowrap;z-index:100;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.tier-legend-wrapper:hover .tier-legend-tooltip{opacity:1;visibility:visible}.tier-legend-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--color-bg-header)}.tier-legend-table{border-collapse:collapse}.tier-legend-table td{padding:2px 8px;text-align:left}.tier-legend-table td:first-child{font-weight:700;font-family:var(--font-mono)}.tier-legend-table td:nth-child(2){font-family:var(--font-mono);color:var(--color-text-light)}.tier-legend-table td:last-child{color:var(--color-text-light)}.stat-cell{font-family:var(--font-mono);color:var(--color-text-secondary)}.player-card-row td{padding:0!important;background:var(--color-bg);border-bottom:2px solid var(--color-border)}.player-card{padding:var(--space-5);animation:slideDown .2s ease-out}.player-card-ranks{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.player-card-ranks .ranks-label{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.card-stats{display:flex;gap:var(--space-3);flex-wrap:nowrap;overflow-x:auto;margin-bottom:var(--space-5)}.stat-badge{background:var(--color-bg);padding:var(--space-3) var(--space-4);border-radius:2px;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.stat-badge .value{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.stat-badge .label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.trace-section h3{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.05em}.season-block{margin-bottom:var(--space-2);background:var(--color-bg-card);border-radius:2px;overflow:hidden;border:1px solid var(--color-border-light)}.season-header{display:grid;grid-template-columns:20px minmax(180px,auto) 1fr 100px 70px;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--touch-target);cursor:pointer;align-items:center;transition:background .1s}.season-header:hover{background:var(--color-bg)}.season-toggle{color:var(--color-text-muted);font-size:10px}.season-title{font-weight:700;font-size:var(--text-sm);color:var(--color-text);white-space:nowrap}.season-summary{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-ratings{font-family:var(--font-mono);color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.season-change{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);text-align:right;color:var(--color-text)}.episodes-container{border-top:1px solid var(--color-border-light);padding:var(--space-2);background:var(--color-bg)}.episode-block{margin-bottom:2px;background:var(--color-bg-card);border-radius:2px;overflow:hidden}.episode-header{display:grid;grid-template-columns:20px 130px 1fr 100px 70px;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--touch-target);cursor:pointer;align-items:center;font-size:var(--text-sm);transition:background .1s}.episode-header:hover{background:var(--color-bg)}.episode-toggle{color:var(--color-text-muted);font-size:9px}.episode-title{font-weight:600;color:var(--color-text-secondary)}.episode-summary{color:var(--color-text-muted);font-size:var(--text-xs)}.episode-ratings{font-family:var(--font-mono);color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.episode-change{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);text-align:right;color:var(--color-text)}.tribals-container{border-top:1px solid var(--color-border-light);background:var(--color-bg)}.tribal-block{border-bottom:1px solid var(--color-border-light)}.tribal-block:last-child{border-bottom:none}.tribal-header{display:grid;grid-template-columns:minmax(200px,auto) 1fr 100px 70px;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-border-light);font-size:var(--text-xs);align-items:center}.tribal-title{font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.tribal-summary{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tribal-ratings{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;white-space:nowrap}.tribal-change{font-family:var(--font-mono);font-weight:600;text-align:right;color:var(--color-text);white-space:nowrap}.event-list{display:flex;flex-direction:column;gap:1px;padding:var(--space-2);background:var(--color-bg)}.event-row{display:grid;grid-template-columns:80px 1fr 100px 70px;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);background:var(--color-bg-card);border-radius:2px;align-items:center}.event-type{font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-secondary)}.event-type.vote,.event-type.immunity,.event-type.idol{color:var(--color-text-secondary)}.event-type.fire{color:var(--color-accent-warm)}.event-type.jury_vote,.event-type.jury_loss{color:var(--color-text-secondary)}.event-type.regression{color:var(--color-text-light)}.event-type.outlast,.event-detail-col{color:var(--color-text-secondary)}.event-rating{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right}.event-change{font-family:var(--font-mono);text-align:right;font-weight:600;color:var(--color-text)}.empty-state{text-align:center;padding:var(--space-7);color:var(--color-text-muted)}.player-count{text-align:center;padding:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);border-top:1px solid var(--color-border-light);background:var(--color-bg)}.snapshot-container{background:var(--color-bg-card);border-radius:2px;overflow-x:auto;padding:var(--space-5)}.snapshot-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3) 0;text-align:center;padding-bottom:var(--space-4);border-bottom:2px solid var(--color-text)}.season-meta{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);justify-content:center;margin-bottom:var(--space-5);padding:var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.season-meta .meta-item{white-space:nowrap}.season-meta .meta-item strong{color:var(--color-text);font-weight:600}.tribal-summary-line{font-size:var(--text-xs);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);background:var(--color-bg-alt);border-radius:2px;margin-bottom:var(--space-2);font-style:italic}.ftc-outcome{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--space-2)}.tribal-label-summary{font-weight:400;font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.episode-lede{font-size:var(--text-lg);line-height:1.5;color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.episode-lede strong{color:var(--color-text);font-weight:600}.episode-lede .change-up{color:var(--color-up);font-family:var(--font-mono)}.episode-lede .change-down{color:var(--color-down);font-family:var(--font-mono)}.snapshot-tribal{margin-bottom:var(--space-5)}.snapshot-tribal:last-child{margin-bottom:0}.tribal-label{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-text)}.snapshot-table{width:100%;border-collapse:collapse}.snapshot-table th{background:transparent;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);white-space:nowrap}.snapshot-table th.right{text-align:right}.snapshot-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.snapshot-table th.sortable:hover{text-decoration:underline}.snapshot-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm)}.snapshot-table td.right{text-align:right}.snapshot-table tr:last-child td{border-bottom:none}.snapshot-table tr:hover{background:var(--color-bg)}.snapshot-table tr.provisional{opacity:.5}.snapshot-table tr.provisional:hover{opacity:.7}.summary-cell{color:var(--color-text-secondary);font-size:var(--text-xs)}.change-cell{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.change-cell.positive.significant,.season-change.positive.significant,.episode-change.positive.significant,.tribal-change.positive.significant,.event-change.positive.significant{color:var(--color-up)}.change-cell.negative.significant,.season-change.negative.significant,.episode-change.negative.significant,.tribal-change.negative.significant,.event-change.negative.significant{color:var(--color-down)}.change-cell.positive.significant-1{color:var(--color-up-light)}.change-cell.positive.significant-2{color:var(--color-up)}.change-cell.negative.significant-1{color:var(--color-down-light)}.change-cell.negative.significant-2{color:var(--color-down)}.ftc-cell{color:var(--color-text-secondary);font-size:var(--text-xs)}.season-snapshot-table th,.season-snapshot-table td{padding:var(--space-2);font-size:var(--text-sm);text-align:left;white-space:nowrap}.season-snapshot-table th.right,.season-snapshot-table td.right{text-align:right}.season-snapshot-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.season-snapshot-table th.sortable:hover{color:var(--color-text);text-decoration:underline}.season-snapshot-table tr.provisional{opacity:.5}.season-snapshot-table tr.provisional:hover{opacity:.7}@media(max-width:768px){.rankings-table thead{display:none}.rankings-table,.rankings-table tbody,.rankings-table tr{display:block}.rankings-table tr.player-row{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:2px;margin-bottom:var(--space-2);padding:var(--space-3);min-height:var(--touch-target)}.rankings-table tr.player-row td{display:flex;justify-content:space-between;padding:var(--space-1) 0;border:none}.rankings-table tr.player-row td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase}.rankings-table tr.player-row td.name-cell{font-size:var(--text-base);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-2)}.rankings-table tr.player-row td.name-cell:before{content:none}.rankings-table tr.player-row td.rank-cell{position:absolute;top:var(--space-3);right:var(--space-3);padding:0}.rankings-table tr.player-row td.rank-cell:before{content:"#";margin-right:2px}.player-card-row{display:block}.player-card-row td{display:block;padding:var(--space-4)!important}.season-header,.episode-header{grid-template-columns:20px 1fr 70px;min-height:var(--touch-target)}.season-summary,.episode-summary,.season-ratings,.episode-ratings{display:none}.event-row{grid-template-columns:70px 1fr 60px;min-height:var(--touch-target)}.event-rating{display:none}.snapshot-container{padding:var(--space-3);overflow-x:auto}.snapshot-table{min-width:600px}.season-snapshot-table{min-width:800px}}.about-container{background:var(--color-bg-card);border-radius:2px;padding:var(--space-6);max-width:800px;margin:0 auto}.about-content{line-height:1.7;color:var(--color-text)}.about-content h1{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:var(--space-6) 0 var(--space-4) 0;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-text)}.about-content h1:first-child{margin-top:0}.about-content h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:var(--space-5) 0 var(--space-3) 0}.about-content h3{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin:var(--space-4) 0 var(--space-2) 0}.about-content p{margin:0 0 var(--space-4) 0}.about-content code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg);padding:2px 6px;border-radius:2px}.about-content pre{background:var(--color-bg-header);color:#e5e5e5;padding:var(--space-4);border-radius:2px;overflow-x:auto;margin:var(--space-4) 0}.about-content pre code{background:none;padding:0;color:inherit;font-size:var(--text-xs)}.about-content hr{border:none;border-top:2px solid var(--color-border-light);margin:var(--space-5) 0}.about-content table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:var(--text-sm)}.about-content table th{background:transparent;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);text-align:left;border-bottom:2px solid var(--color-rule)}.about-content table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.about-content ul{margin:var(--space-3) 0;padding-left:var(--space-5)}.about-content li{margin:var(--space-1) 0}.about-content strong{font-weight:600;color:var(--color-text)}.about-content em{font-style:normal;font-weight:500}.compare-selectors{display:flex;gap:var(--space-4);align-items:flex-end;justify-content:center;margin-bottom:var(--space-5);flex-wrap:wrap}.player-selector{flex:1;max-width:300px;min-width:200px}.compare-random{text-align:center;margin:var(--space-4) 0}.player-selector label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.selector-input-wrapper{position:relative}.selector-input-wrapper input{width:100%;padding:var(--space-3) var(--space-4);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:2px;font-size:var(--text-sm);font-family:inherit;background:var(--color-bg-card);transition:border-color .15s}.selector-input-wrapper input:focus{outline:none;border-color:var(--color-text)}.selector-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-top:none;border-radius:0 0 2px 2px;max-height:300px;overflow-y:auto;z-index:100}.selector-option{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer;transition:background .1s;align-items:center}.selector-option:hover{background:var(--color-bg)}.option-rank{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);width:36px}.option-name{flex:1;font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-elo{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.compare-vs{font-size:var(--text-lg);font-weight:700;color:var(--color-text-muted);padding:0 var(--space-2);align-self:flex-end;padding-bottom:var(--space-3)}.compare-container{background:var(--color-bg-card);border-radius:2px;overflow:hidden;padding:var(--space-5)}.compare-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-5) 0;text-align:center;padding-bottom:var(--space-4);border-bottom:2px solid var(--color-text)}.compare-section{margin-bottom:var(--space-5)}.compare-section:last-child{margin-bottom:0}.compare-section-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-text)}.compare-table{width:100%;border-collapse:collapse}.compare-table th{background:transparent;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}.compare-table th.player-col{text-align:right;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-table th.diff-col{text-align:right;width:80px}.compare-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm)}.compare-table td:first-child{color:var(--color-text-secondary)}.compare-table td.player-col{text-align:right;font-family:var(--font-mono);color:var(--color-text)}.compare-table td.player-col.highlight{font-weight:700}.compare-table td.diff-col{text-align:right;font-family:var(--font-mono);font-weight:600}.compare-table tr.section-break td{border-top:1px solid var(--color-border)}.compare-table tr.total-row{background:var(--color-bg)}.compare-table tr.total-row td{font-weight:700;border-top:2px solid var(--color-text)}.diff-positive{color:var(--color-up)}.diff-negative{color:var(--color-down)}.reasons-list{list-style:none;padding:0;margin:0}.reason-item{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-radius:2px;font-size:var(--text-sm);background:var(--color-bg);border:1px solid var(--color-border-light)}.reason-item.reason-positive{border-color:var(--color-up)}.reason-item.reason-negative{border-color:var(--color-down)}.reason-item.reason-neutral{border-color:var(--color-border)}@media(max-width:768px){.compare-selectors{flex-direction:column;align-items:stretch}.player-selector{max-width:none}.compare-vs{text-align:center;padding:var(--space-2) 0}.compare-table th.player-col,.compare-table td.player-col{max-width:80px}}.elo-chart-section{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.elo-chart-section h3{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.05em}.elo-chart{width:100%;height:200px}.chart-tooltip{background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);border-radius:2px;font-size:var(--text-xs)}.tooltip-label{color:var(--color-text-muted);margin-bottom:2px}.tooltip-rating{font-family:var(--font-mono);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:4px}.tooltip-tier{font-size:10px;font-weight:700}.tooltip-tier.tier-s{color:var(--color-accent-warm)}.tooltip-tier.tier-a{color:var(--color-text)}.tooltip-tier.tier-b{color:var(--color-text-secondary)}.tooltip-tier.tier-c{color:var(--color-text-muted)}.tooltip-tier.tier-d,.tooltip-tier.tier-f{color:var(--color-accent)}.tooltip-change{font-family:var(--font-mono);font-size:var(--text-xs)}.tooltip-change.positive{color:var(--color-up)}.tooltip-change.negative{color:var(--color-down)}.tooltip-row{display:flex;justify-content:space-between;gap:var(--space-3)}.compare-chart-controls{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.compare-chart-controls .model-toggle{margin-bottom:0}.compare-chart-legend{display:flex;gap:var(--space-4);font-size:var(--text-xs)}.legend-item{display:flex;align-items:center;gap:var(--space-1)}.legend-item:before{content:"";width:12px;height:3px;border-radius:1px}.legend-orange:before{background:#ed713a}.legend-blue:before{background:#3993dd}.model-toggle{display:flex;gap:var(--space-1);margin-bottom:var(--space-3)}.model-toggle button{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.model-toggle button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.model-toggle button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.model-toggle button:hover{background:var(--color-bg-hover)}.model-toggle button.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.secondary-col,.secondary-elo,.secondary-elo .tier-inline{color:var(--color-text-muted)}.tier-inline{font-size:var(--text-xs);color:var(--color-text-secondary)}.dual-ratings{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.rating-box{flex:1;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.rating-box.challenge{opacity:.7}.rating-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.rating-value{font-size:var(--text-xl);font-weight:600;color:var(--color-text)}.rating-tier{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:var(--space-1)}.rating-rank{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:var(--space-2)}.rating-detail{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.chart-legend{display:flex;gap:var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-xs)}.chart-legend .legend-item{display:flex;align-items:center;gap:var(--space-1)}.chart-legend .legend-item:before{content:"";display:inline-block;width:16px;height:2px}.chart-legend .legend-strategic:before{background:#222}.chart-legend .legend-challenge:before{background:#999;background:repeating-linear-gradient(90deg,#999999 0px,#999999 5px,transparent 5px,transparent 10px)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{text-decoration:underline}
