.hm{--hm-ink:#0E1A33;--hm-navy:#1B2A4E;--hm-blue:#283399;--hm-red:#B80000;--hm-red-2:#D0101A;--hm-text:#1E2433;--hm-muted:#5C6478;--hm-faint:#8A91A3;--hm-line:#E5E7EE;--hm-soft:#F6F7FA;--hm-display:"Inter Tight","Inter",system-ui,sans-serif;background:#fff;color:var(--hm-text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}.hm *,.hm *:before,.hm *:after{box-sizing:border-box}.hm h1,.hm h2,.hm h3,.hm h4{font-family:var(--hm-display);text-transform:none;letter-spacing:-.02em;margin:0;color:var(--hm-ink)}.hm :where(a){color:inherit;text-decoration:none}.hm button{font-family:inherit}.hm-wrap{max-width:1160px;margin:0 auto;padding:0 24px}.hm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;padding:10px 16px;font-size:14.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,box-shadow .15s ease,color .15s ease,transform .1s ease}.hm-btn:active{transform:translateY(1px)}.hm-btn:focus-visible{outline:2px solid var(--hm-blue);outline-offset:2px}.hm-btn-lg{padding:13px 22px;font-size:15.5px;border-radius:11px}.hm-btn-dark{background:var(--hm-ink);color:#fff}.hm-btn-dark:hover{background:var(--hm-navy)}.hm-btn-red{background:var(--hm-red);color:#fff;box-shadow:0 1px #fff3 inset,0 8px 20px -10px #b80000b3}.hm-btn-red:hover{background:var(--hm-red-2)}.hm-btn-ghost{background:#fff;color:var(--hm-ink);box-shadow:inset 0 0 0 1px var(--hm-line)}.hm-btn-ghost:hover{box-shadow:inset 0 0 0 1px #c9cdd8;background:var(--hm-soft)}.hm-btn-text{background:none;color:var(--hm-muted);padding:10px 12px}.hm-btn-text:hover{color:var(--hm-ink)}.hm-btn-white{background:#fff;color:var(--hm-ink)}.hm-btn-white:hover{background:#eef0f6}.hm-btn-outline-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #ffffff4d}.hm-btn-outline-light:hover{box-shadow:inset 0 0 0 1px #fff}.hm-nav{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid rgba(229,231,238,.8)}.hm-nav-inner{display:flex;align-items:center;gap:28px;height:64px}.hm-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--hm-display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--hm-ink)}.hm-mark{width:26px;height:26px;flex:none}.hm-mark rect{fill:var(--hm-ink)}.hm-mark line{stroke:#fff;stroke-width:2;stroke-linecap:round}.hm-mark line.thin{stroke:var(--hm-red-2);stroke-width:1.6}.hm-nav-links{display:flex;gap:4px}.hm-nav-links a{font-size:14.5px;font-weight:500;color:var(--hm-muted);padding:8px 12px;border-radius:8px}.hm-nav-links a:hover{color:var(--hm-ink);background:var(--hm-soft)}.hm-nav-cta{margin-left:auto;display:flex;align-items:center;gap:6px}.hm-hero{position:relative;padding:84px 0 0;isolation:isolate}.hm-hero:before{content:"";position:absolute;inset:0 0 auto;height:720px;z-index:-1;background:radial-gradient(800px 380px at 50% -40px,rgba(40,51,153,.1),transparent 70%),linear-gradient(180deg,#fff,#fff)}.hm-hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hm-pill{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--hm-muted);padding:5px 14px 5px 5px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--hm-line),0 1px 2px #0e1a330a;margin-bottom:28px}.hm-pill:hover{color:var(--hm-ink);box-shadow:inset 0 0 0 1px #c9cdd8}.hm-pill-tag{font-size:11.5px;font-weight:700;color:#fff;background:var(--hm-red);padding:3px 9px;border-radius:999px}.hm-h1{font-size:clamp(40px,6vw,68px);line-height:1.04;font-weight:700;max-width:900px}.hm-h1 span{display:block;color:var(--hm-faint)}.hm-lede{font-size:clamp(16.5px,1.6vw,19px);line-height:1.6;color:var(--hm-muted);max-width:640px;margin:24px 0 32px}.hm-cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.hm-hero-visual{margin-top:64px;position:relative}.hm-hero-visual:before{content:"";position:absolute;left:24px;right:24px;top:80px;bottom:-1px;z-index:-1;border-radius:24px 24px 0 0;background:linear-gradient(180deg,var(--hm-navy),var(--hm-ink))}.hm-frame{border-radius:14px;overflow:hidden;background:#fff;margin:0 auto;max-width:1060px;box-shadow:0 0 0 1px #0e1a3314,0 2px 4px #0e1a330a,0 30px 60px -20px #0e1a3359}.hm-frame-bar{display:flex;align-items:center;gap:14px;height:38px;padding:0 14px;background:#f3f4f8;border-bottom:1px solid var(--hm-line)}.hm-dots{display:flex;gap:6px}.hm-dots i{width:10px;height:10px;border-radius:50%;background:#d7dae2}.hm-url{font-size:12px;color:var(--hm-faint);background:#fff;border-radius:6px;padding:4px 12px;box-shadow:inset 0 0 0 1px var(--hm-line)}.hm-app{font-size:13px;color:var(--hm-text);text-align:left}.hm-app-top{display:flex;align-items:center;gap:22px;padding:11px 18px;background:#2a3c58;color:#fff;border-bottom:3px solid var(--hm-red)}.hm-app-brand{display:flex;align-items:center;gap:8px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:14px}.hm-app-brand .dot{width:8px;height:8px;border-radius:50%;background:var(--hm-red)}.hm-app-nav{display:flex;gap:4px;font-size:12.5px}.hm-app-nav>*{padding:5px 10px;border-radius:6px;color:#ffffffa6;font-weight:600}.hm-app-nav b{color:#fff;background:#ffffff1f}.hm-app-chip{margin-left:auto;font-size:11.5px;font-weight:600;color:#ffd27a;background:#ffffff14;padding:5px 10px;border-radius:6px}.hm-app-body{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;padding:18px;background:#f4f4f4}.hm-plan-head{background:linear-gradient(135deg,#2a3c58,#374e72);color:#fff;border-radius:10px;padding:16px 18px;margin-bottom:12px}.hm-plan-tags{display:flex;gap:6px;margin-bottom:8px}.hm-plan-tags span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#ffffff1f;padding:3px 7px;border-radius:4px}.hm-plan-tags .pub{background:#6ee7a02e;color:#a7f3c9}.hm-plan-title{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:22px;letter-spacing:.02em;margin-bottom:10px}.hm-plan-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hm-chip{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;background:var(--hm-red);padding:4px 9px;border-radius:999px}.hm-plan-stats{font-size:12px;color:#ffffffb3;margin-left:auto}.hm-sec{background:#fff;border:1px solid #DBDBDB;border-radius:10px;overflow:hidden;margin-bottom:10px}.hm-sec-head{display:flex;justify-content:space-between;align-items:center;background:var(--hm-blue);color:#fff;padding:8px 14px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.hm-sec-min{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;background:var(--hm-red);padding:3px 7px;border-radius:4px}.hm-drill{display:grid;grid-template-columns:44px 1.1fr 1.3fr 34px;gap:10px;align-items:center;padding:9px 14px;font-size:12.5px}.hm-drill+.hm-drill{border-top:1px solid #EEE}.hm-time{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--hm-blue);font-size:12px}.hm-dname{font-weight:600}.hm-focus{color:var(--hm-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-min{font-family:JetBrains Mono,monospace;color:var(--hm-faint);text-align:right}.hm-app-side{display:flex;flex-direction:column;gap:12px}.hm-side-card{background:#fff;border:1px solid #DBDBDB;border-radius:10px;padding:12px}.hm-side-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hm-muted);margin-bottom:8px}.hm-court{width:100%;height:auto;display:block;background:#fbf6ec;border-radius:6px}.hm-act{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:7px 0}.hm-act+.hm-act{border-top:1px dashed #E6E6E6}.hm-act-pts{font-family:JetBrains Mono,monospace;font-weight:700;font-size:11.5px;color:var(--hm-red);background:#fdecec;border-radius:5px;min-width:34px;text-align:center;padding:3px 0}.hm-section{padding:112px 0}.hm-section-soft{background:var(--hm-soft);border-top:1px solid var(--hm-line);border-bottom:1px solid var(--hm-line)}.hm-section-head{text-align:center;max-width:680px;margin:0 auto 56px}.hm-section-head.hm-left{text-align:left;margin:0}.hm-eyebrow{font-size:13.5px;font-weight:600;color:var(--hm-red);margin:0 0 12px}.hm-h2{font-size:clamp(30px,3.8vw,44px);line-height:1.1;font-weight:700}.hm-sub{font-size:17px;line-height:1.6;color:var(--hm-muted);margin:16px 0 0}.hm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hm-tile{background:#fff;border:1px solid var(--hm-line);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:22px;transition:border-color .2s ease,box-shadow .2s ease}.hm-tile:hover{border-color:#d3d7e2;box-shadow:0 12px 30px -20px #0e1a3340}.hm-tile-wide{grid-column:span 2}.hm-tile h3{font-size:18px;font-weight:600;margin-bottom:6px}.hm-tile p{margin:0;font-size:14.5px;line-height:1.55;color:var(--hm-muted)}.hm-tile>:last-child{margin-top:auto}.hm-tl-scale{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--hm-faint);margin-bottom:8px}.hm-tl-bar{display:flex;gap:4px;height:118px}.hm-tl-bar span{flex-basis:0;min-width:0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.hm-tl-bar b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-tl-bar i{font-style:normal;font-family:JetBrains Mono,monospace;font-size:11.5px;opacity:.75}.hm-tl-bar .tone-a{background:var(--hm-navy)}.hm-tl-bar .tone-b{background:var(--hm-blue)}.hm-tl-bar .tone-c{background:var(--hm-red)}.hm-tile-court{background:#fbf6ec;border-radius:10px;padding:10px;display:flex;justify-content:center}.hm-tile-court svg{width:auto;height:118px;max-width:100%}.hm-roster{position:relative;border:1px solid var(--hm-line);border-radius:10px;padding:4px 12px 10px}.hm-roster>div{display:flex;justify-content:space-between;padding:8px 0;font-size:13.5px;font-weight:500}.hm-roster>div+div{border-top:1px dashed var(--hm-line)}.hm-roster em{font-style:normal;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--hm-faint)}.hm-roster .out span{color:var(--hm-faint);text-decoration:line-through}.hm-lock{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--hm-muted);background:var(--hm-soft);border-radius:999px;padding:4px 10px;margin-top:6px}.hm-lock:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--hm-ink)}.hm-mini-card{border:1px solid var(--hm-line);border-top:3px solid var(--hm-blue);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.hm-mini-tags{display:flex;gap:6px}.hm-mini-tags span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hm-blue);background:#ecedf8;padding:3px 7px;border-radius:4px}.hm-mini-card b{font-family:var(--hm-display);font-size:16px;color:var(--hm-ink)}.hm-mini-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--hm-faint);padding-top:8px;border-top:1px dashed var(--hm-line)}.hm-sub-btn{font-size:12px;font-weight:600;color:#fff;background:var(--hm-red);padding:5px 11px;border-radius:7px}.hm-fork{border:1px solid var(--hm-line);border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:500}.hm-fork-row{display:flex;align-items:center;gap:10px}.hm-fork-row em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hm-faint)}.hm-fork-row.mine em{color:var(--hm-red)}.hm-fork-dot{width:10px;height:10px;border-radius:50%;background:var(--hm-blue);flex:none}.hm-fork-row.mine .hm-fork-dot{background:var(--hm-red)}.hm-fork-line{width:2px;height:22px;background:linear-gradient(var(--hm-blue),var(--hm-red));margin:4px 0 4px 4px;border-radius:2px}.hm-boards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hm-board{background:#fff;border:1px solid var(--hm-line);border-radius:16px;padding:10px}.hm-board-head{display:flex;align-items:center;gap:10px;padding:12px 14px 14px}.hm-board-head h3{font-size:18px;font-weight:600}.hm-board-head a{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--hm-blue)}.hm-board-head a:hover{text-decoration:underline}.hm-example{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--hm-muted);background:var(--hm-soft);border:1px solid var(--hm-line);padding:2px 8px;border-radius:999px}.hm-board ol{list-style:none;margin:0;padding:0}.hm-board-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:10px}a.hm-board-row:hover{background:var(--hm-soft)}.hm-board li+li .hm-board-row{box-shadow:0 -1px 0 var(--hm-line)}.hm-rank{width:20px;font-family:var(--hm-display);font-weight:700;font-size:16px;color:var(--hm-faint);text-align:center;flex:none}.hm-board li:first-child .hm-rank{color:var(--hm-red)}.hm-board-main{flex:1;min-width:0}.hm-board-main b{display:block;font-size:14.5px;font-weight:600;color:var(--hm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-board-main small{display:block;font-size:12.5px;color:var(--hm-faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-board-num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:15px;color:var(--hm-ink);text-align:right;display:flex;flex-direction:column;align-items:flex-end}.hm-board-num small{font-family:Inter,sans-serif;font-size:11px;font-weight:500;color:var(--hm-faint)}.hm-rewards{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.hm-levels{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;position:relative}.hm-levels:before{content:"";position:absolute;left:5px;right:12%;top:5px;height:2px;background:linear-gradient(90deg,var(--hm-blue) 0 58%,var(--hm-line) 58%)}.hm-level{position:relative;display:flex;flex-direction:column;gap:4px}.hm-level-dot{width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--hm-line);margin-bottom:10px}.hm-level.done .hm-level-dot{background:var(--hm-blue);box-shadow:none}.hm-level.now .hm-level-dot{background:var(--hm-red);box-shadow:0 0 0 4px #fdecec}.hm-level b{font-size:14px;font-weight:600;color:var(--hm-ink)}.hm-level small{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--hm-faint)}.hm-points{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hm-point{border:1px solid var(--hm-line);border-radius:14px;padding:22px}.hm-point span{display:block;font-family:var(--hm-display);font-weight:700;font-size:34px;letter-spacing:-.02em;color:var(--hm-ink)}.hm-point:first-child span{color:var(--hm-red)}.hm-point p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--hm-muted)}.hm-final-wrap{padding-top:0}.hm-final{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;border-radius:24px;padding:56px;background:radial-gradient(600px 300px at 90% 0%,rgba(208,16,26,.22),transparent 70%),linear-gradient(135deg,var(--hm-navy),var(--hm-ink))}.hm-final h2{color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.1;max-width:560px}.hm-final p{color:#ffffffb3;font-size:16.5px;margin:12px 0 0}.hm-final-cta{display:flex;gap:10px;flex-wrap:wrap}.hm-footer{border-top:1px solid var(--hm-line);padding:56px 0 28px}.hm-footer-inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.hm-footer-brand p{margin:10px 0 0;font-size:14px;color:var(--hm-muted)}.hm-footer-cols{display:flex;gap:64px}.hm-footer-cols h4{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--hm-ink);letter-spacing:0;margin-bottom:12px}.hm-footer-cols a,.hm-footer-cols button{display:block;background:none;border:none;padding:0;margin:0 0 9px;font-size:14px;color:var(--hm-muted);cursor:pointer;text-align:left}.hm-footer-cols a:hover,.hm-footer-cols button:hover{color:var(--hm-ink)}.hm-copy{margin-top:40px;font-size:13px;color:var(--hm-faint)}@media (max-width:980px){.hm-app-body{grid-template-columns:1fr}.hm-app-side{display:none}.hm-grid{grid-template-columns:1fr 1fr}.hm-boards,.hm-rewards{grid-template-columns:1fr}.hm-rewards{gap:40px}}@media (max-width:720px){.hm-wrap{padding:0 16px}.hm-nav-links{display:none}.hm-nav-cta .hm-btn-text{padding:10px 8px}.hm-hero{padding-top:48px}.hm-pill{font-size:12.5px}.hm-cta{width:100%}.hm-cta .hm-btn{flex:1 1 100%}.hm-hero-visual{margin-top:40px}.hm-hero-visual:before{left:0;right:0;border-radius:16px 16px 0 0}.hm-app-nav,.hm-app-chip,.hm-focus,.hm-plan-stats{display:none}.hm-drill{grid-template-columns:44px 1fr 30px}.hm-section{padding:72px 0}.hm-section-head{margin-bottom:36px}.hm-grid{grid-template-columns:1fr}.hm-tile-wide{grid-column:auto}.hm-tl-bar b{font-size:11px}.hm-tl-bar span{padding:8px}.hm-points{grid-template-columns:1fr 1fr}.hm-point{padding:16px}.hm-point span{font-size:28px}.hm-levels b{font-size:12px}.hm-final{padding:32px 24px;border-radius:18px}.hm-final-cta,.hm-final-cta .hm-btn{width:100%}.hm-footer-cols{gap:40px}}@media (prefers-reduced-motion:reduce){.hm-btn,.hm-tile{transition:none}}.hm-hero-visual{padding-bottom:88px}.hm-hero-visual:before{left:50%;right:auto;width:100vw;transform:translate(-50%);top:150px;bottom:0;border-radius:0;background:radial-gradient(900px 360px at 50% 100%,rgba(208,16,26,.16),transparent 70%),linear-gradient(180deg,var(--hm-navy),var(--hm-ink))}.hm-hero+.hm-section{padding-top:104px}.hm-mark-sm{width:20px;height:20px}.hm-app-top{background:#fff;color:var(--hm-ink);border-bottom:1px solid var(--hm-line);padding:10px 18px}.hm-app-brand{font-family:var(--hm-display);text-transform:none;letter-spacing:-.02em;font-size:14.5px;font-weight:700}.hm-app-nav>*{color:var(--hm-muted);font-weight:500}.hm-app-nav b{color:var(--hm-ink);background:var(--hm-soft);font-weight:600}.hm-app-chip{color:var(--hm-ink);background:var(--hm-soft);border:1px solid var(--hm-line)}.hm-app-body{background:var(--hm-soft)}.hm-plan-head{border-radius:12px;background:radial-gradient(300px 140px at 100% 0%,rgba(208,16,26,.18),transparent 70%),linear-gradient(135deg,#22305A,var(--hm-ink))}.hm-plan-tags span{text-transform:none;letter-spacing:0;font-size:10.5px;font-weight:600}.hm-plan-title{font-family:var(--hm-display);text-transform:none;letter-spacing:-.02em;font-weight:700;font-size:22px}.hm-chip{background:#ffffff1a}.hm-chip:first-child{background:var(--hm-red)}.hm-sec{border-color:var(--hm-line);border-radius:12px}.hm-sec-head{background:#fff;color:var(--hm-ink);border-bottom:1px solid var(--hm-line);box-shadow:inset 3px 0 0 var(--hm-blue);font-family:var(--hm-display);text-transform:none;letter-spacing:-.01em;font-size:14px;font-weight:600}.hm-sec-min{background:#fdecec;color:var(--hm-red)}.hm-side-card{border-color:var(--hm-line);border-radius:12px}@media (max-width:720px){.hm-hero-visual{padding-bottom:48px}.hm-hero-visual:before{top:90px}.hm-hero+.hm-section{padding-top:72px}}.hm-nav .hm-wrap.hm-nav-inner{max-width:none;padding:0 32px}@media (max-width:720px){.hm-nav .hm-wrap.hm-nav-inner{padding:0 16px}}.hm-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1e6b3e;background:#e8f6ee;padding:3px 10px 3px 8px;border-radius:999px}.hm-live i{width:7px;height:7px;border-radius:50%;background:#22a55b;box-shadow:0 0 #22a55b80;animation:hm-pulse 2s infinite}@keyframes hm-pulse{0%{box-shadow:0 0 #22a55b73}70%{box-shadow:0 0 0 7px #22a55b00}to{box-shadow:0 0 #22a55b00}}.hm-board{display:flex;flex-direction:column;min-height:300px}.hm-board-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:28px 24px 36px}.hm-board-empty p{margin:0;max-width:300px;font-size:14.5px;line-height:1.55;color:var(--hm-muted)}.hm-board-empty a{font-size:14px;font-weight:600;color:var(--hm-blue)}.hm-board-empty a:hover{text-decoration:underline}.hm-board-loading{flex:1;margin:4px 14px 14px;border-radius:10px;min-height:200px;background:linear-gradient(90deg,#fff 0%,var(--hm-soft) 50%,#fff 100%);background-size:200% 100%;animation:hm-shimmer 1.2s linear infinite}@keyframes hm-shimmer{to{background-position:-200% 0}}.hm-board-note{text-align:center;font-size:13px;color:var(--hm-faint);margin:18px 0 0}@media (prefers-reduced-motion:reduce){.hm-live i,.hm-board-loading{animation:none}}.au2{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.au2-main{display:flex;flex-direction:column;padding:28px 40px}.au2-top{display:flex;align-items:center;justify-content:space-between}.au2-brand{background:none;border:none;padding:0;cursor:pointer}.au2-brand:disabled{cursor:default}.au2-back{background:none;border:none;font-size:14px;font-weight:500;color:var(--hm-muted);cursor:pointer;display:flex;gap:6px;padding:6px 0}.au2-back:hover{color:var(--hm-ink)}.au2-form{width:100%;max-width:400px;margin:auto;padding:48px 0;display:flex;flex-direction:column}.au2-form h1{font-size:34px;font-weight:700;line-height:1.1}.au2-sub{color:var(--hm-muted);font-size:15.5px;line-height:1.55;margin:10px 0 28px}.au2-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--hm-soft);border:1px solid var(--hm-line);border-radius:11px;padding:4px;margin-bottom:24px}.au2-tabs button{border:none;background:none;padding:9px;font-size:14px;font-weight:600;color:var(--hm-muted);border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.au2-tabs button.on{background:#fff;color:var(--hm-ink);box-shadow:0 1px 2px #0e1a3314,0 0 0 1px var(--hm-line)}.au2-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.au2-field>span{font-size:13.5px;font-weight:600;color:var(--hm-ink);display:flex;justify-content:space-between}.au2-field em{font-style:normal;font-weight:500;color:var(--hm-faint)}.au2-field input{width:100%;border:1px solid #D7DAE2;background:#fff;border-radius:10px;padding:12px 14px;font-size:15px;color:var(--hm-text);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.au2-field input::placeholder{color:#a6acba}.au2-field input:focus{outline:none;border-color:var(--hm-blue);box-shadow:0 0 0 4px #2833991f}.au2-pw{position:relative}.au2-pw input{padding-right:70px}.au2-pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:13px;font-weight:600;color:var(--hm-blue);padding:6px 8px;border-radius:6px;cursor:pointer}.au2-pw button:hover{background:var(--hm-soft)}.au2-msg{font-size:14px;line-height:1.5;padding:11px 14px;border-radius:10px;margin:0 0 16px}.au2-msg.error{background:#fdecec;color:#9b1c1c}.au2-msg.ok{background:#e8f6ee;color:#1e6b3e}.au2-submit{width:100%;margin-top:6px}.au2-submit:disabled{opacity:.7;cursor:wait}.au2-switch{text-align:center;font-size:14px;color:var(--hm-muted);margin:22px 0 0}.au2-switch button{background:none;border:none;padding:0;font-size:14px;font-weight:600;color:var(--hm-blue);cursor:pointer}.au2-switch button:hover{text-decoration:underline}.au2-foot{font-size:13px;color:var(--hm-faint);margin:0;text-align:center}.au2-side{position:relative;overflow:hidden;margin:12px 12px 12px 0;border-radius:22px;background:radial-gradient(700px 400px at 100% 0%,rgba(208,16,26,.22),transparent 65%),linear-gradient(160deg,var(--hm-navy),var(--hm-ink));display:flex;align-items:center;justify-content:center;padding:48px}.au2-side:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.08) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px))}.au2-side-inner{position:relative;width:100%;max-width:440px}.au2-quote{font-family:var(--hm-display);font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.02em;color:#fff;margin:0 0 28px}.au2-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -24px #0009}.au2-card-head{padding:16px 18px;border-bottom:1px solid var(--hm-line);display:flex;flex-direction:column;gap:4px}.au2-tags{display:flex;gap:6px;margin-bottom:4px}.au2-tags i{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hm-blue);background:#ecedf8;padding:3px 7px;border-radius:4px}.au2-card-head b{font-family:var(--hm-display);font-size:18px;color:var(--hm-ink);letter-spacing:-.01em}.au2-card-head small{font-size:12.5px;color:var(--hm-faint)}.au2-rows>div{display:grid;grid-template-columns:46px 1fr auto;gap:10px;padding:10px 18px;font-size:13.5px;font-weight:500;color:var(--hm-text)}.au2-rows>div+div{border-top:1px solid #F0F1F5}.au2-rows span{font-family:JetBrains Mono,monospace;font-weight:700;font-size:12px;color:var(--hm-blue)}.au2-rows em{font-style:normal;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--hm-faint)}.au2-court{padding:12px 18px 18px}.au2-court svg{display:block;width:100%;height:auto;background:#fbf6ec;border-radius:8px}.au2-toast{position:absolute;right:-18px;bottom:-26px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 16px 12px 12px;box-shadow:0 20px 40px -16px #00000080}.au2-toast>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--hm-red);color:#fff;font-family:JetBrains Mono,monospace;font-weight:700;font-size:13px}.au2-toast b{display:block;font-size:13.5px;color:var(--hm-ink)}.au2-toast small{display:block;font-size:12px;color:var(--hm-faint)}@media (max-width:900px){.au2{grid-template-columns:1fr}.au2-side{display:none}.au2-main{padding:20px 16px}.au2-form{padding:40px 0}.au2-form h1{font-size:28px}}.au2-resend{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;cursor:pointer}.au2-legal{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted,#6b7280)}.au2-legal a{color:inherit;text-decoration:underline}.au2-forgot{margin-left:auto;background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--hm-blue,#2F5BEA);cursor:pointer}.au2-forgot:hover{text-decoration:underline}.run{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;overflow-y:auto;color:#fff;font-family:Inter,system-ui,sans-serif;background:radial-gradient(900px 500px at 50% -10%,rgba(40,51,153,.45),transparent 70%),linear-gradient(180deg,#14213d,#0b1426)}.run h1{font-family:Inter Tight,Inter,sans-serif;letter-spacing:-.025em;text-transform:none;margin:0;color:#fff}.run-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px}.run-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ff8a80}.run-sub{margin:0;color:#ffffffa6;font-size:16px}.run-x{position:absolute;top:16px;left:16px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:16px;cursor:pointer}.run-x:hover{background:#ffffff2e}.run-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;padding:14px 22px;font-size:16px;font-weight:600;background:#ffffff1a;color:#fff;text-decoration:none;cursor:pointer}.run-btn:hover{background:#ffffff2e}.run-btn-go{background:#d0101a;font-size:18px;padding:16px 28px;box-shadow:0 14px 30px -12px #d0101acc}.run-btn-go:hover{background:#e0141f}.run-ready{display:flex;justify-content:center;padding:72px 20px 40px}.run-ready-inner{width:100%;max-width:560px;display:flex;flex-direction:column;gap:12px}.run-ready h1{font-size:clamp(30px,5vw,44px);line-height:1.08}.run-preview{list-style:none;margin:14px 0 18px;padding:6px;border-radius:16px;background:#ffffff0f;max-height:46vh;overflow-y:auto}.run-preview li{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:baseline;padding:10px 12px;border-radius:10px}.run-preview li+li{border-top:1px solid rgba(255,255,255,.06)}.run-preview span{font-size:12px;color:#ffffff80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-preview b{font-weight:600;font-size:15.5px}.run-preview em{font-style:normal;font-family:JetBrains Mono,monospace;color:#fff9;font-size:13px}.run-hint{margin:6px 0 0;font-size:13px;color:#ffffff80;text-align:center}.run-warn{background:#ff8a801f;color:#ffb4ac;padding:14px;border-radius:12px}.run-ready .run-btn-go{align-self:stretch}.run-live{display:grid;grid-template-rows:auto 1fr auto auto 6px;min-height:100%}.run-top{position:relative;display:flex;align-items:center;gap:14px;padding:16px 16px 0 72px}.run-top-title{flex:1;min-width:0}.run-top-title b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-top-title span{display:block;font-size:13px;color:#fff9;margin-top:2px}.run-pill{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}.run-pill:hover{background:#ffffff1a}.run-main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px;gap:10px}.run-section{margin:0;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9fb0ff}.run-drill{font-size:clamp(34px,7vw,72px);line-height:1.02;max-width:16ch}.run-focus{margin:4px 0 0;font-size:clamp(17px,2.4vw,24px);color:#fffc;max-width:34ch;line-height:1.35}.run-clock{display:flex;flex-direction:column;align-items:center;margin-top:18px}.run-clock-num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:clamp(72px,18vw,180px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.run-clock-label{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;margin-top:6px}.run-bar{width:min(560px,90%);height:8px;border-radius:8px;background:#ffffff1f;overflow:hidden;margin-top:14px}.run-bar span{display:block;height:100%;background:linear-gradient(90deg,#7c8cff,#fff);border-radius:inherit;transition:width 1s linear}.run-live.is-over .run-clock-num,.run-live.is-over .run-clock-label{color:#ff6b60}.run-live.is-over .run-bar span{background:#ff6b60}.run-live.is-paused .run-clock-num{opacity:.45}.run-next{margin:0 16px 14px;align-self:center;justify-self:center;width:min(560px,calc(100% - 32px));display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline;background:#ffffff12;border-radius:14px;padding:14px 18px}.run-next span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.run-next b{font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-next em{font-style:normal;font-family:JetBrains Mono,monospace;font-size:13px;color:#fff9;white-space:nowrap}.run-controls{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;padding:0 16px 18px;max-width:640px;width:100%;justify-self:center}.run-ctl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;border:none;border-radius:18px;font-size:24px;background:#ffffff1a;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.run-ctl small{font-size:13px;font-weight:600;color:#ffffffbf}.run-ctl:hover{background:#ffffff29}.run-ctl:active{transform:scale(.98)}.run-ctl-next{background:#d0101a}.run-ctl-next:hover{background:#e0141f}.run-ctl-next small{color:#fff}.run-strip{display:flex;gap:2px;height:6px}.run-strip span{flex-basis:0;background:#ffffff1f}.run-strip .done{background:#7c8cff}.run-strip .now{background:#fff}.run-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.run-sheet{width:100%;max-width:900px;max-height:86vh;overflow-y:auto;background:#fff;color:#1e2433;border-radius:22px 22px 0 0;padding:18px 20px 28px}.run-sheet-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.run-sheet-head b{font-family:Inter Tight,sans-serif;font-size:19px;color:#0e1a33}.run-sheet .run-x{position:static;background:#f1f2f6;color:#0e1a33}.run-poe{margin:0 0 16px;padding:12px 16px 12px 34px;background:#f6f7fa;border-radius:12px;font-size:16px;line-height:1.7}.run-courts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.run-courts figure{margin:0}.run-courts svg{width:100%;height:auto;display:block;background:#fbf6ec;border-radius:10px}.run-courts figcaption{font-size:14px;font-weight:600;margin-top:6px}.run-done h1{font-size:clamp(30px,5vw,44px)}.run-done-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}.run-logged{margin:6px 0;font-size:17px;font-weight:600;color:#7ee2a8}@media (max-width:600px){.run-top{padding:14px 12px 0 64px}.run-top-title span{font-size:12px}.run-pill{padding:7px 10px;font-size:12.5px}.run-preview li{grid-template-columns:1fr auto}.run-preview span{grid-column:1/-1}.run-ctl{min-height:68px}}@media (prefers-reduced-motion:reduce){.run-bar span{transition:none}}.run .modal,.run .dlg{color:#1e2433;text-align:left}.run .modal h2{color:#0e1a33}@media (max-width:600px){.run-next{grid-template-columns:auto 1fr;row-gap:2px}.run-next em{grid-column:2}}:root{--deep:#0E1A33;--ink:#1B2A4E;--court:#283399;--court-dark:#22305A;--accent:#B80000;--accent-dark:#9E0000;--danger:#C62828;--danger-dark:#A31F1F;--paper:#FFFFFF;--sand:#F6F7FA;--charcoal:#1E2433;--muted:#5C6478;--faint:#8A91A3;--line:#E5E7EE;--radius:14px;--display:"Inter Tight","Inter",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--charcoal);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.03em}button{font-family:Inter,sans-serif;cursor:pointer}input,select,textarea{font-family:Inter,sans-serif}#topbar{background:var(--ink);color:#fff;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--accent)}#topbar .brand{display:flex;align-items:center;gap:10px;margin-right:auto}#topbar .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}#topbar h1{font-size:19px;margin:0;color:#fff;letter-spacing:.06em}#topbar select{background:var(--court-dark);color:#fff;border:1px solid #5A6F91;border-radius:6px;padding:7px 10px;font-size:13px;max-width:220px}.btn{border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:transform .08s ease,filter .12s ease}.btn:active{transform:translateY(1px)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(1.07)}.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}.btn-outline:hover{background:#ffffff14}.btn-ghost{background:transparent;color:var(--court);border:1px dashed var(--court)}.btn-ghost:hover{background:#28339912}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:#c6282814}#topbar .btn-danger{color:#ff8a80;border-color:#ff8a80}#topbar .btn-danger:hover{background:#ff8a801f}.btn-sm{padding:5px 10px;font-size:12px}.icon-btn{background:none;border:none;color:var(--muted);font-size:15px;padding:4px 6px;border-radius:5px}.icon-btn:hover{background:var(--sand);color:var(--charcoal)}#app{max-width:960px;margin:0 auto;padding:28px 20px 100px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.card-pad{padding:20px 22px}#headerCard{background:linear-gradient(135deg,var(--ink) 0%,var(--court-dark) 100%);color:#fff;padding:22px 26px;position:relative}#headerCard:after{content:"";position:absolute;top:0;right:0;bottom:0;width:6px;background:var(--accent)}.header-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:14px}.field-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#ffffff8c;margin-bottom:5px;display:block;font-weight:600}#headerCard input[type=text],#headerCard input[type=date],#headerCard input[type=time]{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:8px 10px;font-size:14px}#headerCard input::placeholder{color:#fff6}#headerCard input:focus{outline:none;border-color:var(--accent);background:#ffffff21}.title-input{font-family:Oswald,sans-serif;font-size:24px!important;letter-spacing:.02em;text-transform:uppercase;padding:8px 10px!important}.summary-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}.chip{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:6px 12px;border-radius:20px;font-size:12.5px;font-family:JetBrains Mono,monospace;font-weight:700;display:inline-flex;align-items:center;gap:6px}.section-head{background:var(--court);color:#fff;padding:12px 18px;display:flex;align-items:center;gap:10px}.section-head input{background:transparent;border:none;color:#fff;font-family:Oswald,sans-serif;font-size:16px;text-transform:uppercase;letter-spacing:.03em;width:auto;flex:1;min-width:100px;padding:2px 4px;border-radius:4px}.section-head input:focus{outline:none;background:#ffffff24}.time-chip{background:var(--accent);color:#fff;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;padding:5px 10px;border-radius:5px;white-space:nowrap}.section-actions{display:flex;gap:2px}.section-actions button{color:#ffffffbf}.section-actions button:hover{background:#ffffff26;color:#fff}table.drills{width:100%;border-collapse:collapse}table.drills thead th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 14px 6px;font-weight:700}table.drills td{padding:6px 14px;vertical-align:middle}table.drills tbody tr{border-top:1px solid var(--line)}table.drills tbody tr:hover{background:#fafafa}.drill-name-input,.focus-input{width:100%;border:1px solid transparent;background:transparent;padding:7px 8px;border-radius:6px;font-size:13.5px;color:var(--charcoal)}.drill-name-input{font-weight:600}.drill-name-input:hover,.focus-input:hover{border-color:var(--line)}.drill-name-input:focus,.focus-input:focus{outline:none;border-color:var(--court);background:#fff}.dur-input{width:56px;border:1px solid var(--line);background:#fff;padding:6px 4px;border-radius:6px;text-align:center;font-family:JetBrains Mono,monospace;font-size:13px}.dur-input:focus{outline:none;border-color:var(--court)}.time-cell{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#fff;background:var(--ink);padding:5px 9px;border-radius:5px;white-space:nowrap;display:inline-block}.row-remove{color:var(--muted)}.row-remove:hover{color:var(--danger);background:#c6282814}.empty-row{padding:16px 18px;color:var(--muted);font-size:13px;font-style:italic}.add-drill-row{padding:10px 14px 16px;display:flex;gap:8px;flex-wrap:wrap;position:relative}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}@media (max-width:760px){.split,.header-grid{grid-template-columns:1fr}}.panel-title{font-size:13px;letter-spacing:.06em;color:var(--court);margin:0 0 12px;display:flex;align-items:center;gap:8px}.panel-title .bar{width:4px;height:14px;background:var(--accent);border-radius:2px;display:inline-block}.poe-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.poe-row input{flex:1;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:13.5px}.poe-row input:focus{outline:none;border-color:var(--court)}.roster-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center}.roster-row input{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:13.5px}.roster-row input:focus{outline:none;border-color:var(--court)}.roster-row input.athlete{font-weight:600}.add-link{background:none;border:none;color:var(--court);font-size:12.5px;font-weight:600;padding:6px 2px;display:inline-flex;align-items:center;gap:5px}.add-link:hover{text-decoration:underline}.court-block{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:14px;background:var(--sand)}.court-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.court-head input{flex:1;border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:13.5px;font-weight:600}.court-head input:focus{outline:none;border-color:var(--court)}.court-type{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.court-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.court-tools .sep{width:1px;height:22px;background:var(--line);margin:0 2px}.tool-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;color:var(--charcoal);cursor:pointer}.tool-btn:hover{border-color:var(--court)}.tool-btn.active{background:var(--court);color:#fff;border-color:var(--court)}.color-dot{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}.color-dot.active{box-shadow:0 0 0 2px var(--ink)}.court-label-input{width:54px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;font-size:12px;text-align:center}.court-svg{display:block;width:100%;max-width:760px;background:#fff;border-radius:6px;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.court-svg.half{max-width:440px}.court-svg.tool-move{cursor:move}.court-svg.tool-erase{cursor:not-allowed}.court-save-btn{white-space:nowrap}.diagram-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:56vh;overflow-y:auto;padding:2px}.diagram-lib-item{border:1.5px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;background:#fff;transition:border-color .1s ease,background .1s ease;display:flex;flex-direction:column;gap:8px}.diagram-lib-item:hover{border-color:var(--court);background:#f5f6fc}.diagram-lib-item .court-svg{cursor:pointer;max-width:100%;border:1px solid var(--line)}.diagram-lib-item .court-svg.half{max-width:62%;margin:0 auto}.diagram-lib-meta{display:flex;align-items:center;gap:6px}.diagram-lib-name{flex:1;font-weight:700;font-size:13.5px;line-height:1.3;word-break:break-word}.diagram-lib-type{font-size:10px;text-transform:uppercase;color:var(--court);font-weight:700;background:#ecedf8;padding:2px 7px;border-radius:4px;white-space:nowrap}#addSectionBtn{width:100%;padding:14px;border:2px dashed var(--court);border-radius:var(--radius);background:transparent;color:var(--court);font-weight:700;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}#addSectionBtn:hover{background:#2833990f}.picker-cat-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.picker-cat-chip{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.picker-cat-chip:hover{border-color:var(--court);color:var(--court)}.picker-cat-chip.active{background:var(--court);border-color:var(--court);color:#fff}.picker-modal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;max-height:48vh;overflow-y:auto;padding:2px}.picker-modal-item{border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .1s ease,background .1s ease}.picker-modal-item:hover{border-color:var(--court);background:#f5f6fc}.picker-modal-item .pn{font-weight:700;font-size:14px;margin-bottom:4px}.picker-modal-item .pm{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:8px;min-height:17px}.picker-cat{font-size:10px;text-transform:uppercase;color:var(--court);font-weight:700;background:#ecedf8;padding:2px 8px;border-radius:4px;display:inline-block}.picker-dur{font-size:11px;color:var(--muted);font-family:JetBrains Mono,monospace;float:right}.picker-empty{padding:30px 14px;font-size:13px;color:var(--muted);text-align:center;grid-column:1/-1}.picker-modal-footer{padding:12px 22px;border-top:1px solid var(--line);background:var(--sand)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a3c588c;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.modal-overlay.open{display:flex}.modal{background:#fff;border-radius:12px;max-width:720px;width:100%;overflow:hidden}.modal-head{background:var(--ink);color:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:17px;color:#fff}.modal-body{padding:18px 22px;max-height:70vh;overflow-y:auto}.close-x{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1}.lib-form{display:grid;grid-template-columns:1.4fr 1fr .7fr auto;gap:8px;margin-bottom:16px;align-items:end}.lib-form label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:4px;font-weight:700}.lib-form input,.lib-form select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 9px;font-size:13px}.lib-table{width:100%;border-collapse:collapse;margin-top:6px}.lib-table th{text-align:left;font-size:10.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em;padding:6px 8px;border-bottom:2px solid var(--line)}.lib-table td{padding:8px;border-bottom:1px solid #EEEEEE;font-size:13px;vertical-align:top}.lib-table .cat-tag{font-size:10.5px;background:#ecedf8;color:var(--court);padding:2px 7px;border-radius:4px;font-weight:700;text-transform:uppercase}.lib-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.lib-sortable:hover{color:var(--court)}.sort-arrow{display:inline-block;width:10px;font-size:10px;margin-left:2px}.lib-cat-input{width:100%;border:1px solid transparent;padding:4px;border-radius:4px;font-size:12.5px;color:var(--court);font-weight:700;text-transform:uppercase;background:#ecedf8}.lib-cat-input:hover{border-color:var(--line)}.lib-cat-input:focus{border-color:var(--court);text-transform:none;outline:none}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:all .25s ease;z-index:200;border:1px solid var(--accent)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#printView{display:none}@media print{#topbar,.no-print,#addSectionBtn,.add-drill-row,.section-actions,.row-remove,.strike-toggle{display:none!important}body{background:#fff}#app{display:none!important}#printView{display:block!important;max-width:100%;padding:0;margin:0;font-family:Calibri,Segoe UI,Arial,sans-serif;color:#000;font-size:12px}.p-outer{border:4px double #000;padding:14px}.p-header{border:1.5px solid #000;padding:8px 14px;margin-bottom:10px;text-align:center}.p-title{font-size:16px;font-weight:700;text-decoration:underline;margin:0}.p-body{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}.p-box{border:1.5px solid #000;padding:8px 12px;margin-bottom:12px}.p-box h3{font-size:12.5px;font-weight:700;margin:0 0 6px;text-transform:none;letter-spacing:normal;font-family:Calibri,Segoe UI,Arial,sans-serif}.p-poe{margin:0;padding:0;list-style:none;font-size:12px;line-height:1.85}.p-section-title{border:1.5px solid #000;padding:6px 10px;text-align:center;font-weight:700;font-size:12.5px;margin-bottom:0}.p-section{margin-bottom:14px;page-break-inside:avoid}.p-table{width:100%;border-collapse:collapse;border:1.5px solid #000;border-top:none}.p-table th{text-align:left;font-style:italic;font-weight:400;font-size:12px;padding:4px 10px;border-bottom:3px double #000}.p-table td{padding:3px 10px;font-size:12px;vertical-align:top}.p-table td.pt-time{white-space:nowrap;font-style:italic}.p-roster-box table{width:100%;border-collapse:collapse;font-size:12px}.p-roster-box th{text-align:left;font-weight:700;font-size:12px;border-bottom:3px double #000;padding:2px 6px 5px}.p-roster-box td{padding:2px 6px;line-height:1.7}.p-struck{text-decoration:line-through}.p-court{page-break-inside:avoid;margin-top:4px}.p-court svg{display:block;width:100%;height:auto}.p-court svg.half{width:62%;margin:0 auto}.p-court-title{font-weight:700;font-size:12px;margin:0 0 3px}.p-court+.p-court{margin-top:10px}@page{size:landscape;margin:10mm}}.muted{color:var(--muted)}.center{text-align:center;margin-top:30vh}.auth{max-width:380px;margin:12vh auto 0;display:flex;flex-direction:column;gap:10px;padding:24px}.auth h1{color:var(--ink);margin:0}.auth input,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 10px;font-size:14px}.auth .btn{justify-content:center}.msg{color:var(--danger);font-size:13px;margin:0}.link-btn{background:none;border:none;color:var(--court);font-size:13px;font-weight:600;padding:6px}#headerCard select,#headerCard textarea{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:8px 10px;font-size:14px}#headerCard select option{color:#000}.visibility-note{font-size:12px;color:#ffffffb3;margin-top:6px}.pill{font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:#eceff3;color:var(--muted)}.pill.public{background:#dcfce7;color:#166534}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.list-head h2{margin:0;color:var(--ink)}.header-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:760px){.header-grid-4{grid-template-columns:1fr 1fr}}#topbar .brand{margin-right:0;color:#fff;text-decoration:none}.top-nav{display:flex;gap:2px;margin-right:auto}.top-nav a{color:#ffffffb3;text-decoration:none;font-size:13.5px;font-weight:600;padding:7px 12px;border-radius:6px}.top-nav a:hover{color:#fff;background:#ffffff12}.top-nav a.active{color:#fff;background:#ffffff1f;box-shadow:inset 0 -2px 0 var(--accent)}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#app.wide{max-width:1120px}.seg{display:inline-flex;background:#e6e8ec;border-radius:8px;padding:3px}.seg button{border:none;background:none;padding:6px 14px;font-size:13px;font-weight:600;color:var(--muted);border-radius:6px}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00000014}.empty-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.empty-card p{margin:0;color:var(--muted)}.empty-card .btn{text-decoration:none}.browse-head h2{margin:0;color:var(--ink)}.browse-head p{margin:6px 0 18px}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px}.filters input,.filters select{border:1px solid var(--line);border-radius:6px;padding:9px 10px;font-size:14px;background:#fff;color:var(--charcoal)}.filters select{flex:0 1 auto}.filters input:focus,.filters select:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 3px #2833991f}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plan-card{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--charcoal);border-top:4px solid var(--court);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.plan-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px #2a3c5880;border-top-color:var(--accent)}.plan-card h3{margin:0;font-size:19px;color:var(--ink);line-height:1.15}.pc-desc{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:20px}.pc-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:4px;background:#ecedf8;color:var(--court)}.pc-tag.alt{background:#f1f2f4;color:var(--charcoal)}.pc-tag.mine{background:#fdecec;color:var(--accent)}.pc-tag.sub{background:#dcfce7;color:#166534}.pc-foot{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;gap:10px;font-size:12.5px}.pc-coach{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-stats{display:flex;gap:10px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;white-space:nowrap;margin-left:auto}.view-head h2,.view-head p{color:#fff}.vh-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.vh-tags{display:flex;gap:6px;flex-wrap:wrap}.view-head .pc-tag{background:#ffffff1f;color:#fff}.vh-version{font-family:JetBrains Mono,monospace;font-size:12px;color:#fff9}.vh-title{font-size:32px;margin:12px 0 6px;line-height:1.05}.vh-desc{margin:0 0 12px;color:#fffc!important;font-size:15px;line-height:1.5;max-width:640px}.vh-coach{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;margin:6px 0 14px;padding:6px 12px 6px 6px;border-radius:999px;background:#ffffff14}.vh-coach:hover{background:#ffffff24}.vh-coach strong{display:block;font-size:14px}.vh-coach small{display:block;font-size:12px;color:#fff9}.vh-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vh-spacer{flex:1}.vh-start{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.06em}.vh-start input{width:auto!important;padding:5px 8px!important}.view-head .btn-accent{background:#fff;color:var(--accent)}.view-head .btn-accent:hover{filter:none;background:#fdecec}.view-poe{margin:0;padding-left:20px;line-height:1.8}.view-sec-title{margin:0;font-size:16px;flex:1;color:#fff}.view-drills td{padding:11px 14px;font-size:14px;border-top:1px solid var(--line);vertical-align:top}.view-courts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.view-court{margin:0}.view-court svg{width:100%;height:auto;display:block}.view-court figcaption{font-size:13px;font-weight:600;color:var(--ink);margin-top:6px}.profile-head{display:flex;align-items:center;gap:20px;padding:24px;flex-wrap:wrap;border-top:4px solid var(--accent)}.ph-main{flex:1;min-width:220px}.ph-main h2{margin:0;color:var(--ink);font-size:28px}.ph-main p{margin:4px 0 6px}.ph-stats{display:flex;gap:8px}.ph-stats div{background:var(--sand);border-radius:8px;padding:10px 16px;text-align:center;min-width:92px}.ph-stats b{display:block;font-family:Oswald,sans-serif;font-size:22px;color:var(--ink);font-weight:600}.ph-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.profile-sub{color:var(--ink);margin:8px 0 14px;font-size:18px}@media (max-width:760px){.top-nav{order:3;width:100%;margin:0}#topbar .brand{margin-right:auto}.vh-title{font-size:26px}.ph-stats{width:100%}.ph-stats div{flex:1;min-width:0}}.vh-credit{margin:0 0 10px;font-size:13.5px;color:#ffffffbf}.vh-credit a{color:#fff;font-weight:600}.vh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:4px 0 16px;max-width:520px}.vh-stats div{background:#ffffff12;border-radius:8px;padding:9px 12px}.vh-stats b{display:block;font-family:JetBrains Mono,monospace;font-size:18px;color:#fff}.vh-stats span{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;font-weight:600}.vh-myruns{margin:12px 0 0;font-size:12.5px;color:#ffffffa6}.view-head .btn-outline:disabled{opacity:.6;cursor:default}.run-q{margin:0 0 14px;font-size:15px}.stars{display:flex;gap:4px}.stars button{background:none;border:none;font-size:34px;line-height:1;color:#d6d8dd;padding:2px;transition:transform .1s ease,color .1s ease}.stars button.on{color:#f5b400}.stars button:hover{transform:scale(1.12)}.run-label{margin:8px 0 0;font-size:13px;color:var(--muted);min-height:18px}.run-note{margin:14px 0 0;font-size:12.5px;color:var(--muted);background:var(--sand);padding:10px 12px;border-radius:8px}.run-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 22px;border-top:1px solid var(--line);background:var(--sand)}.top-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.top-head h2{margin:0;color:var(--ink)}.top-head p{margin:6px 0 0;max-width:520px}.age-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.age-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--muted)}.age-tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff}.top-note{font-size:13.5px;margin:0 0 12px}.top-list{list-style:none;margin:0;padding:6px}.top-list li{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:12px 10px;border-radius:8px}.top-list li+li{border-top:1px solid var(--line)}.top-list li.is-first{background:linear-gradient(90deg,#FDECEC,transparent 70%);box-shadow:inset 3px 0 0 var(--accent)}.top-rank{font-family:Oswald,sans-serif;font-size:26px;font-weight:700;color:#b5b8bf;text-align:center}.is-first .top-rank{color:var(--accent)}.top-main{text-decoration:none;color:inherit;min-width:0}.top-main b{display:block;font-size:15.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-main:hover b{color:var(--court);text-decoration:underline}.top-main small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-coach{font-weight:600;color:var(--charcoal)}.top-score,.top-subs{text-align:right;min-width:64px}.top-score b,.top-subs b{display:block;font-family:JetBrains Mono,monospace;font-size:18px;color:var(--ink)}.top-score b{color:var(--accent)}.top-score small,.top-subs small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}@media (max-width:760px){.vh-stats{grid-template-columns:repeat(2,1fr)}.top-list li{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}.top-list .top-subs,.top-list .pc-tag{display:none}.top-rank{font-size:20px}}.me-chip{display:grid;grid-template-columns:auto auto;column-gap:8px;row-gap:4px;align-items:baseline;text-decoration:none;padding:6px 12px 7px;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.me-chip:hover{background:#ffffff24}.me-level{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;color:#fff;font-weight:600}.me-pts{font-family:JetBrains Mono,monospace;font-size:11.5px;color:#ffd27a;font-weight:700;text-align:right}.me-bar{grid-column:1/3;height:3px;border-radius:3px;background:#ffffff26;overflow:hidden}.me-bar span{display:block;height:100%;background:linear-gradient(90deg,#FFD27A,var(--accent))}.rewards{display:grid;grid-template-columns:1.2fr 1fr;gap:0;margin-bottom:24px}.rewards>div{padding:20px 22px}.rw-level{grid-row:span 2;border-right:1px solid var(--line)}.rw-level-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.rw-level-name{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:26px;color:var(--ink);font-weight:600;letter-spacing:.03em}.rw-level-pts{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent);font-size:16px}.rw-ladder{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.rw-ladder span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:12px;font-weight:700;color:#a2a5ac;text-transform:uppercase;letter-spacing:.04em}.rw-ladder i{width:12px;height:12px;border-radius:50%;background:#dadce1;margin-bottom:4px}.rw-ladder small{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;color:#b5b8bf}.rw-ladder .done{color:var(--court)}.rw-ladder .done i{background:var(--court)}.rw-ladder .now{color:var(--accent)}.rw-ladder .now i{background:var(--accent);box-shadow:0 0 0 3px #fdecec}.rw-bar{height:8px;border-radius:8px;background:#ecedf2;overflow:hidden}.rw-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--court),var(--accent));transition:width .4s ease}.rw-next{font-size:13px;margin:8px 0 0}.rw-head{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:var(--ink);font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between}.rw-head .muted{font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500}.rw-badges{border-bottom:1px solid var(--line)}.rw-badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rw-badge{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:default}.rw-hex{display:grid;place-items:center;width:44px;height:50px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#ecebe6;color:#b5b3ac;font-family:Oswald,sans-serif;font-weight:700;font-size:15px}.rw-badge.on .rw-hex{background:linear-gradient(160deg,var(--court),var(--ink));color:#ffd27a}.rw-badge small{font-size:10.5px;font-weight:600;color:var(--muted);line-height:1.2}.rw-badge.on small{color:var(--ink)}.rw-ledger ul{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.rw-ledger li{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:7px 0;font-size:13.5px}.rw-ledger li+li{border-top:1px dashed var(--line)}.rw-pts{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent);background:#fdecec;border-radius:6px;text-align:center;padding:3px 0;font-size:12.5px}.rw-ledger small{font-size:11.5px;color:var(--muted)}.rewards:not(:has(.rw-ledger)) .rw-badges{border-bottom:none}@media (max-width:760px){.rewards{grid-template-columns:1fr}.rw-level{border-right:none;border-bottom:1px solid var(--line)}.rw-ladder span{font-size:10px}.me-chip{display:none}}.lock-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 24px;border:1.5px dashed #C9CDD8;background:linear-gradient(180deg,#fff,#f7f8fb)}.lock-icon{width:48px;height:48px;border-radius:12px;background:var(--ink);display:grid;place-items:center;font-size:20px}.lock-body h3{margin:0 0 6px;color:var(--ink);font-size:18px}.lock-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.lock-list{margin:0 0 8px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.lock-list li{font-size:12.5px;font-weight:600;color:var(--ink);background:#ecedf8;padding:4px 10px;border-radius:999px}.lock-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}.lock-actions .btn{justify-content:center}.coach-main{display:flex;align-items:center;gap:12px}.coach-text{min-width:0}.lvl-pill{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--court);background:#ecedf8;padding:2px 7px;border-radius:4px}@media (max-width:760px){.lock-card{grid-template-columns:1fr;text-align:left}.lock-icon{display:none}}@media screen{body{background:var(--sand);color:var(--charcoal)}h1,h2,h3,.display{font-family:var(--display);text-transform:none;letter-spacing:-.02em}#topbar{background:#ffffffe6;-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);color:var(--deep);border-bottom:1px solid var(--line);padding:10px 24px;min-height:64px;gap:18px}#topbar .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep);margin-right:4px}.brand-mark{width:26px;height:26px;flex:none}.brand-mark rect{fill:var(--deep)}.brand-mark line{stroke:#fff;stroke-width:2;stroke-linecap:round}.brand-mark line.thin{stroke:#d0101a;stroke-width:1.6}.brand-name{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em}.top-nav a{color:var(--muted);font-weight:500;font-size:14px;padding:7px 12px;border-radius:8px}.top-nav a:hover{color:var(--deep);background:var(--sand)}.top-nav a.active{color:var(--deep);background:var(--sand);box-shadow:none;font-weight:600}.btn{border-radius:9px;font-size:13.5px;padding:8px 14px}.btn-sm{padding:6px 11px;font-size:12.5px}.btn-accent{background:var(--accent)}.btn-accent:hover{filter:none;background:#d0101a}.btn-outline{background:#fff;color:var(--deep);border:1px solid var(--line)}.btn-outline:hover{background:var(--sand);border-color:#cdd1db}#headerCard .btn-outline{background:transparent;color:#fff;border-color:#ffffff4d}#headerCard .btn-outline:hover{background:#ffffff14;border-color:#fff}.btn-danger,#topbar .btn-danger{color:var(--danger);border-color:#f1c4c4;background:#fff}.btn-danger:hover,#topbar .btn-danger:hover{background:#fdecec}.btn-ghost{background:#fff}.link-btn{color:var(--court)}.me-chip{background:var(--sand);border:1px solid var(--line)}.me-chip:hover{background:#fff;border-color:#cdd1db}.me-level{font-family:var(--display);text-transform:none;letter-spacing:-.01em;color:var(--deep);font-size:13px}.me-pts{color:var(--accent)}.me-bar{background:#e3e6ee}.me-bar span{background:linear-gradient(90deg,var(--court),var(--accent))}#app{padding-top:36px}.card{border-radius:var(--radius);border-color:var(--line);box-shadow:0 1px 2px #0e1a3308}.list-head h2,.top-head h2,.browse-head h2{font-size:30px;font-weight:700;color:var(--deep)}.profile-sub{font-size:20px;font-weight:600;color:var(--deep)}#headerCard{background:radial-gradient(500px 220px at 100% 0%,rgba(208,16,26,.18),transparent 70%),linear-gradient(135deg,#22305A 0%,var(--deep) 100%);border:none;padding:24px 28px;border-radius:18px}#headerCard:after{display:none}.title-input{font-family:var(--display)!important;text-transform:none!important;letter-spacing:-.02em!important;font-weight:700;font-size:26px!important}.field-label{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:#fff9}#headerCard input[type=text],#headerCard input[type=date],#headerCard input[type=time],#headerCard select,#headerCard textarea{background:#ffffff12;border-color:#ffffff29;border-radius:9px}#headerCard input:focus,#headerCard select:focus,#headerCard textarea:focus{outline:none;border-color:#ffffff8c;background:#ffffff1c}.chip{background:#ffffff1a;border-color:transparent;font-size:12px;padding:5px 11px}.chip:first-child{background:var(--accent)}.vh-title{font-size:32px;font-weight:700}.vh-start{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500}.vh-stats span{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.view-head .pc-tag{background:#ffffff1f}.section-head{background:#fff;color:var(--deep);border-bottom:1px solid var(--line);padding:12px 18px;box-shadow:inset 4px 0 0 var(--court)}.section-head input{color:var(--deep);font-family:var(--display);text-transform:none;letter-spacing:-.01em;font-size:17px;font-weight:600}.section-head input::placeholder{color:var(--faint)}.section-head input:focus{background:var(--sand)}.view-sec-title{color:var(--deep);font-size:17px;font-weight:600}.time-chip{background:#fdecec;color:var(--accent)}.section-actions button{color:var(--faint)}.section-actions button:hover{background:var(--sand);color:var(--deep)}table.drills thead th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--faint)}.time-cell{background:#eef0f7;color:var(--deep)}.panel-title{font-family:var(--display);font-size:16px;font-weight:600;color:var(--deep);letter-spacing:-.01em}.panel-title .bar{width:3px;height:16px}#addSectionBtn{text-transform:none;letter-spacing:0;border:1.5px dashed #C9CDD8;color:var(--muted);background:#fff;font-size:14px;font-weight:600}#addSectionBtn:hover{border-color:var(--court);color:var(--court);background:#fff}.court-block{background:#fff;border-radius:12px}.tool-btn{border-radius:8px}.tool-btn.active{background:var(--deep);border-color:var(--deep)}.modal-overlay{background:#0e1a3373;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{border-radius:16px;box-shadow:0 30px 60px -20px #0e1a3373}.modal-head{background:#fff;color:var(--deep);border-bottom:1px solid var(--line)}.modal-head h2{color:var(--deep);font-size:19px;font-weight:600}.close-x{color:var(--faint)}.close-x:hover{color:var(--deep)}.lib-form label,.lib-table th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}#toast{background:var(--deep);border:none;border-radius:10px;box-shadow:0 12px 30px -10px #0e1a3380}.pill,.pc-tag,.lvl-pill,.picker-cat,.diagram-lib-type,.lib-table .cat-tag{text-transform:none;letter-spacing:0}.pill{font-size:12px;font-weight:600}.pc-tag{font-size:11.5px;font-weight:600}.plan-card{border:1px solid var(--line);border-radius:14px;padding:20px}.plan-card:hover{transform:none;border-color:#cdd1db;border-top-color:#cdd1db;box-shadow:0 14px 30px -20px #0e1a3359}.plan-card h3{font-size:18px;font-weight:600;color:var(--deep)}.filters{border-radius:14px}.filters input,.filters select{border-radius:9px}.seg{background:#e9ebf1;border-radius:10px}.seg button{border-radius:8px}.age-tabs button{font-weight:500}.age-tabs button.on{background:var(--deep);border-color:var(--deep)}.top-rank{font-family:var(--display);font-weight:700}.top-score small,.top-subs small{text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:500}.profile-head{border-top:1px solid var(--line)}.ph-main h2{font-size:30px;font-weight:700;color:var(--deep)}.ph-stats b{font-family:var(--display);font-weight:700;color:var(--deep)}.ph-stats span{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.rw-level-name{font-family:var(--display);text-transform:none;letter-spacing:-.02em;font-weight:700}.rw-head{font-family:var(--display);text-transform:none;letter-spacing:-.01em;font-size:16px;color:var(--deep)}.rw-ladder span{text-transform:none;letter-spacing:0;font-weight:600}.rw-hex{font-family:var(--display)}.lock-icon{background:var(--deep)}}@media screen and (max-width:760px){#topbar{padding:10px 16px;gap:10px}.top-nav{order:3;width:100%;overflow-x:auto}.top-nav a{white-space:nowrap}.list-head h2,.top-head h2,.browse-head h2{font-size:24px}}@media screen{.pc-tags:empty{display:none}}@media screen{.bz-search{position:relative;display:flex;align-items:center;margin:4px 0 22px}.bz-search svg{position:absolute;left:16px;width:20px;height:20px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;pointer-events:none}.bz-search input{width:100%;font-size:16px;padding:15px 44px 15px 46px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--charcoal);box-shadow:0 1px 2px #0e1a330a;transition:border-color .15s ease,box-shadow .15s ease}.bz-search input::placeholder{color:#a6acba}.bz-search input:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 4px #2833991f}.bz-search input::-webkit-search-cancel-button{display:none}.bz-clear-q{position:absolute;right:10px;width:28px;height:28px;border-radius:50%;border:none;background:var(--sand);color:var(--muted);font-size:12px;cursor:pointer}.bz-clear-q:hover{background:#e9ebf1;color:var(--deep)}.bz-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.bz-filters{position:sticky;top:84px;display:flex;flex-direction:column;gap:22px}.bz-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.bz-group-head span{font-family:var(--display);font-weight:600;font-size:15px;color:var(--deep);letter-spacing:-.01em}.bz-group-head .link-btn{font-size:12.5px;padding:0}.bz-chips{display:flex;flex-wrap:wrap;gap:6px}.bz-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;color:var(--charcoal);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.bz-chip:hover{border-color:#c9cdd8}.bz-chip.on{background:var(--deep);border-color:var(--deep);color:#fff}.bz-chip span{font-size:11px}.bz-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:36px}.bz-filter-toggle{display:none}.bz-count{font-size:14px;font-weight:600;color:var(--deep)}.bz-sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.bz-sort select{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:13.5px;background:#fff;color:var(--charcoal)}.bz-active{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px}.bz-pill{display:inline-flex;align-items:center;gap:7px;border:none;background:#ecedf8;color:var(--court);font-size:12.5px;font-weight:600;padding:5px 8px 5px 11px;border-radius:999px;cursor:pointer}.bz-pill span{font-size:10px;opacity:.7}.bz-pill:hover{background:#dfe1f3}.bz-results .plan-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.bz-stale{opacity:.55;transition:opacity .15s ease}.bz-skeleton{min-height:170px;background:linear-gradient(90deg,#fff,#f1f2f6,#fff);background-size:200% 100%;animation:bz-shimmer 1.2s linear infinite}@keyframes bz-shimmer{to{background-position:-200% 0}}.bz-more{display:flex;justify-content:center;margin-top:22px}.pc-match{margin:0;font-size:12.5px;color:var(--muted)}.pc-match b{color:var(--court);font-weight:600}}@media screen and (max-width:860px){.bz-layout{grid-template-columns:1fr;gap:0}.bz-filters{position:static;display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}.bz-filters.open{display:flex}.bz-filter-toggle{display:inline-flex}.bz-search input{font-size:15px}}@media (prefers-reduced-motion:reduce){.bz-skeleton{animation:none}}@media screen{.field-label .req{color:#ff8a80;font-weight:700}#headerCard select.invalid{border-color:#ff8a80;box-shadow:0 0 0 3px #ff8a8040}#headerCard select option[disabled]{color:#888}}@media screen{.pro-head{align-items:flex-start;padding:28px}.pro-tagline{margin:4px 0 0;font-size:16px;font-weight:600;color:var(--court)}.pro-meta{margin:6px 0 0;font-size:14px;color:var(--muted)}.pro-best{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}.pro-best span{font-size:12.5px;font-weight:600;color:var(--faint);margin-right:2px}.pro-best i{font-style:normal;font-size:12.5px;font-weight:600;color:var(--deep);background:#ecedf8;padding:4px 11px;border-radius:999px}.pro-edit{margin-top:16px}.pro-checklist{padding:22px 24px;display:flex;flex-direction:column;gap:14px;border:1px dashed #C9CDD8;background:linear-gradient(180deg,#fff,#fafbfd)}.pro-check-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.pro-check-head h3{margin:0;font-size:18px;font-weight:600;color:var(--deep)}.pro-check-head p{margin:4px 0 0;font-size:14px}.pro-check-count{font-family:JetBrains Mono,monospace;font-weight:700;font-size:14px;color:var(--deep);background:var(--sand);padding:5px 10px;border-radius:8px}.pro-check-bar{height:6px;border-radius:6px;background:#e9ebf1;overflow:hidden}.pro-check-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--court),var(--accent));border-radius:inherit}.pro-check-items{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--muted)}.pro-check-items .done{color:#1e6b3e}.pro-checklist .btn{align-self:flex-start}.pro-about{display:grid;grid-template-columns:1.3fr 1fr;gap:0}.pro-bio{padding:22px 24px}.pro-bio h3{margin:0 0 10px;font-size:18px;font-weight:600;color:var(--deep)}.pro-bio p{margin:0;font-size:15px;line-height:1.65;color:var(--charcoal);white-space:pre-line}.pro-facts{margin:0;padding:18px 24px;border-left:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-content:start}.pro-facts dt{font-size:12px;font-weight:500;color:var(--faint);margin-bottom:3px}.pro-facts dd{margin:0;font-size:14.5px;font-weight:600;color:var(--deep)}.pe-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.pe-field{display:flex;flex-direction:column;gap:6px}.pe-field>span{font-size:13px;font-weight:600;color:var(--deep);display:flex;justify-content:space-between}.pe-field em{font-style:normal;font-weight:500;color:var(--faint)}.pe-field input,.pe-field select,.pe-field textarea{width:100%;border:1px solid #D7DAE2;border-radius:9px;padding:10px 12px;font-size:14.5px;font-family:inherit;color:var(--charcoal);background:#fff}.pe-field textarea{resize:vertical;line-height:1.5}.pe-field input:focus,.pe-field select:focus,.pe-field textarea:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 3px #2833991f}.pe-wide{grid-column:1/-1}.pe-assoc{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:center}.pe-assoc-add{align-self:flex-start}@media (max-width:520px){.pe-assoc{grid-template-columns:1fr auto}.pe-assoc input{grid-column:1/-1;grid-row:2}}.pe-note{margin:0;font-size:12.5px;color:var(--muted);background:var(--sand);padding:10px 12px;border-radius:8px}.pe-msg{margin-right:auto}}@media screen and (max-width:760px){.pro-head{padding:20px}.pro-about{grid-template-columns:1fr}.pro-facts{border-left:none;border-top:1px solid var(--line)}.pe-form{grid-template-columns:1fr}}@media screen{.coach-list .top-main b .lvl-pill{margin-left:8px;vertical-align:2px}.coach-list .coach-tagline{color:var(--court);font-weight:600}.coach-best{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.coach-best i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--deep);background:var(--sand);border:1px solid var(--line);padding:2px 8px;border-radius:999px}.coach-list li{align-items:start}.coach-list .top-rank,.coach-list .top-score,.coach-list .top-subs{padding-top:6px}}.dlg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0e1a3373;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:dlg-fade .12s ease}.dlg{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 30px 60px -20px #0e1a3380;animation:dlg-pop .16s ease}.dlg h2{margin:0 0 8px;font-size:19px;font-weight:700;color:var(--deep);font-family:var(--display);letter-spacing:-.02em;text-transform:none}.dlg p{margin:0 0 4px;font-size:14.5px;line-height:1.55;color:var(--muted)}.dlg-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fdecec;color:var(--accent);margin-bottom:14px}.dlg-input{width:100%;margin-top:12px;border:1px solid #D7DAE2;border-radius:10px;padding:11px 13px;font-size:15px;font-family:inherit}.dlg-input:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 3px #2833991f}.dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dlg-actions .btn{padding:9px 16px;font-size:14px}.btn-danger-solid{background:var(--danger);color:#fff;border:none}.btn-danger-solid:hover{background:var(--danger-dark)}@keyframes dlg-fade{0%{opacity:0}}@keyframes dlg-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}@media (prefers-reduced-motion:reduce){.dlg-overlay,.dlg{animation:none}}@media screen{.ed-bar{position:sticky;top:64px;z-index:45;background:#f6f7faeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.ed-bar-inner{max-width:1240px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:8px}.ed-bar-title{font-family:var(--display);font-weight:600;font-size:15px;color:var(--deep);letter-spacing:-.01em;margin-left:6px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-status{font-size:12.5px;color:var(--faint);white-space:nowrap}.ed-status.dirty{color:var(--accent);font-weight:600}.ed-status.dirty:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:1px}.ed-bar-spacer{flex:1}.ed-run{color:var(--court)!important;font-weight:700}.ed-show-sm{display:none}.more-menu{position:relative}.more-pop{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 20px 40px -16px #0e1a3359;z-index:60;display:flex;flex-direction:column}.more-pop button{text-align:left;background:none;border:none;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--charcoal);cursor:pointer}.more-pop button:hover{background:var(--sand)}.more-pop button.danger{color:var(--danger)}.more-pop hr{border:none;border-top:1px solid var(--line);margin:4px 2px}#app.ed-app{max-width:1240px;padding-top:24px}.ed-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.ed-rail{position:sticky;top:132px}.ed-rail-card{padding:18px}.ed-rail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.ed-rail-head h3{margin:0;font-size:16px;font-weight:600;color:var(--deep)}.ed-rail-head span{font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:700;color:var(--accent)}.ed-tl{display:flex;gap:3px;height:34px}.ed-tl-seg{border:none;border-radius:6px;color:#fff;font-size:11px;font-weight:600;padding:0 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;text-align:left;transition:filter .12s ease,transform .12s ease}.ed-tl-seg:hover{filter:brightness(1.15);transform:translateY(-1px)}.ed-tl-seg span{display:block;overflow:hidden;text-overflow:ellipsis}.ed-tl-empty{font-size:13px;color:var(--faint);padding:8px 0}.ed-rail-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--faint);margin:8px 0 14px}.ed-rail-ends b{color:var(--deep);font-family:JetBrains Mono,monospace}.ed-outline{list-style:none;margin:0;padding:0;max-height:calc(100vh - 360px);overflow-y:auto;border-top:1px solid var(--line)}.ed-outline>li{padding:8px 0;border-bottom:1px solid var(--line)}.ed-outline-sec{display:grid;grid-template-columns:40px 1fr auto;gap:6px;align-items:baseline;width:100%;background:none;border:none;padding:2px 0;cursor:pointer;text-align:left}.ed-outline-sec:hover b{color:var(--court)}.ed-outline-sec b{font-size:13.5px;font-weight:600;color:var(--deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-outline .t{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--court);font-weight:700}.ed-outline .m{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--faint)}.ed-outline ul{list-style:none;margin:4px 0 0;padding:0}.ed-outline ul li{display:grid;grid-template-columns:40px 1fr auto;gap:6px;font-size:12.5px;color:var(--muted);padding:2px 0}.ed-outline ul .t{color:var(--faint);font-weight:500}.ed-outline .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-rail-run{width:100%;justify-content:center;margin-top:14px;color:var(--court);font-weight:700}.ed-tl-mobile{display:none;padding:12px}.panel-note{color:var(--faint);font-family:Inter,sans-serif;font-size:12.5px;font-weight:400;letter-spacing:0}.ed-sec{scroll-margin-top:140px;transition:box-shadow .15s ease,opacity .15s ease}.ed-sec.dragging,.ed-drills tr.dragging{opacity:.45}.ed-sec.drop-before{box-shadow:0 -3px 0 0 var(--court)}.ed-sec.drop-after{box-shadow:0 3px 0 0 var(--court)}.section-head{gap:8px}.drag-handle{cursor:grab;color:#b5b8bf;font-size:14px;letter-spacing:-3px;padding:4px 2px;-webkit-user-select:none;user-select:none;line-height:1}.drag-handle:hover{color:var(--deep)}.drag-handle:active{cursor:grabbing}.sec-toggle{transition:transform .15s ease;color:var(--faint);font-size:13px}.sec-toggle.open{transform:rotate(90deg)}.sec-range{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--faint);white-space:nowrap}.sec-collapsed{display:flex;justify-content:space-between;gap:16px;width:100%;border:none;background:#fff;padding:12px 18px 14px 44px;font-size:13.5px;color:var(--muted);text-align:left;cursor:pointer}.sec-collapsed span{color:var(--court);font-weight:600;white-space:nowrap}.sec-collapsed:hover{background:var(--sand)}.ed-drills .col-handle{width:34px;padding:6px 0 6px 10px}.ed-drills tr.drop-before td{box-shadow:inset 0 3px 0 0 var(--court)}.ed-drills tr.drop-into td{background:#eef0fa}.row-move{display:none}}@media screen and (max-width:1080px){.ed-layout{grid-template-columns:1fr}.ed-rail{display:none}.ed-tl-mobile{display:block}}@media (pointer:coarse){.drag-handle{display:none}.row-move{display:inline-flex;flex-direction:column;gap:0}.row-move .icon-btn{padding:0 4px;font-size:11px;line-height:1.4}}@media screen and (max-width:700px){.ed-bar{top:auto;position:sticky}.ed-bar-inner{padding:8px 12px;gap:6px;flex-wrap:wrap}.ed-bar-title,.ed-hide-sm{display:none}.more-pop .ed-show-sm{display:block}#app.ed-app{padding:16px 12px 100px}#headerCard{padding:18px}.header-grid,.header-grid-4{grid-template-columns:1fr 1fr!important;gap:10px}.header-grid>div:first-child{grid-column:1/-1}.section-head{flex-wrap:wrap;padding:10px 12px}.section-head input{min-width:0;flex:1 1 140px}.sec-range,.ed-drills thead{display:none}.ed-drills,.ed-drills tbody{display:block}.ed-drills tbody tr{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"handle name remove" "handle focus focus" "handle min time";gap:4px 8px;padding:10px 10px 12px 6px;border-top:1px solid var(--line)}.ed-drills tbody tr td{padding:0}.ed-drills td.col-handle{grid-area:handle;width:auto;padding:0}.ed-drills td[data-label=Drill]{grid-area:name}.ed-drills td[data-label=Focus]{grid-area:focus}.ed-drills td[data-label=Min]{grid-area:min;display:flex;align-items:center;gap:6px}.ed-drills td[data-label=Min]:before{content:"Min";font-size:12px;color:var(--faint)}.ed-drills td[data-label=Time]{grid-area:time;justify-self:end;align-self:center}.ed-drills tbody tr td:last-child{grid-area:remove}.ed-drills .empty-row{display:block;padding:14px}.ed-drills .drill-name-input{font-size:15px}.sec-collapsed{padding-left:16px;flex-direction:column;gap:4px}}@media screen{.btn:disabled{opacity:.45;cursor:default;filter:none}.btn:focus-visible{outline:2px solid var(--court);outline-offset:2px}#addSectionBtn{margin-bottom:20px}}@media screen and (max-width:1080px){.ed-layout{grid-template-columns:minmax(0,1fr)}}@media screen and (max-width:700px){.ed-status{display:none}.ed-main>*{min-width:0;max-width:100%}.court-block{overflow:hidden}.court-head{flex-wrap:wrap}.court-tools{gap:4px}.split{grid-template-columns:minmax(0,1fr)}.poe-row input,.roster-row input{min-width:0}}.cel-toast{position:fixed;top:76px;right:20px;z-index:250;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px 12px 12px;box-shadow:0 20px 40px -16px #0e1a3366;cursor:pointer;animation:cel-in .35s cubic-bezier(.2,.9,.3,1.3)}.cel-toast-pts{display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:12px;background:var(--accent);color:#fff;font-family:JetBrains Mono,monospace;font-weight:700;font-size:16px;animation:cel-pop .6s ease .15s both}.cel-toast b{display:block;font-size:14px;color:var(--deep)}.cel-toast small{display:block;font-size:12.5px;color:var(--muted)}@keyframes cel-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes cel-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.cel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#0e1a338c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:dlg-fade .2s ease}.cel-modal{position:relative;width:100%;max-width:400px;background:#fff;border-radius:22px;padding:36px 28px 24px;text-align:center;overflow:hidden;box-shadow:0 40px 80px -30px #0e1a3399;animation:dlg-pop .25s ease}.cel-badge{position:relative;z-index:1;display:grid;place-items:center;margin:0 auto 14px;width:84px;height:94px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--court),var(--deep));color:#ffd27a;font-family:var(--display);font-weight:700;font-size:28px;animation:cel-pop .7s ease both}.cel-badge.level{background:linear-gradient(160deg,#d0101a,#7a0010);color:#fff}.cel-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.cel-modal h2{margin:6px 0 8px;font-size:26px;font-weight:700;color:var(--deep)}.cel-desc{margin:0 auto;max-width:300px;font-size:14.5px;line-height:1.55;color:var(--muted)}.cel-actions{display:flex;gap:8px;justify-content:center;margin-top:22px}.cel-burst{position:absolute;left:50%;top:80px;width:0;height:0}.cel-burst i{position:absolute;width:8px;height:8px;border-radius:2px;background:var(--accent);opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(0);animation:cel-burst .9s ease-out .1s forwards}.cel-burst i:nth-child(3n){background:var(--court)}.cel-burst i:nth-child(4n){background:#ffd27a}@keyframes cel-burst{0%{opacity:1;transform:rotate(calc(var(--i) * 30deg)) translateY(0)}to{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(-90px)}}@media (prefers-reduced-motion:reduce){.cel-toast,.cel-toast-pts,.cel-modal,.cel-badge,.cel-burst i{animation:none}.cel-burst{display:none}}@media (max-width:600px){.cel-toast{left:12px;right:12px;top:auto;bottom:20px}}.av{display:inline-grid;place-items:center;flex:none;border-radius:50%;object-fit:cover;vertical-align:middle;background:#e9ebf1}.av-initials{color:#fff;font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1}.av-lg{box-shadow:0 0 0 4px #fff,0 8px 20px -10px #0e1a3366}.me-chip{grid-template-columns:auto auto auto;column-gap:8px;align-items:center}.me-chip .me-av{grid-row:1/3}.me-chip .me-bar{grid-column:2/4}.vh-coach .av{box-shadow:0 0 0 2px #fff3}.pl-meta .av{margin:0 2px 0 4px}@media screen{.pl-tools{display:flex;align-items:center;gap:12px;margin:8px 0 12px;flex-wrap:wrap}.pl-search{position:relative;flex:1 1 260px;display:flex;align-items:center}.pl-search svg{position:absolute;left:12px;width:17px;height:17px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;pointer-events:none}.pl-search input{width:100%;padding:10px 12px 10px 38px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;background:#fff}.pl-search input:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 3px #2833991f}.seg-sm button{padding:6px 12px;font-size:12.5px}.pl-list{padding:4px}.pl-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 100px auto auto;gap:16px;align-items:center;padding:14px 16px;border-radius:10px;cursor:pointer}.pl-row+.pl-row{box-shadow:0 -1px 0 var(--line)}.pl-row:hover{background:var(--sand)}.pl-main{display:flex;flex-direction:column;gap:5px;min-width:0;text-decoration:none;color:inherit}.pl-main b{font-size:15.5px;font-weight:600;color:var(--deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted)}.pl-meta i{font-style:normal}.pl-stat{display:flex;flex-direction:column;align-items:flex-start}.pl-stat b{font-size:13.5px;font-weight:600;color:var(--deep);white-space:nowrap}.pl-stat small{font-size:11.5px;color:var(--faint)}.pl-actions{display:flex;gap:6px}.pl-actions .btn{white-space:nowrap}.upd-badge{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:#fff;background:var(--accent);padding:2px 8px;border-radius:999px;vertical-align:2px}.sub-note{margin:0 0 12px;font-size:14px;color:var(--accent);font-weight:600}.gs{padding:20px 22px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.gs-head{display:flex;justify-content:space-between;align-items:flex-start}.gs-head h3{margin:0;font-size:18px;font-weight:600;color:var(--deep)}.gs-head p{margin:2px 0 0;font-size:13.5px}.gs-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.gs-steps li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:10px 0}.gs-steps li+li{border-top:1px dashed var(--line)}.gs-dot{width:24px;height:24px;border-radius:50%;border:2px solid #C9CDD8;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.gs-steps li.done .gs-dot{background:#22a55b;border-color:#22a55b}.gs-text b{display:block;font-size:14.5px;font-weight:600;color:var(--deep)}.gs-steps li.done .gs-text b{color:var(--faint);text-decoration:line-through;text-decoration-color:#c9cdd8}.gs-text small{display:block;font-size:13px;color:var(--muted);margin-top:2px}.sft{margin-bottom:24px}.sft-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.sft-head h3{margin:0;font-size:17px;font-weight:600;color:var(--deep)}.sft-head a{font-size:13.5px;font-weight:600;color:var(--court);text-decoration:none}.sft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.sft-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit}.sft-card:hover{border-color:#cdd1db;box-shadow:0 12px 26px -18px #0e1a3359}.sft-card b{font-family:var(--display);font-size:16px;color:var(--deep)}.sft-card small{font-size:12.5px;color:var(--muted)}.sft-cta{margin-top:4px;font-size:13px;font-weight:600;color:var(--court)}.pe-photo{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.pe-photo-title{display:block;font-size:13px;font-weight:600;color:var(--deep);margin-bottom:6px}.pe-photo-actions{display:flex;align-items:center;gap:10px}.pe-photo label.btn{cursor:pointer}.pe-photo small{display:block;font-size:12px;color:var(--faint);margin-top:6px}}@media screen and (max-width:760px){.pl-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.pl-row .pl-stat{display:none}.pl-row .pill{grid-column:2;grid-row:1;justify-self:end}.pl-actions{grid-column:1/-1}.gs-steps li{grid-template-columns:28px 1fr}.gs-steps li .btn{grid-column:2;justify-self:start}}@media screen and (max-width:700px){.view-drills thead{display:none}.view-drills,.view-drills tbody{display:block}.view-drills tbody tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px;border-top:1px solid var(--line)}.view-drills tbody td{padding:0!important;border:none!important}.view-drills tbody td:first-child{grid-column:1;font-size:15px}.view-drills tbody td:last-child{grid-column:2;grid-row:1;text-align:right;white-space:nowrap;font-size:12.5px}.view-drills tbody td:nth-child(2):not(:last-child){grid-column:1/-1;color:var(--muted);font-size:14px;line-height:1.5}.view-drills .empty-row{grid-column:1/-1}}@media screen{.picker-modal-item.expanded{grid-column:1/-1;cursor:default;border-color:var(--court)}.picker-howto-btn{display:block;clear:both;margin-top:8px;padding:0;border:0;background:none;color:var(--court);font-size:12px;font-weight:600;cursor:pointer}.picker-howto-btn:hover{text-decoration:underline}.picker-howto{margin-top:8px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--charcoal)}.picker-howto p{margin:0 0 8px;white-space:pre-line}.picker-howto-focus{color:var(--muted)}.lib-desc{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:2px;line-height:1.4}.lib-details-btn{border:0;background:none;padding:0;color:var(--court);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.lib-details td{background:#f7f8fc}.lib-details-body{display:grid;gap:8px;padding:6px 2px}.lib-details-body label{font-size:12px;font-weight:600;color:var(--deep)}.lib-details-body input,.lib-details-body textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:7px 9px;font:inherit;font-size:13px}.lib-details-body textarea{resize:vertical;line-height:1.45}.lib-details-body p{margin:0;font-size:13px;line-height:1.5;white-space:pre-line}}@media screen{.lib-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.lib-top p{margin:0;font-size:13px;color:var(--muted)}.lib-top .btn{flex-shrink:0}.lib-add{border:1.5px solid var(--court);background:#f5f6fc;border-radius:12px;padding:14px 16px;margin:0 0 14px}.lib-add-head h3{margin:0;font-size:16px;color:var(--deep)}.lib-add-head p{margin:2px 0 12px;font-size:12.5px;color:var(--muted)}.lib-add-grid{display:grid;grid-template-columns:1.4fr 1fr 90px;gap:10px 12px}.lib-add-grid label{display:flex;flex-direction:column;gap:4px}.lib-add-grid label>span{font-size:12px;font-weight:600;color:var(--deep)}.lib-add-grid em{font-style:normal;font-weight:500;color:var(--faint)}.lib-add-grid input{width:100%;border:1px solid #D7DAE2;border-radius:8px;padding:8px 10px;font-size:13.5px;background:#fff}.lib-add-grid input:focus{outline:none;border-color:var(--court);box-shadow:0 0 0 3px #2833991f}.lib-add-wide{grid-column:1/-1}.lib-add-foot{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:12px}@media (max-width:560px){.lib-top{flex-direction:column;align-items:stretch}.lib-add-grid{grid-template-columns:1fr 90px}.lib-add-name{grid-column:1/-1}}}@media screen{.pill.removed{background:#fde8e8;color:var(--danger)}.mod-banner{margin:12px 0 4px;padding:10px 12px;border-radius:8px;background:#fdf2f2;border:1px solid #F1C4C4;color:#7f1d1d;font-size:13px;line-height:1.5}.vh-report{display:inline-block;margin-top:10px;padding:0;font-size:12px;font-weight:500;color:var(--faint)}.vh-report:hover{color:var(--danger);text-decoration:underline}.rp-form{display:grid;gap:14px}.rp-form>p{margin:0;font-size:13.5px}.rp-reasons{border:0;margin:0;padding:0;display:grid;gap:6px}.rp-reason{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;cursor:pointer}.rp-reason:hover{border-color:#c9cdd8}.rp-reason.on{border-color:var(--court);background:#f5f6fc}.rp-reason input{accent-color:var(--court);margin:0}.mod-list{display:grid;gap:12px}.mod-item{padding:16px 18px}.mod-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mod-title{font-weight:700;font-size:16px;color:var(--deep)}.mod-meta{font-size:13px;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.mod-actions{display:flex;gap:8px;flex-shrink:0}.mod-note{margin:10px 0 0;font-size:13px;color:#7f1d1d}.mod-report{margin-top:10px;padding:10px 12px;border-radius:8px;background:#f7f8fc;font-size:13.5px}.mod-report p{margin:4px 0;white-space:pre-line}.mod-report small{color:var(--faint)}.mod-report.closed{opacity:.6}@media (max-width:560px){.mod-head{flex-direction:column}}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media screen{.up-reason{margin:0 0 12px;font-size:14px;color:var(--deep);font-weight:600}.up-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.up-list li{position:relative;padding-left:24px;font-size:14px;line-height:1.45}.up-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--court);font-weight:700}.pr-head{margin-bottom:18px}.pr-head h2{margin:0 0 4px}.pr-head p{margin:0}.pr-status{margin-top:10px!important;display:inline-block;background:#f5f6fc;border:1px solid #DDE1F2;color:var(--deep);border-radius:8px;padding:8px 12px;font-size:13.5px}.pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:820px}.pr-card{padding:22px;display:flex;flex-direction:column;gap:14px}.pr-card h3{margin:0;font-size:20px;color:var(--deep)}.pr-card .up-list{flex:1}.pr-card.pro{border:2px solid var(--court)}.pr-card.current{box-shadow:0 0 0 3px #2833991f}.pr-price{margin:0;font-size:15px;font-weight:600;color:var(--muted)}.pr-card .btn{align-self:flex-start}.pr-current{margin:0;font-size:13px;font-weight:600;color:var(--court)}.nav-pro{color:var(--accent,#F59E0B)!important;font-weight:700}}@media screen{.pr-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pr-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#f5f6fc;border:1px solid #DDE1F2;font-size:14px}.pr-banner.ok{background:#ecfdf3;border-color:#b7ebc9;color:#14532d}.pr-banner .link-btn{padding:0}}@media screen{.btn-gopro{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff!important;border:none;font-weight:700;text-decoration:none;box-shadow:0 4px 12px -4px #f973168c}.btn-gopro:hover{filter:brightness(1.05)}.pro-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 9px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;text-decoration:none}.pl-upsell{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#fff7ed;border:1px solid #FED7AA;font-size:14px;color:#7c2d12}.pl-upsell .btn{flex-shrink:0}}@media screen{.pw-card{max-width:560px;margin:40px auto;padding:36px 32px;text-align:center}.pw-card h2{margin:12px 0 6px;font-size:28px;color:var(--deep)}.pw-sub{margin:0 auto 22px;max-width:420px;color:var(--muted);font-size:15px;line-height:1.5}.pw-check{width:56px;height:56px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316)}.pw-spin{width:40px;height:40px;margin:0 auto;border-radius:50%;border:4px solid #E5E7EB;border-top-color:var(--court);animation:pw-spin .9s linear infinite}@keyframes pw-spin{to{transform:rotate(360deg)}}.pw-next{display:grid;gap:10px;text-align:left}.pw-tile{display:block;width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pw-tile:hover{border-color:var(--court);background:#f5f6fc}.pw-tile b{display:block;color:var(--deep);font-size:15px}.pw-tile span{display:block;color:var(--muted);font-size:13px;margin-top:2px}.pw-manage{margin-top:16px;font-size:13px}}@media screen{.lib-row-meta{margin:2px 0 0 4px}.lib-origin{font-size:11.5px;color:var(--faint)}.lib-share{border:0;background:none;padding:0;font-size:11.5px;font-weight:600;color:var(--faint);cursor:pointer}.lib-share.on{color:#15803d}.lib-share:hover{text-decoration:underline}.lib-restore{padding:0;font-size:13px}.lib-add-share{flex-direction:row!important;align-items:flex-start;gap:8px!important}.lib-add-share input{width:auto!important;margin-top:2px;accent-color:var(--court)}.lib-add-share span{font-weight:600;font-size:13px;color:var(--deep)}.fd-search{margin:0 0 12px}.fd-note{margin:0 0 12px;font-size:13px;color:var(--muted)}.fd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.fd-card{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.fd-card.open{grid-column:1/-1}.fd-top{display:flex;justify-content:space-between;align-items:center}.fd-top .picker-dur{float:none}.fd-name{font-size:15px;color:var(--deep)}.fd-desc,.fd-focus,.fd-coach{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.fd-focus b{color:var(--deep);font-weight:600}.fd-howto{margin:4px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;white-space:pre-line}.fd-actions{margin-top:auto;padding-top:6px}.fd-added{font-size:13px;font-weight:600;color:#15803d}.fd-mine{font-size:12.5px;color:var(--faint)}.fd-card .picker-howto-btn{margin-top:2px}}@media screen{.legal{max-width:760px;margin:12px auto 40px;padding:32px 36px;line-height:1.65;font-size:15px}.legal h1{margin:0;font-size:30px;color:var(--deep)}.legal h2{margin:26px 0 6px;font-size:18px;color:var(--deep)}.legal p,.legal li{color:var(--charcoal)}.legal ul{padding-left:20px;margin:6px 0}.legal li{margin:4px 0}.legal-updated{margin:4px 0 18px;color:var(--faint);font-size:13px}.legal-nav{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-size:14px}.pr-legal{max-width:820px;margin:18px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6}@media (max-width:560px){.legal{padding:22px 18px}}}.vp-icon{flex:none;display:block;border-radius:22%}.vp-wordmark{font-family:Outfit,Inter,system-ui,sans-serif;font-weight:400;letter-spacing:-.02em;white-space:nowrap}.vp-wordmark b{font-weight:700}.vp-lockup{display:inline-flex;align-items:center;gap:10px}#topbar .brand .vp-wordmark{font-size:19px;color:var(--deep)}.hm-brand .vp-wordmark,.au2-brand .vp-wordmark{font-family:Outfit,Inter,system-ui,sans-serif;font-size:20px}.hm-app-brand .vp-wordmark{font-size:inherit}
