@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--night:#1b2d36;--night2:#29434c;--cream:#f5f2ed;--paper:#fffefa;--ink:#243339;--muted:#748083;--line:#e8e5de;--apricot:#e9af91;--peach:#f7e4d9;--blue:#b9d6dd;--sea:#386d75;--lilac:#ded6ec;--plum:#89749a;--lime:#d8e7c4;--shadow:0 14px 40px #1c2c3512}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background:#e8e7e3;color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sprite{position:absolute;width:0;height:0;overflow:hidden}
.app-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:var(--cream);box-shadow:0 0 70px #15262c24;position:relative;overflow:hidden}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:10px 23px;background:var(--night);color:#fff;position:relative;z-index:2}.brand{display:flex;gap:9px;align-items:center;font-size:20px;font-weight:800;letter-spacing:-.075em}.brand-mark{width:29px;height:29px;border-radius:10px;background:var(--apricot);color:var(--night);font-size:21px;display:grid;place-items:center;position:relative;line-height:1}.brand-mark span{position:absolute;font-size:8px;color:var(--night);right:3px;top:1px}.header-actions{display:flex;align-items:center;gap:12px}.header-progress{width:37px;height:37px;border:1px solid #ffffff42;border-radius:50%;background:#ffffff10;color:#fff;display:grid;place-items:center}.header-progress svg{width:18px;height:18px}.pair-avatars{border:0;background:transparent;display:flex;align-items:center;padding:0 0 0 5px}.pair-avatars span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--night);font-size:12px;font-weight:800;color:var(--night);background:var(--apricot)}.pair-avatars span+span{margin-left:-11px;background:var(--lilac)}main{padding-bottom:112px;outline:none;min-height:calc(100dvh - 76px)}.main-pad{padding:0 22px}.dark-panel{background:var(--night);color:#fff;padding:18px 22px 31px;border-radius:0 0 34px 34px;position:relative;overflow:hidden}.dark-panel:before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-170px;top:-178px;background:radial-gradient(circle,#4e707751,transparent 65%);pointer-events:none}.dark-panel>*{position:relative}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;color:var(--apricot)}.date-line{color:#cad5d1;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.display{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.055em;line-height:1.06;font-size:37px;margin:13px 0 10px}.display em{font-style:italic;color:var(--apricot)}.dark-panel p{color:#cad7d5;line-height:1.45;font-size:13px;margin:0}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.small-avatar{font-size:11px;background:#ffffff14;border:1px solid #ffffff34;color:#f7e0d3;border-radius:30px;padding:7px 11px;font-weight:700}.rhythm-card{background:linear-gradient(143deg,#395c63,#29434d 70%);border:1px solid #ffffff26;border-radius:27px;min-height:263px;margin-top:25px;padding:22px;position:relative;overflow:hidden;box-shadow:0 20px 30px #091b2028}.rhythm-card:before{content:'';position:absolute;width:230px;height:230px;background:#ffffff0c;border-radius:50%;right:-75px;top:-65px}.rhythm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}.rhythm-head strong{display:block;font-size:13px;letter-spacing:.01em}.rhythm-head span{display:block;color:#c6d8d3;font-size:11px;margin-top:4px}.rhythm-badge{font-size:11px;border-radius:100px;padding:7px 10px;color:#fbe9dc;background:#ffffff19;white-space:nowrap}.rhythm-body{display:flex;align-items:center;gap:19px;position:relative;z-index:1;padding-top:18px}.duo-ring{width:134px;height:134px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--apricot) 0 var(--ring),#ffffff25 var(--ring) 100%);position:relative}.duo-ring:before{content:'';position:absolute;inset:10px;border-radius:50%;background:#35545c}.duo-ring:after{content:'';position:absolute;inset:24px;border-radius:50%;border:1px dashed #ffffff5c}.ring-core{position:relative;text-align:center;z-index:1}.ring-core b{display:block;font-family:Fraunces,Georgia,serif;font-size:36px;font-weight:500;line-height:1}.ring-core small{font-size:10px;color:#d0dddb}.ring-copy{font-family:Fraunces,Georgia,serif;font-size:20px;line-height:1.15;letter-spacing:-.025em;max-width:130px}.ring-copy small{display:block;font:600 11px/1.4 'DM Sans',sans-serif;color:#c6d8d3;letter-spacing:0;margin-top:10px}.primary-row{display:flex;gap:9px;margin-top:22px}.button{min-height:48px;border:0;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;font-weight:800;font-size:13px;text-decoration:none;line-height:1.2;transition:transform .15s,filter .15s}.button:active,.action-tile:active,.nav-item:active{transform:scale(.97)}.button:hover{filter:brightness(.96)}.button svg{width:17px;height:17px}.button.full{width:100%}.button.primary{background:var(--apricot);color:var(--night)}.button.ghost{background:#ffffff19;color:#fff;border:1px solid #ffffff35}.button.dark{background:var(--night);color:#fff}.button.soft{background:var(--blue);color:var(--night)}.button.outline{background:transparent;border:1px solid #cfd6d3;color:var(--night)}.primary-row .button:first-child{flex:1}.light-surface{padding:24px 22px 18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.section-head h2{font:700 19px/1.2 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:0;color:var(--night)}.text-link{border:0;background:transparent;color:var(--sea);font-size:12px;font-weight:800;padding:7px 0}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action-tile{border:0;border-radius:20px;padding:14px 11px 16px;min-height:129px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;color:var(--night)}.action-tile.move{background:#c8dce0}.action-tile.food{background:#f4dacb}.action-tile.connect{background:#e4dced}.action-tile .tile-icon{background:#ffffff9d;width:34px;height:34px;display:grid;place-items:center;border-radius:12px}.action-tile .tile-icon svg{width:19px;height:19px}.action-tile strong{font-size:13px;line-height:1.15;margin:auto 0 2px}.action-tile small{font-size:10px;color:#53616a;line-height:1.15}.day-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}.day-tile{border-radius:20px;background:var(--paper);padding:16px;border:1px solid var(--line)}.day-tile .tile-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700}.day-tile .tile-top svg{width:16px;height:16px;color:var(--sea)}.day-tile strong{display:block;font:600 24px/1.1 Fraunces,Georgia,serif;margin:12px 0 8px;color:var(--night)}.day-tile small{font-size:11px;color:var(--muted)}.thin-track{height:6px;border-radius:20px;background:#e5e9e4;overflow:hidden}.thin-track span{display:block;height:100%;border-radius:20px;background:var(--sea)}.feature-card{border-radius:23px;padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 7px 24px #132e3210}.feature-card + .feature-card{margin-top:12px}.feature-card .overline{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--sea)}.feature-card h3{font:600 22px/1.15 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:10px 0;color:var(--night)}.feature-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 15px}.feature-card.question{background:var(--lilac);border:0;position:relative;overflow:hidden}.feature-card.question:after{content:'✳';position:absolute;font-size:95px;line-height:1;color:#ffffff6b;right:3px;top:-24px;transform:rotate(-12deg)}.feature-card.question>*{position:relative;z-index:1}.list{display:grid;gap:9px}.list-item{width:100%;display:flex;gap:11px;align-items:center;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:17px;text-align:left;color:var(--night)}.round-icon{width:39px;height:39px;border-radius:13px;background:#dce9e8;display:grid;place-items:center;flex:none}.round-icon svg{width:19px;height:19px}.list-item strong{display:block;font-size:12px}.list-item small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.list-item .right{margin-left:auto;font-size:11px;font-weight:800;color:var(--sea)}.empty{background:#fffefa;border:1px dashed #cbd5d1;border-radius:19px;color:var(--muted);font-size:12px;text-align:center;padding:22px;line-height:1.5}.empty .big-icon{display:block;font-size:23px;color:var(--sea)}.note{font-size:11px;line-height:1.45;color:var(--muted);margin:12px 0 0}.app-page{padding:15px 22px 32px}.page-intro{padding:8px 0 24px}.page-intro .display{color:var(--night);margin-bottom:8px}.page-intro p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.app-page .section-head{margin-top:25px}.app-page .section-head:first-child{margin-top:0}.horizontal-actions{display:flex;gap:9px;overflow:auto;margin:0 -22px;padding:0 22px 4px;scrollbar-width:none}.horizontal-actions::-webkit-scrollbar{display:none}.horizontal-actions button{white-space:nowrap;flex:none}.movement-hero{background:var(--night);color:white;border-radius:25px;padding:21px;position:relative;overflow:hidden}.movement-hero:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #ffffff35;border-radius:50%;right:-48px;top:-76px;box-shadow:0 0 0 24px #ffffff0b,0 0 0 52px #ffffff08}.movement-hero>*{position:relative;z-index:1}.movement-hero .overline{color:var(--apricot)}.movement-hero h2{font:500 27px/1.1 Fraunces,Georgia,serif;letter-spacing:-.04em;max-width:220px;margin:14px 0 8px}.movement-hero p{color:#cbd8d7;font-size:12px;line-height:1.45;max-width:225px;margin:0 0 18px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:15px 12px}.metric span{display:block;font-size:10px;color:var(--muted);min-height:22px}.metric strong{font:600 22px/1.1 Fraunces,Georgia,serif;color:var(--night);display:block;margin:7px 0 3px}.metric small{color:var(--muted);font-size:10px}.nutrition-top{background:var(--night);color:white;border-radius:25px;padding:20px;display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}.macro-ring{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--apricot) 0 29%,var(--lilac) 29% 62%,var(--blue) 62% 100%);display:grid;place-items:center;position:relative}.macro-ring:before{content:'';position:absolute;inset:13px;border-radius:50%;background:var(--night)}.macro-ring strong{position:relative;font:500 22px Fraunces,Georgia,serif;text-align:center}.macro-ring strong small{display:block;font:600 10px 'DM Sans',sans-serif;color:#cbd8d7}.macro-copy{font-size:11px;color:#dce7e3}.macro-copy div{display:flex;align-items:center;gap:7px;margin:9px 0}.macro-copy b{color:white;margin-left:auto}.dot{height:8px;width:8px;border-radius:50%;display:inline-block}.dot.p{background:var(--apricot)}.dot.c{background:var(--lilac)}.dot.f{background:var(--blue)}.water-card{background:#d8e9eb;border-radius:22px;padding:17px 18px}.water-card .row{display:flex;align-items:center;justify-content:space-between}.water-card h3{font:600 19px Fraunces,Georgia,serif;margin:0}.water-drops{display:flex;gap:5px;margin:14px 0}.water-drops span{height:22px;width:22px;display:grid;place-items:center;border:1px solid #8fb9bf;border-radius:50%;font-size:12px;color:#709ca3}.water-drops span.filled{background:var(--sea);color:white;border-color:var(--sea)}.prompt-card{background:linear-gradient(145deg,#e6dfeb,#d7cee3);border:0;border-radius:26px;padding:24px;min-height:240px;display:flex;flex-direction:column}.prompt-card .kicker{color:#79638a}.prompt-card h2{font:500 27px/1.16 Fraunces,Georgia,serif;letter-spacing:-.05em;color:#413951;margin:18px 0 24px}.prompt-card .button{margin-top:auto;align-self:flex-start}.segmented{display:flex;background:#e7e9e6;border-radius:15px;padding:4px;gap:3px}.segmented button{flex:1;border:0;background:transparent;border-radius:11px;padding:9px 6px;color:#718083;font-weight:800;font-size:11px}.segmented button.active{background:var(--paper);color:var(--night);box-shadow:0 3px 10px #22334211}.note-card{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:17px}.note-card .overline{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--sea);font-weight:800}.note-card p{font:500 18px/1.4 Fraunces,Georgia,serif;margin:10px 0 0;color:var(--night)}.chart{height:150px;display:flex;align-items:end;gap:7px;padding:12px 0 0}.bar-day{flex:1;text-align:center}.bar-day div{min-height:5px;background:#9ac0c3;border-radius:7px 7px 3px 3px}.bar-day.today div{background:var(--sea)}.bar-day small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.goal-card{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);padding:14px;border-radius:17px}.goal-card .round-icon{background:var(--peach)}.goal-card strong{font-size:12px;display:block}.goal-card small{font-size:10px;color:var(--muted)}.goal-card .text-link{margin-left:auto;white-space:nowrap}.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:10;width:min(100%,480px);display:flex;justify-content:space-around;background:#fffefaed;backdrop-filter:blur(18px);border-top:1px solid #e4e5df;padding:9px 8px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #17292e0f}.tab{border:0;background:transparent;color:#9aa5a5;min-width:0;flex:1;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:700}.tab svg{width:21px;height:21px}.tab.active{color:var(--night)}.tab.active svg{stroke-width:2.5}.overlay{position:fixed;inset:0;z-index:30;background:#14252dbf;display:grid;place-items:end center;padding:0}.overlay[hidden]{display:none}.sheet{width:min(100%,480px);max-height:90dvh;overflow:auto;background:var(--cream);border-radius:28px 28px 0 0;padding:20px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 70px #0e202b44;animation:rise .22s ease-out}.sheet:before{content:'';display:block;width:36px;height:4px;border-radius:5px;background:#bbc5c3;margin:0 auto 17px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sheet h2{font:600 25px Fraunces,Georgia,serif;letter-spacing:-.04em;margin:0;color:var(--night)}.close{border:0;background:#e5e8e6;color:var(--night);border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.close svg{width:18px;height:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:11px;font-weight:800;color:var(--night)}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #dce2df;border-radius:13px;color:var(--ink);min-height:47px;padding:11px 12px;outline:none;font-size:14px}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#70a5aa;box-shadow:0 0 0 3px #b9d6dd66}.helper{font-size:11px;color:var(--muted);line-height:1.5}.notice{font-size:11px;line-height:1.5;color:#686a76;background:#eae5ec;border-radius:14px;padding:12px 14px}.divider{height:1px;background:var(--line);margin:18px 0}.quote{font:500 19px/1.3 Fraunces,Georgia,serif;color:var(--night)}.stack{display:grid;gap:10px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:17px}.card h3{margin:0 0 7px;font:600 19px Fraunces,Georgia,serif}.card p{font-size:12px;line-height:1.5;color:var(--muted)}.card.prompt-card{background:var(--lilac)}.toast{position:fixed;left:50%;bottom:85px;transform:translate(-50%,15px);z-index:40;max-width:min(90%,420px);background:var(--night);color:#fff;border-radius:13px;padding:11px 15px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rise{from{transform:translateY(35px)}to{transform:translateY(0)}}
@media(min-width:700px){body{padding:28px 0}.app-shell{min-height:calc(100dvh - 56px);border-radius:28px}.tabbar{bottom:28px;border-radius:0 0 28px 28px}.overlay{place-items:center}.sheet{border-radius:26px;max-height:85dvh}.sheet:before{display:none}}
@media(max-width:380px){.display{font-size:34px}.rhythm-card{padding:18px}.duo-ring{height:118px;width:118px}.ring-copy{font-size:18px}.light-surface,.app-page{padding-left:17px;padding-right:17px}.dark-panel{padding-left:17px;padding-right:17px}.ritual-grid{gap:7px}.action-tile{padding:11px 9px}}

/* Tablet and desktop keep the same calm visual language while using the canvas. */
@media(min-width:700px){
  body{padding:0}
  .app-shell{width:100%;max-width:none;min-height:100dvh;border-radius:0;box-shadow:none}
  .topbar{padding-inline:clamp(28px,5vw,72px)}
  main{min-height:calc(100dvh - 76px)}
  .tabbar{width:100%;bottom:0;border-radius:0}
  .screen-today .dark-panel{padding:38px clamp(30px,6vw,70px);border-radius:0 0 32px 32px}
  .screen-today .display{font-size:clamp(43px,5vw,62px)}
  .screen-today .rhythm-card{max-width:680px}
  .screen-today .primary-row{max-width:680px}
  .screen-today .light-surface{max-width:920px;margin:auto;padding:36px clamp(30px,5vw,65px) 110px}
  .app-page{max-width:1140px;margin:auto;padding:32px clamp(30px,5vw,65px) 120px}
  .page-intro{padding-bottom:30px}
  .page-intro .display{font-size:clamp(43px,5vw,62px)}
  .page-intro p{font-size:15px;max-width:640px}
  .feature-card p,.movement-hero p{font-size:14px}
  .ritual-grid{gap:14px}
  .action-tile{min-height:150px;padding:18px}
  .action-tile strong{font-size:16px}
  .action-tile small{font-size:12px}
  .day-tile{padding:20px}
  .horizontal-actions{margin:0;padding:0;flex-wrap:wrap}
  .sheet{width:min(580px,90vw)}
}
@media(min-width:900px){
  body{background:var(--cream)}
  .app-shell{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:76px minmax(calc(100dvh - 76px),auto);overflow:visible}
  .topbar{grid-column:2;grid-row:1;padding-inline:clamp(35px,4vw,72px)}
  main{grid-column:2;grid-row:2;min-width:0;padding-bottom:0}
  .tabbar{grid-column:1;grid-row:1 / 3;position:sticky;top:0;left:auto;bottom:auto;transform:none;width:190px;height:100dvh;align-self:start;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;padding:25px 12px;background:var(--paper);border-top:0;border-right:1px solid var(--line);box-shadow:none;z-index:5}
  .tabbar:before{content:'OUR SPACE';font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--muted);padding:12px 14px 18px}
  .tab{flex:none;width:100%;min-height:49px;padding:10px 13px;flex-direction:row;justify-content:flex-start;gap:13px;border-radius:13px;text-align:left;font-size:13px;color:#647377}
  .tab:hover{background:#f3f4ef;color:var(--night)}
  .tab.active{background:var(--peach);color:var(--night)}
  .tab svg{width:20px;height:20px;flex:none}
  .screen-today .light-surface{padding-bottom:54px}
  .app-page{padding-bottom:70px}
  .toast{bottom:28px}
  .overlay{place-items:center}
}
@media(min-width:1100px){
  .screen-today{display:grid;grid-template-columns:minmax(410px,.88fr) minmax(500px,1.12fr);align-items:stretch}
  .screen-today .dark-panel{min-height:calc(100dvh - 76px);border-radius:0;padding:clamp(36px,4vw,64px) clamp(30px,3.5vw,58px)}
  .screen-today .dark-panel .display{font-size:clamp(44px,4vw,62px);margin-top:27px}
  .screen-today .dark-panel>p{font-size:15px}
  .screen-today .rhythm-card{margin-top:40px;min-height:320px;padding:26px}
  .screen-today .rhythm-body{padding-top:37px;gap:24px}
  .screen-today .duo-ring{width:152px;height:152px}
  .screen-today .ring-copy{font-size:25px;max-width:190px}
  .screen-today .primary-row{margin-top:28px}
  .screen-today .light-surface{width:100%;max-width:760px;margin:0;padding:clamp(35px,4vw,62px) clamp(30px,3.5vw,60px)}
  .screen-today .light-surface .section-head h2{font-size:22px}
  .screen-move .app-page,.screen-nourish .app-page,.screen-connect .app-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;align-content:start}
  .screen-move .page-intro,.screen-nourish .page-intro,.screen-connect .page-intro{grid-column:1 / -1}
  .screen-move .movement-hero{grid-column:1;grid-row:2 / span 2;min-height:260px}
  .screen-move .movement-hero h2{font-size:34px;max-width:320px}
  .screen-move .movement-hero p{max-width:330px}
  .screen-move .app-page>.section-head:nth-child(3){grid-column:2;grid-row:2;align-self:end}
  .screen-move .horizontal-actions{grid-column:2;grid-row:3;align-self:start}
  .screen-move .app-page>.section-head:nth-child(5){grid-column:1 / -1}
  .screen-move .app-page>.list,.screen-move .app-page>.empty{grid-column:1 / -1}
  .screen-move .app-page>.note{grid-column:1 / -1}
  .screen-nourish .nutrition-top{grid-column:1;grid-row:2 / span 3;min-height:230px;grid-template-columns:150px 1fr}
  .screen-nourish .macro-ring{height:145px;width:145px}
  .screen-nourish .app-page>.section-head:nth-child(3){grid-column:2;grid-row:2;align-self:end}
  .screen-nourish .horizontal-actions{grid-column:2;grid-row:3;align-self:start}
  .screen-nourish .water-card{grid-column:2;grid-row:4}
  .screen-nourish .app-page>.section-head:nth-child(7),.screen-nourish .app-page>.list,.screen-nourish .app-page>.empty,.screen-nourish .app-page>.note{grid-column:1 / -1}
  .screen-connect .segmented{grid-column:1 / -1;max-width:530px;margin-bottom:23px}
  .screen-connect .prompt-card{grid-column:1;grid-row:3 / span 2;min-height:280px;margin-top:0!important}
  .screen-connect .app-page>.section-head{grid-column:2;grid-row:3;align-self:end}
  .screen-connect .ritual-grid{grid-column:2;grid-row:4}
  .screen-connect .app-page>.list,.screen-connect .app-page>.empty,.screen-connect .app-page>.note{grid-column:1 / -1}
  .screen-progress .app-page{max-width:1080px}
  .screen-progress .metric-row{gap:15px}
  .screen-progress .metric{padding:23px}
  .screen-progress .metric strong{font-size:32px}
  .screen-progress .chart{height:230px}
}

/* App visual system: compact type, tactile controls, and one clear daily action. */
:root{--night:#2d2644;--night2:#483c67;--cream:#f7f6f3;--paper:#fff;--ink:#2b2735;--muted:#817c89;--line:#e9e6eb;--apricot:#ffb69c;--peach:#ffe3d8;--blue:#dbeeea;--sea:#477c78;--lilac:#ede5fb;--plum:#6b57a0;--lime:#e4efd8;--shadow:0 12px 30px #3027450d}
body{background:var(--cream);color:var(--ink);font-family:Manrope,system-ui,sans-serif}
button,input,select,textarea{font-family:Manrope,system-ui,sans-serif}
.app-shell{background:var(--cream)}
.topbar{height:68px;background:var(--cream);color:var(--night);padding-inline:20px;border-bottom:1px solid #ebe8e9}
.brand{font-size:17px;letter-spacing:-.065em;gap:8px}
.brand-mark{height:27px;width:27px;border-radius:9px;background:var(--night);color:#fff;font-size:19px}
.brand-mark span{color:var(--apricot)}
.header-progress{border:0;background:#ece7f2;color:var(--night);width:35px;height:35px}
.pair-avatars span{width:34px;height:34px;border-color:var(--cream);background:#d7c4f3;color:var(--night)}
.pair-avatars span+span{background:#ffc5ad}
main{min-height:calc(100dvh - 68px)}
.button{border-radius:14px;min-height:50px;font-size:13px;letter-spacing:-.01em;box-shadow:none}
.button.primary{background:var(--apricot);color:var(--night)}
.button.dark{background:var(--night)}
.button.soft{background:var(--lilac);color:var(--night)}
.button.outline{border-color:#d8d2df}
.section-head h2{font-family:Manrope,system-ui,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.045em}
.text-link{display:inline-flex;align-items:center;gap:4px;color:var(--plum);font-size:11px}
.text-link svg{height:14px;width:14px}
.tabbar{background:#fffffff5;border-color:#e8e4ea;padding-top:8px}
.tab{color:#9c98a4;font-size:10px;gap:3px}
.tab svg{height:20px;width:20px}
.tab.active{color:var(--night)}
.tab.active svg{background:#ede5fb;border-radius:10px;width:35px;height:30px;padding:5px;stroke-width:2.3}
.today-layout{display:block;padding-bottom:113px}
.today-intro{padding:23px 22px 21px}
.eyebrow,.daily-kicker{font-size:10px;font-weight:800;letter-spacing:.13em}
.today-intro .eyebrow{color:var(--plum);text-transform:uppercase}
.today-intro h1{font-size:28px;line-height:1.16;letter-spacing:-.055em;color:var(--night);margin:9px 0 6px;font-weight:800}
.today-intro p{font-size:12px;line-height:1.4;margin:0;color:var(--muted)}
.daily-feature{margin:0 14px;background:radial-gradient(circle at 95% 8%,#63537f 0,transparent 34%),linear-gradient(150deg,#352d52,#24213d);border-radius:27px;color:#fff;padding:20px;position:relative;overflow:hidden;box-shadow:0 15px 27px #2d26442e}
.daily-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.daily-kicker{color:#d8cceb}
.time-chip{border:1px solid #ffffff47;background:#ffffff18;border-radius:30px;padding:7px 10px;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}
.orbit-art{height:137px;position:relative;margin:6px 0 0}
.orbit{position:absolute;border:1px solid #ffffff2f;border-radius:50%;height:215px;width:215px;left:50%;top:-42px;transform:translateX(-50%) rotate(-18deg)}
.orbit-two{height:155px;width:280px;top:-6px;transform:translateX(-50%) rotate(17deg)}
.orbit-person{position:absolute;top:43px;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;font-size:22px;font-weight:800;color:var(--night);border:4px solid #4e4568;box-shadow:0 10px 22px #18162e55}
.orbit-person.first{left:calc(50% - 81px);background:#d6c3fb}
.orbit-person.second{left:calc(50% + 21px);background:#ffc4a8}
.orbit-heart{position:absolute;left:calc(50% - 8px);top:61px;color:#ffc1ad;font-size:20px}
.daily-feature h2{font-size:30px;font-weight:800;letter-spacing:-.06em;line-height:1.06;margin:0 0 8px;max-width:300px}
.daily-feature p{color:#ded9e9;font-size:12px;line-height:1.5;margin:0;max-width:320px}
.daily-actions{display:flex;gap:9px;margin-top:19px}
.daily-actions .primary{flex:1;justify-content:space-between;padding-inline:17px;background:#ffb697}
.round-button{width:50px;height:50px;display:grid;place-items:center;flex:none;border:1px solid #ffffff51;border-radius:15px;background:#ffffff18;color:#fff}
.round-button svg{width:21px;height:21px}
.today-secondary{padding:23px 22px 0}
.today-secondary section+section{margin-top:25px}
.section-hint{font-size:10px;color:var(--muted)}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.quick-actions button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:79px;color:var(--ink);font-size:11px;font-weight:800}
.quick-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center}
.quick-icon svg{width:24px;height:24px}
.quick-icon.move{background:#e1e6fa;color:#554f94}
.quick-icon.food{background:#ffe4d4;color:#9d5548}
.quick-icon.water{background:#dcefeb;color:#407e7b}
.quick-icon.note{background:#f4dff0;color:#9a5c87}
.week-card{background:#fff;border:1px solid var(--line);border-radius:23px;padding:18px 17px 15px;box-shadow:var(--shadow)}
.week-summary{display:flex;align-items:baseline;gap:9px}
.week-summary strong{font-size:26px;line-height:1;font-weight:800;letter-spacing:-.06em;color:var(--night)}
.week-summary strong span{font-size:15px;color:#aaa4b6}
.week-summary p{font-size:11px;color:var(--muted);margin:0}
.week-path{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:18px}
.path-day{display:flex;flex-direction:column;align-items:center;gap:7px;color:#aaa4ae;font-size:10px;font-weight:700}
.path-mark{width:30px;height:30px;border-radius:50%;background:#f2f0f3;display:grid;place-items:center;font-size:13px;color:#8b7eae}
.path-mark svg{width:16px;height:16px}
.path-day.current .path-mark{background:#e8ddfa;color:var(--plum);box-shadow:0 0 0 3px #f3eff9}
.path-day.complete .path-mark{background:var(--plum);color:#fff}
.week-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.week-footer span:last-child{color:#ec8d9b;font-size:15px}
.personal-section{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.personal-stat{display:flex;align-items:center;gap:9px;min-height:70px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px}
.stat-icon{width:31px;height:31px;border-radius:11px;display:grid;place-items:center;flex:none;background:#eef0f4;color:var(--plum)}
.stat-icon svg{width:18px;height:18px}
.personal-stat small{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em}
.personal-stat strong{display:block;font-size:17px;color:var(--night);letter-spacing:-.04em}
.personal-stat i{font-size:9px;font-style:normal;color:var(--muted);font-weight:600}
.conversation-card{background:#e9e1f7;border-radius:23px;padding:20px 20px 18px;color:var(--night);position:relative;overflow:hidden}
.conversation-card:after{content:'✦';position:absolute;right:-9px;top:21px;font-size:145px;color:#ffffff7a;pointer-events:none}
.conversation-card>*{position:relative;z-index:1}
.conversation-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.13em;color:#6e5a9b}
.conversation-card h2{font-size:20px;line-height:1.25;letter-spacing:-.045em;font-weight:800;max-width:340px;margin:17px 0}
.conversation-card button{border:0;background:#fff;color:var(--night);border-radius:13px;min-height:42px;padding:0 13px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}
.conversation-card button svg{width:15px;height:15px}
.app-page{padding-top:22px}
.page-intro{padding:4px 0 24px}
.page-intro .display{font-family:Manrope,system-ui,sans-serif;font-size:31px;font-weight:800;letter-spacing:-.06em;line-height:1.11;margin:8px 0}
.page-intro .display em{font-style:normal;color:var(--plum)}
.page-intro p{font-size:12px}
.kicker{color:var(--plum)}
.movement-hero,.nutrition-top{background:linear-gradient(145deg,#393154,#29243f);border-radius:24px}
.movement-hero h2,.feature-card h3,.water-card h3,.prompt-card h2,.note-card p,.metric strong,.card h3,.goal-card strong,.sheet h2,.quote{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.045em}
.movement-hero h2{font-size:25px;font-weight:800;line-height:1.13}
.movement-hero p{font-size:12px}
.feature-card,.metric,.note-card,.goal-card,.list-item{box-shadow:none;border-color:var(--line)}
.feature-card h3{font-size:19px;font-weight:800}
.water-card{background:#dcefeb}
.prompt-card{background:#e9e1f7;min-height:220px}
.prompt-card h2{font-size:23px;font-weight:800}
.segmented{background:#eae7ed}
.segmented button.active{box-shadow:0 2px 6px #30274513}
.sheet{font-family:Manrope,system-ui,sans-serif}
.sheet h2{font-size:22px;font-weight:800}
.field input,.field select,.field textarea{background:#fff;border-radius:13px}
.toast{background:var(--night)}
@media(min-width:700px){
  .topbar{padding-inline:32px}
  .today-layout{max-width:760px;margin:auto;padding-bottom:100px}
  .today-intro{padding:34px 30px 26px}
  .today-intro h1{font-size:38px}
  .daily-feature{margin-inline:30px;padding:28px}
  .daily-feature h2{font-size:34px}
  .today-secondary{padding:32px 30px}
  .quick-actions{max-width:560px}
  .page-intro .display{font-size:40px}
}
@media(min-width:900px){
  .app-shell{grid-template-rows:68px minmax(calc(100dvh - 68px),auto)}
  .topbar{grid-column:2}
  .tabbar{background:#fff;border-right:1px solid var(--line)}
  .tabbar:before{color:#a19aa7}
  .tab{color:#746e7c}
  .tab:hover{background:#f7f4fb;color:var(--night)}
  .tab.active{background:#eee8f9}
  .tab.active svg{background:transparent;width:20px;height:20px;padding:0}
  .today-layout{max-width:none}
}
@media(min-width:1100px){
  .screen-today{display:block}
  .today-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(460px,1.05fr);min-height:calc(100dvh - 68px);padding-bottom:0;max-width:1440px}
  .today-primary{padding:22px clamp(18px,3vw,52px) 42px;background:#f1eff5}
  .today-intro{padding:26px 0 25px}
  .today-intro h1{font-size:clamp(33px,3.1vw,45px)}
  .daily-feature{margin:0;padding:clamp(25px,3vw,37px);min-height:550px;display:flex;flex-direction:column}
  .orbit-art{height:200px;margin:20px 0 5px}
  .orbit-person{top:72px}
  .orbit-heart{top:89px}
  .daily-feature h2{font-size:clamp(34px,3vw,44px)}
  .daily-actions{margin-top:auto;padding-top:23px}
  .today-secondary{padding:45px clamp(25px,3.5vw,60px)}
  .today-secondary section+section{margin-top:31px}
  .quick-actions{max-width:none}
  .personal-stat{min-height:80px}
  .app-page .page-intro .display{font-size:43px}
}

/* Focused screens use native-style lists instead of repeated marketing cards. */
.native-head{padding:2px 0 21px}
.native-head .eyebrow{color:var(--plum)}
.native-head h1{font-size:31px;line-height:1.12;letter-spacing:-.065em;margin:9px 0 7px;color:var(--night);font-weight:800;max-width:420px}
.native-head p{color:var(--muted);font-size:12px;line-height:1.45;margin:0;max-width:470px}
.native-section{margin-top:27px}
.native-section .section-head{margin:0 0 12px}
.activity-spotlight{min-height:300px;background:radial-gradient(circle at 100% 0%,#5d4e7a,transparent 40%),linear-gradient(145deg,#362f52,#29243f);color:#fff;border-radius:25px;padding:21px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden;position:relative}
.activity-spotlight:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #ffffff2e;border-radius:50%;right:-95px;top:-90px;box-shadow:0 0 0 35px #ffffff08,0 0 0 75px #ffffff06;pointer-events:none}
.activity-spotlight>*{position:relative;z-index:1}
.spotlight-top{width:100%;display:flex;justify-content:space-between;align-items:flex-start}
.spotlight-symbol{height:51px;width:51px;border-radius:17px;background:#e3dafa;color:var(--night);display:grid;place-items:center}
.spotlight-symbol svg{height:27px;width:27px}
.activity-spotlight .eyebrow{color:#cfbfeb}
.activity-spotlight h2{font-size:26px;letter-spacing:-.06em;line-height:1.12;margin:7px 0 6px;max-width:270px}
.activity-spotlight p{font-size:12px;line-height:1.45;color:#ddd7e8;margin:0;max-width:280px}
.activity-spotlight .button{min-width:175px;justify-content:space-between}
.option-list{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.option-row{display:flex;align-items:center;gap:12px;width:100%;min-height:74px;border:0;background:#fff;color:var(--night);padding:12px 14px;text-align:left}
.option-row+.option-row{border-top:1px solid var(--line)}
.option-row:hover{background:#fbfafc}
.option-icon{height:42px;width:42px;flex:none;border-radius:14px;display:grid;place-items:center}
.option-icon svg{width:22px;height:22px}
.option-icon.lilac{background:#eee7f9;color:#6d58a5}
.option-icon.peach{background:#ffe5da;color:#ab614b}
.option-icon.mint{background:#e2f0e9;color:#4f887d}
.option-copy{min-width:0;flex:1}
.option-copy strong{display:block;font-size:12px;font-weight:800;line-height:1.3}
.option-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.3;margin-top:4px}
.option-arrow{color:#aaa4b6}
.option-arrow svg{width:17px;height:17px}
.entry-value{font-size:13px;font-weight:800;color:var(--plum)}
.nutrition-panel{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:23px;padding:22px 18px;box-shadow:var(--shadow)}
.nutrition-main span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.11em}
.nutrition-main strong{display:block;font-size:41px;line-height:1.1;letter-spacing:-.08em;color:var(--night);margin-top:5px}
.nutrition-main small{font-size:10px;color:var(--muted)}
.nutrition-macros{border-left:1px solid var(--line);padding-left:17px}
.nutrition-macros div{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin:8px 0}
.nutrition-macros strong{margin-left:auto;color:var(--night);font-size:11px}
.macro-dot{height:7px;width:7px;border-radius:50%;display:inline-block}
.macro-dot.protein{background:#ed9f89}.macro-dot.carbs{background:#bca7de}.macro-dot.fat{background:#9dccbf}
.log-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
.log-actions button{display:flex;align-items:center;gap:9px;min-height:67px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:17px;padding:10px;color:var(--night)}
.log-actions button>strong{font-size:11px;line-height:1.2;flex:1}
.log-actions button>svg{width:15px;height:15px;flex:none}
.log-actions .option-icon{height:38px;width:38px;border-radius:12px}
.log-actions .option-icon svg{width:18px;height:18px}
.hydration-panel{background:#dcefeb;border-radius:22px;padding:18px;margin-top:17px;display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center}
.hydration-panel .eyebrow{color:#4b8882}
.hydration-panel h2{font-size:24px;line-height:1;margin:7px 0 0;color:var(--night);letter-spacing:-.05em}
.hydration-panel h2 small{font-size:11px;font-weight:600;color:#607d7a;letter-spacing:0}
.hydration-panel .round-button{height:42px;width:42px;border:0;background:#fff;color:var(--sea);border-radius:13px}
.hydration-track{grid-column:1 / -1;display:flex;gap:5px;margin-top:7px}
.hydration-track span{height:7px;flex:1;background:#ffffffc7;border-radius:20px}
.hydration-track span.filled{background:var(--sea)}
.quiet-action{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--plum);font-size:11px;font-weight:800;padding:15px 0 0}
.quiet-action svg{width:14px;height:14px}
.connect-page .segmented{margin-bottom:17px}
.daily-question{min-height:310px;border-radius:25px;padding:21px;background:linear-gradient(145deg,#e8dcfa,#eee8f9);display:flex;flex-direction:column;color:var(--night)}
.question-top{display:flex;justify-content:space-between;color:#6b55a4;font-size:10px;font-weight:800;letter-spacing:.11em}
.question-top span:last-child{font-size:18px;color:#b083b7}
.daily-question h2{font-size:26px;line-height:1.19;letter-spacing:-.055em;margin:30px 0;max-width:330px}
.question-bottom{margin-top:auto}
.question-bottom>span{display:block;font-size:10px;color:#827490;margin-bottom:12px}
.question-bottom button{border:0;border-radius:14px;min-height:47px;padding:0 15px;background:var(--night);color:#fff;display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:800}
.question-bottom button svg{width:17px;height:17px}
.connect-page .note-card p{font-size:15px;font-weight:700}
@media(min-width:1100px){
  .screen-move .app-page,.screen-nourish .app-page,.screen-connect .app-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;align-content:start}
  .move-page .native-head,.nourish-page .native-head,.connect-page .native-head{grid-column:1 / -1}
  .move-page .activity-spotlight{grid-column:1;grid-row:2 / 4;min-height:395px}
  .move-page>.native-section:nth-of-type(2){grid-column:2;grid-row:2;margin-top:0}
  .move-page>.native-section:nth-of-type(3){grid-column:2;grid-row:3}
  .move-page>.note{grid-column:1 / -1}
  .nourish-page .nutrition-panel{grid-column:1;grid-row:2 / 4;min-height:240px}
  .nourish-page>.native-section:nth-of-type(2){grid-column:2;grid-row:2;margin-top:0}
  .nourish-page .hydration-panel{grid-column:2;grid-row:3}
  .nourish-page>.native-section:nth-of-type(4){grid-column:1 / -1}
  .nourish-page>.quiet-action,.nourish-page>.note{grid-column:1 / -1}
  .connect-page>.segmented{grid-column:1 / -1;max-width:520px}
  .connect-page .daily-question{grid-column:1;grid-row:3 / 5;min-height:380px}
  .connect-page:has(.daily-question)>.native-section{grid-column:2;grid-row:3;margin-top:0}
  .connect-page:not(:has(.daily-question))>.native-section{grid-column:1 / -1;grid-row:3;margin-top:0}
  .connect-page>.note{grid-column:1 / -1}
}
