:root{color-scheme:dark;--bg: #071018;--bg-panel: rgba(10, 24, 34, .86);--bg-panel-strong: rgba(13, 30, 42, .96);--bg-panel-soft: rgba(13, 30, 42, .72);--line: rgba(116, 157, 181, .26);--line-strong: rgba(157, 195, 217, .42);--text: #edf5f8;--text-dim: #9db8c6;--accent: #f1c96b;--accent-soft: rgba(241, 201, 107, .2);--mint: #8fe3cf;--danger: #ff8b7a;--danger-soft: rgba(255, 139, 122, .2);--shadow: 0 24px 80px rgba(0, 0, 0, .35);font-family:Avenir Next,Trebuchet MS,Verdana,sans-serif;line-height:1.4;font-weight:400;color:var(--text);background:radial-gradient(circle at top left,rgba(49,132,163,.24),transparent 30%),radial-gradient(circle at top right,rgba(241,201,107,.18),transparent 24%),linear-gradient(180deg,#08131d,#050b11)}.progression-page{display:grid;gap:18px;padding-bottom:32px}.progression-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.progression-heading h1{margin:8px 0;font-size:clamp(1.5rem,3vw,2.2rem)}.progression-heading p,.progression-note{margin:0;color:var(--text-dim);font-size:.86rem}.progression-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:18px}.progression-filters label{display:flex;flex:1 1 180px;flex-direction:column;gap:6px;font-size:.82rem;color:var(--text-dim)}.progression-filters input:not([type=checkbox]),.progression-filters select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text)}.progression-filters input:focus-visible,.progression-filters select:focus-visible,.progression-table a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.progression-filters .progression-checkbox{flex:0 1 auto;flex-direction:row;align-self:center;align-items:center}.progression-checkbox input{accent-color:var(--accent)}.progression-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.progression-metric{padding:18px;display:flex;flex-direction:column;gap:8px}.progression-metric>span,.progression-metric small{color:var(--text-dim);font-size:.8rem}.progression-metric strong{color:var(--accent);font-size:1.8rem;font-variant-numeric:tabular-nums}.progression-tabs{display:flex;flex-wrap:wrap;gap:10px}.progression-tabs .progression-tab--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.progression-results{overflow:hidden}.progression-section-title{margin:20px 20px 0;font-size:1.1rem}.progression-table-note{color:var(--text-dim);font-size:.84rem;margin:0;padding:18px 20px;max-width:1100px}.progression-table{width:100%;min-width:960px;border-collapse:collapse;font-size:.85rem}.progression-table th{padding:14px;color:var(--text-dim);text-align:left;font-size:.76rem;font-weight:600;border-bottom:1px solid var(--line-strong)}.progression-table td{padding:14px;vertical-align:top;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.progression-table tbody tr:hover{background:var(--bg-panel-soft)}.progression-table small{display:block;color:var(--text-dim);margin-top:6px;font-size:.72rem}.progression-table a{color:var(--mint);text-underline-offset:3px}.progression-table code{font-size:.72rem}.progression-rate{display:flex;align-items:center;gap:8px;white-space:nowrap}.progression-rate meter{width:70px;accent-color:var(--mint)}.progression-profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.progression-profile-card{padding:20px}.progression-profile-card h2{margin:0 0 10px;font-size:1.1rem}.progression-profile-card>code{color:var(--text-dim);overflow-wrap:anywhere;font-size:.76rem}.progression-profile-card .progression-note+.progression-note{margin-top:8px}.progression-values{display:grid;gap:9px;margin:18px 0}.progression-values>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1fr);gap:12px}.progression-values dt{color:var(--text-dim);font-size:.8rem}.progression-values dd{margin:0;font-size:.84rem;overflow-wrap:anywhere}.progression-values ul{margin:0;padding-left:14px}.progression-values li+li{margin-top:5px}.progression-table .progression-event-change{min-width:330px;max-width:500px}.progression-event-change p{margin:6px 0 10px}.progression-event-details{max-width:760px;padding:8px 12px;white-space:normal}.progression-event-details>p{margin:0}.progression-event-details .progression-values{border-top:1px solid var(--line);padding-top:12px}.progression-badge{display:inline-block;font-size:.72rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 6px}.progression-warning,.progression-table small.progression-warning{color:var(--accent)}.progression-loading{color:var(--text-dim);padding:20px 0}.progression-error{display:flex;align-items:center;justify-content:space-between;gap:16px}.progression-results .tester-pagination{padding:16px 20px}.camera-details{padding:18px 20px}.camera-details summary,.camera-row-details summary{cursor:pointer;color:var(--mint);font-size:.85rem}.camera-details summary:focus-visible,.camera-row-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.camera-details .progression-note+.progression-note{margin-top:12px}.camera-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));column-gap:32px}.camera-row-details{min-width:110px}.camera-row-details[open]{min-width:340px}.camera-row-details .camera-values{grid-template-columns:1fr}.camera-rate meter{width:100px}@media (max-width: 640px){.progression-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.progression-filters label{flex-basis:100%}.progression-metric{padding:14px}.progression-heading .stack-row{flex-wrap:wrap}}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,summary{font:inherit}button{cursor:pointer}code{font-family:Monaco,Consolas,monospace}.app-shell,.landing-shell{min-height:100vh;position:relative}.app-shell__background{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(151,195,217,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(151,195,217,.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent);pointer-events:none}.app-shell__content,.landing-shell__content{position:relative;z-index:1}.app-shell__content{padding:20px 20px 28px}.landing-shell__content{display:grid;place-items:center;min-height:100vh;padding:24px}.main-navigation{display:flex;align-items:stretch;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:24px;border-bottom:1px solid var(--line)}.main-navigation__links,.main-navigation__account{display:flex;align-items:center}.main-navigation__links{align-items:stretch;gap:20px;min-width:0;overflow-x:auto;overflow-y:hidden}.main-navigation__account{gap:8px;padding-bottom:8px}.main-navigation.main-navigation--mobile-device{flex-wrap:nowrap;gap:8px}.main-navigation--mobile-device .main-navigation__links{gap:10px}.main-navigation--mobile-device .main-navigation__link{padding-inline:2px;font-size:.78rem}.main-navigation--mobile-device .main-navigation__account{flex-wrap:nowrap;margin-left:auto}.main-navigation--mobile-device .main-navigation__account .ghost-button{white-space:nowrap;padding-inline:10px;font-size:.78rem}.main-navigation__link{display:inline-flex;align-items:center;padding:0 4px;border-bottom:2px solid transparent;color:var(--text-dim);font-size:.88rem;font-weight:700;letter-spacing:.04em;text-decoration:none;transition:border-color .14s ease,color .14s ease}.main-navigation__link:hover{color:var(--text)}.main-navigation__link:focus-visible{border-radius:4px;outline:2px solid var(--mint);outline-offset:-2px}.main-navigation__link--active{border-bottom-color:var(--accent);color:var(--accent)}.auth-card__eyebrow{margin:0 0 4px;color:var(--mint);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.auth-card__title{margin:0;font-family:Baskerville,Palatino Linotype,serif;font-size:clamp(1.85rem,3vw,2.7rem);font-weight:700;line-height:.95}.auth-card__body{margin:6px 0 0;max-width:56ch;color:var(--text-dim);font-size:.9rem}.auth-card__actions{display:grid;gap:12px;justify-items:start;margin-top:20px}.auth-card__actions .inline-error{margin-bottom:0}.table-card,.auth-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.table-card{padding:12px}.auth-card{max-width:620px;padding:32px}.maps-overview{display:grid;gap:12px}.maps-overview__meta{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--text-dim);font-size:.84rem}.maps-table{width:100%;min-width:1785px;border-collapse:collapse;table-layout:fixed}.maps-table__col--map_id{width:84px}.maps-table__col--unique_players_started,.maps-table__col--plays_started{width:120px}.maps-table__col--highest_completed_by_revision_players,.maps-table__col--highest_completed_by_all_revisions_players{width:168px}.maps-table__col--median_plays_per_player{width:160px}.maps-table__col--median_strokes_per_completed_play{width:205px}.maps-table__col--best_unassisted_strokes,.maps-table__col--best_assisted_strokes{width:175px}.maps-table__col--best_unassisted_players,.maps-table__col--best_assisted_players{width:205px}.maps-table th,.maps-table td{padding:8px 7px;border-bottom:1px solid rgba(122,162,183,.14);text-align:left;vertical-align:middle;font-size:.84rem}.maps-table__sticky-column{position:sticky;left:0;z-index:1;background:#07121afa;box-shadow:1px 0 #7aa2b73d}.maps-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-panel-strong);font-size:.78rem}.maps-table thead .maps-table__sticky-column{z-index:3}.maps-table .filter-row th{background:#07121aeb}.map-reference-badge{display:inline-flex;overflow:hidden;border-radius:4px;color:#fff;font-size:.58rem;line-height:1}.map-reference-badge__value{min-width:18px;padding:3px 5px;text-align:center}.map-reference-badge__label{padding:3px 5px;background:#030b11db;font-weight:700;letter-spacing:.06em}.map-reference-badge--par .map-reference-badge__value{background:#1c35b0}.map-reference-badge--max .map-reference-badge__value{background:#bd2626}.map-detail,.map-detail-status{width:min(1200px,100%);margin:0 auto}.map-detail{display:grid;gap:14px}.map-detail__toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}.map-detail__back-link{width:fit-content;color:var(--text-dim);font-size:.82rem;font-weight:700;text-decoration:none}.map-detail__back-link:hover{color:var(--text)}.map-detail__back-link:focus-visible{border-radius:4px;outline:2px solid var(--mint);outline-offset:4px}.map-detail__pager{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.map-detail__loading{color:var(--text-dim);font-size:.76rem;font-weight:700}.map-detail__page-button{min-width:78px;justify-content:center;text-align:center}.map-detail__header{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:var(--bg-panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-detail__id{margin:0;color:var(--text-dim);font-size:.78rem;font-weight:700;letter-spacing:.1em}.map-detail__title{margin:0;font-family:Baskerville,Palatino Linotype,serif;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1}.map-detail__metadata{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}.map-detail__badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-start}.map-detail__badges .map-reference-badge{border-radius:6px;font-size:.72rem}.map-detail__badges .map-reference-badge__label,.map-detail__badges .map-reference-badge__value{min-width:34px;padding:7px 8px}.map-detail__recordings-link{flex:0 0 auto;padding:6px 10px;font-size:.76rem}.map-detail__revision-control{display:grid;flex:0 1 360px;gap:4px;justify-items:end;min-width:0}.map-detail__revision-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;width:min(360px,calc(100vw - 72px));max-width:100%}.map-detail__revision-label{color:var(--text-dim);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.map-detail__revision-select{width:min(360px,calc(100vw - 72px));max-width:100%;padding:7px 30px 7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-panel-strong);color:var(--text);font-size:.78rem;font-weight:600;letter-spacing:normal;text-transform:none}.map-detail__revision-select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.map-detail__revision-source{color:var(--text-dim);font-family:Monaco,Consolas,monospace;font-size:.68rem}.map-detail__analysis{display:grid;grid-template-columns:minmax(0,1fr) minmax(352px,632px);gap:14px;align-items:start}.map-detail__analysis-sidebar{display:grid;gap:14px;min-width:0}.map-detail__data-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--bg-panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-detail__data-card-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.map-detail__data-card-title{margin:0;font-family:Baskerville,Palatino Linotype,serif;font-size:1.35rem;line-height:1}.map-detail__data-card-list{margin:14px 0 0}.map-detail__data-card-list--grouped{display:grid;gap:6px}.map-detail__data-card-error{margin-top:14px}.map-detail__data-card-error .inline-error{margin-bottom:8px}.map-detail__data-card-retry{padding:6px 10px;font-size:.76rem}.map-detail__statistic{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;align-items:baseline;padding:11px 0}.map-detail__statistic+.map-detail__statistic{border-top:1px solid var(--line)}.map-detail__statistic-group+.map-detail__statistic-group{padding-top:6px;border-top:1px solid var(--line)}.map-detail__statistic-group .map-detail__statistic+.map-detail__statistic{border-top:0}.map-detail__statistic-group>.map-detail__statistic:first-child dt{color:var(--text);font-weight:700}.map-detail__statistic--nested{padding:6px 0}.map-detail__statistic--nested dt{padding-left:18px}.map-detail__statistic dt{color:var(--text-dim)}.map-detail__statistic dd{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;justify-content:flex-start;margin:0;font-weight:800;text-align:left}.map-detail__statistic-context{color:var(--text-dim);font-size:.78rem;font-weight:600;white-space:nowrap}.map-detail__statistic-link{display:inline-flex;align-items:baseline;padding-bottom:2px;color:var(--accent);background-image:repeating-linear-gradient(90deg,rgba(241,201,107,.58) 0,rgba(241,201,107,.58) 4px,transparent 4px,transparent 7px);background-position:left bottom;background-repeat:no-repeat;background-size:100% 1px;text-decoration:none}.map-detail__statistic-link:hover{background-image:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 5px,transparent 5px,transparent 7px)}.map-detail__statistic-link:focus-visible{border-radius:4px;outline:2px solid var(--mint);outline-offset:4px}.map-detail__render-frame{display:grid;place-items:center;min-height:220px;margin:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:#1b1f21;box-shadow:var(--shadow);overflow:hidden}.map-detail__render{display:block;max-width:100%;height:auto;image-rendering:pixelated}.map-detail-status{padding:20px}.map-detail-status__title{margin:18px 0 0;font-family:Baskerville,Palatino Linotype,serif;font-size:1.7rem;line-height:1}.map-detail-status__body{margin:8px 0 0;color:var(--text-dim)}.map-detail-status__details{margin:10px 0 0;padding-left:18px;color:var(--text-dim)}.table-card__meta{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--text-dim);font-size:.84rem}.table-card__meta-group{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-card__revision-filter{display:inline-flex;gap:7px;align-items:center;padding:5px 6px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-panel-soft)}.table-card__revision-filter code{color:var(--text)}.table-card__revision-filter button{display:inline-grid;width:24px;height:24px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer;font:inherit}.table-card__revision-filter button:hover,.table-card__revision-filter button:focus-visible{background:var(--bg-panel)}.table-card__snapshot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.table-card__meta-button{padding:6px 10px;font-size:.76rem}.user-pill,.code-chip{display:inline-flex;gap:8px;align-items:center;background:var(--bg-panel-soft);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.user-pill__label{color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.user-pill__value{font-weight:600}.primary-button,.ghost-button,.table-button,.sort-button,.copy-button,.pagination__button,.star-chip{transition:transform .14s ease,background-color .14s ease,border-color .14s ease,opacity .14s ease}.navigation-link,.table-button{text-decoration:none}.navigation-link{display:inline-flex;align-items:center}.primary-button:hover,.ghost-button:hover,.table-button:hover,.sort-button:hover,.copy-button:hover,.pagination__button:hover,.star-chip:hover{transform:translateY(-1px)}.primary-button{border:1px solid rgba(255,226,164,.4);background:linear-gradient(180deg,#f3d386,#d7a94c);color:#1d1505;border-radius:999px;padding:12px 18px;font-weight:700}.ghost-button,.table-button,.pagination__button,.copy-button{border:1px solid var(--line);background:#07121adb;color:var(--text);border-radius:999px;padding:8px 12px}.table-button--danger{border-color:#ff8b7a6b;color:var(--danger)}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap:focus-visible{border-radius:10px;outline:2px solid var(--mint);outline-offset:2px}.recordings-table{--recordings-sticky-id-left: 52px;width:100%;min-width:1830px;border-collapse:collapse;table-layout:fixed}.recordings-table--without-playback{--recordings-sticky-id-left: 0;min-width:1778px}.recordings-table__col--select{width:52px}.recordings-table__col--id{width:64px}.recordings-table__col--star{width:4.5%}.recordings-table__col--date{width:9%}.recordings-table__col--map{width:7%}.recordings-table__col--moves{width:8%}.recordings-table__col--item-use{width:7%}.recordings-table__col--ending{width:9%}.recordings-table__col--validated{width:8%}.recordings-table__col--auth,.recordings-table__col--build{width:9%}.recordings-table__col--recording-version{width:100px}.recordings-table__col--device,.recordings-table__col--os{width:7.5%}.recordings-table__col--actions{width:7%}.recordings-table th,.recordings-table td{padding:8px 7px;border-bottom:1px solid rgba(122,162,183,.14);text-align:left;vertical-align:middle;font-size:.84rem}.recordings-table__sticky-column{position:sticky;z-index:1;background:#07121afa}.recordings-table__sticky-column--select{left:0}.recordings-table__sticky-column--id{left:var(--recordings-sticky-id-left);box-shadow:1px 0 #7aa2b73d}.recordings-table thead th{position:sticky;top:0;background:var(--bg-panel-strong);z-index:2;font-size:.78rem}.recordings-table thead .recordings-table__sticky-column{z-index:3}.players-table{width:100%;min-width:1380px;border-collapse:collapse;table-layout:fixed}.players-table__col--player{width:132px}.players-table__col--tester,.recordings-table__col--tester{width:180px}.tester-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.tester-unlinked,.tester-help,.tester-identifier{color:var(--text-dim)}.testers-page{display:grid;gap:20px;width:min(1300px,100%);margin:0 auto}.testers-header,.tester-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.testers-header h1,.tester-panel h2{margin:0;overflow-wrap:anywhere}.tester-identifier{margin:5px 0 0;font-size:.8rem;overflow-wrap:anywhere}.testers-page a.ghost-button{text-decoration:none}.tester-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.tester-panel{min-width:0;display:grid;align-content:start;gap:16px}.tester-contact-form{display:grid;gap:10px}.tester-contact-form .filter-input{padding:12px}.tester-contact-form p{margin:0}.tester-search,.player-detail__tester{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tester-search{margin-bottom:16px}.tester-search .filter-input{width:min(100%,360px)}.tester-table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.tester-table th,.tester-table td{padding:14px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.tester-table th{color:var(--text-dim);font-size:.8rem}.tester-table .tester-link{max-width:280px}.tester-pagination{margin-top:16px;font-size:.85rem;color:var(--text-dim)}.tester-generated-code{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px;border:1px solid var(--mint);border-radius:14px;background:var(--bg-panel-strong)}.tester-code-copy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.tester-code-copy code{font-size:1rem;letter-spacing:.1em;-webkit-user-select:all;user-select:all}.tester-copy-error{color:var(--danger);font-size:.8rem}.tester-code-uses{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tester-code-uses>span{white-space:nowrap}.tester-code-uses>.filter-input{width:110px}.tester-filter{width:fit-content;max-width:100%;margin:0 0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem}.player-detail__tester{margin-top:10px;font-size:.85rem}.players-table__col--date{width:130px}.players-table__col--count{width:110px}.players-table__col--validated{width:140px}.players-table__col--completed{width:170px}.players-table__col--maps{width:140px}.players-table__col--highest{width:138px}.players-table th,.players-table td{padding:8px 7px;border-bottom:1px solid rgba(122,162,183,.14);text-align:left;vertical-align:middle;font-size:.84rem}.players-table__sticky-column{position:sticky;left:0;z-index:1;background:#07121afa;box-shadow:1px 0 #7aa2b73d}.players-table thead th{position:sticky;top:0;background:var(--bg-panel-strong);z-index:2;font-size:.78rem}.players-table thead .players-table__sticky-column{z-index:3}.players-table .filter-row th{background:#07121aeb}.players-table__percentage{color:var(--text-dim)}.player-detail,.player-detail-status{width:min(1200px,100%);margin:0 auto}.player-detail{display:grid;gap:14px}.player-detail__toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}.player-detail__loading{color:var(--text-dim);font-size:.76rem;font-weight:700}.player-detail__header,.player-detail__card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--bg-panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.player-detail__header{display:flex;gap:24px;align-items:center;justify-content:space-between}.player-detail__title,.player-detail__card-title,.player-detail-status__title{margin:0;font-family:Baskerville,Palatino Linotype,serif;line-height:1}.player-detail__title{font-size:clamp(1.7rem,3vw,2.5rem)}.player-detail__auth-id{width:min(360px,100%);margin-top:10px}.player-detail__dates{display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:12px 28px;margin:0}.player-detail__dates dt{color:var(--text-dim);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.player-detail__dates dd{margin:3px 0 0;font-variant-numeric:tabular-nums;font-weight:700}.player-detail__summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.player-detail__card-title{font-size:1.35rem}.player-detail__statistics{margin:14px 0 0}.player-detail__statistic{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;align-items:baseline;padding:10px 0}.player-detail__statistic+.player-detail__statistic{border-top:1px solid var(--line)}.player-detail__statistic dt{color:var(--text-dim)}.player-detail__statistic dd{margin:0;font-variant-numeric:tabular-nums;font-weight:800}.player-detail__section-heading{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;justify-content:space-between}.player-detail__timeline-count{display:block;margin-top:6px;color:var(--text-dim);font-size:.78rem}.player-detail__timeline-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.player-detail__profile-filter{display:grid;gap:4px;min-width:170px}.player-detail__profile-filter>span{color:var(--text-dim);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.player-detail__profile-filter select{width:100%;border:1px solid var(--line);border-radius:10px;background:#030b11e6;color:var(--text);padding:7px 30px 7px 9px;font-size:.8rem}.player-detail__profile-filter select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.player-detail__timeline-card{min-width:0}.player-detail__progression{padding:18px 22px}.player-detail__progression>summary{cursor:pointer;font-weight:700}.player-detail__progression>summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.player-detail__progression>.progression-note{margin:14px 0}.player-timeline__note{color:var(--text-dim);font-size:.78rem;margin:14px 0 0}.player-timeline__progression-row{background:#62c9af09}.player-timeline__progression-row>td{white-space:nowrap}.player-timeline__event-content{min-width:340px;max-width:620px}.player-timeline__event-summary{display:flex;align-items:center;gap:10px}.player-timeline__event-summary>.progression-badge,.player-timeline__event-summary>.progression-warning{flex-shrink:0}.player-timeline__event-description{overflow:hidden;text-overflow:ellipsis}.player-timeline__event-details-row{background:#62c9af09}.player-timeline__expand:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.player-timeline__muted{color:var(--text-dim)}.player-timeline{margin-top:14px;transition:opacity .14s ease}.player-timeline--loading{opacity:.55}.player-timeline__table{width:max-content;min-width:100%;border-collapse:collapse}.player-timeline__table th,.player-timeline__table td{padding:9px 8px;border-bottom:1px solid rgba(122,162,183,.14);text-align:left;vertical-align:middle;font-size:.82rem}.player-timeline__table th{color:var(--text-dim);font-size:.74rem}.table-value-link,.hash-cell__value--link{color:var(--accent);text-decoration:none}.table-value-link{border-bottom:1px dashed rgba(241,201,107,.62)}.table-value-link:hover,.hash-cell__value--link:hover{color:#ffe2a0}.table-value-link:focus-visible,.hash-cell__value--link:focus-visible{border-radius:4px;outline:2px solid var(--mint);outline-offset:3px}.player-detail__revision-link code{color:inherit}.player-detail-status{padding:20px}.player-detail-status__title{margin-top:18px;font-size:1.7rem}.player-detail-status__body{margin:8px 0 0;color:var(--text-dim)}.player-detail-status__details{margin:10px 0 0;padding-left:18px;color:var(--text-dim)}.filter-row th{background:#07121aeb}.sort-button{display:inline-flex;gap:5px;align-items:center;border:none;background:transparent;color:inherit;padding:0;font-weight:700}.sort-button--active{color:var(--accent)}.sort-indicator{width:.72rem;text-align:center}.filter-input{width:100%;border:1px solid var(--line);background:#030b11e6;color:var(--text);border-radius:10px;padding:6px 8px;font-size:.78rem}.filter-input::placeholder{color:#adc6d385}.filter-input--hash{min-width:0}.picklist-filter{position:relative}.picklist-filter__trigger{width:100%;text-align:left;list-style:none;border:1px solid var(--line);background:#030b11e6;color:var(--text-dim);border-radius:10px;padding:6px 8px;font-size:.78rem}.picklist-filter--open .picklist-filter__trigger{border-color:var(--line-strong);color:var(--text)}.picklist-filter__menu{position:fixed;min-width:150px;padding:10px;background:#030b11fa;border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow);z-index:3;font-size:.78rem}.picklist-filter__option{display:flex;gap:8px;align-items:center;padding:6px 0}.hash-cell{display:inline-flex;gap:6px;align-items:center;width:100%;min-width:0}.hash-cell__value{display:inline-flex;align-items:center;min-height:28px;max-width:100%;padding:0 10px;border-radius:999px;border:1px solid rgba(143,227,207,.18);background:#8fe3cf14;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:0;border-radius:10px}.icon-button__glyph{display:inline-flex;align-items:center;justify-content:center}.icon-svg{width:14px;height:14px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.74rem;border:1px solid var(--line);background:#050e14db;white-space:nowrap}.status-pill--reason{color:var(--text-dim)}.status-pill--outcome-exit_reached{color:#8fe3a1;border-color:#8fe3a152;background:#8fe3a11f}.status-pill--outcome-died{color:var(--danger);border-color:#ff8b7a57;background:#ff8b7a1f}.status-pill--outcome-out_of_moves{color:#f3a65a;border-color:#f3a65a57;background:#f3a65a1f}.status-pill--outcome-abandoned{color:#8dc8ff;border-color:#8dc8ff4d;background:#8dc8ff1f}.status-pill--outcome-interrupted{color:var(--accent);border-color:#f1c96b61;background:var(--accent-soft)}.status-pill--recovered{color:var(--text-dim);border-color:var(--line-strong)}.recording-ending{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.status-pill--valid{color:var(--mint);border-color:#8fe3cf4d;background:#8fe3cf1f}.status-pill--invalid{color:var(--danger);border-color:#ff8b7a57;background:#ff8b7a1f}.status-pill--validating{color:#8dc8ff;border-color:#8dc8ff47;background:#8dc8ff1f}.status-pill--unvalidated{color:var(--accent);border-color:#f1c96b4d;background:#f1c96b1f}.star-chip{border:1px solid var(--line);background:#061018e6;color:#8aa0ac;border-radius:999px;padding:3px 8px;min-width:30px;font-size:.92rem}.star-chip--active{color:var(--accent);border-color:#f1c96b57;background:var(--accent-soft)}.action-row,.stack-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.action-row{flex-wrap:nowrap}.number-cell{font-variant-numeric:tabular-nums}th.number-header,th.center-cell,td.center-cell{text-align:center}.number-header .sort-button,.center-cell .sort-button{width:100%;justify-content:center}.fraction-column-header{display:flex;min-width:0;flex-wrap:wrap;justify-content:center;column-gap:.3em}.fraction-column-header__part{white-space:nowrap}.number-cell__value{display:block;width:50%;text-align:right;white-space:nowrap}.select-cell{text-align:center}.row-select-checkbox{width:14px;height:14px;accent-color:#f1c96b;cursor:pointer}.map-cell{font-weight:700;letter-spacing:.06em}.platform-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-error{margin-bottom:10px;padding:10px 12px;border:1px solid rgba(255,139,122,.34);border-radius:12px;background:var(--danger-soft);color:#ffe0da;font-size:.82rem}.inline-error__details{margin:10px 0 0;padding-left:18px}.empty-state{padding:20px 12px;text-align:center;color:var(--text-dim)}.pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:12px;flex-wrap:wrap}.pagination__button--active{border-color:#f1c96b57;background:var(--accent-soft);color:var(--accent)}.pagination__ellipsis{color:var(--text-dim);padding:0 2px}button:disabled,input:disabled,select:disabled,[aria-disabled=true]{opacity:.56;cursor:not-allowed;transform:none}@media (max-width: 960px){.app-shell__content{padding:24px 16px 40px}.main-navigation,.main-navigation__account{flex-wrap:wrap}.table-card__meta{align-items:flex-start;flex-direction:column}.table-card__meta-group,.table-card__snapshot{width:100%;justify-content:flex-start}.maps-overview__meta,.map-detail__header,.player-detail__header{align-items:flex-start;flex-direction:column}.player-detail__summary-grid{grid-template-columns:minmax(0,1fr)}.map-detail__revision-control{flex-basis:auto;justify-items:start;width:100%}.map-detail__toolbar{align-items:flex-start;flex-direction:column}.map-detail__pager,.map-detail__badges{justify-content:flex-start}.map-detail__analysis{grid-template-columns:minmax(0,1fr)}.table-card,.auth-card,.map-detail__header,.map-detail__data-card,.map-detail__render-frame,.player-detail__header,.player-detail__card{border-radius:18px}}@media (max-width: 640px){.app-shell__content{padding:12px 8px 28px}.main-navigation{margin-bottom:16px}.table-card{padding:8px;border-radius:14px}.player-detail__header,.player-detail__card{padding:14px;border-radius:14px}.player-detail__dates{grid-template-columns:minmax(0,1fr)}.table-card__meta-group,.table-card__snapshot{gap:8px}.table-card__meta-button{min-height:40px}}
