@import "https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#111;--color-bg-elevated:#171717;--color-surface:#222;--color-surface-hover:#2c2c2c;--color-surface-strong:#333;--color-border:#3f3f3f;--color-border-strong:#5a5a5a;--color-text:#f4f4f4;--color-text-muted:#b4b4b4;--color-text-soft:#8a8a8a;--color-accent:#fc5356;--color-accent-strong:#840000;--color-blue:#3a76f5;--color-gold:goldenrod;--color-silver:#c9c9c9;--color-bronze:#cd7f32;--color-green:#0ecc08;--color-red:#fc2a2e;--color-focus:#8ab4ff;--font-sans:Ubuntu, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--text-xs:.8rem;--text-sm:.9rem;--text-base:1rem;--text-md:1.1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.7rem, 1.45rem + 1vw, 2.2rem);--text-3xl:clamp(2.1rem, 1.7rem + 2vw, 3rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-xs:.25rem;--radius-sm:.4rem;--radius-md:.65rem;--radius-lg:.9rem;--radius-full:100rem;--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 10px 28px rgba(0,0,0,.28);--shadow-lg:0 20px 60px rgba(0,0,0,.42);--header-height:4rem;--sidebar-width:18rem;--content-width:30rem;--transition-fast:.14s ease;--transition-base:.22s ease;--z-header:100;--z-sidebar:110;--z-popover:120}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:radial-gradient(circle at 50% -10rem, #1d1d1d 0, transparent 42rem), var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-2xl);line-height:1.2}h2{font-size:var(--text-xl);line-height:1.25}h3{font-size:var(--text-lg)}a{color:inherit}img{max-width:100%;display:block}button,input{font:inherit}button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid transparent;padding:.65rem 1rem;font-weight:700;display:inline-flex}button:hover:where(:not(:disabled)){background-color:var(--color-surface-hover)}button:active:where(:not(:disabled)){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);width:100%;color:var(--color-text);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.7rem .85rem}input::placeholder{color:var(--color-text-soft)}input:hover{border-color:var(--color-border-strong)}input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 22%, transparent);outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.route-container{width:100%;max-width:var(--content-width);gap:var(--space-5);flex-direction:column;margin-inline:auto;display:flex}.main-content{min-height:100dvh;padding:calc(var(--header-height) + var(--space-5)) var(--space-4) var(--space-6);transition:margin-left var(--transition-base)}.top-bar{z-index:var(--z-header);align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-bg);background-color:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(12px);font-size:var(--text-lg);font-weight:700;display:flex;position:fixed;inset:0 0 auto}.top-bar>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hamburger{background-color:transparent;border-color:transparent;flex:none;width:2.75rem;height:2.75rem;padding:0}.hamburger:hover:not(:disabled){background-color:var(--color-surface)}.hamburger.open{background-color:var(--color-accent-strong)}.hamburger img{width:1.6rem;height:1.6rem}.sidebar{top:var(--header-height);z-index:var(--z-sidebar);gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-3) max(var(--space-5), env(safe-area-inset-bottom));border-right:1px solid var(--color-border);background-color:var(--color-bg);animation:sidebar-in var(--transition-base) both;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}@keyframes sidebar-in{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:translate(0)}}.links-container{flex-direction:column;display:flex}.normal-routes{gap:var(--space-1);flex:1}.account-route{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.link-entry{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-md);transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);font-weight:600;text-decoration:none;display:flex}.link-entry:hover{background-color:var(--color-surface);color:var(--color-text)}.link-entry.active-route{background-color:var(--color-accent-strong);color:#fff}.link-entry .icon{width:1.35rem;height:1.35rem}.leaderboard-container{--content-width:34rem}.cards{gap:var(--space-3);flex-direction:column;display:flex}.card{gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) + var(--space-1));border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-surface), var(--color-bg-elevated));box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;transition:border-color var(--transition-fast), box-shadow var(--transition-base), transform var(--transition-base);border:1px solid transparent;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"username elo""stats rank";display:grid;position:relative;overflow:hidden}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.player-username{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;grid-area:username;font-weight:600;overflow:hidden}.player-elo{color:var(--color-green);font-size:var(--text-lg);text-align:right;text-shadow:0 0 .5em color-mix(in srgb, currentColor 70%, transparent);grid-area:elo;font-weight:700}.player-stats{gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;grid-area:stats;font-weight:700;display:flex}.stat-container{align-items:center;gap:var(--space-1);display:inline-flex}.stat-container .icon{width:1.15rem;height:1.15rem}.games-won{color:var(--color-gold)}.games-lost{color:var(--color-red)}.games-played{color:var(--color-blue)}.ratio{color:var(--color-text-muted)}.player-rank{justify-content:flex-end;align-items:center;gap:var(--space-1);color:var(--color-text-muted);grid-area:rank;align-self:end;font-weight:700;display:inline-flex}.card.first,.card.second,.card.third{border-color:var(--color-border)}.card.first:before,.card.second:before,.card.third:before{content:"";width:var(--space-1);position:absolute;inset:0 auto 0 0}.card.first{border-color:color-mix(in srgb, var(--color-gold) 55%, var(--color-border))}.card.first:before{background-color:var(--color-gold)}.card.second{border-color:color-mix(in srgb, var(--color-silver) 45%, var(--color-border))}.card.second:before{background-color:var(--color-silver)}.card.third{border-color:color-mix(in srgb, var(--color-bronze) 55%, var(--color-border))}.card.third:before{background-color:var(--color-bronze)}.search-banner{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.banner{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.search-input{min-width:0}.banner-icon{width:1.3rem;height:1.3rem}.sort-button,.reload-button{width:2.9rem;height:2.9rem;padding:0}.sort-button.active{border-color:color-mix(in srgb, var(--color-blue) 70%, white 10%);background-color:var(--color-blue)}.reload-button{background-color:var(--color-accent-strong)}.reload-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent-strong) 78%, white 22%)}.sort-menu{top:calc(100% + var(--space-2));z-index:var(--z-popover);min-width:12rem;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;right:0}.sort-menu-item{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);color:var(--color-text-muted);text-align:left;background-color:transparent;justify-content:flex-start;font-weight:600}.sort-menu-item:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-text)}.history-container{--content-width:32rem}.game-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-base);overflow:hidden}.game-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.game-card-banner{gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"change score""time time";align-items:center;display:grid}.game-card-elo-change{align-items:center;gap:var(--space-1);font-size:var(--text-lg);grid-area:change;font-weight:700;display:inline-flex}.game-card-score{font-size:var(--text-lg);grid-area:score;font-weight:700}.game-card-time{color:var(--color-text-soft);font-size:var(--text-xs);grid-area:time}.game-card-players-list{gap:var(--space-1);padding:var(--space-3) var(--space-4);font-size:var(--text-md);flex-direction:column;display:flex}.players-entry{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.players-elo-change{text-align:right;justify-content:flex-end;font-weight:700}.players-list-separator{width:100%;height:1px;margin:var(--space-2) 0;background-color:var(--color-border);border:0}.elo{align-items:center;gap:var(--space-1);display:inline-flex}.gain{color:var(--color-green)}.loss{color:var(--color-red)}.account-container{--content-width:27rem}.account-header{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.account-icon{width:clamp(5rem,22vw,8rem);height:auto}.username-title{font-size:var(--text-2xl);font-weight:700}.member-since-title{color:var(--color-text-soft);font-size:var(--text-sm)}.profile-container{gap:var(--space-3) var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.stats-container{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));display:grid}.stats-container .primary-stat{grid-column:1/-1}.primary-stat{align-items:center;gap:var(--space-2);font-size:var(--text-2xl);flex-wrap:wrap;flex-basis:100%;font-weight:700;display:flex}.primary-stat .stat-title{color:var(--color-text-soft);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.secondary-stat{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-md);flex:8rem;font-weight:700;display:flex}.stat-title{margin-right:var(--space-1);color:var(--color-text-soft);font-weight:500}.stat-elo{color:var(--color-green)}.stat-rank,.stat-win-ratio{color:var(--color-text)}.stat-games-played{color:var(--color-blue)}.stat-games-won{color:var(--color-gold)}.stat-games-lost{color:var(--color-accent)}.management-container{gap:var(--space-3);flex-direction:column}.management-container>button{width:100%}.email-row{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.email-label{color:var(--color-text-soft);font-size:var(--text-sm)}.email{overflow-wrap:anywhere;font-weight:700}.disconnect-button{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);color:var(--color-accent);background-color:transparent}.disconnect-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 12%, transparent)}.important-container{gap:var(--space-2);background-color:var(--color-surface);flex-direction:column}.important-container>span{color:var(--color-text-muted);font-size:var(--text-sm)}.important-input{width:100%}.important-button{width:100%;margin-top:var(--space-1);border-color:color-mix(in srgb, var(--color-accent-strong) 65%, var(--color-border));background-color:var(--color-accent-strong);color:#fff}.important-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent-strong) 80%, white 20%)}a.important-button{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--color-accent-strong) 65%, var(--color-border));border-radius:var(--radius-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}a.important-button:active{transform:translateY(1px)}.form-error{padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;border:1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);font-size:var(--text-sm);text-align:left}.login-outer-container{--content-width:32rem;min-height:100dvh;padding:var(--space-6) var(--space-4);justify-content:center}.login-title{font-size:var(--text-3xl);letter-spacing:.02em;text-align:center}.login-inner-container{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.instruction-container{align-items:center;gap:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.instruction-container a{color:var(--color-text);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;text-decoration-thickness:2px}.instruction-container a:hover{color:var(--color-accent)}.instruction-bullet{border-radius:var(--radius-full);background-color:var(--color-surface);width:1.7rem;height:1.7rem;color:var(--color-text);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.login-form{gap:var(--space-3);flex-direction:column;display:flex}.login-button{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);min-width:10rem;color:var(--color-accent);text-shadow:0 0 .5em color-mix(in srgb, currentColor 70%, transparent);align-self:flex-end}.login-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}.forgot-password-button{color:var(--color-text-muted);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;background-color:transparent;border:0;align-self:flex-start;padding:0;font-weight:500}.forgot-password-button:hover:not(:disabled){color:var(--color-text);background-color:transparent}.forgotten-password{padding:var(--space-3);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.petanque-email{color:var(--color-accent);font-weight:700}.new-game-container{--content-width:48rem}.team-entry-container{gap:var(--space-4);grid-template-columns:1fr;display:grid}.team-entry{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.team-entry-title{font-size:var(--text-lg);font-weight:700}.score-input{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.score-input-button{flex:none;width:2.75rem;height:2.75rem;padding:0}.score-input-field{width:4.5rem;padding:var(--space-2);font-size:var(--text-xl);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.player-selector-container{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.player-selector-banner{gap:var(--space-2);display:flex}.player-selector-search-bar{flex:1;min-width:0}.player-selector-clear{flex:none;width:2.75rem;height:2.75rem;padding:0}.player-selector-search-box{max-height:16rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow-y:auto}.selected-players-box{gap:var(--space-1);flex-direction:column;display:flex}.selected-player{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);display:flex}.selected-player .user-search-card{flex:1;min-width:0;padding:0}.selected-player-remove-button{width:2.25rem;height:2.25rem;color:var(--color-text-muted);background-color:transparent;border-color:transparent;flex:none;padding:0}.selected-player-remove-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.user-search-card{gap:var(--space-2);width:100%;padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.player-selector-search-box .user-search-card{padding:var(--space-2) var(--space-1);border-radius:var(--radius-xs);cursor:pointer}.player-selector-search-box .user-search-card:hover{background-color:var(--color-surface)}.player-selector-search-box .user-search-card+.user-search-card{border-top:1px solid var(--color-border)}.user-search-card-username{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-search-card-elo{color:var(--color-green);text-align:right;font-weight:700}.validate-button{background-color:var(--color-green);color:#081008;min-width:14rem;font-size:var(--text-lg);box-shadow:0 0 1.5rem color-mix(in srgb, var(--color-green) 20%, transparent);border-color:transparent;align-self:center}.validate-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-green) 84%, white 16%)}.page-switcher-container{justify-content:center;align-items:center;gap:var(--space-2);padding-top:var(--space-2);display:flex}.page-switcher-button{min-width:2.75rem;height:2.75rem;padding:0 var(--space-2);font-size:var(--text-md)}.page-switcher-button:disabled{opacity:.35}.page-switcher-text{min-width:2rem;color:var(--color-text);font-size:var(--text-lg);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.not-found{--content-width:40rem;min-height:100dvh;padding:clamp(4rem, 15vh, 9rem) var(--space-4) var(--space-6);text-align:center;justify-content:flex-start}.not-found-code{color:var(--color-accent);letter-spacing:.08em;text-shadow:0 0 1rem color-mix(in srgb, currentColor 35%, transparent);font-size:clamp(4rem,18vw,9rem);font-weight:700;line-height:1}.not-found-message{color:var(--color-text-muted);font-size:var(--text-md)}.not-found-filler{overflow-wrap:anywhere;color:var(--color-text-soft);font-variant-numeric:tabular-nums}.moderation-container{--content-width:64rem;max-width:64rem}.moderation-container .important-button{width:auto}.moderation-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.moderation-title{align-items:center;gap:var(--space-2);display:flex}.moderation-title-icon{color:var(--color-accent)}.moderation-subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.moderation-header-actions{align-items:center;gap:var(--space-2);display:flex}.moderation-icon-button{border-color:var(--color-border);background-color:var(--color-surface);width:2.6rem;height:2.6rem;padding:0}.moderation-toolbar{gap:var(--space-3);flex-direction:column;display:flex}.moderation-search{max-width:32rem}.moderation-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-button{border-color:var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);background-color:transparent;padding:.4rem .8rem}.filter-button.active{border-color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-text)}.moderation-count{color:var(--color-text-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.moderation-user-list,.moderation-game-list{gap:var(--space-3);display:grid}.moderation-user-row{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:inherit;transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.moderation-user-row:hover{border-color:var(--color-border-strong);background-color:var(--color-surface-hover);transform:translateY(-1px)}.moderation-user-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.moderation-user-name-line,.moderation-badges,.moderation-button-row,.moderation-game-actions,.sanction-state{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.moderation-username{overflow-wrap:anywhere;font-size:var(--text-md);font-weight:700}.moderation-email,.moderation-meta{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--text-sm)}.moderation-user-stats,.moderation-detail-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,auto));display:grid}.moderation-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.moderation-stat{font-size:var(--text-xs);color:var(--color-text-soft);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;gap:.1rem;display:flex}.moderation-stat strong{color:var(--color-text);font-size:var(--text-md)}.badge{border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-bg-elevated);width:fit-content;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:.15rem .5rem;font-weight:700;display:inline-flex}.badge.role-admin{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);color:var(--color-accent)}.badge.role-user{color:var(--color-text-muted)}.badge.status-active{border-color:color-mix(in srgb, var(--color-green) 45%, transparent);color:var(--color-green)}.badge.status-suspended{border-color:color-mix(in srgb, var(--color-gold) 50%, transparent);color:var(--color-gold)}.badge.status-banned{border-color:color-mix(in srgb, var(--color-red) 55%, transparent);color:var(--color-red)}.badge.env-admin{border-color:color-mix(in srgb, var(--color-blue) 55%, transparent);color:var(--color-blue)}.moderation-detail-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.moderation-identity{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.back-link{width:fit-content;color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none}.back-link:hover{color:var(--color-accent)}.moderation-grid{gap:var(--space-4);display:grid}.moderation-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);flex-direction:column;display:flex}.moderation-panel h2{font-size:var(--text-lg)}.moderation-panel-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.moderation-label,.moderation-field>span{color:var(--color-text-muted);font-size:var(--text-sm)}.moderation-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.moderation-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.moderation-textarea,.moderation-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-strong);width:100%;color:var(--color-text);font:inherit;padding:.7rem .85rem}.moderation-textarea{resize:vertical;min-height:5rem}.moderation-select:focus,.moderation-textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 22%, transparent);outline:none}.moderation-hint,.moderation-derived{color:var(--color-text-soft);font-size:var(--text-sm)}.moderation-success{padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--color-green) 35%, transparent);border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--color-green) 10%, transparent);color:var(--color-green);font-size:var(--text-sm)}.moderation-button-row{align-items:stretch}.warning-button{border-color:color-mix(in srgb, var(--color-gold) 65%, var(--color-border));background-color:color-mix(in srgb, var(--color-gold) 72%, black 28%);color:#fff}.warning-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-gold) 82%, black 18%)}.danger-button{border-color:color-mix(in srgb, var(--color-red) 65%, var(--color-border));background-color:color-mix(in srgb, var(--color-red) 62%, black 38%);color:#fff}.danger-button:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-red) 75%, black 25%)}.moderation-timeline{padding-left:var(--space-2);border-left:1px solid var(--color-border);flex-direction:column;gap:0;display:flex}.moderation-timeline.compact{margin-top:var(--space-1)}.timeline-entry{gap:var(--space-3);padding:var(--space-2) 0 var(--space-3);grid-template-columns:.75rem minmax(0,1fr);display:grid;position:relative}.timeline-dot{background-color:var(--color-text-soft);width:.6rem;height:.6rem;box-shadow:0 0 0 3px var(--color-surface);border-radius:50%;margin-top:.45rem;transform:translate(-1.12rem)}.timeline-dot.login,.timeline-dot.logout{background-color:var(--color-blue)}.timeline-dot.game{background-color:var(--color-accent)}.timeline-dot.sanction,.timeline-dot.moderation{background-color:var(--color-gold)}.timeline-content{flex-direction:column;gap:.1rem;min-width:0;display:flex}.timeline-label{font-weight:700}.timeline-detail,.timeline-date{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--text-sm)}.timeline-date{color:var(--color-text-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.moderation-game-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);flex-direction:column;display:flex}.moderation-game-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.moderation-game-score{margin-right:var(--space-2);color:var(--color-accent);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700;display:inline-block}.moderation-game-id{margin-left:var(--space-2);color:var(--color-text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);display:inline-block}.moderation-game-teams{gap:var(--space-3);display:grid}.moderation-team{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.moderation-team-title{color:var(--color-text-soft);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.moderation-team.won .moderation-team-title{color:var(--color-green)}.moderation-team.lost .moderation-team-title{color:var(--color-accent)}.moderation-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.moderation-chip{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-bg-elevated);max-width:100%;font-size:var(--text-sm);padding:.25rem .6rem;display:inline-flex}.moderation-chip.won{border-color:color-mix(in srgb, var(--color-green) 35%, var(--color-border))}.moderation-chip.lost{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border))}.chip-elo{color:var(--color-text-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.chip-remove{background-color:transparent;border:0;border-radius:50%;width:1.3rem;height:1.3rem;padding:0}.chip-remove:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 20%, transparent)}.chip-remove .icon{width:.9em;height:.9em}.moderation-warning{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--color-gold) 35%, transparent);border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--color-gold) 9%, transparent);color:var(--color-gold);font-size:var(--text-sm)}.moderation-game-editor{gap:var(--space-4);flex-direction:column;display:flex}.moderation-score-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.moderation-score-block{gap:var(--space-2);flex-direction:column;display:flex}.moderation-score-controls{gap:var(--space-2);display:flex}.moderation-score-controls .score-input-field{flex:1;min-width:0}.moderation-score-controls .score-input-button{flex:none}.moderation-team-editor.won h2{color:var(--color-green)}.moderation-team-editor.lost h2{color:var(--color-accent)}.moderation-search-results{gap:var(--space-1);max-height:14rem;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-elevated);flex-direction:column;display:flex;overflow-y:auto}.moderation-search-item{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;background-color:transparent;border:1px solid transparent;padding:.45rem .6rem;display:flex}.moderation-search-item:hover:not(:disabled){border-color:var(--color-border);background-color:var(--color-surface-hover)}.link-entry.admin-link{color:var(--color-accent)}@media (width>=60rem){.moderation-grid,.moderation-game-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=30rem){.moderation-user-row,.moderation-score-row,.moderation-form-grid{grid-template-columns:1fr}.moderation-user-stats{text-align:left;justify-content:start}.moderation-stat{text-align:left}.moderation-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.icon{flex:none;width:1.45em;height:1.45em}.cool-glow{filter:drop-shadow(0 0 .35rem color-mix(in srgb, currentColor 75%, transparent))}.abnormal-state-message{padding:var(--space-6) var(--space-4);color:var(--color-text-muted);font-size:var(--text-md);text-align:center;justify-content:center;display:flex}.error-message{color:var(--color-accent);font-size:var(--text-sm);text-align:center}@media (width>=48rem){.sidebar{width:var(--sidebar-width);padding:var(--space-2) var(--space-3) var(--space-5)}.links-container{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);overflow:hidden}.links-container+.links-container{margin-top:var(--space-3)}.account-route{border-top:0;padding-top:0}.normal-routes{gap:0}.link-entry{border-radius:0}.link-entry+.link-entry{border-top:1px solid var(--color-border)}.link-entry.active-route{background-color:var(--color-surface);color:var(--color-accent)}.main-content.open{margin-left:var(--sidebar-width)}.team-entry-container{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=30rem){.login-inner-container{padding:var(--space-4)}.validate-button{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}