:root{color:#111;font-synthesis:none;--ink:#111;--paper:#f7f7f2;--pink:#ed167c;--acid:#c8ff38;--muted:#6f6f68;background:#f7f7f2;font-family:Arial Narrow,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.app-shell{width:min(100%,480px);min-height:100vh;padding:28px 20px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.eyebrow{color:var(--pink);letter-spacing:.12em;margin:0 0 10px;font-size:12px;font-weight:800}h1{letter-spacing:0;margin:0;font-size:34px;line-height:1}.subcopy{max-width:340px;color:var(--muted);margin:14px 0 24px;font-size:15px;line-height:1.5}.metric-strip{border-block:2px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.metric-strip article{border-right:1px solid var(--ink);min-width:0;padding:14px 10px}.metric-strip article:last-child{border-right:0}.metric-strip strong{margin-top:8px;font-size:24px;display:block}.metric-strip span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.action-stack{gap:12px;margin-top:28px;display:grid}.action-button{border:2px solid var(--ink);min-height:78px;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:14px;padding:16px 18px;display:flex}.action-button--good{background:var(--acid)}.action-button--pink{background:var(--pink);color:#fff}.action-button strong,.action-button small{display:block}.action-button strong{font-size:18px}.action-button small{opacity:.75;margin-top:3px;font-size:12px}.save-error{border-left:4px solid var(--pink);padding-left:12px;font-weight:700}.sheet-backdrop{z-index:20;background:#00000073;align-items:end;display:grid;position:fixed;inset:0}.drink-sheet{width:min(100%,480px);max-height:90vh;padding:22px 20px calc(24px + env(safe-area-inset-bottom));background:var(--paper);border-radius:16px 16px 0 0;margin:0 auto;overflow:auto}.drink-sheet header,.quantity-row,.stepper{justify-content:space-between;align-items:center;display:flex}.drink-sheet header h2{margin:0;font-size:26px}.drink-sheet label{gap:6px;margin-top:16px;font-size:13px;font-weight:700;display:grid}.drink-sheet select,.drink-sheet input{border:1.5px solid var(--ink);background:#fff;border-radius:6px;min-height:46px;padding:0 12px}.icon-button,.stepper button{border:1px solid var(--ink);background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.quantity-row{margin-top:24px;font-weight:700}.stepper{gap:12px}.primary-button{border:2px solid var(--ink);background:var(--pink);color:#fff;border-radius:8px;width:100%;min-height:54px;margin-top:22px;font-weight:800}.estimate{margin:18px 0 0;font-size:20px;font-weight:800}.history-strip{margin-top:28px}.history-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.history-grid button{border:1px solid var(--ink);background:#fff;border-radius:6px;place-items:center;gap:5px;min-width:0;min-height:58px;display:grid}.history-grid button span{color:var(--muted);font-size:10px}.history-grid button strong{font-size:14px}.history-grid button.none{background:var(--acid)}.history-grid button.drank{background:#ffd5e8}.history-grid button.missing{border-style:dashed}.history-grid button.selected{outline:3px solid var(--pink);outline-offset:1px}.backfill-date{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.backfill-date input{border:1px solid var(--ink);background:#fff;border-radius:5px;min-height:40px;padding:0 8px}.calorie-reveal{min-height:70vh;padding-top:12vh}.calorie-reveal h2{max-width:360px;font-size:38px;line-height:.98}.cup-stage{height:170px;margin-top:28px;position:relative}.cup{border:3px solid var(--ink);background:var(--pink);color:#fff;transform-origin:0 100%;border-radius:8px 8px 28px 28px;place-items:center;width:96px;height:126px;font-size:34px;font-weight:900;display:grid;position:absolute;bottom:0;left:18px}.meter{border:2px solid var(--ink);background:linear-gradient(to right, var(--acid) 72%, transparent 72%);width:42%;height:14px;position:absolute;bottom:0;right:12px}.is-animated .cup{animation:1.1s cubic-bezier(.2,.8,.2,1) .15s both cup-tip}.is-animated .meter{animation:1.2s ease-out .45s both meter-rise}.calorie-number{color:var(--pink);margin:8px 0 10px;font-size:54px;font-weight:900;line-height:1}.snark{border-left:4px solid var(--acid);padding-left:12px;font-weight:700}.text-button{min-height:44px;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;margin-top:18px;font-weight:800;display:inline-flex}@keyframes cup-tip{0%{opacity:0;transform:translateY(40px)rotate(0)}45%{opacity:1;transform:translateY(0)rotate(0)}to{transform:rotate(-14deg)}}@keyframes meter-rise{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bottom-nav{z-index:10;width:min(100%,480px);padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:var(--paper);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:48px;color:var(--muted);background:0 0;border:0;justify-items:center;gap:4px;display:grid}.bottom-nav button.active{color:var(--pink)}.segmented{border:2px solid var(--ink);border-radius:8px;grid-template-columns:repeat(3,1fr);margin:22px 0;display:grid;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--ink);background:0 0;min-height:44px;font-weight:800}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--ink);color:#fff}.report-numbers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.report-numbers article{border:1.5px solid var(--ink);text-align:center;border-radius:8px;min-width:0;padding:16px 8px}.report-numbers strong{color:var(--pink);font-size:32px;display:block}.report-numbers span{color:var(--muted);font-size:11px}.warning{color:#7a3b00;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.trend-chart{border-bottom:2px solid var(--ink);align-items:end;gap:6px;height:180px;margin:24px 0;padding:14px 10px 26px;display:flex}.trend-column{flex:1;height:100%;position:relative}.trend-bar{background:var(--pink);min-height:3px;position:absolute;bottom:0;left:20%;right:20%}.trend-column span{text-align:center;width:100%;font-size:10px;position:absolute;bottom:-22px}.report-details{border-top:1px solid var(--ink);margin:24px 0}.report-details div{border-bottom:1px solid #bbb;justify-content:space-between;padding:12px 0;display:flex}.report-details dt{color:var(--muted)}.report-details dd{margin:0;font-weight:800}.export-row,.settings-links{gap:10px;margin:22px 0;display:grid}.export-row{grid-template-columns:1fr 1fr}.export-row a,.settings-links a{border:1.5px solid var(--ink);min-height:44px;color:var(--ink);border-radius:6px;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:flex}.toggle-row{border:2px solid var(--ink);border-radius:8px;justify-content:space-between;gap:20px;margin-top:26px;padding:18px;display:flex}.toggle-row span,.toggle-row small{display:block}.toggle-row small{color:var(--muted);margin-top:5px}.toggle-row input{width:24px;height:24px;accent-color:var(--pink)}.settings-block{border:2px solid var(--ink);border-radius:8px;margin-top:22px;padding:18px}.settings-block label{gap:8px;font-size:13px;font-weight:800;display:grid}.settings-block input{border:1.5px solid var(--ink);background:#fff;border-radius:6px;min-height:46px;padding:0 12px}.settings-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.settings-actions button,.settings-links button{border:1.5px solid var(--ink);min-height:44px;color:var(--ink);background:0 0;border-radius:6px;align-items:center;gap:8px;padding:0 12px;display:flex}.setting-status{border-left:4px solid var(--acid);background:#fff;margin:16px 0 0;padding:12px;font-size:13px;font-weight:700}
