.tour-hero{padding-bottom:var(--spacing-md)}.tour-bar{position:sticky;top:0;z-index:20;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur-md);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}.tour-bar-inner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg)}.tour-play{flex:0 0 auto;min-width:110px}.tour-play.stop-mode{background:var(--success-green);border-color:var(--success-green)}.tour-restart{flex:0 0 auto}.tour-markers{flex:1 1 auto;list-style:none;margin:0;padding:0;display:flex;gap:var(--spacing-2xs);min-width:0;overflow-x:auto}.tour-markers li{flex:1 1 0;min-width:0}.tour-marker{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;background:transparent;border:0;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:color .2s ease}.tour-marker:hover{color:var(--text-primary)}.tour-marker-dot{width:10px;height:10px;border-radius:var(--radius-round);border:1px solid var(--glass-border-light);background:var(--glass-bg-light);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.tour-marker.done .tour-marker-dot{border-color:var(--primary-cyan);background:var(--cyan-alpha-light)}.tour-marker.active{color:var(--text-primary)}.tour-marker.active .tour-marker-dot{background:var(--primary-cyan);border-color:var(--primary-cyan);box-shadow:0 0 10px var(--primary-cyan)}.tour-marker-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tour-progress{height:2px;background:var(--glass-border)}.tour-progress-fill{height:100%;width:0;background:var(--primary-cyan);box-shadow:0 0 8px var(--primary-cyan);transition:width .6s ease}.tour-chapter{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);opacity:.7;transition:opacity .5s ease}.tour-chapter.active{opacity:1}.tour-chapter-head{text-align:center;margin-bottom:var(--spacing-md)}.tour-chapter-head .section-description{max-width:720px;margin:0 auto}.tour .landing-inner{max-width:1480px}.tour-frame{max-width:none;margin:0 auto}.tour-stack{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tour-split{display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:var(--spacing-lg);align-items:start}.tour-hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin:var(--spacing-md) 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.tour-chat{display:flex;flex-direction:column;min-width:0}.tour-chat-head{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 0 var(--spacing-sm);color:var(--primary-cyan);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--glass-border)}.tour-chat .messages-container{height:440px;padding:var(--spacing-md) var(--spacing-xs)}.tour-chapter[data-tour-chapter=design] .tour-chat .messages-container{height:min(600px,calc(100vh - 260px))}.tour-chat .message{max-width:88%}.tour-chat .message-quick-reply{pointer-events:none}.tour-chat .message-quick-reply.active{border-color:var(--primary-cyan);background:var(--primary-cyan);color:var(--text-on-accent)}.tour-week .week-nav-btn,.tour-week .calendar-session{cursor:default}.tour-week .calendar-session.tour-openable{cursor:pointer}.tour-week .calendar-session.tour-pressed{border-color:var(--primary-cyan);box-shadow:0 0 0 1px var(--primary-cyan),0 0 16px #00ffff2e}.tour-week .calendar-session.tour-changed{border-color:var(--primary-cyan);animation:fadeIn .6s ease}@media(min-width:769px){.tour-split .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}.tour-session-panel,.tour-review{position:static;width:100%;max-width:none;margin:var(--spacing-md) 0 0;padding:var(--spacing-lg);animation:modalSlideIn .3s ease forwards}.tour-session-panel .modal-close{cursor:pointer}.tour-session-panel[hidden],.tour-review[hidden],.tour-log .nutrition-photo-stage[hidden],.tour-log .nutrition-entry[hidden],.tour-activity[hidden],.tour-log[hidden],.tour-ribbon[hidden],.metric-card[data-tour-prcard][hidden],.metric-card[data-tour-adherence][hidden],.pr-badge-header[hidden],.tour-basis-line[hidden]{display:none}.tour-plan-overview .view-tab,.tour-plan-overview .load-slot,.tour-plan-overview .block-item{cursor:default}.tour-plan-overview .load-target,.tour-plan-overview .load-actual{transform-origin:bottom;transform:scaleY(0);transition:transform .5s ease}.tour-plan-overview .load-slot.tour-grown .load-target,.tour-plan-overview .load-slot.tour-grown .load-actual{transform:scaleY(1)}.tour-week-view{margin-top:var(--spacing-lg)}.tour-week-view[hidden]{display:none}.tour-watch-row{display:grid;grid-template-columns:220px 1fr;gap:var(--spacing-xl);align-items:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border)}.tour-watch{width:200px;height:200px;margin:0 auto;border-radius:var(--radius-round);background:var(--chart-border);border:8px solid var(--glass-border-light);box-shadow:0 0 0 3px var(--chart-border),0 12px 40px #00000073,inset 0 0 24px #0009;display:flex;align-items:center;justify-content:center;transition:box-shadow .4s ease}.tour-watch-row.is-work .tour-watch{box-shadow:0 0 0 3px var(--chart-border),0 0 28px #00ffff59,inset 0 0 24px #0009}.tour-watch-screen{text-align:center;width:150px}.tour-watch-top{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.tour-watch-step{margin-top:4px;font-size:var(--font-size-sm);color:var(--primary-cyan);font-weight:var(--font-weight-semibold)}.tour-watch-big{font-size:2.2rem;font-weight:var(--font-weight-extrabold);line-height:1.1;color:var(--text-primary);font-variant-numeric:tabular-nums}.tour-watch-sub{font-size:var(--font-size-xs);color:var(--text-secondary)}.tour-watch-bar{margin:10px auto 0;height:4px;width:120px;border-radius:2px;background:var(--glass-border);overflow:hidden}.tour-watch-bar-fill{height:100%;width:0;background:var(--primary-cyan);transition:width .8s ease}.tour-watch-copy p{color:var(--text-secondary)}.tour-watch-note{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--success-green);font-size:var(--font-size-sm)}.tour-sync{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm)}.tour-sync-dot{width:8px;height:8px;border-radius:var(--radius-round);background:var(--primary-cyan);animation:typingAnimation 1.4s infinite}.tour-sync.is-done .tour-sync-dot{background:var(--success-green);animation:none;box-shadow:0 0 8px var(--success-green)}.tour-activity .activity-hero-new{margin-bottom:var(--spacing-lg)}.tour-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.tour-activity-side{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tour-zone-fill[data-zone="1"]{background:var(--zone-1)}.tour-zone-fill[data-zone="2"]{background:var(--zone-2)}.tour-zone-fill[data-zone="3"]{background:var(--zone-3)}.tour-zone-fill[data-zone="4"]{background:var(--zone-4)}.tour-zone-fill[data-zone="5"]{background:var(--zone-5)}.tour-vitals{margin-top:var(--spacing-lg);justify-content:center;flex-wrap:wrap}.tour-vitals .vital-item.tour-changed{animation:fadeIn .5s ease;box-shadow:0 0 0 1px var(--primary-cyan);border-radius:var(--radius-pill)}.tour-nutrition .nutrition-basis-toggle.active{color:var(--text-primary)}.tour-basis-line{padding:4px 0}.tour-log{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start;padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border)}.tour-log-composer textarea{width:100%}.tour-log-status{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.tour-log-note{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-sm)}.tour-log .nutrition-entry{cursor:default;margin-bottom:var(--spacing-md)}.tour-review-photo{margin-bottom:var(--spacing-md)}.tour-review-photo img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--glass-border-light)}.tour-review .nutrition-review-item input{pointer-events:none}.tour-fuel-chat{padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border)}.tour-fuel-chat .messages-container{height:460px}.tour-fuel-chat[hidden]{display:none}.tour-ribbon{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--primary-cyan);border-radius:var(--radius-md);background:var(--cyan-alpha-light)}.tour-ribbon-title{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--primary-cyan);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.tour-ribbon-row{display:grid;grid-template-columns:70px 1fr auto;gap:var(--spacing-sm);padding:4px 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.tour-ribbon-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.tour-ribbon-note{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted)}.tour-chart{min-height:0}.tour-chart svg{width:100%;height:auto;display:block}.tour-chart-zero{stroke:var(--glass-border-light);stroke-width:1}.tour-chart-grid{stroke:var(--glass-border);stroke-width:1}.tour-chart-grid.is-80{stroke:var(--text-muted)}.tour-chart-label{fill:var(--text-muted);font-size:11px}.tour-chart-end{font-weight:var(--font-weight-semibold)}.tour-dot-burn{background:var(--accent-red)}.tour-dot-carbs{background:var(--primary-cyan)}.tour-dot-protein{background:var(--primary-blue)}.tour-dot-fat{background:var(--accent-orange)}.tour-dot-fluid{background:var(--success-green)}.an-dot-dash{background:transparent;border:1px dashed var(--text-primary)}.tour-picture .an-section{margin-top:var(--spacing-lg)}.tour-picture .chart-card{cursor:default}.tour-rec{border-left:4px solid var(--text-muted)}.tour-rec-good{border-left-color:var(--success-green)}.tour-rec-warn{border-left-color:var(--warning-orange)}.tour-rec-today{margin-bottom:var(--spacing-md)}.tour-rec-today-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.tour-rec-level{font-weight:var(--font-weight-bold);color:var(--text-primary)}.tour-rec-level-big{font-size:var(--font-size-xl)}.tour-rec-good .tour-rec-level{color:var(--success-green)}.tour-rec-warn .tour-rec-level{color:var(--warning-orange)}.tour-rec-conf{text-align:right}.tour-rec-conf-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase}.tour-rec-conf-val{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--success-green)}.tour-rec-days{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.tour-rec-head{display:flex;flex-direction:column;margin-bottom:var(--spacing-sm)}.tour-rec-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;font-weight:var(--font-weight-bold)}.tour-rec-reason{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;margin:var(--spacing-xs) 0 var(--spacing-sm)}.tour-rec-list{font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.tour-rec-list strong{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs)}.tour-rec-good .tour-rec-list.tour-rec-good strong,.tour-rec-list.tour-rec-good strong{color:var(--success-green)}.tour-rec-list.tour-rec-avoid strong{color:var(--error-red)}.tour-rec-foot{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--glass-border);font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.tour-pmc-ctl{stroke-dasharray:2000;stroke-dashoffset:2000}.tour-chart.is-drawn .tour-pmc-ctl{animation:tourDraw 1.6s ease forwards}@keyframes tourDraw{to{stroke-dashoffset:0}}.tour-dot-ctl{background:var(--primary-cyan)}.tour-dot-atl{background:var(--warning-orange)}.tour-dot-tsb{background:var(--success-green)}.tour-picture-note{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-sm)}.tour-picture-close{text-align:center;margin-top:var(--spacing-xl)}@media(max-width:1000px){.tour-rec-days{grid-template-columns:1fr}}@media(max-width:900px){.tour-split,.tour-log,.tour-activity-grid{grid-template-columns:1fr}.tour-frame{padding:var(--spacing-md)}.tour-fuel-chat .messages-container,.tour-chat .messages-container,.tour-chapter[data-tour-chapter=design] .tour-chat .messages-container{height:420px}.tour-watch-row{grid-template-columns:1fr;text-align:center}.tour-watch-note{justify-content:center}.tour-marker-label{display:none}.tour-play{min-width:0}}
