:root{color:#e8f0f7;background:#0b1118;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 0%,rgba(54,212,152,.12),transparent 32rem),linear-gradient(150deg,#101923,#090e14 62%)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.35)}h1,h2,h3,p{margin-top:0}input,select,textarea{width:100%;min-height:2.8rem;border:1px solid #334253;border-radius:.7rem;padding:.62rem .75rem;color:#ecf4fb;background:#0c141d}textarea{min-height:5.5rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(82,224,165,.38);border-color:#52e0a5}label{display:grid;gap:.4rem;color:#9fb0c0;font-size:.78rem;font-weight:700}.shell{width:min(100% - 2rem,70rem);margin:0 auto;padding:clamp(3rem,8vw,7rem) 0}.hero{max-width:52rem}.hero h1{margin-bottom:1rem;font-size:clamp(3.4rem,12vw,8.5rem);line-height:.9;letter-spacing:-.075em}.eyebrow{margin:0 0 .9rem;color:#52e0a5;font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.lead{max-width:42rem;color:#aebccb;font-size:clamp(1.1rem,3vw,1.55rem);line-height:1.55}.next-card,.panel,.participant-card,.publish-panel,.empty-card,.auth-card{border:1px solid rgba(189,211,229,.14);border-radius:1.15rem;background:#131d28e0;box-shadow:0 1.5rem 5rem #00000029}.next-card{margin-top:clamp(3rem,8vw,6rem);padding:clamp(1.5rem,5vw,3rem)}.next-card>span{display:inline-block;margin-bottom:1rem;color:#7d8d9d;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.next-card h2{max-width:38rem;margin-bottom:.8rem;font-size:clamp(1.8rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.04em}.next-card p,.muted,.panel p,.participant-head p,.publish-panel p{margin-bottom:0;color:#91a2b3;line-height:1.5}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(100%,32rem);padding:clamp(1.5rem,6vw,3rem)}.auth-card h1{font-size:clamp(2rem,8vw,3.5rem);line-height:1;letter-spacing:-.04em}.auth-card p{color:#9fb0c0;line-height:1.6}.admin-shell{min-height:100vh}.admin-header{position:sticky;z-index:20;top:0;display:flex;justify-content:space-between;align-items:center;min-height:4rem;padding:.65rem max(1rem,calc((100% - 76rem)/2));border-bottom:1px solid rgba(189,211,229,.12);background:#090e14e6;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.admin-header>div{display:flex;align-items:center;gap:.7rem;color:#9fb0c0;font-size:.82rem}.admin-header nav{display:flex;gap:.2rem}.admin-header nav button{border:0;border-radius:.55rem;padding:.5rem .65rem;color:#7f92a3;background:transparent;font-size:.76rem;font-weight:800}.admin-header nav button.active{color:#dff8ed;background:#52e0a521}.brand{border:0;padding:0;color:#f2f7fb;background:transparent;font-weight:900;letter-spacing:-.03em;font-size:1.18rem}.brand span{color:#52e0a5}.admin-content{width:min(100% - 1.25rem,76rem);margin:0 auto;padding:1.6rem 0 6rem}.admin-content h1{margin-bottom:0;font-size:clamp(2.2rem,8vw,4.8rem);line-height:.95;letter-spacing:-.055em}.section-heading,.panel-heading,.participant-head,.publish-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.section-heading{margin:1rem 0 1.5rem;align-items:end}.panel-heading h2,.publish-panel h2{margin-bottom:.3rem;font-size:1.25rem}.button{min-height:2.75rem;border:0;border-radius:.75rem;padding:.65rem 1rem;color:#07130e;background:#52e0a5;font-weight:850}.button--secondary{color:#def8ec;border:1px solid rgba(82,224,165,.32);background:#52e0a51f}.button--ghost{color:#c2cfda;border:1px solid #344252;background:transparent}.button--danger{color:#ffe9e4;border:1px solid rgba(240,138,113,.35);background:#f08a7121}.text-button{border:0;padding:.2rem;color:#65e5af;background:transparent;font-weight:750}.badge{display:inline-flex;align-items:center;min-height:1.6rem;width:max-content;border-radius:999px;padding:.18rem .58rem;color:#aab8c5;background:#283440;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.badge--review,.badge--pending{color:#ffe1a3;background:#edb44e29}.badge--failed,.badge--conflict,.badge--rejected{color:#ffb9aa;background:#f05a4629}.badge--auto_matched,.badge--confirmed,.badge--published,.badge--completed{color:#9ff0ca;background:#52e0a524}.badge--processing,.badge--queued{color:#add8ff;background:#4f9ede29}.import-list{display:grid;gap:.75rem}.import-card{display:grid;gap:.55rem;width:100%;border:1px solid rgba(189,211,229,.13);border-radius:1rem;padding:1.15rem;color:#e8f0f7;text-align:left;background:#121c27;transition:border-color .15s,transform .15s}.import-card:hover{border-color:#52e0a573;transform:translateY(-1px)}.import-card>span:not(.badge){color:#91a2b3;font-size:.84rem}.import-meta{padding-top:.5rem;border-top:1px solid rgba(189,211,229,.09)}.empty-card{padding:1.5rem;color:#9fb0c0;margin-bottom:1rem}.alert{margin:1rem 0;border-radius:.8rem;padding:.85rem 1rem;line-height:1.45}.alert--error{color:#ffd5cc;border:1px solid rgba(240,138,113,.3);background:#f05a461a}.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1rem}.quick-publish-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;border:1px solid rgba(82,224,165,.32);border-radius:1rem;padding:1rem;background:linear-gradient(120deg,#52e0a529,#52e0a50f)}.quick-publish-panel h2{margin-bottom:.3rem;font-size:1.15rem}.quick-publish-panel p{margin:0;color:#9db5aa;font-size:.82rem;line-height:1.45}.quick-publish-button{flex:0 0 auto}.review-summary>div{display:grid;gap:.15rem;min-width:0;padding:.9rem;border:1px solid rgba(189,211,229,.12);border-radius:.9rem;background:#111b25}.review-summary strong{font-size:1.45rem}.review-summary span{color:#8798a8;font-size:.68rem}.review-summary .danger strong{color:#ff9d89}.review-summary .success strong{color:#52e0a5}.panel{margin:1rem 0;padding:1.1rem}.game-fields,.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.button-row{display:flex;flex-wrap:wrap;gap:.6rem}.warning-list{display:grid;gap:.6rem;margin-top:1rem}.warning{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-left:3px solid #d8ae5c;border-radius:.5rem;padding:.7rem .8rem;background:#0d161f}.warning--error{border-color:#f08a71}.warning p{margin:.25rem 0 0;color:#91a2b3;font-size:.82rem}.participants-section{margin-top:1.8rem}.participants-list{display:grid;gap:.8rem}.participant-card{overflow:hidden;padding:1rem}.participant-card--pending{border-color:#edb44e47}.participant-card--conflict{border-color:#f05a465c}.participant-head h3{margin:.5rem 0 .2rem;font-size:1.2rem}.participant-head p{font-size:.78rem}.rating-block{display:grid;justify-items:end;color:#91a2b3;font-size:.68rem;text-transform:uppercase}.rating-block strong{color:#f0f6fb;font-size:1.55rem}.stats-grid label:first-child{grid-column:1/-1}.stats-grid--secondary{margin-top:.8rem}.field-wide{grid-column:1/-1}details{margin:.8rem 0;color:#9fb0c0}summary{cursor:pointer;font-size:.82rem;font-weight:750}.match-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(189,211,229,.1)}.matched-player{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.matched-player>span,.suggestions>span{color:#8294a5;font-size:.75rem}.suggestions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.8rem}.suggestions button{display:flex;gap:.45rem;border:1px solid rgba(82,224,165,.28);border-radius:999px;padding:.42rem .65rem;color:#c9f7e4;background:#52e0a51a}.suggestions small{color:#78a692}.check{display:flex;grid-auto-flow:column;justify-content:start;align-items:center;gap:.5rem;margin:.7rem 0;font-weight:500}.check input{width:1rem;min-height:1rem}.inline-action{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.55rem}.publish-panel{margin-top:1.2rem;padding:1.1rem;align-items:center}.admin-game-list{display:grid;gap:.6rem}.admin-game-row{display:grid;grid-template-columns:auto minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;width:100%;border:1px solid rgba(189,211,229,.12);border-radius:.9rem;padding:1rem;color:#e8f0f7;text-align:left;background:#111b25}.admin-game-row:hover{border-color:#52e0a55c}.admin-game-row>span:nth-child(2){display:grid;gap:.25rem}.admin-game-row small{color:#8193a3}.admin-game-row>b{color:#66e3ad;font-size:.75rem}.audit-reason-panel{border-color:#52e0a547}.audit-reason-panel p{margin-top:.6rem;font-size:.76rem}.published-editor-card .stats-grid label:first-child{grid-column:span 2}.alert--success{color:#b8f4d8;border:1px solid rgba(82,224,165,.3);background:#52e0a51a}.merge-warning{color:#ffe1a3;border:1px solid rgba(237,180,78,.25);background:#edb44e17}.merge-panel{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem}.merge-arrow{padding-bottom:.8rem;color:#5ae0a9;font-size:1.5rem}.merge-panel .field-wide{grid-column:1/-1}.audit-count{color:#7e91a2}.audit-filter{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.7rem}.audit-list{display:grid;gap:.7rem}.audit-card{border:1px solid rgba(189,211,229,.11);border-radius:1rem;padding:1rem;background:#111b25}.audit-head{display:flex;justify-content:space-between;gap:1rem}.audit-head>div{display:flex;align-items:center;gap:.6rem}.audit-head time,.audit-meta{color:#718496;font-size:.7rem}.audit-reason{margin:.85rem 0 .35rem;line-height:1.45}.audit-meta{margin:0}.audit-card details{margin-bottom:0}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}.audit-diff>div{min-width:0}.audit-diff>div>span{color:#8294a4;font-size:.68rem;font-weight:800;text-transform:uppercase}.audit-diff pre{overflow:auto;max-height:24rem;border-radius:.6rem;padding:.75rem;color:#bdd0df;background:#091018;font-size:.68rem;white-space:pre-wrap;word-break:break-word}code{border-radius:.3rem;padding:.12rem .3rem;color:#bdf3db;background:#16241e}@media(min-width:48rem){.admin-content{padding-top:2.4rem}.import-list{grid-template-columns:1fr 1fr}.panel,.participant-card,.publish-panel{padding:1.4rem}.game-fields{grid-template-columns:1.2fr 1fr 1fr}.stats-grid{grid-template-columns:repeat(6,1fr)}.stats-grid label:first-child{grid-column:span 2}.stats-grid--secondary{grid-template-columns:repeat(5,1fr)}.field-wide{grid-column:1/-1}}@media(max-width:40rem){.admin-header>div>span{display:none}.admin-header--nav{display:grid;grid-template-columns:1fr auto}.admin-header--nav nav{grid-column:1/-1;grid-row:2;overflow-x:auto}.section-heading{align-items:flex-start}.quick-publish-panel{display:grid}.quick-publish-button{width:100%}.review-summary{grid-template-columns:1fr}.review-summary>div{grid-template-columns:auto 1fr;align-items:center;gap:.7rem}.game-fields,.stats-grid{grid-template-columns:1fr 1fr}.publish-panel{display:block}.publish-panel .button-row{margin-top:1rem}.button-row .button{flex:1 1 100%}.admin-game-row{grid-template-columns:auto 1fr}.admin-game-row>span:nth-child(3),.admin-game-row>b{grid-column:2}.merge-panel,.audit-filter,.audit-diff{grid-template-columns:1fr}.merge-arrow{display:none}}.public-shell{min-height:100vh}.public-header{position:sticky;z-index:30;top:0;display:flex;justify-content:space-between;align-items:center;min-height:4.4rem;padding:.7rem max(1rem,calc((100% - 78rem)/2));border-bottom:1px solid rgba(189,211,229,.1);background:#090e14db;-webkit-backdrop-filter:blur(1.1rem);backdrop-filter:blur(1.1rem)}.public-header nav{display:flex;gap:.3rem;padding:.25rem;border:1px solid rgba(189,211,229,.1);border-radius:.75rem;background:#141f2ab3}.public-header nav button{min-height:2.35rem;border:0;border-radius:.55rem;padding:.45rem .8rem;color:#899aaa;background:transparent;font-size:.8rem;font-weight:800}.public-header nav button.active{color:#e9f8f1;background:#52e0a524}.public-content{width:min(100% - 1.25rem,78rem);margin:0 auto;padding:2rem 0 6rem}.public-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(1.8rem,6vw,5rem) 0 clamp(1.8rem,5vw,3.5rem)}.public-hero h1,.player-hero h1,.game-hero h1{max-width:58rem;margin-bottom:1rem;font-size:clamp(2.6rem,8vw,6.7rem);line-height:.9;letter-spacing:-.065em}.public-hero p:not(.eyebrow),.player-hero p,.game-hero p{max-width:44rem;margin:0;color:#91a2b3;font-size:clamp(.95rem,2vw,1.12rem);line-height:1.55}.hero-stat{flex:0 0 auto;display:grid;min-width:9rem;justify-items:end}.hero-stat strong{font-size:clamp(2.8rem,7vw,5.5rem);line-height:.85;letter-spacing:-.07em}.hero-stat span{margin-top:.6rem;color:#7e90a1;font-size:.72rem;text-transform:uppercase}.filter-panel{margin-bottom:1.2rem;border:1px solid rgba(189,211,229,.13);border-radius:1.1rem;padding:1rem;background:#111b25e6}.filter-panel form{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(9rem,1fr) minmax(8rem,.8fr) auto;align-items:end;gap:.7rem}.filter-panel.compact{display:flex;justify-content:flex-end}.period-filter{display:grid;grid-template-columns:minmax(8.5rem,1fr) minmax(8.5rem,1fr) auto auto;align-items:end;gap:.65rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(189,211,229,.09)}.compact .period-filter{width:100%;max-width:42rem;margin:0;padding:0;border:0}.public-loading{min-height:16rem;display:grid;place-items:center;color:#91a2b3}.is-loading{opacity:.45;pointer-events:none}.rating-list{display:grid;gap:.48rem;transition:opacity .2s}.rating-row{display:grid;grid-template-columns:3rem minmax(9rem,2fr) minmax(6rem,1fr) repeat(4,minmax(5rem,.75fr));align-items:center;gap:.8rem;width:100%;min-height:5.3rem;border:1px solid rgba(189,211,229,.1);border-radius:.9rem;padding:.7rem 1rem;color:#ecf4fb;text-align:left;background:#111b25;transition:transform .15s,border-color .15s,background .15s}.rating-row:hover{transform:translate(2px);border-color:#52e0a55c;background:#14212b}.rating-rank{color:#667989;font-size:.85rem;font-weight:900}.rating-player,.rating-main,.rating-stat{display:grid;gap:.22rem}.rating-player strong{overflow:hidden;font-size:1.02rem;text-overflow:ellipsis}.rating-player small,.rating-main small,.rating-stat small{color:#738697;font-size:.64rem;font-weight:750;text-transform:uppercase}.rating-main strong{color:#71e6b4;font-size:1.5rem;letter-spacing:-.03em}.rating-stat strong{font-size:.9rem}.public-footer{display:flex;justify-content:space-between;width:min(100% - 2rem,78rem);margin:0 auto;border-top:1px solid rgba(189,211,229,.1);padding:1.5rem 0 2.5rem;color:#667787;font-size:.75rem}.back-link{margin:1rem 0}.player-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:2rem 0}.player-rating{flex:0 0 auto;display:grid;justify-items:end}.player-rating span,.player-rating small{color:#8294a5;font-size:.7rem;font-weight:750;text-transform:uppercase}.player-rating strong{color:#71e6b4;font-size:clamp(3rem,8vw,6rem);line-height:.92;letter-spacing:-.065em}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;margin:1rem 0 2.5rem}.summary-grid>div{display:grid;gap:.4rem;min-width:0;border:1px solid rgba(189,211,229,.1);border-radius:.85rem;padding:.85rem;background:#111b25}.summary-grid span{color:#788b9c;font-size:.65rem;font-weight:750;text-transform:uppercase}.summary-grid strong{font-size:1.1rem}.public-section{margin:2.6rem 0}.public-section-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.public-section-title h2{margin:0;font-size:clamp(1.5rem,4vw,2.5rem);letter-spacing:-.04em}.public-section-title>span{color:#778a9b}.rating-chart{height:12rem;display:flex;align-items:flex-end;gap:.45rem;overflow-x:auto;border-bottom:1px solid #304151;padding:1.8rem .2rem 0}.rating-chart button{position:relative;flex:1 0 2.2rem;max-width:5rem;min-height:.7rem;border:0;border-radius:.35rem .35rem 0 0;padding:0;background:linear-gradient(#65e2ac,#2c8c66)}.rating-chart button span{position:absolute;top:-1.35rem;left:50%;color:#9eb0bf;font-size:.62rem;transform:translate(-50%)}.player-games{display:grid;gap:.7rem}.player-game-card{display:grid;grid-template-columns:minmax(12rem,2fr) auto minmax(18rem,1.2fr);align-items:center;gap:1rem;width:100%;border:1px solid rgba(189,211,229,.1);border-radius:1rem;padding:1rem;color:#edf4fa;text-align:left;background:#111b25}.player-game-card:hover,.public-game-card:hover{border-color:#52e0a55c}.player-game-card>div:first-child>span,.game-date{color:#748797;font-size:.7rem;font-weight:750;text-transform:uppercase}.player-game-card h3{margin:.3rem 0;font-size:1.08rem}.player-game-card p{margin:0;color:#8294a5;font-size:.78rem}.game-result,.participant-primary{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.game-result span,.participant-primary span{display:grid;gap:.2rem}.game-result small,.participant-primary small{color:#718495;font-size:.6rem;text-transform:uppercase}.team-badge{display:inline-flex;width:max-content;border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:850}.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.public-game-card{display:grid;align-content:start;gap:.7rem;min-height:15rem;border:1px solid rgba(189,211,229,.1);border-radius:1rem;padding:1.25rem;color:#eef5fa;text-align:left;background:#111b25}.public-game-card h2{margin:0;font-size:1.5rem;letter-spacing:-.035em}.public-game-card p{margin:0;color:#8496a6}.team-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.game-count{align-self:end;margin-top:auto;padding-top:1rem;color:#75e5b5;font-size:.78rem;font-weight:800}.load-more{display:block;min-width:12rem;margin:1.2rem auto 0}.game-hero{padding:2rem 0 3rem}.game-hero h1{margin-top:.8rem}.team-score-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.team-score-row>div{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(189,211,229,.1);border-radius:999px;padding:.35rem .65rem;background:#111b25}.team-score-row .team-badge{border:0;padding:0}.team-section .public-section-title>div{display:flex;align-items:center;gap:.7rem}.team-section .public-section-title h2{font-size:1rem;color:#91a2b3}.game-participants{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.public-participant{border:1px solid rgba(189,211,229,.1);border-radius:1rem;padding:1rem;background:#111b25}.participant-title{display:grid;grid-template-columns:2rem 1fr;gap:.1rem .5rem;width:100%;border:0;padding:0;color:#ecf4fb;text-align:left;background:transparent}.participant-title>span{grid-row:1/3;color:#657989;font-size:.72rem}.participant-title>strong{font-size:1.05rem}.participant-title>small{color:#788b9b}.participant-primary{margin:1rem 0}.participant-primary span:first-child strong{color:#70e5b3;font-size:1.25rem}.participant-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem .9rem;margin-top:.8rem;color:#7f92a2;font-size:.75rem}.participant-details span{display:flex;justify-content:space-between;gap:.4rem}.participant-details strong{color:#dce6ee}@media(max-width:64rem){.rating-row{grid-template-columns:2.5rem minmax(8rem,2fr) repeat(3,minmax(5rem,1fr))}.rating-stat:nth-last-child(-n+2){display:none}.summary-grid{grid-template-columns:repeat(3,1fr)}.player-game-card{grid-template-columns:1fr auto}.player-game-card .game-result{grid-column:1/-1}}@media(max-width:44rem){.public-header{min-height:4rem}.public-brand{font-size:1rem}.public-header nav button{min-height:2.1rem;padding:.35rem .65rem}.public-content{padding-top:1rem}.public-hero,.player-hero{display:block;padding:2.2rem 0 1.5rem}.hero-stat,.player-rating{justify-items:start;margin-top:1.5rem}.filter-panel form{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filter-panel form .button{align-self:end}.period-filter{grid-template-columns:1fr 1fr}.period-filter .button,.period-filter .text-button{min-height:2.7rem}.filter-panel.compact{display:block}.rating-row{grid-template-columns:2rem 1fr auto;gap:.55rem;padding:.8rem}.rating-main{justify-items:end}.rating-stat{grid-row:2}.rating-stat:nth-of-type(4){grid-column:2}.rating-stat:nth-of-type(5){grid-column:3;justify-items:end}.rating-stat--extra{display:none}.summary-grid{grid-template-columns:repeat(2,1fr)}.player-game-card{grid-template-columns:1fr}.player-game-card .game-result{grid-column:auto;grid-template-columns:repeat(2,1fr)}.games-grid,.game-participants{grid-template-columns:1fr}.public-game-card{min-height:13rem}.game-hero{padding-top:1rem}.participant-primary{grid-template-columns:repeat(2,1fr)}.public-footer{display:grid;gap:.35rem}}:root{--portal-bg:#070a0d;--portal-surface:#0f1419;--portal-surface-2:#141a20;--portal-line:#242c33;--portal-line-soft:#1b2228;--portal-text:#f3f6f7;--portal-muted:#8b969f;--portal-dim:#5e6972;--portal-accent:#b8ff3d;--portal-accent-soft:rgba(184,255,61,.11);--portal-blue:#45a8ff;--portal-red:#ff635f;--portal-gold:#f8c852;--portal-radius:14px}body:has(.public-shell){background:var(--portal-bg);color:var(--portal-text)}.public-shell{min-height:100vh;color:var(--portal-text);background:linear-gradient(180deg,#090d10 0,#070a0d 38rem)}.public-shell a{color:inherit;text-decoration:none}.public-shell button,.public-shell input{font:inherit}.public-header{position:sticky;z-index:40;top:0;min-height:68px;padding:0;border-bottom:1px solid rgba(255,255,255,.08);background:#070a0de6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{width:min(calc(100% - 40px),1180px);min-height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.public-logo{display:flex;align-items:center;gap:7px;letter-spacing:-.04em}.public-logo img{width:32px;height:32px;object-fit:contain}.public-logo strong{font-size:20px;font-weight:950}.public-logo strong span{color:var(--portal-accent)}.public-logo small{color:var(--portal-muted);font-size:9px;font-weight:900;letter-spacing:.18em}.public-header nav{display:flex;align-items:center;gap:4px;margin-left:auto;padding:0;border:0;background:none}.public-header nav>a{position:relative;min-height:42px;display:flex;align-items:center;padding:0 15px;color:var(--portal-muted);font-size:14px;font-weight:760}.public-header nav>a:after{content:"";position:absolute;right:15px;bottom:-13px;left:15px;height:2px;background:transparent}.public-header nav>a:hover,.public-header nav>a.active{color:var(--portal-text)}.public-header nav>a.active:after{background:var(--portal-accent)}.header-search{width:220px;height:38px;display:flex;align-items:center;gap:8px;margin-left:16px;border:1px solid var(--portal-line);border-radius:10px;padding:0 10px;color:var(--portal-dim);background:#0b0f13}.header-search input{min-height:0;border:0;padding:0;color:var(--portal-text);background:transparent;font-size:13px;outline:0}.mobile-menu{display:none;border:0;color:var(--portal-text);background:transparent}.public-content{width:min(calc(100% - 40px),1180px);margin:auto;padding:0 0 88px}.eyebrow{margin:0 0 10px;color:var(--portal-accent);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.portal-intro,.page-title{display:flex;align-items:end;justify-content:space-between;gap:48px;padding:72px 0 38px}.portal-intro h1,.page-title h1,.profile-hero h1,.game-summary-hero h1{margin:0 0 12px;color:var(--portal-text);font-size:clamp(42px,6vw,72px);line-height:.94;letter-spacing:-.065em}.portal-intro p:not(.eyebrow),.page-title p,.profile-hero p,.game-summary-hero p{margin:0;color:var(--portal-muted);font-size:15px;line-height:1.6}.league-pulse{width:150px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 8px;border-left:1px solid var(--portal-line);padding-left:24px}.league-pulse>span{grid-column:1/-1;color:var(--portal-muted);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.league-pulse strong{color:var(--portal-accent);font-size:44px;line-height:1;letter-spacing:-.06em}.league-pulse small{color:var(--portal-dim);padding-bottom:6px}.rating-controls{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line);padding:14px 0}.period-tabs{display:inline-flex;flex-wrap:wrap;gap:3px;border:1px solid var(--portal-line);border-radius:11px;padding:3px;background:#0a0e11}.period-tabs button,.team-tabs button{min-height:36px;border:0;border-radius:8px;padding:0 13px;color:var(--portal-muted);background:transparent;font-size:12px;font-weight:780}.period-tabs button:hover,.team-tabs button:hover{color:var(--portal-text)}.period-tabs button.active,.team-tabs button.active{color:#0b1008;background:var(--portal-accent)}.player-search{width:min(100%,340px);height:42px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #46505a;color:var(--portal-muted)}.player-search:focus-within{border-color:var(--portal-accent);color:var(--portal-accent)}.player-search input{min-height:0;border:0;padding:0;color:var(--portal-text);background:transparent;outline:0}.player-search button{border:0;padding:6px 0 6px 10px;color:var(--portal-accent);background:transparent;font-size:12px;font-weight:800}.latest-game-note{display:flex;align-items:center;gap:14px;margin:-12px 0 28px;border-left:2px solid var(--portal-accent);padding:10px 14px;color:var(--portal-muted);background:var(--portal-accent-soft);font-size:12px}.latest-game-note strong{color:var(--portal-text)}.latest-game-note a{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--portal-accent);font-weight:800}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:44px}.podium-card{position:relative;min-height:208px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--portal-line);border-radius:var(--portal-radius);padding:24px;background:var(--portal-surface);transition:.18s ease}.podium-card:before{content:"";position:absolute;top:0;right:0;left:0;height:2px;background:#69727a}.podium-card--1{grid-column:2;grid-row:1;border-color:#b8ff3d59;background:linear-gradient(180deg,rgba(184,255,61,.08),var(--portal-surface) 52%)}.podium-card--1:before{background:var(--portal-accent);box-shadow:0 0 28px var(--portal-accent)}.podium-card--2{grid-column:1;grid-row:1}.podium-card--3{grid-column:3;grid-row:1}.podium-card:hover,.game-card:hover{transform:translateY(-2px);border-color:#3d474f}.podium-place{position:absolute;top:14px;right:14px;color:var(--portal-gold);font-size:12px;font-weight:900}.podium-card>strong{margin-top:12px;font-size:15px}.podium-score{margin-top:8px;color:var(--portal-accent);font-size:30px;font-weight:900;letter-spacing:-.04em}.podium-card>small{margin-top:4px;color:var(--portal-muted);font-size:11px}.player-avatar{flex:none;display:grid;place-items:center;border:1px solid #384149;border-radius:50%;color:#c7d0d6;background:#1b2228;font-weight:900;letter-spacing:-.03em}.player-avatar--sm{width:36px;height:36px;font-size:11px}.player-avatar--md{width:48px;height:48px}.player-avatar--lg{width:72px;height:72px;font-size:20px}.player-avatar--rank-1{border-color:var(--portal-accent);color:var(--portal-accent);box-shadow:0 0 24px #b8ff3d1f}.player-avatar--rank-2{border-color:#bfcbd2}.player-avatar--rank-3{border-color:#c68c56}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}.section-head h2{margin:0;font-size:26px;letter-spacing:-.04em}.section-head>span{display:flex;align-items:center;gap:7px;color:var(--portal-muted);font-size:12px}.leaderboard{margin-top:10px}.leaderboard-head,.game-table-head{display:grid;grid-template-columns:74px minmax(220px,2fr) repeat(4,minmax(90px,1fr));gap:14px;padding:0 16px 10px;color:var(--portal-dim);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.leaderboard-list,.game-table{border-top:1px solid var(--portal-line)}.leaderboard-row,.game-result-row{position:relative;min-height:70px;display:grid;grid-template-columns:74px minmax(220px,2fr) repeat(4,minmax(90px,1fr));align-items:center;gap:14px;border-bottom:1px solid var(--portal-line-soft);padding:9px 16px;transition:.15s ease}.leaderboard-row:hover,.game-result-row:hover{background:var(--portal-surface)}.leaderboard-row>span:not(.leaderboard-player),.game-result-row>span:not(.leaderboard-player){display:grid;gap:3px}.leaderboard-row small,.game-result-row small{color:var(--portal-dim);font-size:10px;font-weight:700;text-transform:uppercase}.leaderboard-row strong,.game-result-row strong{display:flex;align-items:center;gap:5px;font-size:14px}.leaderboard-rank{color:#717b84;font-size:12px;font-weight:900}.leaderboard-rank.rank-1{color:var(--portal-accent)}.leaderboard-rank.rank-2{color:#d2d9dd}.leaderboard-rank.rank-3{color:#d79b60}.leaderboard-player{min-width:0;display:flex;align-items:center;gap:11px}.leaderboard-player>span:last-child{min-width:0;display:grid;gap:4px}.leaderboard-player strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.leaderboard-player small{display:flex;align-items:center;gap:4px}.leaderboard-score strong{color:var(--portal-accent);font-size:19px}.row-arrow{position:absolute;right:8px;color:#3e4850;opacity:0}.leaderboard-row:hover .row-arrow{opacity:1}.load-more{display:block;min-width:180px;min-height:42px;margin:24px auto 0;border:1px solid #48525a;border-radius:9px;padding:0 18px;color:var(--portal-text);background:transparent;font-size:12px;font-weight:800}.load-more:hover{border-color:var(--portal-accent);color:var(--portal-accent)}.public-loading{min-height:280px;display:grid;place-items:center;color:var(--portal-muted)}.empty-card{min-height:150px;display:grid;place-content:center;justify-items:center;gap:7px;margin:28px 0;border:1px dashed #313a41;border-radius:var(--portal-radius);color:var(--portal-muted);background:#0b0f12}.empty-card strong{color:var(--portal-text)}.empty-card span{font-size:13px}.alert{display:flex;align-items:center;justify-content:space-between;gap:16px}.is-loading{opacity:.48;pointer-events:none}.page-title>strong{display:flex;align-items:baseline;gap:7px;color:var(--portal-accent);font-size:48px;letter-spacing:-.05em}.page-title>strong small{color:var(--portal-muted);font-size:12px;letter-spacing:0}.archive-controls,.profile-period{display:flex;justify-content:flex-start;margin-bottom:30px;border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line);padding:13px 0}.game-timeline{display:grid;gap:8px}.game-card{position:relative;display:grid;grid-template-columns:170px 1fr 44px;align-items:stretch;overflow:hidden;border:1px solid var(--portal-line-soft);border-radius:var(--portal-radius);background:var(--portal-surface);transition:.18s ease}.game-card-date{display:grid;align-content:center;gap:12px;border-right:1px solid var(--portal-line-soft);padding:20px}.game-card-date time{color:var(--portal-muted);font-size:11px;font-weight:800;text-transform:uppercase}.game-card-date>span{display:flex;flex-wrap:wrap;gap:4px}.game-card-body{min-height:128px;display:grid;grid-template-columns:1fr minmax(170px,.7fr);align-items:center;gap:24px;padding:20px 24px}.game-card h2{margin:0 0 8px;font-size:20px;letter-spacing:-.025em}.game-card h2 a:hover{color:var(--portal-accent)}.game-card p,.game-meta span{display:flex;align-items:center;gap:7px;margin:0;color:var(--portal-muted);font-size:12px}.game-meta{display:grid;gap:10px}.game-meta span:last-child{color:#c7d0d6}.game-meta svg{color:var(--portal-accent)}.game-card-link{display:grid;place-items:center;border-left:1px solid var(--portal-line-soft);color:var(--portal-dim)!important}.game-card-link:hover{color:var(--portal-accent)!important;background:var(--portal-accent-soft)}.team-badge{display:inline-flex;align-items:center;width:max-content;min-height:22px;border:1px solid currentColor;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.page-actions{min-height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-line-soft)}.back-link,.icon-action{display:inline-flex;align-items:center;gap:6px;border:0;padding:7px 0;color:var(--portal-muted)!important;background:transparent;font-size:12px;font-weight:750}.back-link:hover,.icon-action:hover{color:var(--portal-accent)!important}.game-summary-hero{display:grid;grid-template-columns:1fr 280px;align-items:end;gap:48px;padding:50px 0 40px}.game-summary-hero h1{font-size:clamp(38px,5vw,62px)}.game-summary-hero p{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.team-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.team-score{display:flex;align-items:center;gap:8px}.winner-spotlight{display:grid;justify-items:start;gap:5px;border-left:2px solid var(--portal-accent);padding:8px 0 8px 24px}.winner-spotlight svg{color:var(--portal-accent);margin-bottom:4px}.winner-spotlight>span{color:var(--portal-muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.winner-spotlight strong{font-size:22px}.winner-spotlight small{color:var(--portal-accent)}.awards-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:48px}.award-card{display:flex;align-items:center;gap:14px;border:1px solid var(--portal-line-soft);border-radius:12px;padding:16px;background:var(--portal-surface)}.award-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:var(--portal-accent);background:var(--portal-accent-soft)}.award-card>div{display:grid;gap:2px}.award-card small{color:var(--portal-muted);font-size:10px;text-transform:uppercase}.award-card strong{font-size:13px}.award-card p{margin:0;color:var(--portal-accent);font-size:11px}.team-tabs{display:flex;gap:4px;margin-bottom:12px}.game-table-head,.game-result-row{grid-template-columns:64px minmax(210px,2fr) repeat(4,minmax(82px,1fr))}.game-result-row{min-height:72px}.row-team{position:absolute;right:10px;top:10px}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:44px 0 34px}.profile-hero h1{margin-bottom:7px;font-size:clamp(38px,5vw,60px)}.profile-rating{display:grid;justify-items:end}.profile-rating span,.profile-rating small{color:var(--portal-muted);font-size:10px;font-weight:800;text-transform:uppercase}.profile-rating strong{color:var(--portal-accent);font-size:52px;line-height:1.05;letter-spacing:-.06em}.rank-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.rank-cards article{display:grid;grid-template-columns:1fr auto;align-items:end;border:1px solid var(--portal-line-soft);border-radius:12px;padding:15px 17px;background:var(--portal-surface)}.rank-cards span{color:var(--portal-muted);font-size:11px}.rank-cards strong{grid-row:1/3;grid-column:2;color:var(--portal-accent);font-size:26px}.rank-cards small{color:var(--portal-dim);font-size:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:42px}.metric-grid article{min-width:0;display:grid;gap:7px;border:1px solid var(--portal-line-soft);border-radius:10px;padding:14px;background:var(--portal-surface)}.records-list article{min-width:0;display:grid;gap:6px;border-top:1px solid #39434b;padding:14px 4px}.metric-grid span,.records-list span{color:var(--portal-dim);font-size:9px;font-weight:800;line-height:1.25;text-transform:uppercase}.metric-grid strong,.records-list strong{font-size:17px}.analytics-panel{margin:34px 0 50px}.rating-line-chart{height:250px;border:1px solid var(--portal-line-soft);border-radius:var(--portal-radius);padding:14px 16px 8px;background:linear-gradient(180deg,rgba(184,255,61,.025),var(--portal-surface))}.rating-line-chart svg{width:100%;height:210px;overflow:visible}.chart-area{fill:url(#chart-fill);stroke:none}.chart-line{fill:none;stroke:var(--portal-accent);stroke-width:2.5;vector-effect:non-scaling-stroke}.rating-line-chart circle{fill:var(--portal-bg);stroke:var(--portal-accent);stroke-width:2}.rating-line-chart>div{display:flex;justify-content:space-between;color:var(--portal-dim);font-size:10px}.profile-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;margin-bottom:54px}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.achievement{display:flex;align-items:center;gap:12px;min-height:76px;border:1px solid var(--portal-line-soft);border-radius:11px;padding:13px;background:var(--portal-surface)}.achievement>span{width:34px;height:34px;display:grid;place-items:center;color:var(--portal-accent)}.achievement>span svg{width:20px}.achievement>div{display:grid;gap:4px}.achievement strong{font-size:12px}.achievement small{color:var(--portal-muted);font-size:10px;line-height:1.35}.achievement.locked{opacity:.38;filter:grayscale(1)}.records-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.history-list{border-top:1px solid var(--portal-line)}.history-card{margin:0;border-bottom:1px solid var(--portal-line-soft);color:var(--portal-text)}.history-card summary{min-height:84px;display:grid;grid-template-columns:minmax(240px,2fr) 120px 90px 110px;align-items:center;gap:16px;padding:12px 10px;list-style:none}.history-card summary::-webkit-details-marker{display:none}.history-card summary>span:first-child{display:grid;gap:3px}.history-card time,.history-card small{color:var(--portal-dim);font-size:10px}.history-card summary>span:not(:first-child){display:grid;gap:3px}.history-details{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;padding:0 10px 18px;color:var(--portal-muted);font-size:11px}.history-details span{display:grid;gap:3px}.history-details strong{color:var(--portal-text)}.history-details a{align-self:end;color:var(--portal-accent);font-weight:800}.public-footer{width:min(calc(100% - 40px),1180px);display:flex;justify-content:space-between;margin:auto;border-top:1px solid var(--portal-line-soft);padding:24px 0 34px;color:var(--portal-dim);font-size:11px}@media(max-width:900px){.metric-grid{grid-template-columns:repeat(4,1fr)}.leaderboard-head,.leaderboard-row{grid-template-columns:58px minmax(190px,2fr) repeat(3,minmax(78px,1fr))}.leaderboard-head span:nth-child(6),.leaderboard-row>span:nth-child(6){display:none}.game-table-head,.game-result-row{grid-template-columns:54px minmax(180px,2fr) repeat(3,minmax(72px,1fr))}.game-table-head span:nth-child(6),.game-result-row>span:nth-child(6){display:none}.profile-columns{gap:24px}}@media(max-width:680px){.header-inner,.public-content,.public-footer{width:min(calc(100% - 28px),1180px)}.public-header,.header-inner{min-height:60px}.public-logo{gap:5px}.public-logo img{width:28px;height:28px}.public-logo strong{font-size:15px}.public-logo small{font-size:7px}.mobile-menu{display:grid;place-items:center}.public-header nav{position:absolute;top:60px;right:0;left:0;display:none;align-items:stretch;border-bottom:1px solid var(--portal-line);padding:12px 14px 16px;background:#090d10}.public-header nav.open{display:grid}.public-header nav>a{min-height:44px;padding:0 6px}.public-header nav>a:after{right:6px;bottom:0;left:6px}.header-search{width:100%;margin:10px 0 0}.portal-intro,.page-title{align-items:start;padding:42px 0 26px}.portal-intro h1,.page-title h1{font-size:43px}.league-pulse{width:auto;padding-left:16px}.league-pulse strong{font-size:34px}.rating-controls{align-items:stretch;flex-direction:column}.period-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.period-tabs button{padding:0 6px}.player-search{width:100%}.latest-game-note{align-items:flex-start;flex-wrap:wrap}.latest-game-note a{width:100%;margin-left:0}.podium{gap:6px;margin-bottom:34px}.podium-card{min-height:164px;padding:18px 8px}.podium-card .player-avatar--lg{width:52px;height:52px;font-size:15px}.podium-card>strong{max-width:100%;overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.podium-score{font-size:23px}.podium-card>small{text-align:center;font-size:9px}.leaderboard-head,.game-table-head{display:none}.leaderboard-row{grid-template-columns:34px 1fr auto;gap:8px;min-height:76px;padding:10px 2px}.leaderboard-row>span:nth-child(n+4){display:none}.leaderboard-score{justify-items:end}.leaderboard-score small{display:block!important}.leaderboard-player .player-avatar,.row-arrow{display:none}.page-title{display:block}.page-title>strong{margin-top:18px;font-size:32px}.game-card{grid-template-columns:1fr 38px}.game-card-date{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--portal-line-soft);padding:13px 16px}.game-card-body{min-height:150px;display:block;padding:18px 16px}.game-meta{margin-top:18px}.game-card-link{grid-column:2;grid-row:2}.game-summary-hero{grid-template-columns:1fr;gap:26px;padding:34px 0 28px}.game-summary-hero h1{font-size:40px}.winner-spotlight{border-left:0;border-top:1px solid var(--portal-line);padding:18px 0 0}.awards-strip{grid-template-columns:1fr;margin-bottom:36px}.team-tabs{overflow-x:auto}.game-result-row{grid-template-columns:34px 1fr auto;gap:8px;min-height:78px;padding:10px 2px}.game-result-row>span:nth-child(n+4){display:none}.game-result-row .leaderboard-player .player-avatar{display:none}.row-team{display:none!important}.profile-hero{grid-template-columns:auto 1fr;gap:14px;padding:32px 0 24px}.profile-hero>.player-avatar--lg{width:54px;height:54px;font-size:16px}.profile-rating{grid-column:1/-1;justify-items:start;border-top:1px solid var(--portal-line);padding-top:16px}.profile-rating strong{font-size:44px}.rank-cards{gap:5px}.rank-cards article{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px}.rank-cards strong{font-size:22px}.metric-grid{grid-template-columns:repeat(2,1fr)}.profile-columns,.achievement-grid{grid-template-columns:1fr}.history-card summary{grid-template-columns:1fr auto;gap:10px;padding:14px 2px}.history-card summary>span:nth-last-child(-n+2){display:none}.history-details{grid-template-columns:1fr 1fr;padding:0 2px 16px}.history-details a{grid-column:1/-1;padding-top:8px}.public-footer{display:grid;gap:5px}}
