:root{color:#142218;background:#f4f5ef;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;--ink: #142218;--muted: #6e7a70;--line: #dce3d9;--surface: #ffffff;--canvas: #f4f5ef;--pitch: #116149;--lime: #d7ed5a;--orange: #e46c39;--blue: #4b73d0;--shadow: 0 16px 44px rgba(23, 48, 31, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;min-height:44px;outline:none}textarea{min-height:92px;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(75,115,208,.24);outline-offset:2px}label{display:grid;gap:7px;color:#516056;font-size:13px;font-weight:650}label small{color:var(--muted);font-size:12px;font-weight:450}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.055em;line-height:1.04}h2{font-size:22px;letter-spacing:-.035em}h3{font-size:16px;letter-spacing:-.02em}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:#173c2f}.auth-card{width:min(1032px,100%);display:grid;grid-template-columns:1.22fr .78fr;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 32px 88px #00000047}.auth-hero{min-height:610px;position:relative;overflow:hidden;padding:54px;display:grid;align-content:space-between;color:#fff;background:radial-gradient(circle at 83% 13%,#417e67,transparent 26%),#1a4a38}.auth-hero:before,.auth-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%}.auth-hero:before{width:520px;height:520px;top:-252px;right:-164px}.auth-hero:after{width:370px;height:370px;bottom:-200px;left:-116px}.auth-hero>*{position:relative;z-index:1}.hero-ball{position:absolute;right:13%;top:25%;width:100px;aspect-ratio:1;border:5px solid var(--lime);border-radius:50%;box-shadow:0 0 0 18px #d7ed5a1a}.hero-ball:before,.hero-ball:after{content:"";position:absolute;background:var(--lime)}.hero-ball:before{width:5px;height:106px;left:45px;top:-8px}.hero-ball:after{height:5px;width:106px;left:-8px;top:45px}.brand-mark,.brand span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:850;letter-spacing:-.08em;color:#1b4a38;background:var(--lime)}.auth-hero h1{margin-top:16px;color:#fff;font-size:clamp(42px,5vw,63px);max-width:560px}.auth-hero p{margin-top:22px;max-width:340px;color:#ffffffb3;line-height:1.7}.auth-form{padding:52px 42px;display:grid;align-content:center;gap:22px}.auth-form h2{margin:8px 0;font-size:29px}.auth-form p{color:var(--muted);line-height:1.6}.eyebrow{display:block;color:#6d8173;font-size:10px;font-weight:800;letter-spacing:.14em}.auth-hero .eyebrow{color:#ffffff94}.role-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#edf1eb}.role-switch button{min-height:42px;color:#657166;border-radius:9px;font-weight:700;background:transparent}.role-switch .active{color:#fff;background:var(--pitch);box-shadow:0 4px 8px #1161492e}.primary-button,.secondary-button,.text-danger,.upload-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:0 15px;font-weight:750;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button{color:#18332a;background:var(--lime)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 7px 16px #79960e38}.secondary-button{color:#19563f;background:#e7f0ea}.secondary-button:hover{background:#dbeae0}.text-danger{color:#b7472c;background:#fff1ec}.auth-form .primary-button{width:100%;background:var(--pitch);color:#fff}.form-error,.notice{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:10px;font-size:13px}.form-error,.notice.error{color:#9d3523;background:#fff0ec}.notice{color:#44604e;background:#edf5ef}.notice button{margin-left:auto;display:grid;place-items:center;background:none;color:inherit}.notice.muted{margin:16px 0;color:#785b2d;background:#fff6df}.auth-note{color:#849087;line-height:1.55}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:23px 16px 18px;color:#dcece1;background:#16382c}.brand{display:inline-flex;align-items:center;gap:11px;padding:3px 9px;color:#fff;text-align:left;background:transparent;font-size:18px;letter-spacing:-.04em}.brand span{width:31px;height:31px;border-radius:10px;font-size:11px}.team-label{padding:36px 12px 24px;display:grid;gap:4px}.team-label strong{color:#fff;font-size:17px;letter-spacing:-.03em}.team-label small{color:#92b2a1}.sidebar nav{display:grid;gap:5px}.nav-button{min-height:45px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:10px;color:#9fbaaa;background:transparent;text-align:left;font-size:14px;font-weight:680}.nav-button svg{width:18px}.nav-button:hover{color:#fff;background:#ffffff0f}.nav-button.active{color:#1a3e2f;background:var(--lime)}.logout-button{margin-top:auto;min-height:42px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#a6c1b2;background:transparent;border-radius:9px;font-weight:650}.logout-button:hover{color:#fff;background:#ffffff12}.workspace{min-width:0;padding:42px clamp(20px,4vw,62px) 58px}.page{width:min(1380px,100%);margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px}.page-header .eyebrow{margin-bottom:8px}.page-intro{max-width:620px;margin:-16px 0 25px;color:var(--muted);line-height:1.65}.loading-line{margin:-23px 0 18px;color:#5d7465;font-size:13px}.workspace>.notice{width:min(1380px,100%);margin:0 auto 17px}.mobile-header,.mobile-nav{display:none}.activity-layout{display:grid;grid-template-columns:minmax(420px,.93fr) minmax(500px,1.2fr);align-items:start;gap:24px}.activity-main,.activity-detail,.leaderboard-card,.history-card,.roster-card,.special-detail,.photo-panel,.tactic-controls,.pitch-shell{padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow)}.next-card{min-height:200px;display:flex;justify-content:space-between;gap:18px;padding:25px 27px;border-radius:17px;color:#eff8ef;background:linear-gradient(126deg,#173b2d,#256148);overflow:hidden;position:relative}.next-card:after{content:"";position:absolute;width:190px;aspect-ratio:1;right:-70px;top:-75px;border:1px solid rgba(255,255,255,.21);border-radius:50%;box-shadow:0 0 0 34px #ffffff0d}.next-card>*{position:relative;z-index:1}.next-card .eyebrow{color:#ffffff8c}.next-card h2{margin:8px 0 13px;color:#fff;font-size:clamp(23px,2.4vw,32px)}.next-card p{display:flex;align-items:center;gap:7px;margin-top:7px;color:#ffffffb8;font-size:13px}.type-badge{display:inline-flex;align-items:center;width:max-content;height:25px;padding:0 9px;border-radius:99px;color:#536157;background:#edf1ed;font-size:11px;font-weight:750}.type-badge.training,.type-dot.training{background:#d7ed5a;color:#2d4223}.type-badge.friendly,.type-dot.friendly{background:#f7c3a7;color:#79361f}.type-badge.pickup,.type-dot.pickup{background:#cfdcfa;color:#35518f}.next-card .type-badge{align-self:start}.tabs{display:flex;gap:7px;margin:20px 0 15px;overflow-x:auto;padding-bottom:2px}.tabs button,.scope-controls button{flex:0 0 auto;min-height:36px;padding:0 13px;border-radius:9px;color:#68756c;background:#edf0eb;font-size:13px;font-weight:700}.tabs .active,.scope-controls .active{color:#fff;background:var(--pitch)}.event-list{display:grid;gap:8px}.event-list-row{min-height:74px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:11px 12px;border:1px solid #e7ebe5;border-radius:12px;color:var(--ink);background:#fff;text-align:left}.event-list-row:hover{border-color:#bfd5c5;background:#fbfdf9}.event-list-row.selected{border-color:#5d9576;box-shadow:inset 3px 0 0 var(--pitch);background:#f4faf3}.event-list-row.cancelled{opacity:.6}.event-list-row div{min-width:0;display:grid;gap:5px}.event-list-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.event-list-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.event-list-row em{color:#a06131;font-size:12px;font-style:normal}.type-dot{width:8px;height:8px;border-radius:50%}.event-form{margin:0 0 20px;padding:22px;border:1px solid #cae0cf;border-radius:16px;background:#f8fcf6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.form-grid .wide{grid-column:1 / -1}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.detail-heading,.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.detail-heading h2{margin:8px 0 5px}.detail-heading p,.section-heading p{color:var(--muted);font-size:13px;line-height:1.55}.icon-button{display:inline-grid;place-items:center;width:36px;min-width:36px;height:36px;padding:0;border-radius:9px;color:#557064;background:#edf3ef}.icon-button:hover{color:#1d523e;background:#dfece3}.detail-meta{display:flex;flex-wrap:wrap;gap:10px 17px;margin:19px 0;padding:14px 0;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb}.detail-meta span{display:inline-flex;align-items:center;gap:6px;color:#546257;font-size:13px}.detail-meta p{flex-basis:100%;color:#68766c;line-height:1.6;font-size:13px}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-editor{margin:14px 0;padding:0 13px;border:1px solid #e3e9e2;border-radius:10px;background:#fbfdfb}.event-editor summary{min-height:42px;display:flex;align-items:center;color:#36644d;cursor:pointer;font-size:13px;font-weight:720}.event-editor form{padding:4px 0 14px}.event-editor .form-grid{margin:4px 0 12px}.attendance-section{margin-top:25px}.section-heading{margin-bottom:15px}.section-heading .eyebrow{margin-bottom:5px}.summary-pills{display:flex;flex-wrap:wrap;justify-content:end;gap:5px}.summary-pills span{padding:4px 6px;border-radius:6px;color:#5f6e64;background:#f1f4f0;font-size:10px;font-weight:700;white-space:nowrap}.filter-input{margin-bottom:10px;min-height:38px}.roster-list{display:grid;border-top:1px solid #edf0eb}.roster-row{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) 98px minmax(96px,.85fr);align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf0eb}.roster-row select,.roster-row input{min-height:37px;padding:7px 8px;font-size:12px}.player-ident{min-width:0;display:flex;align-items:center;gap:9px}.player-ident>strong{width:29px;aspect-ratio:1;display:grid;place-items:center;color:#42735a;border-radius:8px;background:#ecf3ed;font-size:12px}.player-ident span{min-width:0;display:grid;gap:2px;overflow:hidden;font-size:13px;font-weight:700}.player-ident small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:450}.save-state{position:absolute;right:0;bottom:-2px;color:#6c8777;font-size:10px}.checkin-section{margin-top:25px;padding-top:22px;border-top:1px solid #e5ebe4}.checkin-list{display:grid;border-top:1px solid #edf0eb}.checkin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0eb;font-size:13px;font-weight:700}.checkin-row span{display:grid;gap:2px}.checkin-row small{color:var(--muted);font-size:11px;font-weight:450}.presence-buttons,.compact-rsvp{display:flex;gap:6px}.presence-buttons button,.compact-rsvp button{min-height:34px;padding:0 9px;border-radius:8px;font-size:12px;font-weight:750}.presence-buttons .present,.actual.present{color:#246649;background:#e4f5e9}.presence-buttons .absent,.actual.absent{color:#a54631;background:#fff0e9}.presence-buttons .active{box-shadow:inset 0 0 0 2px currentColor}.player-page{max-width:960px}.player-next{min-height:260px;display:flex;align-items:end;justify-content:space-between;gap:26px;padding:30px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#204a38,#296c50);box-shadow:var(--shadow)}.player-next .eyebrow{color:#b2d5be}.player-next h2{margin:8px 0 14px;font-size:clamp(27px,4vw,38px);color:#fff}.player-next p{display:flex;gap:7px;align-items:center;margin-top:7px;color:#d1e6d8;font-size:13px}.status-choice{width:min(390px,100%);padding:16px;border-radius:13px;color:#e8f6ec;background:#07261a45}.status-choice>span{display:block;margin-bottom:10px;font-weight:750}.status-choice>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.status-choice button,.compact-rsvp button{color:#edf6ef;background:#ffffff1f}.status-choice button.active{color:#1e4433;background:var(--lime);box-shadow:inset 0 0 0 2px #1646323b}.status-choice small{display:block;margin-top:10px;color:#b1cfbc;font-size:11px}.player-stats-strip{display:flex;gap:1px;margin:18px 0;border-radius:12px;overflow:hidden;background:var(--line)}.player-stats-strip span{flex:1;padding:13px;color:#68766b;background:#fff;text-align:center;font-size:12px}.player-stats-strip b{margin-left:4px;color:var(--pitch);font-size:18px}.player-event-cards{display:grid;gap:10px}.player-event-card{min-height:102px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 18px #1a32230a}.player-event-card h3{margin:8px 0 6px}.player-event-card p{color:var(--muted);font-size:12px}.compact-rsvp button.active{color:#fff;background:var(--pitch)}.management-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(470px,1.4fr);gap:24px;align-items:start}.card-form,.location-card,.term-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.card-form{display:grid;gap:13px}.card-form h3,.location-card h3,.term-card h3{margin-bottom:5px}.location-card{display:grid;gap:9px;margin-top:17px}.location-card>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #edf0eb;font-size:13px}.roster-card{min-height:420px}.roster-card .filter-input{width:min(230px,100%);margin:0}.player-card{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0eb}.player-card>strong{width:38px;aspect-ratio:1;display:grid;place-items:center;border-radius:11px;color:#2c6b50;background:#e7f2ea;font-size:13px}.player-card h3{font-size:14px}.player-card em{padding:2px 5px;color:#8c7141;border-radius:5px;background:#f9f0dc;font-size:10px;font-style:normal}.player-card p{margin-top:3px;color:var(--muted);font-size:12px}.player-card>div:last-child{display:flex;gap:5px}.player-editor{display:grid;grid-template-columns:minmax(80px,1fr) 66px minmax(120px,1fr) 82px auto auto;gap:7px;align-items:center;padding:11px 0;border-top:1px solid #edf0eb}.player-editor input,.player-editor select{min-height:37px;padding:6px 7px;font-size:12px}.player-editor button{min-height:37px;padding:0 10px;font-size:12px}.stats-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:24px;align-items:start}.leaderboard-card{min-height:390px}.leaderboard-card h2,.history-card h2{margin-top:5px}.milestone{display:flex;gap:9px;align-items:center;padding:9px 11px;border-radius:10px;color:#48715b;background:#eef6e8}.milestone b{color:#24563e;font-size:30px;letter-spacing:-.06em}.milestone span{font-size:11px;line-height:1.4}.scope-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:6px;margin:20px 0 11px}.scope-controls input,.scope-controls select{min-height:36px;padding:6px 8px;font-size:12px}.leaderboard-list{display:grid}.leaderboard-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;border-top:1px solid #edf0eb}.rank{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:#768278;background:#eff2ef;font-size:12px}.rank.top-1{color:#6e5600;background:#f4df73}.rank.top-2{color:#4e5b61;background:#d9e0e2}.rank.top-3{color:#7a482b;background:#f0c4a5}.leaderboard-list span{min-width:0;font-size:13px;font-weight:700}.leaderboard-list span small{margin-left:6px;color:#877348;font-size:10px;font-weight:500}.leaderboard-list strong{color:var(--pitch);font-size:17px}.leaderboard-list strong small{margin-left:2px;color:#7b887e;font-size:10px}.term-card{margin-top:18px}.term-form{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px auto;gap:7px;margin:13px 0}.term-form input,.term-form button{min-height:38px;padding:0 8px;font-size:12px}.term-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid #edf0eb}.term-row span{display:grid;gap:3px;font-size:13px}.term-row small{color:var(--muted);font-size:11px}.history-card{min-height:510px}.history-filter{display:flex;gap:7px;margin:18px 0 12px}.history-filter select{min-height:36px;padding:6px 8px;font-size:12px}.history-table{display:grid;max-height:560px;overflow:auto}.history-table article{display:grid;grid-template-columns:minmax(125px,1fr) 70px 58px 54px;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #edf0eb}.history-table article div{min-width:0;display:grid;gap:3px}.history-table strong,.history-table small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-table strong{font-size:12px}.history-table small{color:var(--muted);font-size:10px}.history-table>article>span{font-size:11px}.status-chip{padding:4px 5px;border-radius:5px;text-align:center}.status-chip.status-available{color:#2d714f;background:#e8f5ea}.status-chip.status-unavailable{color:#a84c34;background:#fff0ea}.status-chip.status-tentative{color:#986d23;background:#fff5df}.status-chip.status-unknown{color:#68756b;background:#eef1ef}.actual{color:#68756b;font-size:11px}.actual.present{color:#28704e}.actual.absent{color:#b04734}.special-layout,.albums-layout,.tactics-layout{display:grid;grid-template-columns:minmax(245px,.52fr) minmax(500px,1.48fr);align-items:start;gap:24px}.special-list,.album-list{display:grid;gap:7px}.special-list button,.album-list button{min-height:72px;display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;text-align:left}.special-list button.active,.album-list button.active{border-color:#80ae91;background:#f4faf4}.special-list button div,.album-list button div{min-width:0;display:grid;gap:4px}.special-list strong,.album-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.special-list small,.album-list small{color:var(--muted);font-size:11px}.live-dot,.archive-dot{width:8px;height:8px;border-radius:50%;background:#78ad42}.archive-dot{background:#b6bdb7}.special-detail textarea{margin:12px 0}.title-input{margin:8px 0 5px;padding:0;min-height:29px;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:22px;font-weight:800;letter-spacing:-.035em}.special-summary{margin:18px 0 23px;color:#5d6d61;line-height:1.65}.entry-list{display:grid;margin-top:7px}.entry-list article{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;gap:10px;align-items:start;padding:14px 0;border-top:1px solid #edf0eb}.entry-list time{color:#587062;font-size:11px;line-height:1.45}.entry-list div{min-width:0;display:grid;gap:4px}.entry-list strong{font-size:13px}.entry-list small,.entry-list p{color:var(--muted);font-size:11px;line-height:1.45}.entry-list b{padding-top:2px;color:#2d694d;font-size:13px;white-space:nowrap}.entry-form{margin-top:19px;padding-top:19px;border-top:1px solid #e6ece5}.entry-form h3{margin-bottom:4px}.album-list button{grid-template-columns:32px minmax(0,1fr)}.album-list button>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#33664e;background:#e5f0e8}.photo-panel{min-height:475px}.upload-button{color:#fff;background:var(--pitch)}.upload-button input{display:none}.upload-status{display:grid;gap:4px;margin:0 0 14px;padding:9px 11px;border-radius:9px;color:#647369;background:#f2f5f1;font-size:11px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.photo-thumb{min-height:0;aspect-ratio:1;padding:0;overflow:hidden;border-radius:10px;color:#65756a;background:#eef3ee}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.photo-thumb:hover img{transform:scale(1.04)}.lightbox{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:74px 24px 24px;background:#08140ee0}.lightbox>img{max-width:min(100%,1050px);max-height:calc(100vh - 155px);border-radius:8px;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:23px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#ffffff21}.lightbox-meta{width:min(900px,100%);display:flex;align-items:center;gap:16px;padding:12px 0;color:#e8f2e9;font-size:12px}.lightbox-meta p{flex:1}.lightbox-meta .text-danger{margin-left:auto}.caption-editor{flex:1;display:flex;gap:7px}.caption-editor input{min-height:36px;color:var(--ink)}.caption-editor .secondary-button{min-height:36px;white-space:nowrap}.tactic-controls{display:grid;gap:14px}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:17px;min-height:17px}.saved-boards{display:grid;gap:8px;margin-top:9px;padding-top:17px;border-top:1px solid #e9eeea}.saved-boards>div{display:grid;gap:3px;padding:8px 0;border-top:1px solid #eff2ef}.saved-boards strong{font-size:13px}.saved-boards small{color:var(--muted);font-size:11px}.pitch-shell{min-height:650px;display:grid;place-items:center;padding:26px;background:#fff}.pitch{position:relative;width:min(100%,var(--pitch-max-width));aspect-ratio:var(--pitch-ratio);overflow:hidden;border:2px solid #d7ed5a;border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.045) 50%,transparent 50%),#176947;background-size:18% 100%;touch-action:none}.slot-marker{position:absolute;z-index:2;width:38px;height:38px;display:grid;place-items:center;padding:0;border:2px solid #fff;border-radius:50%;color:#fff;background:#f9a14d;box-shadow:0 4px 9px #0000003b;touch-action:none}.slot-marker small{position:absolute;top:39px;max-width:70px;overflow:hidden;color:#fff;font-size:9px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.5)}.slot-marker.opponent{background:#5b7dd4}.slot-marker.selected{outline:3px solid var(--lime);outline-offset:3px}.slot-marker.dragging{z-index:5;cursor:grabbing}.empty-state{display:grid;align-content:center;justify-items:start;gap:6px;min-height:120px;padding:22px;border:1px dashed #ced8ce;border-radius:12px;color:#617267;background:#fbfcfa}.empty-state strong{color:#3d5546;font-size:14px}.empty-state p{color:#7b887f;font-size:12px;line-height:1.55}.next-card .empty-state{width:100%;color:#dcecdf;background:#ffffff0d;border-color:#ffffff38}.next-card .empty-state strong,.next-card .empty-state p{color:inherit}.loading-copy{min-height:130px;display:grid;place-items:center;color:var(--muted);font-size:13px}@media (max-width: 1120px){.workspace{padding:35px 28px 50px}.activity-layout{grid-template-columns:minmax(320px,.82fr) minmax(430px,1.15fr)}.stats-layout{grid-template-columns:1fr}.history-card{min-height:auto}.special-layout,.albums-layout,.tactics-layout{grid-template-columns:minmax(210px,.48fr) minmax(420px,1.4fr)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-editor{grid-template-columns:1fr 60px 1fr 74px}.player-editor button{grid-column:span 2}}@media (max-width: 820px){.auth-card{grid-template-columns:1fr;max-width:570px}.auth-hero{min-height:330px;padding:33px}.auth-hero h1{font-size:40px}.hero-ball{top:14%;right:16%;width:72px}.hero-ball:before{left:32px;height:76px}.hero-ball:after{top:32px;width:76px}.auth-form{padding:34px 28px}.app-shell{display:block}.sidebar{display:none}.workspace{padding:0 16px 90px}.mobile-header{height:65px;display:flex;justify-content:space-between;align-items:center;margin:0 -16px;padding:0 13px;background:#16382c}.mobile-header .brand{font-size:16px}.mobile-header .logout-button{margin:0;width:40px;justify-content:center;padding:0}.mobile-nav{position:sticky;z-index:9;top:0;display:flex;gap:4px;margin:0 -16px 21px;padding:8px 11px;overflow-x:auto;background:#f4f5eff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-nav .nav-button{flex:0 0 auto;min-height:38px;padding:0 10px;color:#53665a;background:#e8eee7;font-size:12px}.mobile-nav .nav-button svg{width:16px}.mobile-nav .nav-button.active{color:#fff;background:var(--pitch)}.page-header{margin-bottom:21px}.page-header .primary-button{min-width:44px;padding:0 12px;font-size:0}.page-header .primary-button svg{margin:0}.activity-layout,.management-layout,.special-layout,.albums-layout,.tactics-layout{grid-template-columns:1fr}.activity-main{display:contents}.next-card{order:-1}.activity-detail{margin-top:0}.event-list{margin-bottom:2px}.activity-detail,.leaderboard-card,.history-card,.roster-card,.special-detail,.photo-panel,.tactic-controls,.pitch-shell{padding:18px;border-radius:14px}.management-layout>div{display:contents}.card-form{order:-1}.location-card{margin-top:0}.special-list,.album-list{display:flex;overflow-x:auto;padding-bottom:2px}.special-list button,.album-list button{flex:0 0 200px}.player-next{min-height:0;display:grid;padding:24px}.status-choice{width:100%}.player-event-card{grid-template-columns:minmax(0,1fr) auto;gap:13px}.player-event-card .compact-rsvp{grid-column:1 / -1}.player-event-card .compact-rsvp button{flex:1}.term-form{grid-template-columns:1fr 1fr}.term-form input:first-child,.term-form button{grid-column:1 / -1}.pitch-shell{min-height:540px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace>.notice{margin-bottom:12px}}@media (max-width: 520px){.auth-page{padding:0}.auth-card{min-height:100vh;border-radius:0}.auth-hero{min-height:292px;padding:27px}.auth-hero h1{font-size:36px}.auth-hero p{margin-top:14px;font-size:13px}.auth-form{padding:30px 22px}.page-header h1{font-size:29px}.next-card{min-height:191px;padding:21px}.next-card h2{max-width:220px}.next-card .type-badge{max-width:80px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.roster-row{grid-template-columns:minmax(0,1fr) 88px;padding:12px 0 17px}.roster-row input{grid-column:1 / -1}.save-state{bottom:1px}.summary-pills{justify-content:start}.checkin-row{align-items:start;flex-direction:column}.presence-buttons{width:100%}.presence-buttons button{flex:1}.player-next h2{font-size:29px}.player-stats-strip span{padding:10px 4px}.player-event-card{padding:16px}.management-layout{gap:16px}.player-editor{grid-template-columns:1fr 58px}.player-editor input:nth-child(3),.player-editor select,.player-editor button{grid-column:1 / -1}.scope-controls{grid-template-columns:1fr 1fr}.scope-controls input,.scope-controls select{grid-column:1 / -1}.leaderboard-card .section-heading{display:grid}.milestone{width:max-content}.history-table article{grid-template-columns:minmax(0,1fr) 58px 52px;gap:5px}.history-table article>span:first-of-type{grid-column:2;grid-row:1}.history-table article>span:last-child{grid-column:3;grid-row:1}.history-table article>span:nth-child(2){display:none}.history-filter{display:grid;grid-template-columns:1fr 1fr}.entry-list article{grid-template-columns:61px minmax(0,1fr) auto}.entry-list article>.icon-button{grid-column:3}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{padding:76px 12px 74px}.lightbox-meta{position:absolute;bottom:0;left:0;right:0;padding:12px;background:#0000005c}.lightbox-meta p{display:none}.pitch-shell{min-height:468px;padding:16px}.slot-marker{width:34px;height:34px;font-size:11px}.slot-marker small{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ink:#17212e;--muted:#78818d;--line:#e5eaed;--canvas:#f5f8f8;--pitch:#148345;--lime:#148345;--shadow:none;color:var(--ink);background:var(--canvas);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}h1,h2,h3{letter-spacing:0;line-height:1.4}h1{font-size:24px}h2{font-size:23px}h3{font-size:15px}.app-shell{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding:22px 13px;background:linear-gradient(110deg,#fff,#f4f9f6);border-right:1px solid var(--line);color:var(--ink)}.brand{color:#101b24;justify-content:center;gap:7px;letter-spacing:0;font-size:20px;flex-direction:column;padding:0}.team-crest{width:54px;height:64px}.team-label{padding:7px 0 28px;text-align:center;color:var(--muted)}.nav-button{color:#374151;border-radius:6px;min-height:45px;font-weight:550;margin-bottom:5px}.nav-button.active{background:#e0f2e9;color:#087137;box-shadow:inset 3px 0 #138647}.nav-button:hover{background:#eef6f1;color:#087137}.logout-button{color:#6b7781}.logout-button:hover{color:#087137;background:#e5f1e9}.workspace{padding:0 22px 24px}.page{max-width:1380px}.page-header{min-height:56px;align-items:center;margin:0;border-bottom:1px solid var(--line)}.page-header .eyebrow:empty{display:none}.page-header .eyebrow{font-size:9px;margin:10px 0 2px}.primary-button{color:#fff;background:var(--pitch);border-radius:6px;min-height:36px;font-size:13px;padding:0 15px}.primary-button:hover{background:#0c713a;transform:none;box-shadow:none}.secondary-button,.text-danger,.upload-button{border-radius:6px}.secondary-button{background:#fff;border:1px solid #c3d9cd;color:#137641}.activity-tabs{height:44px;display:flex;gap:18px;margin-bottom:12px;border-bottom:1px solid var(--line)}.activity-tabs button{padding:0 24px;min-width:78px;color:#28333f;background:transparent;border-bottom:2px solid transparent;font-size:14px;font-weight:600}.activity-tabs button.active{color:#0a7b38;border-color:#158c47}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}.home-main,.home-aside{display:grid;gap:12px;min-width:0}.overview-card{border:1px solid var(--line);border-radius:7px;background:#fff;padding:14px;min-width:0}.overview-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:10px;min-height:20px}.overview-heading h3{white-space:nowrap}.overview-heading h3 span{font-weight:450;font-size:13px}.overview-heading>span{font-size:12px;color:#687486}.link-button{color:#0d7b40;background:none;padding:0;display:inline-flex;gap:4px;align-items:center;font-size:12px;white-space:nowrap}.event-banner{border:1px solid var(--line);border-radius:7px;min-height:155px;padding:14px 17px;background:#fff url(/training-banner.png) right center/auto 100% no-repeat;overflow:hidden}.event-banner h3{font-size:15px;margin-bottom:12px}.event-banner h2{font-size:24px;margin-bottom:11px;max-width:80%}.event-banner p{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:7px;max-width:85%;color:#334155}.week-controls{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.week-controls button,.ranking-period button{background:none;color:#5b6775;display:grid;place-items:center;padding:3px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:90px;padding:8px 2px;background:#f5f7f9;border:1px solid transparent;border-radius:5px;font-size:12px;text-align:center}.week-day.selected{background:#edf8f1;border-color:#76ad8c;color:#057134}.week-day button{display:grid;gap:4px;justify-items:center;background:transparent;color:inherit;padding:0;width:100%;font-size:12px;min-height:35px}.week-day small{font-size:10px}.week-day .cancelled{text-decoration:line-through;color:var(--muted)}.rest-day{color:#85919c;padding-top:5px}.attendance-card{padding:12px 14px 8px}.attendance-card .overview-heading input{width:170px;min-height:30px;padding:5px 10px;background:#fafbfc;border-radius:6px;font-size:12px}.attendance-filters{display:flex;gap:7px;align-items:center;margin-bottom:11px;flex-wrap:wrap}.attendance-filters button{min-height:32px;padding:0 11px;border:1px solid transparent;border-radius:6px;font-size:12px;background:#f3f5f7;color:#334155;white-space:nowrap}.attendance-filters button.active{border-color:#2b9558;color:#0b7c3b;background:#f0faf3}.attendance-filters .history-link{margin-left:auto;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line)}.attendance-table{max-height:236px;overflow:auto}.attendance-table-head{position:sticky;top:0;z-index:1}.attendance-table-head,.attendance-table-row{display:grid;grid-template-columns:28px minmax(58px,.8fr) minmax(276px,3fr) 61px;gap:7px;align-items:center}.attendance-table-head{min-height:31px;background:#f3f6f8;color:#44505d;font-size:11px;padding:0 7px;border-radius:4px 4px 0 0}.attendance-table-row{min-height:41px;border-bottom:1px solid #edf0f3;font-size:12px;padding:4px 7px}.attendance-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jersey-number{color:#6b7786}.inline-status{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.inline-status button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:27px;padding:0 3px;background:#fff;border:1px solid #e0e6ec;border-radius:4px;color:#687482;font-size:11px;white-space:nowrap}.choice-icon{width:12px;height:12px;border:1px solid #99a7b5;border-radius:50%;display:grid;place-items:center}.inline-status .active.choice-available{color:#08733a;background:#eef9f1;border-color:#51a777}.inline-status .active.choice-unavailable{color:#d44852;background:#fff3f3;border-color:#ed999f}.inline-status .active.choice-tentative{color:#bd8404;background:#fffaee;border-color:#ebc56c}.inline-status .active.choice-unknown{color:#475569;background:#f4f6f8;border-color:#a6b4c2}.inline-status .active .choice-icon{border-color:currentColor;background:currentColor}.choice-icon svg{stroke:#fff}.row-feedback{font-size:10px;color:#12804a;white-space:nowrap}.row-feedback.failed{color:#be3434}.autosave-note{font-size:11px;color:var(--muted);margin-top:7px}.event-management{border-top:1px solid #edf0f2;margin-top:8px}.event-management>summary,.event-archive>summary{padding:9px 0;cursor:pointer;color:#708078;font-size:12px}.event-archive{font-size:12px}.coach-home .event-archive>summary{padding:3px 0}.event-management .event-editor{margin:0 0 10px}.rsvp-note{display:grid;grid-template-columns:70px minmax(0,1fr) 55px;align-items:center;gap:8px;padding:5px 0;font-size:12px}.rsvp-note input{min-height:36px;font-size:12px}.rsvp-note small{font-size:10px;color:#168044}.mini-marker{position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;border:1.5px solid white;border-radius:50%;display:grid;place-items:center;background:#0c6335;font-size:10px;font-weight:700}.mini-marker.opponent{background:#416b9c}.pitch-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;font-size:16px;background:#17653340}.pitch-empty small{font-size:11px;margin-top:6px}.preview-note{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0 0}.ranking-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:5px;background:#f4f6f8;margin-bottom:9px}.ranking-tabs button{min-height:30px;background:none;color:#445163;font-size:12px;border-radius:4px}.ranking-tabs button.active{color:#fff;background:#19854b}.ranking-period{display:flex;justify-content:space-between;align-items:center;min-height:29px;font-size:14px}.ranking-preview .leaderboard-list>div{min-height:42px}.ranking-preview .rank{border-radius:50%;font-weight:650}.ranking-preview .leaderboard-list strong{color:#283544;font-size:13px;font-weight:450}.ranking-preview .leaderboard-list span{font-weight:450}.ranking-preview footer{margin-top:14px;display:flex;gap:6px;align-items:center;justify-content:space-between}.ranking-preview footer small{font-size:10px;color:var(--muted)}.ranking-preview select{min-height:32px;padding:4px 7px;font-size:12px}.topic-preview{display:flex;gap:10px;align-items:center;text-align:left;color:var(--ink);width:100%}.topic-preview>svg{color:#e5a300}.topic-preview>div{display:grid;gap:4px;min-width:0}.topic-preview strong{font-size:14px}.topic-preview small{font-size:11px;color:var(--muted)}.topic-preview>span{display:flex;align-items:center;gap:5px;color:#128042;font-size:11px;margin-left:auto}.sidebar .topic-preview{margin-top:13px;padding:13px;display:grid;gap:10px}.sidebar .topic-preview>svg{display:none}.sidebar .topic-preview>span{margin:0;font-size:11px}.home-grid>.album-preview{grid-column:1/-1}.album-preview-body{display:flex;gap:18px;align-items:center}.album-preview-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.album-preview-grid button{padding:0;border-radius:5px;overflow:hidden;aspect-ratio:2.25;background:#eef2ef}.album-preview-grid button:nth-child(4){display:none}.album-preview-grid img{width:100%;height:100%;object-fit:cover;display:block}.album-upload{display:grid;gap:9px;justify-items:center;width:150px}.album-upload small{font-size:11px;color:var(--muted)}.album-upload .secondary-button{width:100%;min-height:35px;font-size:13px}.album-preview-empty{flex:1;display:flex;align-items:center;gap:14px;min-height:80px;border:1px dashed #d9e3dc;border-radius:5px;background:#f7faf8;color:#55806a;padding:14px;text-align:left}.album-preview-empty span{display:grid;gap:5px;font-size:13px}.album-preview-empty small{font-size:11px;color:var(--muted)}.mobile-upload{display:none}.player-home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:12px;margin-top:0;align-items:start}.player-rsvp{grid-row:span 2;padding:0;overflow:hidden}.player-rsvp .event-banner{border:0;border-radius:0;background-size:auto 85%;min-height:158px}.player-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 14px}.player-status-grid button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:50px;border:1px solid #e4e8eb;border-radius:5px;background:#f9fafb;font-size:14px;font-weight:550}.player-status-grid button>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#fff}.player-status-grid .choice-available{color:#118446}.player-status-grid .choice-available>span{background:#1b914d}.player-status-grid .choice-unavailable{color:#ee4a55}.player-status-grid .choice-unavailable>span{background:#f25361}.player-status-grid .choice-tentative{color:#d48c00;background:#fffbf1}.player-status-grid .choice-tentative>span{background:#f2ad00}.player-status-grid .choice-unknown{color:#637081}.player-status-grid .choice-unknown>span{background:#98a4ae}.player-status-grid .choice-available.active{background:#208b4d;color:#fff;border-color:#198342}.player-status-grid .choice-available.active>span{background:#fff;color:#178140}.player-status-grid .choice-unavailable.active{border-color:#ee4a55;background:#fff0f1}.player-status-grid .choice-tentative.active{border-color:#eeb445}.player-status-grid .choice-unknown.active{border-color:#b2bdc7}.player-save-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:8px}.player-save-summary small{color:#0d8542;font-size:11px}.player-save-summary>span{font-size:11px;color:#5c6779}.player-home-grid>.album-preview{grid-column:1/-1}.player-milestone{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:6px;color:#10673a;background:#eaf5ef;text-align:left}.player-milestone span{display:grid;gap:3px;flex:1;font-size:14px;font-weight:600}.player-milestone small{font-size:11px;font-weight:400;color:#70867a}.compact-rsvp button{color:#53655b;background:#edf4ef}.activity-detail,.leaderboard-card,.history-card,.roster-card,.special-detail,.photo-panel,.tactic-controls,.pitch-shell,.card-form,.location-card,.term-card{border-radius:7px;box-shadow:none}.page-intro{margin:14px 0 20px}.management-layout,.stats-layout,.special-layout,.albums-layout,.tactics-layout{margin-top:20px}.pitch{border-color:#b6d6a9;border-radius:5px}.slot-marker{background:#0d6f3b}.mobile-menu{display:none}@media (min-width:1400px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.workspace{padding:0 30px 30px}.home-grid{grid-template-columns:minmax(0,1fr) 285px}.event-banner{min-height:180px}.attendance-table-row{min-height:44px}}@media (max-width:1100px) and (min-width:821px){.app-shell{grid-template-columns:150px minmax(0,1fr)}.workspace{padding:0 13px 20px}.home-grid{grid-template-columns:minmax(0,1fr) 210px;gap:10px}.overview-card{padding:10px}.inline-status{gap:3px}.inline-status button{font-size:10px;gap:3px}.attendance-table-head,.attendance-table-row{grid-template-columns:19px 50px minmax(225px,1fr) 44px;gap:4px;padding-left:2px;padding-right:2px}.attendance-filters{gap:4px}.attendance-filters button{padding:0 7px}.attendance-card .overview-heading input{width:115px}.ranking-preview footer{flex-wrap:wrap}.brand{font-size:18px}}@media (max-width:820px){.app-shell{display:block}.workspace{padding:0 12px 80px}.sidebar{display:none}.mobile-header{height:58px;background:#fff;border-bottom:1px solid var(--line);padding:0 15px;margin:0 -12px}.mobile-header .brand{flex-direction:row;gap:9px;font-size:18px}.mobile-header .team-crest{width:30px;height:38px}.mobile-header .icon-button{color:#334155;background:#fff}.mobile-nav{position:fixed;top:auto;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:4px 10px calc(5px + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid var(--line);border-bottom:0;z-index:20}.mobile-nav .nav-button{display:flex;flex-direction:column;gap:2px;min-height:47px;padding:3px;font-size:10px;color:#6b7787;background:transparent;margin:0;border-radius:0}.mobile-nav .nav-button svg{width:21px;height:21px}.mobile-nav .nav-button.active{color:#0a823b;background:transparent;box-shadow:none}.mobile-menu{display:grid;position:absolute;right:12px;top:54px;z-index:25;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 24px #17372920;padding:10px;width:190px}.mobile-menu .logout-button{margin-top:3px}.page-header{min-height:50px}.page-header h1{font-size:20px}.page-header .primary-button{font-size:12px;min-height:34px}.player-page>.page-header{display:none}.activity-tabs{height:42px;gap:0;margin:0 -12px 10px;padding:0 12px;background:#fff}.activity-tabs button{flex:1;min-width:0;font-size:13px;padding:0 12px}.home-grid{grid-template-columns:1fr;gap:10px}.home-main,.home-aside{gap:10px}.home-aside{grid-template-columns:1fr 1fr}.overview-card{padding:11px;border-radius:6px}.event-banner{min-height:147px;padding:12px 13px}.event-banner h2{font-size:22px}.event-banner h3{font-size:14px;margin-bottom:6px}.event-banner p{font-size:12px;max-width:100%;gap:6px}.week-day{font-size:10px;min-height:90px}.week-grid{gap:4px}.week-day small{font-size:10px}.attendance-card .overview-heading{flex-wrap:wrap}.attendance-card .overview-heading input{width:100%;min-height:36px}.attendance-filters{gap:5px}.attendance-filters button{min-height:36px;padding:0 8px;font-size:11px}.attendance-table{max-height:450px}.attendance-table-head{display:none}.attendance-table-row{grid-template-columns:23px minmax(0,1fr) 75px;padding:8px 0;gap:7px}.attendance-player{font-size:13px}.inline-status{grid-row:2;grid-column:1/-1;gap:5px}.inline-status button{min-height:42px;font-size:12px}.row-feedback{grid-row:1;grid-column:3;text-align:right}.event-management .detail-actions{flex-wrap:wrap}.home-grid>.album-preview{grid-column:auto}.player-home-grid{display:flex;flex-direction:column;gap:8px}.player-home-grid>*{width:100%}.player-rsvp{padding:0}.player-rsvp .event-banner{min-height:105px;background:#fff;padding:10px 12px 11px}.player-rsvp .event-banner h2{font-size:21px;max-width:100%;margin-bottom:5px}.player-rsvp .event-banner h3{font-size:13px;margin-bottom:6px}.player-rsvp .event-banner p{font-size:12px;margin-top:6px}.player-status-grid{padding:0 11px;gap:7px}.player-status-grid button{min-height:47px;font-size:13px}.player-save-summary{padding:8px 11px}.player-save-summary small{font-size:10px}.player-save-summary>span{font-size:10px}.topic-preview{padding:10px 12px;gap:10px}.topic-preview strong{font-size:14px}.topic-preview small{font-size:10px}.topic-preview>span{font-size:10px}.topic-preview>svg{width:26px}.ranking-preview{display:grid;grid-template-columns:1fr 2fr;gap:2px 10px}.ranking-preview .overview-heading,.ranking-tabs{margin:0}.ranking-period,.ranking-preview select,.ranking-preview .leaderboard-list,.ranking-preview footer,.ranking-preview .preview-note{grid-column:1/-1}.ranking-preview .leaderboard-list>div{min-height:26px}.ranking-preview .rank{width:22px;height:22px;font-size:12px}.ranking-preview .leaderboard-list span{font-size:12px}.ranking-period{min-height:25px;font-size:13px;justify-content:center;gap:17px}.ranking-preview footer{margin-top:3px}.ranking-preview footer small{font-size:10px}.ranking-preview footer button{font-size:10px}.ranking-tabs button{min-height:28px}.home-aside .ranking-preview{display:block}.home-aside .ranking-preview .overview-heading{margin-bottom:8px}.album-preview .overview-heading{margin-bottom:7px;flex-wrap:wrap;gap:3px}.album-preview .overview-heading>span{order:3;flex-basis:100%;font-size:10px}.mobile-upload{display:flex;font-size:10px}.album-upload{display:none}.album-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.album-preview-grid button{aspect-ratio:1.45}.album-preview-grid button:nth-child(4){display:block}.album-preview-empty{min-height:50px;padding:8px;font-size:12px}.album-preview-empty span{font-size:12px}.album-preview-empty small{font-size:10px}.player-milestone{padding:10px 12px}.player-milestone small{font-size:10px}.player-milestone span{font-size:13px}.event-archive{margin-top:9px}.workspace>.notice{margin-top:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.form-grid{align-items:start}.form-grid>label{align-content:start;grid-auto-rows:max-content;min-width:0}.form-grid input,.form-grid select{height:44px;min-height:44px}.form-grid textarea{min-height:92px}.event-form{border-radius:8px;background:#fff;padding:20px}.form-grid .inline-field{align-items:start}.team-crest{object-fit:contain;border-radius:4px}.topic-page .special-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}.topic-page .special-detail{padding:24px}.topic-page .special-summary{margin:14px 0;font-size:14px;white-space:pre-wrap}.topic-page .detail-heading h2{margin:8px 0}.topic-page .type-badge.pickup{color:#187241;background:#e8f4ed}.topic-toolbar{display:flex;align-items:center;gap:10px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.topic-toolbar>span{flex:1;font-size:12px;color:#168044}.topic-editor{margin-bottom:18px}.topic-page .entry-list article{grid-template-columns:90px minmax(0,1fr) auto auto;padding:17px 0;align-items:center}.entry-list .entry-actions{display:flex;gap:6px}.topic-page .entry-form{background:#f7faf8;padding:18px;border-radius:6px}.tactics-layout{grid-template-columns:280px minmax(0,1fr);gap:20px}.tactic-controls{padding:18px;gap:12px}.pitch-shell{min-height:0;padding:18px;align-content:start}.pitch{width:min(100%,var(--pitch-max-width),calc((100dvh - 160px) * var(--pitch-aspect)));min-height:0}.slot-marker{font-size:11px;width:38px;height:38px}.slot-marker span{line-height:1.1}@media (max-width:820px){.topic-page .special-layout,.tactics-layout{grid-template-columns:1fr;gap:12px}.topic-page .special-detail{padding:15px}.topic-page .entry-list article{grid-template-columns:68px minmax(0,1fr) auto;gap:8px}.topic-page .entry-actions{grid-column:2/-1;justify-content:flex-end}.topic-toolbar{gap:7px;flex-wrap:wrap}.topic-toolbar .secondary-button{font-size:12px;padding:0 10px}.tactic-controls{grid-template-columns:1fr 1fr;gap:12px}.tactic-controls .saved-boards{grid-column:1/-1}.pitch-shell{min-height:0;padding:15px;grid-row:1}.pitch{width:min(100%,calc((100dvh - 190px) * var(--pitch-aspect)))}.slot-marker{width:34px;height:34px;font-size:10px}}.pitch,.mini-pitch{aspect-ratio:68 / 105;position:relative;display:block;padding:0;border:0;border-radius:2px;overflow:hidden;background:#287346;color:#e0efde}.pitch-markings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mini-pitch{width:100%}.pitch-shell{background:#edf3ee;padding:24px}.team-crest{display:block;flex-shrink:0}.player-home-grid{align-items:stretch}.player-rsvp{display:flex;flex-direction:column}.player-rsvp .event-banner{flex:1}.topic-preview>svg{color:#47745a;flex-shrink:0}.topic-preview strong,.topic-preview small{overflow-wrap:anywhere}.topic-preview>span{flex-shrink:0}.attendance-table{scrollbar-gutter:stable}.form-grid>label{display:flex;flex-direction:column;gap:8px}.form-grid .inline-field>input{min-width:0}.form-grid .inline-field>button{min-height:44px;flex-shrink:0}@media (min-width:821px) and (max-width:1050px){.home-grid{grid-template-columns:minmax(0,1fr) 200px}.attendance-table-head,.attendance-table-row{grid-template-columns:22px minmax(52px,1fr) minmax(220px,3fr) 48px}.attendance-table{overflow-x:auto}}@media (max-width:820px){.home-aside{grid-template-columns:minmax(0,1fr)}.tactic-preview .mini-pitch{max-width:260px;margin:auto}.tactic-controls{align-items:start}.tactic-controls>label{min-width:0}.topic-preview{flex-wrap:wrap}.topic-preview>div{flex:1}.pitch-shell{padding:16px}.pitch{width:min(100%,var(--pitch-max-width))}}.event-content{margin-top:16px;padding:12px 0 0;border-top:1px solid var(--line);min-width:0;text-align:left}.event-content h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ink)}.event-content p,.event-banner .event-content p,.player-event-card .event-content p{display:block;max-width:none;margin:6px 0 0;font-size:14px;line-height:1.7;color:#334155;white-space:pre-wrap;overflow-wrap:anywhere}.event-banner .event-content{padding:12px;background:#fff;border-radius:6px}.player-event-card>div:first-child{min-width:0}.event-content-scroll{max-height:192px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#81988b #edf3ee}.event-content-scroll:focus-visible{outline:2px solid var(--pitch);outline-offset:3px}@media (max-width:820px){.event-content-scroll{max-height:144px}}.team-crest{clip-path:polygon(14.8% 18.6%,20% 16.7%,27% 14.7%,35% 12.9%,43% 11.7%,50% 11.3%,57% 11.7%,65% 12.9%,73% 14.7%,80% 16.7%,84.8% 18.6%,84.8% 51%,84.3% 57%,82.9% 63%,80.4% 68.7%,76.9% 74%,72.5% 78.8%,67% 83%,61% 86.5%,55% 89%,50% 90.3%,45% 89%,39% 86.5%,33% 83%,27.5% 78.8%,23.1% 74%,19.6% 68.7%,17.1% 63%,15.7% 57%,14.8% 51%);aspect-ratio:1149/1369;height:auto!important;border-radius:0}
