@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;800&family=Barlow:wght@400;600;700&display=swap";:root{--bg:#0e1210;--panel:#181d1a;--panel-2:#121512;--ink:#f2f4ef;--ink-dim:#9aa39c;--line:color-mix(in srgb, var(--ink) 18%, transparent);--accent:#ffb800;--accent-ink:#161a15;--pitch:#2e6b3e;--place-1:var(--accent);--place-2:#c9d1cb;--place-3:#c9843a;--font-h:"Barlow Condensed", sans-serif;--font-b:"Barlow", sans-serif;--page-max:640px;--frame-max:1080px;--page-gutter:24px;--page-pad-y:36px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-b);margin:0;font-size:16px}h1,h2,h3,h4{font-family:var(--font-h);letter-spacing:.01em;text-transform:uppercase;margin:0;font-weight:800}#app{min-height:100vh}.pad{padding:20px}.kicker{font:700 14px var(--font-h);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.sub{color:var(--ink-dim);font-size:15px}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;display:flex}.wrap{flex-wrap:wrap}.hr{background:var(--line);border:0;height:2px;margin:16px 0}.tag{font:700 15px var(--font-h);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:9px 16px;display:inline-flex}.tag-accent{background:var(--accent);color:var(--accent-ink)}.tag-outline{border:1.5px solid var(--ink-dim);color:var(--ink)}.tag-pitch{background:var(--pitch);color:#eafbee}.tag-compact{padding:4px 9px;font-size:12px}.tag-format{text-transform:none;letter-spacing:0;font-family:var(--font-b);font-weight:600}.tag-date{text-transform:none;letter-spacing:.02em;font-family:var(--font-b);font-weight:600}.tag-date-outline{border:1.5px solid var(--ink-dim);color:var(--ink)}.tag-date-active{background:color-mix(in srgb, var(--ink) 22%, transparent);color:var(--ink);border:1.5px solid var(--ink-dim)}.tag-place{text-transform:none;letter-spacing:.02em;font-family:var(--font-b);font-weight:600}.tag-place-outline{border:1.5px solid color-mix(in srgb, var(--pitch) 55%, var(--ink-dim));color:var(--ink)}.tag-place-active{background:color-mix(in srgb, var(--pitch) 35%, transparent);color:#eafbee;border:1.5px solid var(--pitch)}.filter-bar{margin-bottom:18px}.filter-group{margin-bottom:12px}.filter-group:last-child{margin-bottom:0}.filter-label{font:700 12px var(--font-h);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}.filter-chips{gap:10px}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;padding:0;display:flex}.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-menu-avatar{outline:1.5px solid #0000;transition:outline-color .15s}.user-menu-trigger:hover .user-menu-avatar,.user-menu-trigger:focus-visible .user-menu-avatar{outline-color:var(--ink-dim)}.user-menu-panel{background:var(--panel);border:1.5px solid var(--line);z-index:100;min-width:180px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0}.user-menu-name{font:700 14px var(--font-b);color:var(--ink-dim);overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 14px 10px}.user-menu-item{width:100%;font:600 15px var(--font-b);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 14px;text-decoration:none;display:block}.user-menu-item:hover{background:var(--panel-2)}.user-menu-logout{color:var(--ink-dim)}.game-title{font:800 32px var(--font-h);letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere;margin:0;line-height:1.1}.game-subtitle{font:600 16px var(--font-b);color:var(--ink-dim);margin:0}.game-title-sm{font:800 20px var(--font-h);text-transform:none;color:#fff;overflow-wrap:anywhere;line-height:1.15}.text-link{font:600 14px var(--font-b);color:var(--ink-dim);text-decoration:none}.text-link:hover{color:var(--ink);text-decoration:underline}.info-link{cursor:pointer;background:0 0;border:0;padding:0}.game-description{background:var(--panel-2);border-left:3px solid var(--accent);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;padding:12px 14px}.modal-backdrop{z-index:200;background:#000000b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.share-sheet{width:min(100%,460px);max-height:calc(100vh - 40px);overflow-y:auto}.share-qr-wrap{background:#fff;justify-content:center;padding:14px;display:flex}.share-qr{aspect-ratio:1;width:min(100%,300px);display:block}.icon-button{color:var(--ink-dim);font:400 32px/1 var(--font-b);cursor:pointer;background:0 0;border:0;padding:4px 8px}.team-share-link{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-dim);font:700 14px var(--font-b);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:inline-flex}.team-share-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.team-share-link:hover,.team-share-link-copied{color:var(--accent);border-color:var(--accent)}.manage-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.manage-tabs{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.manage-tab{color:var(--ink-dim);font:700 14px var(--font-h);text-transform:uppercase;justify-content:center;align-items:center;gap:7px;padding:12px 10px;text-decoration:none;display:flex}.manage-tab:not(:last-child){border-right:1px solid var(--line)}.manage-tab-active{background:var(--accent);color:var(--accent-ink)}.manage-tab-count{background:color-mix(in srgb, currentColor 12%, transparent);text-align:center;min-width:20px;padding:2px 5px;font-size:11px}.team-assignments{border-top:1px solid var(--line);margin-bottom:16px}.team-assignment-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.team-assignment-name{overflow-wrap:anywhere;min-width:0;font-weight:700}.organizer-manage-links{grid-template-columns:1fr;gap:8px;display:grid}.organizer-manage-links .btn{justify-content:flex-start;padding:10px 14px}.spots-head{align-items:baseline;gap:4px;margin-bottom:8px;display:flex}.spots-filled{font:800 32px var(--font-h);color:var(--accent);line-height:1}.spots-sep,.spots-max{font:800 22px var(--font-h);color:var(--ink-dim);line-height:1}.spots-label{font:600 14px var(--font-b);color:var(--ink-dim);margin-left:6px}.spots-ok{color:#7ecf8a;font-weight:700}.spots-warn{color:var(--accent);font-weight:700}.spots-urgent{color:#f07070;font-weight:700}.spotbar{background:#2a2f2a;width:100%;height:10px;margin:4px 0 10px}.spotbar-fill{background:var(--accent);height:100%;transition:width .2s}.spotbar-fill-warn{background:#e0a030}.spotbar-fill-urgent{background:#e05555}.btn{cursor:pointer;font:800 16px var(--font-h);letter-spacing:.03em;text-transform:uppercase;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{color:var(--ink);border:1.5px solid var(--ink-dim);background:0 0}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:default}.avatar-row{display:flex}.avatar-row image-slot{border:2px solid var(--bg);border-radius:50%;width:34px;height:34px;margin-left:-9px}.avatar-row image-slot:first-child{margin-left:0}.gamecard{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.gamecard:last-child{border-bottom:none}.gametime{font:800 19px var(--font-h)}.gameday{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.gtitle{font:700 16px var(--font-b);color:var(--ink);overflow-wrap:anywhere}.gmeta{color:var(--ink-dim);font-size:14px}.field{flex-direction:column;gap:6px;min-width:0;font-size:14px;display:flex}.field label{font:700 13px var(--font-h);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.input{background:var(--panel-2);border:1.5px solid var(--line);color:var(--ink);font:600 16px var(--font-b);padding:13px 14px}.seg{border:1.5px solid var(--line);display:flex}.seg label{text-align:center;font:700 15px var(--font-h);text-transform:uppercase;cursor:pointer;flex:1;padding:12px 0;position:relative}.seg input{opacity:0;position:absolute}.seg label:has(input:checked){background:var(--accent);color:var(--accent-ink)}.seg label:not(:last-child){border-right:1.5px solid var(--line)}.seg-format label{text-transform:none;letter-spacing:0;font-family:var(--font-b);font-weight:600}.lockcard{background:var(--panel-2);border:1.5px dashed var(--ink-dim);padding:16px}table.lb{border-collapse:collapse;width:100%;font-size:15px}table.lb th{text-align:left;font:700 13px var(--font-h);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1.5px solid var(--line);padding-bottom:8px}table.lb td{border-bottom:1px solid var(--line);padding:10px 0}.rank{font:800 20px var(--font-h);color:var(--accent);width:26px}.panel{background:var(--panel-2);border:1px solid var(--line);padding:20px}.cols2{grid-template-columns:1fr;gap:20px;display:grid}.cols2>*{min-width:0}.teamcol{background:var(--panel-2);min-width:0;padding:14px}.teams-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.team-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.team-card-name{white-space:nowrap;margin:0}.chip{background:var(--panel);font:600 15px var(--font-b);align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.team-pick-row{flex-wrap:wrap;gap:10px;margin-bottom:6px;display:flex}.team-pick{background:var(--panel);border:1.5px solid var(--line);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:11px 14px;display:flex}.team-pick-selected{border-color:var(--accent)}.team-pick-label{font:700 15px var(--font-b);flex-direction:column;gap:2px;line-height:1.2;display:flex}.team-pick-label .sub{white-space:nowrap}.otp{gap:8px;display:flex}.otp input{text-align:center;min-width:0;height:54px;font:800 22px var(--font-h);background:var(--panel-2);border:1.5px solid var(--line);color:var(--ink);flex:1}.rosterrow{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.matchrow{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.avatar{background:var(--panel-2);border:1px solid var(--line);width:32px;height:32px;font:700 12px var(--font-h);color:var(--ink-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.scorebox{justify-content:center;align-items:center;gap:20px;padding:20px 0;display:flex}.scoreinput{text-align:center;width:72px;height:72px;font:800 34px var(--font-h);background:var(--panel-2);border:1.5px solid var(--line);color:var(--ink)}.vs{font:800 14px var(--font-h);color:var(--ink-dim);text-transform:uppercase}.frame{width:100%;max-width:var(--frame-max);padding-left:var(--page-gutter);padding-right:var(--page-gutter);margin-left:auto;margin-right:auto}.shell{width:100%;max-width:var(--page-max)}main.frame{padding-top:var(--page-pad-y);padding-bottom:var(--page-pad-y)}.webnav{border-bottom:1.5px solid var(--line);background:var(--panel)}.webnav-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px;display:grid}.webnav .links{font:700 16px var(--font-h);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);justify-content:center;gap:32px;display:flex}.webnav .links a{color:inherit;white-space:nowrap;text-decoration:none}.brand-mark{font:800 24px var(--font-h);letter-spacing:.02em;color:var(--ink);flex-shrink:0;justify-self:start;text-decoration:none}.brand-mark b{color:var(--accent)}.nav-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.nav-create{flex-shrink:0;padding:12px 18px}.nav-login{font:700 16px var(--font-h);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);white-space:nowrap;text-decoration:none}.nav-user{color:inherit;flex-shrink:0;align-items:center;text-decoration:none;display:flex}.nav-user-avatar{width:32px;height:32px;font-size:12px}.profile{padding-bottom:28px}.profile-card{text-align:left;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.profile-card-avatar{flex-shrink:0;width:64px;height:64px;font-size:22px}.profile-card-name{font:800 24px var(--font-h);letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere;max-width:100%;margin-bottom:8px;line-height:1.15}.profile-card-edit{cursor:pointer;color:var(--ink);text-decoration:underline}.profile-lang{margin-bottom:20px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.profile-stat{text-align:center;padding:14px 8px}.profile-stat-value{font:800 28px var(--font-h)}.profile-list{margin-bottom:20px}.profile-bottom,.profile-bottom .lockcard{margin-top:8px}.grid-cards{grid-template-columns:1fr;gap:18px;display:grid}.gcard{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;padding:18px}.gcard-past{opacity:.55;filter:grayscale(40%)}.gamecard-past{opacity:.55}.disc-hero{cursor:pointer;aspect-ratio:12/5;margin-bottom:14px;position:relative;overflow:hidden}.disc-hero-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.disc-hero-fade{background:linear-gradient(#0000 40%,#000000bf);position:absolute;inset:0}.disc-hero-body{position:absolute;bottom:12px;left:14px;right:14px}.disc-hero-title{font:800 20px var(--font-h);color:#fff;text-transform:none}.podium{justify-content:center;align-items:flex-end;gap:10px;margin-bottom:18px;display:flex}.podium-slot{text-align:center;border-bottom:2px solid var(--ink-dim);min-width:72px;padding-bottom:8px}.podium-rank{font:800 30px var(--font-h);color:var(--ink-dim)}.podium-slot-1{border-bottom-color:var(--place-1)}.podium-slot-2{border-bottom-color:var(--place-2)}.podium-slot-3{border-bottom-color:var(--place-3)}.podium-slot-1 .podium-rank{color:var(--place-1);font-size:40px}.podium-slot-2 .podium-rank{color:var(--place-2)}.podium-slot-3 .podium-rank{color:var(--place-3)}.podium-avatar{width:44px;height:44px;margin:0 auto 6px;font-size:14px}.podium-slot-1 .podium-avatar{outline:2px solid var(--place-1);width:56px;height:56px;font-size:18px}.podium-slot-2 .podium-avatar{outline:2px solid var(--place-2)}.podium-slot-3 .podium-avatar{outline:2px solid var(--place-3)}.podium-name{overflow-wrap:anywhere;font-size:11px;font-weight:700}.podium-slot-1 .podium-name{color:var(--place-1);font-size:13px}.podium-slot-2 .podium-name{color:var(--place-2)}.podium-slot-3 .podium-name{color:var(--place-3)}.podium-meta{color:var(--ink-dim);margin-top:2px;font-size:11px}.empty-dash{text-align:center;border:1px dashed var(--ink-dim);color:var(--ink-dim);margin-bottom:20px;padding:20px;font-size:13px}.kp-map{border:1px solid var(--line);z-index:0;width:100%}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--ink);box-shadow:none;border:1px solid var(--line);border-radius:0}.leaflet-popup-content{margin:10px 12px}.kp-popup-name{font:700 16px var(--font-b)}.kp-popup-addr{color:var(--ink-dim);margin-top:3px;font-size:14px}.kp-pin{background:0 0;border:none}.kp-pin-dot{background:var(--accent);border:2px solid var(--bg);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;display:block}.kp-pin-selected .kp-pin-dot{width:18px;height:18px}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background-color:color-mix(in srgb, var(--accent) 40%, transparent)}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background-color:var(--accent);color:var(--accent-ink);font:800 13px var(--font-h)}@media (width<=700px){:root{--page-max:none;--frame-max:none;--page-gutter:16px;--page-pad-y:20px}.webnav-inner{grid-template-columns:1fr auto;grid-template-areas:"logo actions""links links";gap:12px;padding-top:14px;padding-bottom:14px}.brand-mark{grid-area:logo}.webnav .links{grid-area:links;justify-content:flex-start;gap:18px}.nav-actions{flex-wrap:nowrap;grid-area:actions}.teams-row{grid-template-columns:repeat(2,1fr)}.scoreinput{width:56px;height:56px;font-size:24px}}
