@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--navy:#142d43;--blue:#245cbe;--ink:#193348;--muted:#667479;--line:#e4e4dc;--bg:#f4f2ec}
body{font-family:Manrope,Arial,sans-serif;background:var(--bg)}button,a,input,select,textarea{transition:background .16s,border-color .16s,box-shadow .16s}button{border-radius:10px}button:focus-visible,a:focus-visible{outline:3px solid #c58b3d;outline-offset:3px}button.primary{background:#245cbe;box-shadow:0 4px 10px #245cbe20}button.primary:hover{background:#194b9f}.shell>div{min-width:0}aside{background:radial-gradient(ellipse at 0 0,#315d78 0,transparent 65%),#142d43;padding-top:34px}.brand{margin-bottom:34px}.brand small{color:#c5d6dd}.crest{background:#f0e9d9}.navlabel{color:#a7bdc8}nav button{border-radius:10px;color:#c1d1da;padding:13px 12px;font-size:12px;display:flex;align-items:center;gap:10px}nav button:hover{background:#ffffff12;color:white}nav button.active{background:#ffffff13;box-shadow:inset 3px 0 #e4b976;color:#fff}nav span{width:20px;height:20px;flex-shrink:0}nav svg{width:20px;height:20px}.avatar{background:#d3b58a;color:#203749;font-weight:800}.sidefoot{border-color:#ffffff19}.topbar{height:68px;background:#faf9f5;border-bottom-color:#e6e5de}.topbar b{font-weight:800}.status{background:#e8eee6;color:#386347;font-size:11px}.main{padding:26px 30px 40px}h1{font-weight:800;letter-spacing:-1.1px}h2{font-weight:800;letter-spacing:-.4px}.hero{gap:20px}.hero p{margin-bottom:0}.hero>.flex{flex-wrap:wrap;justify-content:flex-end}.eyebrow{color:#84633d;letter-spacing:1.5px}.coach-hero{position:relative;min-height:270px;border-radius:20px;overflow:hidden;background:linear-gradient(90deg,#0c2137e6,#102b4355 58%,#152d3f10),url('assets/hockey-atmosphere.webp') center 55%/cover;color:white;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;box-shadow:0 14px 28px #25333b15}.hero-copy{z-index:1}.hero-kicker{font-size:9px;font-weight:700;letter-spacing:2px;color:#e7c698;margin-bottom:20px}.hero-copy p{color:#dde8ec;margin:0 0 6px;font-size:13px}.hero-copy h1{font-size:36px;line-height:1.17;margin:0 0 12px;letter-spacing:-1.3px}.hero-copy>span{color:#c9d6db;font-size:12px}.next-game{align-self:flex-end;max-width:270px;text-align:left;background:#10283cd9;border:1px solid #ffffff30;color:white;padding:16px 19px;border-radius:13px;backdrop-filter:blur(12px)}.next-game:hover{background:#173951;border-color:#d7b47d}.next-game small{display:flex;justify-content:space-between;gap:30px;font-size:9px;letter-spacing:1.6px;color:#e5c699}.next-game b{display:block;font-size:16px;margin:8px 0}.next-game>span{font-size:10px;color:#d3e0e6}.week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.week-toolbar h2{font-size:22px;margin:3px 0}.week-actions{flex-wrap:wrap;justify-content:flex-end}.week-actions button{font-size:12px}.stat,.panel,.exercise{border:1px solid #e5e3db;box-shadow:0 3px 12px #25333b04;border-radius:16px}.stats{gap:14px;margin-bottom:20px}.stat{position:relative;padding:16px 20px;background:#fdfcf9;overflow:hidden}.stat:before{content:'';position:absolute;top:18px;bottom:18px;left:0;width:3px;background:#90aaba}.stat:nth-child(2):before{background:#c8ab7d}.stat:nth-child(3):before{background:#8aa98d}.stat:nth-child(4):before{background:#a5a0bd}.stat strong{font-size:30px;letter-spacing:-1px}.panel{padding:22px;background:#fffefa}.game-week-summary{background:#eaf0ee;border-color:#d8e3de;padding:17px 21px}.game-week-summary b{color:#30534b}.game-week-summary .hint{color:#576e66}.tabs{background:#eeeee7}.tabs button.active{background:#fffefa;color:#244c77}.weekgrid{border-radius:12px;background:#e5e6df;border-color:#e5e6df}.day{background:#fffefa;min-height:280px}.day.today{background:#f0f3ec}.day.today .dayhead strong{color:#386348}.dayhead{border-color:#e9e9e1;font-weight:600}.dayhead strong{font-size:23px}.empty{color:#7a8788}.addday{color:#6a7c80;border-color:#cdd7d3;border-radius:8px}.addday:hover{background:#edf2e8;border-color:#9eaf9f}.match-card{border-radius:10px;box-shadow:0 2px 5px #12304006;background:#edf2f7;border-color:#cbd9e5}.match-away{background:#f9eedc;border-color:#e8d2ad;color:#765324}.match-card:hover{transform:translateY(-1px);border-color:#ab8a53;background:#f7e5c9}.session{border-radius:10px}.rule{background:#f3f3ec;border-radius:11px}.exercise{transition:box-shadow .18s,transform .18s}.exercise:hover{box-shadow:0 8px 22px #243c4c0c;transform:translateY(-2px)}.tag{border-radius:6px;font-weight:600}.fixture-row{padding:22px 10px}.fixture-row:hover{background:#f8f7f1;border-radius:10px}.fixture-row h3{font-size:15px}.fixture-actions button:first-child{background:#edf1ed;border-color:#dce4db;color:#365e47}.fixture-actions button:first-child:hover{background:#e0e8de}.modalhead{background:#f3f1e9}.modalbody{background:#fffefa}.modalfoot{background:#f5f4ee}input,select,textarea{border-color:#d8ddd7;border-radius:9px}input:focus,select:focus,textarea:focus{outline:2px solid #aabed8;outline-offset:1px}.plan-game-context{background:#ebf0eb;color:#3f5c4a}.login-gate{background:linear-gradient(90deg,#0a213bd9,#122d4555),url('assets/hockey-atmosphere.webp') center/cover;position:relative;justify-items:start;padding:6vw 9vw}.login-card{width:min(440px,100%);padding:38px;background:#fbfaf4f5;border:1px solid #ffffff9c;border-radius:22px;box-shadow:0 25px 100px #05162770;backdrop-filter:blur(16px)}.login-crest{background:#18384e;color:#e7cf9c;border-radius:15px;font-size:32px;box-shadow:0 4px 15px #1c3a4b20}.login-card .eyebrow{margin:24px 0 8px;color:#8b6b3d;font-size:9px}.login-card h1{font-size:35px;line-height:1.12;letter-spacing:-1.2px;margin:12px 0 20px}.login-card>p{color:#566970}.login-card button{padding:14px;font-size:13px}.login-card .hint{border-top:1px solid #deded5;padding-top:16px;font-size:10px;margin-bottom:0}.login-card #loginMessage{font-size:12px}.login-card button:disabled{opacity:.65;cursor:wait}
@media(min-width:1500px){.coach-hero{min-height:300px}.hero-copy h1{font-size:42px}}
@media(max-width:1100px){.main{padding:22px 20px}.coach-hero{padding:26px;min-height:270px}.hero-copy h1{font-size:32px}.next-game{max-width:220px}.week-toolbar{flex-wrap:wrap}.week-actions{justify-content:flex-start}}
@media(max-width:700px){aside{padding:16px}.brand{margin:0 0 15px}nav button{display:flex;font-size:11px;padding:10px;gap:7px}.topbar{height:auto;min-height:60px;padding:12px 16px;gap:10px;flex-wrap:wrap}.main{padding:18px 14px}.coach-hero{min-height:330px;padding:24px;display:block;background-position:62% center}.hero-copy h1{font-size:31px}.hero-kicker{font-size:8px;margin-bottom:16px}.next-game{margin-top:22px;max-width:none;width:100%;padding:12px 15px}.next-game b{font-size:14px;margin:5px 0}.hero{flex-wrap:wrap}.hero>.flex{justify-content:flex-start}.week-toolbar h2{font-size:20px}.week-actions{gap:7px}.week-actions button{font-size:11px;padding:9px 11px}.stats{gap:9px}.stat{padding:13px 15px}.stat strong{font-size:26px}.panel{padding:16px}.login-gate{padding:24px;justify-items:center;background-position:65% center}.login-card{padding:29px}.login-card h1{font-size:32px}.fixture-row{padding:20px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.exercise:hover,.match-card:hover,.session:hover{transform:none}}
@media print{.coach-hero{display:none}.week-toolbar{display:block}.stat,.panel,.exercise{box-shadow:none}.main{padding:0}body{background:white}}

.jersey-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;margin-right:9px;border-radius:8px;background:#edf1f5;color:#325c80;font-size:12px;font-weight:800;vertical-align:middle}
.face-table{min-width:850px}.face-table th,.face-table td{text-align:center;padding:11px 8px}.face-table th:first-child,.face-table td:first-child{text-align:left;min-width:180px}.face-table thead{background:#f0f2ec}.face-input{min-width:650px}.face-input td{padding:8px}.face-input input{width:65px}aside{overflow-y:auto}nav button{padding-top:10px;padding-bottom:10px}

.hub-stack{display:grid;gap:12px}.hub-stack .rule p{margin-bottom:5px}#weightDetail{scroll-margin-top:20px}nav button{font-size:11px}#alternativePicker{margin-top:15px}

.history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #ddd}#historyDialog{width:min(640px,calc(100vw - 32px));max-height:85dvh;overflow:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c78939;outline-offset:3px}@media(max-width:600px){button,input,select{min-height:44px}input,select,textarea{font-size:16px}dialog{max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}.history-row{flex-wrap:wrap}}

.profile-summary{border-top:4px solid #c39150}.profile-summary .stats{margin:20px 0 12px}.profile-edit{border-top:1px solid var(--line);padding:16px 0}.profile-edit summary{font-weight:700;cursor:pointer;min-height:32px}.profile-edit .formgrid{margin-top:16px}.profile-data{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-data dt{color:var(--muted);font-size:12px}.profile-data dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.profile-data{grid-template-columns:1fr}.profile-summary .stats{grid-template-columns:1fr 1fr}}
