/* v0.5 presentation layer. System fonts and local assets only. */
:root{color-scheme:dark;--ink:#f0f5ff;--muted:#aebdd1;--bg:#0b1423;--white:#162338;--line:#2c3c52;--brand:#77c6ff;--accent:#203951;--nav:#14243a}html,body{background:#0b1423;color:var(--ink)}body{background:radial-gradient(ellipse at 70% 0,#152c48,transparent 55%),#0b1423;font-size:15px}.sidebar{background:#0c1728;border-color:#26374d}.brand{font-size:18px}.mark{background:#67bdff;color:#071629}.navbutton{color:#a9bad0}.navbutton.on{background:#203c59;color:#a1d8ff}.main{padding-top:24px}.overline,.microhead{color:#a9bdd5}.topmeta,.hint,.caption,.muted,.subbrand,.sidefoot,.footer{color:#aebdd1}.status{background:#16263b;color:#c1d2e7;border:1px solid #35475f}.storage-bar{color:#a7c7df;margin-bottom:15px;font-size:11px}.storage-bar .text-button{color:#a9d6ff;min-width:44px;min-height:44px}.storage-bar.needs-attention{color:#ffd294}.card{background:#152338;border:1px solid #23334a;box-shadow:0 10px 32px #03081330;border-radius:23px;padding:22px}.card h2{font-size:18px;letter-spacing:-.4px}.heading{font-size:36px;letter-spacing:-1.3px;color:#f0f5ff}.lede{color:#aebdd1;font-size:15px}.tag,.pill{background:#21334a;border-color:#30445d;color:#bbcee6}.tag.green{background:#193b3b;color:#a4e8ce}.tag.orange{background:#3b3023;color:#ffd79e}.note{background:#112035;border-color:#30435c;color:#b7cadf}.note.warn{background:#302a24;color:#ffd79f;border-color:#65513a}.action{background:#84c9ff;color:#071a2e;border:0;font-weight:730;min-width:44px;min-height:44px}.action.light,.action.secondary{background:#203b54;border:1px solid #325575;color:#c3e5ff}.action.neutral{background:#23354c;color:#c0d1e7}.action:hover{filter:brightness(1.1)}.action:disabled{opacity:.5}.check,.list-item,.div,.divider{border-color:#2a3b50}.list-item small,.field span,.check .hint{color:#aebed2}.field input,.field select,.field textarea,input:not([type=checkbox]),select,textarea{background:#0e1a2c;border-color:#35465f;color:#f0f5ff;min-height:48px;font-size:16px}.field input::placeholder,textarea::placeholder{color:#8b9db5}input[type=checkbox]{accent-color:#80caff}.output{background:#0c192b;color:#d0dff0;border-color:#30445d}.data-table td,.data-table th{border-color:#30445d;color:#c8d7e9}.bottom{background:#101d30f5;border-color:#314257;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 -8px 30px #030a1630}.bottom button{color:#a7bad1}.bottom button.on{background:#1d3854;color:#b2ddff}.bottom svg{width:23px;height:23px}.topfocus{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.topfocus .card{margin:0;min-height:0}.metric-focus,.metric-focus:nth-child(2){background:#152338;border-color:#2c415e;color:#edf5ff}.metric-focus .microhead,.metric-focus .hint,.metric-focus .metric span,.metric-focus:nth-child(2) .microhead,.metric-focus:nth-child(2) .hint,.metric-focus:nth-child(2) .metric span{color:#b4cae2}.calorie-hero{background:linear-gradient(135deg,#193e66,#17304f)!important;border-color:#31567b!important;display:flex;flex-direction:column;justify-content:center}.calorie-hero .metric{font-size:48px!important;font-weight:760;letter-spacing:-1.7px}.calorie-hero .metric.unlogged{font-size:34px!important}.calorie-hero .metric span{font-size:15px}.macro-hero .metric{font-size:32px!important;color:#f2d997}.macro-heading{font-size:17px;font-weight:700;margin-bottom:15px}.macro-hero .microhead{font-size:11px;min-height:0}.track{background:#33465f;height:7px}.fill{background:#edcc83}.other-macros{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:14px;margin-top:15px;border-top:1px solid #30435e}.other-macros>div{display:grid;gap:5px}.other-macros small{font-size:12px;color:#b6c7dc}.other-macros strong{font-size:16px;font-weight:650}.day-picker{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:end;margin:20px 0;max-width:420px}.day-picker .field span{font-size:11px}.day-picker .action{height:48px;font-size:24px;padding:0}.day-picker input{width:100%}.quick-actions{display:none}.meals-card{margin:0 0 18px}.meal-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #2a3b50}.meal-row:last-child{border-bottom:0}.meal-row>div{min-width:0}.meal-row strong{font-size:15px;font-weight:650}.meal-row small{display:block;font-size:12px;color:#a9bdd5;overflow-wrap:anywhere;margin-top:4px}.meal-row .action{flex-shrink:0;font-size:23px;padding:8px 12px}.ward-glance{margin:18px 0;background:linear-gradient(135deg,#202f4a,#1b2941)}.activity-glance{margin:18px 0}.activity-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.activity-pair .card{background:transparent;border:0;box-shadow:none;padding:5px 0}.activity-pair .metric{font-size:30px}.activity-pair .microhead{font-size:10px}.home-layout{grid-template-areas:'habits training' 'next next';grid-template-columns:1fr 1fr}.home-training{background:#19283b}.bullet{background:#254459;color:#bbdfff}.home-next{grid-area:next}.progress-tabs{display:flex;overflow:auto;gap:8px;padding-bottom:12px;margin-bottom:15px;scrollbar-width:thin}.progress-tabs button{white-space:nowrap;flex-shrink:0}.progress-tabs button.on{background:#8bcbff;color:#0b1a2b}.watch-progress,.health-tools{margin-bottom:18px}.health-tools h2{margin-bottom:8px}.health-disclosure{border:1px solid #2b3b52;border-radius:18px;background:#152338;margin-bottom:16px;overflow:hidden}.health-disclosure summary,details>summary{padding:17px;font-size:15px;font-weight:650;cursor:pointer;min-height:56px;color:#deebfa}.health-disclosure>.card{border:0;border-top:1px solid #2b3b52;border-radius:0;box-shadow:none}.health-disclosure>.card>.card-head>h2{display:none}.health-tools details{margin-top:15px;border-top:1px solid #304159}.health-tools summary{padding-left:0}.health-tools .formgrid{margin-top:0}#gp>.grid{margin-bottom:18px}#gp>.health-tools{margin-bottom:20px}#local-progress{margin-top:18px}.undo-bar{background:#213a50;border-color:#4b7190;color:#e8f5ff}.toast{background:#d2eaff;color:#0b2037}.thin{color:#bed0e5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9dd7ff;outline-offset:3px}#home>.overline{display:none}#home>.lede{margin-bottom:0}#home .home-habits .tag{font-variant-numeric:tabular-nums}
@media(min-width:1000px){#home{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px}#home:not(.active){display:none}#home>.heading,#home>.lede,#home>.day-picker,#home>.topfocus{grid-column:1/-1}#home>.heading{margin-bottom:0}#home>.day-picker{margin:0 0 4px}#home>.topfocus{margin-bottom:0}#home>.meals-card{grid-column:1;grid-row:6/8;margin:0}#home>.ward-glance{grid-column:2;margin:0}#home>.activity-glance{grid-column:2;margin:0}#home>.home-layout{grid-column:1/-1;margin-top:0}}
@media(max-width:740px){.main{padding:18px 16px calc(100px + env(safe-area-inset-bottom))}.topbar{margin-bottom:0}.topbar .overline{font-size:9px}.storage-bar{margin-bottom:10px;font-size:10px;min-height:30px}.heading{font-size:32px;margin:5px 0 9px}.lede{font-size:13px;line-height:1.5;margin-bottom:18px}.day-picker{margin:14px 0;gap:8px}.day-picker .field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.day-picker input{text-align:center;padding:10px;font-size:15px}.card{padding:20px;border-radius:22px}.topfocus{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.topfocus .calorie-hero{min-height:155px;padding:22px}.calorie-hero .microhead{min-height:0;font-size:11px}.calorie-hero .metric{margin:12px 0;font-size:43px!important}.calorie-hero .metric.unlogged{font-size:31px!important}.topfocus .macro-hero{padding:20px}.macro-heading{margin-bottom:12px}.macro-hero .metric{margin:8px 0;font-size:29px!important}.macro-hero .track{margin-top:12px}.other-macros{gap:12px;margin-top:12px;padding-top:12px}.other-macros strong{font-size:14px}.home-layout{display:grid;grid-template-columns:1fr;grid-template-areas:'habits' 'training' 'next';gap:16px}.activity-pair{gap:10px}.activity-pair .metric{font-size:27px}.card h2{font-size:17px}.bottom{height:calc(73px + env(safe-area-inset-bottom));padding:7px 8px max(8px,env(safe-area-inset-bottom))}.bottom button{font-size:10px;min-height:54px;min-width:44px}.progress-tabs{margin-left:-2px;margin-right:-2px}.formgrid{gap:16px}#gp .grid .card{background:#172a40}.health-tools summary{font-size:14px}.health-disclosure{margin-top:12px}.health-disclosure>.card{padding:18px}.storage-bar .text-button{min-height:44px;font-size:11px}.tag{font-size:10px}.home-next .list-item{align-items:flex-start}.home-next .list-item .action{font-size:12px}.home-next .hint,.home-body .hint{color:#b5c9df}.data-table th,.data-table td{font-size:12px}#home>.quick-actions{display:none}.chart{margin-top:15px}}
@media(max-width:359px){.main{padding-left:12px;padding-right:12px}.card{padding:17px}.heading{font-size:30px}.other-macros{gap:8px}.other-macros strong{font-size:13px}.bottom{padding-left:4px;padding-right:4px}}
@media print{html,body{background:white!important;color:black!important}.health-tools,.health-disclosure{display:none!important}#gp-print{color:black!important;background:white!important}.card.printable{color:black!important;background:white!important}}
@media(max-width:740px){.topfocus .calorie-hero{min-height:140px;padding:18px}.calorie-hero .metric{margin:10px 0}.topfocus .macro-hero{padding:16px 18px}.macro-heading{margin-bottom:10px}}
.storage-bar .text-button{display:none}@media(min-width:1000px){#home>.meals-card{grid-row:5/7}#home>.ward-glance{grid-row:5}#home>.activity-glance{grid-row:6}}
#home>.heading{display:flex;align-items:center;justify-content:space-between;gap:14px}#daily-consistency{font-size:11px;font-weight:600;letter-spacing:0;white-space:nowrap}
/* Bounded navigation artwork/surface correction. No native Apple material used. */
.sidebar .navbutton>span,.bottom button>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;font-size:0}
.sidebar .navbutton svg,.bottom button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.sidebar .navbutton{align-items:center}.sidebar .navbutton.on{color:#b9dfff}
@media(max-width:740px){
 .bottom{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));height:68px;padding:7px 8px;gap:2px;border:1px solid #425a73;border-radius:24px;background:#17283e;box-shadow:0 8px 28px #02081270,inset 0 1px 0 #c3e2ff15;isolation:isolate}
 .bottom button{min-height:52px;min-width:44px;padding:4px 1px;gap:4px;border-radius:17px;color:#b5c7dc;font-size:10px;font-weight:600}
 .bottom button.on{color:#c2e5ff;background:linear-gradient(140deg,#294d6c,#213b54);box-shadow:inset 0 1px 0 #c8e7ff20}
 .bottom button:focus-visible{outline:3px solid #c0e8ff;outline-offset:1px}
 .main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 @supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))){.bottom{background:rgba(21,37,58,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}
}
@media(prefers-reduced-transparency:reduce){.bottom{background:#17283e;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 4px 12px #02081260}}
@media(prefers-reduced-motion:reduce){.bottom,.bottom button{animation:none!important;transition:none!important}}
@media(forced-colors:active){.bottom{background:Canvas;border-color:ButtonText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.bottom button,.bottom button.on{color:ButtonText;background:Canvas;box-shadow:none}.bottom button.on{outline:2px solid Highlight;outline-offset:-3px}}

/* v0.6 mobile keyboard preparation: only when a significant viewport reduction is observed. */
@media(max-width:740px){.keyboard-open .bottom{display:none}.keyboard-open .toast,.keyboard-open .undo-bar{bottom:12px}.field input,.field textarea,.field select{scroll-margin:80px 0 130px}}
