*,*:before,*:after{box-sizing:border-box}:root{--background: #000000;--surface: #101216;--surface-hover: #181B21;--surface-pressed: #21252D;--grouped-background: #101216;--separator: rgba(255, 255, 255, .1);--hairline: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .14);--text: #FFFFFF;--text-secondary: #A2A9B6;--text-muted: #6C737F;--spec-red: #FF3B30;--spec-orange: #FF9500;--spec-yellow: #FFD60A;--spec-green: #5CE65C;--spec-teal: #2FE0C0;--spec-cyan: #4FD2FF;--spec-blue: #3D8BFF;--spec-indigo: #7B61FF;--spec-violet: #D45BF0;--spec-blue-text: #7FB2FF;--spec-indigo-text: #A594FF;--primary: #FFE828;--primary-hover: #FFED5A;--primary-light: rgba(255, 232, 40, .15);--on-primary: #000000;--success: #2FD65A;--success-text: #5CE682;--success-light: rgba(47, 214, 90, .16);--warning: var(--spec-yellow);--warning-text: #FFE066;--warning-light: rgba(255, 214, 10, .16);--error: var(--spec-red);--error-text: #FF6B63;--error-light: rgba(255, 59, 48, .16);--accent: var(--spec-cyan);--q-fructose: var(--spec-green);--q-hydration: var(--spec-teal);--q-glucose: var(--spec-cyan);--q-carbs: var(--spec-blue);--q-sodium: var(--spec-indigo);--q-caffeine: var(--spec-violet);--stage-fuel: var(--q-carbs);--stage-caffeine: var(--q-caffeine);--stage-buffer: var(--q-sodium);--stage-hydration: var(--q-hydration);--stage-fuel-text: var(--spec-blue-text);--stage-caffeine-text: var(--q-caffeine);--stage-buffer-text: var(--spec-indigo-text);--stage-hydration-text: var(--q-hydration);--r-card: 22px;--r-inner: 16px;--r-tile: 14px;--r-chip: 999px;--card-neutral: linear-gradient(155deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .028) 58%, rgba(255, 255, 255, .012));--card-athlete: linear-gradient(155deg, rgba(123, 97, 255, .26), rgba(123, 97, 255, .06) 58%, rgba(255, 255, 255, .015));--card-event: linear-gradient(155deg, rgba(47, 224, 192, .22), rgba(47, 224, 192, .05) 58%, rgba(255, 255, 255, .015));--card-plan: linear-gradient(155deg, rgba(61, 139, 255, .28), rgba(61, 139, 255, .07) 58%, rgba(255, 255, 255, .015));--card-fuel: linear-gradient(155deg, rgba(255, 149, 0, .26), rgba(255, 149, 0, .06) 58%, rgba(255, 255, 255, .015));--card-lip: inset 0 1px 0 rgba(255, 255, 255, .1);--bezel: linear-gradient(90deg, var(--spec-red), var(--spec-orange), var(--spec-yellow), var(--spec-green), var(--spec-teal), var(--spec-cyan), var(--spec-blue), var(--spec-indigo), var(--spec-violet));--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;font-family:var(--font-sans);line-height:1.5;font-weight:400;letter-spacing:-.011em;color-scheme:dark;color:var(--text);background-color:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--background)}h1,h2,h3,h4{letter-spacing:-.025em}#app{max-width:1280px;margin:0 auto;padding:1.5rem}.num,.plan-clock,.current-slider-value{font-variant-numeric:tabular-nums}.g-card{background:var(--card-bg, var(--card-neutral));border:1px solid var(--separator);border-radius:var(--r-card);box-shadow:var(--card-lip);overflow:hidden}.g-tile{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--r-tile);background:#ffffff1a;color:var(--tile-color, var(--text));box-shadow:inset 0 1px #ffffff1f}.g-tile svg{width:22px;height:22px;display:block}.card-head{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 0;text-align:left}.card-head h2,.card-head h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text)}.card-tile--athlete{color:var(--spec-indigo-text);background:#7b61ff2e}.card-tile--event{color:var(--spec-teal);background:#2fe0c029}.card-tile--plan{color:var(--spec-cyan);background:#4fd2ff29}.card-tile--fuel{color:var(--spec-orange);background:#ff950029}.event-planner{max-width:600px;margin:0 auto;padding:0;background-color:transparent}.event-planner-header{position:relative;display:grid;grid-template-columns:1fr auto;align-items:start;margin:0 0 1.25rem;padding:1.5rem 1.25rem 1.75rem;background:var(--card-neutral);border:1px solid var(--separator);border-radius:var(--r-card);box-shadow:var(--card-lip);overflow:hidden}.event-planner-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bezel)}.header-mark{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:center;gap:.75rem}.event-planner-header h2{margin:0;font-size:clamp(20px,5vw,32px);font-weight:700;color:var(--text)}.header-subtitle{grid-column:1 / -1;grid-row:2;margin:.4rem 0 0;text-align:center;font-size:.9rem;color:var(--text-muted)}.logout-button{grid-column:2;grid-row:1;z-index:1;flex-shrink:0;padding:.45rem .95rem;min-height:0;background:#ffffff0d;border:1px solid var(--separator);color:var(--text-secondary);border-radius:var(--r-chip);font-size:.78rem;font-weight:600;font-family:inherit;letter-spacing:.02em;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}.logout-button:hover{background:var(--error-light);border-color:#ff3b3066;color:var(--error-text)}.event-planner-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.panel{margin:0 0 1.25rem;padding-bottom:.25rem}.panel--athlete{--card-bg: var(--card-athlete)}.panel--event{--card-bg: var(--card-event)}.panel-rows{margin-top:1.25rem}.form-group{margin:0;padding:1rem 1.25rem;border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:60px;position:relative}.form-group:first-child{border-top:none}.form-group.slider-group{flex-direction:column;align-items:stretch;padding:1.25rem}.form-group--stack{flex-direction:column;align-items:stretch;gap:.875rem}.form-group--stack .label-with-help{flex:none}.form-group--stack .tooltip{position:static;margin:0;max-width:none}.form-group--stack .tooltip:before{display:none}.label-with-help{display:flex;align-items:center;gap:.5rem;flex:1}.help-icon{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;background-color:#ffffff0f;border:1px solid var(--separator);border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s ease}.help-icon:hover{background-color:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tooltip{position:absolute;background-color:var(--surface-pressed);color:var(--text);padding:.75rem 1rem;border-radius:var(--r-inner);font-size:.875rem;line-height:1.45;max-width:280px;z-index:10;border:1px solid var(--border);box-shadow:0 12px 28px #0000008c;opacity:0;visibility:hidden;transition:all .2s ease;top:100%;left:1.25rem;margin-top:.25rem}.tooltip.show{opacity:1;visibility:visible}.tooltip:before{content:"";position:absolute;top:-6px;left:1rem;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--surface-pressed)}.slider-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem}.slider-header label{flex:none;font-weight:500}.current-slider-value{font-weight:700;color:var(--text);font-size:1.125rem;background-color:#ffffff0f;box-shadow:var(--card-lip);padding:.375rem .9rem;border-radius:var(--r-chip);min-width:66px;text-align:center}label{font-weight:500;font-size:1rem;color:var(--text);margin:0;flex:1}input[type=number],select,input[type=time]{width:auto;min-width:140px;padding:.7rem 1rem;min-height:48px;border:1px solid var(--separator);border-radius:var(--r-tile);background:#00000059;color:var(--text);font-size:16px;transition:border-color .18s ease,background-color .18s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit}input[type=number]:hover,select:hover,input[type=time]:hover{border-color:var(--border)}input[type=number]:focus,select:focus,input[type=time]:focus{outline:none;border-color:var(--primary)}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A2A9B6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:3rem;cursor:pointer}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:var(--r-chip);outline:none;transition:background-color .3s ease;margin:1.25rem 0 0;background:var(--separator)}.slider.slider-blue{background:var(--spec-cyan)}.slider.slider-green{background:var(--spec-green)}.slider.slider-yellow{background:var(--spec-orange)}.slider.slider-red{background:var(--spec-red)}.bar-carbs{background:var(--q-carbs)}.bar-glucose{background:var(--q-glucose)}.bar-fructose{background:var(--q-fructose)}.bar-caffeine{background:var(--q-caffeine)}.bar-hydration{background:var(--q-hydration)}.bar-sodium{background:var(--q-sodium)}.over-value.over-neutral,.over-tag.over-neutral{color:var(--text)!important}.plan-status-ok{background:var(--success)}.plan-status-under{background:var(--warning)}.plan-status-over{background:var(--spec-orange)}.plan-status-breach{background:var(--error)}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:none;box-shadow:0 0 0 4px #0000008c,0 2px 8px #0009;cursor:pointer;transition:transform .2s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.08)}.slider::-webkit-slider-thumb:active{transform:scale(.95)}.slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:none;box-shadow:0 0 0 4px #0000008c,0 2px 8px #0009;cursor:pointer;transition:transform .2s ease}.slider::-moz-range-thumb:hover{transform:scale(1.08)}.slider-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-top:.75rem;padding:0 .6rem;font-weight:500;font-variant-numeric:tabular-nums}.plan-error{margin:.75rem 0 0;padding:.875rem 1rem;font-size:.9rem;line-height:1.45;color:var(--error-text);background:var(--error-light);border:1px solid rgba(255,59,48,.35);border-radius:var(--r-inner)}.button-group{display:flex;gap:.75rem;margin:1.5rem 0 1.25rem;padding:0}.calculate-button,.print-button{background:#ffffff0d;color:var(--text);border:1px solid var(--separator);padding:1rem 1.5rem;font-size:1.05rem;font-weight:600;border-radius:var(--r-inner);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;flex:1;min-height:56px;font-family:inherit;position:relative;overflow:hidden}.calculate-button{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.calculate-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.print-button:hover{background:var(--surface-hover);border-color:var(--border)}.calculate-button:active{background-color:var(--primary-hover)}.print-button:active{background-color:var(--surface-pressed)}.calculate-button.loading{cursor:not-allowed;opacity:.8}.calculate-button .loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.3);border-radius:50%;border-top-color:var(--on-primary);animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:-4px}@keyframes spin{to{transform:rotate(360deg)}}.timeline{--card-bg: var(--card-plan);margin-top:1.25rem;padding-bottom:1.25rem;opacity:0;animation:fadeIn .5s ease forwards;animation-delay:.3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline .card-head h3{font-size:1.1rem;font-weight:700;color:var(--text);text-transform:none;letter-spacing:-.025em}.plan-list{padding:1.25rem 1.25rem 0}.plan-entry{display:flex;gap:.9rem;opacity:0;animation:slideInUp .3s ease forwards}.plan-time{width:84px;flex-shrink:0;text-align:right;display:flex;flex-direction:column}.plan-clock{font-weight:600;font-size:.95rem;color:var(--text)}.plan-relative{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-rail{width:12px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.plan-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0;box-shadow:0 0 0 3px #00000080}.dot-fuel{background:var(--stage-fuel)}.dot-caffeine{background:var(--stage-caffeine)}.dot-buffer{background:var(--stage-buffer)}.dot-hydration{background:var(--stage-hydration)}.plan-line{width:2px;flex:1;background:var(--separator)}.plan-body{flex:1;padding-bottom:1.4rem;font-size:.9rem;line-height:1.5}.plan-item{margin-bottom:.25rem}.plan-label{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);margin-right:.5rem}.plan-clock,.plan-body{color:var(--text)}.plan-start .plan-clock{color:var(--primary)}.plan-marker-label{font-weight:700;margin:0 0 .25rem}.dot-marker{width:12px;height:12px;margin-top:4px;background:var(--primary);border-radius:50%}.plan-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.plan-pill{font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:var(--r-chip);border:1px solid;background:#ffffff0a}.pill-fuel{border-color:#3d8bff73;color:var(--stage-fuel-text)}.pill-hydration{border-color:#2fe0c073;color:var(--stage-hydration-text)}.pill-sodium{border-color:#7b61ff73;color:var(--stage-buffer-text)}.plan-clock.clock-label{font-size:.8rem;line-height:1.3}.centered-time{text-align:center;font-weight:600}@keyframes slideInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.switch{position:relative;display:inline-block;width:52px;height:48px;margin:0;vertical-align:middle;flex:none}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:9px;left:0;right:0;bottom:9px;background-color:#ffffff1a;transition:.25s ease;border-radius:var(--r-chip);border:1px solid var(--separator)}.switch-slider:before{position:absolute;content:"";height:24px;width:24px;left:2px;bottom:2px;background-color:var(--text-secondary);transition:.25s ease;border-radius:50%}input:checked+.switch-slider{background-color:var(--primary);border-color:var(--primary)}input:checked+.switch-slider:before{transform:translate(22px);background-color:var(--on-primary)}input:focus-visible+.switch-slider{outline:2px solid var(--primary);outline-offset:2px}.radio-group{display:flex;gap:1.25rem;align-items:center}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin:0;font-weight:400;flex:none}.radio-option input[type=radio]{width:20px;height:20px;margin:0;accent-color:var(--primary);cursor:pointer}.radio-label{font-size:1rem;color:var(--text);cursor:pointer}.sweat-rate-controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.sweat-rate-controls select{min-width:0;flex:1 1 180px}.control-pair{display:flex;align-items:center;gap:.5rem;flex:1 1 240px}.heat-label{flex:none;font-size:.9rem;white-space:nowrap;color:var(--text-secondary)}.calculated-sweat-rate{font-weight:700;color:var(--spec-teal);background-color:#2fe0c024;padding:.45rem .85rem;border-radius:var(--r-chip);font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}.calculate-sweat-button{background:#ffffff0d;color:var(--text);border:1px solid var(--separator);padding:.6rem 1rem;min-height:48px;font-size:.85rem;font-weight:600;border-radius:var(--r-tile);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap;font-family:inherit}.calculate-sweat-button:hover{background:var(--surface-hover);border-color:var(--border)}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.popup-content{background:var(--surface);border-radius:var(--r-card);border:1px solid var(--border);box-shadow:var(--card-lip),0 24px 60px #000000b3;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:popupSlideIn .3s ease}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--hairline)}.popup-header h3{font-family:inherit;font-size:1.15rem;font-weight:700;margin:0;color:var(--text)}.close-button{background:#ffffff0d;border:1px solid var(--separator);font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:0;border-radius:50%;transition:all .18s ease;width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:inherit}.close-button:hover{background:var(--surface-hover);color:var(--text)}.popup-body{padding:1.5rem}.popup-instructions{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.popup-form-group{margin-bottom:1.25rem}.popup-form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text)}.popup-form-group input{width:100%;padding:.75rem 1rem;min-height:48px;border:1px solid var(--separator);border-radius:var(--r-tile);background:#00000059;color:var(--text);font-size:16px;transition:border-color .18s ease;font-family:inherit}.popup-form-group input:focus{outline:none;border-color:var(--primary)}.popup-footer{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--hairline);justify-content:flex-end}.popup-cancel-button{background:#ffffff0d;color:var(--text);border:1px solid var(--separator);padding:.75rem 1.5rem;min-height:48px;font-size:1rem;font-weight:600;border-radius:var(--r-tile);cursor:pointer;transition:background-color .18s ease,border-color .18s ease;font-family:inherit}.popup-cancel-button:hover{background:var(--surface-hover);border-color:var(--border)}.popup-calculate-button{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);padding:.75rem 1.5rem;min-height:48px;font-size:1rem;font-weight:600;border-radius:var(--r-tile);cursor:pointer;transition:background-color .18s ease,border-color .18s ease;font-family:inherit}.popup-calculate-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}@media (max-width: 768px){#app{padding:1rem}.event-planner{margin:0}.event-planner-header{padding:1.25rem 1rem 1.5rem;margin-bottom:1rem}.event-planner-logo{width:34px;height:34px}.card-head{padding:1rem 1rem 0}.form-group{padding:1rem;flex-direction:column;align-items:stretch;gap:.75rem;min-height:auto}.form-group label,.label-with-help{justify-content:flex-start}.tooltip{left:1rem;right:1rem;max-width:none}input[type=number],select,input[type=time]{width:100%;min-width:auto;font-size:16px;min-height:48px}.slider-group{padding:1.25rem 1rem}.current-slider-value{font-size:1.25rem;padding:.4rem 1rem}.plan-list{padding:1rem 1rem 0}.plan-time{width:70px}.plan-clock{font-size:.875rem}.button-group{flex-direction:column;gap:.75rem;margin:1.25rem 0}.calculate-button,.print-button{padding:1.125rem 1.5rem;font-size:1.05rem;min-height:56px}.sweat-rate-controls{flex-direction:column;align-items:stretch}.sweat-rate-controls>select,.sweat-rate-controls .control-pair,.control-pair select{flex:0 0 auto}.control-pair{flex-direction:column;align-items:stretch;gap:.4rem}.calculate-sweat-button{width:100%;padding:.875rem 1rem;font-size:1rem}.popup-content{max-height:calc(100vh - 2rem)}.popup-footer{flex-direction:column}.popup-cancel-button,.popup-calculate-button{width:100%;padding:1rem 1.5rem}}@media print{@page{size:100mm 200mm;margin:6mm}body{background:#fff}#app{padding:0}.event-planner{margin:0;padding:1rem;max-width:88mm}form,.calculate-button,.print-button{display:none}.interactive-timeline,.event-planner-header,.logout-button{display:none!important}.timeline{margin-top:0;padding-bottom:0;animation:none;opacity:1;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important}.timeline .card-head{padding:0;margin-bottom:.5rem}.timeline .g-tile{display:none}.timeline .card-head h3{font-size:9pt;color:#000!important}.plan-list{padding:0}.plan-time{width:52px}.plan-clock{font-size:10pt}.plan-relative{font-size:7pt}.plan-body{font-size:8.5pt;padding-bottom:.8rem}.plan-pill{font-size:7.5pt;padding:2px 8px}.plan-label{font-size:6.5pt}.plan-entry{animation:none;opacity:1}.plan-clock,.plan-body{color:#000!important}.plan-relative,.plan-label{color:#444!important}.plan-line{background:#999}.plan-dot{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.plan-pill{border-color:#999!important;color:#000!important;background:#fff!important}}.interactive-timeline[data-v-1092c820]{margin-top:1.25rem;background:var(--card-fuel);border-radius:var(--r-card);box-shadow:var(--card-lip);padding:1.5rem;border:1px solid var(--separator)}.timeline-header[data-v-1092c820]{margin-bottom:1.5rem}.timeline-header-top[data-v-1092c820]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.timeline-header h3[data-v-1092c820]{font-family:inherit;font-size:1.1rem;font-weight:700;margin:0;color:var(--text)}.plan-status-badge[data-v-1092c820]{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .75rem;border-radius:var(--r-chip);font-size:.78rem;font-weight:600;letter-spacing:.01em;animation:fadeIn-1092c820 .25s ease}.plan-status-badge.status-success[data-v-1092c820]{background:var(--success-light);color:var(--success-text);border:1px solid rgba(47,214,90,.4)}.plan-status-badge.status-partial[data-v-1092c820]{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(255,214,10,.4)}.timeline-subtitle[data-v-1092c820]{color:var(--text-secondary);margin:0 0 .625rem;font-size:.9rem}.timeline-how[data-v-1092c820]{max-width:560px}.timeline-how summary[data-v-1092c820]{font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;letter-spacing:.01em}.timeline-how summary[data-v-1092c820]::-webkit-details-marker{display:none}.timeline-how summary[data-v-1092c820]:after{content:" ▾";font-size:.7rem}.timeline-how[open] summary[data-v-1092c820]:after{content:" ▴"}.timeline-how summary[data-v-1092c820]:hover{color:var(--text-secondary)}.how-steps[data-v-1092c820]{margin:.5rem 0 0;padding:.75rem 1rem .75rem 1.75rem;background:#00000052;border-radius:var(--r-inner);border:1px solid var(--hairline);display:flex;flex-direction:column;gap:.35rem;font-size:.83rem;color:var(--text-secondary);line-height:1.5}.how-steps li[data-v-1092c820]{padding-left:.25rem}.planner-step[data-v-1092c820]{background:#00000052;border:1px solid var(--hairline);border-radius:var(--r-inner);padding:1.25rem;margin-bottom:0}.targets-panel[data-v-1092c820]{background:#ffffff0d;box-shadow:var(--card-lip);border-radius:var(--r-inner);border:1px solid var(--hairline);padding:1.25rem;margin-bottom:1.5rem}.targets-panel h4[data-v-1092c820]{font-family:inherit;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);margin:0 0 .875rem}.target-bars[data-v-1092c820]{display:flex;flex-direction:column;gap:.625rem}.target-item[data-v-1092c820]{display:flex;flex-direction:column;gap:.3rem}.target-label[data-v-1092c820]{display:flex;justify-content:space-between;font-size:.85rem;font-weight:500}.target-values[data-v-1092c820]{color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.progress-bar[data-v-1092c820]{height:8px;background:#ffffff17;border-radius:var(--r-chip);overflow:hidden}.progress-fill[data-v-1092c820]{height:100%;border-radius:var(--r-chip);transition:width .3s ease,background-color .3s ease}.progress-fill.carbs[data-v-1092c820]{background:var(--q-carbs)}.progress-fill.caffeine[data-v-1092c820]{background:var(--q-caffeine)}.progress-fill.hydration[data-v-1092c820]{background:var(--q-hydration)}.progress-fill.sodium[data-v-1092c820]{background:var(--q-sodium)}.progress-fill.complete[data-v-1092c820]{background:var(--success)}.progress-fill.over-target[data-v-1092c820]{background:var(--warning)}.over-value[data-v-1092c820]{color:var(--warning-text)!important}.over-tag[data-v-1092c820]{display:inline-block;margin-left:.35rem;font-size:.72rem;font-weight:600;color:var(--warning-text);background:var(--warning-light);border-radius:var(--r-chip);padding:1px 7px}.sugar-split-row[data-v-1092c820]{display:flex;gap:1rem;margin-top:.2rem}.sugar-split-item[data-v-1092c820]{font-size:.74rem;color:var(--text-muted);font-weight:500}@keyframes fadeIn-1092c820{0%{opacity:0}to{opacity:1}}.timeline-actions[data-v-1092c820]{display:flex;gap:.75rem;margin-bottom:1rem}.action-btn[data-v-1092c820]{padding:.625rem 1.25rem;min-height:48px;border-radius:var(--r-tile);font-weight:600;font-size:.875rem;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;font-family:inherit}.clear-btn[data-v-1092c820]{background:#ffffff0d;color:var(--text);border:1px solid var(--separator)}.clear-btn[data-v-1092c820]:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}@keyframes modalIn-1092c820{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.interactive-timeline[data-v-1092c820],.planner-step[data-v-1092c820]{padding:1rem}.timeline-header-top[data-v-1092c820]{flex-direction:column;gap:.5rem}}@media print{.items-panel[data-v-1092c820],.timeline-actions[data-v-1092c820],.modal-overlay[data-v-1092c820]{display:none!important}.interactive-timeline[data-v-1092c820]{background:none;box-shadow:none;border-radius:0;border:1px solid var(--separator)}}.plan-rate-row[data-v-1092c820]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.plan-rate-label[data-v-1092c820]{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.plan-rate-input[data-v-1092c820]{width:84px;min-height:48px;padding:.5rem;border:1px solid var(--separator);border-radius:var(--r-tile);font-size:16px;font-variant-numeric:tabular-nums;font-family:inherit;color:var(--text);background:#00000059;text-align:center}.plan-rate-input[data-v-1092c820]:focus{outline:none;border-color:var(--primary)}.plan-rate-hint[data-v-1092c820]{font-size:.8rem;color:var(--text-muted)}.plan-sources[data-v-1092c820]{margin-top:1.25rem}.plan-sources h4[data-v-1092c820]{margin:0 0 .25rem;font-size:.95rem;font-weight:700;color:var(--text)}.plan-sources-help[data-v-1092c820]{margin:0 0 .75rem;font-size:.8rem;color:var(--text-secondary)}.plan-source-list[data-v-1092c820]{display:flex;flex-direction:column;gap:.5rem}.plan-source-row[data-v-1092c820]{display:flex;align-items:stretch;gap:.5rem}.plan-source-row>.plan-source-btn[data-v-1092c820]{width:auto;flex:1 1 auto;min-width:0}.plan-custom-edit[data-v-1092c820]{flex:0 0 auto;padding:0 .75rem;border:1px solid var(--separator);border-radius:var(--r-tile);background:#ffffff0d;color:var(--text-secondary);font-family:inherit;font-size:.8rem;cursor:pointer}.plan-custom-add[data-v-1092c820]{box-sizing:border-box;width:100%;min-height:48px;padding:.625rem .75rem;border:1px dashed var(--border);border-radius:var(--r-tile);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.875rem;text-align:left;cursor:pointer}.plan-custom-form[data-v-1092c820]{display:flex;flex-direction:column;gap:.75rem;box-sizing:border-box;width:100%;margin-top:.5rem;padding:.875rem;border:1px solid var(--hairline);border-radius:var(--r-inner);background:#00000052}.plan-custom-field[data-v-1092c820]{display:flex;flex-direction:column;gap:.375rem}.plan-custom-field label[data-v-1092c820],.plan-custom-label[data-v-1092c820]{font-size:.8rem;color:var(--text-secondary)}.plan-custom-field input[data-v-1092c820]{box-sizing:border-box;width:100%;min-height:48px;padding:.5rem .75rem;border:1px solid var(--separator);border-radius:var(--r-tile);background:#00000059;color:var(--text);font-family:inherit;font-size:16px}.plan-ratio-list[data-v-1092c820]{display:flex;gap:.5rem;flex-wrap:wrap}.plan-ratio-btn[data-v-1092c820]{min-height:48px;padding:.5rem .875rem;border:1px solid var(--separator);border-radius:var(--r-chip);background:#ffffff0d;color:var(--text-secondary);font-family:inherit;font-size:.875rem;cursor:pointer}.plan-ratio-selected[data-v-1092c820]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}.plan-custom-conc[data-v-1092c820]{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.plan-custom-warn[data-v-1092c820]{color:var(--warning-text)}.plan-custom-actions[data-v-1092c820]{display:flex;align-items:center;gap:.75rem}.plan-custom-save[data-v-1092c820]{flex:1 1 auto}.plan-custom-save[data-v-1092c820]:disabled{background:#ffffff0a;border-color:var(--hairline);color:var(--text-muted);cursor:not-allowed}.plan-custom-cancel[data-v-1092c820]{flex:0 0 auto;padding:0 .75rem;min-height:48px;border:1px solid var(--separator);border-radius:var(--r-tile);background:#ffffff0d;color:var(--text-secondary);font-family:inherit;font-size:.875rem;cursor:pointer}.plan-source-btn[data-v-1092c820]{display:flex;align-items:center;gap:.625rem;width:100%;min-height:48px;padding:.5rem .75rem;border:1px solid var(--separator);border-radius:var(--r-tile);background:#ffffff0d;color:var(--text);font-family:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.plan-source-selected[data-v-1092c820]{border-color:var(--primary);background:var(--primary-light)}.plan-source-dot[data-v-1092c820]{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #0006}.plan-source-name[data-v-1092c820]{flex:1;display:flex;flex-direction:column;line-height:1.2}.plan-source-meta[data-v-1092c820]{font-size:12px;line-height:1.2;color:var(--text-secondary)}.plan-source-badge[data-v-1092c820]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--primary);border:none;color:var(--on-primary);font-size:.75rem;font-weight:700;flex-shrink:0}.plan-calc-btn[data-v-1092c820]{width:100%;margin-top:.875rem;min-height:52px;font-size:1rem;background:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.plan-calc-btn[data-v-1092c820]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.plan-calc-btn[data-v-1092c820]:disabled{background:#ffffff0a;border-color:var(--hairline);color:var(--text-muted);cursor:not-allowed}.plan-summary[data-v-1092c820]{margin-top:1.25rem}.plan-raised-note[data-v-1092c820]{margin:0 0 .75rem;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.plan-row[data-v-1092c820]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.125rem .625rem;box-sizing:border-box;width:100%;min-height:48px;padding:.75rem .875rem;border:1px solid var(--hairline);border-radius:var(--r-inner);background:#ffffff0d;color:var(--text);font-family:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .18s ease}.plan-row[data-v-1092c820]:hover{background:#ffffff14}.plan-row[aria-expanded=true][data-v-1092c820]{border-bottom-left-radius:0;border-bottom-right-radius:0}.plan-row-group+.plan-row-group[data-v-1092c820]{margin-top:.5rem}.plan-row-pre[data-v-1092c820]{margin-bottom:0}.plan-row-main[data-v-1092c820]{grid-column:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .5rem;min-width:0}.plan-row-sub[data-v-1092c820]{grid-column:1;min-width:0;color:var(--text-secondary);font-size:.8rem;line-height:1.4;font-variant-numeric:tabular-nums}.plan-row-label[data-v-1092c820]{font-weight:600;white-space:nowrap}.plan-row-items[data-v-1092c820]{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere}.plan-status-dot[data-v-1092c820]{width:10px;height:10px;border-radius:50%;flex-shrink:0;align-self:center;box-shadow:0 0 0 3px #0006}.plan-row-chevron[data-v-1092c820]{grid-column:2;grid-row:1 / -1;display:flex;align-items:center;color:var(--text-secondary);transition:transform .15s ease}.plan-row-chevron.is-open[data-v-1092c820]{transform:rotate(90deg)}.plan-timing[data-v-1092c820]{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:.125rem .625rem;font-size:.8rem}.plan-timing-clock[data-v-1092c820]{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.plan-timing-rel[data-v-1092c820]{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.plan-timing-name[data-v-1092c820]{overflow-wrap:anywhere}.plan-timing-note[data-v-1092c820]{grid-column:3;color:var(--text-secondary);line-height:1.4;overflow-wrap:anywhere}.plan-row-detail[data-v-1092c820]{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:100%;padding:.875rem;border:1px solid var(--hairline);border-top:none;border-bottom-left-radius:var(--r-inner);border-bottom-right-radius:var(--r-inner);background:#00000052}.plan-metric[data-v-1092c820]{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem;font-size:.8rem}.plan-metric-label[data-v-1092c820]{color:var(--text-secondary)}.plan-metric-value[data-v-1092c820]{color:var(--text);font-variant-numeric:tabular-nums}.plan-metric-track[data-v-1092c820]{grid-column:1 / -1;height:6px;border-radius:var(--r-chip);background:#ffffff17;overflow:hidden}.plan-metric-fill[data-v-1092c820]{display:block;height:100%;border-radius:var(--r-chip)}.plan-carb-ledger[data-v-1092c820]{margin:.75rem 0 0;font-size:.8rem;line-height:1.4;color:var(--text-secondary)}.plan-warnings[data-v-1092c820]{margin-top:1rem;display:flex;flex-direction:column;gap:.375rem}.plan-warning-item[data-v-1092c820]{font-size:.8rem;color:var(--warning-text);line-height:1.4}.plan-rate-diff[data-v-1092c820]{flex-basis:100%;font-size:.75rem;color:var(--warning-text)}.plan-vehicle[data-v-1092c820]{margin-top:1.25rem}.plan-vehicle h4[data-v-1092c820]{margin:0 0 .5rem;font-size:.95rem;font-weight:700;color:var(--text)}.plan-vehicle-list[data-v-1092c820]{display:flex;gap:.5rem;flex-wrap:wrap}.plan-vehicle-btn[data-v-1092c820]{flex:1 1 140px;min-height:48px;padding:12px;line-height:1.3;border:1px solid var(--separator);border-radius:var(--r-tile);background:#ffffff0d;color:var(--text);font-family:inherit;font-size:.875rem;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.plan-vehicle-selected[data-v-1092c820]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}.plan-msg-warn[data-v-1092c820]{color:var(--warning-text)}.plan-msg-info[data-v-1092c820]{color:var(--text-secondary)}.plan-suggestions[data-v-1092c820]{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.plan-suggestion-row[data-v-1092c820]{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border:1px solid var(--hairline);border-radius:var(--r-inner);background:#ffffff0d}.plan-suggestion-text[data-v-1092c820]{flex:1;font-size:.8rem;color:var(--text-secondary)}.plan-suggestion-add[data-v-1092c820]{min-height:48px;padding:.375rem 1rem;border:1px solid var(--primary);border-radius:var(--r-chip);background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.admin-panel[data-v-0d1b4086]{margin-top:1.25rem;border:1px solid var(--separator);border-radius:var(--r-card);box-shadow:var(--card-lip);overflow:hidden;background:var(--card-neutral)}.admin-toggle[data-v-0d1b4086]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;min-height:52px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:700;color:var(--text-secondary);letter-spacing:.09em;text-transform:uppercase}.admin-toggle[data-v-0d1b4086]:hover{color:var(--text)}.admin-toggle-arrow[data-v-0d1b4086]{font-size:.7rem;transition:transform .2s ease}.admin-toggle-arrow.expanded[data-v-0d1b4086]{transform:rotate(180deg)}.admin-body[data-v-0d1b4086]{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--hairline)}.admin-add-row[data-v-0d1b4086]{display:flex;gap:.5rem;margin-bottom:1rem}.admin-input[data-v-0d1b4086]{flex:1;min-width:0;padding:.6rem .875rem;min-height:48px;border:1px solid var(--separator);border-radius:var(--r-tile);background:#00000059;color:var(--text);font-size:16px;font-family:inherit;transition:border-color .18s ease}.admin-input[data-v-0d1b4086]::placeholder{color:var(--text-muted)}.admin-input[data-v-0d1b4086]:focus{outline:none;border-color:var(--primary)}.admin-add-btn[data-v-0d1b4086]{padding:.6rem 1.1rem;min-height:48px;background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);border-radius:var(--r-tile);font-size:.875rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background-color .18s ease,border-color .18s ease;white-space:nowrap}.admin-add-btn[data-v-0d1b4086]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.admin-add-btn[data-v-0d1b4086]:disabled{opacity:.6;cursor:not-allowed}.admin-loading[data-v-0d1b4086]{font-size:.875rem;color:var(--text-secondary);padding:.5rem 0}.admin-email-list[data-v-0d1b4086]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-email-item[data-v-0d1b4086]{display:flex;align-items:center;justify-content:space-between;padding:.55rem .875rem;background:#ffffff0d;border:1px solid var(--hairline);border-radius:var(--r-inner);gap:.5rem}.admin-email-text[data-v-0d1b4086]{font-size:.875rem;color:var(--text);word-break:break-all}.admin-remove-btn[data-v-0d1b4086]{flex-shrink:0;padding:.35rem .75rem;background:transparent;border:1px solid rgba(255,59,48,.35);color:var(--error-text);border-radius:var(--r-chip);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.admin-remove-btn[data-v-0d1b4086]:hover:not(:disabled){background:var(--error-light);border-color:var(--error)}.admin-remove-btn[data-v-0d1b4086]:disabled{opacity:.5;cursor:not-allowed}.admin-badge[data-v-0d1b4086]{flex-shrink:0;padding:.2rem .6rem;background:#7b61ff29;border:1px solid rgba(123,97,255,.35);color:var(--spec-indigo-text);border-radius:var(--r-chip);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.admin-error[data-v-0d1b4086]{font-size:.85rem;color:var(--error-text);margin:0 0 .75rem;font-weight:500}.admin-success[data-v-0d1b4086]{font-size:.85rem;color:var(--success-text);margin:0 0 .75rem;font-weight:500}.link-sent-text[data-v-77d55d78]{margin:0;font-size:.85rem;line-height:1.4;color:var(--text-secondary, #aaa)}.mode-toggle[data-v-77d55d78]{margin-top:1rem;background:none;border:none;color:var(--text-secondary, #aaa);font-size:.8rem;text-decoration:underline;cursor:pointer}.login-gate[data-v-77d55d78]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:var(--background)}.login-card[data-v-77d55d78]{position:relative;background:var(--card-neutral);border:1px solid var(--separator);border-radius:var(--r-card);box-shadow:var(--card-lip),0 24px 60px #0009;padding:2.5rem 2rem;width:100%;max-width:380px;text-align:center;overflow:hidden}.login-card[data-v-77d55d78]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bezel)}.login-logo-wrap[data-v-77d55d78]{display:flex;justify-content:center;margin-bottom:1.25rem}.login-logo[data-v-77d55d78]{width:56px;height:56px;object-fit:contain}.login-title[data-v-77d55d78]{font-family:inherit;font-size:clamp(20px,6vw,30px);font-weight:700;margin:0 0 .4rem;color:var(--text);letter-spacing:-.025em}.login-subtitle[data-v-77d55d78]{color:var(--text-muted);margin:0 0 1.75rem;font-size:.9rem}.login-form[data-v-77d55d78]{display:flex;flex-direction:column;gap:.75rem}.login-input[data-v-77d55d78]{width:100%;padding:.875rem 1.125rem;min-height:48px;border:1px solid var(--separator);border-radius:var(--r-tile);background:#00000059;color:var(--text);font-size:16px;font-family:inherit;transition:border-color .18s ease}.login-input[data-v-77d55d78]::placeholder{color:var(--text-muted)}.login-input[data-v-77d55d78]:focus{outline:none;border-color:var(--primary)}.login-input.input-error[data-v-77d55d78]{border-color:var(--error)}.error-text[data-v-77d55d78]{color:var(--error-text);font-size:.85rem;margin:0;font-weight:500}.login-button[data-v-77d55d78]{width:100%;padding:.875rem 1rem;min-height:52px;margin-top:.25rem;background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);border-radius:var(--r-tile);font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.login-button[data-v-77d55d78]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.login-button[data-v-77d55d78]:active{background:var(--primary-hover)}.login-button[data-v-77d55d78]:disabled{opacity:.7;cursor:not-allowed}
