@import url('/assets/icons.css');
@import url('/mobile-auth.css');
@import url('/mobile-home.css');
@import url('/tracker.css');
@import url('/sheets.css');
@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--canvas:#f8f6f8;--surface:#fffdfd;--surface-rose:#fff1f3;--ink:#2c1728;--muted:#6f6370;--line:#e9e0e6;--control-line:#8e819b;--outer:#eee9ed;--accent:#d94f68;--accent-strong:#a82d4c;--accent-soft:#fde5e9;--companion:#4656a8;--companion-soft:#e9edfb;--forecast:#efb8c3;--error:#a72843;--focus:#6752ae;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--r-control:16px;--r-card:22px;--r-hero:28px;--shadow:0 10px 30px #3c173316;--shell-shadow:0 24px 80px #241c3026;--display:32px;--title:26px;--section:20px;--body:16px;--label:14px;--caption:12px;--tab:11px;color-scheme:light}
:root[data-experience=man]{--accent:var(--companion);--accent-strong:#34438f;--accent-soft:var(--companion-soft)}
:root[data-theme=dark]{--canvas:#19151b;--surface:#251e26;--surface-rose:#382329;--ink:#fff4f7;--muted:#c4b5c0;--line:#443641;--control-line:#8e819b;--outer:#0e0b0f;--accent:#ff91a4;--accent-strong:#ffb0be;--accent-soft:#4a2832;--companion:#b6c0ff;--companion-soft:#2d3353;--forecast:#7c4c59;--error:#ff9aad;--focus:#c7baff;--shadow:0 10px 30px #0004;color-scheme:dark}
:root[data-theme=dark][data-experience=man]{--accent:var(--companion);--accent-strong:#c9d0ff;--accent-soft:var(--companion-soft)}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--outer);color:var(--ink);font:450 var(--body)/1.55 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}button:active{transform:scale(.98)}button{transition:transform 120ms,opacity 120ms}h1,h2,h3,p{margin:0}h1{font-size:var(--display);font-weight:780;line-height:1.12;letter-spacing:-1.1px}h2{font-size:var(--section);font-weight:750;line-height:1.25;letter-spacing:-.35px}h3{font-size:var(--body);font-weight:750}p{color:var(--muted)}small,.caption{font-size:var(--caption);color:var(--muted);line-height:1.45}a{color:var(--accent-strong)}#app{height:100dvh;width:100%;max-width:430px;margin-inline:auto;background:var(--canvas);overflow:hidden;position:relative}.app-shell{height:100%;display:grid;grid-template-rows:auto 0 minmax(0,1fr) auto}.app-header{padding:calc(env(safe-area-inset-top) + var(--s3)) var(--s5) var(--s2);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:64px}.brand{display:inline-flex;align-items:center;gap:var(--s2);font-weight:800;font-size:22px;letter-spacing:-1px;color:var(--ink)}.brand-mark{width:26px;height:26px;position:relative}.brand-mark:before,.brand-mark:after{content:'';position:absolute;width:15px;height:23px;top:2px;border-radius:70% 70% 50% 50%;transform:rotate(-32deg);background:var(--accent)}.brand-mark:after{right:0;transform:rotate(32deg);background:var(--companion);opacity:.72}.icon{display:inline-block;width:24px;height:24px;flex:none;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;vertical-align:middle}.icon-button{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);padding:0}.avatar{height:44px;width:44px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent-strong);font-weight:750;border-radius:50%;border:2px solid var(--surface)}.notice-slot{position:relative;z-index:4}.notice{position:absolute;left:var(--s5);right:var(--s5);top:var(--s2);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-control);box-shadow:var(--shadow);font-size:var(--label);color:var(--ink)}.notice:empty{visibility:hidden}.notice.error{color:var(--error);border-color:var(--error)}.app-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--s4) var(--s5) var(--s8);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-behavior:smooth}.app-body>div{animation:screen-in 180ms ease-out}.app-body:focus{outline:none}.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--s1) var(--s2) calc(env(safe-area-inset-bottom) + var(--s2));background:var(--surface);border-top:1px solid var(--line);z-index:2}.bottom-nav button{min-height:56px;border:0;background:transparent;display:grid;justify-items:center;align-content:center;gap:2px;color:var(--muted);font-size:var(--tab);font-weight:650}.bottom-nav .icon{width:24px;height:24px}.bottom-nav button[aria-current=page]{color:var(--accent-strong)}.nav-icon{padding:2px var(--s3);border-radius:11px}.bottom-nav button[aria-current=page] .nav-icon{background:var(--accent-soft)}
.btn{min-height:52px;border-radius:var(--r-control);border:1px solid transparent;background:var(--accent-strong);color:#fff;font-weight:750;padding:var(--s3) var(--s5);display:flex;align-items:center;justify-content:center;gap:var(--s2);text-decoration:none}.btn.secondary{background:var(--surface);border-color:var(--control-line);color:var(--ink)}.btn.tonal{background:var(--accent-soft);color:var(--accent-strong)}.btn.danger{background:transparent;border-color:var(--error);color:var(--error)}.text-button{background:none;border:0;color:var(--accent-strong);font-weight:750;min-height:44px;padding:var(--s2)}.full{width:100%}.stack{display:grid;gap:var(--s4)}.cluster{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.between{justify-content:space-between}.page-heading{margin-bottom:var(--s6)}.page-heading h1{margin-bottom:var(--s2)}.page-heading p{font-size:var(--label)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5);min-width:0}.panel+.panel{margin-top:var(--s4)}label{display:grid;gap:var(--s2);font-size:var(--label);font-weight:650}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:50px;background:var(--surface);border:1px solid var(--control-line);border-radius:var(--r-control);color:var(--ink);padding:var(--s3) var(--s4);font-size:16px;min-width:0}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent-strong);width:22px;height:22px;flex:none}.toggle{display:flex;align-items:flex-start;gap:var(--s3);font-weight:550;min-height:48px;line-height:1.4}.field-help{display:block;font-size:var(--caption);font-weight:450;color:var(--muted)}.private{display:flex;align-items:flex-start;gap:var(--s2);font-size:var(--caption);color:var(--muted)}.private .icon{width:17px;height:17px;color:var(--accent-strong)}.screen-title{font-size:var(--section);font-weight:750}.subtle-label,.eyebrow{font-size:var(--caption);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.1px}.empty{text-align:center;padding:var(--s6) var(--s4);display:grid;justify-items:center;gap:var(--s3)}.empty>.icon{width:32px;height:32px;color:var(--accent-strong)}.empty.compact{padding:var(--s4)}.sharing-preview{padding:var(--s4);background:var(--accent-soft);border-radius:var(--r-control)}.sharing-preview h2{font-size:var(--label);margin-bottom:var(--s2)}.sharing-preview h2:not(:first-child){margin-top:var(--s4)}.sharing-preview ul{margin:0;padding-left:var(--s5);color:var(--muted);font-size:var(--label)}.invite-link{overflow-wrap:anywhere;background:var(--accent-soft);padding:var(--s3);border-radius:12px;user-select:all}summary{cursor:pointer;min-height:44px;font-weight:700;align-content:center}@keyframes screen-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:700px){#app{height:min(932px,calc(100dvh - 48px));margin-block:24px;border-radius:36px;outline:7px solid #28232f;box-shadow:var(--shell-shadow)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active{transform:none}}
