:root{--ink: #16211d;--forest: #1f4d3a;--moss: #6f8f5f;--mint: #dff3df;--cream: #fff8eb;--sun: #f4bd50;--coral: #e8735b;--blue: #7398d3;--line: rgba(22, 33, 29, .12);--shadow: 0 18px 50px rgba(22, 33, 29, .13);--radius-lg: 28px;--radius-md: 18px;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(244,189,80,.2),transparent 32%),radial-gradient(circle at 80% 10%,rgba(115,152,211,.2),transparent 28%),var(--cream)}button,input,textarea{font:inherit}button{cursor:pointer}.loading,.lock-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.lock-card,.panel,.hero-card{border:1px solid var(--line);box-shadow:var(--shadow)}.lock-card{width:min(100%,440px);padding:30px;border-radius:36px;background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mascot-mark{width:74px;height:74px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,var(--forest),var(--moss));margin-bottom:20px}.mascot-mark span{width:38px;height:38px;border-radius:50%;background:var(--mint);position:relative}.mascot-mark span:before,.mascot-mark span:after{content:"";position:absolute;top:11px;width:6px;height:6px;border-radius:50%;background:var(--forest)}.mascot-mark span:before{left:10px}.mascot-mark span:after{right:10px}.eyebrow{margin:0 0 8px;color:var(--forest);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:850}h1,h2,h3{font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,sans-serif;line-height:1.03;margin:0}h1{font-size:clamp(2.6rem,16vw,5.5rem)}h2{font-size:clamp(2rem,10vw,4.2rem)}h3{font-size:1.35rem}.lede,.hero-card p,.panel p{color:#16211db8;line-height:1.45}.small{font-size:.84rem}.app-shell{min-height:100vh;max-width:560px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px calc(120px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 2px 18px}.app-header h1{font-size:2.1rem}.status-chip{padding:10px 13px;border-radius:999px;font-weight:850;background:var(--mint);color:var(--forest)}.status-chip.at-risk{background:#ffe5d8;color:#8b3a28}.status-chip.recovery{background:#e4ebff;color:#284578}.screen-stack{display:grid;gap:22px;padding-bottom:12px}.hero-card,.panel{border-radius:var(--radius-lg);padding:22px;background:#ffffffe0}.hero-card{background:linear-gradient(145deg,var(--mint),#ffffff);min-height:210px;display:flex;flex-direction:column;justify-content:flex-end}.hero-card.food{background:linear-gradient(145deg,#fff2d3,#fff)}.hero-card.move{background:linear-gradient(145deg,#e8f0ff,#fff)}.hero-card.wind{color:var(--cream);background:linear-gradient(145deg,#1b3027,#315f48)}.hero-card.wind p,.hero-card.wind .eyebrow{color:#fff8ebc7}.hero-card.review{background:linear-gradient(145deg,#fff,#e7f4de)}.hero-card.settings{background:linear-gradient(145deg,#fff,#f3e7cf)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading span{color:#16211d8f;font-size:.88rem;font-weight:700}.field,.file-field{display:grid;gap:7px;margin:12px 0;font-weight:760}.field input,.field textarea,.backup{width:100%;border:1px solid var(--line);border-radius:18px;padding:14px 15px;background:#fff8ebb8;color:var(--ink);outline:none}.field textarea,.backup{min-height:104px;resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.range-row,.check-row{display:grid;grid-template-columns:82px 1fr 34px;align-items:center;gap:10px;margin:14px 0;font-weight:760}.check-row{grid-template-columns:22px 1fr}.primary,.secondary,.ghost,.danger{min-height:48px;border:0;border-radius:999px;padding:14px 18px;font-weight:900;margin:8px 8px 0 0}.primary{background:var(--forest);color:#fff}.primary:disabled{cursor:not-allowed;opacity:.55}.secondary{background:var(--mint);color:var(--forest)}.ghost{background:#1f4d3a14;color:var(--forest)}.danger{background:#ffe1dc;color:#8a2e22}.error{padding:12px;border-radius:16px;background:#ffe1dc;color:#8a2e22}.save-error{margin:0 0 16px;padding:14px 16px;border:1px solid rgba(138,46,34,.18);border-radius:18px;background:#ffe1dc;color:#8a2e22;font-weight:800}.routine-list{display:grid;gap:10px}.routine-item,.log-row,.impact,.grocery-grid span{border:1px solid var(--line);border-radius:20px;background:#fff8ebb3}.routine-item{width:100%;min-height:58px;padding:12px 14px;text-align:left;color:var(--ink);font-weight:820}.routine-item span{display:inline-flex;min-width:52px;margin-right:10px;color:var(--moss);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.routine-item.complete{background:var(--mint);border-color:#1f4d3a3d}.routine-item.minimum:not(.complete){border-color:#e8735b66}.impact{display:grid;gap:7px;padding:16px;margin:14px 0}.impact strong{text-transform:capitalize}.impact.spiral-risk{background:#ffe9df}.impact.light,.impact.steady{background:#edf8e8}.impact.heavy{background:#fff0cf}.impact span,.impact em{color:#16211dad}.log-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;margin-top:10px}.log-row p{margin:5px 0 0;font-size:.9rem}.log-row span{flex:0 0 auto;border-radius:999px;padding:8px 10px;background:#fff;color:var(--forest);font-weight:850;font-size:.78rem}.empty{padding:14px;border-radius:18px;background:#1f4d3a12}.grocery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grocery-grid span{padding:12px;font-weight:800}.bottom-nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 24px),540px);z-index:10;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:8px;border:1px solid var(--line);border-radius:24px;background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.bottom-nav button{min-height:44px;border:0;border-radius:18px;background:transparent;color:#16211d9e;font-size:.78rem;font-weight:850}.bottom-nav button.active{background:var(--forest);color:#fff}@media(min-width:720px){.app-shell{max-width:900px}.screen-stack{grid-template-columns:1.1fr 1fr}.hero-card{min-height:360px}}
