@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg:#f6f0e9;--panel:#fffcf7c2;--border:#0f17201a;--ink:#101722;--muted:#5a6470;--muted-strong:#384552;--accent:#ff6b35;--accent-deep:#e34e1b;--recovery-accent:#2f7d69;--danger:#c73a28;--shadow:0 24px 80px #1c242d1a;--sans:"Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", monospace;font:16px/1.55 var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-height:100%}body{background:radial-gradient(circle at 0 0,#ff6b3533,#0000 24%),radial-gradient(circle at 100% 100%,#2f7d6924,#0000 22%),linear-gradient(#f8f3ee,#f2ebe2 55%,#efe6dc);min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#10172208 1px,#0000 1px),linear-gradient(90deg,#10172208 1px,#0000 1px);background-size:120px 120px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}#root{width:min(1380px,100% - 2rem);min-height:100svh;margin:0 auto;padding:1.5rem 0 2rem}button,input,textarea{font:inherit}h1,h2,p{margin:0}h1,h2{color:var(--ink);letter-spacing:-.04em}h1{max-width:12ch;font-size:clamp(3rem,7vw,5.8rem);line-height:.94}h2{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}p{color:var(--muted)}code{font-family:var(--mono);color:var(--ink);background:#0f17200f;border-radius:.5rem;padding:.16rem .45rem;font-size:.92em}.app-shell{position:relative}.app-content{min-width:0;padding-top:clamp(4.5rem,8vw,5.75rem)}.app-menu-button,.sidebar-close{color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf7e6;border:1px solid #0f17201a;align-items:center;gap:.75rem;transition:transform .18s,background-color .18s,border-color .18s,opacity .18s;display:inline-flex;box-shadow:0 18px 42px #10172224}.app-menu-button:hover,.sidebar-close:hover{border-color:#ff6b3547;transform:translateY(-1px)}.app-menu-button{z-index:60;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.9rem 1.1rem;font-size:.82rem;position:fixed;top:1.5rem;left:clamp(1rem,2vw,1.5rem)}.app-menu-button.is-hidden{opacity:0;pointer-events:none}.app-menu-button-icon{gap:.25rem;display:grid}.app-menu-button-icon span{background:currentColor;border-radius:999px;width:1rem;height:2px;display:block}.sidebar-backdrop{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;background:#1017224d;border:0;padding:0;transition:opacity .22s;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}.sidebar,.hero-panel,.section-panel{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden}.sidebar{overscroll-behavior:contain;width:min(24rem,100vw - 2rem);max-width:calc(100vw - 2rem);min-height:auto;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;z-index:50;align-content:start;gap:1rem;padding:1.3rem;transition:transform .26s cubic-bezier(.19,1,.22,1),opacity .22s,visibility 0s linear .26s;display:grid;position:fixed;top:1rem;bottom:1rem;left:1rem;overflow:auto;transform:translate(calc(-100% - 2rem))}.sidebar.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:transform .26s cubic-bezier(.19,1,.22,1),opacity .22s;transform:translate(0)}.hero-panel{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);min-height:30rem;display:grid}.sidebar:before,.hero-panel:before,.section-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ff6b352e,#0000 36%),radial-gradient(circle at 0 100%,#2f7d691f,#0000 34%);position:absolute;inset:0}.sidebar,.hero-copy,.hero-focus,.section-panel{animation:.72s cubic-bezier(.19,1,.22,1) both rise-in}.sidebar>*,.hero-copy,.hero-focus,.section-panel>*{z-index:1;position:relative}.sidebar-brand{gap:.5rem;display:grid}.sidebar-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.sidebar-close{border-radius:999px;flex:none;justify-content:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.7rem;line-height:1}.sidebar-brand h2{margin:0;font-size:clamp(1.8rem,2.4vw,2.4rem);line-height:.95}.sidebar-nav{gap:.75rem;display:grid}.sidebar-nav-item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#ffffffa3;border:1px solid #0f172014;border-radius:1.1rem;gap:.35rem;padding:1rem;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:grid}.sidebar-nav-item:hover,.sidebar-nav-item.is-active{transform:translateY(-1px)}.sidebar-nav-item.is-active{background:linear-gradient(#ffffffeb,#ffede4d9),#ffffffb3;border-color:#ff6b354d;box-shadow:0 18px 42px #ff6b351f}.sidebar-nav-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sidebar-nav-row strong{font-size:1rem}.sidebar-badge{min-width:3.25rem;color:var(--muted-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:#0f172014;border-radius:999px;justify-content:center;align-items:center;padding:.25rem .55rem;font-size:.72rem;display:inline-flex}.sidebar-nav-item.is-active .sidebar-badge{color:var(--accent-deep);background:#ff6b3529}.sidebar-nav-eyebrow,.sidebar-nav-summary{display:block}.sidebar-nav-eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-strong);font-size:.72rem}.sidebar-nav-summary{color:var(--muted);font-size:.9rem}.sidebar-status{background:#ffffff85;border:1px solid #0f172014;border-radius:1.1rem;gap:.8rem;padding:1rem;display:grid}.sidebar-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.sidebar-status-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem;font-size:.78rem;display:block}.sidebar-status-grid strong{color:var(--ink);font-family:var(--mono);font-size:1.5rem}.content-shell{gap:1.5rem;display:grid}.content-header{gap:.7rem;padding:.25rem 0 .1rem;display:grid}.content-summary{max-width:48rem;font-size:1.06rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.dashboard-focus{justify-items:center;gap:1rem;display:grid}.dashboard-focus .entry-actions{justify-content:center}.dashboard-card{--dashboard-accent:var(--accent);box-shadow:inset 0 3px 0 var(--dashboard-accent);gap:1rem;display:grid}.dashboard-card.is-featured{box-shadow:inset 0 3px 0 var(--dashboard-accent), 0 18px 38px #ff6b351a;border-color:#ff6b3542}.dashboard-card-header{gap:.5rem;display:grid}.dashboard-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-card-metric{background:#ffffff9e;border:1px solid #0f172014;border-radius:1rem;gap:.2rem;padding:.95rem;display:grid}.dashboard-card-metric span,.dashboard-card-metric small{color:var(--muted)}.dashboard-card-metric span{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.dashboard-card-metric strong{color:var(--ink);font-family:var(--mono);font-size:1.2rem}.hero-copy{align-content:center;gap:2rem;padding:clamp(2rem,4vw,4rem);display:grid}.eyebrow,.section-kicker{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted-strong);margin:0;font-size:.78rem}.hero-summary{max-width:38rem;color:var(--muted);font-size:1.1rem}.hero-metadata{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.hero-metadata div{border-top:1px solid #0f17201a;padding-top:1rem}.hero-metadata span,.hero-metadata small{display:block}.hero-metadata span{color:var(--muted);margin-bottom:.4rem;font-size:.88rem}.hero-metadata strong{color:var(--ink);margin-bottom:.2rem;font-size:clamp(1.4rem,2vw,2rem);display:block}.hero-metadata small{color:var(--muted-strong)}.hero-focus{background:linear-gradient(#faf5eed1,#faf5ee94),#ffffff80;border-left:1px solid #0f172014;align-content:center;justify-items:center;gap:1rem;padding:clamp(2rem,3vw,3rem);display:grid}.hero-focus-summary,.hero-focus-detail{text-align:center;max-width:22rem}.hero-focus-summary{color:var(--ink)}.hero-focus-detail{color:var(--muted)}.ratio-dial{aspect-ratio:1;place-items:center;width:min(100%,19rem);display:grid;position:relative}.ratio-dial-graphic{width:100%;height:100%;transform:rotate(-90deg)}.ratio-dial-track,.ratio-dial-progress{fill:none;stroke-width:12px}.ratio-dial-track{stroke:#0f172014}.ratio-dial-progress{stroke-linecap:round;transition:stroke-dashoffset .5s,stroke .3s}.ratio-dial-copy{align-content:center;justify-items:center;gap:.35rem;display:grid;position:absolute;inset:0}.ratio-dial-value{font-family:var(--mono);color:var(--ink);font-size:clamp(2.2rem,6vw,3.6rem)}.ratio-dial-label{color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}.ratio-dial-band{font-size:1rem}.workspace{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.5rem;display:grid}.section-panel{padding:1.75rem}.entry-panel{grid-row:span 2}.sessions-panel{grid-column:1/-1}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem;display:flex}.section-heading p:last-child{max-width:26rem;color:var(--muted)}.entry-form{gap:1.15rem;display:grid}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.entry-form label{color:var(--muted-strong);gap:.5rem;font-size:.88rem;display:grid}.generator-format-row{align-items:stretch;gap:.75rem;display:flex}.generator-format-row select{flex:auto}.generator-format-shortcut{white-space:nowrap;flex:none}.entry-form input,.entry-form textarea,.entry-form select{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffc7;border:1px solid #0f17201f;border-radius:1rem;padding:.9rem 1rem;transition:border-color .18s,transform .18s,box-shadow .18s}.entry-form select{appearance:none}.entry-form input:focus,.entry-form textarea:focus,.entry-form select:focus{border-color:#ff6b3599;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #ff6b351f}.entry-footer{justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.load-preview{gap:.2rem;display:grid}.load-preview span{color:var(--muted);font-size:.82rem}.load-preview strong{font-family:var(--mono);color:var(--ink);font-size:1.8rem}.entry-actions{flex-wrap:wrap;justify-content:end;gap:.75rem;display:flex}.primary-button,.secondary-button,.ghost-button{font:inherit;cursor:pointer;border-radius:999px;padding:.88rem 1.2rem;transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s}.primary-button{background:var(--accent);color:#fff8f2;border:1px solid #0000;box-shadow:0 14px 36px #ff6b3538}.secondary-button{color:var(--ink);background:#ffffffbf;border:1px solid #0f17201a}.ghost-button{color:var(--muted-strong);background:0 0;border:1px solid #0000}.primary-button:hover,.secondary-button:hover,.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.ghost-button:disabled{cursor:not-allowed;opacity:.45}.form-error{color:var(--danger);margin:0}.form-success{color:var(--recovery-accent);margin:0}.generator-home-setup{background:linear-gradient(#ffffffd1,#f7f1e9bd),#ffffff94;border:1px solid #0f172014;border-radius:1.15rem;gap:.65rem;padding:1rem 1.1rem;display:grid}.generator-home-setup-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.generator-home-setup-header strong{color:var(--ink)}.generator-home-setup p{color:var(--muted-strong);margin:0}.trend-panel,.load-panel,.sessions-panel{gap:.5rem;display:grid}.trend-chart{gap:1rem;display:grid}.trend-chart-svg{background:linear-gradient(#ffffffa8,#faf5ee80),#ffffff80;border-radius:1.5rem;width:100%;min-height:18rem}.trend-chart-band{fill:#2f7d691a}.trend-chart-gridline{stroke:#0f17201a;stroke-width:.4px;stroke-dasharray:1.2 2.2}.trend-chart-bar{fill:#4f7a8638}.trend-chart-line{fill:none;stroke:var(--accent);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.recovery-trend-svg{background:linear-gradient(#ffffffc7,#eef5f2b8),#ffffff8c}.nutrition-trend-svg{background:linear-gradient(#fffc,#f6f2e8c7),#ffffff8c}.recovery-trend-band{fill:#2f7d691f}.recovery-trend-bar{fill:#ff6b352e}.recovery-trend-line{fill:none;stroke:var(--recovery-accent);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.nutrition-target-line{stroke:#c9871973;stroke-width:.6px;stroke-dasharray:1.2 1.8}.nutrition-trend-bar{fill:#c9871942}.nutrition-trend-line{fill:none;stroke:#9d5a22;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.injury-trend-svg{overflow:visible}.injury-trend-band{fill:#2f7d6917}.injury-trend-bar{fill:#b3473242}.injury-trend-line{fill:none;stroke:#2f7d69;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.injury-rest-line{fill:none;stroke:#b56b21;stroke-width:1.3px;stroke-dasharray:2.2 2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.hrv-trend-baseline{stroke:#7b5ca67a;stroke-width:.6px;stroke-dasharray:1.2 1.8}.hrv-trend-line{fill:none;stroke:#7b5ca6;stroke-width:1.75px;stroke-dasharray:2.2 1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:1.1s both draw-line}.hrv-trend-dot{fill:#7b5ca6;stroke:#ffffffe6;stroke-width:.45px}.trend-chart-axis,.trend-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem 1rem;display:flex}.trend-chart-axis{text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:.76rem}.trend-legend span{align-items:center;gap:.45rem;display:inline-flex}.legend-swatch{border-radius:999px;width:.85rem;height:.85rem;display:inline-block}.legend-swatch-band{background:#2f7d6942}.legend-swatch-line{background:var(--accent)}.legend-swatch-bar{background:#4f7a866b}.recovery-legend-band{background:#2f7d6942}.recovery-legend-line{background:var(--recovery-accent)}.recovery-legend-bar{background:#ff6b3552}.hrv-legend-line{background:#7b5ca6}.hrv-legend-baseline{background:#7b5ca66b}.nutrition-legend-line{background:#9d5a22}.nutrition-legend-bar{background:#c987195c}.nutrition-legend-target{background:#c9871933}.injury-legend-band{background:#2f7d691f}.injury-legend-line{background:#2f7d69}.injury-legend-bar{background:#b3473242}.injury-legend-rest{background:#b56b21}.trend-footnote{color:var(--muted);font-size:.84rem}.recovery-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.recovery-metric-field{background:linear-gradient(#ffffffd6,#f8f3ecc2),#ffffff8c;border:1px solid #0f172014;border-radius:1.1rem;gap:.85rem;padding:1rem;display:grid}.recovery-metric-copy{justify-content:space-between;align-items:start;gap:1rem;display:flex}.recovery-metric-copy strong{color:var(--ink);margin-bottom:.25rem;display:block}.recovery-metric-copy p{font-size:.88rem}.recovery-metric-value{font-family:var(--mono);color:var(--recovery-accent);font-size:1rem}.recovery-range{width:100%;accent-color:var(--recovery-accent);margin:0}.recovery-range-scale{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.76rem;display:flex}.recovery-breakdown{gap:1rem;display:grid}.recovery-breakdown-grid,.nutrition-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.injury-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.recovery-breakdown-item{background:#ffffff94;border:1px solid #0f172014;border-radius:1.1rem;gap:.2rem;padding:1rem;display:grid}.recovery-breakdown-item span,.recovery-breakdown-item small{color:var(--muted)}.recovery-breakdown-item strong{color:var(--ink);font-size:1.35rem}.recovery-note{padding-top:.25rem}.injury-case-group{gap:.9rem;display:grid}.injury-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.injury-case-card{background:linear-gradient(#ffffffd6,#f8f3ecc2),#ffffff8c;border:1px solid #0f172014;border-radius:1.2rem;gap:.85rem;padding:1rem;display:grid}.injury-case-card.is-selected{border-color:#ff6b3552;box-shadow:0 16px 36px #ff6b351f}.injury-case-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.injury-case-header strong{color:var(--ink);display:block}.injury-case-header p{color:var(--muted);margin:.3rem 0 0;font-size:.88rem}.injury-case-band{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}.injury-case-meta{color:var(--muted);flex-wrap:wrap;gap:.6rem 1rem;font-size:.8rem;display:flex}.injury-case-summary{color:var(--muted-strong);flex-wrap:wrap;gap:.55rem .9rem;font-size:.84rem;display:flex}.injury-case-note{color:var(--muted-strong);margin:0}.injury-toggle{background:#ffffff94;border:1px solid #0f172014;border-radius:1rem;align-content:start;padding:1rem}.injury-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;box-shadow:none;accent-color:var(--accent);appearance:auto;background:0 0;border:none;margin:0;padding:0;transform:none}.injury-toggle input[type=checkbox]:focus{box-shadow:none;transform:none}.injury-toggle span{color:var(--muted);font-size:.82rem}.load-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.85rem;display:grid}.load-strip-day{gap:.45rem;display:grid}.load-strip-date{color:var(--muted);font-size:.8rem}.load-strip-bar{background:linear-gradient(#ffffffc2,#e8e1d66b),#ffffff80;border-radius:1rem;align-items:end;height:8.5rem;padding:.5rem;display:flex}.load-strip-bar span{width:100%;height:var(--load-height);background:linear-gradient(180deg, var(--accent), var(--accent-deep));border-radius:.75rem;box-shadow:inset 0 1px #ffffff73}.load-strip-day strong{color:var(--ink)}.load-strip-day small{color:var(--muted)}.session-table-wrapper{content-visibility:auto;overflow-x:auto}.session-table{border-collapse:collapse;width:100%}.session-table th,.session-table td{text-align:left;vertical-align:top;border-top:1px solid #0f172014;padding:1rem .5rem}.session-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-top:none;padding-top:0;font-size:.78rem}.session-title{color:var(--ink);font-weight:600}.session-notes{color:var(--muted);margin-top:.25rem;font-size:.88rem}.empty-block{color:var(--muted);padding:1.5rem 0 .5rem}.generator-form-note{color:var(--muted);margin:0;font-size:.94rem}.generator-inline-note{max-width:24rem;color:var(--muted);text-align:right;font-size:.92rem}.generator-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.generator-context-card{--generator-accent:var(--accent);box-shadow:inset 0 3px 0 var(--generator-accent);background:linear-gradient(#ffffffd6,#f5eee5bd),#ffffff8f;border:1px solid #0f172014;border-radius:1.1rem;gap:.45rem;padding:1rem;display:grid}.generator-context-card strong{color:var(--ink);font-size:1.4rem;line-height:1.05}.generator-adjustment-grid{gap:.85rem;display:grid}.generator-adjustment-card{background:#ffffff94;border:1px solid #0f172014;border-radius:1.1rem;align-items:start;gap:.85rem;padding:1rem;display:flex}.generator-adjustment-dot{background:linear-gradient(180deg, var(--accent), var(--accent-deep));border-radius:999px;flex:none;width:.8rem;height:.8rem;margin-top:.3rem}.generator-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.generator-card{background:linear-gradient(#ffffffd6,#f5eee5bd),#ffffff8f;border:1px solid #0f172014;border-radius:1.35rem;align-content:start;gap:1rem;padding:1.25rem;display:grid}.generator-card.is-featured{border-color:#ff6b3547;box-shadow:0 18px 38px #ff6b351f}.generator-card.is-expanded{border-color:#0f172029;box-shadow:0 18px 36px #0f172014}.generator-card-header{gap:.5rem;display:grid}.generator-card-header h3{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.05}.generator-card-label{width:fit-content;color:var(--muted-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:#0f172014;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .6rem;font-size:.72rem;display:inline-flex}.generator-card.is-featured .generator-card-label{color:var(--accent-deep);background:#ff6b3524}.generator-card-toggle{color:var(--ink);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #0f172014;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .95rem;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.generator-card-toggle:hover{border-color:#0f172029;transform:translateY(-1px)}.generator-card-toggle:focus-visible{outline-offset:2px;outline:2px solid #ff6b3573}.generator-card-toggle span:first-child{font-size:.9rem;font-weight:600}.generator-card-chevron{width:1.8rem;height:1.8rem;font-family:var(--mono);background:#0f172014;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.generator-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.generator-metric{background:#ffffffbd;border:1px solid #0f172014;border-radius:1rem;gap:.2rem;padding:.9rem;display:grid}.generator-metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.generator-metric strong{color:var(--ink);font-family:var(--mono);font-size:1.1rem}.generator-card-details,.generator-card-section,.generator-exercise-list{gap:.8rem;display:grid}.generator-card-toolbar{justify-content:flex-end;display:flex}.generator-card-section-title{color:var(--muted-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.78rem}.generator-card-collapsed-copy{color:var(--muted-strong);background:#ffffff8a;border:1px dashed #0f172024;border-radius:1rem;margin:0;padding:.95rem 1rem;font-size:.94rem}.generator-exercise{background:#ffffffa8;border:1px solid #0f172014;border-radius:1rem;gap:.4rem;padding:.95rem 1rem;display:grid}.generator-exercise-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.generator-exercise-header strong{color:var(--ink)}.generator-exercise-prescription{color:var(--accent-deep);font-family:var(--mono);font-size:.82rem}.generator-exercise-copy{color:var(--muted-strong);margin:0;font-size:.94rem}.generator-exercise-actions{justify-content:flex-start;display:flex}.generator-inline-action{white-space:nowrap;padding-inline:.9rem}.generator-block-list{gap:.75rem;display:grid}.generator-block{background:#fff9;border:1px solid #0f172014;border-radius:1rem;gap:.35rem;padding:.95rem 1rem;display:grid}.generator-block strong{color:var(--ink)}.generator-card-notes{gap:.55rem;font-size:.92rem;display:grid}.generator-card-notes p{margin:0}.settings-equipment-grid,.settings-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-category-stack,.settings-custom-section,.settings-custom-list{gap:1rem;display:grid}.settings-category-section{gap:.9rem;display:grid}.settings-category-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.settings-category-heading h3{color:var(--muted-strong);margin:.2rem 0 0;font-size:.98rem;font-weight:500}.settings-category-count{min-width:2.25rem;height:2.25rem;color:var(--ink);font-family:var(--mono);background:#ffffffbd;border:1px solid #0f172014;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.equipment-option{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:linear-gradient(#ffffffd1,#f6efe6b8),#fff9;border:1px solid #0f172014;border-radius:1.2rem;gap:.55rem;padding:1.05rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.equipment-option:hover{border-color:#0f172029;transform:translateY(-1px)}.equipment-option.is-selected{border-color:#ff6b3552;box-shadow:0 18px 34px #ff6b351f}.equipment-option-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.equipment-option-check,.equipment-option-category,.settings-selected-card span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.equipment-option-check{color:var(--accent-deep)}.equipment-option-category,.settings-selected-card span{color:var(--muted)}.equipment-option p,.settings-selected-card p{color:var(--muted-strong);margin:0}.settings-selected-card{background:#ffffffa3;border:1px solid #0f172014;border-radius:1.1rem;gap:.4rem;padding:1rem 1.05rem;display:grid}.settings-selected-card strong{color:var(--ink)}.settings-selected-card.is-custom{border-style:dashed}.settings-custom-card{background:#ffffffa8;border:1px solid #0f172014;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.settings-custom-card-copy{gap:.35rem;display:grid}.settings-custom-card-copy span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.settings-custom-card-copy strong{color:var(--ink)}.placeholder-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.5rem;display:grid}.placeholder-copy,.placeholder-panel{gap:.75rem;display:grid}.placeholder-bullets{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.placeholder-card{background:linear-gradient(#ffffffdb,#f5eee5b8),#ffffff8a;border:1px dashed #0f172024;border-radius:1.25rem;align-content:start;gap:.55rem;min-height:12rem;padding:1.1rem;display:grid}.placeholder-dot{background:linear-gradient(180deg, var(--accent), var(--accent-deep));border-radius:999px;width:.85rem;height:.85rem}.placeholder-card strong{color:var(--ink)}.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes draw-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body.app-drawer-open{overflow:hidden}@media (width<=1080px){.dashboard-grid,.dashboard-card-metrics,.hero-panel,.workspace,.placeholder-hero,.placeholder-grid,.generator-card-grid,.injury-case-grid{grid-template-columns:1fr}.hero-focus{border-top:1px solid #0f172014;border-left:none}.entry-panel{grid-row:auto}}@media (width<=720px){.app-menu-button{padding-inline:1rem;top:1rem;left:1rem}.app-content{padding-top:4.25rem}.sidebar-nav,.hero-metadata,.entry-grid,.settings-equipment-grid,.settings-selected-grid,.generator-context-grid,.generator-metric-grid,.load-strip,.injury-breakdown-grid,.injury-case-grid,.nutrition-breakdown-grid,.recovery-metric-grid,.recovery-breakdown-grid,.placeholder-bullets,.sidebar-status-grid{grid-template-columns:1fr}.section-heading,.entry-footer,.sidebar-nav-row,.generator-home-setup-header,.generator-format-row,.equipment-option-header,.settings-category-heading,.settings-custom-card{flex-direction:column;align-items:start}.entry-actions{justify-content:start}.generator-inline-note{text-align:left;max-width:none}.content-summary{font-size:1rem}}.muscle-volume-bars{flex-direction:column;gap:.75rem;display:flex}.muscle-volume-bar-row{align-items:center;gap:1rem;display:flex}.muscle-volume-bar-label{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;min-width:10rem;display:flex}.muscle-volume-bar-label strong{font-family:var(--mono);font-size:.82rem;font-weight:600}.muscle-volume-bar-label span{color:var(--muted);font-size:.78rem}.muscle-volume-bar-track{background:var(--track);border-radius:999px;flex:1;height:.75rem;overflow:hidden}.muscle-volume-bar-fill{border-radius:999px;height:100%;transition:width .3s}.muscle-volume-bar-track{position:relative}.muscle-volume-marker{z-index:2;pointer-events:none;width:2px;position:absolute;top:-2px;bottom:-2px}.muscle-volume-marker-min{background:repeating-linear-gradient(#b56b21 0 3px,#0000 3px 6px)}.muscle-volume-marker-opt{background:#2f7d69}.muscle-volume-goal-badge{font-size:.78rem}.muscle-volume-goal-badge small{color:var(--muted);margin-left:.35rem}.muscle-volume-goal-toggle{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.muscle-volume-goal-toggle label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:600}.muscle-volume-goal-toggle .toggle-group{background:var(--surface);border:1px solid var(--border);border-radius:6px;gap:.25rem;padding:.25rem;display:flex}.muscle-volume-goal-toggle .toggle-group button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem .75rem;font-size:.82rem;font-weight:500;transition:background .15s,color .15s}.muscle-volume-goal-toggle .toggle-group button.active{background:var(--surface-2);color:var(--text);font-weight:600}.muscle-volume-goal-toggle .toggle-hint{color:var(--muted);max-width:24rem;margin:0;font-size:.75rem;line-height:1.3}.muscle-research-panel{margin-top:1.5rem}.muscle-research-grid{grid-template-columns:1fr;gap:.5rem;margin-top:1rem;display:grid}@media (width>=480px){.muscle-research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=640px){.muscle-research-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}}@media (width>=1024px){.muscle-research-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.muscle-research-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;overflow-wrap:break-word;border-radius:8px;min-width:0;padding:.6rem .75rem;transition:background .18s}.muscle-research-card:hover{background:var(--surface-2)}.muscle-research-card summary{flex-direction:column;gap:.25rem;list-style:none;display:flex}@media (width>=640px){.muscle-research-card summary{flex-direction:row;justify-content:space-between;align-items:center;gap:.4rem}}.muscle-research-card summary::-webkit-details-marker{display:none}.muscle-research-card summary strong{font-family:var(--mono);font-size:.82rem;font-weight:600}.muscle-research-card summary span{color:var(--muted);font-size:.75rem}@media (width>=640px){.muscle-research-card summary span{flex-shrink:0;margin-left:auto}}.muscle-research-card summary span small{margin-left:.25rem}.muscle-research-card>p{color:var(--muted);margin-top:.5rem;font-size:.75rem;line-height:1.4}.muscle-research-footer{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.muscle-research-footer p{color:var(--muted);overflow-wrap:break-word;margin-bottom:.35rem;font-size:.75rem;line-height:1.4}.muscle-research-footer p strong{color:var(--text);font-weight:600}
