:root{--ink:#f4f0e8;--muted:#aaa9a4;--gold:#d7b56d;--gold-2:#f0d28d;--green:#062c25;--panel:#102c28;--line:rgba(255,255,255,.11);--bg:#071c19;--display:"Oswald",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);background-image:radial-gradient(circle at 75% 7%,rgba(25,111,86,.32),transparent 30%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;font:700 25px var(--display);color:var(--gold);transform:rotate(-8deg)}.brand strong,.brand small{display:block}.brand strong{font:600 20px/1 var(--display);letter-spacing:.14em}.brand small{font-size:8px;color:var(--gold);letter-spacing:.2em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a,.admin-link{color:#cfcec9;text-decoration:none;font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase}.admin-link{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:11px 16px;cursor:pointer}.hero{min-height:560px;max-width:1300px;margin:auto;padding:85px max(5vw,24px) 70px;display:grid;grid-template-columns:1.4fr .75fr;align-items:center;gap:8vw}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700}.eyebrow span{display:inline-block;width:26px;height:1px;background:var(--gold)}h1,h2,h3{font-family:var(--display);text-transform:uppercase;margin:0}h1{font-size:clamp(58px,8vw,108px);line-height:.91;letter-spacing:-.03em;margin:23px 0 28px}h1 em{color:var(--gold);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:540px;color:#bebdb8;line-height:1.7;font-size:16px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:32px;margin-top:20px;padding:15px 22px;background:var(--gold);color:#10231f;text-decoration:none;border:0;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:11px;cursor:pointer}.leader-card{background:linear-gradient(145deg,#153d34,#0b2823);border:1px solid rgba(215,181,109,.5);padding:30px;min-height:310px;position:relative;box-shadow:20px 24px 0 rgba(0,0,0,.14)}.leader-card:before{content:"♠";position:absolute;right:22px;top:5px;color:rgba(215,181,109,.09);font-size:130px}.leader-kicker{font:600 11px var(--body);color:var(--gold);letter-spacing:.18em;text-transform:uppercase}.leader-rank{font:700 72px var(--display);color:var(--gold);line-height:1;margin:26px 0 6px}.leader-card h3{font-size:32px}.leader-meta{display:grid;grid-template-columns:1fr 1fr;margin-top:33px;padding-top:20px;border-top:1px solid var(--line)}.leader-meta strong,.leader-meta span{display:block}.leader-meta strong{font:600 22px var(--display)}.leader-meta span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:5px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:rgba(3,26,22,.67);padding:0 max(5vw,24px)}.stats-strip div{padding:29px 4vw;border-right:1px solid var(--line)}.stats-strip div:last-child{border:0}.stats-strip strong,.stats-strip span{display:block}.stats-strip strong{font:600 27px var(--display);color:var(--gold)}.stats-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-top:6px}.content-section{max-width:1200px;margin:0 auto;padding:95px max(3vw,18px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-heading h2,.modal h2{font-size:clamp(34px,5vw,53px);letter-spacing:.01em}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #777;padding:8px 0;color:var(--gold)}.search input{background:none;border:0;outline:0;color:white;width:190px;font-family:var(--body)}.table-shell{overflow:auto;border-top:2px solid var(--gold)}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;padding:14px 16px;color:#8f9691;text-transform:uppercase;font-size:9px;letter-spacing:.16em;font-weight:600}th:not(:nth-child(2)),td:not(:nth-child(2)){text-align:center}td{padding:19px 16px;border-top:1px solid var(--line);font-size:13px}.rank-cell{font:600 20px var(--display);color:#989b96}.rank-1{color:var(--gold)}.player-cell{text-align:left!important}.player-button{border:0;background:0;color:white;font:600 15px var(--body);cursor:pointer;padding:0}.player-button:hover{color:var(--gold)}.points{font:600 19px var(--display);color:var(--gold)}.medal{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#15251f;font-size:10px;margin-left:8px}.table-hint,.form-note{font-size:11px;color:#777f7a;margin-top:14px}.empty-state{text-align:center;padding:44px;color:var(--muted)}.tournaments-section{padding-top:40px}.tournament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tournament-card{border:1px solid var(--line);background:rgba(15,47,40,.52);padding:23px;position:relative}.tournament-card time{color:var(--gold);text-transform:uppercase;font-size:9px;letter-spacing:.16em}.tournament-card h3{font-size:22px;margin:10px 0 24px}.tournament-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.tournament-card dt{font-size:9px;color:#808680;text-transform:uppercase}.tournament-card dd{margin:5px 0 0;font:600 17px var(--display)}.winner{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:12px}.winner span{color:var(--gold)}footer{border-top:1px solid var(--line);padding:30px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;color:#777;font-size:11px}.footer-brand{transform:scale(.82);transform-origin:left}.modal{width:min(800px,calc(100% - 30px));max-height:90vh;overflow:auto;background:#0d2b26;color:var(--ink);border:1px solid var(--gold);padding:38px;box-shadow:0 30px 100px #000}.modal::backdrop{background:rgba(0,10,8,.82);backdrop-filter:blur(5px)}.close-button{position:absolute;right:18px;top:14px;background:none;border:0;color:#aaa;font-size:28px;cursor:pointer}.player-hero{display:flex;align-items:center;gap:20px;margin:12px 0 30px}.avatar{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--gold);color:#163027;font:600 30px var(--display)}.player-hero h2{font-size:38px}.player-hero p{color:var(--gold);margin:5px 0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:30px}.profile-stats div{padding:18px;border-right:1px solid var(--line)}.profile-stats div:last-child{border:0}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{font:600 22px var(--display)}.profile-stats span{font-size:9px;color:#888;text-transform:uppercase;margin-top:5px}.history-row{display:grid;grid-template-columns:1.6fr .7fr .5fr .7fr;gap:8px;border-top:1px solid var(--line);padding:13px 5px;font-size:12px}.history-row:first-child{color:#888;text-transform:uppercase;font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.modal label{display:flex;flex-direction:column;gap:7px;color:#a9ada9;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.modal input{background:#071d1a;border:1px solid var(--line);padding:12px;color:white;font:14px var(--body);outline:none}.modal input:focus{border-color:var(--gold)}.result-editor{margin-top:30px}.result-header{display:flex;align-items:center;justify-content:space-between}.secondary-button{background:none;border:1px solid var(--gold);color:var(--gold);padding:9px 12px;cursor:pointer}.result-row{display:grid;grid-template-columns:80px 1fr 130px 32px;gap:10px;align-items:end;margin-top:10px}.remove-row{height:41px;background:none;border:1px solid var(--line);color:#aaa;cursor:pointer}.submit-button{width:100%}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);background:var(--gold);color:#132821;padding:12px 20px;font-weight:700;font-size:12px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.site-header nav a{display:none}.site-header nav{gap:0}.hero{grid-template-columns:1fr;padding-top:55px}.leader-card{margin-top:20px}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip div:nth-child(2){border-right:0}.stats-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{align-items:start;flex-direction:column;gap:22px}.search,.search input{width:100%}.tournament-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}.profile-stats div:nth-child(2){border-right:0}.profile-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.result-row{grid-template-columns:65px 1fr 30px}.result-row label:nth-child(3){grid-column:1/3}.result-row .remove-row{grid-column:3;grid-row:1}.history-row{grid-template-columns:1.4fr .8fr .5fr}.history-row span:nth-child(4){display:none}footer{flex-direction:column;align-items:start;gap:15px}}

/* Havanna waterpark theme */
:root{--ink:#fff9ed;--muted:#b7d6dc;--gold:#ffc928;--gold-2:#ffe27a;--pink:#ee3e72;--aqua:#12bddd;--blue:#032f64;--green:#108d4a;--panel:#063e68;--line:rgba(255,255,255,.16);--bg:#021f42}
body{background-color:var(--bg);background-image:radial-gradient(circle at 15% 0,rgba(14,187,220,.38),transparent 26%),radial-gradient(circle at 92% 14%,rgba(238,62,114,.18),transparent 22%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}.site-header{background:rgba(2,31,66,.88);backdrop-filter:blur(14px);position:sticky;top:0}.brand-mark{border:2px solid var(--aqua);background:#075584;font-size:20px}.admin-link{background:var(--pink);border-color:var(--pink);color:white;border-radius:20px}.compact-hero{min-height:250px;padding-top:45px;padding-bottom:42px;grid-template-columns:1fr 390px}.compact-hero:before{content:"";position:absolute;inset:82px 0 auto;height:250px;z-index:-1;background:linear-gradient(110deg,rgba(1,30,64,.2),rgba(0,178,214,.16));clip-path:polygon(0 0,100% 0,100% 78%,79% 100%,56% 80%,31% 100%,0 78%)}.compact-hero h1{font-size:clamp(48px,7vw,82px);margin:12px 0 8px;text-shadow:0 5px 0 #001a38}.compact-hero h1 em{color:var(--pink)}.compact-hero .hero-copy>p:not(.eyebrow){color:white;font-weight:700}.next-event{background:linear-gradient(135deg,#ed3d71,#b71956);border:2px solid #ff8aac;padding:22px;border-radius:18px;box-shadow:0 9px 0 #001d42}.next-event small,.next-event strong,.next-event span{display:block}.next-event small{text-transform:uppercase;letter-spacing:.14em;color:#ffdbe6;font-weight:800}.next-event strong{font:700 28px var(--display);margin:7px 0}.next-event span{color:white;font-size:13px}.stats-strip{background:#04305d}.ranking-section{padding-top:62px}.table-shell{border:1px solid rgba(54,211,238,.35);border-top:4px solid var(--aqua);border-radius:14px;background:rgba(3,44,81,.82);box-shadow:0 18px 50px rgba(0,12,35,.3)}th{background:#052b53;color:#8fdce9}tbody tr:hover{background:rgba(20,190,220,.09)}td{border-color:rgba(255,255,255,.1)}.points,.rank-1{color:var(--gold)}.medal{background:var(--pink);color:white}.schedule-section{max-width:1320px;padding-top:55px}.count-badge{background:var(--gold);color:#092c52;border-radius:30px;padding:10px 17px;text-transform:uppercase;font-weight:800;font-size:10px}.schedule-layout{display:grid;grid-template-columns:1fr 280px;gap:18px}.schedule-list{display:flex;flex-direction:column;gap:7px}.schedule-row{display:grid;grid-template-columns:65px 1fr 90px 95px;align-items:center;gap:12px;min-height:62px;padding:9px 16px;border-radius:9px;color:white;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 -4px rgba(0,0,0,.13)}.schedule-row.pink{background:#c92661}.schedule-row.orange{background:#d87905}.schedule-row.green{background:#178e43}.schedule-row.purple{background:#503391}.schedule-date strong,.schedule-date span{display:block}.schedule-date strong{font:700 19px var(--display)}.schedule-date span{font-size:9px;text-transform:uppercase}.schedule-game{font:600 18px var(--display);text-transform:uppercase}.schedule-row>span{font-size:12px;font-weight:700;text-align:right}.prize-panel{background:#032746;border:2px solid var(--gold);border-radius:14px;padding:20px}.prize-panel>p{color:var(--gold);font:700 18px var(--display);text-transform:uppercase;margin:0}.prize-panel h3{font-size:14px;margin:3px 0 15px}.prize-item{display:flex;justify-content:space-between;border-top:1px solid rgba(63,192,218,.42);padding:5px 3px;font:600 14px var(--display)}.prize-item span:first-child{color:#a9e5ef}.prize-total{display:flex;justify-content:space-between;border-top:2px solid var(--gold);margin-top:10px;padding-top:12px;color:var(--gold);text-transform:uppercase}.tournament-card{background:#053962;border-color:rgba(37,198,226,.35);border-radius:12px}.modal{background:#04335a;border:2px solid var(--aqua);border-radius:16px}.modal input{background:#022747}.admin-tabs{display:flex;gap:8px;margin-top:22px;border-bottom:1px solid var(--line)}.admin-tabs button{border:0;background:transparent;color:#a9d6dd;padding:12px 15px;font:700 11px var(--body);text-transform:uppercase;cursor:pointer}.admin-tabs button.active{background:var(--aqua);color:#022747}.admin-pane{display:none}.admin-pane.active{display:block}.wide-label{grid-column:1/-1}.profile-admin-list{margin-top:28px;border-top:1px solid var(--line)}.profile-admin-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:12px 3px;border-bottom:1px solid var(--line)}.profile-admin-row strong,.profile-admin-row small{display:block}.profile-admin-row small{color:var(--muted);margin-top:3px}.profile-admin-row button{border:1px solid var(--aqua);background:transparent;color:var(--aqua);padding:7px 10px;cursor:pointer}.profile-admin-row .danger{border-color:#ff7a9e;color:#ff9ab5}.profile-bio{color:#b7d6dc;margin:-14px 0 25px;line-height:1.6}.profile-identity{font-size:11px;color:#91dce8!important}.primary-button{background:var(--pink);color:white;border-radius:24px}.footer-brand .brand-mark{font-size:16px}
@media(max-width:800px){.compact-hero{grid-template-columns:1fr}.compact-hero .next-event{margin-top:20px}.schedule-layout{grid-template-columns:1fr}.schedule-row{grid-template-columns:58px 1fr 68px}.schedule-row>span:last-child{display:none}.schedule-game{font-size:15px}.prize-panel{margin-top:10px}}
.modal select{background:#022747;border:1px solid var(--line);padding:12px;color:white;font:14px var(--body);outline:none}.modal select:focus{border-color:var(--gold)}.profile-required{font-size:10px;color:var(--aqua);text-transform:uppercase;letter-spacing:.08em}.result-row{grid-template-columns:80px 1fr 150px}.result-row input[readonly]{color:var(--gold);font-weight:800}.cancel-edit{width:100%;margin-top:8px}.tournament-admin-list{margin-top:38px;border-top:1px solid var(--line);padding-top:25px}.tournament-admin-list>h3{margin-bottom:10px}.tournament-admin-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:13px 3px;border-bottom:1px solid var(--line)}.tournament-admin-row strong,.tournament-admin-row small{display:block}.tournament-admin-row small{color:var(--muted);margin-top:4px}.tournament-admin-row button{border:1px solid var(--aqua);background:transparent;color:var(--aqua);padding:7px 10px;cursor:pointer}.tournament-admin-row .danger{border-color:#ff7a9e;color:#ff9ab5}.submit-button:disabled{opacity:.45;cursor:not-allowed}
.ranking-tools{display:flex;align-items:end;gap:24px}.series-picker{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.series-picker select{min-width:170px;background:#04365f;border:1px solid var(--aqua);color:white;padding:10px;font:600 13px var(--body)}.ranking-prize-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.ranking-prize-editor label{display:grid;grid-template-columns:70px 1fr;align-items:center}.counted-result{border-left:3px solid var(--aqua);padding-left:10px}.discarded-result{opacity:.45}.admin-modal{width:min(920px,calc(100% - 30px))}
@media(max-width:760px){.ranking-tools{width:100%;flex-direction:column;align-items:stretch;gap:12px}.series-picker select{width:100%}.ranking-prize-editor{grid-template-columns:1fr}.tournament-admin-row{grid-template-columns:1fr auto}.tournament-admin-row .danger{grid-column:2}}
.archived-section{margin-top:42px;padding-top:26px;border-top:2px solid rgba(255,255,255,.14)}.archived-profile{opacity:.78}.confirm-modal{width:min(680px,calc(100% - 30px))}.delete-explanation{color:var(--muted);line-height:1.6}.delete-result-actions{display:flex;gap:8px;margin:20px 0 10px}.delete-result-list{max-height:330px;overflow:auto;border-block:1px solid var(--line)}.delete-result-row{display:grid!important;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:14px 6px;border-bottom:1px solid var(--line);cursor:pointer}.delete-result-row:last-child{border:0}.delete-result-row input{width:18px;height:18px;accent-color:var(--pink)}.delete-result-row strong,.delete-result-row small{display:block}.delete-result-row strong{color:white;font-size:13px;text-transform:none;letter-spacing:0}.delete-result-row small{color:var(--muted);margin-top:4px;text-transform:none;letter-spacing:0}.delete-result-row em{color:#ff9ab5;font-style:normal;font-size:10px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.confirm-actions .primary-button{margin-top:0}.danger-button{background:#c92661}
.tournament-group{margin-top:30px}.tournament-group+.tournament-group{margin-top:62px;padding-top:38px;border-top:1px solid var(--line)}.subsection-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.subsection-heading h3{font-size:25px}.subsection-heading>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 8px;border-radius:20px;background:var(--aqua);color:#022747;font-weight:800;font-size:11px}.past-group .subsection-heading>span{background:#456b82;color:white}.upcoming-card{border-color:rgba(255,201,40,.68);box-shadow:inset 0 3px var(--gold),0 15px 35px rgba(0,15,40,.24)}.past-card{opacity:.88}.empty-tournaments{grid-column:1/-1;padding:24px;border:1px dashed var(--line);border-radius:10px}.admin-status{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:10px;font:700 8px var(--body);text-transform:uppercase;vertical-align:middle}.status-upcoming{background:var(--gold);color:#082d50}.status-past{background:#315b73;color:#cce4e8}
.admin-list-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-filter-label{min-width:240px}.status-filter{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;border:1px solid var(--aqua);border-radius:9px;overflow:hidden}.status-filter button{border:0;background:#03294b;color:#a8dbe3;padding:12px 16px;text-transform:uppercase;font:700 10px var(--body);letter-spacing:.08em;cursor:pointer}.status-filter button+button{border-left:1px solid var(--aqua)}.status-filter button.active{background:var(--aqua);color:#022747}.admin-empty{padding:25px;text-align:center;border:1px dashed var(--line);border-radius:8px}@media(max-width:650px){.admin-list-heading{align-items:stretch;flex-direction:column}.admin-filter-label{min-width:0}.status-filter{grid-template-columns:1fr}}
.event-round{position:absolute;right:16px;top:14px;padding:4px 8px;border-radius:12px;background:var(--gold);color:#082d50;font:800 9px var(--body);text-transform:uppercase;letter-spacing:.06em}.tournament-card{position:relative}
.clickable-card{cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.clickable-card:hover,.clickable-card:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 35px rgba(0,8,30,.28);outline:none}.view-results{margin-top:14px;color:var(--aqua);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.tournament-modal{width:min(900px,calc(100% - 30px))}.tournament-modal h2{margin:8px 0 24px}.tournament-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:26px}.tournament-summary div{padding:16px;border-right:1px solid var(--line)}.tournament-summary div:last-child{border:0}.tournament-summary strong,.tournament-summary span{display:block}.tournament-summary strong{font:600 20px var(--display)}.tournament-summary span{margin-top:5px;color:var(--muted);font-size:9px;text-transform:uppercase}.result-table-shell{overflow:auto;border-top:3px solid var(--aqua)}.tournament-result-table{min-width:600px}.result-prize{font:600 16px var(--display);color:#738f97}.paid-prize{color:var(--gold)}
@media(max-width:650px){.tournament-summary{grid-template-columns:1fr 1fr}.tournament-summary div:nth-child(2){border-right:0}.tournament-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.login-modal{width:min(480px,calc(100% - 30px))}.single-column{grid-template-columns:1fr}.login-error{min-height:20px;color:#ff9ab5;font-size:12px}.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-title-row .secondary-button{white-space:nowrap}
