@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url("/static/bundle/assets/nunito-cyrillic-ext-400-normal-TQULAN3S.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-ext-400-normal-6NHBVKWH.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url("/static/bundle/assets/nunito-cyrillic-400-normal-J4HWCKI3.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-400-normal-PPN7JUUI.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url("/static/bundle/assets/nunito-vietnamese-400-normal-S7WMN3NE.woff2") format("woff2"),url("/static/bundle/assets/nunito-vietnamese-400-normal-BD4T3ZMJ.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url("/static/bundle/assets/nunito-latin-ext-400-normal-C34L4GMP.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-ext-400-normal-4JJ7MAB4.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url("/static/bundle/assets/nunito-latin-400-normal-STXQN3YV.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-400-normal-XYKNV5V5.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url("/static/bundle/assets/nunito-cyrillic-ext-700-normal-JQRX6FSA.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-ext-700-normal-VLHXNGLJ.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url("/static/bundle/assets/nunito-cyrillic-700-normal-JYKSQVAB.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-700-normal-7MPZ6I4R.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url("/static/bundle/assets/nunito-vietnamese-700-normal-6WS5YDFT.woff2") format("woff2"),url("/static/bundle/assets/nunito-vietnamese-700-normal-5FFIV6PC.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url("/static/bundle/assets/nunito-latin-ext-700-normal-NDC5LB7U.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-ext-700-normal-BKG76XC4.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url("/static/bundle/assets/nunito-latin-700-normal-BNRLMBX2.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-700-normal-OPDVKG55.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url("/static/bundle/assets/nunito-cyrillic-ext-800-normal-EJ3W7OP6.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-ext-800-normal-CBR5VT6M.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url("/static/bundle/assets/nunito-cyrillic-800-normal-DZFFPGJV.woff2") format("woff2"),url("/static/bundle/assets/nunito-cyrillic-800-normal-NGWSWRM7.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url("/static/bundle/assets/nunito-vietnamese-800-normal-ARDVF3TU.woff2") format("woff2"),url("/static/bundle/assets/nunito-vietnamese-800-normal-O5U6MFQN.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url("/static/bundle/assets/nunito-latin-ext-800-normal-QOKOLMUU.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-ext-800-normal-4OZMSUDX.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url("/static/bundle/assets/nunito-latin-800-normal-ZLC45ULI.woff2") format("woff2"),url("/static/bundle/assets/nunito-latin-800-normal-OEF6YSFC.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--primary: #0b6b66;--primary-deep: #08504c;--on-primary: #ffffff;--accent: #ffc83d;--accent-ink: #3d2c00;--bg: #fbf8f2;--bg-alt: #f2ece0;--bg-card: #ffffff;--fg: #17262a;--fg-muted: #55656a;--line: #e4ddcf;--ok: #1d7a45;--warn: #8a5a00;--bad: #b42318;--shadow: 0 6px 18px rgba(23, 38, 42, .07);--radius: 16px;--container: 68rem;--font-display: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--header-bg: #0b6b66;--header-fg: #ffffff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--primary: #5fd1c5;--primary-deep: #93e3da;--on-primary: #062421;--accent: #ffd25e;--accent-ink: #2b1f00;--bg: #0f1a1c;--bg-alt: #16272a;--bg-card: #1b2e32;--fg: #eef4f2;--fg-muted: #a9bcba;--line: #2e474b;--ok: #6fd39a;--warn: #ffd25e;--bad: #ff8f86;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--header-bg: #123b3c;--header-fg: #eef4f2}}:root[data-theme=dark]{color-scheme:dark;--primary: #5fd1c5;--primary-deep: #93e3da;--on-primary: #062421;--accent: #ffd25e;--accent-ink: #2b1f00;--bg: #0f1a1c;--bg-alt: #16272a;--bg-card: #1b2e32;--fg: #eef4f2;--fg-muted: #a9bcba;--line: #2e474b;--ok: #6fd39a;--warn: #ffd25e;--bad: #ff8f86;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--header-bg: #123b3c;--header-fg: #eef4f2}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;color:var(--fg);background:var(--bg);min-height:100vh;display:flex;flex-direction:column;overflow-wrap:anywhere}main#main{flex:1;width:100%;padding-block:1.75rem 3rem}img,svg,video{max-width:100%;height:auto}a{color:var(--primary);font-weight:700;text-underline-offset:.18em}a:hover{color:var(--primary-deep)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.container{max-width:var(--container);margin-inline:auto;padding-inline:1rem;width:100%}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:1rem}.logo-dark{display:none}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:block}}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}.site-header{background:var(--header-bg);color:var(--header-fg);position:sticky;top:0;z-index:10;box-shadow:0 2px #00000014}.bar{display:flex;align-items:center;gap:.5rem 1rem;min-height:4rem;flex-wrap:nowrap;padding-block:.4rem}.brand{display:flex;align-items:center;gap:.6rem;color:var(--header-fg);text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.2rem;min-height:44px;letter-spacing:-.01em}.brand:hover{color:var(--header-fg)}.brand img{width:40px;height:40px}.site-nav{display:flex;gap:.35rem;margin-left:auto;overflow-x:auto;min-width:0;scrollbar-width:none}.site-nav a{color:var(--header-fg);text-decoration:none;padding:.5rem 1rem;border-radius:999px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;font-weight:700}.site-nav a:hover{background:#ffffff24;color:var(--header-fg)}.site-nav a[aria-current=page]{background:var(--accent);color:var(--accent-ink)}theme-toggle{display:contents}.theme-toggle{border:2px solid rgba(255,255,255,.45);background:transparent;color:var(--header-fg);width:44px;height:44px;border-radius:999px;display:inline-grid;place-items:center;cursor:pointer;flex:none}.theme-toggle:hover{background:#ffffff24}.theme-toggle .icon{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.theme-toggle .icon-sun{display:none}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.account{display:flex;align-items:center;gap:.5rem;margin:0;min-width:0;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.25)}.coach-avatar{flex:none;display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:1rem;line-height:1}.coach-name{font-weight:700;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account{position:relative}.account-toggle{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .5rem;border-radius:999px;cursor:pointer}.account-toggle::-webkit-details-marker{display:none}.account-toggle:hover,.account[open] .account-toggle{background:#ffffff24}.account-toggle:focus-visible{outline:2px solid var(--header-fg);outline-offset:2px}.caret{width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);flex:none}.account[open] .caret{transform:translateY(2px) rotate(-135deg)}.account-menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:10rem;margin:0;padding:.35rem;z-index:20;background:var(--bg-card);border:2px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #00000040}.account-menu button.sign-out{width:100%;text-align:left;background:transparent;color:var(--fg);border:0;border-radius:8px;min-height:44px;padding:.35rem .75rem;font-size:1rem;font-weight:700;cursor:pointer}.account-menu button.sign-out:hover{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--fg)}@media (max-width: 560px){.bar{flex-wrap:wrap}.site-nav{order:3;width:100%;margin-left:0;padding-bottom:.25rem;overflow-x:auto;scrollbar-width:none;gap:.1rem}.site-nav a{flex:1 0 auto;justify-content:center;padding:.5rem .3rem;font-size:.8rem;white-space:nowrap}.theme-toggle{margin-left:auto}.account{margin-left:auto;padding-left:0;border-left:0}.account~theme-toggle .theme-toggle{margin-left:0}.bar:has(.account) .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.coach-avatar{display:none}.coach-name{max-width:6.5rem}}.sign-in{max-width:32rem;margin:clamp(1rem,6vh,3.5rem) auto 1rem;text-align:center}.sign-in-mark{display:flex;justify-content:center;margin-bottom:-2.25rem;position:relative;z-index:1}.sign-in-mark img{width:4.5rem;height:4.5rem;border-radius:20px;box-shadow:0 0 0 6px var(--bg),var(--shadow)}.card.sign-in-card{border-top:6px solid var(--primary);padding:3.25rem 1.5rem 1.75rem}.sign-in-card h1{font-size:clamp(1.9rem,6vw,2.5rem)}.sign-in-card .lede{margin:.5rem auto 1.5rem;color:var(--fg-muted)}.sign-in-card .notice{text-align:left}.sign-in-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:20rem;min-height:52px;font-size:1.1rem}.sign-in-note{margin:1.25rem auto 0;max-width:24rem;font-size:.95rem}.site-footer{border-top:1px solid var(--line);padding-block:1.25rem;color:var(--fg-muted);font-size:.95rem}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0 0 .5rem;font-weight:800;letter-spacing:-.01em}h1{font-size:clamp(2rem,6vw,2.8rem)}h2{font-size:clamp(1.3rem,3.5vw,1.65rem);margin-top:1.75rem}.card h2,.card h3{margin-top:0}p{margin:0 0 .75rem}.muted{color:var(--fg-muted)}.back{margin:0 0 .5rem}.back a{text-decoration:none}.back a:before{content:"\2039  "}.lede{font-size:1.1rem;max-width:42rem}.btn,button[type=submit]{font:inherit;font-weight:800;background:var(--primary);color:var(--on-primary);border:2px solid var(--primary);border-radius:999px;padding:.55rem 1.25rem;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn:hover,button[type=submit]:hover{background:var(--primary-deep);border-color:var(--primary-deep);color:var(--on-primary)}.btn.secondary{background:var(--bg-card);color:var(--primary);border-color:var(--primary)}.btn.secondary:hover{background:var(--bg-alt);color:var(--primary-deep)}.btn.danger{background:var(--bg-card);color:var(--bad);border-color:var(--bad)}.btn.danger:hover{background:var(--bad);color:var(--bg-card);border-color:var(--bad)}.btn:disabled{opacity:.4;cursor:not-allowed}label{display:block;font-weight:700;margin-bottom:.35rem}input,select,textarea{font:inherit;color:var(--fg);background:var(--bg-card);border:2px solid var(--line);border-radius:12px;padding:.55rem .8rem;width:100%;min-height:44px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.field{margin-bottom:1.1rem}fieldset.field{border:0;padding:0;margin:0 0 1.25rem;min-width:0}legend{font-weight:800;font-size:1.1rem;margin-bottom:.35rem;padding:0}.form{max-width:40rem}.field-error{color:var(--bad);font-weight:700;margin:.35rem 0 0}[aria-invalid=true]{border-color:var(--bad)}.error-summary{border:2px solid var(--bad);color:var(--bad);border-radius:var(--radius);padding:.5rem 1rem;margin-bottom:1rem;background:var(--bg-card);font-weight:700}.error-summary p{margin:0}.notice{background:var(--bg-card);border:2px solid var(--ok);color:var(--fg);padding:.6rem 1rem;border-radius:var(--radius);font-weight:700}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card>:last-child{margin-bottom:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--fg-muted);font-size:.9rem;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.page-head h1{margin:0}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.plan-all{align-items:center;gap:1rem;margin-bottom:1.5rem}.plan-all form{margin:0}.empty{border-style:dashed;border-width:2px;box-shadow:none;text-align:center;padding:2rem 1.25rem}.empty p{margin:.25rem 0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 .75rem;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;background:var(--bg-alt);color:var(--fg);border-radius:999px;padding:.15rem .7rem;font-size:.9rem;font-weight:700}.chip.skill{background:color-mix(in srgb,var(--primary) 14%,var(--bg-card));color:var(--fg)}.tag{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:800;margin-left:.35rem;white-space:nowrap}.term-list,.drill-list,.session-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:1rem}.term-list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.term-card{border-top:6px solid var(--primary)}.term-card h2{font-size:1.4rem;margin:0 0 .25rem}.term-card h2 a{color:var(--fg);text-decoration:none}.term-card h2 a:hover{color:var(--primary);text-decoration:underline}.term-card p{margin:.25rem 0}.session-list{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}.session{display:flex;flex-direction:column}.session .actions{margin-top:auto;padding-top:.75rem}.session-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem}.week-badge{flex:none;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:14px;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);line-height:1;text-align:center}.week-badge small{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.week-badge b{font-size:1.6rem;font-weight:800}.session-head h3{font-size:1.15rem;margin:0}.session-head .date{display:block;color:var(--fg-muted);font-weight:700;font-size:.95rem}.session.is-empty .week-badge{background:var(--bg-alt);color:var(--fg)}.drills{margin:.25rem 0 .75rem;padding-left:1.4rem}.drills li{margin-bottom:.2rem}.drills li::marker{color:var(--primary);font-weight:800}.session p{margin:.25rem 0}.instructions{white-space:pre-line}.change-dates{margin-top:1rem}.change-dates summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center;color:var(--primary)}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:0 .75rem}.danger-zone{margin-top:1.5rem}.time{font-weight:800;margin:.5rem 0 .25rem}.time .muted{font-weight:700}.over{color:var(--bad);font-weight:800}progress.hour{-webkit-appearance:none;appearance:none;display:block;width:100%;height:.8rem;border:0;border-radius:999px;background:var(--line);overflow:hidden;margin:.1rem 0 .5rem}progress.hour::-webkit-progress-bar{background:var(--line);border-radius:999px}progress.hour::-webkit-progress-value{background:var(--primary);border-radius:999px}progress.hour::-moz-progress-bar{background:var(--primary);border-radius:999px}progress.hour.is-over::-webkit-progress-value{background:var(--bad)}progress.hour.is-over::-moz-progress-bar{background:var(--bad)}progress.hour.is-full::-webkit-progress-value{background:var(--ok)}progress.hour.is-full::-moz-progress-bar{background:var(--ok)}.drill-list{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}.drill{display:flex;flex-direction:column}.drill h2{font-size:1.25rem;margin:0 0 .25rem}.drill p{margin:.25rem 0}.drill .actions{margin-top:auto;padding-top:.75rem}.session-layout{display:grid;gap:1.25rem;align-items:start}@media (min-width: 960px){.session-layout.has-side{grid-template-columns:minmax(0,1fr) minmax(0,24rem)}.session-layout .attendance{grid-column:2;grid-row:1}}.suggestion{border:2px solid var(--accent);border-top-width:8px}.suggestion,.session-form,.next-skill{margin-bottom:1.25rem}.session-layout .suggestion,.session-layout .session-form{margin-bottom:0}.session-form{max-width:none}.drill-rows{list-style:none;padding:0;margin:0}.builder-list{list-style:none;padding:0;margin:0 0 .75rem;display:grid;gap:.5rem;counter-reset:drill}.builder-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--line);border-radius:12px;padding:.6rem .75rem;background:var(--bg);counter-increment:drill}.builder-name{display:flex;flex-direction:column;font-weight:800;padding-left:2.25rem;position:relative}.builder-name:before{content:counter(drill);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-size:.9rem}.builder-name .muted{font-weight:400;font-size:.95rem}.builder-actions{display:flex;flex-wrap:wrap;gap:.35rem}.builder-actions .btn{padding:.35rem .85rem;font-size:.95rem}.builder-add{margin-top:1rem}.builder-add-row,.picker-row{display:flex;flex-wrap:wrap;gap:.5rem}.builder-add-row select,.picker-row select{flex:1 1 12rem;width:100%;min-width:0}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem .75rem}.check{display:flex;align-items:center;gap:.6rem;font-weight:700;min-height:44px;margin:0;padding:0 .75rem;border:2px solid var(--line);border-radius:999px;background:var(--bg-card);cursor:pointer}.check:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-card))}.check input{width:1.25rem;min-height:0;height:1.25rem;accent-color:var(--primary)}.term-picker{max-width:32rem;margin-bottom:1.25rem}.next-skill{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.next-skill h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.next-skill .muted{color:var(--accent-ink)}.next-skill .btn{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}.next-skill .btn:hover{background:var(--fg);border-color:var(--fg)}.next-name{font-family:var(--font-display);font-size:clamp(2rem,7vw,3rem);font-weight:800;line-height:1.1;margin:0 0 .5rem}.progress-table tbody th{color:var(--fg);font-size:1.05rem;font-weight:800}.progress-table tr.is-next{box-shadow:inset 6px 0 0 var(--accent)}.progress-table tr.is-next th{padding-left:1.1rem}.progress-table .count{display:flex;align-items:center;gap:.6rem;min-width:8rem}.progress-table .count b{min-width:1.5ch}.progress-table progress.hour{margin:0;flex:1;max-width:10rem}.progress-table{overflow-wrap:normal}@media (max-width: 560px){.progress-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.progress-table tr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;padding:.7rem .5rem;border-bottom:1px solid var(--line)}.progress-table th,.progress-table td{border:0;padding:0}.progress-table td:last-child{grid-row:1;grid-column:2;text-align:right;font-size:.95rem}.progress-table td:nth-of-type(1){grid-column:1 / -1}.progress-table progress.hour{max-width:none}}.print-drills{padding-left:1.4rem}.print-drills li{margin-bottom:1.25rem;break-inside:avoid}.print-drills h2{font-size:1.2rem;margin:0 0 .25rem}.print-drills h2 .muted{font-size:1rem;font-weight:700}.print-drills p{margin:.25rem 0}.print-drills .instructions{white-space:pre-line}@media print{.site-header,.site-footer,.skip-link,.no-print{display:none!important}body,main{background:#fff!important;color:#000!important}.muted,.print-drills li::marker{color:#000!important}.container{max-width:none;padding:0}}.drill .drill-origin{display:inline-flex;align-self:flex-start;align-items:center;gap:.45rem;margin:0 0 .5rem;padding:.1rem .7rem .1rem .45rem;border-radius:999px;border:2px solid var(--line);color:var(--fg-muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.drill-origin:before{content:"";width:.7rem;height:.7rem;border-radius:999px;border:2px solid currentColor}.drill-origin.is-shared{border-color:var(--primary);color:var(--primary)}.drill-origin.is-shared:before{background:var(--accent)}.field.check label{display:flex;align-items:center;gap:.6rem;font-weight:700}.field.check input[type=checkbox]{width:1.4rem;height:1.4rem;flex:none;accent-color:var(--primary)}.field.check{display:flex;align-items:center;gap:.6rem;position:relative;margin-bottom:1.5rem;padding:0;min-height:0;border:0;border-radius:0;background:none;cursor:auto}.info{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:999px;border:2px solid var(--primary);color:var(--primary);font-size:.8rem;font-weight:800;font-style:italic;cursor:help}.info:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + .5rem);width:min(18rem,80vw);padding:.6rem .75rem;border-radius:.5rem;background:var(--fg);color:var(--bg);font-size:.85rem;font-style:normal;font-weight:500;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;z-index:10}.info:hover:after,.info:focus:after{opacity:1;visibility:visible}.player-table{overflow-wrap:normal}.player-table tbody th{color:var(--fg);font-size:1.05rem;font-weight:800}.player-table .attended{white-space:nowrap}.player-table .rate{min-width:10rem}.rate-figure{font-weight:800;font-variant-numeric:tabular-nums}.rate-bar{display:block;height:.5rem;max-width:9rem;margin-top:.3rem;border-radius:999px;background:var(--bg-alt);overflow:hidden}.rate-bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.low-flag{display:inline-block;background:var(--bad);color:var(--on-primary);border-radius:999px;padding:0 .6rem;font-size:.85rem;font-weight:800;line-height:1.6}.player-table tr.is-low{background:color-mix(in srgb,var(--bad) 7%,var(--bg-card))}.player-table tr.is-low>th{box-shadow:inset 6px 0 0 var(--bad);padding-left:1.1rem}.player-table tr.is-low .rate-figure{color:var(--bad)}.player-table tr.is-low .rate-bar>span{background:var(--bad)}.player-table tr.is-inactive>*{color:var(--fg-muted)}.player-table .row-actions .builder-actions{justify-content:flex-end}.player-table .builder-actions form{margin:0}@media (max-width: 560px){.card.table-wrap:has(.player-table){padding:.25rem}.player-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.player-table tr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem .75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.player-table tbody tr:last-child{border-bottom:0}.player-table tr.is-low{box-shadow:inset 6px 0 0 var(--bad)}.player-table tr.is-low>th{box-shadow:none;padding-left:0}.player-table th,.player-table td{border:0;padding:0}.player-table tbody th{grid-column:1 / -1;font-size:1.1rem}.player-table .rate{grid-row:2;grid-column:1;min-width:0}.player-table .attended{grid-row:2;grid-column:2;text-align:right;color:var(--fg-muted)}.player-table .row-actions{grid-column:1 / -1;padding-top:.35rem}.player-table .row-actions .builder-actions{justify-content:flex-start}}.attendance{margin-top:1.5rem}.attendance-list{list-style:none;margin:0;padding:0}.attendance-list>li{border-bottom:1px solid var(--line);padding:1rem 0}.attendance-list>li:first-child{padding-top:.25rem}.attendance-row{border:0;margin:0;padding:0;min-width:0}.attendance-row legend{font-size:1.1rem;font-weight:800;margin-bottom:.5rem}.segmented{display:flex;flex-wrap:nowrap;gap:.6rem}.segmented label{position:relative;margin:0}.segmented input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.segmented .opt{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;cursor:pointer;user-select:none;border:2px solid var(--opt, var(--fg-muted));background:var(--bg-card);color:var(--opt, var(--fg-muted))}.segmented .opt .icon{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.segmented label:hover .opt{background:var(--bg-alt)}.segmented label[data-status=PRESENT]{--opt: var(--primary);--opt-ink: var(--on-primary)}.segmented label[data-status=ABSENT]{--opt: var(--bad);--opt-ink: var(--on-primary)}.segmented label[data-status=EXCUSED]{--opt: var(--warn);--opt-ink: var(--accent-ink)}.segmented input:checked+.opt{background:var(--opt, var(--bg-alt));color:var(--opt-ink, var(--fg));box-shadow:0 0 0 3px color-mix(in srgb,var(--opt, var(--fg-muted)) 30%,transparent)}.segmented label[data-status=EXCUSED] input:checked+.opt{background:var(--accent);border-color:var(--accent)}.segmented label[data-status=""] .opt{border-style:dashed}.segmented label[data-status=""] input:checked+.opt{background:var(--bg-alt);color:var(--fg);border-color:var(--fg)}.segmented input:focus-visible+.opt{outline:3px solid var(--accent);outline-offset:3px}.attendance-key{display:flex;flex-wrap:wrap;gap:.35rem 1rem;list-style:none;margin:.5rem 0 1rem;padding:0;font-size:.95rem;font-weight:700}.attendance-key li{display:inline-flex;align-items:center;gap:.35rem;color:var(--opt)}.attendance-key .icon{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.attendance-row .reason{margin:.75rem 0 0}.attendance-row .reason[hidden]{display:none}.attendance attendance-sheet .actions{margin:1rem 0}.tick-list{margin-top:1.5rem;break-inside:avoid}.tick-list h2{font-size:1.2rem;margin:0 0 .5rem}.tick-list ul{list-style:none;margin:0;padding:0;columns:2 14rem;column-gap:2.5rem}.tick-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--line);break-inside:avoid;font-size:1.05rem}.tick-box{width:1.4rem;height:1.4rem;flex:none;border:2px solid currentColor;border-radius:4px}@media print{.tick-list li{border-bottom-color:#999}}.icon-btn,button.icon-btn[type=submit]{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;cursor:pointer;text-decoration:none;font:inherit;background:var(--bg-card);color:var(--primary);border:2px solid var(--primary)}.icon-btn:hover,button.icon-btn[type=submit]:hover{background:var(--bg-alt);color:var(--primary-deep)}.icon-btn.danger,button.icon-btn.danger[type=submit]{color:var(--bad);border-color:var(--bad)}.icon-btn.danger:hover,button.icon-btn.danger[type=submit]:hover{background:var(--bad);color:var(--bg-card);border-color:var(--bad)}.icon-btn .icon{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn.small{width:36px;height:36px;flex:none;position:relative}.icon-btn.small:after{content:"";position:absolute;inset:-4px}.icon-btn.small .icon{width:1.05rem;height:1.05rem}.card-title{display:flex;align-items:center;gap:.6rem}.card-title h2{margin:0 0 .25rem;min-width:0}.card-actions{justify-content:space-between;align-items:center}.card-actions form{margin:0}.attendance-days{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.75rem}.attendance-day{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.attendance-day h3,.attendance-day p{margin:0 0 .25rem}.team-setting{margin:0 0 .5rem}.team-setting summary{display:flex;align-items:center;justify-content:flex-end;cursor:pointer;list-style:none}.team-setting summary::-webkit-details-marker{display:none}.team-setting summary:focus-visible .icon-btn{outline:3px solid var(--primary);outline-offset:2px}.team-setting[open] summary .icon-btn{background:var(--bg-alt)}.team-setting .term-team{margin-top:.5rem;padding:1rem;background:var(--bg-card);border:1px solid var(--line);border-radius:12px}.games{margin-top:1.5rem}.game-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.game-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem}.game-what{min-width:0}.game-what h3{margin:0 0 .15rem;font-size:1.2rem;overflow-wrap:anywhere}.game-what h3 a{color:var(--fg)}.game-what p{margin:0}.game-actions{display:flex;gap:.5rem;align-items:center}.game-actions form{margin:0}.game-setup{margin-bottom:1.5rem}.game-setup h2{margin-top:0}.availability-list{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.toggle{position:relative;margin:0}.toggle input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.toggle span{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.4rem 1rem;border:2px dashed var(--fg-muted);border-radius:999px;background:var(--bg-alt);color:var(--fg-muted);cursor:pointer;user-select:none;overflow-wrap:anywhere}.toggle span:before{content:"\2715";font-weight:800}.toggle input:checked+span{border:2px solid var(--primary);background:var(--primary);color:var(--on-primary)}.toggle input:checked+span:before{content:"\2713"}.toggle input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.choice-list{display:grid;gap:.35rem}.choice{display:flex;align-items:center;gap:.6rem;min-height:44px;margin:0;font-weight:700;cursor:pointer}.choice input{width:1.3rem;height:1.3rem;min-height:0;margin:0;accent-color:var(--primary);flex:none}.warning{background:var(--bg-card);border:2px solid var(--accent);border-left-width:8px;padding:.6rem 1rem;border-radius:var(--radius);font-weight:700}.warning[hidden]{display:none}.quarters{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;gap:1rem;position:relative;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.quarter{border-top:6px solid var(--primary);min-width:0;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.quarter h3{margin:0 0 .25rem}.quarter h4{margin:.75rem 0 .35rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted)}.quarter-status{margin:0;min-height:1.6em;font-weight:700}.quarter-status .empty-spots{color:var(--warn)}.lineup-group{list-style:none;margin:0;padding:0;min-height:2rem}.lineup-group.bench{border-radius:12px;background:var(--bg-alt);padding:.1rem .6rem}.lineup-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.lineup-row:last-child{border-bottom:0}.lineup-row label{margin:0;min-width:0;overflow-wrap:anywhere}.lineup-row select{width:7.5rem;flex:none;min-height:44px}.fairness{margin-top:1.5rem}.term-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;border:2px solid var(--primary);background:var(--bg-card);color:var(--primary);font-weight:800;text-decoration:none}.pill:hover{background:var(--bg-alt);color:var(--primary-deep)}.pill.is-current{background:var(--primary);color:var(--on-primary)}.small{font-size:.9rem}.fairness-table{overflow-wrap:normal}.fairness-table .num{text-align:center;font-variant-numeric:tabular-nums}.fairness-table tbody th{color:var(--fg);font-size:1.05rem;font-weight:800}.fairness-table .figure{font-size:1.25rem;font-weight:800}.fairness-table .played .figure{color:var(--primary)}.fairness-table .unit,.fairness-table .pos-label{display:none}.fairness-table thead .pos{width:3rem}.fairness-table td.pos{font-weight:700}.fairness-table td.pos.is-zero{color:var(--fg-muted);font-weight:400}.fairness-table tr.is-inactive>*{color:var(--fg-muted)}@media (max-width: 560px){.card.table-wrap:has(.fairness-table){padding:.25rem}.fairness-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.fairness-table tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem .25rem;padding:.85rem .75rem;border-bottom:1px solid var(--line)}.fairness-table tbody tr:last-child{border-bottom:0}.fairness-table th,.fairness-table td{border:0;padding:0}.fairness-table tbody th{grid-column:1 / -1;font-size:1.1rem}.fairness-table td.played,.fairness-table td.benched{grid-column:span 3;text-align:left}.fairness-table td.benched{grid-column:4 / -1}.fairness-table .unit{display:inline;color:var(--fg-muted)}.fairness-table td.pos{display:grid;gap:.1rem;padding:.3rem 0;border-radius:10px;background:var(--bg-alt)}.fairness-table .pos-label{display:block;font-size:.75rem;font-weight:800;color:var(--fg-muted)}}.chip.saved{background:color-mix(in srgb,var(--primary) 16%,var(--bg-card));color:var(--fg)}.chip.saved:before{content:"\2713";margin-right:.3rem;color:var(--primary)}.game-date{font-weight:800;color:var(--fg)}.btn.with-icon{display:inline-flex;align-items:center;gap:.5rem}.btn .icon{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.page-head .game-actions{flex:none}.fairness,.games,.lineup{scroll-margin-top:8rem}.session-main{display:grid;gap:1.25rem;min-width:0}.session-main .suggestion,.session-main .session-form{margin-bottom:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.section-head h2{margin:0}.section-actions{display:flex;gap:.5rem;flex:none}.session-layout .attendance{margin-top:0;min-width:0}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.builder-actions{flex-wrap:nowrap}.term-games{margin-bottom:1.25rem}.term-games h2{margin:0}.term-games h2 a{color:var(--fg);text-decoration:none}.term-games .section-head p{margin:0}.term-games .game-row-flat{border-top:1px solid var(--line);padding:.85rem 0 .1rem}.term-games .game-row-flat:first-child{margin-top:.5rem}.game-day{margin-bottom:0}.game-day .section-head p{margin:0}.game-day .game-row-flat{border-top:1px solid var(--line);padding:.85rem 0 .1rem}.game-day .game-row-flat:first-child{margin-top:.5rem}.game-day-note{margin:.5rem 0;font-weight:700}.position-options{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-top:.5rem;max-width:24rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius, 12px)}.position-option{grid-column:span 2;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 .5rem;border:1px solid var(--line);border-radius:999px;font-weight:700;cursor:pointer;white-space:nowrap;width:auto;margin:0}.position-option input{width:1.4rem;height:1.4rem;min-height:0;padding:0;flex:none;margin:0;accent-color:var(--primary)}.position-option:nth-child(1){grid-column:2 / span 2}.position-option:nth-child(2){grid-column:4 / span 2}.position-option:nth-child(6){grid-column:2 / span 2}.position-option:nth-child(7){grid-column:4 / span 2}.position-option:has(input:checked){background:color-mix(in srgb,var(--primary) 16%,var(--bg-card))}.strategy-option{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;align-items:start;padding:.6rem 0;min-height:44px;cursor:pointer}.strategy-option .muted{grid-column:2}.strategy-form{margin-bottom:1rem}.chip.pos{background:color-mix(in srgb,var(--primary) 14%,var(--bg-card))}.chip.random{background:var(--bg-alt);font-weight:600}td.positions{white-space:normal}.game-choices{margin-block:1rem}.game-choices>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.game-choices>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.tab-list,.quarter-pager{display:flex;gap:.4rem;margin:0 0 1rem;overflow-x:auto;scrollbar-width:none}.tab{flex:1 0 auto;min-height:44px;padding:.4rem 1rem;border:2px solid var(--line);border-radius:999px;background:var(--bg-alt);color:var(--fg);font-weight:700;cursor:pointer;white-space:nowrap}.tab:hover{border-color:var(--primary)}.tab[aria-selected=true],.tab[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tabs-on .tab-heading{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=/static/bundle/app-2JAM7WTL.css.map */
