:root{--background:#f7f3ec;--foreground:#392a20;--muted:#776656;--surface:#fffdf9;--surface-soft:#f4eadc;--border:#e2d4c3;--accent:#85462a;--accent-hover:#6f3921;--accent-contrast:#fff7eb;--accent-soft:#f2e3d4;--focus-ring:#a6643533;--shadow:#3f220e0f;--shadow-strong:#3f220e1f;--win:#49613c;--win-soft:#e9eedf;--loss:#a64230;--loss-hover:#8c3425;--loss-soft:#f8e7de;--muted-soft:#eee6dc;--nav-background:#2b211c;--nav-surface:#35251c;--nav-surface-end:#241f1c;--nav-text:#e8d9c8;--nav-muted:#cdbbaa;--nav-highlight:#f5ddb4;--nav-hover:#ffdfb11a;--nav-border:#f4dbb833;--banner-border:#d9c6ad;--banner-fallback:#d89443;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--accent)}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--foreground)}.app-shell{min-height:100vh;padding:48px 24px}.hero{max-width:760px;margin:0 auto;padding:40px 0}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.875rem;font-weight:700}h1{letter-spacing:0;max-width:680px;margin:0;font-size:clamp(2.5rem,8vw,5.5rem);line-height:.98}.summary{max-width:560px;color:var(--muted);margin:24px 0 0;font-size:1.125rem;line-height:1.6}@media (max-width:640px){.app-shell{padding:32px 20px}.hero{padding:24px 0}}.nav{border:1px solid var(--banner-border);background:var(--nav-background);max-width:980px;box-shadow:0 16px 36px -24px #3f220e66, 0 2px 8px var(--shadow);border-radius:20px;margin:0 auto;overflow:hidden}.nav-brand{background:var(--banner-fallback);height:260px;display:block}.nav-brand img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.nav-toolbar{border-top:1px solid var(--nav-border);background:linear-gradient(110deg, var(--nav-surface), var(--nav-surface-end));align-items:center;gap:24px;padding:14px 24px;display:flex}.nav-wordmark{color:var(--nav-highlight);letter-spacing:.16em;flex-shrink:0;font-size:.9rem;font-weight:800}.nav-links{flex:1;align-items:center;gap:8px;display:flex}.nav-links a{min-height:44px;color:var(--nav-text);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-links a:hover{background:var(--nav-hover);color:var(--accent-contrast)}.nav-account{white-space:nowrap;align-items:center;gap:14px;margin-left:auto;font-size:.875rem;display:flex}.nav-role{color:var(--nav-muted);font-size:.8125rem}.nav-logout{border:1px solid var(--nav-border);cursor:pointer;min-height:44px;color:var(--nav-text);background:#ffffff0a;border-radius:8px;padding:8px 12px}.nav-logout:hover{background:var(--nav-hover);color:var(--accent-contrast)}.nav-brand:focus-visible{outline:3px solid var(--nav-highlight);outline-offset:-6px}.nav-links a:focus-visible,.nav-logout:focus-visible{outline:2px solid var(--nav-highlight);outline-offset:3px}.app-main{max-width:980px;margin:0 auto;padding:32px 0}.cta-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button,button{font:inherit}.button{background:var(--accent);color:var(--accent-contrast);border:1px solid #0000;border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}.button-secondary{background:var(--surface);color:var(--foreground);border-color:var(--border)}.button:hover:not(:disabled),.login-form button:hover:not(:disabled){background:var(--accent-hover)}.button-secondary:hover:not(:disabled){background:var(--surface-soft)}.login-card{background:var(--surface);border:1px solid var(--border);max-width:420px;box-shadow:0 8px 24px var(--shadow);border-radius:16px;margin:8vh auto 0;padding:32px}.login-title{margin:8px 0 4px;font-size:1.75rem}.login-form{flex-direction:column;gap:8px;margin-top:20px;display:flex}.login-form label{font-size:.9rem;font-weight:600}.login-form input,.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface);color:var(--foreground);font:inherit;border-radius:10px;padding:10px 12px}.login-form input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.login-form input:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.link-form select:focus-visible{border-color:var(--accent)}.field input::file-selector-button{border:1px solid var(--border);background:var(--surface-soft);color:var(--foreground);font:inherit;cursor:pointer;border-radius:6px;margin-right:12px;padding:8px 12px}.field input::file-selector-button:hover{background:var(--accent-soft)}.login-form button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:1px solid #0000;border-radius:10px;margin-top:8px;padding:10px 16px;font-weight:700}.login-form button:disabled{opacity:.6;cursor:default}.form-error{color:var(--loss);margin:4px 0 0;font-size:.9rem}.form-note{color:var(--muted);font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow);border-radius:14px;padding:20px}.stack{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.table th{background:var(--surface-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.table tbody tr:hover{background:var(--surface-soft)}.game-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.game-list-row{--game-list-muted:var(--muted);--game-list-rule:var(--border);background:var(--surface);border-left:4px solid #b1a79c;border-radius:8px;grid-template-columns:124px minmax(0,1fr) 78px;gap:14px 18px;padding:18px;font-size:.82rem;display:grid}.game-list-blue,.game-list-red{--game-list-muted:#ddd8e0;--game-list-rule:#ffffff29;color:#fffdf9}.game-list-blue{background:#28344e;border-left-color:#78a7ff}.game-list-red{background:#59343b;border-left-color:#e48f9c}.game-list-overview{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.game-list-overview time{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700}.game-list-date-source,.game-list-position{color:var(--game-list-muted);font-size:.7rem}.game-list-duration{color:var(--game-list-muted);margin-top:5px;font-size:.78rem}.game-list-result{font-size:.78rem}.game-list-teams{gap:12px;min-width:0;display:grid}.game-list-team{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;display:grid}.game-list-team h2{margin:0;font-size:.7rem}.game-list-blue .game-list-team-blue h2,.game-list-red .game-list-team-blue h2{color:#aecbff}.game-list-blue .game-list-team-red h2,.game-list-red .game-list-team-red h2{color:#ffc1c9}.game-list-team ul{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.game-list-player{flex-direction:column;gap:4px;min-width:0;display:flex}.game-list-identity{align-items:center;gap:6px;min-width:0;display:flex}.game-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;overflow:hidden}a.game-list-name:hover{text-underline-offset:3px;text-decoration:underline}.game-list-no-players{color:var(--game-list-muted);grid-column:1/-1;font-size:.75rem}.game-list-actions{flex-direction:column;justify-content:center;align-items:flex-end;gap:12px;font-size:.78rem;display:flex}.game-list-actions .button{white-space:nowrap;padding:7px 9px;font-size:.75rem}.game-list-comment{border-top:1px solid var(--game-list-rule);color:var(--game-list-muted);grid-column:2/-1;align-items:baseline;gap:8px;margin:0;padding-top:10px;font-size:.75rem;display:flex}.game-list-comment>:first-child{flex-shrink:0;font-size:.7rem}.game-list-comment>:last-child{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.game-list-row :focus-visible{outline-color:currentColor}@media (max-width:900px){.game-list-row{grid-template-columns:minmax(0,1fr) auto}.game-list-overview{flex-flow:wrap;align-items:center;gap:8px 12px}.game-list-date-source{display:none}.game-list-duration{margin-top:0}.game-list-teams,.game-list-comment{grid-column:1/-1}.game-list-actions{grid-area:1/2}}@media (max-width:560px){.game-list-row{padding:14px 12px}.game-list-team{grid-template-columns:1fr;gap:8px}.game-list-team+.game-list-team{border-top:1px solid var(--game-list-rule);padding-top:12px}.game-list-team ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-list-name{white-space:normal;overflow-wrap:anywhere}}.member-game-win{background:#28344e}.member-game-loss{background:#59343b}.member-game-win,.member-game-loss{--muted:#ddd8d1;--border:#ffffff29;color:var(--surface)}.member-game-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.member-game-card{border:1px solid var(--border);border-left:4px solid #b1a79c;border-radius:6px;grid-template-columns:108px 96px 236px minmax(0,1fr);align-items:center;gap:20px;padding:16px 18px;font-size:.85rem;display:grid}.member-game-card.member-game-win{border-left-color:#648eec}.member-game-card.member-game-loss{border-left-color:#d86e80}.member-game-unknown{background:var(--surface)}.member-game-overview,.member-game-champion,.member-game-performance{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.member-game-result{font-size:1rem}.member-game-overview time{white-space:nowrap;font-size:.78rem}.member-game-detail{margin-top:6px;font-size:.78rem}.member-game-card :focus-visible{outline-color:currentColor}.member-game-champion{text-align:center;align-items:center}.member-game-portrait{margin-bottom:4px;position:relative}.member-game-portrait .game-asset-icon{border-radius:50%}.member-game-level{color:#fffdf9;text-align:center;background:#171c28;border-radius:10px;min-width:23px;padding:2px 4px;font-size:.7rem;font-weight:700;position:absolute;bottom:-4px;right:-3px}.member-game-champion-name{overflow-wrap:anywhere}.member-game-kda{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.member-game-note{color:var(--muted);font-size:.75rem}.member-game-performance .game-item-slots{gap:3px;margin-top:8px}.member-game-warning{font-size:.75rem}.member-game-rosters{border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;padding-left:16px;display:grid}.member-game-team{min-width:0}.member-game-team h3{color:var(--muted);margin:0 0 6px;font-size:.7rem;font-weight:400}.member-game-team ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.member-game-team li{align-items:center;gap:5px;min-width:0;display:flex}.member-game-player{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.member-game-self{font-weight:700}@media (max-width:900px){.member-game-card{grid-template-columns:108px 96px minmax(0,1fr)}.member-game-rosters{border-left:0;border-top:1px solid var(--border);grid-column:1/-1;padding:12px 0 0}}@media (max-width:560px){.member-game-card{grid-template-columns:minmax(0,1fr) 76px;gap:16px;padding:14px}.member-game-performance{grid-column:1/-1}}.table-scroll{overflow-x:auto}.game-detail-table th,.game-detail-table td{white-space:nowrap}.game-champion,.game-item-slots{vertical-align:middle;align-items:center;display:inline-flex}.game-champion{gap:8px}.game-item-slots{gap:4px}.game-item-slots>:last-child{margin-left:6px}.game-asset-icon{background:var(--surface-soft);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);border-radius:5px;flex:0 0 32px;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex;overflow:hidden}.game-asset-icon img{object-fit:cover;width:100%;height:100%;display:block}.game-asset-empty{opacity:.5}.badge{border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-block}.badge-win{background:var(--win-soft);color:var(--win)}.badge-loss{background:var(--loss-soft);color:var(--loss)}.badge-muted{background:var(--muted-soft);color:var(--muted)}.team-block{margin-top:20px}.team-block h3{margin:0 0 8px}.muted{color:var(--muted)}.empty-state{color:var(--muted);text-align:center;padding:40px 0}.account-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.link-button{color:var(--loss);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:.82rem}.link-button:hover{color:var(--loss-hover);text-decoration:underline}.link-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-form select{border:1px solid var(--border);background:var(--surface);color:var(--foreground);font:inherit;border-radius:8px;padding:8px 10px}.app-main h1{overflow-wrap:anywhere;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.member-grid,.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;display:grid}.stats-grid{margin:0}.stats-grid dt,.table-note{color:var(--muted);font-size:.85rem}.stats-grid dd{margin:12px 0 0;font-size:1.4rem;font-weight:700}.table-note{margin-top:4px;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button:disabled{cursor:wait;opacity:.6}.button-danger{background:var(--loss)}.button-danger:hover:not(:disabled){background:var(--loss-hover)}@media (max-width:760px){.nav-brand{aspect-ratio:1186/662;height:auto;max-height:260px}.nav-toolbar{grid-template-columns:1fr auto;gap:8px 12px;padding:12px 16px;display:grid}.nav-account{grid-area:1/2;gap:10px}.nav-links{border-top:1px solid var(--nav-border);grid-area:2/1/auto/-1;justify-content:space-between;gap:4px;padding-top:6px}.nav-links a{padding:10px}}.card h2{margin:0;font-size:1.2rem}.search-landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:680px;min-height:calc(100svh - 450px);margin:0 auto;padding:24px 0 48px;display:flex}.app-main .search-landing h1{color:var(--foreground);letter-spacing:-.06em;font-size:clamp(3.25rem,8vw,4.25rem);font-weight:800;line-height:1.1}.search-landing-description{color:var(--muted);margin:16px 0 24px;font-size:1rem;line-height:1.6}.nickname-search-control{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:0 4px 16px var(--shadow);border-radius:999px;align-items:center;gap:14px;padding:8px 10px 8px 22px;transition:border-color .15s,box-shadow .15s;display:flex}.nickname-search-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.nickname-search-control svg{color:var(--muted);flex-shrink:0}.nickname-search-control input{width:100%;min-width:0;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;padding:10px 0}.nickname-search-control input::placeholder{color:var(--muted)}.nickname-search-control button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:11px 20px;font-weight:600}.nickname-search-control button:disabled{background:var(--surface-soft);color:var(--muted);cursor:default}.nickname-search-control button:hover:not(:disabled){background:var(--accent-hover)}.nickname-search-form{width:100%;position:relative}.nickname-suggestions{z-index:10;border:1px solid var(--border);background:var(--surface);max-height:320px;box-shadow:0 8px 24px var(--shadow-strong);text-align:left;border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:62px;left:0;right:0;overflow-y:auto}.nickname-suggestions [role=option]{cursor:pointer;overflow-wrap:anywhere;border-radius:10px;padding:12px 16px}.nickname-suggestions [aria-selected=true]{background:var(--accent-soft)}.nickname-results{gap:12px;margin:0;padding:0;list-style:none;display:grid}.nickname-results a{overflow-wrap:anywhere;text-decoration:none;display:block}.search-landing-note{color:var(--muted);margin:18px 0 0;font-size:.875rem}@media (max-width:640px){.search-landing{min-height:calc(100svh - 420px);padding:24px 0 40px}.nickname-search-control{gap:10px;padding-left:16px}.nickname-search-control input{font-size:.875rem}.nickname-search-control button{padding:11px 15px}}
