html[data-theme=light]{--bg:#f7f5f0;--surface:#fffefb;--surface-2:#efece4;--text:#22201c;--muted:#5f5a50;--line:#d9d3c7;--accent:#c62828;--accent-text:#fff;--accent-soft:#fbe5e3;--gold:#85570a;--gold-soft:#f5ebd6;--warn-bg:#fff4c7;--warn-text:#4f3422;--ok:#1a7048;--ok-soft:#dcf1e3;--danger:#b4232a;--danger-soft:#fbe3e2;--link:#b4232a;--on-gold:#fff;--media-fg:#ccc;--shadow:#3c281424;--backdrop:#22201c73;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] .invert-dark{filter:none}html[data-theme=light] img.invert-dark{background:#fff}html[data-theme=light] .card{box-shadow:0 1px 2px #3c28140f}html[data-theme=military]{--bg:#232622;--surface:#292c27;--surface-2:#30332d;--text:#e8e8dd;--muted:#b4b6a6;--line:#4a4d3e;--accent:#bdb47c;--accent-text:#1b1c14;--accent-soft:#3a3c2c;--gold:#c9c08b;--gold-soft:#3b3e2c;--warn-bg:#302008;--warn-text:#ffca16;--ok:#8fd69b;--ok-soft:#1f2d22;--danger:#ff9f88;--danger-soft:#3d1c17;--link:#d8d09c;--on-gold:#1b1c14;--olive:#4a4f35;--hud:#c9c08bd9;--shadow:#0000008c;--backdrop:#0a0b09b3;--radius:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=military] body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(90% 50% at 0 0,#8c8c6414,#0000 70%),radial-gradient(120% 80% at 50% 120%,#0000004d,#0000 70%);position:fixed;inset:0}html[data-theme=military] h1,html[data-theme=military] h2,html[data-theme=military] .tab,html[data-theme=military] .btn,html[data-theme=military] .brand-name{text-transform:uppercase;letter-spacing:.02em;font-stretch:85%}html[data-theme=military] h1,html[data-theme=military] h2{font-weight:800;line-height:1.15}html[data-theme=military] .brand img{box-shadow:none;filter:grayscale()sepia()saturate(.8)hue-rotate(12deg)brightness(1.3)contrast(1.1);mix-blend-mode:lighten;border-radius:0}html[data-theme=military] .brand-top{letter-spacing:.05em;font-size:.78rem}html[data-theme=military] .brand-main{letter-spacing:.02em;font-size:1.45rem;font-style:normal}html[data-theme=military] .tab{color:#9a9c8e;font-size:.92rem;font-weight:800;font-stretch:75%}html[data-theme=military] .tabs.scroll .tab{padding:0 8px}html[data-theme=military] .tab.active{color:var(--text);border-bottom-color:var(--gold)}html[data-theme=military] .card,html[data-theme=military] .ex-card,html[data-theme=military] details.panel,html[data-theme=military] .event,html[data-theme=military] .program-card>.md{border-radius:var(--radius);border-color:color-mix(in srgb, var(--gold) 28%, var(--line));position:relative}html[data-theme=military] .card{background:var(--surface);box-shadow:none}html[data-theme=military] .card:before,html[data-theme=military] .ex-card:before,html[data-theme=military] details.panel:before,html[data-theme=military] .program-card>.md:before{content:"";pointer-events:none;--k:var(--hud);--l:12px;--w:2px;background:linear-gradient(var(--k), var(--k)) top left / var(--l) var(--w) no-repeat, linear-gradient(var(--k), var(--k)) top left / var(--w) var(--l) no-repeat, linear-gradient(var(--k), var(--k)) top right / var(--l) var(--w) no-repeat, linear-gradient(var(--k), var(--k)) top right / var(--w) var(--l) no-repeat, linear-gradient(var(--k), var(--k)) bottom left / var(--l) var(--w) no-repeat, linear-gradient(var(--k), var(--k)) bottom left / var(--w) var(--l) no-repeat, linear-gradient(var(--k), var(--k)) bottom right / var(--l) var(--w) no-repeat, linear-gradient(var(--k), var(--k)) bottom right / var(--w) var(--l) no-repeat;position:absolute;inset:-1px}html[data-theme=military] .program-card:after,html[data-theme=military] .workout-card:after{content:"";pointer-events:none;opacity:.22;background:linear-gradient(var(--gold), var(--gold)) 0 100% / 100% 1px no-repeat, linear-gradient(var(--gold), var(--gold)) 100% 0 / 1px 100% no-repeat, repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 8px) 0 0 / 100% 5px no-repeat;width:64px;height:26px;position:absolute;top:10px;right:12px}html[data-theme=military] .program-card{border-top:1px solid color-mix(in srgb, var(--gold) 28%, var(--line))}html[data-theme=military] .program-card>.md{border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line));background:color-mix(in srgb, var(--surface-2) 60%, transparent);margin:12px 0 14px;padding:6px 12px}html[data-theme=military] .program-card>.md:before{--l:9px;--w:1px;inset:3px}html[data-theme=military] .program-card .card-head h1{padding-right:70px}html[data-theme=military] .ex-card:before{--l:8px}html[data-theme=military] .event{border-left-width:2px}html[data-theme=military] .btn,html[data-theme=military] .week-strip .day,html[data-theme=military] .slot,html[data-theme=military] .workout-title .day-letter,html[data-theme=military] .set-check span,html[data-theme=military] .drag-handle{--c:8px;clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% var(--c), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--c) 100%, 0 calc(100% - var(--c)), 0 var(--c));border-radius:0}html[data-theme=military] .week-strip .day,html[data-theme=military] .workout-title .day-letter,html[data-theme=military] .btn:not(.primary):not(.ghost){--e:var(--line);background-image:linear-gradient(135deg, var(--e) 0 calc(var(--c) * .707 + .5px), transparent 0), linear-gradient(225deg, var(--e) 0 calc(var(--c) * .707 + .5px), transparent 0), linear-gradient(315deg, var(--e) 0 calc(var(--c) * .707 + .5px), transparent 0), linear-gradient(45deg, var(--e) 0 calc(var(--c) * .707 + .5px), transparent 0);background-size:calc(var(--c) + 1px) calc(var(--c) + 1px);background-position:0 0,100% 0,100% 100%,0 100%;background-repeat:no-repeat;background-origin:border-box}html[data-theme=military] .btn:focus-visible,html[data-theme=military] .week-strip .day:focus-visible,html[data-theme=military] .drag-handle:focus-visible{clip-path:none;outline:3px solid var(--gold);outline-offset:2px}html[data-theme=military] .set-check:has(input:focus-visible) span{clip-path:none;outline:3px solid var(--gold);outline-offset:2px}html[data-theme=military] .btn{font-weight:800}html[data-theme=military] .btn.primary{box-shadow:none;background:var(--accent);border-color:var(--accent)}html[data-theme=military] .btn.primary:before{content:"»";vertical-align:-.06em;margin-right:.5em;font-size:1.35em;line-height:0}html[data-theme=military] .btn.big{--c:12px;letter-spacing:.03em;justify-content:space-between;align-items:center;gap:10px;padding:0 18px;display:flex}html[data-theme=military] .btn.big:before{margin:0;font-size:1.6em}html[data-theme=military] .btn.big:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1c14' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='6.5'/%3E%3Cpath d='M12 1v5M12 18v5M1 12h5M18 12h5'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='%231b1c14' stroke='none'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;width:1.15em;height:1.15em;margin-left:0;display:inline-block}html[data-theme=military] .howto-btn{color:var(--gold);--e:color-mix(in srgb, var(--gold) 40%, var(--line));border-color:color-mix(in srgb, var(--gold) 40%, var(--line))}html[data-theme=military] .program-chip{background:var(--surface);border-color:#5a5d52;font-weight:600}html[data-theme=military] .program-chip.active{background:var(--surface-2);border-color:#8e9083}html[data-theme=military] .week-strip .day{--c:9px;background-color:var(--surface-2);border-color:var(--line);min-height:58px}html[data-theme=military] .week-strip .day.on{--e:var(--gold);background-color:var(--olive);border-color:var(--gold);color:var(--text)}html[data-theme=military] .week-strip .day-name{font-size:.75rem}html[data-theme=military] .week-strip .day-letter{font-family:var(--font-display);font-size:1.35rem}html[data-theme=military] .day-letter.rest{color:#6a6d60}html[data-theme=military] .slot.on{background:var(--olive)}html[data-theme=military] .day-legend li{min-height:40px}html[data-theme=military] .day-letter.small{font-family:var(--font-display);background:0 0;justify-content:flex-start;min-width:1.5em;margin-right:6px;font-size:1.35rem}html[data-theme=military] .day-letter.small:after{content:"."}html[data-theme=military] .day-legend a{font-size:1.05rem;text-decoration:none}html[data-theme=military] .day-legend li:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c9c08b' stroke-width='2.2'%3E%3Cpath d='M2 2.5l6 5 6-5M2 8.5l6 5 6-5'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;width:16px;height:16px;margin-left:auto}html[data-theme=military] .workout-title .day-letter{--c:9px;--e:var(--gold);background-color:var(--olive);border-color:var(--gold);border-radius:0}html[data-theme=military] .workout-card .block.pair,html[data-theme=military] .blocks>.block.pair{border-left-width:2px;border-left-color:color-mix(in srgb, var(--gold) 60%, transparent)}html[data-theme=military] .chip,html[data-theme=military] .tag,html[data-theme=military] .px-chips .chip{border-radius:2px}html[data-theme=military] .px-chips .chip.strong{background:var(--olive)}html[data-theme=military] .set-check span{border-radius:0}html[data-theme=military] .coach{background:var(--surface);border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}html[data-theme=military] .ex-card.current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}html[data-theme=military] .progress{border-radius:0}html[data-theme=military] .progress div{background:var(--gold)}html[data-theme=military] .cal-day{border-radius:2px}html[data-theme=military] .banner{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}html[data-theme=military] .banner.warn{background:var(--warn-bg)}html[data-theme=military] details.panel>summary{text-transform:uppercase;font-family:var(--font-display);letter-spacing:.02em;font-stretch:80%}html[data-theme=water]{--bg:#ecf7fb;--surface:#fafdfe;--surface-2:#dcf0f7;--text:#0c2d44;--muted:#3a6176;--line:#a9d8e6;--accent:#0b66a8;--accent-text:#fff;--accent-soft:#dceefc;--gold:#00706a;--gold-soft:#dcf5ef;--warn-bg:#fff7c2;--warn-text:#4f3422;--ok:#1a7048;--ok-soft:#e2f4e8;--danger:#c2224b;--danger-soft:#feeaed;--link:#00699a;--on-gold:#fff;--media-fg:#cfe6ee;--shadow:#083c5a29;--backdrop:#0c2d4473;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=water] .invert-dark{filter:none}html[data-theme=water] img.invert-dark{background:#fff}html[data-theme=water] .card{box-shadow:0 1px 2px #083c5a0f,0 4px 14px -6px #083c5a1f}html[data-theme=water] body:before{content:"";z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 160' preserveAspectRatio='none'%3E%3Cpath d='M0 70 C150 40 300 100 450 70 S750 40 900 70 S1100 95 1200 68 V160 H0Z' fill='%2360b3d7' fill-opacity='.2'/%3E%3Cpath d='M0 100 C200 72 380 128 600 98 S980 74 1200 104 V160 H0Z' fill='%233db9cf' fill-opacity='.2'/%3E%3Cpath d='M0 128 C220 108 420 150 640 126 S1020 112 1200 132 V160 H0Z' fill='%230a7290' fill-opacity='.16'/%3E%3C/svg%3E") bottom/100% 150px no-repeat,radial-gradient(70% 35% at 15% -5%,#ffffffe6,#0000 70%),linear-gradient(#f4fbfd 0%,#ecf7fb 45%,#dbeff6 100%);position:fixed;inset:0}html[data-theme=water] .btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 82%, #3db9cf), var(--accent))}html[data-theme=fire]{--bg:#16110f;--surface:#201816;--surface-2:#2a201d;--text:#f0e7e1;--muted:#c0aea3;--line:#4a3832;--accent:#f76b15;--accent-text:#1c0b02;--accent-soft:#3a1f0c;--gold:#ffc53d;--gold-soft:#302008;--warn-bg:#3f2700;--warn-text:#ffe7b3;--ok:#3dd68c;--ok-soft:#132d21;--danger:#ff9592;--danger-soft:#3b1219;--link:#ffa057;--on-gold:#151211;--shadow:#0009;--backdrop:#0c0604a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=fire] body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 30% at 50% 110%,#f76b1529,#0000 70%),radial-gradient(40% 20% at 10% 105%,#e5484d1a,#0000 70%),radial-gradient(40% 20% at 90% 105%,#ffc53d14,#0000 70%);position:fixed;inset:0}html[data-theme=fire] .btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 80%, var(--gold)), var(--accent))}html[data-theme=fire] .clock{text-shadow:0 0 18px color-mix(in srgb, var(--accent) 35%, transparent)}.theme-picker{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.theme-swatch{min-height:var(--tap);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;padding:6px;font-size:.85rem;font-weight:600;display:flex}.theme-swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.theme-swatch:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.theme-swatch:disabled{opacity:.6;cursor:progress}.theme-chip{border:1px solid #7f7f7f59;border-radius:6px;height:28px;display:flex;overflow:hidden}.theme-chip>span{flex:1 1 0}@font-face{font-family:Tektur;font-style:normal;font-weight:400 900;font-stretch:75% 100%;font-display:swap;src:url(/fonts/tektur-var-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Tektur;font-style:normal;font-weight:400 900;font-stretch:75% 100%;font-display:swap;src:url(/fonts/tektur-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Play;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/play-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Play;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/play-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Play;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/play-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Play;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/play-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#111110;--surface:#1a1918;--surface-2:#242322;--text:#eeeeec;--muted:#b5b3ad;--line:#3b3a37;--accent:#d32f2f;--accent-text:#fff;--accent-soft:#3b1219;--gold:#d9a54e;--gold-soft:#2c2416;--warn-bg:#302008;--warn-text:#ffca16;--ok:#3dd68c;--ok-soft:#132d21;--danger:#ff9592;--danger-soft:#3b1219;--link:#ff9592;--on-gold:#111110;--media-bg:#000;--media-fg:#aaa;--shadow:#0009;--backdrop:#0000008c;--font-display:"Tektur", "Play", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui:"Play", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:14px;--tap:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.invert-dark{filter:invert()hue-rotate(180deg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.45 var(--font-ui);margin:0}#app{max-width:760px;padding:0 12px calc(24px + env(safe-area-inset-bottom));margin:0 auto}h1,h2,.brand-name,.tab,.btn,.clock,.mini-clock,.day-nav-main,.phase-label{font-family:var(--font-display)}.tab,.btn,.phase-label{font-stretch:87.5%}h1{color:var(--gold);letter-spacing:.01em;margin:0 0 4px;font-size:1.45rem}h2{color:var(--gold);margin:0 0 8px;font-size:1.15rem}h3{color:var(--text);margin:16px 0 6px;font-size:1rem}a{color:var(--link)}.muted{color:var(--muted)}.small{font-size:.85rem}.grow{flex:auto}.loading,.empty{text-align:center;color:var(--muted);padding:32px 16px}.top{z-index:5;background:linear-gradient(180deg, var(--bg) 85%, color-mix(in srgb, var(--bg) 92%, transparent));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;align-items:center;gap:2px 12px;padding:8px 0 0;display:flex;position:sticky;top:0}.brand{color:var(--text);min-height:var(--tap);align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{width:40px;height:40px;box-shadow:0 0 0 1px var(--gold-soft);border-radius:10px}.brand-name{text-transform:uppercase;flex-direction:column;line-height:1;display:flex}.brand-top{color:var(--gold);letter-spacing:.14em;font-size:.7rem;font-weight:800}.brand-main{color:var(--gold);letter-spacing:.06em;font-size:1.25rem;font-style:italic;font-weight:900}.tabs{flex:auto;gap:4px;display:flex}.tab{min-height:var(--tap);color:var(--muted);letter-spacing:.02em;border-bottom:3px solid #0000;flex:1 1 0;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px}.banner{background:var(--gold-soft);border-radius:var(--radius);margin:10px 0;padding:10px 12px;font-size:.92rem}.banner.warn{background:var(--warn-bg);color:var(--warn-text)}.tag{background:var(--accent-soft);color:var(--text);border-radius:999px;margin-top:6px;padding:2px 10px;font-size:.8rem;display:inline-block}.note{color:var(--muted);margin:6px 0 0;font-size:.92rem;font-style:italic}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.row.tight{justify-content:center;margin-top:4px}.btn{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-family:var(--font-display);cursor:pointer;border-radius:10px;padding:0 16px;font-weight:600;font-stretch:87.5%}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.big{width:100%;min-height:64px;margin-top:12px;font-size:1.2rem}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.small{min-height:var(--tap);padding:0 12px;font-size:.85rem}.icon-btn{min-width:var(--tap);min-height:var(--tap);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;font-size:1.5rem;text-decoration:none;display:inline-flex}.linkish{min-height:var(--tap);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;display:inline-flex}select,input[type=date],input[type=time],input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],textarea{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:10px;max-width:100%;padding:0 10px}.btn:focus-visible,.icon-btn:focus-visible,.linkish:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.date-nav{justify-content:space-between;align-items:center;gap:4px;margin-top:8px;display:flex}.date-title{text-align:center;flex:1}.date-long{font-weight:600}.date-input{min-height:36px;font-size:.9rem}.workout-head{border-left:4px solid var(--pc,var(--gold))}.workout-head h1{margin:0}.head-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px;display:flex}.head-meta .program-chip.small{margin-top:0}.estimate{color:var(--muted);font-size:.9rem}.blocks{flex-direction:column;gap:14px;display:flex}.blocks>.block{border-left:4px solid #0000;flex-direction:column;gap:8px;padding-left:10px;display:flex}.blocks>.block.pair{border-left-color:var(--gold)}.ex-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:10px;display:flex}.ex-card.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.thumb{border:1px solid var(--line);background:var(--media-bg);cursor:pointer;height:72px;color:var(--media-fg);background:var(--media-bg);border-radius:10px;flex:0 0 72px;justify-content:center;align-items:center;padding:0;font-size:1.4rem;display:flex;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%}.ex-body{flex:1;min-width:0}.ex-title{font-size:1.02rem}.ex-meta{color:var(--muted);margin-top:2px;font-size:.9rem}.ex-load{margin-top:2px;font-size:.9rem}.label{min-width:2.2em;color:var(--gold);font-weight:800;display:inline-block}.coach{border-color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, var(--surface)), var(--surface) 60%)}.coach-head{align-items:center;gap:8px;display:flex}.coach-head h2{flex:1;margin:0}.coach-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin:8px 0;padding:6px 0;display:flex}.toggle{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.hint{color:var(--muted);margin:4px 0;font-size:.85rem}.coach-step{margin-top:8px}.coach-ex{min-height:var(--tap);font-size:1.25rem}.coach-meta{color:var(--muted);margin-top:2px}.phase-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;margin-top:10px;font-size:.8rem}.clock{text-align:center;font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:700;line-height:1.1}.clock.hold{color:var(--accent)}.cues{color:var(--muted);margin:8px 0 0;padding-left:20px;font-size:.92rem}.progress{background:var(--line);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .3s}.row.secondary{justify-content:space-between}.done{font-size:1.15rem;font-weight:600}.md p{margin:8px 0}.md ul{margin:8px 0;padding-left:20px}.week{margin-top:8px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:4px;display:grid}.slot{border:1px solid var(--line);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-height:52px;color:var(--muted);border-radius:8px;padding:4px 2px;font-size:.72rem;line-height:1.2}.slot.on{background:var(--gold-soft);color:var(--text);border-color:var(--gold);font-weight:600}table.items{border-collapse:collapse;width:100%;margin-top:8px;font-size:.92rem}table.items th,table.items td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 4px}table.items td.num{white-space:nowrap}table.items th{color:var(--muted);font-size:.8rem;font-weight:600}table.items .linkish{min-height:var(--tap)}.month-title{margin:0;font-size:1.2rem}.cal{margin-top:10px}.cal-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px;display:grid}.cal-head div{text-align:center;color:var(--muted);padding:4px 0;font-size:.75rem}.cal-day{background:var(--surface);border:1px solid var(--line);min-height:64px;color:var(--text);border-radius:8px;flex-direction:column;padding:3px;text-decoration:none;display:flex;position:relative;overflow:hidden}.cal-day.other{opacity:.45}.cal-day.today{border:2px solid var(--gold)}.cal-day.has-workout{background:color-mix(in srgb, var(--pc,var(--accent)) 20%, var(--surface));border-color:color-mix(in srgb, var(--pc,var(--accent)) 55%, var(--line));box-shadow:inset 3px 0 0 var(--pc,var(--accent))}.cal-day.override{outline:1px dashed var(--gold);outline-offset:-3px}.cal-conflict{color:var(--warn-text);background:var(--warn-bg);border-radius:6px;padding:0 3px;font-size:.6rem;font-weight:800;position:absolute;bottom:2px;right:3px}button.cal-day{font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%}.cal-day.dragging{opacity:.4}.cal-day.drop-target{outline:2px solid var(--gold);outline-offset:-2px;background:var(--gold-soft)}.drag-ghost{z-index:50;pointer-events:none;background:color-mix(in srgb, var(--pc,var(--accent)) 35%, var(--bg));border:1px solid var(--pc,var(--accent));color:var(--text);box-shadow:0 8px 24px var(--shadow);border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:800;position:fixed;top:0;left:0}.cal-day .num{font-size:.8rem;font-weight:600}.cal-title{overflow-wrap:anywhere;font-size:.72rem;font-weight:700;line-height:1.15}.cal-focus{color:var(--muted);overflow-wrap:anywhere;font-size:.65rem;line-height:1.15}.cal-note{color:var(--link);font-weight:900;position:absolute;top:1px;right:4px}@media (width<=420px){.cal-focus{display:none}}dialog.howto{border-radius:var(--radius);background:var(--surface);width:min(680px,100vw);max-height:100dvh;color:var(--text);border:0;margin:auto;padding:0}@media (width<=600px){dialog.howto{border-radius:0;width:100vw;max-width:100vw;height:100dvh}}dialog.howto::backdrop{background:var(--backdrop)}.howto-head{background:var(--surface);border-bottom:1px solid var(--line);z-index:1;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex;position:sticky;top:0}.howto-head h2{flex:1;margin:0}.howto-body{padding:8px 16px 24px}.howto-body ol,.howto-body ul{margin:4px 0;padding-left:22px}.howto-body li{margin:4px 0}.media-frame{aspect-ratio:16/9;background:var(--media-bg);border-radius:10px;margin-top:8px;position:relative;overflow:hidden}.media-frame iframe,.media-frame video{border:0;width:100%;height:100%;display:block}.yt-preview{background:var(--media-bg);cursor:pointer;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.yt-preview img{object-fit:cover;opacity:.85;width:100%;height:100%}.play-icon{color:#fff;text-shadow:0 2px 8px #0009;justify-content:center;align-items:center;font-size:3rem;display:flex;position:absolute;inset:0}.frames{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:8px;display:grid}.frames figure{background:var(--media-bg);text-align:center;background:var(--media-bg);border-radius:10px;margin:0;padding:6px}.frames img{object-fit:contain;width:100%;max-height:220px}.frames figcaption{color:var(--muted);font-size:.8rem}.credit{color:var(--muted);margin:6px 0 0;font-size:.78rem}.variants p{margin:6px 0}.chips-row{flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0;display:flex}.chip{background:var(--accent-soft);border-radius:999px;padding:2px 10px;font-size:.82rem}.credit-list li{margin:6px 0}.page-title{margin:14px 0 4px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.card-head h1,.card-head h2{flex:auto;margin:0}.form .field,.field{flex-direction:column;gap:4px;min-width:0;margin:10px 0;display:flex}.field label{color:var(--muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea{width:100%}.field.end{justify-content:flex-end}textarea{resize:vertical;min-height:88px;padding:8px 10px;line-height:1.4}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search]{width:100%}input:disabled{opacity:.6}.mono{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:0 10px;display:grid}.form-grid .field>.hint{min-height:0}.form-grid .field.wide{grid-column:1/-1}.error{color:var(--danger);margin:8px 0;font-weight:600}.error:empty{display:none}.btn.danger{color:var(--danger)}a.btn{align-items:center;text-decoration:none;display:inline-flex}.admin-list{margin:8px 0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line);min-height:var(--tap);flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0;display:flex}.admin-list li>a,.admin-list li>span:first-child{min-height:var(--tap);flex:200px;padding:10px 0}.admin-list li>a{align-items:center;padding:0;display:flex}.item-edit{border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:8px 10px}.item-head{align-items:center;gap:4px;display:flex}summary.item-head{cursor:pointer;min-height:var(--tap);list-style:none}summary.item-head::-webkit-details-marker{display:none}.item-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.item-title>span:first-child{overflow-wrap:anywhere;font-weight:600}details.item-edit[open] summary{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:6px}.chevron{color:var(--muted);padding:0 6px;transition:transform .2s}details[open] .chevron{transform:rotate(180deg)}.item-actions{justify-content:flex-end;margin-top:0}.num-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:0 8px;display:grid}.num-grid .field{margin:6px 0}.num-grid input,.num-grid select{padding:0 6px}.item-head select{min-width:0}.icon-btn.small{font-size:1.1rem}.schedule-edit{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0 10px;margin-top:6px;display:grid}.schedule-edit>.muted{grid-column:1/-1}.save-bar{background:var(--bg);padding:8px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:4;margin-top:12px;position:sticky;bottom:0}.chip-picker{flex-wrap:wrap;gap:6px;display:flex}.chip-option{min-height:var(--tap);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.9rem;display:inline-flex}.chip-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.chip-option input{accent-color:var(--accent);width:18px;height:18px}.media-thumb{object-fit:cover;background:var(--media-bg);border-radius:6px;flex:none;width:56px;height:40px}.media-thumb.icon{background:var(--media-bg);color:var(--media-fg);justify-content:center;align-items:center;display:inline-flex}.tag.changed{background:var(--warn-bg);color:var(--warn-text)}.tag.new{background:var(--ok-soft)}.diff-list{padding-left:0;list-style:none}.diff-list li{margin:4px 0}input[type=file]{min-height:var(--tap);max-width:100%}.dot{background:var(--pc,var(--accent));vertical-align:middle;border-radius:50%;flex:none;width:10px;height:10px;margin-right:6px;display:inline-block}.program-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.program-chip{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;padding:0 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.program-chip.active{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 22%, var(--surface))}.program-chip.small{min-height:var(--tap);margin-top:4px;padding:0 10px;font-size:.82rem}.program-card{border-top:4px solid var(--pc,var(--accent))}.legend{flex-wrap:wrap;align-items:center;gap:2px 14px;margin:6px 0 0;display:flex}.legend-item{min-height:28px;color:var(--text);align-items:center;font-size:.82rem;line-height:1.2;text-decoration:none;display:inline-flex}.plan-chip{background:color-mix(in srgb, var(--pc,var(--accent)) 20%, var(--surface));border:1px solid var(--pc,var(--line));border-radius:10px;align-items:center;margin-right:8px;padding:6px 12px;font-weight:700;display:inline-flex}.plan-chip.rest{background:var(--surface-2);border-color:var(--line);color:var(--muted)}.admin-list li>a .dot,.admin-list li>span .dot{margin-right:8px}.inline-field{flex-direction:column;gap:2px;display:flex}.inline-field input{min-height:var(--tap)}.color-input{width:72px;min-height:var(--tap);border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-banner{border-radius:var(--radius);border:1px solid var(--line);width:100%;height:auto;margin:12px 0 0;display:block}.btn.primary{box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 25%, transparent)}.card{background:linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 70%, var(--bg)))}.coach{padding:10px 12px;scroll-margin-top:112px}.coach-head{min-height:var(--tap)}.coach-toggle{min-height:var(--tap);color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.coach-toggle h2{margin:0}.coach-toggle .chevron{color:var(--gold);font-size:1rem}.coach.collapsed{padding-bottom:8px}.coach.collapsed>.btn{width:100%;margin-top:6px}.coach-mini{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;display:flex}.mini-text{flex:100%;min-width:0;font-weight:700}.mini-clock{font-variant-numeric:tabular-nums;color:var(--gold);font-size:1.5rem;font-weight:800}.coach-mini .btn{flex:auto}.coach .btn.big{min-height:58px;margin-top:10px}.coach .phase-label,.coach .row.secondary{margin-top:4px}.coach .cues{margin-top:6px}.cmedia{margin-top:8px}.cmedia-coach{gap:6px;height:clamp(96px,22vh,190px);display:flex}.cmedia-coach>video,.cmedia-coach>.cmedia-yt{background:var(--media-bg);border-radius:10px;flex:60%;min-width:0;height:100%;overflow:hidden}.cmedia-coach>video{object-fit:contain;width:100%}.cmedia-yt iframe{border:0;width:100%;height:100%;display:block}.cmedia-yt .yt-preview{height:100%}.cmedia-frames{flex:40%;gap:6px;min-width:0;display:flex}.cmedia-coach .cmedia-frames img{object-fit:contain;background:var(--media-bg);border-radius:10px;flex:1 1 0;min-width:0;height:100%}.cmedia-coach>.cmedia-frames:only-child img{max-width:50%}.cmedia-row{max-width:240px}.cmedia-row>video,.cmedia-row>.cmedia-yt{aspect-ratio:16/9;background:var(--media-bg);border-radius:8px;width:100%;display:block;overflow:hidden}.cmedia-row .cmedia-frames img{object-fit:contain;background:var(--media-bg);border-radius:8px;width:auto;max-width:48%;height:72px}.cmedia img.invert-dark{background:#fff}.top-row{flex:auto;justify-content:space-between;align-items:center;gap:8px;display:flex}.login-link{color:var(--muted)}.page-head{min-height:var(--tap);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 10px;display:flex}.page-head .page-title{margin:0}.tabs.four .tab{font-size:.92rem}@media (width<=420px){.top{flex-direction:column;align-items:stretch}.tabs{width:100%}}.howto-btn{border-color:var(--gold-soft);color:var(--gold);margin-top:8px}.coach-ex-row{align-items:center;gap:8px;display:flex}.coach-ex-row .coach-ex{flex:1;min-width:0;font-weight:700}.coach-ex-row .howto-btn{width:var(--tap);margin-top:0;padding:0;font-size:1.15rem}.credit.tiny{margin:3px 0 0;font-size:.68rem;line-height:1.3}.credit a{color:var(--muted)}ul.links{padding-left:18px}ul.links li{margin:6px 0}.home{padding-top:12px}.hero{border-radius:var(--radius);border:1px solid var(--line);background:var(--media-bg);position:relative;overflow:hidden}.hero-img{width:100%;height:auto;display:block}.hero-img.small{border:1px solid var(--line);border-radius:10px;max-width:320px}.hero-text{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 4%, var(--bg)), var(--surface));border-top:1px solid var(--line);padding:12px 16px 14px}.hero-text h1{text-shadow:0 2px 10px var(--shadow);margin:0;font-size:clamp(1.25rem,5vw,1.9rem);line-height:1.15}.hero-kicker{color:var(--text);text-transform:uppercase;letter-spacing:.16em;opacity:.85;font-size:.7rem;font-weight:800}.today{border-left:4px solid var(--pc,var(--gold))}.today-title{align-items:center;gap:4px;margin-top:4px;display:flex}.today-title h2{margin:0}.today .btn{margin-top:12px}.greeting .md p:first-child{margin-top:0}.announcements h2{margin:18px 0 4px}.announcement h3{color:var(--gold);margin:4px 0 6px}.announcement.pinned{border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 10%, var(--surface)), var(--surface) 70%)}.ann-head{align-items:center;gap:8px;display:flex}.tag.pin{background:var(--gold-soft);color:var(--gold);margin-top:0}.program-card h1{margin:0}.program-stats{margin:4px 0 6px}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:4px;display:grid}.week-strip .day{border:1px solid var(--line);min-height:56px;color:var(--muted);background:var(--surface-2);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.week-strip .day.on{border-color:var(--pc,var(--gold));background:color-mix(in srgb, var(--pc,var(--gold)) 18%, var(--surface));color:var(--text)}.day-name{font-size:.7rem}.day-letter{color:var(--gold);justify-content:center;align-items:center;font-size:1.15rem;font-weight:900;display:inline-flex}.day-letter.rest{color:var(--line)}.day-letter.small{background:var(--gold-soft);border-radius:6px;min-width:1.6em;height:1.6em;margin-right:8px;font-size:.9rem}.day-legend{margin:10px 0 0;padding:0;list-style:none}.day-legend li{flex-wrap:wrap;align-items:center;min-height:32px;display:flex}.day-legend a{color:var(--text);font-weight:600}.workout-card{scroll-margin-top:112px}.workout-title{align-items:center;gap:12px;margin-bottom:8px;display:flex}.workout-title .day-letter{background:color-mix(in srgb, var(--pc,var(--gold)) 22%, var(--surface));border:1px solid var(--pc,var(--gold));border-radius:12px;flex:none;width:44px;height:44px;font-size:1.4rem}.workout-title h2{margin:0}.workout-card .block{margin-top:10px}.workout-card .block.pair{border-left:4px solid var(--gold);padding-left:8px}.px-row{border-top:1px solid var(--line);grid-template-columns:minmax(110px,38%) 1fr;align-items:start;gap:10px;padding:10px 0;display:grid}.block>.px-row:first-of-type,.block.pair>.px-row:first-of-type{border-top:0}.px-row .cmedia-wrap,.px-row>.cmedia{min-width:0}.px-row .cmedia-row{max-width:none;margin-top:0}.px-row .cmedia-row>video,.px-row .cmedia-row>.cmedia-yt{aspect-ratio:4/3}.px-row .cmedia-yt img,.px-row .cmedia-yt iframe{object-fit:cover;border:0;width:100%;height:100%;display:block}.px-row .cmedia-row>video{object-fit:cover}.px-row .cmedia-row .cmedia-frames{gap:4px;display:flex}.px-row .cmedia-row .cmedia-frames img{aspect-ratio:3/4;width:50%;max-width:50%;height:auto}.cmedia-row.empty{aspect-ratio:4/3;background:var(--surface-2);border-radius:8px}.px-name{font-weight:700;line-height:1.25}.px-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.px-chips .chip{background:var(--surface-2);border:1px solid var(--line);padding:2px 8px;font-size:.78rem}.px-chips .chip.strong{background:var(--gold-soft);border-color:var(--gold);color:var(--text);font-weight:700}.px-info .note{font-size:.85rem}details.panel{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin-top:14px;padding:0 12px}details.panel>summary{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-weight:700;list-style:none;display:flex}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:after{content:"▾";color:var(--gold);margin-left:auto}details.panel[open]>summary:after{content:"▴"}details.panel>summary .tag{margin-top:0}details.panel[open]{padding-bottom:12px}table.items.compact td{vertical-align:middle;padding:4px}table.items.compact tr.past{opacity:.55}.session-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:4px 0 12px;padding-left:14px;display:flex}.session-tools .hint{flex:220px;margin:0}.tools-actions{flex-wrap:wrap;gap:8px;display:flex}.block-head{min-height:var(--tap);align-items:center;gap:8px;display:flex}.block-head>span{margin-right:auto}.drag-handle{min-width:var(--tap);min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;font-size:20px;line-height:1}.drag-handle:hover,.drag-handle:focus-visible{color:var(--gold);border-color:var(--gold)}.blocks.sorting{-webkit-user-select:none;user-select:none}.blocks.sorting .drag-handle{cursor:grabbing}.block.dragging{opacity:.85;outline:2px dashed var(--gold);outline-offset:4px;border-radius:var(--radius)}.set-checks{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.set-check{display:inline-flex;position:relative}.set-check input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.set-check span{min-width:var(--tap);height:var(--tap);border:1px solid var(--line);color:var(--muted);background:var(--bg);border-radius:10px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.set-check input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}.set-check input:checked+span:before{content:"✓ "}.set-check input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.ex-card.all-done{opacity:.7}.ex-card.all-done .ex-title{text-decoration:line-through;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.cal-top{align-items:center;gap:4px;min-width:0;display:flex}.cal-day.has-event .num{color:var(--gold)}.cal-ev-icons{font-size:1rem;line-height:1;display:none}.cal-events{flex-direction:column;gap:2px;min-width:0;margin:2px 0 3px;display:flex}.cal-event{background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);min-width:0;color:var(--gold);border-radius:6px;align-items:flex-start;gap:4px;padding:2px 5px;font-size:.72rem;font-weight:800;line-height:1.2;display:flex}.cal-event-icon{flex:none;font-size:.95rem;line-height:1.05}.cal-event-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cal-day.event-only .cal-events{margin:auto 0}.cal-day.event-only .cal-event{padding:4px 6px;font-size:.78rem}.cal-day.event-only .cal-event-icon{font-size:1.15rem}.swatch-override{border:1px dashed var(--gold);border-radius:3px;width:16px;height:12px;margin-right:6px;display:inline-block}@media (width<=520px){.cal-events{display:none}.cal-ev-icons{display:inline}.cal-day.event-only .cal-ev-icons{font-size:1.3rem}.cal-day.event-only .cal-top{flex-direction:column;align-items:flex-start;gap:6px}}.month-events{margin-top:12px}.month-events .card-head{margin-bottom:8px}.event{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);margin:8px 0;padding:12px 14px}.event.kind-competition{border-left-color:var(--accent)}.event.compact{padding:8px 10px}.event-head{align-items:flex-start;gap:12px;display:flex}.event-icon{flex:none;margin-top:2px;font-size:1.6rem;line-height:1}.event.compact .event-icon{font-size:1.2rem}.event-main{flex:1;min-width:0}.event-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--gold);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.75rem;font-weight:700;display:flex}.event-when{text-transform:none;letter-spacing:0;color:var(--text);background:var(--gold-soft);border-radius:999px;padding:1px 8px}.event-title{margin:2px 0;font-size:1.05rem}.event.compact .event-title{font-size:.95rem;font-weight:700}.event-info summary{cursor:pointer;color:var(--gold);min-height:var(--tap);align-items:center;font-weight:600;display:flex}.events-card h2{margin-top:0}.events-card .event{margin:8px 0 4px}.event-list{gap:6px;margin:4px 0 12px;padding:0;list-style:none;display:grid}.event-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;padding-left:calc(1.6rem + 12px);display:flex}.event.compact .event-actions{margin-top:4px;padding-left:calc(1.2rem + 12px)}.event-actions .event-info{flex:200px}.event-actions>.btn{margin-left:auto}.event>.note{padding-left:calc(1.6rem + 12px)}.ex-card:has(>.ex-media){grid-template-columns:minmax(140px,42%) 1fr;align-items:start;display:grid}.ex-media{min-width:0}.ex-media .cmedia-row{max-width:none;margin-top:0}.ex-media .cmedia-row>video,.ex-media .cmedia-row>.cmedia-yt{aspect-ratio:4/3}.ex-media .cmedia-row>video{object-fit:cover}.ex-media .cmedia-yt img,.ex-media .cmedia-yt iframe{object-fit:cover;border:0;width:100%;height:100%;display:block}.ex-media .cmedia-row .cmedia-frames{gap:4px;display:flex}.ex-media .cmedia-row .cmedia-frames img{aspect-ratio:3/4;width:50%;max-width:50%;height:auto}.ex-media .cmedia-row .cmedia-frames img:only-child{aspect-ratio:4/3;width:100%;max-width:100%}@media (width<=480px){.ex-card:has(>.ex-media){grid-template-columns:1fr}.ex-media .cmedia-row>video,.ex-media .cmedia-row>.cmedia-yt{aspect-ratio:16/9}.ex-media .cmedia-row .cmedia-frames img{aspect-ratio:1;max-height:200px}.ex-media .cmedia-row .cmedia-frames img:only-child{aspect-ratio:16/9}}.day-plan h3{margin:0 0 2px}.day-plan-list{gap:4px;margin:10px 0;padding-left:0;list-style:none;display:grid}.day-plan-list .label{min-width:2.2em;display:inline-block}.day-info .howto-body>h3{margin:16px 0 4px}.cal{margin-bottom:4px}.day-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;padding:8px;position:relative}.day-nav-row{align-items:center;gap:6px;display:flex}.day-nav-date{min-width:0;min-height:var(--tap);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 8px;display:flex}.day-nav-date:hover,.day-nav-date:focus-visible{border-color:var(--line);background:var(--bg)}.day-nav-main{color:var(--gold);text-align:center;font-size:1.05rem;font-weight:800}.day-nav-sub{color:var(--muted);font-size:.8rem}.date-picker{position:absolute;top:40px;left:50%}.week-pick{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px;display:grid}.wp-day{background:var(--bg);border:1px solid var(--line);min-height:56px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:4px 0;display:flex}.wp-day.has-workout{background:color-mix(in srgb, var(--pc) 16%, var(--bg));border-color:color-mix(in srgb, var(--pc) 45%, var(--line))}.wp-day.today .wp-num{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.wp-day.selected{border:2px solid var(--gold);box-shadow:0 0 0 1px var(--gold)}.wp-wd{color:var(--muted);text-transform:uppercase;font-size:.68rem}.wp-num{font-size:.95rem;font-weight:800}.wp-mark{min-height:.8rem;color:var(--pc,var(--gold));font-size:.7rem;line-height:1}.today-btn{margin:8px auto 0;display:flex}.programs-list li{flex-wrap:nowrap}.programs-list li>a{flex:1 1 0;min-width:0}.ex-actions{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;display:flex}.ex-actions .set-checks{margin:0}.ex-actions .howto-btn{margin-left:auto}@media (width<=600px){.program-chips{scrollbar-width:none;flex-wrap:nowrap;margin-left:-4px;padding:0 4px 2px;overflow-x:auto}.program-chips::-webkit-scrollbar{display:none}.program-chip{white-space:nowrap;flex:none}}.cal-day.today,.cal-day.today.has-workout,.cal-day.today.override{border:2px solid var(--gold);box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 35%, transparent), 0 0 14px color-mix(in srgb, var(--gold) 30%, transparent);outline:none}.cal-day.today.has-workout{box-shadow:inset 3px 0 0 var(--pc,var(--accent)), 0 0 0 2px color-mix(in srgb, var(--gold) 35%, transparent), 0 0 14px color-mix(in srgb, var(--gold) 30%, transparent)}.cal-day.today .num{background:var(--gold);min-width:1.6em;height:1.6em;color:var(--on-gold);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-weight:900;display:inline-flex}.account{align-items:center;gap:4px;min-width:0;display:flex}.account-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:30vw;font-size:.85rem;overflow:hidden}.tabs.scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-basis:100%;overflow-x:auto}.tabs.scroll::-webkit-scrollbar{display:none}.tabs.scroll .tab{white-space:nowrap;scroll-snap-align:start;flex:1 0 auto;padding:0 10px}fieldset.field.plain{border:0;min-width:0;margin:10px 0;padding:0}fieldset.field.plain legend{color:var(--muted);margin-bottom:4px;padding:0;font-size:.85rem;font-weight:600}.members-tools{flex-direction:column;gap:8px;margin:12px 0;display:flex}.members-tools input[type=search]{width:100%}.members-filters{flex-wrap:wrap;gap:6px;display:flex}.members-filters .chip-option{background:var(--surface);color:var(--text);font:inherit;font-size:.9rem}.members-filters .chip-option.on{background:var(--accent-soft);border-color:var(--accent)}.members-filters .count{color:var(--muted);font-size:.8rem}.members-filters .count.hot{color:var(--accent-text);background:var(--accent);border-radius:999px;padding:0 7px}.member-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.member-name{overflow-wrap:anywhere;min-width:0}.member-badges{flex-wrap:wrap;gap:4px;display:flex}.member-badges .tag{margin-top:0}.tag.admin{background:var(--gold-soft);color:var(--gold)}.tag.team{background:var(--ok-soft,#1d3318);color:var(--ok,#5fbf4a)}.tag.pending{background:var(--warn-bg);color:var(--warn-text)}.card.member.pending{border-color:var(--gold)}.member-comment{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.member-edit h3{margin-top:12px}.password-row{align-items:flex-end}.password-row .field{flex:160px;margin:0}.btn.danger{border-color:var(--danger,#e53935);color:var(--danger,#e53935);background:0 0}.members-list{flex-direction:column;gap:6px;display:flex}.members-list>.card{margin:0;padding:10px 12px}details.member-row{background:var(--surface);border:1px solid var(--line);border-radius:12px}details.member-row[open]{border-color:var(--gold)}details.member-row>summary{cursor:pointer;min-height:var(--tap);grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:6px 10px 6px 12px;list-style:none;display:grid}details.member-row>summary::-webkit-details-marker{display:none}details.member-row>summary>*{grid-column:1;min-width:0}details.member-row>summary>.member-chevron{color:var(--gold);grid-area:1/2/span 3;transition:transform .15s}details.member-row[open]>summary>.member-chevron{transform:rotate(180deg)}details.member-row>summary .member-head{align-items:center}details.member-row .member-facts{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}details.member-row .member-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}details.member-row>:not(summary){margin-left:12px;margin-right:12px}details.member-row>:last-child{margin-bottom:10px}.card.member.pending .row{margin-top:6px}.card.member.pending>p{margin:4px 0}.crew-settings-card input{flex:none;width:7em}.crew-settings-card .field-label{color:var(--muted);margin-top:8px;font-size:.85rem;font-weight:600;display:block}.crew-settings-card .row.tight-top{margin-top:4px}.crew-settings-card>p.muted{line-height:1.5}.block-order{counter-reset:blk;flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.block-order li{min-height:var(--tap);border:1px solid var(--line);background:var(--surface-2);counter-increment:blk;border-radius:10px;align-items:center;gap:4px;padding:0 4px 0 12px;display:flex}.block-order li:before{content:counter(blk) ".";color:var(--gold);margin-right:6px;font-weight:700}.block-order .icon-btn:disabled{opacity:.3;cursor:default}.block-order li{padding-left:4px}.block-order li:before{order:1}.block-order li>.drag-handle{order:0}.block-order li>*{order:2}.block-order.sorting,.sort-list.sorting{-webkit-user-select:none;user-select:none}.block-order li.dragging,.sort-item.dragging{opacity:.85;outline:2px dashed var(--gold);outline-offset:2px}.sort-list{flex-direction:column;display:flex}.sort-item{align-items:flex-start;gap:6px;display:flex}.sort-item>.drag-handle{flex:none;margin-top:6px}.sort-item>details{flex:auto;min-width:0}.ex-lib-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.ex-lib-bar .toggle{min-height:var(--tap);font-size:.85rem}.ex-lib-scroll{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;max-height:min(52vh,420px);margin-top:4px;overflow-y:auto}.admin-list.ex-lib{margin:0}.admin-list.ex-lib li{flex-wrap:nowrap;padding:0 10px}.admin-list.ex-lib li:last-child{border-bottom:0}.admin-list.ex-lib li>a{flex:auto;min-width:0;font-size:.95rem;text-decoration:none}.admin-list.ex-lib li>a:hover{text-decoration:underline}.ex-unused{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:.72rem}.home-blocks{flex-direction:column;gap:4px;display:flex}.home-block{border:1px dashed var(--line);border-radius:var(--radius);padding:2px 6px 6px}.home-block>.card,.home-block>section{margin-top:4px;margin-bottom:0}.home-block-bar{align-items:center;gap:4px;display:flex}.home-block-name{min-width:0;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:auto;font-size:.78rem}.home-block-bar .icon-btn:disabled{opacity:.3;cursor:default}.home-block-empty{margin:4px 6px}.home-blocks.sorting{-webkit-user-select:none;user-select:none}.home-block.dragging{opacity:.85;outline:2px dashed var(--gold);outline-offset:2px}.boats-page{--b-ok:var(--ok,#5fbf4a);--b-ok-soft:var(--ok-soft,#1d3318);--b-bad:var(--danger,#e53935);--b-bad-soft:var(--danger-soft,#3a1414);--b-glow:color-mix(in srgb, var(--b-ok) 30%, transparent)}@media (width>=900px){#app.wide{max-width:1100px}}.boats-head-actions{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.boat-save{min-height:1.4em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;font-size:.85rem;display:flex}.boat-save.ok{color:var(--b-ok)}.boat-save.bad{color:var(--b-bad);font-weight:600}.boat-tabs{scrollbar-width:thin;gap:6px;padding:2px 0 6px;display:flex;overflow-x:auto}.boat-tab{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;padding:4px 14px;line-height:1.15;display:flex}.boat-tab.active{color:var(--text);border-color:var(--b-ok);box-shadow:0 0 10px var(--b-glow), inset 0 0 0 1px var(--b-ok)}.boat-tab-name{font-weight:700;font-family:var(--font-display,inherit)}.boat-tab-size{color:var(--muted);font-size:.72rem}.boat-controls{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:6px 0 10px;display:flex}.boat-field{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex}.boat-field input,.boat-field select{width:100%}.boat-actions{gap:6px;display:flex}.boats-layout{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=900px){.boats-layout.has-boat{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);align-items:start}.boats-layout.has-boat .crew{max-height:calc(100vh - 88px);position:sticky;top:72px;overflow-y:auto}}.boat-panel{background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--b-ok) 7%, var(--surface)), var(--surface) 70%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--b-ok) 12%, transparent);padding:10px 8px 12px;position:relative}.boat-balance{padding:2px 4px 8px}.bal-sides{grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;display:grid}.bal-side{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.bal-side.right{align-items:flex-end}.bal-side strong{font-size:1.1rem;font-family:var(--font-display,inherit);color:var(--b-ok);text-shadow:0 0 8px var(--b-glow)}.bal-side.bad strong{color:var(--b-bad);text-shadow:0 0 8px color-mix(in srgb, var(--b-bad) 40%, transparent)}.bal-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.bal-bias{text-align:center;color:var(--gold);white-space:nowrap;font-size:.85rem}.bal-meter{background:var(--b-bad-soft);border:1px solid var(--line);border-radius:999px;height:10px;margin:8px 2px 4px;position:relative;overflow:hidden}.bal-zone{background:var(--b-ok-soft);position:absolute;top:0;bottom:0}.bal-mid{background:var(--muted);width:1px;position:absolute;top:0;bottom:0;left:50%}.bal-marker{background:var(--b-ok);width:6px;box-shadow:0 0 8px var(--b-ok);border-radius:3px;margin-left:-3px;transition:left .25s;position:absolute;top:-1px;bottom:-1px}.boat-balance.bad .bal-marker{background:var(--b-bad);box-shadow:0 0 8px var(--b-bad)}.bal-verdict{text-align:center;margin:0;font-size:.8rem;font-weight:600}.bal-verdict.ok{color:var(--b-ok)}.bal-verdict.bad{color:var(--b-bad)}.boat-hull-wrap{max-width:520px;margin:4px auto 0;position:relative}.boat-sides-head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-template-columns:1fr auto 1fr;padding:0 6px;font-size:.68rem;display:grid}.boat-sides-head span:last-child{text-align:right}.boat-bow{color:var(--gold)}.boat-head{z-index:1;width:64px;height:42px;margin:0 auto -8px;display:block;position:relative}.boat-head .head-shape{fill:var(--surface-2);stroke:var(--b-ok);stroke-width:2px;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--b-glow))}.boat-head .head-line{fill:none;stroke:var(--b-ok);stroke-width:1.5px;opacity:.6}.boat-head .head-eye{fill:var(--gold)}.boat-hull{border:2px solid var(--b-ok);background:linear-gradient(180deg, color-mix(in srgb, var(--b-ok) 6%, var(--bg)), var(--bg));box-shadow:0 0 16px var(--b-glow), inset 0 0 14px color-mix(in srgb, var(--b-ok) 10%, transparent);border-radius:46% 46% 22px 22px/64px 64px 22px 22px;padding:18px 6px 12px;position:relative}.boat-hull:before{content:"";background:color-mix(in srgb, var(--b-ok) 35%, transparent);width:1px;position:absolute;top:10px;bottom:10px;left:50%}.boat-stern{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:.68rem}.boat-special{justify-content:center;display:flex;position:relative}.boat-special .seat{width:min(62%,200px)}.boat-rows{flex-direction:column;gap:5px;margin:8px 0;display:flex}.boat-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch;gap:4px;display:grid;position:relative}.row-mid{font-variant-numeric:tabular-nums;z-index:1;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex}.row-num{color:var(--muted);font-size:.72rem;font-weight:700}.row-diff{color:var(--muted);font-size:.68rem;font-weight:700}.boat-row.st-ok .row-diff{color:var(--b-ok)}.boat-row.st-bad .row-diff{color:var(--b-bad)}.seat{min-height:var(--tap);border:1px solid var(--line);background:var(--surface-2);min-width:0;color:var(--text);font:inherit;text-align:left;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;flex-direction:column;justify-content:center;gap:0;padding:3px 6px;line-height:1.15;display:flex;position:relative}button.seat{cursor:pointer}.seat.side-right{text-align:right;align-items:flex-end}.seat.special{text-align:center;border-color:color-mix(in srgb, var(--gold) 55%, var(--line));align-items:center}.seat-role{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:.62rem}.seat-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.82rem;font-weight:700;display:block;overflow:hidden}.seat-kg{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.seat.vacant{background:0 0;border-style:dashed}.seat.vacant .seat-name{font-weight:400}.boat-row.st-ok .seat.filled{border-color:var(--b-ok);background:var(--b-ok-soft);box-shadow:0 0 6px var(--b-glow)}.boat-row.st-bad .seat.filled{border-color:var(--b-bad);background:var(--b-bad-soft);box-shadow:0 0 6px color-mix(in srgb, var(--b-bad) 35%, transparent)}.seat.warn:after{content:"!";color:var(--gold);font-size:.75rem;font-weight:900;position:absolute;top:2px;right:5px}.seat.side-right.warn:after{left:5px;right:auto}.seat.missing .seat-name{color:var(--muted)}.seat.target{outline:1px dashed color-mix(in srgb, var(--gold) 60%, transparent);outline-offset:-3px}.seat.selected,.seat.drop-over{outline:2px solid var(--gold);outline-offset:1px;box-shadow:0 0 12px color-mix(in srgb, var(--gold) 50%, transparent)}.seat:focus-visible,.crew-pick:focus-visible,.boat-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.seat.dragging,.crew-pick.dragging{opacity:.45}.boat-info{padding:8px 4px 0}.boat-info p{margin:6px 0 0}.boat-stats{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;display:grid}.boat-stats>div{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.boat-stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.boat-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.bal-bad-text{color:var(--b-bad)}.boat-warnings h3{color:var(--gold);margin:10px 0 4px;font-size:.9rem}.boat-warnings ul{margin:0;padding-left:18px;font-size:.85rem}.boat-warnings li{margin:2px 0}.crew{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:10px}.crew.drop-over{outline:2px dashed var(--b-bad);outline-offset:-4px}.crew-title{font-family:var(--font-display,inherit);margin:0 0 4px}.crew-summary{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.crew-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.82rem}.crew-chip.gold{background:var(--gold-soft);color:var(--gold);font-variant-numeric:tabular-nums;border-color:#0000}.crew-settings{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:2px;margin:6px 0 10px;padding:8px;display:grid}.crew-settings label{font-size:.85rem;font-weight:600}.crew-settings-row{align-items:center;gap:8px;display:flex}.crew-settings input{width:6em;min-height:var(--tap)}.crew-settings .btn{min-height:var(--tap)}.crew-settings p{margin:2px 0 0}.crew-ok{color:var(--b-ok)}.crew-section{margin:12px 0 0}.crew-h{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-size:.8rem}.crew-h .muted{letter-spacing:0}.crew-block{--blk:var(--line);--blk-bg:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--blk);background:var(--blk-bg);border-radius:10px;margin:0 0 8px;overflow:hidden}.crew-block.blk-0{--blk:var(--gold);--blk-bg:color-mix(in srgb, var(--gold) 20%, var(--surface))}.crew-block.blk-1{--blk:var(--accent);--blk-bg:color-mix(in srgb, var(--accent) 13%, var(--surface))}.crew-block.blk-2{--blk:var(--b-ok);--blk-bg:color-mix(in srgb, var(--b-ok) 9%, var(--surface))}.crew-block.blk-n{--blk:var(--muted);--blk-bg:var(--surface-2)}.crew-block.blk-n.alt{--blk:var(--line);--blk-bg:var(--surface)}.crew-block-h{letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:color-mix(in srgb, var(--blk) 22%, transparent);font-variant-numeric:tabular-nums;margin:0;padding:5px 10px;font-size:.78rem;font-weight:800}.crew-block.blk-0 .crew-block-h{color:var(--gold)}.crew-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;display:flex}.crew-head .crew-title{margin:0}.crew-block-h{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.crew-block-avg{letter-spacing:.02em;text-transform:none;color:var(--muted);white-space:nowrap;font-weight:700}.crew-block.blk-0 .crew-block-avg{color:var(--gold)}.crew-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.crew-section>.crew-list{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;overflow:hidden}.crew-row{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;padding:3px 6px 3px 2px;display:grid;position:relative}.crew-list>.crew-row:first-child{border-top:0}.crew-row.seated .crew-pick{opacity:.55}.crew-row.selected{background:color-mix(in srgb, var(--gold) 14%, transparent)}.crew-pick{min-width:0;min-height:var(--tap);color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:2px 4px;display:flex}button.crew-pick{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button.crew-pick:hover{border-color:var(--line)}.crew-pick.selected{opacity:1;outline:2px solid var(--gold);outline-offset:1px;box-shadow:0 0 10px color-mix(in srgb, var(--gold) 45%, transparent)}.crew-rank{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 2em;font-size:.85rem;font-weight:800}.crew-block .crew-rank{color:var(--blk)}.crew-block.blk-n .crew-rank{color:var(--muted)}.crew-who{flex-direction:column;flex:auto;min-width:0;line-height:1.2;display:flex}.crew-name{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.crew-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem}.crew-tag{color:var(--text);border-radius:999px;margin-left:6px;padding:0 6px;font-size:.68rem;display:inline-block}.crew-tag.here{background:var(--accent-soft)}.crew-tag.other{background:var(--gold-soft)}.crew-time{font-variant-numeric:tabular-nums;color:var(--text);min-height:var(--tap);justify-content:flex-end;align-items:center;min-width:4.2em;font-size:1rem;font-weight:800;display:inline-flex}button.crew-time.edit{background:var(--surface);border:1px solid var(--line);font:inherit;font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;padding:0 10px;font-weight:800}button.crew-time.edit[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}button.crew-time.edit:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.crew-edit{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-column:1/-1;grid-template-columns:1fr 1fr;column-gap:8px;margin:4px 0 6px;padding:8px;display:grid}.crew-edit .field{margin:4px 0}.crew-edit .field>span{color:var(--muted);font-size:.8rem;font-weight:600}.crew-edit .field:first-child,.crew-edit .row,.crew-edit .error{grid-column:1/-1}.crew-edit .row{margin-top:6px}.crew-edit input,.crew-edit select{min-height:var(--tap);width:100%}.boat-selbar{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--gold);background:var(--surface);width:min(560px,100vw - 16px);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:.88rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000073}.boats-page.can-edit .boats-body{padding-bottom:64px}.boat-ghost{z-index:60;pointer-events:none;white-space:nowrap;color:var(--text);background:var(--surface-2);border:1px solid var(--gold);box-shadow:0 0 14px color-mix(in srgb, var(--gold) 45%, transparent), 0 8px 24px #00000080;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:800;position:fixed;top:0;left:0}.dd-active,.dd-active *{cursor:grabbing!important}dialog.boat-menu{width:min(420px,100vw);height:fit-content}@media (width<=600px){dialog.boat-menu{border-radius:var(--radius) var(--radius) 0 0;width:100vw;height:fit-content;margin:auto auto 0}}.boat-menu-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}@media (width<=380px){.boat-panel{padding:8px 4px 10px}.boat-hull{padding:16px 4px 10px}.boat-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:3px}.seat{padding:3px 4px}.seat-name{font-size:.78rem}}.seat.off-block{outline:2px dashed var(--gold);outline-offset:-3px;background:var(--gold-soft)}.seat.off-block:before{content:"≠";color:var(--gold);font-size:.75rem;font-weight:900;position:absolute;top:2px;left:5px}.side-left.off-block .seat-name{padding-left:10px}.off-block-note{border-color:var(--gold)}.hull-trim{grid-template-columns:minmax(0,1fr) 64px;align-items:stretch;gap:6px;display:grid}.boat-zone{border-radius:12px;margin:2px 0;padding:2px 2px 4px;position:relative}.boat-zone .boat-rows{margin:4px 0}.zone-front{background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 12%, transparent), color-mix(in srgb, var(--gold) 5%, transparent))}.zone-back{background:linear-gradient(0deg, color-mix(in srgb, var(--text) 10%, transparent), color-mix(in srgb, var(--text) 3%, transparent))}.zone-mid{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--muted) 10%, transparent) 0 6px, transparent 6px 12px);outline:1px dashed color-mix(in srgb, var(--muted) 45%, transparent)}.zone-front+.boat-zone,.zone-mid+.zone-back{border-top:1px dashed color-mix(in srgb, var(--muted) 55%, transparent);border-top-left-radius:0;border-top-right-radius:0}.zone-label{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;padding:2px 0;font-size:.66rem;font-weight:700}.zone-front>.zone-label{color:var(--gold)}.zone-back>.zone-label{color:var(--text)}.trim-meter{flex-direction:column;align-items:center;gap:6px;min-width:0;padding:4px 0;display:flex}.trim-side{text-align:center;align-items:center}.trim-side strong{font-size:1rem;line-height:1.15}.trim-body{flex:auto;justify-content:center;align-items:stretch;gap:4px;min-height:160px;display:flex}.trim-text{writing-mode:vertical-rl;text-align:center;white-space:nowrap;transform:rotate(180deg)}.trim-track{background:var(--b-bad-soft);border:1px solid var(--line);border-radius:999px;width:10px;position:relative;overflow:hidden}.trim-zone{background:var(--b-ok-soft);position:absolute;left:0;right:0}.trim-mid{background:var(--muted);height:1px;position:absolute;top:50%;left:0;right:0}.trim-marker{background:var(--b-ok);height:6px;box-shadow:0 0 8px var(--b-ok);border-radius:3px;margin-top:-3px;transition:top .25s;position:absolute;left:-1px;right:-1px}.trim-meter.bad .trim-marker{background:var(--b-bad);box-shadow:0 0 8px var(--b-bad)}.trim-ok-text{color:var(--b-ok)}@media (width<=420px){.hull-trim{grid-template-columns:minmax(0,1fr) 54px;gap:3px}.trim-side strong{font-size:.88rem}}.boat-hull{padding:0;overflow:hidden}.boat-hull>.boat-zone{border-radius:0;margin:0}.boat-hull>.zone-front{padding:18px 6px 4px}.boat-hull>.zone-mid{border-top:1px dashed color-mix(in srgb, var(--muted) 55%, transparent);outline:none;padding:2px 6px}.boat-hull>.zone-back{padding:4px 6px 12px}.hull-trim>.boat-sides-head{grid-template-columns:1fr auto 1fr;align-items:end;margin-bottom:-2px;padding:0 6px}.hull-trim>.boat-sides-head span{align-self:center}.hull-trim>.boat-sides-head .boat-head{display:block}.trim-text{font-weight:700}.boats-title{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.boats-title .boat-save{min-height:0;margin:0}.boats-page .page-head{margin-bottom:4px}.boats-page .boat-tabs{padding-top:0}.hull-trim>.boat-balance{min-width:0;padding-left:0;padding-right:0}.hull-trim .bal-side strong{white-space:nowrap}@media (width<=420px){.hull-trim .bal-side strong{font-size:.95rem}.hull-trim .bal-bias{white-space:normal;font-size:.74rem}.hull-trim .bal-sides{gap:4px}}.hull-trim .trim-side strong{white-space:normal}.boat-tabs-row{align-items:center;gap:8px;display:flex}.boat-tabs-row>.boat-tabs{flex:auto;min-width:0}.boat-tabs-row>span:first-child{flex:auto}.boat-tabs-row>.boats-head-actions{flex:none}.boats-page .page-head{min-height:0}.boat-total{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 14px;padding:8px 10px;display:grid}.tw-main{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.tw-value{font-size:1.5rem;line-height:1.1;font-family:var(--font-display,inherit);color:var(--gold)}.tw-sub{color:var(--muted);font-size:.75rem}.tw-parts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.tw-part{border-left:1px solid var(--line);font-variant-numeric:tabular-nums;flex-direction:column;min-width:0;padding-left:8px;display:flex}.tw-part .bal-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tw-part strong{font-size:.95rem}@media (width<=420px){.boat-total{grid-template-columns:minmax(0,1fr)}.tw-part:first-child{border-left:0;padding-left:0}.tw-part .bal-label{white-space:normal;overflow-wrap:anywhere;letter-spacing:.04em}}.bal-side .bal-label{white-space:nowrap}@media (width<=420px){.bal-side .bal-label{letter-spacing:.04em;font-size:.64rem}}
