@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;650;700&display=swap";:root{--fb-bg:#f8fafc;--fb-ink:#17324a;--fb-muted:#60758a;--fb-border:#dbe7f0;--fb-card:#fff;--fb-blue:#2d8de8;--fb-pink:#ed5f8c}.football-app{background:var(--fb-bg);min-height:100vh;color:var(--fb-ink);font-family:Fira Sans,system-ui,sans-serif}.football-app button,.football-app select,.football-app input{font:inherit}.football-header{border-bottom:1px solid var(--fb-border);background:linear-gradient(120deg,#f8fbff,#eef6fc 55%,#e8f4f1);justify-content:space-between;gap:28px;padding:42px max(24px,50vw - 720px);display:flex}.eyebrow,.section-kicker{color:#5d7a91;letter-spacing:.12em;text-transform:uppercase;font:600 11px/1.3 Fira Code,monospace}.football-header h1{letter-spacing:-.055em;color:#102f47;margin:12px 0 8px;font-size:clamp(28px,4vw,54px);line-height:1.03}.football-header p,.tactics-toolbar p{color:var(--fb-muted);margin:0;font-size:15px}.header-actions,.board-controls,.filter-row,.team-switch{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.header-actions{align-self:center}.primary-button,.ghost-button,.tiny-button,.team-switch button,.position-tabs button{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:42px;padding:0 16px;transition:all .2s}.primary-button{color:#fff;background:#1e40af;box-shadow:0 6px 18px #1e40af30}.ghost-button{color:#23445e;background:#fff8;border-color:#b9d0df}.football-main{width:min(1440px,100% - 48px);margin:0 auto;padding:28px 0 72px}.hero-grid,.insight-grid,.dashboard-grid{gap:18px;display:grid}.hero-grid{grid-template-columns:1.35fr .65fr;margin-bottom:18px}.hero-card,.team-scorecard,.panel,.tactics-section{background:var(--fb-card);border:1px solid var(--fb-border);border-radius:18px;box-shadow:0 14px 40px #193b5310}.hero-card{color:#fff;background:linear-gradient(135deg,#071d2d,#0f344d);padding:30px}.hero-card p{color:#b4cbd9;max-width:620px}.hero-number{letter-spacing:-.08em;margin:18px 0 6px;font:600 clamp(58px,8vw,100px)/.9 Fira Code,monospace}.hero-number small{letter-spacing:0;color:#a6c2d2;margin-left:12px;font:500 16px Fira Sans,sans-serif}.hero-meta{color:#a9c4d4;border-top:1px solid #ffffff25;gap:26px;margin-top:28px;padding-top:18px;font-size:13px;display:flex}.hero-meta strong{color:#fff;margin-left:5px;font:600 15px Fira Code,monospace}.team-scorecard .section-kicker{margin-bottom:24px;display:block}.team-score-row{border-bottom:1px solid #edf2f6;grid-template-columns:16px 1fr auto auto;align-items:center;gap:10px;padding:13px 0;display:grid}.team-score-row strong{font:600 28px Fira Code,monospace}.team-score-row em{color:#8497a5;font-size:12px;font-style:normal}.team-dot{border-radius:50%;width:11px;height:11px}.team-dot.blue{background:var(--fb-blue)}.team-dot.pink{background:var(--fb-pink)}.score-note{color:var(--fb-muted);margin-top:20px;font-size:13px;line-height:1.5}.insight-grid{grid-template-columns:1fr 1fr;margin-bottom:18px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panel-head h2,.tactics-toolbar h2{letter-spacing:-.04em;margin:6px 0 0;font-size:20px}.panel-value{color:#1e40af;font:600 18px Fira Code,monospace}.month-bars{border-bottom:1px solid var(--fb-border);justify-content:space-around;align-items:end;gap:18px;height:180px;padding:0 16px 2px;display:flex}.month-bar{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:7px;height:100%;display:flex}.month-bar strong{font:600 13px Fira Code,monospace}.month-bar span{color:var(--fb-muted);font-size:12px}.bar-track{background:#edf3f8;border-radius:8px 8px 3px 3px;align-items:end;width:32px;height:125px;display:flex;overflow:hidden}.bar-fill{background:linear-gradient(#2d8de8,#79c6c4);border-radius:8px 8px 0 0;width:100%;transition:all .4s}.generation-list{flex-direction:column;gap:15px;padding-top:4px;display:flex}.generation-row{grid-template-columns:58px 1fr 28px;align-items:center;gap:12px;font-size:13px;display:grid}.generation-row strong{text-align:right;font:600 13px Fira Code,monospace}.mini-track{background:#edf3f7;border-radius:99px;height:9px;overflow:hidden}.mini-track i{background:#86b99f;border-radius:99px;height:100%;display:block}.dashboard-grid{grid-template-columns:1.38fr .62fr;margin-bottom:18px}.filter-row input,.filter-row select,.board-controls select,.roster-table select{border:1px solid var(--fb-border);min-height:38px;color:var(--fb-ink);background:#fff;border-radius:9px;padding:0 10px}.filter-row input{width:140px}.position-tabs{gap:6px;margin-bottom:14px;display:flex}.position-tabs button{color:#587087;background:#f4f7fa;min-height:32px;padding:0 12px;font-size:12px}.position-tabs button.active{color:#fff;background:#1e40af}.roster-table{font-size:13px}.table-row{border-top:1px solid #edf2f6;grid-template-columns:1.4fr .7fr .7fr .65fr .5fr;align-items:center;gap:8px;min-height:48px;display:grid}.table-header{color:#7990a1;border-top:0;min-height:34px;font-size:11px;font-weight:600}.member-name{align-items:center;gap:8px;font-weight:600;display:flex}.member-name i{border-radius:50%;flex:none;width:8px;height:8px}.roster-table select{min-height:30px;padding:0 6px;font-size:12px}.tiny-button{color:#265f8c;background:#eff6ff;border-color:#cbdff3;min-height:30px;padding:0 9px;font-size:12px}.date-list{flex-direction:column;display:flex}.date-row{border-top:1px solid #edf2f6;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.date-row div{align-items:center;gap:12px;display:flex}.date-row strong{font:600 14px Fira Code,monospace}.date-row span{color:var(--fb-muted);font-size:12px}.date-row b{color:#246b8e;font:600 14px Fira Code,monospace}.tactics-toolbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.tactics-toolbar .section-kicker{color:#76aeca}.board-controls label{color:#9bb7c6;align-items:center;gap:8px;font-size:12px;display:flex}.board-controls select{min-height:40px}.team-switch{background:#102f43;border-radius:12px;padding:4px}.team-switch button{color:#9db5c4;background:0 0;border-color:#0000;min-height:34px;font-size:12px}.team-switch button.active{color:#fff}.team-switch .blue-active{background:#276da8}.team-switch .pink-active{background:#b84d71}.tactics-layout{grid-template-columns:1fr 280px;gap:14px;display:grid}.field-stage{background:#0c2a3a;border:1px solid #2e5264;border-radius:14px;min-height:520px;position:relative;overflow:hidden}.field-stage canvas{touch-action:none;width:100%;height:520px;display:block}.field-help{color:#b7d1db;background:#071d2dce;border-radius:7px;padding:7px 10px;font-size:11px;position:absolute;bottom:12px;left:14px}.bench-panel{background:#0b2737;border:1px solid #244759;border-radius:14px;padding:16px}.bench-header{color:#b6ccd8;border-bottom:1px solid #244759;justify-content:space-between;padding-bottom:12px;font:500 12px Fira Code,monospace;display:flex}.bench-header strong{color:#fff}.bench-list{flex-direction:column;gap:7px;max-height:425px;margin-top:12px;display:flex;overflow:auto}.bench-player{text-align:left;color:#fff;cursor:pointer;background:#102f43;border:1px solid #244759;border-radius:9px;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;padding:9px;display:grid}.bench-player strong{font-size:12px;display:block}.bench-player small{color:#9db5c4;margin-top:3px;font-size:10px;display:block}.bench-number{color:#b7e5f1;background:#1b526c;border-radius:50%;place-items:center;width:26px;height:26px;font:600 11px Fira Code,monospace;display:grid}.bench-player i{color:#82cba6;font-size:18px;font-style:normal}.save-status{color:#8fb1be;margin-top:14px;font-size:11px;line-height:1.45}@media (width<=980px){.hero-grid,.dashboard-grid{grid-template-columns:1fr}.tactics-toolbar{flex-direction:column;align-items:start}.tactics-layout{grid-template-columns:1fr}.bench-panel{min-height:160px}.bench-list{grid-template-columns:repeat(2,1fr);max-height:240px;display:grid}}@media (width<=640px){.football-header{padding:28px 18px;display:block}.header-actions{margin-top:22px}.football-main{width:calc(100% - 28px);padding-top:18px}.hero-card,.team-scorecard,.panel,.tactics-section{border-radius:14px;padding:18px}.hero-meta{flex-wrap:wrap;gap:12px}.insight-grid{grid-template-columns:1fr}.filter-row{width:100%}.filter-row input{flex:1}.table-row{grid-template-columns:1.3fr .55fr .55fr .55fr .45fr;font-size:11px}.table-row select{max-width:56px}.field-stage,.field-stage canvas{height:390px;min-height:390px}.board-controls{width:100%}.board-controls .primary-button{flex:1}.bench-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.football-nav{z-index:5;border-bottom:1px solid var(--fb-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:center;gap:8px;padding:10px 24px;display:flex;position:sticky;top:0}.football-nav button{color:#587087;min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;padding:0 18px;font-size:13px;font-weight:600}.football-nav button:hover{color:#17324a;background:#f1f6fa}.football-nav button.active{color:#fff;background:#173b56}.football-nav button:focus-visible,.text-button:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.football-nav button.active:focus-visible{outline-color:#ffcf67}.text-button{color:#246b8e;font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600}.screen-description{color:var(--fb-muted);margin:7px 0 0;font-size:13px;line-height:1.5}.dashboard-note{color:#70889a;margin:14px 0 0;font-size:11px;line-height:1.5}.team-dot.unassigned{background:#94a3b8}.overview-panel{margin-bottom:18px}.top-attendance{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.top-attendance-row{border-top:1px solid #edf2f6;grid-template-columns:32px minmax(0,1fr) 72px auto;align-items:center;gap:10px;min-height:44px;display:grid}.top-attendance-row>span{color:#8295a4;font:600 11px Fira Code,monospace}.top-attendance-member{color:#173b56;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:3px 0;font-size:13px;font-weight:650;-webkit-text-decoration:underline #9bb5c7;text-decoration:underline #9bb5c7;text-decoration-thickness:1px}.top-attendance-member:hover{color:#1676a5;text-decoration-color:currentColor}.top-attendance-member:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #ffbf47}.top-attendance-details{color:#36546a;background:#f4f8fb;border-radius:10px;grid-column:2/-1;padding:10px 12px 12px}.top-attendance-details>strong{font-size:11px}.top-attendance-details>strong small{color:#71889a;font-size:10px;font-weight:500}.top-attendance-details ul{flex-wrap:wrap;gap:7px;margin:8px 0 0;padding:0;list-style:none;display:flex}.top-attendance-details li{background:#fff;border:1px solid #e1eaf0;border-radius:8px;align-items:center;gap:7px;padding:6px 9px;font-size:11px;display:flex}.top-attendance-details li time{color:#71889a;font:500 10px Fira Code,monospace}.top-attendance-details p{color:#71889a;margin:7px 0 0;font-size:11px}.top-attendance-row>i{color:#73899a;font-size:11px;font-style:normal}.top-attendance-row>b{text-align:right;color:#1e5681;font:600 14px Fira Code,monospace}.top-attendance-row>b small{color:#8da0ac;font-size:10px}.attendance-screen{min-height:60vh}.event-detail{border-top:1px solid #edf2f6}.event-detail summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 78px;align-items:center;gap:16px;min-height:58px;list-style:none;display:grid}.event-detail summary::-webkit-details-marker{display:none}.event-detail summary>span{align-items:center;gap:16px;display:flex}.event-detail summary strong{font:600 14px Fira Code,monospace}.event-detail summary small{color:#71889a;font-size:12px}.event-detail summary>b{color:#246b8e;font:600 14px Fira Code,monospace}.event-detail summary>i{color:#8497a5;text-align:right;font-size:11px;font-style:normal}.event-detail[open] summary>i{color:#246b8e}.event-attendance-groups{gap:10px;padding:2px 0 16px;display:grid}.event-attendance-group{background:#fbfdfe;border:1px solid #e7eef3;border-radius:10px;padding:11px 12px}.event-attendance-group h3{align-items:center;gap:8px;margin:0 0 9px;font-size:12px;display:flex}.event-attendance-group h3 b{color:#246b8e;background:#e8f2f8;border-radius:99px;padding:3px 7px;font-size:10px}.event-attendees{flex-wrap:wrap;gap:7px;display:flex}.event-attendees span{color:#36546a;background:#f8fafc;border:1px solid #e1eaf0;border-radius:99px;padding:6px 9px;font-size:11px}.members-screen{min-width:0}.members-screen .filter-row{justify-content:flex-end}.members-screen .filter-row input{width:140px}.members-screen .roster-table{overflow-x:auto}.members-screen .table-row{grid-template-columns:1.2fr .6fr 1.3fr .72fr;min-width:740px}.members-screen .position-pair{align-items:center;gap:6px;display:flex}.members-screen .position-pair label{color:#8195a3;gap:2px;font-size:9px;display:grid}.members-screen .position-pair select{min-height:28px}.members-screen .position-pair>small{color:#8497a5;font-size:10px}.member-age-section{margin-top:8px}.member-age-section-heading{color:#34566d;background:#f5f8fb;border-top:1px solid #dce7ed;border-bottom:1px solid #e5edf2;min-width:740px;margin:0;padding:10px 8px;font-size:13px}.member-age-section-heading span{color:#8295a4;margin-left:3px;font-size:11px;font-weight:500}.members-screen .panel-head{align-items:center}.members-screen .filter-row{gap:8px}.members-screen .member-assignment-save{white-space:nowrap;min-height:40px;padding:0 14px}.member-team-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.member-team-column{background:#f9fbfd;border:1px solid #dbe7f0;border-top:3px solid #2d8de8;border-radius:14px;min-width:0;min-height:220px;padding:14px;transition:background .16s,border-color .16s,box-shadow .16s}.member-team-column-pink{border-top-color:#ed5f8c}.member-team-column.is-drop-target{background:#edf7fc;border-color:#3289bb;box-shadow:inset 0 0 0 2px #3289bb35}.member-team-column-pink.is-drop-target{background:#fff1f5;border-color:#d84c79;box-shadow:inset 0 0 0 2px #d84c7935}.member-team-column-head{align-items:center;gap:9px;min-height:34px;display:flex}.member-team-column-head h3{color:#173b56;flex:1;margin:0;font-size:16px}.member-team-column-pink .member-team-column-head h3{color:#9f3559}.member-team-column-head>strong{color:#225f8b;font:600 20px Fira Code,monospace}.member-team-column-pink .member-team-column-head>strong{color:#b34263}.member-team-column-head>strong small{color:#8497a5;margin-left:3px;font:500 11px Fira Sans,sans-serif}.member-team-drop-hint{color:#71889a;margin:5px 0 12px;font-size:11px}.member-team-age-group{margin-top:12px}.member-team-age-group h4{color:#34566d;background:#f0f5f8;border:1px solid #e2eaf0;border-radius:8px;justify-content:space-between;align-items:center;margin:0 0 7px;padding:7px 8px;font-size:12px;display:flex}.member-team-age-group h4 span{color:#7a8e9b;font-size:11px;font-weight:500}.member-team-card-list,.member-unassigned-list{gap:7px;display:grid}.member-team-card{cursor:grab;background:#fff;border:1px solid #e0e9ef;border-radius:10px;min-width:0;padding:10px;transition:border-color .14s,box-shadow .14s,opacity .14s;box-shadow:0 2px 7px #193b5308}.member-team-card:hover{border-color:#a9c8dc;box-shadow:0 5px 15px #193b5312}.member-team-column-pink .member-team-card:hover{border-color:#e6a5b9}.member-team-card:active{cursor:grabbing}.member-team-card.is-dragging{opacity:.45}.member-team-card:focus-visible,.member-team-card button:focus-visible,.member-team-card select:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.member-team-card-main{align-items:center;gap:9px;min-width:0;display:flex}.member-team-avatar{color:#286a96;background:#eaf4fc;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.member-team-column-pink .member-team-avatar{color:#b34263;background:#fff0f4}.member-team-identity{flex:1;gap:3px;min-width:0;display:grid}.member-team-identity strong{color:#18394f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.member-team-identity span{color:#71889a;font-size:10px}.member-team-position{color:#4e687a;white-space:nowrap;background:#f1f5f8;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:650}.member-team-card-bottom{border-top:1px solid #eef2f5;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 0 43px;padding-top:7px;display:flex}.member-team-card .position-pair{align-items:center;gap:6px;display:flex}.member-team-card .position-pair label{color:#71889a;gap:2px;font-size:9px;display:grid}.member-team-card .position-pair select{color:#35566c;background:#fff;border:1px solid #d8e3ea;border-radius:6px;min-height:30px;padding:2px 20px 2px 6px;font-size:10px}.member-team-card .position-pair>small{color:#8497a5;font-size:10px}.member-team-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.member-team-card-actions button{color:#456579;cursor:pointer;white-space:nowrap;background:#f7fafc;border:1px solid #d8e3ea;border-radius:7px;min-height:32px;padding:0 8px;font-size:10px;font-weight:650}.member-team-column-blue .member-team-card-actions button{color:#286a96;background:#f0f8fd;border-color:#d1e6f4}.member-team-column-pink .member-team-card-actions button{color:#a54261;background:#fff5f8;border-color:#f2d7e0}.member-unassigned-zone{background:#fbfcfd;border:1px dashed #b8c8d3;border-radius:14px;margin-top:18px;padding:16px}.member-unassigned-zone>header{justify-content:space-between;align-items:center;display:flex}.member-unassigned-zone>header h3{color:#34566d;margin:4px 0 0;font-size:15px}.member-unassigned-zone>header>span{color:#6e8495;font-size:12px;font-weight:650}.member-unassigned-zone>p{color:#71889a;margin:8px 0 12px;font-size:11px}.member-unassigned-list{grid-template-columns:repeat(3,minmax(0,1fr))}.member-team-empty{color:#71889a;text-align:center;padding:24px 8px;font-size:12px}@media (width<=760px){.football-nav{justify-content:flex-start;padding:8px 14px;overflow-x:auto}.football-nav button{padding:0 13px;font-size:12px}.members-screen .panel-head{flex-direction:column;align-items:stretch}.members-screen .filter-row{justify-content:stretch}.members-screen .filter-row input{flex:1;width:auto}.member-team-columns,.member-unassigned-list,.top-attendance{grid-template-columns:1fr}}@media (width<=480px){.event-detail summary{grid-template-columns:minmax(0,1fr) auto 58px;gap:8px}.event-detail summary>span{gap:8px}.event-detail summary strong{font-size:12px}.event-detail summary small,.event-detail summary>i{font-size:10px}.member-team-card{padding:9px}.member-team-card-bottom{flex-direction:column;align-items:flex-start;margin-left:43px}.member-team-card-actions{justify-content:flex-start}.members-screen .member-assignment-save{flex:1}}.roster-table>.table-row{grid-template-columns:minmax(90px,1.2fr) minmax(56px,.55fr) minmax(58px,.6fr) minmax(220px,2fr) minmax(52px,.5fr)}.position-pair{grid-template-columns:repeat(2,minmax(86px,1fr));gap:8px;min-width:0;display:grid}.position-pair label{color:#60758a;gap:4px;font-size:10px;line-height:1.2;display:grid}.position-pair select{width:100%;min-width:0;min-height:34px;padding:4px 7px}.roster-team-tabs{gap:6px;margin-top:10px;display:flex}.roster-team-tabs button{color:#60758a;cursor:pointer;background:#fff;border:1px solid #dbe7f0;border-radius:8px;min-height:32px;padding:0 10px;font-size:11px}.roster-team-tabs button.selected{color:#fff;background:#1e40af;border-color:#1e40af}@media (width<=640px){.dashboard-grid,.roster-panel,.roster-panel .panel-head{min-width:0}.roster-panel .panel-head{display:block}.roster-panel .filter-row{width:100%;max-width:100%;margin-top:12px}.roster-panel .filter-row input{flex:1;width:0;min-width:0}.roster-table{width:100%;min-width:0;overflow-x:auto}.roster-table>.table-row{min-width:620px}}:root{--fd-gray-0:#fff;--fd-gray-50:#f7f8fa;--fd-gray-100:#f0f2f5;--fd-gray-200:#e3e7ec;--fd-gray-300:#cbd2da;--fd-gray-500:#687382;--fd-gray-700:#343b45;--fd-gray-900:#171b21;--fd-blue-700:#245b86;--fd-blue-800:#19496f;--fd-blue-100:#eaf2f8;--fd-focus:#536a81;--fd-surface:var(--fd-gray-0);--fd-surface-muted:var(--fd-gray-50);--fd-surface-subtle:var(--fd-gray-100);--fd-text-primary:var(--fd-gray-900);--fd-text-secondary:var(--fd-gray-700);--fd-text-muted:var(--fd-gray-500);--fd-border:var(--fd-gray-200);--fd-border-strong:var(--fd-gray-300);--fd-accent:var(--fd-blue-700);--fd-accent-hover:var(--fd-blue-800);--fd-focus-ring:0 0 0 3px #536a814d;--fd-radius-sm:8px;--fd-radius-md:10px;--fd-radius-lg:14px;--fd-space-1:4px;--fd-space-2:6px;--fd-space-3:8px;--fd-space-4:10px;--fd-space-5:12px;--fd-space-6:14px;--fd-space-7:16px;--fd-space-8:20px;--fd-font-sans:"Geist", "Geist Fallback", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fd-font-size-xs:10px;--fd-font-size-sm:12px;--fd-font-size-md:12.8px;--fd-font-size-base:14px;--fd-font-size-lg:16px;--fd-font-size-xl:18px;--fd-font-size-2xl:20px;--fd-duration-instant:.15s;--fb-bg:var(--fd-surface-muted);--fb-ink:var(--fd-text-primary);--fb-muted:var(--fd-text-muted);--fb-border:var(--fd-border);--fb-card:var(--fd-surface);--fb-blue:#2780b9;--fb-pink:#d9577c}.football-app{color:var(--fd-text-primary);background:var(--fd-surface-muted);font-family:var(--fd-font-sans);font-size:var(--fd-font-size-base);-webkit-font-smoothing:antialiased;line-height:1.45}.football-app :is(button,input,select){font-family:inherit}.football-app :is(button,a,summary,select){-webkit-tap-highlight-color:transparent}.football-header{align-items:center;gap:var(--fd-space-6);border-bottom:1px solid var(--fd-border);background:var(--fd-surface);padding:10px max(24px,50vw - 660px)}.football-header>div:first-child{align-items:baseline;gap:var(--fd-space-5);flex:1;min-width:0;display:flex}.football-header .eyebrow,.section-kicker{color:var(--fd-text-muted);font-family:var(--fd-font-sans);font-size:var(--fd-font-size-xs);letter-spacing:.09em;font-weight:600}.football-header h1{color:var(--fd-text-primary);letter-spacing:-.035em;white-space:nowrap;margin:0;font-size:clamp(22px,2.2vw,27px);font-weight:650;line-height:1.25}.football-header p{white-space:nowrap;margin:0 0 0 auto}.tactics-toolbar p{color:var(--fd-text-muted);font-size:var(--fd-font-size-sm)}.header-actions{flex:none}.football-main{width:min(1320px,100% - 48px);padding:8px 0 16px}.football-nav{gap:var(--fd-space-2);border-color:var(--fd-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;padding:4px 20px;box-shadow:0 1px 2px #171b2108}.football-nav button{border-radius:var(--fd-radius-sm);min-height:38px;color:var(--fd-text-secondary);font-size:var(--fd-font-size-md);transition:color var(--fd-duration-instant), background var(--fd-duration-instant), box-shadow var(--fd-duration-instant);padding-inline:14px}.football-nav button:hover{background:var(--fd-surface-subtle);color:var(--fd-text-primary)}.football-nav button.active{background:var(--fd-gray-900);color:var(--fd-gray-0)}.football-nav:before{content:"";flex:1 1 0}.football-nav .header-actions{flex:1 1 0;justify-content:flex-end;margin:0;display:flex}.football-nav .header-actions button,.football-nav .header-actions button:hover{border-radius:var(--fd-radius-sm);min-height:38px;padding-inline:14px}.football-nav .header-actions .primary-button,.football-nav .header-actions .primary-button:hover{background:var(--fd-gray-900);color:var(--fd-gray-0)}.football-nav .header-actions .football-logout,.football-nav .header-actions .football-logout:hover{color:#526b7d;background:#fff;border:1px solid #dbe4eb}@keyframes fd-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fd-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fd-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-card,.team-scorecard,.insight-grid .panel,.overview-panel{animation:.6s cubic-bezier(.2,.7,.2,1) both fd-rise}.insight-grid .bar-fill{transform-origin:50% 100%;animation:.9s cubic-bezier(.2,.8,.2,1) both fd-grow-y}.insight-grid .mini-track i{transform-origin:0;animation:.9s cubic-bezier(.2,.8,.2,1) both fd-grow-x}@media (prefers-reduced-motion:reduce){.hero-card,.team-scorecard,.insight-grid .panel,.overview-panel,.insight-grid .bar-fill,.insight-grid .mini-track i{animation:none}}.event-post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.dues-table-wrap{border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);max-height:min(70vh,720px);margin-top:16px;overflow:auto}.dues-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:12px}.dues-table th,.dues-table td{text-align:center;white-space:nowrap;min-width:64px;color:var(--fd-text-primary);background:var(--fd-surface);border-bottom:1px solid #eef2f5;border-right:1px solid #eef2f5;padding:7px 10px}.dues-table thead th{z-index:2;color:var(--fd-text-secondary);background:#f1f5f8;border-bottom:1px solid #dbe4eb;font-weight:700;position:sticky;top:0}.dues-table th:first-child,.dues-table td:first-child{z-index:1;min-width:48px;position:sticky;left:0}.dues-table th:nth-child(2),.dues-table td:nth-child(2){z-index:1;text-align:left;min-width:88px;position:sticky;left:48px}.dues-table thead th:nth-child(-n+2){z-index:3}.dues-table td.dues-name{font-weight:700}.dues-table tbody tr:nth-child(2n) td,.dues-table tbody tr:nth-child(2n) td:nth-child(-n+2){background:#fafcfd}.dues-table tbody tr:hover td{background:#eef6fc}.dues-table td.is-paid{color:#1d3d55}.dues-table td.is-exempt{color:#7a5a00;background:#fff4c7;font-weight:600}.dues-table td.is-empty{color:#c3ced6}.dues-table-wrap:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.dues-empty{border:1px dashed var(--fd-border-strong);border-radius:var(--fd-radius-md);color:var(--fd-text-muted);text-align:center;margin:24px 0 8px;padding:28px 16px;font-size:13px}.attendance-view-toggle{border:1px solid var(--fd-border);background:var(--fd-surface-muted);border-radius:10px;padding:3px;display:inline-flex}.attendance-view-toggle button{min-height:34px;color:var(--fd-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:600}.attendance-view-toggle button[aria-pressed=true]{background:var(--fd-surface);color:var(--fd-text-primary);box-shadow:0 1px 2px #171b2114}.attendance-view-toggle button:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.attendance-calendar-view{display:none}.attendance-screen[data-view=calendar] .attendance-calendar-view{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;margin-top:20px;display:grid}.attendance-screen[data-view=calendar] .event-post-list{display:none}.attendance-calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-calendar-month{border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);min-width:0;padding:14px}.attendance-calendar-month h3{color:var(--fd-text-primary);margin:0 0 10px;font-size:15px;font-weight:600}.attendance-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.attendance-calendar-weekday{color:var(--fd-text-muted);text-align:center;padding:2px 0;font-size:11px}.attendance-calendar-cell{border:1px solid var(--fd-border);background:var(--fd-surface);min-height:50px;color:var(--fd-text-muted);font:inherit;text-align:left;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:5px 6px;display:flex}.attendance-calendar-cell.is-empty{background:0 0;border-color:#0000}.attendance-calendar-day{font-size:12px;font-weight:600}.attendance-calendar-cell.has-event{color:#173f5a;cursor:pointer;background:#eaf4fc;border-color:#cde3f4}.attendance-calendar-cell.has-event:hover{border-color:#8fbfe0}.attendance-calendar-cell.has-event.is-selected{box-shadow:inset 0 0 0 2px #2b6a9b}.attendance-calendar-cell.has-event strong{color:#2b6a9b;white-space:nowrap;font-size:12px;font-weight:700}@media (width<=1100px){.attendance-screen[data-view=calendar] .attendance-calendar-view{grid-template-columns:minmax(0,1fr)}.attendance-calendar-detail{position:static}}.attendance-calendar-cell:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.attendance-calendar-detail{border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);min-width:0;padding:18px;position:sticky;top:80px}.attendance-calendar-detail header{border-bottom:1px solid var(--fd-border);gap:4px;margin-bottom:14px;padding-bottom:12px;display:grid}.attendance-calendar-detail header strong{color:var(--fd-text-primary);font-size:15px}.attendance-calendar-detail header small{color:var(--fd-text-muted);font-size:12px}.attendance-calendar-hint{color:var(--fd-text-muted);margin:0;font-size:13px}.attendance-calendar-modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10283b88;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.attendance-calendar-modal{box-sizing:border-box;border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);width:min(340px,100%);max-height:min(80vh,640px);padding:20px 18px 18px;position:relative;overflow-y:auto;box-shadow:0 18px 55px #12233238}.attendance-calendar-modal .attendance-calendar-detail{background:0 0;border:0;min-width:0;padding:0;position:static}.attendance-calendar-modal-close{border:1px solid var(--fd-border);background:var(--fd-surface);width:36px;height:36px;color:var(--fd-text-secondary);cursor:pointer;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:10px;right:10px}.attendance-calendar-modal-close:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}@media (width<=760px){.attendance-calendar-view>.attendance-calendar-detail{display:none}.attendance-screen[data-view=calendar] .attendance-calendar-view{gap:12px;margin-top:14px}.attendance-calendar-months{grid-template-columns:minmax(0,1fr);gap:12px}.attendance-calendar-month{padding:12px}.attendance-calendar-grid{gap:3px}.attendance-calendar-cell{min-height:46px;padding:4px}.attendance-calendar-cell.has-event strong{font-size:11px}.attendance-calendar-detail{padding:14px}}.consistent-more{justify-content:flex-end;margin-top:12px;display:flex}.attendance-title-row{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.attendance-year-select{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);min-height:42px;color:var(--fd-text-primary);font:inherit;cursor:pointer;flex:none;padding:0 10px;font-size:13px;font-weight:600}.attendance-year-select:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.football-menu-toggle{display:none}.football-nav-list{display:contents}@media (width<=760px){.football-app .football-nav{flex-wrap:wrap;align-items:center;overflow:visible}.football-app .football-nav .football-menu-toggle{color:#17324a;background:#fff;border:1px solid #d5e0e8;border-radius:10px;flex:none;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:grid}.football-app .football-nav .football-menu-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.football-app .football-nav .football-nav-list{display:none}.football-app .football-nav .header-actions{order:1}.football-app .football-nav.is-menu-open .football-nav-list{z-index:30;background:#fff;border:1px solid #dbe4eb;border-radius:14px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:12px;right:12px;box-shadow:0 18px 40px #1223322e}.football-app .football-nav.is-menu-open .football-nav-tab{text-align:left;border-radius:10px;width:100%;min-height:46px;padding:0 14px;display:block}}.football-nav button.active{color:#fff;background:#2f6fdb;box-shadow:0 4px 12px #2f6fdb4d}@media (width<=760px){.football-app .football-nav{justify-content:flex-start;gap:6px;padding:8px 12px}.football-app .football-nav:before{display:none}.football-app .football-nav .header-actions{background:#fff;flex:none;margin:0 0 0 auto;padding-left:6px;position:sticky;right:0}.football-app .football-nav .header-actions .football-logout-icon{border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.football-app .football-nav .header-actions .primary-button{color:#fff;background:#2f6fdb;border-color:#2f6fdb;box-shadow:0 4px 10px #2f6fdb47}.football-app .football-nav .header-actions .primary-button:hover:not(:disabled){background:#2360c9;border-color:#2360c9}.football-app .football-nav .header-actions .football-logout{color:#d64545;background:#fff5f5;border-color:#f0b8b8}}.consistent-more-button{color:var(--fd-text-secondary);font:inherit;font-size:var(--fd-font-size-sm);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline}.consistent-more-button:hover{color:var(--fd-text-primary)}.consistent-more-button:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.event-post{box-sizing:border-box;background:var(--fd-surface);border:1.5px solid #24475e;border-radius:44px;min-width:0;margin:0;padding:20px 22px 22px}.event-post-title{color:var(--fd-text-primary);text-align:center;margin:0 auto;padding:0 14px;font-size:clamp(16px,1.8vw,20px);font-weight:600;line-height:1.2}.event-post-title time{font-weight:inherit}.event-post-lead{color:var(--fd-text-secondary);text-align:right;margin:4px 0 12px;font-size:13px}.event-post-groups{gap:10px;display:grid}.event-post-group h4{color:var(--fd-text-primary);justify-content:space-between;align-items:baseline;margin:0 0 5px;font-size:12px;font-weight:600;display:flex}.event-post-group h4 b{color:var(--fd-text-muted);font-size:11px;font-weight:500}.event-post-names{flex-wrap:wrap;gap:5px;display:flex}.event-post-names span{border:1px solid var(--age-border,var(--fd-border));background:var(--age-bg,var(--fd-surface-subtle));color:var(--age-fg,var(--fd-text-primary));border-radius:999px;padding:3px 9px;font-size:11.5px}.event-post-group h4>span{align-items:center;gap:6px;display:inline-flex}.event-post-group h4>span:before{content:"";background:var(--age-fg,var(--fd-text-muted));border-radius:50%;width:6px;height:6px}@media (width<=900px){.event-post-list{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.event-post{border-radius:36px;padding:18px 16px}}.hero-grid,.insight-grid,.dashboard-grid{gap:var(--fd-space-5);margin-bottom:var(--fd-space-5)}.hero-card,.team-scorecard,.panel,.tactics-section{border:1px solid var(--fd-border);border-radius:var(--fd-radius-lg);box-shadow:0 1px 2px #171b210a}.hero-card{border-color:var(--fd-border);background:var(--fd-surface);color:var(--fd-text-primary);padding:22px}.hero-card .eyebrow{color:var(--fd-text-muted)}.hero-card p{color:var(--fd-text-secondary);font-size:var(--fd-font-size-sm)}.hero-number{color:var(--fd-text-primary);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:14px 0 8px;font-size:clamp(48px,6vw,68px);font-weight:600}.hero-number small{color:var(--fd-text-muted);font-family:var(--fd-font-sans);font-size:var(--fd-font-size-base);font-weight:400}.hero-meta{border-color:var(--fd-border);color:var(--fd-text-muted);font-size:var(--fd-font-size-sm);gap:20px;margin-top:20px;padding-top:14px}.hero-meta strong{color:var(--fd-text-primary);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums}.team-scorecard{padding:20px}.team-scorecard .section-kicker{margin-bottom:14px}.team-score-row{border-color:var(--fd-border);font-size:var(--fd-font-size-md);padding:10px 0}.team-score-row strong{color:var(--fd-text-primary);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums;font-size:22px}.team-score-row em,.score-note{color:var(--fd-text-muted)}.score-note{font-size:var(--fd-font-size-xs);margin-top:14px}.panel{padding:18px}.panel-head{align-items:center;margin-bottom:14px}.panel-head h2,.tactics-toolbar h2{color:var(--fd-text-primary);font-size:var(--fd-font-size-2xl);letter-spacing:-.025em;margin-top:4px;font-weight:600}.panel-value{color:var(--fd-accent);font-family:var(--fd-font-sans);font-size:var(--fd-font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.screen-description,.dashboard-note{color:var(--fd-text-muted);font-size:var(--fd-font-size-sm)}.month-bars{border-color:var(--fd-border);height:150px;padding-inline:8px}.month-bar{gap:6px}.month-bar strong,.month-bar span,.generation-row{color:var(--fd-text-secondary);font-family:var(--fd-font-sans);font-size:var(--fd-font-size-sm);font-variant-numeric:tabular-nums}.bar-track{background:var(--fd-surface-subtle);width:28px;height:112px}.bar-fill{background:var(--fd-accent);border-radius:6px 6px 0 0;transition:height .2s}.generation-list{gap:11px}.mini-track{background:var(--fd-surface-subtle)}.mini-track i{background:#738b72}.primary-button,.ghost-button,.tiny-button,.position-tabs button,.text-button{border-radius:var(--fd-radius-sm);box-shadow:none;transition:background var(--fd-duration-instant), border-color var(--fd-duration-instant), color var(--fd-duration-instant), box-shadow var(--fd-duration-instant)}.primary-button{background:var(--fd-gray-900);min-height:42px;color:var(--fd-gray-0);font-size:var(--fd-font-size-md);padding-inline:14px;font-weight:550}.primary-button:hover{background:var(--fd-gray-700);transform:none}.primary-button:active{background:#252b33}.primary-button:disabled,.ghost-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.48}.ghost-button{border-color:var(--fd-border-strong);background:var(--fd-surface);min-height:42px;color:var(--fd-text-secondary)}.ghost-button:hover{background:var(--fd-surface-muted);border-color:var(--fd-border-strong)}.text-button{min-height:40px;color:var(--fd-accent)}.text-button:hover{background:var(--fd-blue-100)}.tiny-button{border-color:var(--fd-border);background:var(--fd-surface-muted);min-height:34px;color:var(--fd-text-secondary)}.tiny-button:hover{background:var(--fd-blue-100);border-color:#c8d8e4}.position-tabs button{border-radius:var(--fd-radius-sm);background:var(--fd-surface-subtle);min-height:36px;color:var(--fd-text-secondary)}.position-tabs button:hover{background:var(--fd-gray-200)}.position-tabs button.active{background:var(--fd-gray-900);color:var(--fd-gray-0)}.football-app :is(button,a,summary,input,select):focus-visible{box-shadow:var(--fd-focus-ring);outline:none}.filter-row input,.filter-row select,.board-controls select,.roster-table select,.position-pair select,.member-team-card .position-pair select{border:1px solid var(--fd-border-strong);border-radius:var(--fd-radius-sm);background:var(--fd-surface);min-height:38px;color:var(--fd-text-primary);font-size:var(--fd-font-size-md)}.filter-row input::placeholder{color:var(--fd-text-muted)}.filter-row :is(input,select)[aria-invalid=true]{border-color:#ba3b3b;box-shadow:0 0 0 2px #ba3b3b1f}.roster-table{color:var(--fd-text-secondary);font-size:var(--fd-font-size-md)}.table-row{border-color:var(--fd-border);min-height:42px}.table-row:not(.table-header):hover{background:var(--fd-surface-muted)}.table-header{min-height:34px;color:var(--fd-text-muted);font-size:var(--fd-font-size-xs)}.member-name{color:var(--fd-text-primary)}.date-row{border-color:var(--fd-border)}.date-row strong,.date-row b{color:var(--fd-text-secondary);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums}.top-attendance-row{border-color:var(--fd-border)}.top-attendance-row>span,.top-attendance-row>i{color:var(--fd-text-muted)}.top-attendance-member{color:var(--fd-text-primary)}.top-attendance-member:hover{color:var(--fd-accent)}.top-attendance-details{background:var(--fd-surface-muted);color:var(--fd-text-secondary)}.top-attendance-details li{border-color:var(--fd-border);background:var(--fd-surface)}.top-attendance-details li time{color:var(--fd-text-muted)}.top-attendance-popover{box-sizing:border-box;z-index:1000;border:1px solid var(--fd-border-strong);border-radius:var(--fd-radius-md);background:var(--fd-surface);width:min(440px,100vw - 24px);max-height:min(460px,100vh - 24px);color:var(--fd-text-primary);gap:12px;padding:16px;display:grid;position:fixed;overflow:auto;box-shadow:0 18px 54px #0e1f2d3d}.top-attendance-popover>header{border-bottom:1px solid var(--fd-border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:11px;display:flex}.top-attendance-popover>header span{color:var(--fd-text-muted);font-size:var(--fd-font-size-xs);letter-spacing:.08em;font-weight:650}.top-attendance-popover>header h3{color:var(--fd-text-primary);font-size:var(--fd-font-size-xl);margin:3px 0 0}.top-attendance-popover>header p{color:var(--fd-text-secondary);font-size:var(--fd-font-size-sm);margin:3px 0 0}.top-attendance-popover>header button{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);width:36px;height:36px;color:var(--fd-text-secondary);cursor:pointer;flex:none;place-items:center;font-size:22px;line-height:1;display:grid}.top-attendance-popover>header button:hover{background:var(--fd-surface-muted);color:var(--fd-text-primary)}.top-attendance-popover button:focus-visible{outline:3px solid var(--fd-focus-ring);outline-offset:2px}.top-attendance-months{gap:7px;display:grid}.top-attendance-month{border-bottom:1px solid var(--fd-border);grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;padding:9px 0;display:grid}.top-attendance-month:last-child{border-bottom:0}.top-attendance-month h4{color:var(--fd-text-primary);font-size:var(--fd-font-size-md);flex-direction:column;gap:2px;margin:0;display:flex}.top-attendance-month h4 span{color:var(--fd-text-muted);font-size:var(--fd-font-size-xs);font-weight:500}.top-attendance-month ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.top-attendance-month li{border:1px solid var(--fd-border);border-radius:var(--fd-radius-xs);background:var(--fd-surface-muted);color:var(--fd-text-secondary);font-size:var(--fd-font-size-xs);align-items:center;gap:6px;padding:5px 7px;display:flex}.top-attendance-month li time{color:var(--fd-text-primary);font-variant-numeric:tabular-nums;font-weight:600}.top-attendance-month>p{color:var(--fd-text-muted);font-size:var(--fd-font-size-xs);margin:0}.event-detail{border-color:var(--fd-border)}.event-detail summary{border-radius:var(--fd-radius-sm);min-height:52px;transition:background var(--fd-duration-instant)}.event-detail summary:hover{background:var(--fd-surface-muted)}.event-detail summary strong{color:var(--fd-text-primary);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums}.event-detail summary small,.event-detail summary>i{color:var(--fd-text-muted)}.event-detail summary>b{color:var(--fd-accent);font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums}.event-attendance-group{border-color:var(--fd-border);background:var(--fd-surface-muted)}.event-attendance-group h3 span{color:var(--fd-text-primary)}.event-attendance-group h3 b{background:var(--fd-blue-100);color:var(--fd-accent)}.event-attendees span{border-color:var(--fd-border);background:var(--fd-surface);color:var(--fd-text-secondary)}.attendance-panel-head{align-items:center}.attendance-header-tools{align-items:center;gap:var(--fd-space-5);flex:none;display:flex}.attendance-member-search{min-width:min(300px,34vw);color:var(--fd-text-secondary);font-size:var(--fd-font-size-xs);gap:5px;font-weight:550;display:grid}.attendance-member-search input{border:1px solid var(--fd-border-strong);border-radius:var(--fd-radius-sm);background:var(--fd-surface);width:100%;min-height:42px;color:var(--fd-text-primary);font:inherit;font-size:var(--fd-font-size-md);padding:0 11px}.attendance-member-search input::placeholder{color:var(--fd-text-muted)}.attendance-search-help{color:var(--fd-text-muted);font-size:var(--fd-font-size-xs);text-align:right;margin:-7px 0 14px auto}.attendance-member-results{border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface-muted);gap:9px;margin:0 0 16px;padding:14px;display:grid}.attendance-member-results>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.attendance-member-results>header h3{color:var(--fd-text-primary);font-size:var(--fd-font-size-base);margin:0;font-weight:600}.attendance-member-results>header>span{color:var(--fd-text-muted);font-size:var(--fd-font-size-xs)}.attendance-member-result{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);min-width:0;padding:11px 12px}.attendance-member-result-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-member-result-head h4{color:var(--fd-text-primary);font-size:var(--fd-font-size-md);margin:0;font-weight:600}.attendance-member-result-head strong{color:var(--fd-accent);font-size:var(--fd-font-size-sm);font-variant-numeric:tabular-nums}.attendance-member-result ul{flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none;display:flex}.attendance-member-result li{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface-muted);color:var(--fd-text-secondary);font-size:var(--fd-font-size-xs);align-items:center;gap:7px;padding:6px 8px;display:flex}.attendance-member-result li time{color:var(--fd-text-primary);font-variant-numeric:tabular-nums;font-weight:550}.attendance-member-result li span{color:var(--fd-text-muted)}.attendance-member-result>p,.attendance-search-unmatched,.attendance-search-empty{color:var(--fd-text-muted);font-size:var(--fd-font-size-sm);margin:8px 0 0}.attendance-search-unmatched{color:#8b3636;margin:0}.attendance-search-empty{margin:0}.tactics-section{color:#f5f7fa;background:#111820;padding:18px}.tactics-section .section-kicker{color:#aeb9c5}.tactics-toolbar h2{color:#f5f7fa}.tactics-toolbar p{color:#c0c9d2}.field-stage{border-radius:var(--fd-radius-md);border-color:#384550}.bench-panel{border-radius:var(--fd-radius-md);background:#19232d;border-color:#384550}.bench-player{border-radius:var(--fd-radius-sm);transition:border-color var(--fd-duration-instant), background var(--fd-duration-instant);background:#202d38;border-color:#384550}.bench-player:hover{background:#263541;border-color:#8295a7}.bench-player:disabled{cursor:not-allowed;opacity:.5}.member-team-column{border-color:var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);border-top-width:2px;box-shadow:0 1px 2px #171b2108}.member-team-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.member-team-card.is-touch-dragging{pointer-events:none;opacity:.92;box-shadow:0 12px 28px #12233238}.member-team-card.is-drop-before{box-shadow:inset 0 3px 0 var(--fd-accent), 0 4px 12px #171b2114}.member-team-card.is-drop-after{box-shadow:inset 0 -3px 0 var(--fd-accent), 0 4px 12px #171b2114}.member-team-column-pink .member-team-card.is-drop-before{box-shadow:inset 0 3px 0 var(--fb-pink), 0 4px 12px #171b2114}.member-team-column-pink .member-team-card.is-drop-after{box-shadow:inset 0 -3px 0 var(--fb-pink), 0 4px 12px #171b2114}.member-team-card-actions button.member-card-order-button{background:var(--fd-surface-muted);min-width:34px;color:var(--fd-text-secondary);font-size:var(--fd-font-size-md);padding-inline:0}.member-team-card-actions button.member-card-order-button:hover{border-color:var(--fd-border-strong);background:var(--fd-surface-subtle);color:var(--fd-text-primary)}.member-team-card-actions button.member-card-order-button:disabled{border-color:var(--fd-border);background:var(--fd-surface-muted);color:var(--fd-text-muted);cursor:not-allowed;opacity:.55}.member-team-drop-hint{line-height:1.45}.member-team-column-head h3{color:var(--fd-text-primary)}.member-team-column-head>strong{font-family:var(--fd-font-sans);font-variant-numeric:tabular-nums}.member-team-age-group h4{border-color:var(--age-border,var(--fd-border));border-radius:var(--fd-radius-sm);background:var(--age-bg,var(--fd-surface-muted));color:var(--age-fg,var(--fd-text-secondary))}.member-team-age-group h4 span{color:var(--age-fg,var(--fd-text-muted))}.member-team-drop-hint{color:var(--fd-text-muted)}.member-team-card{border-color:var(--fd-border);border-radius:var(--fd-radius-md);box-shadow:none;transition:border-color var(--fd-duration-instant), background var(--fd-duration-instant), opacity var(--fd-duration-instant)}.member-team-card-vacancy{box-sizing:border-box;visibility:hidden;min-height:125px}.member-team-card:hover{border-color:var(--fd-border-strong);background:#fcfdfe;box-shadow:0 1px 3px #171b210f}.member-team-identity strong{color:var(--fd-text-primary)}.member-team-identity span,.member-team-card .position-pair label{color:var(--fd-text-muted)}.member-team-card-actions button{border-color:var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface-muted);min-height:36px;color:var(--fd-text-secondary);font-size:var(--fd-font-size-xs);transition:background var(--fd-duration-instant), border-color var(--fd-duration-instant)}.member-team-card-actions button:hover{background:var(--fd-surface-subtle);border-color:var(--fd-border-strong)}.member-unassigned-zone{border-color:var(--fd-border-strong);border-radius:var(--fd-radius-md);background:var(--fd-surface-muted)}.member-unassigned-zone>header h3,.member-unassigned-zone>header>span{color:var(--fd-text-secondary)}.member-unassigned-zone>p,.member-team-empty{color:var(--fd-text-muted)}.members-screen .member-add-button{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);min-height:40px;color:var(--fd-text-primary);font:600 var(--fd-font-size-sm)/1 var(--fd-font-sans);white-space:nowrap;cursor:pointer;transition:background var(--fd-duration-instant), border-color var(--fd-duration-instant);padding:0 14px}.members-screen .member-add-button:hover,.members-screen .member-add-button:focus-visible{border-color:var(--fd-border-strong);background:var(--fd-surface-muted)}.members-screen .member-add-button:focus-visible,.member-add-modal :focus-visible{box-shadow:var(--fd-focus-ring);outline:none}.member-add-backdrop{z-index:1000;background:#1118276b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.member-add-modal{border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);width:min(100%,480px);max-height:min(90vh,720px);padding:24px;overflow-y:auto;box-shadow:0 18px 55px #12233238}.member-add-modal>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.member-add-modal h3{color:var(--fd-text-primary);font:650 var(--fd-font-size-2xl)/1.3 var(--fd-font-sans);margin:4px 0}.member-add-modal header p{color:var(--fd-text-secondary);font:400 var(--fd-font-size-sm)/1.5 var(--fd-font-sans);margin:0}.member-add-close{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);width:36px;height:36px;color:var(--fd-text-secondary);cursor:pointer;font-size:24px}.member-add-modal form{gap:14px;display:grid}.member-add-field{color:var(--fd-text-secondary);font:600 var(--fd-font-size-sm)/1.35 var(--fd-font-sans);gap:6px;display:grid}.member-add-field input,.member-add-field select{box-sizing:border-box;border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);width:100%;min-width:0;min-height:42px;color:var(--fd-text-primary);font:400 var(--fd-font-size-sm)/1.4 var(--fd-font-sans);padding:0 11px}.member-add-field input:hover,.member-add-field select:hover{border-color:var(--fd-border-strong)}.member-name-button{color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--fd-border-strong);text-decoration-color:var(--fd-border-strong);text-underline-offset:3px;background:0 0;border:0;padding:0}.member-name-button:hover{color:var(--fd-accent)}.member-name-button:focus-visible{outline:2px solid var(--fd-accent);outline-offset:2px;border-radius:4px}.member-add-optional{color:var(--fd-text-muted);font-weight:400;display:inline}.member-add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.member-add-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-add-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}.member-add-row .member-add-field input{min-width:0}.member-add-row .member-add-field,.member-add-grid-3 .member-add-field{display:block}.member-add-row .member-add-field>:is(input,select),.member-add-grid-3 .member-add-field>:is(input,select){margin-top:6px}.member-add-modal form>footer{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.member-add-modal form>footer button{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);min-height:40px;font:600 var(--fd-font-size-sm)/1 var(--fd-font-sans);cursor:pointer;padding:0 16px}.member-add-cancel{background:var(--fd-surface);color:var(--fd-text-secondary)}.member-add-submit{background:var(--fd-text-primary);color:#fff;border-color:var(--fd-text-primary)!important}.member-add-modal button:disabled{opacity:.55;cursor:not-allowed}@media (width<=760px){.football-header{flex-wrap:wrap;gap:8px;padding:10px 16px}.football-header>div:first-child{flex-wrap:wrap;flex-basis:calc(100% - 105px);gap:2px 10px}.football-header .eyebrow{flex-basis:100%}.football-header p{white-space:normal;flex-basis:100%;margin:0}.header-actions{margin-top:0}.football-main{width:calc(100% - 28px);padding-top:14px;padding-bottom:16px}.football-nav{justify-content:flex-start;gap:4px;padding:6px 10px}.football-nav button{min-height:44px;padding-inline:12px}.panel,.hero-card,.team-scorecard,.tactics-section{padding:14px}.panel-head{align-items:flex-start}.attendance-header-tools{align-items:flex-end;width:100%}.attendance-member-search{flex:1;min-width:0}.attendance-search-help{text-align:left;margin:6px 0 12px}.top-attendance-popover{padding:13px}.top-attendance-month{grid-template-columns:54px minmax(0,1fr);gap:6px}.event-detail summary{grid-template-columns:minmax(0,1fr) auto 58px;gap:8px}.member-team-columns{gap:10px}.members-screen .filter-row{flex-wrap:wrap;width:100%;display:flex}.members-screen .member-assignment-save,.members-screen .member-add-button{flex:1}.member-add-backdrop{padding:12px}.member-add-backdrop .member-add-modal{box-sizing:border-box;width:min(340px,100%);padding:18px}.football-login-backdrop .football-login-card{box-sizing:border-box;width:min(320px,100%);padding:24px}}@media (width<=420px){.football-header h1{font-size:24px}.football-header p{max-width:36ch}.header-actions{margin-top:14px}.hero-meta{gap:8px 14px}.panel-head h2,.tactics-toolbar h2{font-size:18px}.event-detail summary strong{font-size:12px}.event-attendance-group{padding:9px}}@media (prefers-reduced-motion:reduce){.football-app *,.football-app :before,.football-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.football-login-backdrop{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10283b99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.football-login-card{color:#17324a;background:#fff;border:1px solid #dbe5ed;border-radius:18px;gap:13px;width:min(420px,100%);padding:28px;display:grid;position:relative;box-shadow:0 14px 40px #1a33450f}.football-login-card h2{margin:0;font-size:26px}.football-login-card p{color:#60758a;margin:0;font-size:13px}.football-login-card label{color:#40586c;gap:6px;font-size:12px;font-weight:650;display:grid}.football-login-card input{min-height:44px;font:inherit;border:1px solid #d5e0e8;border-radius:9px;padding:0 12px}.football-login-card button{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#1e40af;border:0;border-radius:9px;font-weight:700}.football-login-card .football-login-close{color:#526b7d;background:#fff;border:1px solid #dbe4eb;border-radius:50%;width:36px;min-height:36px;padding:0;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.football-login-card small{color:#778b9a;font-size:11px;line-height:1.5}.football-login-card [role=alert]{color:#a52c3b}.football-login-card :focus-visible,.football-logout:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.football-app .header-actions .football-logout-icon{border-radius:10px;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:grid}.football-logout-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.football-app .header-actions .football-logout{color:#d64545;background:#fff5f5;border-color:#f0b8b8}.football-app .header-actions .primary-button.football-logout-icon{color:#fff;background:#2f6fdb;border-color:#2f6fdb}.football-app .header-actions .primary-button.football-logout-icon:hover:not(:disabled){background:#2360c9;border-color:#2360c9}.football-app .header-actions .football-logout:hover:not(:disabled){background:#ffe9e9;border-color:#e89a9a}.football-logout{color:#526b7d;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe4eb;border-radius:9px;padding:0 12px;font-size:12px}.members-screen .member-assignment-save:disabled,.lineup-save:disabled{opacity:.48;cursor:not-allowed}.football-app .lineup-save,.football-app .members-screen .member-assignment-save,.football-app .primary-button,.football-app .lineup-modal .lineup-add-match,.football-app .member-add-submit{color:#fff;min-height:40px;box-shadow:none;background:#1f3a4d;border:1px solid #1f3a4d;border-radius:10px;padding:0 14px;font-size:13px;font-weight:600}.football-app .lineup-register-attendees,.football-app .lineup-controls .lineup-register-attendees,.football-app .lineup-match-card .lineup-match-result-button,.football-app .lineup-modal .lineup-modal-cancel,.football-app .member-add-cancel,.football-app .members-screen .member-add-button{color:#25485e;min-height:40px;box-shadow:none;background:#fff;border:1px solid #d5e0e8;border-radius:10px;padding:0 14px;font-size:13px;font-weight:600}.football-app .lineup-save:hover:not(:disabled),.football-app .members-screen .member-assignment-save:hover:not(:disabled),.football-app .primary-button:hover:not(:disabled),.football-app .lineup-modal .lineup-add-match:hover:not(:disabled),.football-app .member-add-submit:hover:not(:disabled){background:#2c4d63;border-color:#2c4d63}.football-app .lineup-register-attendees:hover:not(:disabled),.football-app .lineup-controls .lineup-register-attendees:hover:not(:disabled),.football-app .lineup-match-card .lineup-match-result-button:hover:not(:disabled),.football-app .lineup-modal .lineup-modal-cancel:hover:not(:disabled),.football-app .member-add-cancel:hover:not(:disabled),.football-app .members-screen .member-add-button:hover:not(:disabled){background:#f4f8fb;border-color:#b9c9d6}.football-app button:disabled{opacity:.45;cursor:not-allowed}@media (width<=760px){.attendance-screen .attendance-panel-head{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.attendance-screen .attendance-panel-head>div:first-child{min-width:0}.attendance-screen .attendance-panel-head .screen-description{overflow-wrap:anywhere;max-width:100%}.attendance-screen .attendance-header-tools{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;min-width:0;display:grid}.attendance-screen .attendance-member-search,.attendance-screen .attendance-member-search input{width:100%;min-width:0}.attendance-screen .attendance-header-tools .panel-value{white-space:nowrap}.members-screen>.panel-head{display:block}.members-screen>.panel-head .screen-description,.members-screen .filter-row input,.members-screen .filter-row select,.members-screen .position-tabs,.members-screen .member-team-drop-hint,.members-screen .member-team-card-bottom,.members-screen .member-unassigned-zone{display:none!important}.members-screen .member-team-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px}.members-screen .member-team-column{min-width:0;padding:9px 7px}.members-screen .member-team-column-head{gap:5px;min-width:0}.members-screen .member-team-column-head h3{min-width:0;font-size:13px}.members-screen .member-team-age-group h4{padding-inline:5px;font-size:11px}.members-screen .member-team-card-list{grid-template-columns:minmax(0,1fr);gap:5px;display:grid}.members-screen .member-team-card{box-sizing:border-box;min-width:0;min-height:52px;padding:7px 5px}.members-screen .member-team-card-vacancy{min-height:52px}.members-screen .member-team-card-main{gap:5px;min-width:0}.members-screen .member-team-avatar{flex:0 0 25px;width:25px;height:25px;font-size:11px}.members-screen .member-team-identity{min-width:0}.members-screen .member-team-identity strong{overflow-wrap:anywhere;font-size:11px}.members-screen .member-team-identity span{font-size:9px}.members-screen .member-team-position{display:none}.member-team-column-head .team-dot{flex:0 0 8px}.event-registered-attendees{background:#f8fbfd;border:1px solid #dbe7ef;border-radius:10px;margin:0 12px 10px;padding:10px}.event-registered-attendees h3{margin:0 0 8px;font-size:12px}.event-registered-attendees h3 span{color:#688096;margin-left:5px;font-weight:500}.event-registered-attendees>div{flex-wrap:wrap;gap:6px;display:flex}.event-registered-attendees>div span{background:#eaf2f7;border-radius:99px;padding:4px 7px;font-size:11px}}@media (width<=420px){.attendance-screen .attendance-header-tools{grid-template-columns:minmax(0,1fr)}.attendance-screen .attendance-header-tools .panel-value{justify-self:end}.members-screen .member-team-column-head h3{font-size:12px}.members-screen .member-team-identity span{overflow-wrap:anywhere}}.attendance-actual-tools{color:#526f83;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;font-size:12px;display:flex}.attendance-actual-tools button{color:#265f8c;min-height:30px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdff3;border-radius:8px;padding:0 10px;font-size:12px;font-weight:600}.attendance-actual-names{flex-wrap:wrap;gap:6px;display:flex}.attendance-actual-option{color:#33495c;cursor:pointer;background:#fff;border:1px solid #d7e2ea;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:12px;display:inline-flex}.attendance-actual-option input{accent-color:#267eaf;width:14px;height:14px;margin:0}.attendance-actual-option.is-checked{color:#17324a;background:#eaf5fc;border-color:#267eaf;font-weight:650}.attendance-actual-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.attendance-actual-footer p{color:#6d8495;margin:0;font-size:11px}.attendance-actual-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-actual-actions .attendance-add-actual{color:#265f8c;min-height:40px;font:inherit;cursor:pointer;background:#f5faff;border:1px solid #cbdff3;border-radius:9px;padding:0 14px;font-size:13px;font-weight:650}.attendance-actual-actions .attendance-add-actual:hover{background:#eaf5fc}.attendance-actual-actions button:disabled{opacity:.55;cursor:not-allowed}.attendance-manual-modal-backdrop{z-index:1120}.attendance-manual-modal{box-sizing:border-box;border:1px solid var(--fd-border);border-radius:var(--fd-radius-md);background:var(--fd-surface);width:min(560px,100%);max-height:min(84vh,720px);padding:24px 22px 20px;position:relative;overflow-y:auto;box-shadow:0 18px 55px #12233238}.attendance-manual-modal h3{color:var(--fd-text-primary);margin:6px 44px 4px 0;font-size:20px}.attendance-manual-description{color:var(--fd-text-muted);margin:0;font-size:13px;line-height:1.5}.attendance-manual-groups{gap:12px;max-height:48vh;margin-top:14px;display:grid;overflow-y:auto}.attendance-manual-groups fieldset{border:1px solid var(--fd-border);border-radius:12px;min-width:0;margin:0;padding:10px 12px 12px}.attendance-manual-groups legend{color:var(--fd-text-secondary);padding:0 6px;font-size:12px;font-weight:700}.attendance-manual-options{flex-wrap:wrap;gap:6px;display:flex}.attendance-manual-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.attendance-manual-actions button{min-height:40px;font:inherit;cursor:pointer;border-radius:9px;padding:0 14px;font-size:13px;font-weight:650}.attendance-manual-actions .lineup-modal-cancel{border:1px solid var(--fd-border);background:var(--fd-surface);color:var(--fd-text-secondary)}.attendance-manual-actions .primary-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=480px){.attendance-manual-modal{padding:22px 16px 16px}.attendance-actual-actions{width:100%}.attendance-actual-actions button{flex:1}}.attendance-calendar-cell.is-upcoming{color:#17324a;cursor:pointer;background:0 0;border:1px dashed #c3ccd5}.attendance-calendar-cell.is-upcoming strong{color:#667b8b;font-size:11px}.attendance-calendar-cell.is-upcoming:hover{border-color:#93a7b7}.attendance-calendar-cell.is-closed{color:#4a5d6c;cursor:default;background:#e6eaee;border-color:#c3ccd5}.attendance-calendar-cell.is-closed strong{color:#4a5d6c;font-size:10px;font-weight:600}.attendance-calendar-cell{box-sizing:content-box}.members-screen .member-team-card{min-width:0;min-height:56px;box-shadow:none;cursor:grab;background:#fff;border:1px solid #e3ebf1;border-radius:12px;align-content:start;gap:6px;padding:10px 12px;display:grid}.members-screen .member-team-card:hover{background:#fff;border-color:#b7cfdd;box-shadow:0 2px 8px #17324a0f}.members-screen .member-team-card-main{min-width:0;display:block}.members-screen .member-team-identity{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.members-screen .member-team-identity strong{color:#18394f;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.members-screen .member-team-identity span{color:#7b90a0;white-space:nowrap;flex:none;font-size:11px}.members-screen .member-team-card-bottom{border:0;justify-content:space-between;align-items:center;gap:6px;margin:0;padding:0;display:flex}.members-screen .member-team-card .position-pair{gap:6px;width:100%;min-width:0;display:flex}.members-screen .member-team-card .position-pair select{color:#35566c;background:#fff;border:1px solid #d8e3ea;border-radius:7px;min-height:30px;padding:2px 18px 2px 6px;font-size:11px}.members-screen .member-team-card .position-pair>small,.members-screen .member-team-card .member-team-note{color:#8497a5;font-size:11px}.members-screen .member-team-card-actions{flex-wrap:nowrap;align-items:center;gap:5px;display:flex}.members-screen .member-team-card-actions button{color:#456579;white-space:nowrap;cursor:pointer;background:#f7fafc;border:1px solid #d8e3ea;border-radius:7px;min-height:30px;padding:0 8px;font-size:11px;font-weight:650}.members-screen .member-team-card-actions button.member-card-order-button{min-width:30px;padding:0}.members-screen .member-team-card-actions button:disabled{opacity:.4;cursor:not-allowed}.members-screen .member-team-column-blue .member-team-card-actions button:not(.member-card-order-button){color:#286a96;background:#f0f8fd;border-color:#cfe4f2}.members-screen .member-team-column-pink .member-team-card-actions button:not(.member-card-order-button){color:#a54261;background:#fff5f8;border-color:#f2d7e0}.members-screen .member-team-card-vacancy{min-height:78px}.members-screen .member-add-withdraw,.member-add-modal .member-add-withdraw{color:#b42318;height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #f1c5c5;border-radius:9px;margin-right:auto;padding:0 14px;font-size:13px;font-weight:650}.member-add-modal .member-add-withdraw:disabled{opacity:.45;cursor:not-allowed}@media (width<=800px){.members-screen .member-team-card{gap:6px;padding:9px 10px}.members-screen .member-team-identity{gap:2px;display:grid}.members-screen .member-team-card-bottom{flex-wrap:wrap}.members-screen .member-team-card .position-pair{flex:auto}.members-screen .member-team-card .position-pair select{min-height:28px;padding-right:14px;font-size:10px}.members-screen .member-team-card-actions{justify-content:flex-end;width:100%}.members-screen .member-team-card,.members-screen .member-team-card-vacancy{min-height:58px}}@media (width>=801px){.members-screen .member-team-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.members-screen .member-team-card-bottom{flex-wrap:wrap;row-gap:8px}.members-screen .member-team-card .position-pair{flex-wrap:nowrap}.members-screen .member-team-card .position-pair select{flex:1 1 0;width:100%;min-width:0}.members-screen .member-team-card-actions{margin-left:auto}}.members-screen .member-team-card-actions{display:none}.member-add-row.member-edit-name-row{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:10px}.member-jersey-no{color:#7b90a0;font-size:12px;font-weight:500}.db-loading{z-index:300;opacity:0;pointer-events:none;background:#2780b924;height:3px;transition:opacity .25s;position:fixed;top:0;left:0;right:0}.db-loading.is-active{opacity:1}.db-loading>span{background:linear-gradient(90deg,#2780b9,#d9577c);border-radius:0 3px 3px 0;height:100%;transition:width .18s linear;display:block;box-shadow:0 0 8px #2780b98c}.db-loading>em{color:#fff;white-space:nowrap;background:#17324a;border-radius:999px;padding:3px 9px;font-size:11px;font-style:normal;font-weight:600;position:absolute;top:7px;right:14px}@media (width<=800px){.db-loading{height:4px}.db-loading>em{font-size:10px;top:9px;right:10px}}.lineup-section{color:#17324a;background:#fff;border:1px solid #dbe7f0;border-radius:20px;margin-top:20px;padding:24px;box-shadow:0 14px 40px #193b5310}.lineup-match-header{background:linear-gradient(110deg,#f0f7ff,#fff 48%,#fff2f6);border:1px solid #e3edf5;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 24px;display:grid}.lineup-team-brand{letter-spacing:-.04em;align-items:center;gap:12px;font-size:clamp(17px,2vw,24px);display:flex}.lineup-brand-pink{justify-content:flex-end}.club-flag{clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);filter:drop-shadow(0 3px 3px #102f4720);width:58px;height:38px;display:block;position:relative;overflow:hidden}.club-flag-blue{background:linear-gradient(#1976bd 0 33%,#fff 33% 66%,#1976bd 66%)}.club-flag-pink{background:linear-gradient(#e95682 0 33%,#fff 33% 66%,#e95682 66%)}.club-flag i{border:3px solid #fff;border-radius:50%;width:15px;height:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px}.club-flag-blue i{color:#1976bd}.club-flag-pink i{color:#e95682}.lineup-match-meta{text-align:center;gap:5px;min-width:180px;display:grid}.lineup-match-meta span{letter-spacing:.13em;color:#7190a5;font:600 10px Fira Code,monospace}.lineup-match-meta strong{color:#153750;font-size:20px}.lineup-match-meta small{color:#60758a;font-size:13px}.lineup-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 2px 16px;display:flex}.lineup-toolbar h2{letter-spacing:-.04em;margin:0;font-size:22px}.lineup-toolbar p{color:#60758a;margin:6px 0 0;font-size:13px}.lineup-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.lineup-controls label{color:#60758a;gap:5px;font-size:11px;display:grid}.lineup-controls select,.lineup-apply,.lineup-save{color:#17324a;height:40px;font:inherit;background:#fff;border:1px solid #dbe7f0;border-radius:9px;padding:0 12px}.lineup-apply,.lineup-save{cursor:pointer;font-size:12px;font-weight:600}.lineup-apply{color:#265f8c;background:#eff6ff;border-color:#cbdff3}.lineup-save{color:#fff;background:#1e40af;border-color:#1e40af}.lineup-layout{grid-template-columns:minmax(215px,260px) minmax(360px,1fr) minmax(215px,260px);align-items:stretch;gap:14px;display:grid}.lineup-roster{background:#f8fafc;border:1px solid #e0eaf1;border-radius:14px;flex-direction:column;min-height:560px;padding:14px;display:flex}.lineup-roster-pink{background:#fff8fa}.lineup-roster-head{border-bottom:1px solid #e0eaf1;align-items:center;gap:10px;padding-bottom:12px;display:flex}.lineup-roster-head h3{margin:0;font-size:15px}.lineup-roster-head p{color:#60758a;margin:4px 0 0;font-size:10px}.lineup-roster-head strong{color:#17324a}.mini-flag{clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);width:30px;height:22px;display:block;position:relative;overflow:hidden}.mini-flag-blue{background:linear-gradient(#1976bd 0 33%,#fff 33% 66%,#1976bd 66%)}.mini-flag-pink{background:linear-gradient(#e95682 0 33%,#fff 33% 66%,#e95682 66%)}.mini-flag i{border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lineup-search{color:#60758a;gap:5px;margin:12px 0 8px;font-size:10px;display:grid}.lineup-search input{color:#17324a;width:100%;height:36px;font:inherit;background:#fff;border:1px solid #dbe7f0;border-radius:8px;padding:0 10px;font-size:12px}.lineup-player-list{flex-direction:column;flex:1;gap:6px;padding-right:2px;display:flex}.lineup-player{color:#17324a;text-align:left;cursor:grab;touch-action:manipulation;background:#fff;border:1px solid #e2ebf1;border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:6px 8px;display:grid}.lineup-player:active{cursor:grabbing}.lineup-player.is-starter{background:#f3faff;border-color:#c6deed}.lineup-roster-pink .lineup-player.is-starter{background:#fff3f6;border-color:#f1cfda}.lineup-player-copy{min-width:0}.lineup-player-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.lineup-player-copy small{color:#70889a;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.lineup-attendance{color:#275f83;background:#e5f1f9;border-radius:50%;place-items:center;width:26px;height:26px;font:600 10px Fira Code,monospace;display:grid}.lineup-roster-pink .lineup-attendance{color:#a54462;background:#fbe7ed}.lineup-action{color:#265f8c;white-space:nowrap;background:#eff6ff;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:600}.lineup-roster-pink .lineup-action{color:#a54462;background:#fff0f4}.lineup-pitch-wrap{flex-direction:column;justify-content:center;min-width:0;display:flex}.lineup-pitch{aspect-ratio:1.72;isolation:isolate;background:repeating-linear-gradient(90deg,#24764e 0% 12.5%,#2c8057 12.5% 25%);border:5px solid #d9e8d6;border-radius:5px;min-height:380px;max-height:580px;position:relative;overflow:hidden;box-shadow:0 8px 18px #102f4720}.lineup-pitch:before{z-index:0;content:"";pointer-events:none;border:1.5px solid #c5e6cf;position:absolute;inset:4%}.pitch-outline{pointer-events:none;position:absolute;inset:4%}.pitch-center-line{border-left:1.5px solid #c5e6cf;position:absolute;top:0;bottom:0;left:50%}.pitch-center-circle{aspect-ratio:1;border:1.5px solid #c5e6cf;border-radius:50%;width:18%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pitch-box{border:1.5px solid #c5e6cf;width:15%;position:absolute;top:25%;bottom:25%}.pitch-box-left{border-left:0;left:0}.pitch-box-right{border-right:0;right:0}.pitch-goal{border:1.5px solid #c5e6cf;width:3%;position:absolute;top:39%;bottom:39%}.pitch-goal-left{border-left:0;left:-3%}.pitch-goal-right{border-right:0;right:-3%}.pitch-player{z-index:2;color:#fff;text-align:center;cursor:grab;touch-action:none;background:#187fc5;border:2px solid #fff;border-radius:50%;place-content:center;gap:1px;width:48px;height:48px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 8px #092b2866}.pitch-player:active{cursor:grabbing}.pitch-player{transition:left .7s cubic-bezier(.2,.8,.2,1),top .7s cubic-bezier(.2,.8,.2,1);animation:.45s cubic-bezier(.2,.8,.2,1) both pitch-player-enter}.pitch-player.is-arriving{animation:.35s cubic-bezier(.2,.8,.2,1) .8s both pitch-player-enter}.pitch-fly-ghost{z-index:60;pointer-events:none;color:#fff;white-space:nowrap;border:2px solid #fff;border-radius:16px;padding:4px 10px;font-size:11px;font-weight:700;position:fixed;transform:translate(-50%,-50%);box-shadow:0 8px 18px #092b2859}.pitch-fly-ghost-blue{background:#187fc5}.pitch-fly-ghost-pink{background:#e6537d}.pitch-player.is-selected{border-color:#ffe27a;box-shadow:0 0 0 3px #ffd54a,0 4px 12px #092b2866}@keyframes pitch-player-enter{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.pitch-player{transition:none;animation:none}}.pitch-player-pink{background:#e6537d}.pitch-player strong{text-overflow:ellipsis;white-space:nowrap;max-width:40px;font-size:10px;overflow:hidden}.pitch-player small{white-space:nowrap;font-size:8px;line-height:1.1}.pitch-drop-hint{color:#effff4;pointer-events:none;white-space:nowrap;background:#072d2480;border-radius:99px;padding:5px 9px;font-size:10px;position:absolute;bottom:10px;right:50%;transform:translate(50%)}.lineup-status{color:#60758a;text-align:center;min-height:28px;padding-top:8px;font-size:11px}.lineup-player:focus-visible,.pitch-player:focus-visible,.lineup-controls button:focus-visible,.lineup-controls select:focus-visible,.lineup-search input:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}@media (width<=1100px){.lineup-layout{grid-template-columns:minmax(190px,230px) minmax(320px,1fr) minmax(190px,230px);gap:9px}.lineup-roster{padding:10px}.lineup-pitch{min-height:330px}}@media (width<=800px){.lineup-toolbar{flex-direction:column;align-items:flex-start}.lineup-controls{width:100%}.lineup-layout{grid-template-columns:1fr 1fr}.lineup-pitch-wrap{grid-area:1/1/auto/-1}.lineup-pitch{width:100%;min-height:0}.lineup-roster{min-height:300px}.lineup-match-header{gap:8px;padding:14px}.club-flag{width:44px;height:31px}.lineup-match-meta{min-width:120px}.lineup-match-meta strong{font-size:16px}}@media (width<=480px){.lineup-section{padding:14px}.lineup-match-header{grid-template-columns:1fr auto 1fr;padding:11px 8px}.lineup-team-brand{gap:6px;font-size:13px}.club-flag{width:30px;height:22px}.lineup-match-meta span{font-size:8px}.lineup-match-meta strong{font-size:13px}.lineup-match-meta small{font-size:10px}.lineup-layout{gap:7px}.lineup-roster{padding:8px}.lineup-roster-head h3{font-size:12px}.lineup-roster-head p{font-size:9px}.lineup-player{grid-template-columns:23px minmax(0,1fr);gap:5px;padding:5px}.lineup-action{grid-column:2;justify-self:start;padding:3px 6px}.lineup-pitch{aspect-ratio:1.2}.pitch-player{border-width:1.5px;width:36px;height:36px}.pitch-player strong{max-width:30px;font-size:7px}.pitch-player small{font-size:6px}.lineup-controls{gap:6px}.lineup-controls label{flex:1}.lineup-controls select,.lineup-apply,.lineup-save{padding:0 8px;font-size:11px}.lineup-match-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2px;padding:8px 4px}.lineup-team-brand{white-space:nowrap}.lineup-match-meta{min-width:108px}.lineup-section{margin-top:0}.lineup-toolbar{margin:12px 2px}}.club-crest{object-fit:contain;filter:drop-shadow(0 3px 5px #102f4730);flex:none;width:52px;height:52px;display:block}@media (width<=800px){.club-crest{width:42px;height:42px}}@media (width<=480px){.club-crest{width:30px;height:30px}}.club-crest-button{cursor:zoom-in;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;padding:0;display:grid}.club-crest-button:focus-visible,.club-crest-preview button:focus-visible{outline-offset:3px;outline:3px solid #1769aa}.lineup-roster-crest{object-fit:contain;filter:drop-shadow(0 2px 3px #102f4720);flex:none;width:40px;height:40px;display:block}.club-crest-preview-backdrop{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#09111dcc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.club-crest-preview{color:#f8fafc;background:#111827;border:1px solid #ffffff30;border-radius:20px;justify-items:center;gap:16px;width:min(520px,100%);padding:22px;display:grid;box-shadow:0 24px 80px #0008}.club-crest-preview h2{margin:0;font-size:18px}.club-crest-preview img{object-fit:contain;width:min(420px,76vw);height:min(420px,76vw);display:block}.club-crest-preview button{color:#172033;min-width:96px;height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ffffff45;border-radius:9px;font-weight:600}@media (width<=480px){.club-crest-button{width:34px;height:34px}.club-crest-preview{padding:18px}.lineup-roster-crest{width:30px;height:30px}}.lineup-roster-blue{border-top:3px solid #2794e8}.lineup-roster-pink{border-top:3px solid #ed648c}.lineup-roster:has(.lineup-player[draggable]:hover){border-color:#b8cede}.lineup-player{cursor:grab;grid-template-columns:28px minmax(0,1fr)}.lineup-player-copy{grid-column:2}.lineup-player-actions{grid-column:2;gap:5px;margin-top:1px;display:flex}.lineup-action,.lineup-transfer{cursor:pointer;font:inherit;border:0}.lineup-transfer{color:#40576b;white-space:nowrap;background:#edf1f5;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:600}.lineup-roster-blue .lineup-player-actions .lineup-action{background:#eaf5fc}.lineup-roster-pink .lineup-player-actions .lineup-action{background:#fff0f4}.lineup-player:focus-within,.lineup-transfer:focus-visible,.lineup-action:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-age-starter-summary{gap:5px;padding:6px 8px 3px;display:grid}.lineup-age-team{color:#536d80;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px;font-size:11px;display:flex}.lineup-age-team strong{color:#205f8a}.lineup-age-team-pink strong{color:#b34263}.lineup-age-team span{line-height:1.5}.lineup-pitch{background:linear-gradient(90deg,#24764e 0%,#2c8057 49.7%,#f4fff5 49.7% 50.3%,#2c8057 50.3%,#24764e 100%)}.lineup-pitch:after{content:"";pointer-events:none;background:#d6efdb;width:1px;position:absolute;top:0;bottom:0;left:50%}.lineup-player.is-selected{box-shadow:0 0 0 2px #f3b83940;background:#fff8df!important;border-color:#f3b839!important}.lineup-roster-pink .lineup-player.is-selected{background:#fff4d5!important}.lineup-match-tabs{gap:8px;margin:18px 2px 0;padding:2px 2px 5px;display:flex;overflow-x:auto}.lineup-match-tabs button{color:#526b7d;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #dce7ef;border-radius:10px;gap:3px;min-width:126px;padding:9px 12px;display:grid}.lineup-match-tabs button.active{color:#173f5a;background:#edf7fd;border-color:#79acd0;box-shadow:inset 0 0 0 1px #b6d8ec}.lineup-match-tabs button strong{font-size:12px}.lineup-match-tabs button small{color:#7890a0;font-size:10px}.lineup-controls .lineup-add-match,.lineup-modal-actions button{color:#265f8c;cursor:pointer;background:#eff6ff;border:1px solid #cbdff3;border-radius:9px;min-height:40px;padding:0 14px;font-size:12px;font-weight:650}.lineup-layout-friendly{grid-template-columns:minmax(220px,280px) minmax(360px,1fr)}.lineup-layout-friendly .lineup-pitch-wrap{grid-column:2}.lineup-add-match:hover,.lineup-modal-actions button:hover,.lineup-match-tabs button:hover{filter:brightness(.98)}.lineup-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10283b88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lineup-modal{color:#17324a;background:#fff;border:1px solid #dce7ef;border-radius:18px;width:min(460px,100%);padding:25px;box-shadow:0 24px 70px #0b24374a}.lineup-modal-head .section-kicker{font-size:10px}.lineup-modal-head h3{letter-spacing:-.04em;margin:8px 0 4px;font-size:22px}.lineup-modal-head p{color:#6d8495;margin:0;font-size:13px}.lineup-match-type,.lineup-friendly-team{border:0;gap:8px;margin:20px 0 0;padding:0;display:grid}.lineup-match-type legend,.lineup-friendly-team legend{color:#506b7f;margin-bottom:8px;font-size:12px;font-weight:700}.lineup-match-type label,.lineup-friendly-team label{cursor:pointer;background:#fbfdfe;border:1px solid #dce7ef;border-radius:10px;align-items:center;gap:11px;min-height:56px;padding:10px 12px;display:flex}.lineup-match-type label.selected,.lineup-friendly-team label.selected{background:#f1f8fc;border-color:#83b4d4}.lineup-match-type input,.lineup-friendly-team input{accent-color:#277eae;width:17px;height:17px}.lineup-match-type label span{gap:3px;display:grid}.lineup-match-type label strong,.lineup-friendly-team label strong{font-size:13px}.lineup-match-type label small{color:#6e8495;font-size:11px}.lineup-friendly-team{grid-template-columns:1fr 1fr}.lineup-friendly-team legend{grid-column:1/-1}.lineup-friendly-team label{min-height:46px}.lineup-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.lineup-modal-actions .lineup-modal-cancel{color:#61798a;background:#fff;border-color:#dbe4eb}.lineup-modal button:focus-visible,.lineup-modal input:focus-visible,.lineup-match-tabs button:focus-visible,.lineup-controls .lineup-add-match:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}@media (width<=800px){.lineup-layout-friendly{grid-template-columns:1fr}.lineup-layout-friendly .lineup-pitch-wrap{grid-area:1/1}.lineup-layout-friendly .lineup-roster{grid-row:2}.lineup-controls .lineup-add-match,.lineup-controls .lineup-save{flex:1}}@media (width<=480px){.lineup-match-tabs{margin-top:10px}.lineup-match-tabs button{min-width:112px;padding:8px 10px}.lineup-modal{padding:19px}.lineup-friendly-team{grid-template-columns:1fr}.lineup-friendly-team legend{grid-column:auto}}.pitch-reset-button{z-index:4;color:#fff;cursor:pointer;background:#0f3d2ad9;border:1.5px solid #ffffffb3;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s;display:grid;position:absolute;top:10px;box-shadow:0 2px 6px #06201459}.pitch-reset-button-blue{left:10px}.pitch-reset-button-pink{right:10px}.pitch-reset-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.pitch-reset-button-blue{border-color:#9fd6f5}.pitch-reset-button-pink{border-color:#f7b3c6}.pitch-reset-button-blue:hover{background:#2780b9;border-color:#2780b9}.pitch-reset-button-pink:hover{background:#d9577c;border-color:#d9577c}.pitch-reset-button:active{transform:scale(.95)}.pitch-reset-button:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #17324a}@media (width<=480px){.pitch-reset-button{width:30px;height:30px;top:6px}.pitch-reset-button-blue{left:6px}.pitch-reset-button-pink{right:6px}.pitch-reset-button svg{width:14px;height:14px}}.lineup-controls .lineup-register-attendees{color:#715311;cursor:pointer;background:#fff7dc;border:1px solid #edc65e;border-radius:9px;min-height:40px;padding:0 12px;font-size:12px;font-weight:650}.lineup-controls .lineup-register-attendees:hover{background:#fff0bd}.lineup-controls .lineup-register-attendees:focus-visible,.lineup-attendees-filter:focus-visible,.lineup-attendee-input textarea:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-search{margin-bottom:6px}.lineup-attendees-filter{color:#506b7f;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe7f0;border-radius:8px;min-height:36px;margin-bottom:8px;padding:0 10px;font-size:11px;font-weight:600}.lineup-attendees-filter.active{color:#624700;background:#fff5d5;border-color:#e0b340}.lineup-attendees-filter:disabled{color:#9aabb7;cursor:not-allowed;background:#f3f6f8}.lineup-player.is-attending{background:#fff8df;border-color:#e3ba52;position:relative}.lineup-player.is-attending:after{color:#493700;content:"참석";background:#f4d36f;border-radius:5px;padding:2px 4px;font-size:8px;font-weight:750;line-height:1.2;position:absolute;top:3px;right:5px}.lineup-roster-pink .lineup-player.is-attending{background:#fff8df;border-color:#e3ba52}.pitch-player.is-attending{box-shadow:0 0 0 3px #f5cf62,0 3px 8px #092b2866}.pitch-player.is-attending:after{color:#493700;content:"참석";background:#f4d36f;border:1px solid #fff;border-radius:6px;padding:2px 4px;font-size:8px;font-weight:750;line-height:1.2;position:absolute;top:-9px;right:-8px}.lineup-attendee-input{color:#506b7f;gap:7px;margin-top:18px;font-size:12px;font-weight:700;display:grid}.lineup-attendee-input textarea{color:#17324a;width:100%;min-height:120px;font:inherit;resize:vertical;background:#fbfdfe;border:1px solid #d5e0e8;border-radius:10px;padding:11px;font-size:13px;line-height:1.55}.lineup-attendee-input textarea::placeholder{color:#91a3af}.lineup-attendee-help,.lineup-attendee-unmatched{color:#6d8495;margin:8px 0 0;font-size:11px;line-height:1.5}.lineup-attendee-unmatched{color:#8b3636}.lineup-attendee-new-members,.lineup-attendee-matched{color:#66521a;background:#fff9e8;border:1px solid #ead9a7;border-radius:9px;margin:10px 0 0;padding:11px 12px;font-size:11px;line-height:1.5}.lineup-attendee-new-members>strong{font-size:12px}.lineup-attendee-new-members ul{flex-wrap:wrap;gap:5px 14px;margin:7px 0;padding-left:18px;display:flex}.lineup-attendee-new-members p{color:#75683e;margin:6px 0 0}.lineup-attendee-matched{color:#315c3c;background:#f1faf3;border-color:#cfe4d4}.lineup-modal-actions .lineup-add-match:disabled{color:#8a9aa5;cursor:not-allowed;filter:none;background:#edf1f4;border-color:#dce4e9}.lineup-controls .lineup-result-button{color:#34456d;cursor:pointer;background:#f7f8fc;border:1px solid #d5ddeb;border-radius:9px;min-height:40px;padding:0 12px;font-size:12px;font-weight:650}.lineup-result-button:focus-visible,.lineup-scorer-row :focus-visible,.lineup-scorer-add:focus-visible,.lineup-actual-attendance-list :focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-result-score{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-top:20px;display:grid}.lineup-result-score label{color:#506b7f;gap:6px;font-size:12px;font-weight:650;display:grid}.lineup-result-score input{text-align:center;width:100%;height:46px;font:inherit;color:#17324a;border:1px solid #d5e0e8;border-radius:9px;font-size:22px;font-weight:700}.lineup-result-score>span{padding-bottom:12px;font-size:22px;font-weight:700}.lineup-scorer-list{border:0;gap:8px;margin:20px 0 0;padding:0;display:grid}.lineup-scorer-list legend{color:#506b7f;margin-bottom:8px;font-size:12px;font-weight:700}.lineup-scorer-row{grid-template-columns:minmax(0,1fr) 62px 34px;align-items:center;gap:6px;display:grid}.lineup-scorer-row label{color:#60758a;align-items:center;gap:4px;font-size:11px;display:flex}.lineup-scorer-row select,.lineup-scorer-row input{color:#17324a;width:100%;height:40px;font:inherit;background:#fff;border:1px solid #d5e0e8;border-radius:8px;padding:0 8px}.lineup-scorer-row button,.lineup-scorer-add{color:#526b7d;height:40px;font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #dbe4eb;border-radius:8px;padding:0 10px;font-size:11px}.lineup-scorer-add{color:#265f8c;justify-self:start}.lineup-actual-attendance-list{gap:6px;max-height:min(50vh,360px);margin-top:16px;display:grid;overflow:auto}.lineup-actual-attendance-list label{background:#fbfdfe;border:1px solid #e1e9ef;border-radius:9px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:44px;padding:7px 10px;display:grid}.lineup-actual-attendance-list input{accent-color:#267eaf;width:18px;height:18px}.lineup-actual-attendance-list small{color:#72899a;font-size:10px}@media (width<=800px){.lineup-controls .lineup-result-button{flex:1}.lineup-player{touch-action:manipulation}}@media (width<=480px){.lineup-controls .lineup-result-button{flex:1}.lineup-result-score{gap:7px}.lineup-scorer-row{grid-template-columns:minmax(0,1fr) 62px 34px}}.lineup-scorer-row>button{place-items:center;width:34px;min-width:34px;padding:0;display:grid}.lineup-scorer-row label input{text-align:center;width:40px;height:40px;padding:0 6px}.lineup-player-select{min-width:0;position:relative}.lineup-player-select-trigger{color:#17324a;width:100%;height:40px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5e0e8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.lineup-player-select-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lineup-player-select-trigger i{color:#7890a0;flex:none;font-size:11px;font-style:normal}.lineup-player-select-trigger:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-player-select-list{z-index:5;background:#fff;border:1px solid #d5e0e8;border-radius:10px;gap:2px;max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #10283b2e}.lineup-player-select-list button{color:#17324a;width:100%;min-height:36px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:13px}.lineup-player-select-list button:hover,.lineup-player-select-list button[aria-selected=true]{color:#173f5a;background:#eef6fc;font-weight:650}.lineup-player-select-list button:focus-visible{outline-offset:-2px;outline:2px solid #ffbf47}.lineup-roster{min-width:0}.lineup-position-filter{color:#60758a;gap:5px;margin:12px 0 8px;font-size:10px;display:grid}.lineup-position-filter>div{flex-wrap:wrap;gap:4px;display:flex}.lineup-position-chips{flex-wrap:nowrap;gap:3px}.lineup-position-filter .lineup-position-chips button{white-space:nowrap;flex:1 1 0;min-width:0;padding:0 3px}@media (width<=480px){.football-app .lineup-register-attendees{white-space:nowrap;padding:0 10px;font-size:12px}.lineup-position-filter .lineup-position-chips button{padding:0;font-size:10px}}.lineup-venue-button{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lineup-venue-button:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-venue-canvas-wrap{background:#eef4f8;border-radius:12px;height:200px;margin-top:16px;position:relative;overflow:hidden}.lineup-venue-canvas{width:100%;height:100%}.lineup-venue-canvas-note{text-align:center;color:#60758a;background:#eef4f8;place-items:center;margin:0;padding:12px;font-size:12px;line-height:1.5;display:grid;position:absolute;inset:0}.lineup-venue-map{color:#40586c;background:#f8fbfe;border:1px dashed #cfdde8;border-radius:12px;justify-items:start;gap:4px;margin-top:12px;padding:16px;font-size:13px;display:grid}.lineup-venue-map a{color:#2b6a9b;font-weight:600}.lineup-venue-edit{gap:12px;margin-top:16px;display:grid}.lineup-venue-field{color:#506b7f;gap:6px;font-size:12px;font-weight:650;display:grid}.lineup-venue-field input{box-sizing:border-box;color:#17324a;width:100%;min-width:0;height:42px;font:inherit;background:#fff;border:1px solid #d5e0e8;border-radius:9px;padding:0 11px;font-size:13px}.lineup-venue-address{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.lineup-position-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lineup-position-head .lineup-attendees-filter{white-space:nowrap;border-radius:999px;min-height:28px;margin:0;padding:0 10px;font-size:11px}.lineup-position-filter button{color:#506b7f;min-height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe7f0;border-radius:999px;padding:0 9px;font-size:11px;font-weight:600}.lineup-position-filter button:hover{background:#f1f6fa}.lineup-position-filter button.active{color:#173f5a;background:#e8f4fb;border-color:#79acd0}.lineup-position-filter button:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-search input{box-sizing:border-box;min-width:0;max-width:100%}.lineup-player-vacancy{display:none}@media (width<=800px){.lineup-player-vacancy{min-height:48px;display:block}}@media (width<=480px){.pitch-drop-hint{bottom:12px;left:10px;right:auto;transform:none}}.lineup-match-card{background:#f8fafc;border:1px solid #dce7ef;border-radius:10px;gap:6px;min-width:126px;padding:8px;display:grid;position:relative}.lineup-match-card>button[role=tab]{min-width:0;box-shadow:none;background:0 0;border:0;padding:4px 6px}.lineup-match-card .lineup-match-result-button{color:#265f8c;text-align:center;cursor:pointer;background:#fff;border:1px solid #cbdff3;border-radius:8px;min-width:0;min-height:30px;padding:0 10px;font-size:11px;font-weight:650;display:block}.lineup-match-card .lineup-match-result-button:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}@media (width<=480px){.lineup-match-card{min-width:112px}}@media (width>=801px){.lineup-section{margin-top:8px;padding:14px 18px}}.lineup-rosters{display:contents}.lineup-roster-blue{grid-area:1/1}.lineup-roster-pink{grid-area:1/3}.lineup-layout .lineup-pitch-wrap{grid-area:1/2}.lineup-layout-friendly .lineup-roster-pink{grid-column:1}@media (width>=801px){.lineup-roster{max-height:min(60vh,560px);overflow-y:auto}}@media (width<=800px){.lineup-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lineup-layout-friendly{grid-template-columns:minmax(0,1fr)}.lineup-layout .lineup-pitch-wrap,.lineup-layout-friendly .lineup-pitch-wrap{grid-area:1/1/auto/-1}.lineup-layout .lineup-rosters{grid-area:2/1/auto/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px;max-height:min(58vh,520px);padding:2px;display:grid;overflow-y:auto}.lineup-layout-friendly .lineup-rosters{grid-template-columns:minmax(0,1fr)}.lineup-layout .lineup-rosters .lineup-roster{grid-area:auto;min-width:0;max-height:none;overflow:visible}}.lineup-match-card>button[role=tab]{padding-right:54px}.lineup-match-card>.lineup-match-add{color:#265f8c;cursor:pointer;background:#fff;border:1px solid #cbdff3;border-radius:50%;place-items:center;width:24px;min-width:0;height:24px;padding:0;font-size:16px;font-weight:600;line-height:1;display:grid;position:absolute;top:8px;right:36px}.lineup-match-card>.lineup-match-add:disabled{opacity:.4;cursor:not-allowed}.lineup-match-card>.lineup-match-add:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-match-card>.lineup-match-delete{color:#b42318;cursor:pointer;background:#fff;border:1px solid #f1c5c5;border-radius:50%;place-items:center;width:24px;min-width:0;height:24px;padding:0;font-size:16px;font-weight:600;line-height:1;display:grid;position:absolute;top:8px;right:8px}.lineup-match-card>.lineup-match-delete:hover:not(:disabled){background:#fdecec}.lineup-match-card>.lineup-match-delete:disabled{opacity:.4;cursor:not-allowed}.lineup-match-card>.lineup-match-delete:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.lineup-pitch-footer{z-index:4;display:flex;position:absolute;bottom:12px;right:12px}.lineup-formation-select{color:#17324a;height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe7f0;border-radius:9px;padding:0 10px;font-size:12px}@media (width<=800px){.lineup-controls .lineup-register-attendees{flex:1}}.lineup-history-button{color:#265f8c;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdff3;border-radius:9px;padding:0 12px;font-size:12px;font-weight:650}.lineup-history-button.is-current{color:#34456d;background:#f7f8fc;border-color:#d5ddeb}.lineup-history-picker{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.lineup-history-picker input{color:#17324a;height:40px;font:inherit;background:#fff;border:1px solid #d5e0e8;border-radius:9px;padding:0 10px;font-size:13px}.lineup-history-open{color:#265f8c;height:40px;font:inherit;cursor:pointer;background:#f0f8fd;border:1px solid #cbdff3;border-radius:9px;padding:0 14px;font-size:12px;font-weight:650}.lineup-history-open:disabled{opacity:.45;cursor:not-allowed}.lineup-history-list{gap:6px;max-height:min(50vh,360px);margin:14px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.lineup-history-list button{color:#17324a;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fbfdfe;border:1px solid #e1e9ef;border-radius:9px;gap:2px;padding:10px 12px;display:grid}.lineup-history-list button.is-active{background:#edf7fd;border-color:#79acd0}.lineup-history-list small{color:#6d8495;font-size:11px}.lineup-history-empty{color:#6d8495;margin:12px 0 0;font-size:12px}.lineup-match-date-row{justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.lineup-match-date-row>strong{text-align:center;min-width:0}.lineup-date-arrow{color:#175272;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;padding:0;display:grid}.lineup-date-arrow svg{fill:currentColor;width:26px;height:26px}.lineup-date-arrow:hover:not(:disabled){background:#e8f2f9}.lineup-date-arrow:disabled{opacity:.22;cursor:not-allowed}.lineup-date-arrow:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}@media (width<=480px){.lineup-match-date-row{gap:4px}.lineup-date-arrow{width:30px;height:30px}.lineup-date-arrow svg{width:22px;height:22px}}.lineup-history-button.is-hidden{display:none}.lineup-scorer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.lineup-scorer-columns .lineup-scorer-list{min-width:0;margin:0}@media (width<=480px){.lineup-scorer-columns{grid-template-columns:minmax(0,1fr)}}.lineup-scorer-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lineup-scorer-head strong{color:#506b7f;white-space:nowrap;font-size:12px;font-weight:700}.lineup-scorer-head .lineup-scorer-add{white-space:nowrap;justify-self:auto;height:26px;padding:0 8px;font-size:11px}.lineup-attendee-modal{width:min(380px,100%);padding:18px}.lineup-attendee-modal .lineup-modal-head h3{margin:6px 0 2px;font-size:18px}.lineup-attendee-modal .lineup-modal-head p{font-size:12px;line-height:1.5}.lineup-attendee-modal .lineup-attendee-input{margin-top:12px}.lineup-attendee-modal .lineup-attendee-input textarea{height:60px;min-height:60px;padding:8px 9px}.lineup-attendee-modal .lineup-modal-actions{margin-top:14px}.lineup-appearance{margin:12px 0}.lineup-appearance summary{cursor:pointer;padding:10px 0}.lineup-appearance p{font-size:13px;line-height:1.5}.lineup-appearance-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-height:220px;display:grid;overflow:auto}.lineup-appearance-list label{align-items:center;gap:8px;min-height:44px;display:flex}.lineup-match-card.is-blue{background:#eef7fd;border-color:#9fd0ef}.lineup-match-card.is-pink{background:#fdf0f5;border-color:#f0b8cb}.lineup-match-card.is-blue.active{background:#e3f2fc;border-color:#2794e8;box-shadow:inset 0 0 0 1px #6fb8ec}.lineup-match-card.is-pink.active{background:#fbe4ec;border-color:#ed648c;box-shadow:inset 0 0 0 1px #f3a1bb}.lineup-pitch-wrap.is-half{overflow:hidden}.lineup-pitch.is-half{width:200%;max-width:none}.lineup-pitch.is-half .pitch-reset-button-pink{left:10px;right:auto}.lineup-match-card.active{background:#eceff2;border-color:#8fa0ad;box-shadow:inset 0 0 0 1px #c3ccd4}.lineup-layout .lineup-pitch-wrap.is-half{width:0;min-width:100%}@media (width<=800px){.lineup-team-brand>strong{display:none}}@media (width>=801px){.lineup-layout-friendly{grid-template-columns:minmax(340px,440px) minmax(260px,1fr)}}@media (width<=800px){.lineup-layout-friendly{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}.lineup-layout-friendly .lineup-pitch-wrap{grid-area:1/1}.lineup-layout-friendly .lineup-rosters{grid-area:2/1;max-height:none;padding:0;display:block;overflow:visible}.lineup-layout-friendly .lineup-roster{grid-area:auto;min-height:0;padding:6px}.lineup-layout-friendly .lineup-position-filter,.lineup-layout-friendly .lineup-roster-head p{display:none}.lineup-layout-friendly .lineup-player{gap:4px;min-height:0;padding:4px 6px}.lineup-layout-friendly .lineup-player small,.lineup-layout-friendly .lineup-player .lineup-action{display:none}.lineup-layout-friendly .lineup-player strong{font-size:12px}.lineup-layout-friendly .lineup-player-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 8px;display:grid}}@media (width>=801px){.lineup-layout-friendly .lineup-player-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;display:grid}}.lineup-age-group{flex-direction:column;gap:6px;display:flex}.lineup-age-heading{z-index:1;color:#526f83;background:#f8fafc;border-bottom:1px solid #dce7ed;margin:0;padding:7px 5px 5px;font-size:11px;font-weight:700;position:static}.lineup-age-heading span{color:#8295a4;font-weight:500}.lineup-roster-pink .lineup-age-heading{background:#fff8fa;border-color:#f0dce3}.save-dialog-backdrop{z-index:1200;background:#10283a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.save-dialog{color:#17324a;text-align:center;background:#fff;border:1px solid #dbe6ee;border-radius:16px;width:min(360px,100%);padding:22px 22px 18px;box-shadow:0 24px 60px #10283a47}.save-dialog-mark{background:#eaf3fb;border-radius:50%;width:44px;height:44px;margin:0 auto 10px;display:block}.save-dialog.is-saving .save-dialog-mark{background:0 0;border:4px solid #cfe2f1;border-top-color:#2780b9;animation:.8s linear infinite save-dialog-spin}.save-dialog.is-done .save-dialog-mark{background:#e6f6ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231f8a4c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/24px no-repeat}.save-dialog.is-error .save-dialog-mark{background:#fdecec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23b42318' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/24px no-repeat}.save-dialog h3{margin:0;font-size:16px;font-weight:700}.save-dialog p{color:#5b7284;word-break:keep-all;margin:8px 0 0;font-size:13px;line-height:1.55}.save-dialog.is-error p{color:#9b2a20}.save-dialog-actions{justify-content:center;gap:8px;margin-top:18px;display:flex}.save-dialog-actions button{min-width:96px;min-height:40px;font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-size:13px;font-weight:650}.save-dialog-cancel{color:#4d6578;background:#fff;border:1px solid #d5e0e8}.save-dialog-confirm{color:#fff;background:#2780b9;border:1px solid #2780b9}@keyframes save-dialog-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.save-dialog.is-saving .save-dialog-mark{animation:none}}.portfolio-page{--portfolio-ink:#18372e;--portfolio-muted:#718078;--portfolio-line:#dce5dc;--portfolio-paper:#f5f6ef;background:var(--portfolio-paper);min-height:100vh;color:var(--portfolio-ink);letter-spacing:-.02em;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif}.portfolio-page *{box-sizing:border-box}.portfolio-nav,.portfolio-footer{justify-content:space-between;align-items:center;width:min(1240px,100% - 88px);margin:0 auto;display:flex}.portfolio-nav{border-bottom:1px solid var(--portfolio-line);height:82px}.portfolio-brand{color:var(--portfolio-ink);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.portfolio-brand>span{background:var(--portfolio-ink);color:#f4f5ed;letter-spacing:-.04em;border-radius:50%;place-items:center;width:35px;height:35px;font:700 11px/1 Inter,system-ui,sans-serif;display:grid}.portfolio-brand b{letter-spacing:.16em;font-size:11px}.portfolio-nav nav{align-items:center;gap:32px;display:flex}.portfolio-nav nav a{color:#61736a;font-size:12px;text-decoration:none;transition:color .2s}.portfolio-nav nav a:hover{color:var(--portfolio-ink)}.portfolio-nav nav .portfolio-nav-cta{color:var(--portfolio-ink);border:1px solid #b9c8bd;border-radius:99px;padding:11px 15px}.portfolio-nav-cta span{margin-left:8px}.portfolio-hero{grid-template-columns:1fr .82fr;align-items:center;gap:48px;width:min(1240px,100% - 88px);min-height:610px;margin:0 auto;padding:72px 0 96px;display:grid;position:relative}.portfolio-hero-copy{z-index:2;padding-bottom:18px;position:relative}.portfolio-eyebrow{color:#79877e;letter-spacing:.16em;align-items:center;gap:9px;margin:0;font:600 10px/1.4 Inter,system-ui,sans-serif;display:flex}.portfolio-eyebrow>span{background:#e1744c;border-radius:50%;width:7px;height:7px;display:inline-block}.portfolio-hero h1{letter-spacing:-.075em;margin:28px 0 22px;font-size:clamp(46px,6.2vw,84px);font-weight:560;line-height:1.08}.portfolio-hero h1 em{color:#e1744c;font-style:normal}.portfolio-intro{color:#718078;letter-spacing:-.035em;margin:0;font-size:15px;line-height:1.9}.portfolio-primary-link{background:var(--portfolio-ink);color:#f6f5ed;border-radius:99px;align-items:center;gap:22px;margin-top:35px;padding:14px 19px;font-size:12px;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.portfolio-primary-link:hover{background:#294e42;transform:translateY(-2px)}.portfolio-primary-link span{font-size:16px}.portfolio-hero-art{aspect-ratio:1;background:#dfe8dc;border-radius:50%;justify-self:end;width:min(100%,465px);position:relative;overflow:hidden}.portfolio-art-orbit{border:1px solid #9aafa0;border-radius:50%;position:absolute;inset:12%}.orbit-two{border-color:#b1c1b3;inset:29%}.portfolio-art-center{background:#a9bcac;width:1px;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio-art-center:after{aspect-ratio:1;content:"";border:1px solid #a9bcac;border-radius:50%;width:43%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio-art-label{color:#758b7b;letter-spacing:.19em;font:600 9px/1 Inter,system-ui,sans-serif;position:absolute}.label-top{top:8%;left:50%;transform:translate(-50%)}.label-right{top:50%;right:7%;transform:translateY(-50%)}.label-bottom{bottom:8%;left:50%;transform:translate(-50%)}.portfolio-art-ball{aspect-ratio:1;background:#e1744c;border-radius:50%;place-items:center;width:16%;animation:5s ease-in-out infinite portfolio-float;display:grid;position:absolute;top:36%;left:42%;box-shadow:0 18px 35px #c1674b40}.portfolio-art-ball span{aspect-ratio:1;background:#f8e8d8;border-radius:50%;width:26%}.portfolio-hero-art>p{color:#496656;letter-spacing:.17em;text-align:right;margin:0;font:600 10px/1.55 Inter,system-ui,sans-serif;position:absolute;bottom:13%;right:12%}.portfolio-hero-art>p span{color:#e1744c;margin-left:3px;font-size:8px}.portfolio-scroll-note{color:#87938a;letter-spacing:.17em;align-items:center;gap:10px;font:600 9px/1 Inter,system-ui,sans-serif;display:flex;position:absolute;bottom:35px;left:0}.portfolio-scroll-note span{background:#a7b5aa;width:36px;height:1px;display:block}.portfolio-work{background:#e9eee6;padding:104px max(44px,50% - 620px) 116px}.portfolio-section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.portfolio-section-heading h2,.portfolio-about h2{letter-spacing:-.065em;margin:12px 0 0;font-size:clamp(27px,3.7vw,46px);font-weight:540;line-height:1.2}.portfolio-section-heading>p{color:#758078;margin:0;font-size:12px;line-height:1.8}.portfolio-project-count{color:#a2725c;letter-spacing:.13em;margin-top:11px;font:600 9px/1 Inter,system-ui,sans-serif;display:inline-block}.portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.portfolio-project-card{min-width:0;color:inherit;background:#f8f8f2;border:1px solid #d4ded4;border-radius:16px;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.portfolio-project-card.is-featured{grid-column:1/-1;grid-template-columns:1.15fr .85fr;min-height:435px;display:grid}.portfolio-project-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px #203a2d13}.project-visual{aspect-ratio:1.45;background:var(--project-accent,#dfe8dc);place-items:center;min-height:270px;padding:28px;display:grid;position:relative;overflow:hidden}.portfolio-project-card.is-featured .project-visual{aspect-ratio:auto;min-height:435px;padding:56px}.project-cover-image{object-fit:cover;object-position:top center;width:100%;height:100%;position:absolute;inset:0}.project-visual.has-cover:before,.project-visual.has-cover:after,.project-visual.has-cover .project-browser-bar{display:none}.project-visual:before,.project-visual:after{content:"";border:1px solid #adbdaf;border-radius:50%;width:240px;height:240px;position:absolute}.project-visual:before{top:-120px;left:-90px}.project-visual:after{width:320px;height:320px;bottom:-130px;right:-150px}.project-browser-bar{z-index:1;background:#fbfcf8;border:1px solid #dce4dd;border-bottom:0;border-radius:8px 8px 0 0;align-items:center;gap:5px;width:100%;max-width:470px;height:28px;padding:0 10px;display:flex;position:relative}.project-browser-bar>span{background:#d5ddd5;border-radius:50%;width:5px;height:5px}.project-browser-bar>span:first-child{background:#e1744c}.project-browser-bar small{color:#89978d;letter-spacing:.12em;margin-left:auto;font:600 7px/1 Inter,system-ui,sans-serif}.project-football-window{z-index:1;background:#f9faf6;border:1px solid #dce4dd;border-radius:8px;width:100%;max-width:470px;min-height:264px;padding:13px 16px 17px;position:relative;box-shadow:0 23px 55px #2d493329}.project-screen-nav{color:#88958b;align-items:center;gap:14px;font-size:7px;display:flex}.project-screen-nav b{color:#284b3c;letter-spacing:.1em;font-size:10px}.project-screen-nav i{background:#e3e9e2;border-radius:50%;width:15px;height:15px;margin-left:auto}.project-screen-title{flex-direction:column;align-items:flex-start;padding-top:24px;display:flex}.project-screen-title small{color:#8b9a8d;letter-spacing:.15em;font:600 6px/1 Inter,system-ui,sans-serif}.project-screen-title strong{color:#1d3b30;letter-spacing:-.06em;margin-top:8px;font-size:17px;line-height:1.35}.project-screen-title>div{gap:5px;margin-top:10px;display:flex}.project-screen-title>div span{color:#697c6d;border:1px solid #dce5dc;border-radius:99px;padding:4px 7px;font-size:6px}.project-generic-window{z-index:1;background:#f8f8f2e8;border:1px solid #ffffffa8;border-radius:10px;width:100%;max-width:470px;min-height:205px;padding:20px 22px;position:relative;box-shadow:0 22px 55px #203a2d1c}.generic-preview-label{color:#79877e;letter-spacing:.15em;font:600 8px/1.4 Inter,system-ui,sans-serif;display:block}.project-generic-window>strong{color:#18372e;letter-spacing:-.055em;max-width:90%;margin-top:12px;font-size:clamp(18px,2.4vw,26px);font-weight:550;line-height:1.3;display:block}.generic-preview-layout{grid-template-columns:.62fr 1fr;gap:11px;margin-top:18px;display:grid}.generic-preview-bars,.generic-preview-panels{background:#e5ebe3;border-radius:6px;align-items:end;gap:5px;height:36px;padding:6px;display:flex}.generic-preview-bars i{background:#8aa08d;border-radius:3px 3px 1px 1px;flex:1;height:35%;display:block}.generic-preview-bars i:nth-child(2){height:65%}.generic-preview-bars i:nth-child(3){height:48%}.generic-preview-bars i:nth-child(4){background:#e1744c;height:82%}.generic-preview-panels{align-items:center}.generic-preview-panels i{background:#f8f8f2;border:1px solid #cbd8cc;border-radius:4px;flex:1;height:22px;display:block}.project-mini-pitch{background:linear-gradient(90deg,#c2d3c3,#d6e2d3);border:1px solid #a6b9a8;border-radius:5px;width:37%;height:56%;position:absolute;bottom:18px;right:17px}.project-mini-pitch:before{content:"";border-left:1px solid #a6b9a8;height:100%;position:absolute;top:0;left:50%}.project-mini-pitch:after{aspect-ratio:1;content:"";border:1px solid #a6b9a8;border-radius:50%;width:32%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-mini-pitch>div{border:1px solid #a6b9a8;border-right:0;width:19%;height:40%;position:absolute;top:30%;right:0}.project-mini-pitch .player{background:#e1744c;border:2px solid #f9faf6;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 1px 3px #263a2a55}.project-mini-pitch .p1{top:24%;left:21%}.project-mini-pitch .p2{top:68%;left:30%}.project-mini-pitch .p3{top:41%;left:46%}.project-mini-pitch .p4{background:#517b61;top:22%;left:69%}.project-mini-pitch .p5{background:#517b61;top:67%;left:74%}.project-mini-pitch .p6{background:#517b61;top:47%;left:88%}.project-copy{flex-direction:column;flex:1;align-items:flex-start;min-width:0;min-height:290px;padding:28px 30px;display:flex}.portfolio-project-card.is-featured .project-copy{min-height:0;padding:38px 40px}.project-copy-top{color:#88958b;letter-spacing:.1em;justify-content:space-between;width:100%;font:600 10px/1 Inter,system-ui,sans-serif;display:flex}.project-open{color:#e1744c;font-size:20px}.project-copy>.portfolio-eyebrow{margin-top:24px}.portfolio-project-card.is-featured .project-copy>.portfolio-eyebrow{margin-top:50px}.project-copy h3{letter-spacing:-.07em;margin:10px 0 8px;font-size:30px;font-weight:570}.portfolio-project-card.is-featured .project-copy h3{font-size:35px}.project-description{color:#748178;max-width:420px;margin:0;font-size:13px;line-height:1.8}.project-tags{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.project-tags span{color:#617367;border:1px solid #d9e1d8;border-radius:99px;padding:7px 10px;font-size:9px}.project-visit{color:#214638;align-items:center;gap:8px;margin-top:auto;padding-top:34px;font-size:11px;font-weight:650;display:flex}.project-visit span{color:#e1744c;font-size:15px}.portfolio-about{grid-template-columns:.5fr 1fr .35fr;align-items:center;gap:36px;width:min(1240px,100% - 88px);margin:0 auto;padding:112px 0 120px;display:grid}.portfolio-about>div{max-width:580px}.portfolio-about h2{font-size:clamp(30px,4.5vw,54px)}.portfolio-about>div>p{color:#718078;max-width:485px;margin:22px 0 0;font-size:14px;line-height:1.9}.about-mark{color:#d6e0d6;letter-spacing:-.1em;justify-self:end;font-size:70px;font-weight:600}.about-mark span{color:#e1744c}.portfolio-footer{border-top:1px solid var(--portfolio-line);min-height:90px}.portfolio-footer>p{color:#839087;margin:0;font-size:10px}.portfolio-footer>span{color:#87938a;letter-spacing:.14em;font:600 8px/1 Inter,system-ui,sans-serif}@keyframes portfolio-float{0%,to{transform:translateY(0)}50%{transform:translateY(-13px)}}@media (width<=800px){.portfolio-nav,.portfolio-footer{width:calc(100% - 40px)}.portfolio-hero{grid-template-columns:1fr;gap:35px;width:calc(100% - 40px);padding:68px 0 88px}.portfolio-hero-copy{padding-bottom:0}.portfolio-hero h1{font-size:clamp(48px,11vw,78px)}.portfolio-hero-art{justify-self:center;width:min(78vw,390px)}.portfolio-scroll-note{bottom:26px}.portfolio-work{padding:76px 20px 82px}.portfolio-section-heading{flex-direction:column;align-items:flex-start}.portfolio-section-heading>p br{display:none}.portfolio-project-grid{grid-template-columns:1fr}.portfolio-project-card.is-featured{grid-column:auto;display:flex}.portfolio-project-card.is-featured .project-visual{aspect-ratio:auto;min-height:320px;padding:38px 25px}.project-visual{min-height:320px;padding:38px 25px}.project-football-window{min-height:246px}.project-copy{min-height:300px;padding:28px}.project-copy>.portfolio-eyebrow,.portfolio-project-card.is-featured .project-copy>.portfolio-eyebrow{margin-top:33px}.portfolio-about{grid-template-columns:1fr auto;gap:24px;width:calc(100% - 40px);padding:78px 0}.portfolio-about>.portfolio-eyebrow{grid-column:1/-1}.portfolio-about>div{grid-column:1}.about-mark{grid-area:2/2;font-size:44px}.portfolio-footer{flex-wrap:wrap;gap:14px;padding:22px 0}.portfolio-footer>p{order:3;width:100%}}@media (width<=480px){.portfolio-nav{height:70px}.portfolio-brand{gap:8px}.portfolio-brand>span{width:31px;height:31px}.portfolio-brand b{font-size:9px}.portfolio-nav nav{gap:14px}.portfolio-nav nav>a{font-size:10px}.portfolio-nav nav>a:first-child{display:none}.portfolio-nav nav .portfolio-nav-cta{padding:9px 11px}.portfolio-hero{padding-top:56px}.portfolio-intro{font-size:13px}.portfolio-project-card{border-radius:12px}.project-visual{min-height:275px;padding:27px 18px}.project-screen{min-height:223px;padding:11px}.project-screen-title{padding-top:19px}.project-screen-title strong{font-size:15px}.project-mini-pitch{bottom:14px;right:12px}.project-copy h3{font-size:30px}.portfolio-footer>p{line-height:1.6}}@media (prefers-reduced-motion:reduce){.portfolio-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
