:root{--bg:#15102f;--bg-deep:#120b29;--surface:#1f1846;--surface-2:#2a2159;--line:rgba(241,236,228,.12);--line-dim:rgba(241,236,228,.07);--text:#f1ece4;--dim:#bbb3d6;--faint:#948cb5;--accent:#f2d75e;--display:'Bricolage Grotesque',system-ui,sans-serif;--body:'Hanken Grotesk',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.mono{font-family:var(--mono)}.accent{color:var(--accent)}.dim{color:var(--dim)}.dot-sep{width:4px;height:4px;background:var(--faint);border-radius:50%;display:inline-block;margin:0 9px;vertical-align:middle}.hero-eyebrow{display:flex;align-items:center;font:10px var(--mono);letter-spacing:2.5px;text-transform:uppercase}.section-label{display:block;color:var(--accent);font-size:9px;letter-spacing:2px;margin-bottom:12px}
#nav{position:fixed;inset:0 0 auto;z-index:100;background:rgba(21,16,47,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-inner{height:79px;padding:12px 64px;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:12px}.nav-logo-img{width:54px;height:54px;object-fit:contain}.nav-brand-name{font:800 21px/1 var(--display);letter-spacing:1px;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{padding:7px 14px;color:var(--dim);font:11px var(--mono);transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link.active{border-bottom:2px solid var(--accent)}.btn-primary,button{border:0;border-radius:0;background:var(--accent);color:var(--bg);font:700 11px var(--mono);letter-spacing:.7px;text-transform:uppercase;padding:13px 18px;cursor:pointer;transition:background .15s,opacity .15s}.btn-primary:hover,button:hover{background:#f8e07c}.btn-primary{display:inline-flex;align-items:center;justify-content:center}.nav-hamburger,.nav-mobile{display:none}.nav-hamburger{background:none;padding:8px;width:auto}.nav-hamburger span{display:block;width:22px;height:1px;margin:5px 0;background:var(--text)}main{padding-top:79px}
.pickup-hero{min-height:620px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:64px;padding:80px 64px;border-bottom:1px solid var(--line);background:linear-gradient(165deg,#15102f 0%,#1a1238 52%,#2a1644 100%)}.pickup-hero-copy{display:flex;flex-direction:column;justify-content:center}.pickup-title{font:800 clamp(80px,11vw,150px)/.82 var(--display);letter-spacing:-2px;text-transform:uppercase;margin-top:22px}.pickup-intro{max-width:600px;margin-top:34px;color:var(--dim);font-size:20px;line-height:1.6}.pickup-manifesto{align-self:center;width:100%;padding:42px;border:1px solid var(--line);border-top:2px solid var(--accent);background:linear-gradient(160deg,rgba(241,236,228,.06),rgba(241,236,228,.012));display:grid;grid-template-columns:72px 1fr;align-items:center;gap:0}.pickup-manifesto>span{grid-column:1/-1;margin-bottom:26px;font-size:9px;letter-spacing:2px}.pickup-manifesto strong{padding:19px 0;color:var(--accent);font:800 34px var(--display);border-top:1px solid var(--line)}.pickup-manifesto p{padding:23px 0;border-top:1px solid var(--line);font-weight:700;text-transform:uppercase}
.pickup-actions{display:grid;grid-template-columns:1fr 1fr;background:var(--line);gap:1px;border-bottom:1px solid var(--line)}.action-block{min-height:570px;padding:76px 64px;background:var(--bg)}.action-primary{background:var(--bg-deep)}.action-block h2,.page-heading h1,.section-head h2{font:800 clamp(44px,6vw,76px)/.88 var(--display);letter-spacing:-1px;text-transform:uppercase}.editorial-form{max-width:560px;margin-top:48px}.editorial-form label{display:block;margin-bottom:26px}.editorial-form label span{display:block;margin-bottom:9px;color:var(--faint);font:9px var(--mono);letter-spacing:1.7px;text-transform:uppercase}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);padding:15px 16px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--faint)}select{appearance:auto}.editorial-form button{width:100%;margin-top:4px}.text-link{display:inline-block;margin-top:34px;padding-top:10px;border-top:1px solid var(--line);color:var(--dim);font-size:10px;letter-spacing:1.5px}.text-link:hover{color:var(--accent)}
.page-heading,.tournament-hero{padding:72px 64px;border-bottom:1px solid var(--line);background:linear-gradient(165deg,#15102f,#211442);display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.page-heading h1{margin-top:18px}.event-list{padding:64px;display:grid;gap:14px;background:var(--bg-deep);min-height:55vh}.event-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:30px;padding:28px 30px;border:1px solid var(--line);background:var(--surface);transition:.15s}.event-card:hover{background:var(--surface-2);border-color:rgba(242,215,94,.32)}.event-open{box-shadow:inset 3px 0 0 var(--accent)}.event-number{color:var(--accent);font-size:38px;border-right:1px solid var(--line)}.event-status{color:var(--accent);font-size:9px;letter-spacing:2px}.event-copy h2{margin-top:5px;font:800 28px var(--display);text-transform:uppercase}.event-copy p{margin-top:5px;color:var(--dim)}.event-arrow{color:var(--accent);font-size:28px}
.tournament-hero{min-height:310px;align-items:center}.tournament-copy h1{max-width:800px;margin-top:18px;font:800 clamp(54px,8vw,105px)/.85 var(--display);letter-spacing:-1.5px;text-transform:uppercase}.tournament-copy>p{margin-top:25px;color:var(--dim);font:11px var(--mono);letter-spacing:1.5px;text-transform:uppercase}.hero-action{min-width:180px;min-height:52px}.tabs{position:sticky;top:79px;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg-deep);border-bottom:1px solid var(--line)}.tabs button{background:transparent;color:var(--dim);border-right:1px solid var(--line);padding:19px}.tabs button.active{background:var(--surface);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.tournament-section{padding:84px 64px;min-height:500px;border-bottom:1px solid var(--line)}.tournament-section:nth-of-type(even){background:var(--bg-deep)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-meta{padding-top:8px;border-top:1px solid var(--line);color:var(--dim);font-size:9px;letter-spacing:2px}
.player-list,.standings{list-style:none;display:grid;gap:10px}.player-list li,.standings li{min-height:82px;display:grid;align-items:center;padding:14px 24px;border:1px solid var(--line);background:var(--surface)}.player-list li{grid-template-columns:1fr auto}.player-list li span,.standing-name{font:800 21px var(--display);text-transform:uppercase}.player-list li strong{color:var(--accent);font:800 28px var(--display)}#bulk-players{max-width:580px;margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}#bulk-players label{display:grid;gap:10px;color:var(--faint);font:9px var(--mono);letter-spacing:1.5px;text-transform:uppercase}#bulk-players button{width:100%;margin-top:14px}
.round{margin-bottom:18px;border:1px solid var(--line);background:var(--surface)}.round-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}.round-heading h3{font:800 28px var(--display);text-transform:uppercase}.status{font:9px var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--accent)}.status-finalized{color:#8ed9a7}.court{padding:24px 26px;border-bottom:1px solid var(--line)}.court>strong{display:block;margin-bottom:18px;color:var(--accent);font:10px var(--mono);letter-spacing:2px;text-transform:uppercase}.score-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;text-align:center}.score-result span{font:800 20px var(--display);text-transform:uppercase}.score-result b{color:var(--accent);font:800 38px var(--display)}.score-form{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:16px}.team-score{display:grid;gap:10px}.team-score strong{text-align:center;font:800 19px var(--display);text-transform:uppercase}.team-score input{text-align:center;font:800 28px var(--display)}.score-colon{padding-bottom:12px;color:var(--faint);font:800 26px var(--display)}.score-form .secondary,.undo-round.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.finalize-round,.undo-round{margin:22px 26px;width:auto}.action-help{margin:-8px 26px 24px;color:var(--faint);font-size:12px}.standings li{grid-template-columns:80px 1fr auto}.standing-position{color:var(--accent);font:800 30px var(--display)}.standing-name small,.standings strong small{display:block;margin-top:4px;color:var(--faint);font:9px var(--mono);letter-spacing:1px}.standings>li>strong{text-align:right;color:var(--accent);font:800 32px var(--display)}
.pickup-footer{padding:42px 64px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#0f0b24,#1f1140);border-top:1px solid var(--line);color:var(--faint);font-size:9px;letter-spacing:2px}.footer-brand{display:flex;align-items:center;gap:12px;color:var(--text);font:800 22px var(--display);text-transform:uppercase}.footer-brand img{width:52px;height:52px;object-fit:contain}.toast{position:fixed;left:50%;bottom:24px;z-index:200;transform:translateX(-50%);min-width:280px;padding:14px 18px;background:var(--accent);color:var(--bg);font-weight:800;text-align:center}
@media(max-width:900px){.nav-inner{padding:10px 24px}.nav-brand-name{font-size:17px}.pickup-hero{grid-template-columns:1fr;padding:64px 28px}.pickup-manifesto{max-width:520px;justify-self:start}.pickup-actions{grid-template-columns:1fr}.action-block{min-height:auto;padding:64px 28px}.page-heading,.tournament-hero,.tournament-section,.event-list{padding-left:28px;padding-right:28px}.score-form{grid-template-columns:1fr auto 1fr}.score-form button{grid-column:1/-1}.nav-links{display:none}.nav-hamburger{display:block}.nav-mobile.open{display:flex;flex-direction:column;padding:8px 24px 20px;border-top:1px solid var(--line)}.nav-mobile .nav-link{padding:13px 0;border-bottom:1px solid var(--line-dim)}.nav-mobile .btn-primary{margin-top:14px}}
@media(max-width:640px){main{padding-top:63px}.nav-inner{height:63px;padding:8px 16px}.nav-logo-img{width:46px;height:46px}.nav-brand-name{font-size:15px}.pickup-hero{min-height:auto;padding:52px 16px;gap:40px}.pickup-title{font-size:clamp(54px,19vw,86px)}.pickup-intro{font-size:16px}.pickup-manifesto{padding:24px}.pickup-actions{display:block}.action-block{padding:56px 16px;border-bottom:1px solid var(--line)}.action-block h2{font-size:44px}.page-heading,.tournament-hero{padding:48px 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:54px}.event-list{padding:28px 16px}.event-card{grid-template-columns:50px minmax(0,1fr);gap:16px;padding:18px}.event-number{font-size:28px}.event-arrow{display:none}.event-copy h2{font-size:22px}.tournament-hero{min-height:280px;align-items:flex-start;flex-direction:column}.tournament-copy h1{font-size:clamp(48px,15vw,72px)}.hero-action{width:100%}.tabs{top:63px}.tabs button{padding:16px 6px;font-size:10px}.tournament-section{padding:58px 12px}.section-head{align-items:flex-start}.section-head h2{font-size:44px}.section-meta{display:none}.player-list li{padding:13px 15px}.player-list li span{font-size:18px}.round-heading,.court{padding:18px 14px}.score-form{grid-template-columns:1fr auto 1fr;gap:8px}.team-score strong{font-size:15px}.team-score input{padding:12px 5px;font-size:24px}.score-form button{grid-column:1/-1}.score-result{gap:8px}.score-result span{font-size:15px}.score-result b{font-size:28px}.finalize-round,.undo-round{margin:18px 14px;width:calc(100% - 28px)}.action-help{margin:-7px 14px 20px}.standings li{grid-template-columns:48px 1fr auto;padding:12px}.standing-position{font-size:23px}.standing-name{font-size:17px}.standings>li>strong{font-size:27px}.pickup-footer{padding:30px 16px;align-items:flex-start;flex-direction:column;gap:18px}}

/* Live roster management */
.player-list li{grid-template-columns:minmax(0,1fr) 100px auto;gap:18px}.player-identity{font:800 21px var(--display);text-transform:uppercase}.player-identity small,.player-list li>strong small{display:block;margin-top:4px;color:var(--faint);font:9px var(--mono);letter-spacing:1px}.player-list li>strong{text-align:right}.player-toggle{min-width:132px;background:transparent;color:var(--text);border:1px solid var(--line)}.player-toggle.danger{color:#ef9b9b;border-color:rgba(239,155,155,.35)}.player-inactive{opacity:.52}.player-inactive .player-identity{text-decoration:line-through;text-decoration-thickness:1px}.form-note{margin-top:12px;color:var(--faint);font-size:12px}.waiting-strip{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;padding:18px 26px;background:rgba(242,215,94,.08);border-bottom:1px solid rgba(242,215,94,.25);box-shadow:inset 3px 0 0 var(--accent)}.waiting-strip span{color:var(--accent);font-size:9px;letter-spacing:1.7px}.waiting-strip strong{font:800 18px var(--display);text-transform:uppercase}
@media(max-width:640px){.player-list li{grid-template-columns:minmax(0,1fr) 64px;padding:13px 12px;gap:10px}.player-identity{font-size:17px}.player-list li>strong{font-size:23px}.player-toggle{grid-column:1/-1;width:100%;min-width:0}.waiting-strip{grid-template-columns:1fr;gap:6px;padding:15px 14px}}
.stepper{display:grid;grid-template-columns:54px 1fr 54px;gap:8px;align-items:stretch}.stepper input{min-height:56px}.step{background:var(--surface);color:var(--text);border:1px solid var(--line);font:800 26px var(--display);min-height:56px;cursor:pointer}.step:active{background:var(--accent);color:var(--bg-deep)}.quick-fill{margin-top:8px;width:100%;background:transparent;color:var(--accent);border:1px solid rgba(242,215,94,.4);font:700 14px var(--mono);letter-spacing:1px;min-height:38px;cursor:pointer}.quick-fill:active{background:var(--accent);color:var(--bg-deep)}
.kotc-note{margin:0;padding:12px 26px;color:var(--accent);font-size:9px;letter-spacing:1.6px;background:rgba(242,215,94,.06);border-bottom:1px solid var(--line)}.round-tag{margin-left:10px;padding:3px 7px;color:var(--accent);font-size:9px;letter-spacing:1.5px;border:1px solid rgba(242,215,94,.4);vertical-align:middle}
.round-collapsed>summary{cursor:pointer;list-style:none}.round-collapsed>summary::-webkit-details-marker{display:none}.round-collapsed[open]>summary .status{opacity:.7}
.manual-builder{margin-bottom:24px;border:1px solid var(--line);background:var(--bg-deep)}.manual-builder>summary{cursor:pointer;list-style:none;padding:20px 26px;color:var(--accent);font:800 16px var(--display);text-transform:uppercase}.manual-builder>summary::-webkit-details-marker{display:none}.manual-builder>summary::before{content:'+ ';color:var(--accent)}.manual-builder[open]>summary::before{content:'– '}#manual-round{padding:0 26px 26px}#manual-round .form-note{margin:0 0 18px}.manual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.manual-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);background:var(--surface)}.manual-row span{font:700 15px var(--display);text-transform:uppercase}.manual-row select{min-height:42px;padding:6px 10px;background:var(--bg-deep);color:var(--text);border:1px solid var(--line);font:13px var(--mono)}#manual-round>button{margin-top:18px}
@media(max-width:640px){.stepper{grid-template-columns:46px 1fr 46px}.step{font-size:22px}.manual-grid{grid-template-columns:1fr}.kotc-note,.manual-builder>summary{padding-left:14px;padding-right:14px}#manual-round{padding:0 14px 18px}}
