.fl{--fl-lime:#c7f075;--fl-bg:#0b201b;--fl-muted:#acc1b7;background:var(--fl-bg);color:#f4f7ef;min-height:100vh;padding:24px 18px 64px;font-family:Arial,sans-serif}.fl *{box-sizing:border-box}.fl header,.fl main,.fl footer{max-width:960px;margin:auto}.fl header{border-bottom:1px solid #345044;justify-content:space-between;align-items:center;gap:16px;padding-bottom:28px;display:flex}.fl a{color:var(--fl-lime)}.fl .brand{letter-spacing:-1px;font-size:25px;font-weight:800}.fl .eyebrow{color:var(--fl-lime);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:700}.fl h1{letter-spacing:-2px;margin:24px 0 16px;font-size:clamp(34px,7vw,64px);font-weight:800;line-height:1.05}.fl h2{margin:0 0 16px;font-size:24px;font-weight:750}.fl h3{font-size:18px;font-weight:700}.fl p{color:var(--fl-muted);margin:12px 0;line-height:1.6}.fl .hero{max-width:650px;padding:50px 0}.fl .panel{background:#142d24;border:1px solid #345044;border-radius:18px;margin:20px 0;padding:24px}.fl .row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fl .between{justify-content:space-between}.fl .grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.fl button,.fl .button{background:var(--fl-lime);color:#102016;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 18px;font-weight:750;text-decoration:none;display:inline-flex}.fl button.secondary{color:#f4f7ef;background:#203c30;border-color:#527160}.fl button.danger{color:#ffe9e9;background:#5b2828}.fl button:disabled{opacity:.45;cursor:not-allowed}.fl button:focus-visible,.fl input:focus-visible,.fl select:focus-visible,.fl textarea:focus-visible{outline-offset:3px;outline:3px solid #fff}.fl label{color:#d5e3d8;gap:8px;margin:12px 0;font-size:14px;display:grid}.fl input,.fl select,.fl textarea{color:#fff;min-height:48px;font:inherit;background:#092019;border:1px solid #527160;border-radius:8px;width:100%;padding:12px}.fl textarea{min-height:140px}.fl input[type=checkbox]{width:24px;min-height:24px;accent-color:var(--fl-lime)}.fl .check{align-items:center;display:flex}.fl .status{color:#d5e3d8;background:#203c30;border-radius:20px;padding:8px 12px;font-size:12px}.fl .notice{color:#edf9d4;white-space:pre-wrap;background:#293c24;border:1px solid #a1b866;border-radius:10px;padding:16px}.fl .error{color:#ffe5dc;background:#442520;border-color:#d18475}.fl .clock{letter-spacing:-4px;font-variant-numeric:tabular-nums;font-size:clamp(64px,16vw,100px);font-weight:800;line-height:1.1}.fl .clockpanel{text-align:center;padding:24px}.fl .clockpanel .row{justify-content:center}.fl .player{border-top:1px solid #345044;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.fl .player small{color:var(--fl-muted);margin-top:4px;display:block}.fl .selected{outline:2px solid var(--fl-lime);outline-offset:5px;border-radius:5px}.fl .minutes{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.fl table{border-collapse:collapse;width:100%;font-size:14px}.fl th,.fl td{text-align:left;border-bottom:1px solid #345044;padding:12px 8px}.fl .scroll{overflow:auto}.fl details{padding:16px 0}.fl summary{cursor:pointer;min-height:40px;font-weight:700}.fl footer{color:var(--fl-muted);padding-top:32px;font-size:12px}.fl .small{font-size:12px}.fl .tag{background:#345044;border-radius:5px;padding:3px 6px;font-size:11px}.fl .form-actions{margin-top:20px}.fl .history{max-height:300px;overflow:auto}.fl .history button{min-height:40px;font-size:12px}.fl .loading{padding:70px 0}@media (max-width:560px){.fl{padding:18px 12px 50px}.fl .panel{padding:18px}.fl header{gap:8px}.fl header .brand{font-size:21px}.fl .row>button{flex-grow:1}.fl .player button{padding:10px}.fl h1{letter-spacing:-1px}.fl .grid{grid-template-columns:1fr}}.fl .weather-companion{border:1px solid #345044;border-radius:12px;margin:20px 0;padding:16px 20px}.fl .weather-companion a{text-underline-offset:4px;align-items:center;min-height:48px;padding:8px 0;font-weight:700;display:inline-flex}.fl .weather-companion a:focus-visible{outline:2px solid var(--fl-lime);outline-offset:4px}.fl{font-family:var(--font-geist-sans),system-ui,sans-serif;background:radial-gradient(at 80% 0,#1e4430 0,#0000 42%),#0b201b}.fl header{flex-wrap:wrap}.fl .brand{color:#f4f7ef;letter-spacing:-.8px;align-items:center;gap:12px;text-decoration:none;display:flex}.fl .brand svg{color:#c7f075;--mark-ink:#174c3c;flex-shrink:0}.fl .brand small{letter-spacing:2px;color:#acc1b7;margin-top:4px;font-size:8px;display:block}.fl .suite-home-link{text-underline-offset:4px;padding:12px 0;font-size:12px;font-weight:650}.fl .status{border:1px solid #41634b;max-width:100%}.fl a:focus-visible{outline-offset:4px;outline:3px solid #fff}.fl .team-toolbar{margin:14px 0}.fl .team-toolbar label{min-width:180px;margin:0}.fl .kickoff-panel{background:linear-gradient(115deg,#25422e,#183c2a);border-color:#557d46;position:relative;overflow:hidden}.fl .kickoff-panel h1{letter-spacing:-1.5px;margin-top:8px}.fl .kickoff-panel p{max-width:500px}.fl .games-heading{margin:30px 0 15px}.fl .games-heading .tag{margin-left:8px}.fl .empty-games{border:1px dashed #4a6855;border-radius:12px;padding:25px;font-size:14px}.fl .roster-entry{border-top:1px solid #345044;padding:14px 0}.fl .roster-entry strong{font-size:14px}.fl .roster-entry button{min-height:44px;font-size:12px}.fl .weather-companion{background:#302f20;border-color:#706441}.fl .weather-companion p{color:#d8d3b6;margin:0}.fl .weather-companion a{color:#f4cf83}.fl .weather-companion .small{color:#bbb89e;font-size:10px}.fl .clockpanel{background:linear-gradient(160deg,#203e2a,#0f271d)}.fl .history .player>span{font-size:13px;line-height:1.6}.fl .history button{flex-shrink:0}.fl .player>div,.fl .player>span{overflow-wrap:anywhere;min-width:0}.fl .minutes{white-space:nowrap}.fl footer{border-top:1px solid #345044;margin-top:32px}.fl .loading{min-height:50vh;font-size:20px}.fl .loading:before{content:"◌";color:#c7f075;margin-bottom:18px;font-size:38px;display:block}.fl button:hover:not(:disabled),.fl .button:hover{filter:brightness(1.1)}.fl .small{line-height:1.6}@media (max-width:560px){.fl header{align-items:flex-start;padding-bottom:18px}.fl header>.row{justify-content:space-between;width:100%}.fl .panel{border-radius:13px}.fl .player{gap:8px}.fl .history .player{flex-wrap:wrap}.fl .team-toolbar{align-items:end}.fl .team-toolbar label{flex:1;min-width:150px}.fl .team-toolbar>button{flex-grow:0}.fl .clockpanel{padding:20px 12px}.fl h2{font-size:23px}.fl .notice>button{margin:12px 0 0!important}}.fl .team-import{background:#0d2921;border:1px solid #456456;border-radius:12px;margin:20px 0;padding:18px}.fl .team-import h3{margin-top:0}.fl .team-import input[type=file]{max-width:100%;font-size:14px}.fl .team-import a{text-underline-offset:3px;text-decoration:underline}.fl .import-player-preview{max-height:230px;padding-left:24px;line-height:1.8;overflow:auto}.fl .team-import [role=alert]{color:#ffbaae}.fl .import-roster-editor{margin-bottom:20px}.fl .screenshot-import{margin:18px 0}.fl .other-imports{border-top:1px solid #456456;padding-top:14px}.fl .recognized-roster-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;font-size:12px;overflow:auto}.fl .screenshot-result details{margin-top:14px}.fl .import-roster-editor>.grid{border-bottom:1px solid #456456;margin-bottom:18px;padding-bottom:14px}.fl .import-roster-editor>button{margin:8px 8px 8px 0}.fl .roster-player-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fl .jersey-number-button{color:#c7f075;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;background:#213e30;border:1px solid #779b70;min-width:56px;max-width:110px;min-height:48px;padding:10px}.fl .roster-player-name{overflow-wrap:anywhere;flex:1;min-width:100px}.fl .jersey-number-editor{border:1px solid #456456;border-radius:10px;margin-top:14px;padding:16px}.fl .jersey-number-editor input{max-width:160px}.fl .sortable-roster-row{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px;display:grid;position:relative}.fl .sortable-roster-row.dragging{z-index:5;background:#193b2b;border-radius:10px;box-shadow:0 8px 24px #0008}.fl .roster-drag-handle{touch-action:none;color:#b6ceab;cursor:grab;background:0 0;border:1px solid #456456;min-width:44px;min-height:48px;margin-top:14px;padding:8px;font-size:25px}.fl .roster-drag-handle:active{cursor:grabbing}.fl .sortable-roster-player{min-width:0}@media (prefers-reduced-motion:reduce){.fl .sortable-roster-row{transition:none!important}}
