:root{color-scheme:dark;--bg:#0b1011;--nav:#101617;--panel:#161d1e;--panel2:#1b2425;--line:#2a3435;--text:#f3f6ef;--muted:#8e9a99;--lime:#dbfb55;--orange:#ff995f;--red:#fb796b;--radius:18px;--sidebar:242px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}::selection{background:var(--lime);color:#111}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.hidden{display:none!important}
.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:var(--nav);border-right:1px solid var(--line);padding:31px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:4px 13px 40px}.brand-glyph{display:grid;place-items:center;background:var(--lime);color:#101515;width:48px;height:48px;font-size:28px;font-weight:1000;letter-spacing:-.12em;transform:skew(-7deg)}.brand-slash{font-size:21px}.brand-name{font-size:21px;font-weight:950;line-height:1;letter-spacing:-.055em}.brand-name-sub{display:block;font-size:9px;font-weight:800;letter-spacing:.18em;margin-top:7px;color:var(--lime)}.sidebar-label,.overline{font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--muted)}.sidebar-label{padding:0 14px 11px}.nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:1px solid transparent;background:transparent;color:#a8b4b1;border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 12px;font-size:13px;font-weight:700;transition:.18s}.nav-item:hover{background:#1b2324;color:white}.nav-item.selected{background:#222d27;color:var(--lime);border-color:#3e4a32}.nav-number{font-size:10px;opacity:.55;font-weight:800}.nav-symbol{margin-left:auto;font-size:17px;opacity:.55}.sidebar-bottom{margin-top:auto;padding:0 11px}.sidebar-rule{border-top:1px solid var(--line);margin-bottom:21px}.format-block{display:flex;align-items:baseline;gap:10px;margin:9px 0}.format-block strong{font-size:23px;font-weight:900;letter-spacing:-.08em}.format-block span{font-size:10px;font-weight:800;letter-spacing:.09em;color:#9aa9a4}.sidebar-bottom p{font-size:11px;color:#71817e;line-height:1.8;margin-top:26px}
.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(18px,3.4vw,52px);gap:14px}.crumb{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:850;letter-spacing:.13em;white-space:nowrap}.crumb-divider{color:#64716b}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7f8c83}.dot-lime,.sync-status.ok .dot{background:var(--lime);box-shadow:0 0 11px #ddf96350}.sync-status.error .dot{background:var(--red)}.sync-status.busy .dot{background:var(--orange)}.top-actions{display:flex;align-items:center;gap:11px}.sync-status{color:#a7b3aa;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;white-space:nowrap}.icon-btn{border:1px solid var(--line);background:var(--panel);color:#d4ded8;width:36px;height:36px;border-radius:9px;font-size:20px;display:grid;place-items:center}.icon-btn:hover{border-color:#717e63;color:var(--lime)}.button{border:1px solid transparent;border-radius:9px;padding:12px 18px;font-size:11px;font-weight:900;letter-spacing:.09em;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px}.button-lime{background:var(--lime);color:#111810}.button-lime:hover{background:#e9ff92}.button-outline{border-color:#4a564a;background:#202925;color:#e7f3e4}.button-outline:hover{border-color:var(--lime);color:var(--lime)}.button-ghost{background:#2a3535;color:#e0e8dd}.button-danger{background:#442826;color:#ffb1a8;border-color:#5d3732}.button-small{padding:8px 13px;min-height:36px}.button.full{width:100%}.page-content{width:100%;max-width:1510px;margin:0 auto;padding:36px clamp(18px,3.4vw,52px) 60px;flex:1}.footer{border-top:1px solid var(--line);margin-top:auto;padding:20px clamp(18px,3.4vw,52px);color:#667673;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.15em;font-weight:800}.footer-mark{color:var(--lime);font-size:14px}
h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(38px,5.6vw,78px);line-height:.99;font-weight:950;letter-spacing:-.07em}h2{font-size:clamp(24px,3.4vw,36px);line-height:1.1;font-weight:900;letter-spacing:-.045em}h3{font-size:17px;letter-spacing:-.025em;font-weight:850}p{color:#a3b0ac}.page-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:27px}.page-head h1{margin-bottom:0;font-size:clamp(36px,4vw,56px)}.page-head .overline{margin-bottom:10px}.muted{color:var(--muted)}.tiny{font-size:11px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--lime)}.hero{border:1px solid #3b4436;border-radius:var(--radius);position:relative;overflow:hidden;min-height:328px;background:radial-gradient(ellipse at 96% 0%,#435236 0%,#252f29 30%,#171f20 73%);display:flex;align-items:stretch}.hero::after{content:'H/';font-size:clamp(170px,25vw,360px);font-weight:1000;color:#ebffec07;position:absolute;right:-.1em;bottom:-.5em;transform:skew(-9deg);line-height:1;pointer-events:none}.hero-left{padding:clamp(25px,4vw,55px);position:relative;z-index:1;max-width:800px;display:flex;flex-direction:column;align-items:start}.hero .overline{color:#bcda88}.hero h1{margin:25px 0 20px}.hero h1 span{color:var(--lime)}.hero p{max-width:590px;line-height:1.7;margin-bottom:28px;font-size:15px}.hero-caption{display:inline-flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.12em;font-size:10px;color:#e6f1d5}.hero-caption .pulse{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #ddfa5520}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap}.ribbon{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.ribbon-item{border:1px solid var(--line);background:#192121;border-radius:10px;padding:15px 18px;min-width:150px;flex:1}.ribbon-item span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}.ribbon-item strong{display:block;margin-top:5px;font-size:18px;letter-spacing:-.02em}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:30px 0 17px}.section-head h2{margin:0;font-size:23px}.section-head .overline{margin:0 0 5px}.small-link{background:none;border:none;color:var(--lime);font-size:11px;font-weight:850;letter-spacing:.04em}.small-link:hover{text-decoration:underline}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:23px}.card-compact{padding:17px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card-head .overline{margin:0}.card h3{margin-bottom:8px}.label-chip{font-size:10px;font-weight:850;letter-spacing:.05em;padding:5px 10px;border:1px solid #4d5849;border-radius:999px;background:#243024;color:#d1e8bc;white-space:nowrap}.label-chip.run{color:#9dc6ff;background:#1c2b37;border-color:#33485b}.label-chip.hyrox{color:#e8fa7f}.label-chip.strength{color:#ffc09e;background:#382b25;border-color:#5b3f32}.label-chip.recovery{color:#a9e5db;background:#1d3332}.label-chip.done,.label-chip.confident{color:#dbff8f;background:#26351e}.label-chip.progress{color:#ffc196;background:#3a2c20}.label-chip.notstarted{color:#b2c2ba;background:#2a3331}.meta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#a1b2ad;font-size:11px}.meta-row span{display:flex;align-items:center;gap:5px}.session-row{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:15px;align-items:start}.session-row:first-of-type{border-top:0}.session-day{font-size:10px;font-weight:900;letter-spacing:.08em;color:#d1e4a0;background:#273225;border:1px solid #3f4c35;border-radius:8px;min-width:50px;text-align:center;padding:10px 6px}.session-info{flex:1;min-width:0}.session-info strong{display:block;font-size:14px;font-weight:800;margin:0 0 5px}.session-info p{font-size:12px;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.session-end{display:flex;align-items:center;gap:9px}.check{appearance:none;width:21px;height:21px;border:1px solid #708074;border-radius:6px;background:#222d2b;cursor:pointer;display:grid;place-items:center;flex-shrink:0;margin:0}.check:checked{background:var(--lime);border-color:var(--lime)}.check:checked:after{content:'✓';font-weight:950;color:#19211b;font-size:14px}.session-row.complete .session-info strong{text-decoration:line-through;color:#9da99c}.muted-row{opacity:.7}.empty{border:1px dashed #3d4945;border-radius:14px;padding:42px 22px;text-align:center;color:var(--muted)}.empty strong{color:white;display:block;margin-bottom:8px;font-size:17px}.mini-stations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mini-station{border:1px solid #303b36;border-radius:10px;background:#1a2421;padding:14px;text-align:left}.mini-station:hover{border-color:var(--lime)}.mini-station strong{font-size:20px;font-weight:950;color:var(--lime)}.mini-station span{display:block;font-size:11px;font-weight:800;margin-top:5px;line-height:1.3}.mini-station small{color:#819088;font-size:10px}.progress-track{height:5px;background:#303b36;border-radius:8px;overflow:hidden;margin-top:14px}.progress-fill{height:100%;background:var(--lime);border-radius:8px;transition:width .3s}.focus-card{background:linear-gradient(150deg,#212d22,#1a2321);border-color:#3a5036}.focus-card blockquote{margin:15px 0 0;font-size:18px;line-height:1.5;font-weight:750;color:#eaf4e1;white-space:pre-wrap;overflow-wrap:anywhere}.focus-card .micro{margin-top:18px;color:#92ad86;font-size:10px;font-weight:850;letter-spacing:.1em}
.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.week-toolbar p{margin:0;font-size:13px}.day-group{margin-bottom:26px}.day-name{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:900;letter-spacing:.08em;margin:0 0 12px}.day-name span{color:var(--lime);font-size:11px}.day-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px}.day-card{padding:18px 18px 14px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.day-card.is-complete{border-color:#405239}.day-card-title{display:flex;align-items:start;justify-content:space-between;gap:9px;margin:14px 0 11px}.day-card-title strong{font-size:16px;line-height:1.35}.day-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;min-height:38px;margin:9px 0}.day-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.day-footer button{background:transparent;border:none;color:var(--lime);font-weight:850;font-size:11px}.day-empty{border:1px dashed #293532;color:#60716a;border-radius:12px;padding:19px;font-size:12px}
.station-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.station-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:23px;position:relative;overflow:hidden}.station-card:before{content:'';position:absolute;right:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,#3e5131)}.station-number{color:var(--lime);font-size:27px;font-weight:950;letter-spacing:-.08em}.station-top{display:flex;align-items:start;justify-content:space-between}.station-card h3{font-size:24px;margin:18px 0 4px}.station-distance{font-size:11px;font-weight:900;letter-spacing:.1em;color:#9aaf9b}.station-card .focus{color:#c3d0c7;font-size:13px;margin:20px 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.station-card .plan{border-top:1px solid var(--line);padding-top:14px;font-size:12px;min-height:55px;white-space:pre-wrap;overflow-wrap:anywhere}.station-card .station-edit{margin-top:14px}.rule-note{padding:16px;border:1px solid #343e36;background:#19211c;border-radius:12px;color:#a8b5a6;font-size:12px;margin-top:20px}.rule-note strong{color:#e0ead5}
.note-form,.edit-form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label,.field-label{font-size:10px;font-weight:850;letter-spacing:.13em;color:#a8b8af}.field input,.field select,.field textarea,.text-input{background:#0e1718;color:#edf4ee;border:1px solid #384648;border-radius:9px;padding:12px 13px;width:100%;min-height:44px;outline:none}.field textarea{resize:vertical;min-height:110px;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lime)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.note-stack{display:flex;flex-direction:column;gap:13px}.note-card .note-author{display:flex;justify-content:space-between;align-items:start;gap:12px}.note-author strong{display:block;font-size:14px}.note-author small{color:var(--muted)}.note-card p{margin:16px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#d6e1d9;font-size:14px}.note-remove{background:none;border:none;color:#b6a4a0;font-size:11px;text-decoration:underline}.note-remove:hover{color:var(--red)}
.timeline{border-left:1px solid #39473e;margin:15px 0 0 12px;padding-left:24px}.timeline-item{position:relative;border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:16px;margin:0 0 14px}.timeline-item:before{content:'';position:absolute;left:-31px;top:20px;width:11px;height:11px;background:var(--lime);border:3px solid var(--bg);border-radius:50%}.timeline-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.timeline-item p{margin:10px 0 4px;color:#f3f7ec;font-weight:850}.timeline-item small{color:var(--muted)}.revision{font-size:12px;font-weight:950;color:var(--lime)}.history-help{border:1px solid #46523e;background:#1d291f;border-radius:11px;padding:19px;color:#b8c9b2;font-size:13px;margin-bottom:23px}.history-help strong{color:#eef8df}.history-help p{margin:6px 0 0}.helper{font-size:11px;line-height:1.5;color:#8d9c94;margin:3px 0 0}
.modal{border:1px solid #455546;background:#182122;color:#eaf0e7;border-radius:17px;padding:0;width:min(92vw,580px);max-height:min(90vh,850px);box-shadow:0 45px 110px #000b;overflow:auto}.modal::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:25px 27px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:25px;margin:6px 0 0}.modal #modal-content{padding:24px 27px 28px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:9px}.modal-actions .button-danger{margin-right:auto}.modal .helper{padding-bottom:8px}.modal .form-status{font-size:12px;color:var(--red);margin:0}.toast{position:fixed;bottom:24px;right:23px;border-radius:11px;background:#d9ff80;color:#15201b;padding:13px 20px;z-index:12;box-shadow:0 13px 38px #0008;font-size:12px;font-weight:850;max-width:min(90vw,440px);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}.toast.is-error{background:#ffb3a8;color:#3b1c19}.remote-banner{background:#44331e;border:1px solid #9b6939;color:#ffe0a0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 32px;font-size:12px}.remote-banner button{background:#edc078;border:0;border-radius:6px;color:#2c2015;padding:5px 12px;font-weight:850;cursor:pointer}
.loading-skeleton{min-height:280px;display:flex;gap:16px;align-items:center;justify-content:center;color:#a0b19d}.loader{height:24px;width:24px;border:3px solid #354239;border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.lock-screen{min-height:65vh;display:grid;place-items:center}.lock-panel{width:min(100%,490px);background:linear-gradient(145deg,#1c2920,#151e1f);padding:clamp(24px,5vw,55px);border:1px solid #40543b;border-radius:18px}.lock-mark{color:var(--lime);font-size:56px;font-weight:1000;letter-spacing:-.15em;margin:12px 0}.lock-panel h1{font-size:clamp(34px,6vw,52px);margin:0 0 20px}.lock-panel h1 span{color:var(--lime)}.lock-panel p{font-size:13px;line-height:1.7}.lock-panel form{margin-top:26px;display:grid;gap:10px}.lock-panel form label{font-size:11px;letter-spacing:.1em;font-weight:850}.lock-panel input{width:100%;background:#101718;border:1px solid #465a4e;border-radius:7px;padding:14px;color:white}.lock-panel small{display:block;color:#83938d;margin-top:25px}
@media(max-width:1050px){:root{--sidebar:210px}.sidebar{padding-left:11px;padding-right:11px}.grid-2{grid-template-columns:1fr}.mini-stations{grid-template-columns:repeat(4,minmax(0,1fr))}.station-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.shell{display:block}.sidebar{position:relative;height:auto;width:100%;padding:12px 14px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:2px 2px 13px}.brand-glyph{height:36px;width:37px;font-size:22px}.brand-name{font-size:17px}.brand-name-sub{font-size:8px}.sidebar-label,.sidebar-bottom{display:none}.nav{display:flex;flex-direction:row;overflow-x:auto;gap:4px;padding:0 0 10px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{flex-shrink:0;font-size:11px;padding:8px 10px;gap:5px}.nav-number{display:none}.nav-symbol{display:none}.topbar{height:61px}.crumb{font-size:9px;gap:7px}.sync-status{font-size:0;gap:0}.sync-status .dot{height:9px;width:9px}.top-actions{gap:7px}.button-small{padding:8px 11px;font-size:10px}.icon-btn{width:32px;height:32px}.page-content{padding-top:20px;padding-bottom:35px}.hero{min-height:300px}.hero-left{padding:28px}.hero h1{font-size:clamp(36px,9vw,62px)}.hero p{font-size:13px}.ribbon-item{min-width:calc(50% - 5px)}.mini-stations{grid-template-columns:repeat(2,minmax(0,1fr))}.station-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.page-head{align-items:start}.page-head h1{font-size:36px}.footer{font-size:8px;flex-wrap:wrap}.remote-banner{padding:11px 16px}}
@media(max-width:440px){.nav-item{font-size:10px;padding:8px}.crumb{font-size:8px}.hero h1{font-size:40px}.ribbon-item strong{font-size:15px}.page-head{flex-wrap:wrap}.modal-head{padding:20px}.modal #modal-content{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}