:root{--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--space-7:96px;--paper:#f7f3ec;--ink:#1f1c1a;--ink-soft:#2f2b28e6;--ink-muted:#2f2b28b8;--ink-light:#2f2b2894;--ink-faint:#2f2b287a;--line:#2f2b281f;--line-soft:#2f2b281a;--line-strong:#2f2b2852;--today:#ccb99d24;color:#2f2b28;background:#fbfaf7;font-family:Inter,Helvetica Neue,Arial,sans-serif}body{color:#2f2b28;background-color:#fbfaf7;background-image:linear-gradient(#2f2b2806 1px,#0000 1px),linear-gradient(90deg,#2f2b2806 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-weight:300}button,input,select,textarea{font-family:inherit}button{cursor:pointer}#root{min-height:100vh}:root{--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--space-7:96px;--paper:#f7f3ec;--ink:#1f1c1a;--ink-soft:#2f2b28e6;--ink-muted:#2f2b28b8;--ink-light:#2f2b2894;--ink-faint:#2f2b287a;--line:#2f2b281f;--line-soft:#2f2b281a;--line-strong:#2f2b2852;--today:#ccb99d24}.app-shell{z-index:0;max-width:1180px;padding:32px 36px var(--space-7);margin:0 auto;position:relative}.app-shell:before{content:"";z-index:-1;background-color:var(--paper);background-image:linear-gradient(#2f2b2806 1px,#0000 1px),linear-gradient(90deg,#2f2b2806 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}.app-utility{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;margin-bottom:18px;display:flex}.app-logout{letter-spacing:.2em;text-transform:uppercase;color:#2f2b2875;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #2f2b2838;padding:0 0 3px;font-family:inherit;font-size:9px;font-weight:300;line-height:1;transition:color .16s,border-color .16s}.app-logout:hover{border-bottom-color:var(--ink);color:var(--ink)}.app-how-it-works{letter-spacing:.2em;text-transform:uppercase;color:#2f2b2875;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #2f2b2838;padding:0 0 3px;font-family:inherit;font-size:9px;font-weight:300;line-height:1;transition:color .16s,border-color .16s}.app-how-it-works:hover{border-bottom-color:var(--ink);color:var(--ink)}.app-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--line-strong);flex-direction:column;align-items:flex-start;margin-bottom:0;display:flex}.app-logo-button{cursor:pointer;background:0 0;border:none;padding:0;transition:opacity .16s}.app-logo-button:hover{opacity:.72}.app-logo-button:focus-visible{outline:1px solid var(--ink-muted);outline-offset:6px}.app-logo{width:330px;height:auto;display:block}@media (width<=1050px){.app-shell{padding-top:var(--space-5)}.app-header{align-items:flex-start}.app-logo{width:min(300px,72vw)}}@media (width<=768px){.app-shell{padding:var(--space-4) var(--space-3) var(--space-6)}.app-utility{margin-bottom:var(--space-3)}.app-header{padding-bottom:var(--space-3)}.app-logo{width:min(260px,78vw)}}.auth-page{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;display:flex}.auth-panel{background:#fffdf8e6;border:1px solid #2f2b2824;border-radius:10px;grid-template-columns:1fr 1fr;width:min(880px,100%);min-height:520px;display:grid;overflow:hidden;box-shadow:0 24px 70px #2f2b280d}.auth-brand{box-sizing:border-box;border-right:1px dashed #2f2b2824;justify-content:center;align-items:center;padding:64px 48px;display:flex}.auth-logo{width:min(100%,310px);height:auto;display:block}.auth-content{box-sizing:border-box;flex-direction:column;justify-content:center;padding:64px 52px;display:flex}.auth-header{margin-bottom:38px}.auth-eyebrow{letter-spacing:.24em;text-transform:uppercase;color:#2f2b2880;margin:0 0 12px;font-size:9px;font-weight:300;line-height:1.5}.auth-title{letter-spacing:-.04em;color:#2f2b28;margin:0;font-size:40px;font-weight:300;line-height:1.08}.auth-description{color:#2f2b28a8;margin:12px 0 0;font-size:13px;font-weight:300;line-height:1.7}.auth-form{flex-direction:column;gap:24px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-label{letter-spacing:.2em;text-transform:uppercase;color:#2f2b2885;font-size:9px;font-weight:300;line-height:1}.auth-field input{box-sizing:border-box;color:#2f2b28;background:0 0;border:none;border-bottom:1px solid #2f2b2847;border-radius:0;outline:none;width:100%;height:40px;padding:4px 2px 8px;font-family:inherit;font-size:14px;font-weight:300;display:block}.auth-field input:hover{border-bottom-color:#2f2b288c}.auth-field input:focus{border-bottom-color:#2f2b28}.auth-error{color:#8b4d43;margin:-6px 0 0;font-size:11px;font-weight:300;line-height:1.5}.auth-submit{box-sizing:border-box;letter-spacing:.18em;text-transform:uppercase;color:#fffdf8;cursor:pointer;background:#2f2b28;border:1px solid #2f2b28;border-radius:2px;width:100%;height:44px;margin-top:8px;font-family:inherit;font-size:10px;font-weight:400;transition:background-color .16s,color .16s,opacity .16s}.auth-submit:hover:not(:disabled){color:#2f2b28;background:0 0}.auth-submit:disabled{cursor:wait;opacity:.55}.auth-switch{color:#2f2b2885;align-items:baseline;gap:8px;margin-top:24px;font-size:11px;font-weight:300;line-height:1.6;display:flex}.auth-switch button{color:#2f2b28c7;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #2f2b2847;padding:0 0 2px;font-family:inherit;font-size:11px;font-weight:300}.auth-switch button:hover{color:#2f2b28;border-bottom-color:#2f2b28}.auth-footer{letter-spacing:.3em;text-transform:uppercase;color:#2f2b284d;margin:22px 0 0;font-size:8px;font-weight:300}@media (width<=760px){.auth-page{justify-content:flex-start;padding:32px 16px}.auth-panel{grid-template-columns:1fr;width:min(440px,100%);min-height:auto}.auth-brand{border-bottom:1px dashed #2f2b2824;border-right:none;padding:40px 32px 28px}.auth-logo{width:min(240px,100%)}.auth-content{padding:42px 32px 48px}.auth-title{font-size:34px}}@media (width<=420px){.auth-page{padding:20px 8px}.auth-panel{border-radius:6px}.auth-brand{padding:34px 22px 24px}.auth-content{padding:36px 22px 42px}.auth-header{margin-bottom:32px}.auth-title{font-size:31px}.auth-switch{flex-wrap:wrap}}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-switch button:disabled{opacity:.5;cursor:not-allowed}.auth-success{color:var(--ink-muted);margin:0;font-size:12px;font-weight:300;line-height:1.6}.auth-forgot{justify-content:flex-end;margin-top:-6px;display:flex}.auth-forgot button{color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:300;transition:color .15s}.auth-forgot button:hover{color:var(--ink)}.auth-forgot button:disabled{cursor:default;opacity:.5}.goal-modal-backdrop{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.goal-modal{box-sizing:border-box;width:min(470px,100%);padding:var(--space-5);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;position:relative;box-shadow:0 24px 60px #0000001a,0 6px 16px #0000000d}.goal-close-button{width:28px;height:28px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:300;line-height:1;transition:color .15s;position:absolute;top:18px;right:18px}.goal-close-button:hover{color:var(--ink)}.goal-close-button:focus-visible{outline:1px solid var(--ink-muted);outline-offset:3px}.goal-modal-title{margin:0 0 var(--space-5);padding-right:var(--space-4);letter-spacing:-.03em;color:var(--ink);font-size:26px;font-weight:300}.goal-form-group{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.goal-form-group label{color:var(--ink-light);font-size:11px;font-weight:300}.goal-form-group input{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fffdf88c;border-radius:6px;outline:none;padding:11px 13px;font-family:inherit;font-size:14px;font-weight:300;transition:border-color .15s,background .15s}.goal-form-group input:focus{border-color:var(--ink-muted);background:#fffdf8e6}.goal-form-group input::placeholder{color:var(--ink-faint)}.goal-input-row{align-items:center;gap:var(--space-2);display:flex}.goal-input-row input{flex:1}.goal-input-row span{color:var(--ink-light);flex-shrink:0;font-size:12px;font-weight:300}.goal-button-row{margin-top:var(--space-4)}.goal-save-button{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:11px;font-family:inherit;font-size:10px;font-weight:300;transition:background .15s,color .15s,border-color .15s}.goal-save-button:hover{color:var(--ink);background:0 0}.goal-save-button:active{transform:translateY(1px)}.reflection-timeline{margin-top:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--line-strong)}.reflection-title{margin:0 0 var(--space-5);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:300}.reflection-list{flex-direction:column;display:flex}.reflection-item{column-gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);display:grid}.reflection-date{color:var(--ink-light);align-self:start;line-height:1}.reflection-date span{margin-bottom:var(--space-1);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:300;display:block}.reflection-date strong{letter-spacing:-.035em;color:var(--ink);font-size:30px;font-weight:300;line-height:1;display:block}.reflection-content{min-width:0;padding-top:2px}.reflection-meta{margin-bottom:var(--space-2);letter-spacing:.04em;color:var(--ink-faint);font-size:10px;font-weight:300}.reflection-text{max-width:680px;color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:300;line-height:1.7}.reflection-toggle{align-items:center;gap:var(--space-1);margin-top:var(--space-4);color:var(--ink-light);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:300;transition:color .15s;display:inline-flex}.reflection-toggle:hover{color:var(--ink)}.reflection-toggle:focus-visible{outline:1px solid var(--ink-muted);outline-offset:6px}.modal-backdrop{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.day-modal{box-sizing:border-box;width:min(470px,100%);max-height:calc(100vh - 48px);padding:var(--space-5);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0000001a,0 6px 16px #0000000d}.modal-close-button{width:28px;height:28px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;font-size:22px;font-weight:300;line-height:1;transition:color .15s;position:absolute;top:18px;right:18px}.modal-close-button:hover{color:var(--ink)}.modal-title{margin:0 0 var(--space-5);letter-spacing:-.03em;color:var(--ink);font-size:26px;font-weight:300}.day-modal h3{margin:var(--space-5) 0 var(--space-3);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:300}.day-modal h3:first-of-type{margin-top:0}.form-group{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.form-group label{color:var(--ink-light);font-size:11px;font-weight:300}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fffdf88c;border-radius:6px;outline:none;padding:11px 13px;font-family:inherit;font-size:14px;font-weight:300;transition:border-color .15s,background .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ink-muted);background:#fffdf8e6}.distance-row{align-items:center;gap:var(--space-2);display:flex}.distance-row input{flex:1}.distance-row span{color:var(--ink-light);font-size:12px;font-weight:300}.reflection-prompt-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.reflection-prompt-eyebrow{margin:0 0 var(--space-2);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:300}.reflection-prompt-text{margin:0 0 var(--space-3);max-width:360px;color:var(--ink-soft);font-size:15px;font-weight:300;line-height:1.7}.save-button{width:100%;margin-top:var(--space-4);border:1px solid var(--ink);background:var(--ink);color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:11px;font-family:inherit;font-size:10px;font-weight:300;transition:background .15s,color .15s,border-color .15s}.save-button:hover{color:var(--ink);background:0 0}.save-button:active{transform:translateY(1px)}.reflection-prompt-section textarea{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;min-height:96px;color:var(--ink);resize:vertical;background:#fffdf88c;border-radius:6px;outline:none;padding:11px 13px;font-family:inherit;font-size:14px;font-weight:300;line-height:1.6;transition:border-color .15s,background .15s;display:block}.reflection-prompt-section textarea:focus{border-color:var(--ink-muted);background:#fffdf8e6}.reflection-prompt-section textarea::placeholder{color:var(--ink-faint)}.delete-entry-button{color:#2f2b2894;width:100%;font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:10px 16px;font-size:10px}.delete-entry-button:hover{color:#782d26e6}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236c655e' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px}.monthly-goal{width:min(390px,100%);margin:-174px 0 72px auto;padding:0}.monthly-goal-header{margin-bottom:var(--space-3)}.monthly-goal-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:10px;font-weight:300}.monthly-goal-summary{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.monthly-goal-distance{align-items:baseline;gap:var(--space-2);display:flex}.monthly-goal-distance span{letter-spacing:-.055em;color:var(--ink);font-size:52px;font-weight:300;line-height:1}.monthly-goal-distance small{color:var(--ink-light);font-size:16px;font-weight:300}.monthly-goal-progress-value{align-items:baseline;gap:var(--space-2);padding-bottom:5px;display:flex}.monthly-goal-progress-value strong{letter-spacing:-.035em;color:var(--ink);font-size:24px;font-weight:300;line-height:1}.monthly-goal-progress-value span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:300}.monthly-goal-progress-meta{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);color:var(--ink-light);font-size:11px;font-weight:300;display:flex}.monthly-goal-progress-track{width:100%;height:7px;margin-top:var(--space-2);background:#2f2b2814;border-radius:999px;position:relative;overflow:hidden}.monthly-goal-progress-fill{border-radius:inherit;background:#bce5add1;height:100%;transition:width .3s}.monthly-goal-footer{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-3);display:flex}.monthly-goal-phase{color:var(--ink-muted);margin:0;font-size:11px;font-weight:300;line-height:1.5}.monthly-goal-edit{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:9px;font-weight:300;transition:color .15s}.monthly-goal-edit:hover{color:var(--ink)}.month-header{justify-content:center;align-items:center;column-gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:28px minmax(220px,auto) 28px;display:grid}.month-header button{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:300;line-height:1;transition:color .15s,transform .15s;display:grid}.month-header button:hover{color:var(--ink);transform:translateY(-1px)}.month-header h2{text-align:center;letter-spacing:.12em;text-transform:uppercase;min-width:220px;color:var(--ink);margin:0;font-family:inherit;font-size:24px;font-weight:300}.weekday-grid{color:#2f2b287a;letter-spacing:.16em;text-align:center;text-transform:uppercase;border-bottom:1px solid #2f2b281f;grid-template-columns:repeat(7,1fr);margin-bottom:0;font-size:10px;font-weight:300;display:grid}.weekday-grid div{padding-bottom:var(--space-3)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.calendar-grid>div{border-bottom:1px solid #2f2b2813;border-right:1px solid #2f2b2813}.calendar-grid>div:nth-child(7n){border-right:none}.day-cell{cursor:pointer;background:0 0;min-height:132px;padding:18px 16px 16px;transition:background-color .15s}.day-cell:hover{background-color:#2f2b2806}.day-cell.past{background-color:#2f2b2805}.day-cell.past:hover{background-color:#2f2b2808}.day-cell.today{background-color:#ccb99d24}.day-number{letter-spacing:-.01em;color:#2f2b28d1;margin-bottom:12px;font-size:12px;font-weight:400}.entry-line{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:#2f2b28e6;font-size:11.5px;font-weight:300;line-height:1.55;display:flex}.plan-entry{color:#2f2b28b8}.entry-marker{width:10px;color:var(--ink-light);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.entry-marker.completed{color:var(--ink)}.completed-entry-text{z-index:0;padding:0 3px;display:inline-block;position:relative}.completed-entry-text:before{content:"";z-index:-1;background:#bce5ad9e;border-radius:2px;height:66%;position:absolute;bottom:1px;left:-2px;right:-3px;transform:rotate(-.5deg)}.completed-entry{color:#212f23f5}.placeholder-entry{visibility:hidden}@media (width<=768px){.monthly-goal{width:100%;margin:var(--space-5) 0 var(--space-6)}.monthly-goal-summary{align-items:flex-end}.monthly-goal-distance span{font-size:44px}.monthly-goal-progress-meta{gap:var(--space-2)}.monthly-goal-footer{align-items:flex-start}}@media (width<=1050px){.monthly-goal{width:100%;margin:var(--space-5) 0 var(--space-6)}}.calendar-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.calendar-inner{min-width:980px}@media (width<=768px){.calendar-inner{min-width:860px}.month-header h2{letter-spacing:.1em;min-width:180px;font-size:20px}.month-header{column-gap:var(--space-3);grid-template-columns:24px minmax(180px,auto) 24px}}.training-guide-card{border-top:1px solid var(--line);text-align:left;margin:48px 0 24px;padding:24px 0}.training-guide-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:11px;font-weight:300}.training-guide-description{color:var(--ink-light);margin:14px 0 12px;font-size:13px;font-weight:300;line-height:1.8}.training-guide-link{letter-spacing:.03em;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:400;transition:opacity .2s}.training-guide-link:hover{opacity:.65}.training-guide-backdrop{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.training-guide-modal{box-sizing:border-box;width:min(470px,100%);padding:var(--space-5);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;position:relative;box-shadow:0 24px 60px #0000001a,0 6px 16px #0000000d}.training-guide-close-button{width:28px;height:28px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:300;line-height:1;transition:color .15s;position:absolute;top:18px;right:18px}.training-guide-close-button:hover{color:var(--ink)}.training-guide-close-button:focus-visible{outline:1px solid var(--ink-muted);outline-offset:3px}.training-guide-title{margin:0 0 var(--space-5);padding-right:var(--space-4);letter-spacing:-.03em;color:var(--ink);font-size:26px;font-weight:300}.training-guide-form-group{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.training-guide-form-group label{color:var(--ink-light);font-size:11px;font-weight:300}.training-guide-form-group input,.training-guide-form-group select{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fffdf88c;border-radius:6px;outline:none;padding:11px 13px;font-family:inherit;font-size:14px;font-weight:300;transition:border-color .15s,background .15s}.training-guide-form-group input:focus,.training-guide-form-group select:focus{border-color:var(--ink-muted);background:#fffdf8e6}.training-guide-input-row{align-items:center;gap:var(--space-2);display:flex}.training-guide-input-row input{flex:1}.training-guide-input-row span{color:var(--ink-light);flex-shrink:0;font-size:12px;font-weight:300}.training-guide-button-row{margin-top:var(--space-4)}.training-guide-save-button{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:11px;font-family:inherit;font-size:10px;font-weight:300;transition:background .15s,color .15s,border-color .15s}.training-guide-save-button:hover{color:var(--ink);background:0 0}.training-guide-save-button:active{transform:translateY(1px)}.training-guide-modal{width:min(560px,100%);max-height:85vh;overflow-y:auto}.training-guide-pb-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.training-guide-form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236c655e' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px}.training-guide-error{margin:var(--space-3) 0 0;color:#782d26e6;font-size:11px;font-weight:300;line-height:1.6}.training-guide-save-button:disabled,.training-guide-close-button:disabled{cursor:default;opacity:.55}.training-guide-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.training-guide-status-title{color:var(--ink);margin:0;font-size:18px;font-weight:300;line-height:1.6}.training-guide-status-copy{margin:var(--space-3) 0 0;color:var(--ink-muted);font-size:13px;font-weight:300;line-height:1.7}.training-guide-status-note{margin:var(--space-2) 0 0;letter-spacing:.08em;color:var(--ink-faint);font-size:10px;font-weight:300}.training-guide-view-backdrop{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.training-guide-view{box-sizing:border-box;width:min(760px,100%);max-height:calc(100vh - 48px);padding:var(--space-5);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0000001a,0 6px 16px #0000000d}.training-guide-view-close{width:28px;height:28px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:300;position:absolute;top:18px;right:18px}.training-guide-view-label{margin:0 0 var(--space-2);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:300}.training-guide-view-title{margin:0 0 var(--space-5);letter-spacing:-.03em;color:var(--ink);font-size:30px;font-weight:300}.training-guide-view-summary{gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.training-guide-view-summary div{gap:var(--space-1);flex-direction:column;display:flex}.training-guide-view-summary span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:300}.training-guide-view-summary strong{color:var(--ink);font-size:15px;font-weight:300}.training-guide-view-placeholder{padding:var(--space-5) 0}.training-guide-view-placeholder p{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:14px;font-weight:300;line-height:1.7}.training-guide-view-edit{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:300}.training-guide-view-edit:hover{color:var(--ink)}.training-guide-view-content{padding:var(--space-5) 0}.training-guide-view-section{margin-bottom:var(--space-5)}.training-guide-view-section-label{margin:0 0 var(--space-3);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:300}.training-guide-view-copy{color:var(--ink-soft);margin:0;font-size:15px;font-weight:300;line-height:1.8}.training-guide-view-list{gap:var(--space-2);color:var(--ink-soft);flex-direction:column;margin:0;padding-left:18px;font-size:14px;font-weight:300;line-height:1.7;display:flex}.training-guide-phase-list{flex-direction:column;display:flex}.training-guide-phase{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.training-guide-phase:first-child{padding-top:0}.training-guide-phase-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.training-guide-phase-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:300}.training-guide-phase-header span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;font-size:10px;font-weight:300}.training-guide-phase p{color:var(--ink-soft);margin:0;font-size:14px;font-weight:300;line-height:1.75}.training-guide-view-closing{padding-top:var(--space-4);border-top:1px solid var(--line)}.training-guide-view-closing p{max-width:580px;color:var(--ink-muted);margin:0;font-size:15px;font-style:italic;font-weight:300;line-height:1.8}.training-guide-phase-details{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.training-guide-phase-details div{min-width:0}.training-guide-phase-details span{margin-bottom:var(--space-1);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:9px;font-weight:300;display:block}.training-guide-phase-details p{color:var(--ink-soft);margin:0;font-size:13px;font-weight:300;line-height:1.7}@media (width<=640px){.training-guide-view-backdrop{padding:var(--space-2);align-items:stretch}.training-guide-view{width:100%;max-height:calc(100vh - 16px);padding:var(--space-4) var(--space-3);border-radius:6px}.training-guide-view-close{top:12px;right:12px}.training-guide-view-title{margin-bottom:var(--space-4);font-size:26px}.training-guide-view-summary{gap:var(--space-3);padding-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.training-guide-view-content{padding:var(--space-4) 0}.training-guide-view-section{margin-bottom:var(--space-4)}.training-guide-view-copy,.training-guide-view-list,.training-guide-phase-details p,.training-guide-view-closing p{overflow-wrap:anywhere}.training-guide-phase-header{align-items:flex-start;gap:var(--space-1);flex-direction:column}.training-guide-phase-header span{white-space:normal}.training-guide-phase-details{gap:var(--space-3);grid-template-columns:1fr}.training-guide-view-closing p{max-width:100%}}.opening-screen{min-height:100vh;padding:var(--space-4);background-color:var(--paper);color:var(--ink);background-image:linear-gradient(#2f2b2806 1px,#0000 1px),linear-gradient(90deg,#2f2b2806 1px,#0000 1px);background-size:32px 32px;place-items:center;display:grid}.opening-content{text-align:center;flex-direction:column;align-items:center;animation:.9s both opening-fade-in;display:flex}.opening-logo{width:min(390px,80vw);height:auto;display:block}.opening-enter{margin-top:var(--space-6);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:300;transition:color .15s,transform .15s}.opening-enter:hover{color:var(--ink);transform:translate(2px)}.opening-enter:focus-visible{outline:1px solid var(--ink-muted);outline-offset:6px}@media (width<=640px){.opening-screen{padding:var(--space-3)}.opening-logo{width:min(330px,88vw)}.opening-enter{margin-top:var(--space-5)}}@keyframes opening-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.how-it-works-backdrop{z-index:1200;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1c1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.how-it-works-modal{box-sizing:border-box;width:min(680px,100%);max-height:calc(100vh - 48px);padding:var(--space-5);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0000001a,0 6px 16px #0000000d}.how-it-works-close{width:28px;height:28px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:300;position:absolute;top:18px;right:18px}.how-it-works-close:hover{color:var(--ink)}.how-it-works-label{margin:0 0 var(--space-2);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);font-size:9px;font-weight:300}.how-it-works-title{margin:0 0 var(--space-5);letter-spacing:-.025em;color:var(--ink);font-size:28px;font-weight:300}.how-it-works-steps{margin-bottom:var(--space-5);flex-direction:column;display:flex}.how-it-works-steps article{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;display:grid}.how-it-works-steps article>span{letter-spacing:.12em;color:var(--ink-faint);font-size:9px;font-weight:300}.how-it-works-steps h3{margin:0 0 var(--space-1);color:var(--ink);font-size:15px;font-weight:300}.how-it-works-steps p{color:var(--ink-muted);margin:0;font-size:13px;font-weight:300;line-height:1.7}.how-it-works-section{padding:var(--space-4) 0;border-top:1px solid var(--line)}.how-it-works-section-label{margin:0 0 var(--space-3);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-size:9px;font-weight:300}.how-it-works-section h3{margin:0 0 var(--space-3);letter-spacing:-.015em;color:var(--ink-soft);font-size:20px;font-weight:300}.how-it-works-section>p:not(.how-it-works-section-label){margin:0 0 var(--space-2);color:var(--ink-muted);font-size:13px;font-weight:300;line-height:1.8}@media (width<=640px){.how-it-works-backdrop{padding:var(--space-2);align-items:stretch}.how-it-works-modal{width:100%;max-height:calc(100vh - 16px);padding:var(--space-4) var(--space-3)}.how-it-works-title{font-size:24px}}
