@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap";.app-shell{width:min(1540px,100% - 48px);margin:0 auto;padding:12px 0 40px}.app-shell.home-shell{min-height:100svh;padding-bottom:0}.top-nav{z-index:10;border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--surface) 94%, transparent);min-height:58px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:8px 10px;display:flex;position:sticky;top:12px}.brand-mark{cursor:pointer;background:0 0;border:0;align-items:center;min-height:54px;padding:0 4px;text-decoration:none;display:inline-flex}.brand-mark img{object-fit:contain;width:auto;height:50px;display:block}:root[data-theme=light] .brand-mark img{transform-origin:0;transform:scale(1.14)}.nav-links{align-items:center;gap:8px;display:flex}.nav-link{min-height:38px;color:var(--text-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.nav-link.active,.nav-link:hover{border-color:var(--border);background:var(--surface-soft);color:var(--heading)}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:46px 0 30px;display:flex}.app-header h1{max-width:640px;font-size:clamp(2.6rem,4.5vw,4.4rem);line-height:.96}.home-view{grid-template-columns:minmax(420px,.74fr) minmax(820px,1.26fr);align-items:center;gap:64px;min-height:calc(100svh - 94px);padding:20px 0 10px;display:grid}.home-copy{align-content:center;gap:14px;display:grid}.home-copy h1{max-width:640px;font-size:clamp(3rem,5.8vw,5.55rem)}.home-action{width:fit-content}.home-support{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px;margin-top:6px;display:grid}.home-support span{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--accent));min-height:62px;color:var(--text-soft);border-radius:8px;align-content:center;gap:4px;padding:10px 12px;font-size:.84rem;font-weight:600;display:grid}.home-support strong{color:var(--heading);font-size:1.25rem;line-height:1}.home-panel{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:10px;padding:12px;display:grid}.preview-toolbar,.preview-footer{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--surface-raised) 86%, var(--accent));min-height:44px;color:var(--text-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:.82rem;font-weight:700;display:flex}.preview-dot{background:var(--success);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 18%, transparent);border-radius:999px}.preview-title{color:var(--heading);margin-right:auto}.preview-status{border:1px solid color-mix(in srgb, var(--success) 46%, transparent);background:var(--success-soft);color:var(--success);border-radius:999px;padding:4px 9px}.preview-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preview-card{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--surface-soft) 88%, var(--accent));border-radius:7px;align-content:space-between;gap:12px;min-height:106px;padding:14px;display:grid}.preview-card.strong{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 18%, var(--surface-soft));color:var(--heading)}.preview-card span{color:inherit;opacity:.72;text-transform:uppercase;font-size:.78rem;font-weight:700}.preview-card strong{color:var(--heading);font-size:clamp(1.65rem,4vw,2.7rem);line-height:.98}.preview-table{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:var(--surface);border-radius:7px;display:grid;overflow:hidden}.preview-row{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);color:var(--text);grid-template-columns:minmax(90px,.32fr) minmax(92px,.24fr) minmax(620px,1.44fr);align-items:center;gap:16px;padding:10px 12px;font-weight:600;display:grid}.preview-row:last-child{border-bottom:0}.preview-row.preview-header{background:color-mix(in srgb, var(--surface-raised) 86%, var(--accent));color:var(--text-soft);text-transform:uppercase;font-size:.76rem;font-weight:700}.preview-row.preview-header span:nth-child(2),.preview-row>.role-pill{justify-self:center}.preview-player-name{color:var(--heading);font-weight:700}.preview-champion-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 92%, var(--accent));border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:7px 9px;display:grid}.preview-champion-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.preview-champion-card img{object-fit:cover;background:var(--border);border-radius:7px;width:40px;height:40px}.preview-champion-card strong{color:var(--heading);font-size:.94rem;line-height:1.15;display:block}.preview-status-pill{border:1px solid color-mix(in srgb, var(--success) 42%, transparent);background:var(--success-soft);min-height:30px;color:var(--success);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:4px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.preview-status-pill svg{width:16px;height:16px}.preview-status-pill.respin{border-color:var(--border);color:var(--text-soft);background:0 0}.preview-status-pill.open{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.preview-champion-card .preview-status-pill{min-height:30px}.preview-card-actions{gap:6px;display:flex}.preview-icon{color:#fff;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid}.preview-icon svg{width:17px;height:17px}.preview-icon.danger{background:var(--danger)}.preview-icon.success{background:var(--success)}.preview-footer{background:var(--surface);justify-content:space-between;min-height:36px}.preview-footer-meta{gap:14px;display:inline-flex}.version-badge-inline{color:var(--text-soft);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.version-badge-inline:hover{color:var(--heading)}.home-meta{flex-wrap:wrap;gap:8px;display:flex}.home-meta span{border:1px solid var(--border);background:var(--surface-soft);min-height:34px;color:var(--text-soft);border-radius:999px;align-items:center;padding:5px 10px;font-size:.88rem;font-weight:700;display:inline-flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:700}h1,h2,h3,h4,p{margin:0}h1{max-width:760px;color:var(--heading);letter-spacing:0;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.94}h2{color:var(--heading);letter-spacing:0;font-size:1.55rem;line-height:1.1}h3{color:var(--heading);letter-spacing:0;font-size:1.22rem;line-height:1.15}h4{color:var(--heading);letter-spacing:0;font-size:1rem;line-height:1.15}.header-copy{max-width:560px;color:var(--text-soft);margin-top:14px;font-size:1rem;line-height:1.5}.data-badge,.subtle-stat,.locked-pill{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.data-badge{cursor:pointer}.data-badge:hover{border-color:var(--accent);color:var(--heading)}.session-section,.empty-state{margin-top:28px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.setup-table input,.player-edit input,.current-player-add input,.locked-history-search input{border:1px solid var(--border-strong);background:var(--surface-soft);width:100%;min-height:42px;color:var(--text);border-radius:999px;padding:8px 14px}.setup-table input:focus-visible,.player-edit input:focus-visible,.current-player-add input:focus-visible,.locked-history-search input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.validation{color:var(--danger);gap:4px;margin-top:12px;font-size:.94rem;font-weight:600;display:grid}.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.section-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.mode-toggle{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-soft);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:0 14px 0 8px;font-weight:700;display:inline-flex}.mode-toggle span{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;width:22px;height:22px;display:inline-block}.mode-toggle.active{border-color:color-mix(in srgb, var(--accent) 46%, transparent);background:var(--success-soft);color:var(--accent)}.mode-toggle.active span{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 5px var(--success-soft)}.primary-action,.secondary-action,.respin-button,.icon-button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.respin-button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px)}.primary-action:focus-visible,.secondary-action:focus-visible,.respin-button:focus-visible,.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary-action{background:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 78%, var(--page-bg));color:var(--gold-text);padding:0 18px;text-decoration:none}.secondary-action,.respin-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:0 14px}.icon-button{border:1px solid color-mix(in srgb, var(--accent) 76%, var(--page-bg));background:var(--accent);width:42px;color:var(--page-bg);padding:0}.icon-button.quiet{border:1px solid var(--border);background:var(--surface-soft);color:var(--text-soft)}.icon-button.danger{background:var(--danger);color:#fff}.icon-button.success{background:var(--success);color:#fff}.primary-action svg,.secondary-action svg,.respin-button svg,.icon-button svg,.subtle-stat svg,.locked-pill svg,.empty-state svg{flex:none;width:18px;height:18px}.locked-history-trigger,.subtle-stat-button{cursor:pointer}.locked-history-trigger:hover:not(:disabled),.subtle-stat-button:hover:not(:disabled){border-color:var(--accent)}.locked-history-panel,.current-players-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, var(--accent));box-shadow:var(--shadow);border-radius:8px;gap:14px;margin-top:14px;padding:16px;display:grid}.current-player-list{border:1px solid var(--border);border-radius:8px;display:grid;overflow:hidden}.current-player-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.current-player-row:last-child{border-bottom:0}.current-player-row span:first-child{gap:2px;display:grid}.current-player-row strong{color:var(--heading)}.current-player-row span span{color:var(--text-soft);font-size:.86rem;font-weight:600}.current-player-add{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.locked-history-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.locked-player-summary{flex-wrap:wrap;gap:8px;display:flex}.locked-player-summary span{border:1px solid var(--border);background:var(--surface-soft);min-width:112px;min-height:32px;color:var(--text-soft);border-radius:999px;justify-content:space-between;align-items:center;gap:6px;padding:4px 10px;font-size:.88rem;font-weight:700;display:inline-flex}.locked-player-summary strong{color:var(--heading)}.role-selector{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, var(--accent));border-radius:8px;gap:12px;margin-top:16px;padding:16px;display:grid}.role-toggle-list{flex-wrap:wrap;gap:8px;display:flex}.role-toggle{border:1px solid var(--border);background:var(--surface-soft);min-height:36px;color:var(--text-soft);cursor:pointer;border-radius:999px;padding:6px 12px;font-weight:700}.role-toggle.selected{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent-strong)}.role-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.muted-copy{color:var(--text-soft)}.locked-history-search{align-items:center;display:flex;position:relative}.locked-history-search svg{width:18px;height:18px;color:var(--text-soft);pointer-events:none;position:absolute;left:12px}.locked-history-search input{padding-left:38px}.setup-table-wrap,.assignment-table-wrap{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow-x:auto}.setup-table,.assignment-table{border-collapse:collapse;width:100%;min-width:860px}.setup-table th,.setup-table td,.assignment-table th,.assignment-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);text-align:left;vertical-align:middle;padding:16px 14px}.setup-table thead th,.assignment-table thead th{background:color-mix(in srgb, var(--surface-raised) 88%, var(--accent));color:var(--text-soft);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:700}.setup-table tbody tr:last-child th,.setup-table tbody tr:last-child td,.assignment-table tbody tr:last-child th,.assignment-table tbody tr:last-child td{border-bottom:0}.setup-table tbody tr,.assignment-table tbody tr,.locked-history-table tbody tr{transition:background .16s}.setup-table tbody tr:hover,.assignment-table tbody tr:hover,.locked-history-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.setup-table tbody th{width:190px;color:var(--text-soft);font-weight:700}.setup-table tbody td:last-child{width:90px}.assignment-table tbody th{width:190px}.assignment-table tbody td:nth-child(2){width:130px}.assignment-table tbody td:last-child{width:150px}.table-player-name{color:var(--heading);margin-bottom:8px;font-size:1.05rem;font-weight:700;display:block}.edit-name-button{border:1px solid var(--border);background:var(--surface-soft);min-height:30px;color:var(--text-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0 8px 8px 0;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.edit-name-button svg{width:14px;height:14px}.player-edit{gap:8px;display:grid}.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-validation{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.role-pill{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);min-height:32px;color:var(--accent-strong);border-radius:999px;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.locked-pill{border-color:color-mix(in srgb, var(--success) 42%, transparent);background:var(--success-soft);min-height:30px;color:var(--success);padding:4px 10px}.locked-button{cursor:pointer;font:inherit}.locked-button:hover{border-color:var(--success)}.champion-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.champion-option{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 92%, var(--accent));border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:10px;display:grid}.champion-option img{object-fit:cover;background:var(--border);border-radius:8px;width:54px;height:54px}.slot-label{color:var(--text-soft);letter-spacing:0;text-transform:uppercase;margin-bottom:4px;font-size:.76rem;font-weight:700}.champion-actions{gap:8px;display:flex}.respin-button{width:100%;margin-top:auto}.locked-history-table-wrap{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);border-radius:8px;overflow-x:auto}.locked-history-table{border-collapse:collapse;width:100%;min-width:620px}.locked-history-table th,.locked-history-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);text-align:center;padding:10px 12px}.locked-history-table th:first-child,.locked-history-table td:first-child{text-align:left}.locked-history-table thead th{background:color-mix(in srgb, var(--surface-raised) 88%, var(--accent));color:var(--text-soft);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:700}.locked-history-table tbody tr:last-child th,.locked-history-table tbody tr:last-child td{border-bottom:0}.locked-history-table td svg{width:18px;height:18px;color:var(--success)}.champion-cell{color:var(--heading);align-items:center;gap:10px;font-weight:700;display:inline-flex}.champion-cell img{background:var(--border);border-radius:6px;width:34px;height:34px}.pagination-row{color:var(--text-soft);justify-content:space-between;align-items:center;gap:12px;font-weight:700;display:flex}.empty-state{border:1px dashed var(--border-strong);min-height:220px;color:var(--text-soft);text-align:center;border-radius:8px;place-items:center;gap:12px;display:grid}.empty-state svg{width:34px;height:34px;color:var(--accent)}.error-boundary{border:1px solid var(--danger);background:var(--surface);color:var(--danger);border-radius:8px;margin:32px;padding:16px;font-weight:700}@media (width<=1120px){.home-view{grid-template-columns:1fr;gap:34px;min-height:auto}.home-copy h1,.home-support{max-width:760px}}@media (width<=720px){.app-shell{width:min(100% - 20px,1180px);padding-top:18px}.top-nav,.app-header,.section-heading{flex-direction:column;align-items:stretch}.nav-links{flex-wrap:wrap}.home-view{grid-template-columns:1fr;min-height:auto;padding-top:36px}.home-support,.preview-grid,.preview-row,.preview-champion-options{grid-template-columns:1fr}.preview-card{min-height:92px}.data-badge{width:fit-content}.header-actions{justify-content:flex-start}.champion-option{grid-template-columns:48px minmax(0,1fr)}.champion-option img{width:48px;height:48px}.champion-actions{grid-column:1/-1}.champion-actions .icon-button{flex:1 1 0}.pagination-row{flex-direction:column;align-items:stretch}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#060704;--surface:#11110f;--surface-soft:#1a1b18;--surface-raised:#0d0d0c;--border:#2d302c;--border-strong:#495f52;--text:#edede8;--text-soft:#c1c0ae;--heading:#edede8;--accent:#8ba5a3;--accent-strong:#c1c0ae;--gold:#c1c0ae;--gold-text:#070706;--danger:#c86f6f;--success:#8ba5a3;--success-soft:#1f2b28;--shadow:#0000003d 0 18px 48px;color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#edede8;--surface:#fbfbf7;--surface-soft:#e2e2da;--surface-raised:#f5f5f0;--border:#d1d0c5;--border-strong:#8ba5a3;--text:#060704;--text-soft:#495f52;--heading:#060704;--accent:#495f52;--accent-strong:#495f52;--gold:#495f52;--gold-text:#edede8;--danger:#9d2b2e;--success:#495f52;--success-soft:#dbe4e1;--shadow:#07070614 0 18px 48px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:linear-gradient(color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px), var(--page-bg);background-size:48px 48px,48px 48px,auto;background-attachment:fixed;min-width:320px;min-height:100svh;margin:0;position:relative}button,input{font:inherit}button{border:0}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}#root{min-height:100svh;position:relative}body:before{z-index:-1;background-image:radial-gradient(color-mix(in srgb, var(--accent) 14%, transparent) 1px, transparent 1px);content:"";opacity:.22;pointer-events:none;background-size:96px 96px;position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){body:before{animation:28s linear infinite background-drift}}@keyframes background-drift{0%{transform:translate(0,0)}to{transform:translate(48px,48px)}}
