@import"https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&display=swap";.training-main{width:min(1200px,calc(100% - 48px));margin:32px auto 64px}.training-heading,.routine-heading,.workout-heading,.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.training-heading{align-items:center;margin-bottom:24px}.training-heading h1{margin-bottom:0;font-size:28px;line-height:1.2}.plan-version{margin-left:12px;font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:500}.muted{color:var(--muted)}.training-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:24px}.training-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 0 12px;font-size:14px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted)}.training-tabs button[aria-current]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.training-app input,.training-app select,.training-app textarea{min-width:0;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:4px;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.training-app textarea{resize:vertical;line-height:1.5}.training-app select:focus-visible,.training-app textarea:focus-visible,.training-app summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.training-app h2{font-size:24px;font-weight:600;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere}.training-app h3{font-size:16px;font-weight:600;margin:0 0 12px}.training-app h4{font-size:15px;font-weight:600;line-height:1.5;margin:0}.training-app p,.training-app dd,.training-app h4{overflow-wrap:anywhere}.calendar-tools{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.date-controls,.training-search{display:flex;gap:4px;align-items:center;min-width:0}.date-controls input{width:160px}.training-search input{width:240px}.training-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}.week-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line);font-size:12px}.training-app .week-heading h2{font-size:14px;margin:0}.session-list{display:flex;flex-direction:column;gap:4px;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto}.compact-date{display:none}.session-list>button{text-align:left;border:1px solid transparent;background:none;border-radius:5px;padding:12px;display:flex;flex-direction:column;gap:8px}.session-list>button[aria-current]{border-color:var(--line);background:var(--hover)}.session-list>button:hover{background:var(--hover)}.session-date{font-size:12px;color:var(--muted)}.session-focus{font-size:14px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}.session-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.workout-detail{min-width:0;scroll-margin-top:16px}.workout-heading{padding-bottom:12px}.workout-heading>div{min-width:0}.workout-heading h2{margin-bottom:6px}.workout-heading p{margin:0}.day-navigation,.day-actions,.workout-actions,.logged-label{display:flex;align-items:center;gap:8px}.day-navigation{justify-content:space-between;margin-bottom:12px;color:var(--muted);font-size:13px}.workout-actions{margin-bottom:16px;justify-content:space-between}.logged-label{color:var(--muted);font-size:12px}.workout-jumps{display:flex;flex-wrap:wrap;gap:0 20px;padding-block:8px;border-bottom:1px solid var(--line)}.workout-jumps a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:13px;text-decoration:none}.workout-jumps a:hover{color:var(--text);text-decoration:underline}.workout-heading p{font-size:14px;line-height:1.5}.workout-facts{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:16px 24px;margin:0;padding:20px 0;border-block:1px solid var(--line)}.workout-facts>div:last-child{grid-column:1 / -1}.workout-facts dt,.log-values dt,.input-values dt{font-size:12px;color:var(--muted);margin-bottom:6px}.workout-facts dd,.log-values dd,.input-values dd{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap}.workout-group{margin-block:28px;scroll-margin-top:16px}.workout-group>h3{padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.routine{display:grid;grid-template-columns:minmax(0,1fr) var(--control-size);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.routine:last-child{border-bottom:0}.routine-content{min-width:0;max-width:72ch}.routine-content h4{margin-bottom:4px}.routine p,.olympic-entry p{font-size:14px;line-height:1.65;white-space:pre-wrap;margin:8px 0}.routine-content p:last-child{margin-bottom:0}.olympic-entry{padding-block:12px;border-bottom:1px solid var(--line)}.routine-heading h3{align-self:center;margin:0}.routine-heading .icon-button{flex-shrink:0}.log-values{margin:16px 0;display:grid;gap:16px}.text-button{display:inline-flex;gap:6px;align-items:center}.session-notes{border-top:1px solid var(--line);padding:12px 0;font-size:14px;line-height:1.6}.session-notes summary{cursor:pointer;min-height:44px;padding-block:10px}.training-empty,.training-loading{padding-block:48px}.training-loading{display:flex;align-items:center;gap:12px}.training-section{max-width:820px;margin-top:32px}.input-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.input-values>div{padding:16px 0;border-bottom:1px solid var(--line)}.training-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--text);overscroll-behavior:contain}.training-dialog::backdrop{background:#0000007f}.training-dialog h2{font-size:22px;margin:0 0 20px}.training-dialog input,.training-dialog textarea{width:100%;min-width:0;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:10px;font:inherit;font-size:16px}.training-dialog textarea{resize:vertical;line-height:1.5}.training-dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.editor-fields{display:grid;gap:16px}.editor-fields label,.token-form label,.issued-token label{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}.editor-fields fieldset{margin:0;padding:16px 0;border:0;border-top:1px solid var(--line);display:grid;gap:16px;min-width:0}.field-pair,.segment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.change-preview section{border-top:1px solid var(--line);padding-block:16px}.change-preview h3{font-size:14px;overflow-wrap:anywhere}.preview-dates{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:20px}.before-after>div{min-width:0}.before-after h4{margin:0}.change-preview pre,.history-detail{font:inherit;white-space:pre-wrap;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.history-list,.token-list{padding:0;list-style:none}.history-list li{border-bottom:1px solid var(--line)}.history-list button{padding:16px 0;display:flex;flex-direction:column;gap:8px;background:none;border:0;text-align:left;width:100%;overflow-wrap:anywhere}.history-list .muted{font-size:12px}.token-form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:24px 0}.token-form label{flex:1 1 180px}.token-form .primary-button{min-height:44px}.issued-token{display:flex;align-items:end;gap:8px;padding:20px 0;border-block:1px solid var(--line)}.issued-token label{flex:1}.token-list li{display:flex;align-items:center;gap:12px;padding-block:16px;border-bottom:1px solid var(--line)}.token-list li>div{flex:1;min-width:0;display:grid;gap:6px;overflow-wrap:anywhere}.token-list li>svg{flex-shrink:0}.token-list .muted{font-size:12px}.training-return{padding:8px 24px;background:var(--surface)}@media (max-width: 900px){.training-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}}@media (max-width: 700px){.training-main{width:calc(100% - 32px);margin-top:20px}.training-heading{margin-bottom:16px}.training-tabs{gap:0;justify-content:space-between}.training-tabs button{min-width:52px;flex-direction:column;gap:6px;font-size:12px;padding-top:10px}.calendar-tools{gap:12px}.date-controls{width:100%;justify-content:space-between}.date-controls input{flex:1;max-width:none}.training-search{width:100%}.training-search input{flex:1;width:100%}.training-layout{display:block}.session-list{position:static;max-height:none;margin-bottom:20px}.week-sessions{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:0;overflow-x:auto;padding-block:4px}.week-sessions>button{padding:8px 0;min-height:84px;align-items:center;justify-content:center}.week-sessions>p{grid-column:1 / -1}.week-sessions .session-date,.week-sessions .session-focus,.week-sessions .session-meta{display:none}.week-sessions .compact-date{display:grid;justify-items:center;gap:4px;font-size:11px;color:var(--muted)}.compact-date strong{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.compact-status{height:14px;display:flex;align-items:center;font-size:9px}.week-sessions>button[aria-current] strong{text-decoration:underline;text-underline-offset:4px}.search-results{max-height:300px;overflow-y:auto;border-bottom:1px solid var(--line)}.search-results>button{padding:12px;gap:4px}.day-navigation{margin-bottom:8px}.training-app h2{font-size:20px}.workout-facts{grid-template-columns:minmax(0,1fr) 90px;gap:16px}.training-section{margin-top:24px}.training-dialog{padding:16px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.before-after,.input-values{grid-template-columns:minmax(0,1fr)}.token-form .primary-button{width:100%}.training-app .icon-button{width:44px;height:44px;flex-basis:44px}.routine{grid-template-columns:minmax(0,1fr) 44px;gap:8px}}.training-chat{max-width:820px;margin-inline:auto;display:flex;flex-direction:column;height:min(680px,calc(100dvh - 320px));min-height:320px}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.training-chat h2{margin:0;font-size:18px}.chat-transcript{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding-block:20px;scrollbar-gutter:stable}.chat-empty{color:var(--muted);font-size:14px}.chat-message{margin-bottom:24px;padding-inline:12px}.chat-user{background:var(--hover);padding-block:12px;border-radius:4px}.chat-speaker{color:var(--muted);font-size:12px;font-weight:600}.chat-message p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:15px}.chat-pending{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;padding-inline:12px}.chat-composer{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px;padding-bottom:env(safe-area-inset-bottom)}.chat-composer textarea{flex:1;max-height:160px}.chat-composer .icon-button{width:44px;height:44px;flex:0 0 44px}.chat-composer .chat-send{background:var(--accent);color:var(--accent-text)}.training-chat .error{flex-shrink:0;margin-block:0 12px}@media (max-width: 700px){.training-chat{height:calc(100dvh - 300px)}.chat-composer textarea{font-size:16px}}:root{font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light;--control-size: 36px;--page: #f7f9f8;--surface: #ffffff;--text: #24332e;--muted: #596960;--line: #dce3df;--accent: #285e4a;--accent-text: #ffffff;--hover: #eaf0ed;--danger: #ab3030;--danger-bg: #fff0f0;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--page: #191e1c;--surface: #222a26;--text: #edf2ef;--muted: #adbdb3;--line: #3f4e45;--accent: #94c8ad;--accent-text: #172c20;--hover: #303d35;--danger: #ffb1ad;--danger-bg: #432725}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-height:100vh;min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:default;opacity:.55}button,input,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{color:inherit}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 40px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{min-width:0;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;overflow-wrap:anywhere}.brand svg{color:var(--accent);flex-shrink:0}.account-actions{display:flex;flex-shrink:0;gap:4px}.auth-page{max-width:400px}.auth-page h1{margin-top:20px}.auth-page p{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.auth-loading{display:flex;align-items:center;gap:12px}.auth-loading svg{flex-shrink:0}.login-button{margin-top:24px;text-decoration:none}main{width:min(100% - 48px,760px);margin:64px auto}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px}h1{margin:0 0 10px;font-size:32px;font-weight:600;overflow-wrap:anywhere}.heading p{margin:0;color:var(--muted);font-size:14px}.icon-button{width:var(--control-size);height:var(--control-size);flex:0 0 var(--control-size);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:var(--muted)}.icon-button:active:not(:disabled){background:var(--hover);color:var(--text)}.add-form{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.input-icon{color:var(--muted);flex-shrink:0}.add-form input{min-width:0;flex:1;width:100%;height:36px;border:none;background:transparent;color:var(--text);font-size:16px}input::placeholder{color:var(--muted);opacity:1}.primary-button{min-height:max(38px,var(--control-size));display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;flex-shrink:0;border:0;border-radius:4px;background:var(--accent);color:var(--accent-text);font-size:13px;font-weight:600}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 12px}.filters{display:flex;gap:3px;border:0;padding:0;margin:0;min-width:0;flex-wrap:wrap}.filters button{min-height:var(--control-size);padding:6px 12px;background:transparent;border:0;border-radius:4px;color:var(--muted);font-size:13px;font-weight:500}.filters button[aria-pressed=true]{background:var(--hover);color:var(--text)}.total,.list-footer{color:var(--muted);font-size:12px}.total{margin-left:auto}.todo-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.todo-row{display:flex;align-items:center;gap:8px;min-height:66px;padding:12px 4px;border-bottom:1px solid var(--line)}.todo-toggle{display:flex;align-items:center;justify-content:center;width:var(--control-size);height:var(--control-size);flex:0 0 var(--control-size);border-radius:5px;cursor:pointer;touch-action:manipulation}.todo-toggle:has(:disabled){cursor:default}.todo-toggle:has(:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.todo-toggle input:focus-visible{outline:none}.todo-checkbox{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--accent);cursor:pointer}.todo-title{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px;line-height:1.6}.completed .todo-title{color:var(--muted);text-decoration:line-through}.row-actions{display:flex;flex:0 0 auto}.delete-button:active:not(:disabled){color:var(--danger);background:var(--danger-bg)}.edit-form{display:flex;flex:1;min-width:0;gap:4px;align-items:center}.edit-form input{width:100%;min-width:0;height:var(--control-size);border:1px solid var(--line);border-radius:4px;padding:0 8px;background:var(--surface);color:var(--text);font-size:16px}.empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-block:1px solid var(--line);color:var(--muted);gap:12px;font-size:14px;text-align:center;padding:24px 16px;overflow-wrap:anywhere}.empty svg{color:var(--accent)}.empty p{margin:0}.text-button{min-height:var(--control-size);background:none;border:0;text-decoration:underline;color:var(--accent)}.error{margin:16px 0;padding:12px 14px;border-radius:4px;background:var(--danger-bg);color:var(--danger);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.list-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:20px}@media (hover: hover){.icon-button:hover:not(:disabled){background:var(--hover);color:var(--text)}.delete-button:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}}@media (any-pointer: coarse),(max-width: 540px){:root{--control-size: 44px}.add-form input{height:44px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}@media (max-width: 540px){.topbar{min-height:60px;padding:8px 16px}main{width:calc(100% - 32px);margin-block:24px 32px}h1{font-size:28px}.heading{margin-bottom:20px}.add-form{gap:8px;padding:6px 6px 6px 12px}.input-icon{display:none}.add-form .primary-button{width:44px;height:44px;padding:0}.add-form .primary-button svg{width:20px;height:20px}.add-form .primary-button span{display:none}.list-toolbar{gap:8px;margin-top:24px}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.filters button{padding-inline:4px;font-size:14px;overflow-wrap:anywhere}.todo-row{align-items:flex-start;padding:10px 0}.todo-title{padding-block:10px;font-size:16px;line-height:1.5}.edit-form{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px 4px}.edit-form input{grid-column:1 / -1}.edit-form button[type=submit]{grid-column:2}.auth-page{margin-top:48px}.auth-page .primary-button{width:100%;min-height:48px;font-size:16px}}
