@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:var(--cream);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lina:#d6ed70;--lina-tint:#f3f0ea;--linda:#661c33;--on-linda:#f9e3e8;--linda-tint:#f3f0ea;--accent:#ff96fc;--highlight:#ffcfed;--shared:#f4a3c3;--warm:#f7704a;--bg:#222;--rail:#1a161a;--surf1:#2e282e;--surf2:#3b343b;--border:#554a55;--cream:#f3f0ea;--ink:#221b22;--ink-soft:#6b646b;--muted:#b8a9b6;--cream-2:#e6e2da;--line-light:#cfcac1;--ok:#e1e6bd;--ok-ink:#3a4010;--bad:#fcd6ca;--bad-ink:#6e2411;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{background:var(--bg);min-height:100vh;display:flex}.desktop-rail{background:var(--rail);border-right:1px solid var(--border);flex-direction:column;flex:none;width:236px;height:100vh;padding:30px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.085em;color:var(--cream);font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:700;line-height:1}.brand span{color:var(--highlight)}.rail-note{color:var(--accent);margin:9px 0 44px;font-size:12px}.desktop-rail nav{gap:7px;display:grid}.rail-link{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:17px;align-items:center;gap:13px;padding:13px 15px;font-size:14px;font-weight:700;display:flex}.rail-link:hover,.rail-link.selected{background:var(--surf2);color:var(--cream)}.rail-link.selected svg{color:var(--highlight)}.rail-foot{margin-top:auto}.runner-tags{gap:6px;padding:16px 12px 0;display:flex}.runner-tags span{color:var(--ink);border-radius:100px;padding:6px 10px;font-size:11px;font-weight:800}.runner-tags span:first-child{background:var(--lina)}.runner-tags span:last-child{background:var(--linda);color:var(--on-linda)}.app-content{width:min(100%,1180px);min-height:100vh;margin:auto;padding:0 42px 100px}.topbar{justify-content:flex-end;align-items:center;height:86px;display:flex}.mobile-brand{background:0 0;border:0;display:none}.topbar-right{align-items:center;gap:18px;display:flex}.club-label{color:var(--muted);font-size:12px;font-weight:700}.icon-button{background:var(--surf2);width:40px;height:40px;color:var(--cream);border:0;border-radius:50%;place-items:center;display:grid}.goal-ribbon{background:var(--surf1);border:1px solid var(--border);border-radius:19px;margin-bottom:14px;padding:13px 18px 15px}.ribbon-copy{color:var(--cream);letter-spacing:.045em;justify-content:space-between;gap:14px;font-size:11px;font-weight:800;display:flex}.ribbon-copy span:last-child{color:var(--highlight);letter-spacing:0}.progress-track,.journey-track{background:var(--border);border-radius:20px;height:6px;margin-top:12px;overflow:hidden}.progress-track>div,.journey-track>div{background:var(--highlight);border-radius:inherit;height:100%;transition:width .5s}.preview-banner{background:var(--surf1);border:1px dashed var(--border);color:var(--muted);border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 15px;font-size:11px;display:flex}.preview-banner button{color:var(--highlight);background:0 0;border:0;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.toast{background:var(--ok);color:var(--ok-ink);border-radius:13px;align-items:center;gap:9px;margin:12px 0;padding:12px 14px;font-size:12px;display:flex}.toast-error{background:var(--bad);color:var(--bad-ink)}.toast button{color:inherit;background:0 0;border:0;margin-left:auto}.main-view{max-width:900px;margin:0 auto}.main-view>section,.main-view>.page-intro{margin-bottom:20px}.chat-hero{background:var(--accent);color:var(--ink);border-radius:30px;padding:30px 32px 24px;position:relative;overflow:hidden}.chat-hero:after{content:"✳";color:color-mix(in srgb,var(--accent) 70%,#fff);pointer-events:none;font-size:175px;line-height:1;position:absolute;top:-34px;right:19px}.chat-hero>*{z-index:1;position:relative}.eyebrow{letter-spacing:.12em;font-size:10px;font-weight:800}.chat-hero h1,.page-intro h1,.auth-card h1{letter-spacing:-.065em;margin:15px 0;font-family:Space Grotesk,sans-serif;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.02}.chat-hero p{max-width:360px;margin:0 0 24px;font-size:13px}.hero-compose,.chat-compose{background:var(--cream);border-radius:15px;align-items:center;max-width:580px;padding:5px;display:flex}.hero-compose input,.chat-compose textarea{width:100%;color:var(--ink);resize:vertical;background:0 0;border:0;outline:none;padding:10px 13px;font-size:13px}.hero-compose button,.chat-compose button{background:var(--ink);width:39px;height:39px;color:var(--cream);border:0;border-radius:12px;flex:none;place-items:center;display:grid}.quick-prompts{gap:8px;margin-top:12px;display:flex}.quick-prompts button,.chat-starters button{color:var(--ink);background:0 0;border:1px solid #221b2266;border-radius:100px;padding:7px 11px;font-size:10px;font-weight:800}.paris-card{background:var(--highlight);color:var(--ink);border-radius:30px;min-height:242px;padding:24px 32px;position:relative;overflow:hidden}.paris-card:after{content:"✹";color:color-mix(in srgb,var(--highlight) 75%,#fff);font-size:330px;line-height:1;position:absolute;bottom:-107px;right:-12px;transform:rotate(20deg)}.paris-card>*{z-index:1;position:relative}.paris-title{justify-content:space-between;align-items:flex-start;display:flex}.paris-title h2{letter-spacing:-.07em;margin:25px 0 15px;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,5vw,56px);font-weight:600;line-height:.97}.sun-stamp{border:2px solid var(--ink);text-align:center;border-radius:50%;place-items:center;width:70px;height:70px;font-size:10px;font-weight:800;line-height:1.1;display:grid;transform:rotate(12deg)}.paris-bottom{align-items:end;gap:15px;display:flex}.paris-bottom strong{letter-spacing:-.05em;font-family:Space Grotesk;font-size:26px}.paris-bottom span{padding-bottom:4px;font-size:12px;font-weight:700}.section-heading{justify-content:space-between;align-items:center;margin:31px 0 12px;display:flex}.section-heading h2,.page-intro h1{margin:0}.section-heading h2{letter-spacing:-.055em;font-family:Space Grotesk;font-size:23px}.section-heading button{color:var(--accent);background:0 0;border:0;align-items:center;gap:3px;font-size:11px;font-weight:800;display:flex}.upcoming-list,.activity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.session-card{min-height:122px;color:var(--ink);border-radius:22px;flex-direction:column;justify-content:space-between;padding:18px 19px;display:flex}.session-card.lina{background:var(--lina)}.session-card.linda{background:var(--linda);color:var(--on-linda)}.session-card.linda .session-main button{background:var(--on-linda);color:var(--linda)}.session-meta{justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.session-main{justify-content:space-between;align-items:end;gap:12px;display:flex}.session-main h3{letter-spacing:-.06em;margin:0 0 4px;font-family:Space Grotesk;font-size:23px;font-weight:600}.session-main p{opacity:.78;margin:0;font-size:11px}.session-main button{background:var(--ink);width:33px;height:33px;color:var(--cream);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.activity-card{background:var(--lina-tint);color:var(--ink);border-radius:24px;padding:19px}.activity-card.linda{background:var(--linda-tint)}.activity-top{align-items:center;gap:9px;display:flex}.mini-avatar{background:var(--lina);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.activity-card.linda .mini-avatar{background:var(--linda);color:var(--on-linda)}.activity-top strong,.activity-top small{display:block}.activity-top strong{font-size:12px}.activity-top small{color:var(--ink-soft);font-size:10px}.activity-sport{margin-left:auto}.activity-card h3{letter-spacing:-.05em;margin:20px 0 1px;font-family:Space Grotesk;font-size:22px}.activity-card p{color:var(--ink-soft);margin:0 0 17px;font-size:11px}.activity-stats{border-top:1px solid var(--line-light);justify-content:space-between;gap:8px;padding-top:12px;display:flex}.activity-stats strong,.activity-stats span{display:block}.activity-stats strong{letter-spacing:-.04em;font-family:Space Grotesk;font-size:18px}.activity-stats span{color:var(--ink-soft);font-size:9px}.cheer-button{color:color-mix(in srgb,var(--accent) 45%,#000);background:0 0;border:0;align-items:center;gap:7px;margin-top:14px;padding:7px 0;font-size:10px;font-weight:800;display:flex}.empty-card{border:1px dashed var(--border);color:var(--muted);border-radius:20px;grid-column:1/-1;padding:26px;font-size:13px}.page-intro{padding:14px 0 20px}.page-intro .eyebrow{color:var(--accent)}.page-intro h1{margin:12px 0}.page-intro>p:last-child{color:var(--muted);font-size:13px;line-height:1.5}.plan-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.segmented{background:var(--surf1);border-radius:100px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:100px;padding:9px 16px;font-size:11px;font-weight:800}.segmented button.active{background:var(--cream);color:var(--ink)}.add-button{background:var(--accent);color:var(--ink);border:0;border-radius:100px;align-items:center;gap:6px;padding:10px 17px;font-size:12px;font-weight:800;display:flex}.plan-days{gap:10px;display:grid}.plan-day{gap:13px;display:flex}.day-marker{width:50px;color:var(--muted);flex-direction:column;flex:none;align-items:center;padding-top:11px;display:flex}.day-marker strong{letter-spacing:.07em;font-size:10px}.day-marker span{font-family:Space Grotesk;font-size:24px;font-weight:700;line-height:1.1}.day-sessions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;display:grid}.day-sessions>.session-card:only-child,.rest-label{grid-column:1/-1}.rest-label{border:1px dashed var(--border);color:var(--muted);border-radius:18px;padding:18px;font-size:12px}.chat-plan-link{text-align:left;background:var(--accent);width:100%;color:var(--ink);border:0;border-radius:20px;align-items:center;gap:12px;margin-top:18px;padding:17px 20px;display:flex}.chat-plan-link span{flex-direction:column;gap:2px;display:flex}.chat-plan-link small{font-size:11px}.chat-plan-link>svg:last-child{margin-left:auto}.conversation{gap:12px;margin-bottom:18px;display:grid}.bubble{background:var(--surf1);max-width:min(85%,640px);color:var(--cream);border-radius:21px;padding:17px 20px}.bubble.mine{background:var(--accent);color:var(--ink);justify-self:end}.bubble strong{margin-bottom:7px;font-size:11px;display:block}.bubble p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.proposal-card{background:var(--highlight);color:var(--ink);border-radius:24px;margin-bottom:16px;padding:21px}.proposal-card h2{letter-spacing:-.05em;margin:9px 0 17px;font-family:Space Grotesk}.proposal-line{border-top:1px solid #221b2233;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:flex}.proposal-line span{border:1px solid var(--ink);border-radius:100px;padding:5px 8px;font-size:10px;font-weight:800}.proposal-line small{margin-left:auto}.proposal-card>p{font-size:11px}.proposal-actions{align-items:center;gap:10px;display:flex}.chat-starters{flex-wrap:wrap;gap:7px;margin-bottom:13px;display:flex}.chat-starters button{border-color:var(--border);color:var(--cream)}.chat-compose{max-width:none}.chat-compose textarea{min-height:43px;max-height:200px}.together-card{background:var(--shared);color:var(--ink);border-radius:29px;padding:28px}.outlined-tag{border:1px solid var(--ink);border-radius:100px;align-items:center;gap:6px;padding:7px 11px;font-size:10px;font-weight:800;display:inline-flex}.together-card h2{letter-spacing:-.07em;margin:28px 0 9px;font-family:Space Grotesk;font-size:clamp(32px,5vw,56px);line-height:1.02}.together-card>p{max-width:400px;font-size:13px;line-height:1.5}.runner-pair{gap:9px;margin:23px 0;display:flex}.runner-pair>div{border-radius:15px;min-width:120px;padding:13px 16px}.runner-pair .lina{background:var(--lina)}.runner-pair .linda{background:var(--linda);color:var(--on-linda)}.runner-pair strong,.runner-pair span{display:block}.runner-pair strong{font-size:15px}.runner-pair span{font-size:10px}.gentle-note{border:1px solid var(--border);color:var(--muted);border-radius:18px;align-items:flex-start;gap:10px;margin:18px 0;padding:17px 19px;font-size:12px;line-height:1.5;display:flex}.gentle-note svg{color:var(--accent);flex:none}.goal-poster{background:var(--highlight);color:var(--ink);border-radius:28px;flex-direction:column;gap:8px;padding:28px;display:flex}.goal-poster span{letter-spacing:.1em;font-size:11px;font-weight:800}.goal-poster strong{letter-spacing:-.09em;font-family:Space Grotesk;font-size:clamp(65px,14vw,150px);line-height:1}.goal-poster small{font-size:13px;font-weight:800}.journey-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px;display:grid}.journey-card{color:var(--ink);border-radius:22px;padding:22px}.journey-card.lina{background:var(--lina)}.journey-card.linda{background:var(--linda);color:var(--on-linda)}.journey-header{justify-content:space-between;align-items:start;gap:9px;display:flex}.journey-header h2{letter-spacing:-.05em;margin:0;font-family:Space Grotesk;font-size:20px}.journey-header span{font-size:10px;font-weight:800}.journey-track{background:#2223;height:9px;margin-top:25px}.journey-track>div{background:var(--ink)}.journey-card.linda .journey-track{background:#f9e3e840}.journey-card.linda .journey-track>div{background:var(--on-linda)}.journey-card p{margin:12px 0 0;font-size:11px}.settings-card{background:var(--cream);color:var(--ink);border-radius:23px;margin-bottom:13px;padding:22px}.settings-card.pink{background:var(--accent)}.settings-card h2{letter-spacing:-.05em;margin:9px 0;font-family:Space Grotesk;font-size:23px}.settings-card p{max-width:540px;margin:0 0 17px;font-size:12px;line-height:1.5}.settings-card small{color:var(--ink-soft);margin-top:13px;font-size:10px;line-height:1.45;display:block}.settings-icon{background:var(--warm);border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.settings-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border:0;border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:12px;font-weight:800;display:inline-flex}.button-dark{background:var(--ink);color:#fff}.button-orange{background:var(--warm);color:var(--ink)}.button-outline{border:1px solid var(--ink);color:var(--ink);background:0 0}.button-text{color:var(--ink);background:0 0;padding-left:6px}.soft-tag{background:var(--cream-2);color:var(--ink-soft);border-radius:100px;padding:8px 11px;font-size:10px;font-weight:800;display:inline-block}.copy-line{gap:8px;display:flex}.copy-line input{border:1px solid var(--line-light);min-width:0;color:var(--ink);background:#fff;border-radius:11px;flex:1;padding:10px;font-size:11px}.copy-line button{background:var(--ink);color:#fff;border:0;border-radius:11px;padding:0 14px;font-size:11px;font-weight:800}.setup-hint{margin-top:14px!important}.setup-hint code{background:var(--cream-2);border-radius:4px;padding:2px 4px}.mobile-nav{display:none}.auth-shell{background:var(--bg);place-items:center;min-height:100vh;padding:25px;display:grid}.auth-card{background:var(--highlight);width:min(100%,480px);color:var(--ink);border-radius:32px;padding:32px;position:relative;overflow:hidden}.auth-card .brand{color:var(--ink)}.auth-card .brand span{color:var(--warm)}.auth-orbit{letter-spacing:-.11em;text-align:center;padding:40px 0 25px;font-family:Space Grotesk;font-size:79px;font-weight:700}.auth-orbit span{letter-spacing:0;font-size:18px}.auth-card h1{margin-top:14px}.auth-card>p:not(.eyebrow){font-size:13px;line-height:1.5}.auth-card .button{width:100%;margin:12px 0}.auth-card small{font-size:10px;display:block}.auth-card.onboarding{background:var(--accent)}.auth-card input{border:0;border-radius:13px;width:100%;margin:7px 0;padding:12px}.or{text-align:center;margin:12px;font-size:11px;font-weight:800}.field-label{font-size:11px;font-weight:800}.form-error{color:var(--bad-ink)}.loading-screen{letter-spacing:-.08em;place-items:center;height:100vh;font-family:Space Grotesk;font-size:50px;display:grid}.loading-screen span{color:var(--accent)}.modal-backdrop{z-index:30;background:#111c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.session-modal{background:var(--cream);width:min(100%,520px);max-height:95vh;color:var(--ink);border-radius:25px;padding:23px;overflow:auto;box-shadow:0 18px 70px #0006}.modal-top{justify-content:space-between;align-items:center;display:flex}.modal-top button{background:var(--cream-2);border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.session-modal h2{letter-spacing:-.06em;margin:9px 0 18px;font-family:Space Grotesk;font-size:31px}.session-modal label{margin-bottom:14px;font-size:11px;font-weight:800;display:block}.session-modal input,.session-modal select,.session-modal textarea{border:1px solid var(--line-light);width:100%;color:var(--ink);background:#fff;border-radius:11px;margin-top:6px;padding:11px 12px;font-size:12px;display:block}.form-two{grid-template-columns:1fr 1fr;gap:11px;display:grid}.session-modal>.button-dark{width:100%}.session-modal>.button-text{width:100%;color:var(--bad-ink);margin-top:6px}@media (width<=1050px){.desktop-rail{width:198px}.app-content{padding:0 25px 100px}}@media (width<=700px){.desktop-rail{display:none}.app-content{padding:0 15px 100px}.topbar{justify-content:space-between;height:70px}.mobile-brand{font-size:28px;display:block}.club-label{font-size:10px}.main-view{max-width:520px}.chat-hero,.paris-card{border-radius:25px;padding:24px}.chat-hero h1{font-size:40px}.chat-hero:after{font-size:130px;right:-11px}.paris-title h2{font-size:39px}.upcoming-list,.activity-list,.journey-list{grid-template-columns:1fr}.mobile-nav{z-index:20;background:var(--rail);border-top:1px solid var(--border);padding:8px 4px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0000004d}.mobile-nav button{width:20%;color:var(--muted);background:0 0;border:0;justify-items:center;gap:4px;padding:4px 0;font-size:9px;font-weight:700;display:grid}.mobile-nav button.active{color:var(--highlight)}.ribbon-copy{font-size:9px}.preview-banner,.preview-banner button{font-size:10px}.day-sessions{grid-template-columns:1fr}.plan-day{gap:8px}.day-marker{width:42px}.session-card{min-height:111px}.goal-poster strong{font-size:clamp(59px,16vw,100px)}}@media (width<=400px){.club-label{display:none}.chat-hero h1{font-size:35px}.page-intro h1{font-size:39px}.segmented button{padding:8px 10px}.day-marker{width:35px}.plan-day{gap:6px}.ribbon-copy{font-size:8px}.form-two{grid-template-columns:1fr}}.week-switch{background:var(--surf1);color:var(--cream);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px;font-size:11px;font-weight:800;display:flex}.week-switch button{background:var(--surf2);width:31px;height:31px;color:var(--cream);border:0;border-radius:10px;place-items:center;display:grid}.name-editor{gap:8px;max-width:430px;margin:13px 0;display:flex}.name-editor input{border:1px solid var(--line-light);min-width:0;color:var(--ink);background:#fff;border-radius:12px;flex:1;padding:10px 12px;font-size:12px}.simple-heading{justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;display:flex}.simple-heading h1,.section-heading h1{letter-spacing:-.06em;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(29px,4vw,38px);line-height:1.1}.text-action{background:var(--accent);color:var(--ink);white-space:nowrap;border:0;border-radius:100px;align-items:center;gap:4px;padding:10px 15px;font-size:12px;font-weight:800;display:inline-flex}.home-upcoming{background:var(--surf1);border:1px solid var(--border);border-radius:26px;margin-bottom:25px;padding:19px}.home-upcoming .section-heading{margin:0 0 13px}.activity-open{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.activity-open:focus-visible,.text-action:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.activity-open h3{margin:17px 0}.plan-actions{margin-bottom:12px}.chat-screen{flex-direction:column;height:calc(100dvh - 112px);min-height:380px;display:flex;margin-bottom:0!important}.chat-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:3px 2px 18px;display:flex}.chat-header h1{letter-spacing:-.055em;margin:0 0 4px;font-family:Space Grotesk,sans-serif;font-size:25px;line-height:1}.chat-header p{color:var(--muted);margin:0;font-size:11px}.chat-avatar{background:var(--highlight);width:43px;height:43px;color:var(--ink);border-radius:15px;flex:none;place-items:center;font-size:27px;line-height:1;display:grid}.chat-avatar-small{border-radius:10px;width:28px;height:28px;font-size:18px}.chat-avatar img{width:85%;height:85%;display:block}.chat-screen .conversation{scrollbar-color:var(--border) transparent;overscroll-behavior:contain;flex-direction:column;flex:1;gap:16px;min-height:0;margin:0;padding:20px 8px 26px 0;display:flex;overflow-y:auto}.chat-screen .conversation.has-messages:before{content:"";flex:1 0 auto}.chat-welcome{border:1px solid var(--border);background:var(--surf1);border-radius:24px;align-self:center;width:min(100%,570px);margin:auto;padding:26px 28px}.chat-welcome .eyebrow{color:var(--highlight)}.chat-welcome h2{letter-spacing:-.055em;margin:12px 0;font-family:Space Grotesk,sans-serif;font-size:clamp(25px,3vw,34px);line-height:1.1}.chat-welcome p{color:var(--muted);max-width:42ch;margin:0 0 21px;font-size:13px;line-height:1.6}.chat-welcome .chat-starters{flex-direction:column;gap:7px;margin:0;display:flex}.chat-welcome .chat-starters button{text-align:left;border:1px solid var(--border);background:var(--surf2);width:100%;color:var(--cream);border-radius:12px;justify-content:space-between;align-items:center;padding:11px 13px;font-size:12px;font-weight:700;display:flex}.chat-welcome .chat-starters button:hover{border-color:var(--accent)}.chat-message{align-self:flex-start;align-items:flex-end;gap:10px;max-width:min(85%,670px);display:flex}.chat-message.mine{align-self:flex-end}.chat-message-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.chat-message.mine .chat-message-body{align-items:flex-end}.chat-message .bubble{background:var(--cream-2);max-width:none;color:var(--ink);border-radius:18px 18px 18px 5px;padding:13px 17px}.chat-message.mine .bubble{background:var(--accent);border-radius:18px 18px 5px}.chat-message .bubble p,.message-markdown{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p{white-space:normal;margin:0 0 10px}.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{letter-spacing:-.02em;margin:14px 0 6px;font-family:Space Grotesk,sans-serif;font-size:15px;line-height:1.3}.message-markdown ul,.message-markdown ol{margin:6px 0 11px;padding-left:21px}.message-markdown li{margin:4px 0;padding-left:2px}.message-markdown li>p{margin:0}.message-markdown strong{font-weight:800}.message-markdown a{color:#572653;text-underline-offset:2px;text-decoration:underline}.message-markdown blockquote{color:var(--ink-soft);border-left:3px solid #8e7c89;margin:10px 0;padding:2px 0 2px 11px}.message-markdown code{background:#221b2219;border-radius:4px;padding:1px 4px;font-size:.9em}.message-markdown pre{background:#221b2219;border-radius:9px;max-width:100%;padding:10px;overflow-x:auto}.message-markdown pre code{background:0 0;padding:0}.message-markdown table{border-collapse:collapse;max-width:100%;margin:9px 0;display:block;overflow-x:auto}.message-markdown th,.message-markdown td{text-align:left;border:1px solid #221b2233;padding:5px 7px}.message-markdown hr{border:0;border-top:1px solid #221b2233;margin:12px 0}.chat-message time{color:var(--muted);margin-top:5px;padding:0 2px;font-size:10px}.typing-dots{background:var(--cream-2);border-radius:17px 17px 17px 5px;align-items:center;gap:5px;height:39px;padding:0 16px;display:flex}.typing-dots i{background:var(--ink-soft);opacity:.5;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-dot}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-proposal{align-self:flex-start;width:min(100% - 38px,670px);margin-left:38px}.chat-proposal .proposal-card{border-radius:19px;margin:0;padding:19px}.chat-bottom{background:var(--bg);flex:none;padding:7px 0 4px}.chat-compose{border:2px solid #0000;border-radius:17px;align-items:flex-end;max-width:none;min-height:54px;transition:border-color .15s}.chat-compose:focus-within{border-color:var(--accent)}.chat-compose textarea{resize:none;height:auto;min-height:42px;max-height:132px;padding:11px 13px;line-height:21px;overflow-y:auto}.chat-compose button{flex:none;margin:1px}.chat-error{background:var(--bad);color:var(--bad-ink);border-radius:12px;align-items:center;gap:9px;margin-bottom:9px;padding:10px 12px;font-size:11px;display:flex}.chat-error span{flex:1}.chat-error button{color:inherit;background:0 0;border:0;place-items:center;display:grid}@media (prefers-reduced-motion:reduce){.typing-dots i{animation:none}}@media (width>=701px){.app-content:has(.preview-banner) .chat-screen{height:calc(100dvh - 166px)}}@media (width<=700px){.chat-proposal .proposal-line{grid-template-columns:auto 1fr;align-items:start;gap:4px 9px;display:grid}.chat-proposal .proposal-line small{grid-column:2;margin-left:0;line-height:1.4}.chat-proposal .proposal-actions{flex-wrap:wrap}}.together-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:14px;display:grid}.shared-session{background:var(--on-linda);color:var(--ink);border-radius:22px;padding:19px}.shared-session-top{text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;display:flex}.shared-session h2{letter-spacing:-.06em;margin:17px 0 5px;font-family:Space Grotesk;font-size:30px}.shared-session p{margin:0 0 19px;font-size:12px;line-height:1.45}.shared-runners{flex-wrap:wrap;gap:7px;display:flex}.shared-runners span{background:var(--linda);color:var(--on-linda);border-radius:100px;padding:8px 10px;font-size:10px;font-weight:800}.goal-poster strong{font-size:clamp(55px,11vw,110px)}.goal-reflection{border:1px solid var(--border);background:var(--surf1);color:var(--cream);border-radius:22px;margin-top:16px;padding:23px}.goal-reflection h2{letter-spacing:-.05em;margin:0 0 7px;font-family:Space Grotesk,sans-serif;font-size:22px}.goal-reflection p{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.55}.goal-reflection .button{margin-top:3px}.goal-reflection-actions{flex-wrap:wrap;gap:8px;display:flex}.goal-reflection .button-outline{border-color:var(--border);color:var(--cream)}.goal-insight{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.goal-insight>p:first-child{color:var(--cream);font-size:14px}.goal-insight ul{margin:12px 0;padding-left:19px}.goal-insight li{margin:0 0 12px;font-size:12px;line-height:1.5}.goal-insight li small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.goal-insight .text-action{padding:0}.retired-runs{margin:10px 0 15px;font-size:11px}.retired-runs summary{cursor:pointer;font-weight:800}.retired-runs ul{max-height:160px;padding-left:19px;line-height:1.6;overflow:auto}.journey-list{gap:4px;margin-top:4px}.journey-card{flex-direction:column;gap:14px;display:flex}.journey-progress-label{justify-content:space-between;gap:8px;font-size:11px;display:flex}.journey-track{margin-top:-6px}.journey-metrics{border-top:1px solid #2223;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:15px;display:grid}.journey-metrics strong,.journey-metrics span{display:block}.journey-metrics strong{letter-spacing:-.05em;font-family:Space Grotesk;font-size:19px}.journey-metrics span{font-size:10px;line-height:1.25}.benchmark-callout{background:#ffffff5c;border-radius:15px;margin-top:auto;padding:13px}.benchmark-callout span,.benchmark-callout strong{display:block}.benchmark-callout span{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.benchmark-callout strong{letter-spacing:-.04em;margin-top:5px;font-family:Space Grotesk;font-size:20px}.benchmark-callout p{margin:5px 0 0;font-size:11px;line-height:1.45}.evidence-note{color:var(--muted);margin:14px 0;font-size:12px;line-height:1.5}.detail-page{padding-bottom:30px}.back-button{width:44px;height:44px;color:var(--accent);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;margin:0 0 8px -7px;padding:0;display:grid}.back-button:active{background:var(--surf2)}.back-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar .back-button{display:none}@media (width<=700px){.detail-topbar .back-button{margin:0 0 0 -7px;display:grid}.detail-topbar .mobile-brand,.detail-page>.back-button{display:none}}.detail-page .simple-heading{margin-bottom:3px}.detail-subtitle{color:var(--muted);margin:0 0 20px;font-size:12px}.detail-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.detail-stats>div{background:var(--surf1);border:1px solid var(--border);border-radius:16px;padding:16px}.detail-stats span,.detail-stats strong{display:block}.detail-stats span{color:var(--muted);margin-bottom:7px;font-size:10px}.detail-stats strong{letter-spacing:-.04em;font-family:Space Grotesk;font-size:21px}.splits-section{margin-top:25px}.splits-section h2{letter-spacing:-.05em;margin:0 0 12px;font-family:Space Grotesk;font-size:23px}.splits-table{border:1px solid var(--border);border-radius:16px;overflow:hidden}.splits-row{background:var(--surf1);border-top:1px solid var(--border);grid-template-columns:.5fr 1fr 1fr 1fr .9fr;align-items:center;gap:8px;padding:12px 15px;font-size:11px;display:grid}.splits-row:first-child{border-top:0}.splits-head{background:var(--surf2);color:var(--muted);font-size:10px;font-weight:800}.detail-empty{background:var(--surf1);border:1px solid var(--border);color:var(--muted);border-radius:16px;padding:18px;font-size:12px}@media (width<=700px){.home-upcoming{padding:15px}.together-list,.journey-list{grid-template-columns:1fr}.detail-stats{grid-template-columns:repeat(2,1fr)}.splits-row{grid-template-columns:.4fr .8fr .8fr .9fr .8fr;gap:4px;padding:11px 9px;font-size:10px}.splits-head{font-size:9px}:is(html:has(.chat-screen),body:has(.chat-screen)){overflow:hidden}.app-shell:has(.chat-screen){top:var(--chat-viewport-top,0px);height:var(--chat-viewport-height,100dvh);min-height:0;position:fixed;left:0;right:0;overflow:hidden}.app-shell:has(.chat-screen) .app-content{flex-direction:column;width:100%;height:100%;min-height:0;padding:0 15px;display:flex}:is(.app-shell:has(.chat-screen) .topbar,.app-shell:has(.chat-screen) .preview-banner){flex:none}.app-shell:has(.chat-screen) .main-view{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.app-shell:has(.chat-screen) .chat-screen{flex:1;height:auto;min-height:0}.app-shell:has(.chat-screen) .mobile-nav{flex:none;margin:0 -15px;position:relative;bottom:auto;left:auto;right:auto}.app-shell[data-chat-keyboard-open=true] .mobile-nav{display:none}.app-shell[data-chat-keyboard-open=true] .chat-bottom{padding-bottom:8px}}.app-content{width:100%;max-width:1320px;padding-left:24px;padding-right:24px}.main-view{max-width:1120px}.home-upcoming{background:0 0;border:0;border-radius:0;padding:0}.upcoming-list,.activity-list,.day-sessions,.settings-grid{gap:4px}.home-upcoming .upcoming-list{margin-bottom:0}.home-upcoming .upcoming-list>.session-card:first-child{min-height:156px}.home-upcoming .upcoming-list>.session-card:nth-child(2){align-self:end;min-height:132px}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-card,.activity-card.linda{background:var(--cream);min-width:0;color:var(--ink);transition:transform .18s;position:relative}.activity-card:hover{transform:translateY(-2px)}.activity-open:after{content:"";z-index:1;border-radius:24px;position:absolute;inset:0}.activity-open:focus-visible{outline:none}.activity-card:has(.activity-open:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.activity-card .cheer-button{z-index:2;position:relative}.activity-card.featured{padding:23px}.activity-card.featured h3{margin-top:22px;font-size:clamp(25px,3vw,32px)}.activity-card:not(.featured) .activity-stats strong{font-size:16px}.pace-chart-compact{width:min(68%,360px);height:56px;color:inherit;margin:4px auto 11px 0}.pace-chart-compact svg{width:100%;height:56px;display:block;overflow:visible}.pace-chart-compact .pace-area{opacity:.07}.pace-chart-compact .pace-line{stroke-width:3px}.pace-area{fill:currentColor;opacity:.16}.pace-line{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pace-panel{background:var(--highlight);color:var(--ink);border-radius:23px;margin-top:16px;padding:21px 22px 17px;overflow:hidden}.pace-panel-head{justify-content:space-between;align-items:end;gap:15px;display:flex}.pace-kicker{letter-spacing:.1em;font-size:10px;font-weight:800}.pace-panel h2{letter-spacing:-.06em;margin:5px 0 0;font-family:Space Grotesk;font-size:clamp(23px,4vw,31px)}.pace-panel-head>strong{letter-spacing:-.05em;white-space:nowrap;font-family:Space Grotesk;font-size:26px}.pace-panel-head small{letter-spacing:0;font-family:DM Sans;font-size:11px}.pace-chart-detail{width:100%;height:225px;margin-top:15px;display:block;overflow:visible}.pace-gridline{stroke:var(--ink);stroke-opacity:.17;stroke-dasharray:4 5}.pace-axis-label,.pace-distance-label{fill:var(--ink);font:800 11px DM Sans,sans-serif}.pace-axis-label{opacity:.7}.pace-distance-label{letter-spacing:.05em;font-size:10px}.pace-panel-foot{border-top:1px solid #221b2233;flex-wrap:wrap;align-items:center;gap:18px;padding-top:12px;font-size:11px;display:flex}.pace-panel-foot strong{font-family:Space Grotesk;font-size:17px}.pace-panel-foot span:last-child{opacity:.75;margin-left:auto}.settings-grid{grid-template-columns:1fr;display:grid}.settings-grid>.settings-card{flex-direction:column;align-items:flex-start;min-width:0;margin:0;display:flex;position:relative}.settings-watch{background:var(--warm)}.settings-calendar{background:var(--highlight)}.settings-club{background:#bac677}.settings-grid .settings-icon{color:var(--ink);background:#221b2220}.settings-grid .settings-card small{color:#221b22c9;margin-top:auto;padding-top:18px}.settings-grid .soft-tag{color:var(--ink);background:#221b2220}.settings-grid .settings-card p{max-width:40ch}.settings-grid .settings-card .button{margin-bottom:8px}@media (width<=700px){.app-content{padding-left:12px;padding-right:12px}.main-view{width:100%;max-width:none}.home-upcoming{padding:0}.home-upcoming .upcoming-list>.session-card:first-child{min-height:126px}.home-upcoming .upcoming-list>.session-card:nth-child(2){min-height:108px}.activity-list{grid-template-columns:1fr}.activity-card,.activity-card.featured,.activity-card.featured+.activity-card{grid-column:1;width:100%}.settings-watch,.settings-calendar,.settings-club{min-height:0}.pace-panel{padding:17px 14px 14px}.pace-panel-head>strong{font-size:21px}.pace-panel-head small{text-align:right;font-size:10px;display:block}.pace-chart-detail{height:190px}.pace-panel-foot{gap:8px 15px}.pace-panel-foot span:last-child{width:100%;margin-left:0}}.starter-onboarding{background:var(--warm);color:var(--ink);border-radius:25px;padding:23px 25px}.starter-onboarding h2{letter-spacing:-.05em;margin:9px 0;font-family:Space Grotesk,sans-serif;font-size:clamp(23px,3vw,29px)}.starter-onboarding p{max-width:62ch;margin:0 0 17px;font-size:13px;line-height:1.6}.starter-onboarding .button{align-items:center;gap:8px;display:inline-flex}.plan-guide{color:var(--muted);margin:0 0 17px;font-size:12px;line-height:1.5}@media (width<=700px){.starter-onboarding{padding:19px}}.plan-roadmap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px;display:grid}.roadmap-block{background:var(--surf1);border:1px solid var(--border);min-width:0;color:var(--cream);border-radius:18px;padding:16px}.roadmap-block>span{color:var(--highlight);text-transform:uppercase;font-size:10px;font-weight:800}.roadmap-block h3{letter-spacing:-.04em;margin:7px 0;font-family:Space Grotesk,sans-serif;font-size:19px}.roadmap-block p{color:var(--muted);margin:0 0 8px;font-size:11px;line-height:1.45}.roadmap-block small{color:var(--accent);font-size:10px;font-weight:700}.session-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.session-actions button{color:inherit;background:0 0;border:1px solid;border-radius:100px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.session-actions button:hover{background:#fff3}.coros-preview p{font-size:12px;line-height:1.5}.coros-step-list{gap:6px;margin:15px 0;display:grid}.coros-step-list>div{background:var(--cream-2);border-radius:10px;justify-content:space-between;gap:10px;padding:8px 10px;font-size:11px;display:flex}.coros-step-list span{text-transform:capitalize}.coros-preview-note{border-top:1px solid var(--line-light);padding-top:12px}.coros-preview>.button-dark{justify-content:center;align-items:center;gap:8px;display:flex}.proposal-warnings{background:var(--warm);color:var(--ink);border-radius:13px;margin:12px 0;padding:12px 14px;font-size:11px}.proposal-warnings ul{margin:6px 0 0;padding-left:18px}.proposal-warnings li+li{margin-top:4px}@media (width<=700px){.plan-roadmap{grid-template-columns:1fr}.app-shell input,.app-shell textarea,.app-shell select,.auth-shell input,.auth-shell textarea,.auth-shell select{font-size:16px}.chat-compose textarea{line-height:24px}}.session-open{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:space-between;padding:0;display:flex}.session-open:focus-visible{outline-offset:5px;border-radius:5px;outline:3px solid}.session-card{transition:transform .18s}.session-card:hover{transform:translateY(-2px)}.session-open .session-main{width:100%}.session-open .session-meta{flex-wrap:wrap;width:100%}.session-date{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.session-complete{background:var(--ink);color:var(--cream);white-space:nowrap;border-radius:100px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.session-card.linda .session-complete,.planned-detail-hero.linda .session-complete{background:var(--on-linda);color:var(--linda)}.detail-complete{margin-top:13px}.planned-detail-hero{color:var(--ink);background:var(--lina);border-radius:26px;padding:27px 30px}.planned-detail-hero.linda{background:var(--linda);color:var(--on-linda)}.session-card.together,.planned-detail-hero.together{background:var(--shared);color:var(--ink)}.activity-card.together,.activity-card.together.linda{background:var(--cream);color:var(--ink)}.activity-card.together .mini-avatar{background:var(--shared);width:38px;height:38px}.activity-card.together .mini-avatar img{width:100%;height:100%;display:block}.shared-session.confirmed{background:var(--shared)}.together-section-title{letter-spacing:-.04em;margin:23px 0 10px;font-family:Space Grotesk,sans-serif;font-size:19px}.shared-action{background:var(--ink);color:var(--cream);border:0;border-radius:100px;margin-top:16px;padding:9px 13px;font-size:11px;font-weight:800}.planned-detail-hero h1{letter-spacing:-.06em;margin:17px 0 19px;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,5vw,52px);line-height:1.05}.planned-detail-hero p{align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.planned-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.planned-section{margin-top:26px}.planned-section h2{letter-spacing:-.05em;margin:0 0 10px;font-family:Space Grotesk,sans-serif;font-size:23px}.planned-context{color:var(--muted);text-transform:capitalize;margin:0 0 13px;font-size:12px}.workout-steps{counter-reset:step;gap:7px;margin:0;padding:0;list-style:none;display:grid}.workout-steps li{counter-increment:step;border:1px solid var(--border);background:var(--surf1);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-size:12px;display:flex}.workout-steps li:before{content:counter(step);background:var(--highlight);width:26px;height:26px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.workout-steps li strong{min-width:95px}.workout-steps li span{color:var(--muted)}.planned-note,.planned-preview-note,.planned-status{background:var(--surf1);border:1px solid var(--border);border-radius:16px;margin:0;padding:16px 18px;font-size:12px;line-height:1.55}.planned-preview-note{background:var(--linda);color:var(--on-linda);border:0;margin-top:12px}.planned-status{color:var(--muted);margin-top:18px}.planned-actions{flex-wrap:wrap;gap:9px;margin-top:23px;display:flex}.planned-actions .button-outline{border-color:var(--border);color:var(--cream)}.journey-card{transition:transform .18s;position:relative}.journey-card:hover{transform:translateY(-2px)}.journey-cover{z-index:2;border-radius:inherit;background:0 0;border:0;width:100%;position:absolute;inset:0}.journey-cover:focus-visible,.pending-journey:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.journey-header span{text-align:right;max-width:48%}.pending-journey{text-align:left;width:100%;min-height:180px;font:inherit;border:0}.pending-journey h2{letter-spacing:-.05em;margin:18px 0 8px;font-family:Space Grotesk,sans-serif;font-size:23px}.pending-journey p{margin:0 0 15px;font-size:12px;line-height:1.5}.pending-journey small{font-size:11px;font-weight:700}.road-detail-head{background:var(--lina);color:var(--ink);border-radius:26px;padding:28px 30px}.road-detail-head.linda{background:var(--linda);color:var(--on-linda)}.road-detail-head h1{letter-spacing:-.065em;margin:10px 0 6px;font-family:Space Grotesk,sans-serif;font-size:clamp(34px,5vw,53px)}.road-detail-head p{margin:0 0 22px;font-size:14px;font-weight:700}.road-detail-facts{border-top:1px solid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:16px;font-size:11px;font-weight:700;display:grid}.road-detail-facts span,.road-detail-facts strong{display:block}.road-detail-facts strong{letter-spacing:-.04em;margin-bottom:2px;font-family:Space Grotesk,sans-serif;font-size:20px}.road-goal-date{border:1px solid var(--border);background:var(--surf1);border-radius:16px;align-items:center;gap:12px;margin:13px 0 28px;padding:15px 18px;display:flex}.road-goal-date svg{color:var(--highlight)}.road-goal-date span,.road-goal-date strong{display:block}.road-goal-date span{color:var(--muted);margin-bottom:3px;font-size:10px}.road-goal-date strong{font-size:14px}.road-blocks .simple-heading{margin-bottom:9px}.road-blocks .simple-heading h2{letter-spacing:-.05em;margin:0;font-family:Space Grotesk,sans-serif;font-size:25px}@media (width<=700px){.planned-detail-hero{padding:23px}.planned-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-steps li{flex-wrap:wrap;gap:6px 10px}.workout-steps li span{width:100%;padding-left:38px}.road-detail-head{padding:23px}.road-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
