:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1a2839;background:#f5f6f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d6a45b;outline-offset:3px}.skip-link{position:absolute;left:16px;top:-60px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}.topbar{height:83px;background:#0e2036;color:white;border-bottom:1px solid rgba(255,255,255,.1)}.topbar-inner{max-width:1160px;height:100%;margin:auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;text-decoration:none}.brand img{object-fit:contain}.brand strong{font-size:24px;letter-spacing:.09em;line-height:1.1;display:block;font-weight:900}.brand small{font-size:10px;font-weight:800;letter-spacing:.21em;color:#d5ae78;line-height:1.7}.topbar-label{letter-spacing:.15em;color:#d6e1ee;font-size:11px;font-weight:800}.green-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#90caac}.layout{max-width:1160px;padding:0 26px;margin:0 auto}.hero{margin-top:25px;background:linear-gradient(110deg,#132b47 0%,#0c2037 58%,#0a1b2f 100%);border-radius:15px;color:#fff;padding:51px 58px 44px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-95px;top:-100px;width:490px;height:490px;border:1px solid rgba(236,241,249,.14);border-radius:50%;box-shadow:0 0 0 75px rgba(236,241,249,.025),0 0 0 155px rgba(236,241,249,.02);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:900;color:#d2ad77}.eyebrow.ink{color:#9e7846}.hero h1{position:relative;z-index:1;font-weight:900;letter-spacing:-.055em;font-size:clamp(45px,6vw,74px);line-height:1.03;margin:18px 0 18px}.hero h1 em{color:#d6b381;font-style:normal}.hero p{position:relative;z-index:1;max-width:530px;color:#c9d6e5;font-size:17px;line-height:1.6}.hero-statrow{display:flex;align-items:center;gap:27px;margin-top:34px}.hero-statrow>div:not(.stat-rule){display:flex;flex-direction:column;gap:4px}.hero-statrow strong{font-size:36px;letter-spacing:-.06em;line-height:1}.hero-statrow strong span{font-size:22px}.hero-statrow small{font-size:10px;letter-spacing:.13em;font-weight:800;color:#b2c6dd}.stat-rule{height:34px;width:1px;background:rgba(255,255,255,.25)}.columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.95fr);gap:29px;margin:29px 0 45px}.main-col,.aside-col{min-width:0}.feature-card{border-radius:13px;padding:30px 34px 28px;background:#fff;box-shadow:0 7px 34px rgba(31,45,61,.055);border:1px solid #e4e8e9}.feature-overline{font-weight:900;letter-spacing:.14em;font-size:10px;color:#866437;display:flex;align-items:center;gap:10px}.circle-pulse{width:9px;height:9px;border:2px solid #c89a60;display:inline-block;border-radius:50%}.feature-card h2{font-size:34px;letter-spacing:-.045em;line-height:1.16;margin:20px 0 8px}.feature-detail{color:#657080;line-height:1.6;font-size:15px;margin:0 0 17px}.feature-date{font-weight:800;font-size:18px;color:#27384e}.feature-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.primary-button,.secondary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border-radius:8px;border:1px solid transparent;min-height:46px;padding:0 19px;font-weight:800;font-size:13px;letter-spacing:.005em}.primary-button{background:#123454;color:white}.primary-button:hover{background:#234a71}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{color:#23405a;background:#edf1f4;border-color:#dfe6eb}.secondary-button:hover{background:#e3e8ec}.section-block{margin-top:35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:13px;margin-bottom:11px}.section-heading h2{font-size:25px;letter-spacing:-.04em;margin:8px 0 0}.text-button{color:#285377;font-size:12px;font-weight:800;background:none;border:none;padding:9px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}.supporting{margin:0 0 17px;color:#6b7886;font-size:13px;line-height:1.6}.supporting.tiny{font-size:12px}.game-list{border:1px solid #e0e6e9;border-radius:12px;overflow:hidden;background:white}.game-row{display:flex;align-items:center;gap:17px;padding:15px 19px;min-height:88px;border-bottom:1px solid #e6e9eb}.game-row:last-child{border:0}.game-row.past{opacity:.66}.game-row.next{background:#f8f6f0}.game-datebadge{width:59px;height:58px;flex:0 0 59px;background:#ecf1f4;border-radius:8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.game-row.next .game-datebadge{background:#dfebf2}.game-datebadge span{font-size:11px;font-weight:900;color:#5a7590;letter-spacing:.06em}.game-datebadge strong{font-size:23px;letter-spacing:-.04em;line-height:1.15}.game-info{min-width:0;flex:1}.game-info strong{font-size:15px;display:block}.game-info small{color:#6b7986;font-size:12px;line-height:1.8}.game-status{white-space:nowrap;font-size:10px;letter-spacing:.08em;font-weight:900;color:#667789;background:#f0f2f2;padding:7px 10px;border-radius:6px}.game-status.upcoming{color:#315d53;background:#e1f0e7}.game-status.today{background:#fff1d6;color:#8a5d14}.placeholder{padding:20px;color:#79828d}.notice{display:flex;gap:14px;background:#f7f1e6;border:1px solid #ebdec7;border-radius:10px;padding:20px}.notice-mark{flex:0 0 25px;width:25px;height:25px;background:#ae8750;color:white;border-radius:50%;text-align:center;line-height:25px;font-weight:800;font-style:italic;font-family:Georgia,serif}.notice strong{font-size:14px}.notice p{color:#545a5e;font-size:13px;line-height:1.55;margin:7px 0 8px}.notice small{color:#8a7d6e;font-size:11px}.refresh-button{background:none;border:0;color:#234862;font-size:12px;font-weight:900;margin:11px 0 5px;padding:8px 0}.aside-col{display:flex;flex-direction:column;gap:17px}.aside-card{background:#fff;border:1px solid #e2e7e9;border-radius:12px;padding:26px 25px;box-shadow:0 7px 28px rgba(30,49,65,.035)}.aside-card h2{font-size:21px;letter-spacing:-.035em;line-height:1.25;margin:11px 0 11px}.aside-card p{font-size:13px;color:#6c7784;line-height:1.6;margin:0 0 14px}.venue-card{background:linear-gradient(160deg,#f5f6f4,#fff);border-top:4px solid #c6a06b}.venue-card h2{font-size:24px}.venue-tag{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.12em;padding:9px 11px;border-radius:6px;background:#edf1ee;color:#41694d}.aside-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border-top:1px solid #e1e6e8;margin-top:23px;padding-top:17px;font-size:13px;color:#234a69;font-weight:900}.aside-link:hover{text-decoration:underline}.essentials{padding:0;margin:17px 0 7px;list-style:none}.essentials li{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:700;padding:10px 0;border-bottom:1px solid #f0f1f1}.essentials li:last-child{border:0}.essentials li:before{content:"✓";border-radius:50%;background:#e5efe9;color:#3c7753;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;height:20px;font-weight:900}.app-icon{width:61px;height:61px;display:flex;align-items:center;justify-content:center;background:#0f2844;border-radius:13px;margin-bottom:18px}.app-icon img{object-fit:contain}.install-card{background:#e8eff2}.outline-button{background:transparent;border-color:#b9cad7;color:#173c5d;width:100%}.outline-button:hover{background:#dde9ee}.install-instructions{font-size:13px;color:#293849;margin-top:14px;border-top:1px solid #cddce5;padding-top:13px}.install-instructions p{margin:5px 0 13px}.bottom-contact{background:#e9edea;border-radius:13px;padding:30px 35px;margin:0 0 25px;display:flex;gap:25px;align-items:center;justify-content:space-between}.bottom-contact h2{font-size:24px;letter-spacing:-.04em;margin:7px 0 6px}.bottom-contact p{font-size:13px;color:#65727c;line-height:1.6;margin:0;max-width:580px}.contact-button{white-space:nowrap}.footer{border-top:1px solid #dde3e4;padding:24px 0 34px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;color:#71808a;font-size:10px;letter-spacing:.035em}.mobile-nav{display:none}@media(max-width:820px){.layout{padding:0 16px}.topbar{height:75px}.topbar-inner{padding:0 18px}.hero{padding:40px 27px}.hero h1{font-size:51px}.columns{grid-template-columns:1fr}.aside-col{display:grid;grid-template-columns:1fr 1fr;align-items:start}.aside-col .aside-card:last-child{grid-column:span 2}.bottom-contact{margin-top:20px}}@media(max-width:580px){.topbar{height:66px}.topbar-inner{padding:0 16px}.brand{gap:9px}.brand img{height:38px;width:42px}.brand strong{font-size:20px}.brand small{font-size:8px}.topbar-label{font-size:9px;letter-spacing:.04em}.layout{padding:0 13px}.hero{margin-top:12px;border-radius:11px;padding:35px 24px 30px}.hero .eyebrow{font-size:9px;line-height:1.6}.hero h1{font-size:clamp(38px,9.8vw,50px);margin:16px 0 13px}.hero p{font-size:14px;line-height:1.5}.hero-statrow{gap:17px;margin-top:28px}.hero-statrow strong{font-size:28px}.hero-statrow strong span{font-size:17px}.hero-statrow small{font-size:8px}.columns{gap:18px;margin:15px 0 20px}.feature-card{padding:25px 20px}.feature-card h2{font-size:28px}.feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.primary-button,.secondary-button{font-size:12px;padding:0 10px;min-height:48px}.section-block{margin-top:29px}.section-heading h2{font-size:23px}.game-row{gap:10px;padding:13px 12px;min-height:80px}.game-datebadge{width:52px;flex-basis:52px;height:54px}.game-datebadge strong{font-size:22px}.game-info strong{font-size:13px}.game-info small{font-size:11px}.game-status{font-size:9px;padding:6px}.aside-col{display:flex;gap:13px}.aside-card{padding:23px 20px}.bottom-contact{padding:24px 21px;display:block}.contact-button{margin-top:18px;min-width:170px}.footer{padding-bottom:110px;font-size:9px}.mobile-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #e0e5e9;box-shadow:0 -7px 25px rgba(18,32,48,.08);padding:8px max(11px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(11px,env(safe-area-inset-right))}.mobile-nav a{text-decoration:none;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;color:#26455f;font-weight:800}.mobile-nav span{font-size:22px;line-height:1}.mobile-nav small{font-size:10px}}
/* Fall Ball 2026 team hub v2 */
.hub{padding:26px 0 18px}.hub-heading{margin-bottom:8px}.hub-chip{background:#e7f2eb;border:1px solid #c6dfd0;color:#216342;padding:7px 11px;border-radius:30px;font-size:12px;font-weight:800;white-space:nowrap}.hub-loading,.hub-surface,.hub-session,.hub-tabs,.hub-toast{background:white;border:1px solid #dce3e8;border-radius:14px}.hub-loading{padding:30px 20px;color:#667385}.hub-surface{padding:22px;margin:13px 0;min-width:0}.hub-surface h3{font-size:21px;line-height:1.3;margin:0 0 10px;color:#12253e}.hub-surface h4{margin:19px 0 12px}.hub-surface p{line-height:1.55;color:#53657b;margin:8px 0 15px}.hub-muted{color:#637488;font-size:14px;line-height:1.5}.hub-tiny{font-size:12px!important}.hub-join-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.hub-owner{background:#f6f8fa}.hub form label{display:block;font-weight:750;font-size:13px;margin:13px 0 5px;color:#213d56}.hub input:not([type=checkbox]),.hub select,.hub textarea{width:100%;min-height:46px;border:1px solid #bac7d5;border-radius:9px;padding:11px 12px;background:white;color:#12253e;font:inherit}.hub textarea{resize:vertical}.hub form .primary-button,.hub form .secondary-action{margin-top:15px}.hub-toast{margin:12px 0;padding:13px 16px;background:#e8f5ec;border-color:#a1cfb2;color:#17492d;font-weight:650}.hub-toast.error{background:#fff1ef;border-color:#efb4a8;color:#812f20}.hub-session{padding:15px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between}.hub-session strong,.hub-session span{display:block}.hub-session span{color:#53657b;font-size:14px;margin-top:4px}.hub-session-actions{display:flex;gap:10px;align-items:center}.hub-session-actions select{max-width:150px}.hub-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;gap:6px;margin:12px 0;background:#eff2f5}.hub-tabs button{border:0;border-radius:9px;background:transparent;color:#3f556d;font-weight:800;font-size:15px;min-height:48px;cursor:pointer}.hub-tabs button.active{background:#132b47;color:white;box-shadow:0 2px 6px #0d223426}.hub-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.hub-title-line h3{margin:0}.hub-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;margin-top:18px}.hub-player{border:1px solid #e2e9ef;border-radius:9px;min-height:49px;padding:10px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:700}.hub-player-dot{font-size:13px}.hub-player small{font-size:10px;font-weight:800;padding:3px 7px;border-radius:10px}.hub-manager-badge{background:#dce8f6;color:#234a78}.hub-you-badge{background:#e4f1e5;color:#28643c}.hub-approval-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e5eaf0;padding:12px 0}.hub-actions{display:flex;gap:8px}.secondary-action,.quiet-action{border-radius:9px;padding:10px 14px;font:inherit;font-size:13px;font-weight:800;min-height:42px;cursor:pointer}.secondary-action{background:#132b47;color:white;border:1px solid #132b47}.quiet-action{background:transparent;border:1px solid #cfd8e3;color:#2d4b67}.hub-tool-row,.hub-inline{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.hub-inline>input{flex:1;min-width:170px}.hub-invite{background:#eef5ed;padding:15px;border:1px solid #c8dbc4;border-radius:10px;margin-top:15px}.hub-invite p{font-size:13px}.hub-game-availability{padding:16px 0;border-bottom:1px solid #e2e9ef}.hub-game-availability:last-child{border-bottom:0}.hub-availability-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hub-availability-heading strong{font-size:18px}.hub-availability-heading small{display:block;margin-top:3px;color:#617187}.hub-counts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.hub-counts span{border-radius:18px;padding:6px 9px;font-weight:750;font-size:12px;background:#f0f2f4;color:#526276}.hub-counts .yes{background:#e4f4e8;color:#24663e}.hub-counts .maybe{background:#fff1cd;color:#826016}.hub-counts .no{background:#fee9e7;color:#8d3c30}.hub-attendance-actions{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 8px}.rsvp-button{padding:10px 12px;background:#fff;border:1px solid #c0ccd9;color:#2e4560;border-radius:10px;min-height:44px;font-weight:800;cursor:pointer;flex:1;min-width:90px}.rsvp-button.selected{border:2px solid #142d49;box-shadow:0 0 0 2px #d7e3f1}.rsvp-button.selected.yes{background:#dff2e3}.rsvp-button.selected.maybe{background:#ffedc0}.rsvp-button.selected.no{background:#ffdedb}.hub-note{font-size:14px!important}.hub-response-groups{margin-top:12px}.hub-response-row{font-size:13px;color:#475e73;margin-top:5px;line-height:1.5}.hub-message-feed{border:1px solid #e2e9ef;background:#f9fbfc;border-radius:10px;padding:10px;height:340px;overflow-y:auto;overflow-x:hidden;margin-top:14px}.hub-message{background:white;border:1px solid #e1e9f2;border-radius:9px;margin:8px 0;padding:11px 12px;overflow-wrap:anywhere}.hub-message.announcement{border-color:#d5b16b;background:#fffcf2}.hub-message p{margin:8px 0 0;color:#273d51;font-size:14px;white-space:pre-wrap}.hub-message-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.hub-message-meta strong{font-size:13px}.hub-message-meta small{font-size:11px;color:#64768a}.hub-delete-message{background:none;color:#7b4242;border:0;margin-left:auto;cursor:pointer;font-size:11px;text-decoration:underline}.hub-compose{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hub-compose label{display:flex!important;align-items:center;gap:6px;margin:0!important}.hub-compose button{margin-left:auto}.hub-pending{margin-top:12px}.hub button:focus-visible,.hub input:focus-visible,.hub textarea:focus-visible{outline:3px solid #d6a45b;outline-offset:2px}
@media(max-width:720px){.hub-join-grid{grid-template-columns:1fr}.hub{padding-top:20px}.hub-surface{padding:17px}.hub-session{align-items:flex-start;flex-wrap:wrap}.hub-heading{align-items:flex-start;flex-wrap:wrap}.hub-chip{margin-top:10px}.hub-approval-row{align-items:flex-start;flex-wrap:wrap}.hub-roster-grid{grid-template-columns:1fr}.hub-tabs button{font-size:13px}.hub-availability-heading strong{font-size:17px}.hub-tool-row>*{width:100%}}

/* Fall Ball V4 — Game Day manager dashboard and mobile attendance */
.hub-gameday-select{display:block;width:100%;max-width:360px;padding:12px 14px;border:1px solid #bfcbd8;border-radius:9px;background:#fff;color:#172b42;font-size:16px;margin:8px 0 16px}
.hub-gameday-place{display:flex;gap:5px;flex-direction:column;padding:14px 16px;background:#eaf0f6;border-left:4px solid #b17d2b;border-radius:8px;margin:4px 0 16px}.hub-gameday-place strong{font-size:18px}.hub-gameday-place span{font-size:13px;color:#536980}
.hub-gameday-totals{margin-bottom:18px}.hub-gameday-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 18px}.hub-gameday-group{border:1px solid #dbe4ed;border-radius:10px;padding:15px;background:#fff;min-width:0}.hub-gameday-group.yes{border-top:4px solid #2c8653}.hub-gameday-group.maybe{border-top:4px solid #b28a34}.hub-gameday-group.no{border-top:4px solid #b14f53}.hub-gameday-group.waiting{border-top:4px solid #778596}.hub-gameday-group h4{font-size:16px;margin:0 0 8px}.hub-gameday-people{padding:0;margin:0;list-style:none}.hub-gameday-people li{padding:7px 0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;border-bottom:1px solid #eff3f7}.hub-gameday-people li:last-child{border:0}.hub-gameday-people small{font-size:12px;color:#587087}.hub-gameday-manager{border-top:1px solid #dce4ec;padding-top:18px;margin-top:18px}.hub-gameday-manager h4{margin:0 0 6px;font-size:18px}.hub-announcement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;color:#253b52}.hub-tabs{flex-wrap:wrap}.hub-tabs button{min-width:0}.hub-gameday-manager .hub-tool-row{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:620px){.hub-gameday-groups{grid-template-columns:1fr}.hub-gameday-select{max-width:none}.hub-gameday-manager .hub-tool-row>*{width:100%}.hub-tabs button{font-size:12px;padding:10px 8px}}

/* V5 Web Push: small optional notification control on the signed-in team page. */
.hub-push{border-left:4px solid #719cc7}
.hub-push .hub-title-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.hub-push .hub-title-line h3{margin:0}
.hub-push-optional{font-size:.77rem;color:#4b647c;text-transform:uppercase;letter-spacing:.05em}
.hub-push .hub-tool-row{margin-top:.75rem}
