.app{background:var(--paper);grid-template-columns:252px 1fr;height:100dvh;display:grid}.app-side{border-right:1px solid var(--rule);background:var(--paper-2);flex-direction:column;min-height:0;display:flex}.app-main{flex-direction:column;min-width:0;min-height:0;display:flex}.app-brand{padding:var(--s4) var(--s4);border-bottom:1px solid var(--rule);height:57px;color:var(--ink);flex:none;align-items:center;gap:9px;text-decoration:none;display:flex}.app-brand .mark{flex:none;width:20px;height:20px}.app-brand .wordmark{font-family:var(--display);letter-spacing:-.01em;font-size:19px}.app-nav{padding:var(--s3) var(--s2);flex-direction:column;flex:none;gap:1px;display:flex}.app-nav a{border-radius:var(--r-sm);color:var(--ink-2);transition:background var(--d-instant) var(--e-out), color var(--d-instant) var(--e-out);align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.app-nav a:hover{background:var(--paper-3);color:var(--ink)}.app-nav a[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1)}.app-nav svg{opacity:.75;flex:none;width:15px;height:15px}.app-nav-label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);padding:var(--s4) 10px var(--s2)}.app-targets{margin:var(--s3) var(--s2) 0;padding:var(--s4);border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper)}.app-targets .t-row{justify-content:space-between;align-items:baseline;padding:3px 0;display:flex}.app-targets .t-row span:first-child{color:var(--ink-3);font-size:12.5px}.app-targets .t-row span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.app-targets .t-main{font-family:var(--display);letter-spacing:-.015em;margin-bottom:2px;font-size:30px;line-height:1.05}.app-targets .t-main small{font-family:var(--sans);color:var(--ink-3);letter-spacing:0;margin-left:4px;font-size:12px}.app-side-foot{padding:var(--s3) var(--s4) var(--s4);border-top:1px solid var(--rule);flex:none;margin-top:auto}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--rule);height:57px;padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:var(--s4);flex:none;display:flex}.chat-head h1{font-family:var(--sans);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14.5px;font-weight:600;overflow:hidden}.chat-scroll{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;overflow-y:auto}.chat-inner{max-width:760px;padding:var(--s7) var(--gutter) var(--s6);margin:0 auto}.msg{margin-bottom:var(--s6)}.msg-who{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:var(--s2)}.msg.user .msg-body{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s4) var(--s5)}.msg-body{color:var(--ink);font-size:15.5px;line-height:1.62}.msg-body>:first-child{margin-top:0}.msg-body>:last-child{margin-bottom:0}.msg-body p{margin:0 0 var(--s4)}.msg-body strong{font-weight:600}.msg-body ul,.msg-body ol{margin:0 0 var(--s4);padding-left:1.3em}.msg-body li{margin-bottom:5px}.msg-body h2,.msg-body h3{font-family:var(--sans);margin:var(--s5) 0 var(--s3);letter-spacing:-.005em;font-size:15.5px;font-weight:600}.msg-body code{font-family:var(--mono);background:var(--paper-2);border-radius:4px;padding:1px 5px;font-size:.88em}.msg-body table{border-collapse:collapse;width:100%;margin:0 0 var(--s4);font-size:13.5px}.msg-body th{text-align:left;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:0 var(--s4) var(--s2) 0;border-bottom:1px solid var(--rule);font-weight:500}.msg-body td{padding:var(--s2) var(--s4) var(--s2) 0;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.msg-body tr:last-child td{border-bottom:0}.msg.guard .msg-body{border-left:2px solid var(--ev-very-limited);padding-left:var(--s5)}.effects{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.effect{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);transition:border-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:13px;text-decoration:none;display:inline-flex}.effect:hover{border-color:var(--rule-strong);color:var(--ink)}.effect svg{opacity:.7;width:13px;height:13px}.thinking{color:var(--ink-3);align-items:center;gap:9px;font-size:14px;display:flex}.thinking i{width:5px;height:5px;animation:pulse 1.25s var(--e-in-out) infinite;background:currentColor;border-radius:50%}.thinking i:nth-child(2){animation-delay:.18s}.thinking i:nth-child(3){animation-delay:.36s}@keyframes pulse{0%,to{opacity:.22;transform:scale(.82)}45%{opacity:1;transform:scale(1)}}.composer-wrap{border-top:1px solid var(--rule);background:var(--paper);padding:var(--s4) var(--gutter) var(--s5);flex:none}.composer-inner{max-width:760px;margin:0 auto}.composer{align-items:flex-end;gap:var(--s3);border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--paper);padding:10px 10px 10px var(--s4);box-shadow:var(--shadow-1);transition:border-color var(--d-fast) var(--e-out), box-shadow var(--d-fast) var(--e-out);display:flex}.composer:focus-within{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-wash)}.composer textarea{resize:none;color:var(--ink);font-family:var(--sans);background:0 0;border:0;outline:0;flex:1;min-height:26px;max-height:184px;padding:5px 0;font-size:15.5px;line-height:1.5}.composer textarea::placeholder{color:var(--ink-4)}.send{border-radius:var(--r-sm);background:var(--ink);width:34px;height:34px;color:var(--paper);cursor:pointer;transition:opacity var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);border:0;flex:none;place-items:center;display:grid}.send:disabled{opacity:.28;cursor:default}.send:not(:disabled):hover{transform:translateY(-1px)}.send svg{width:15px;height:15px}.composer-foot{justify-content:space-between;gap:var(--s4);margin-top:var(--s2);color:var(--ink-4);font-size:12px;display:flex}.starters{gap:var(--s3);margin-top:var(--s6);display:grid}@media (min-width:720px){.starters{grid-template-columns:1fr 1fr}}.starter{text-align:left;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);padding:var(--s4) var(--s5);cursor:pointer;font-family:var(--sans);color:var(--ink);transition:border-color var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out), box-shadow var(--d-fast) var(--e-out);font-size:14.5px;line-height:1.45}.starter:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.starter b{margin-bottom:3px;font-weight:600;display:block}.starter span{color:var(--ink-3);font-size:13px}.notice{border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s4) var(--s5);background:var(--paper-2);color:var(--ink-2);margin-bottom:var(--s5);font-size:14px}.notice.warn{border-color:var(--ev-very-limited);background:var(--ev-very-limited-wash)}.notice.block{border-color:var(--ev-very-limited);background:var(--ev-very-limited-wash);font-weight:500}.notice strong{color:var(--ink)}.notice a{color:var(--signal-ink)}.dash{flex:1;overflow-y:auto}.dash-inner{max-width:1040px;padding:var(--s7) var(--gutter) var(--s9);margin:0 auto}.stat-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(176px,1fr));display:grid}.stat{border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s5);background:var(--paper)}.stat .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:var(--s3)}.stat .v{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:38px;line-height:1}.stat .v small{font-family:var(--sans);color:var(--ink-3);margin-left:3px;font-size:13px}.stat .sub{color:var(--ink-3);margin-top:var(--s2);font-size:12.5px}.bar{background:var(--paper-3);height:4px;margin-top:var(--s3);border-radius:2px;overflow:hidden}.bar i{background:var(--ink);height:100%;transition:width var(--d-slow) var(--e-out);border-radius:2px;display:block}.bar.over i{background:var(--ev-limited)}.bar.good i{background:var(--ev-strong)}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--rule);stroke-width:1px}.chart .line{fill:none;stroke:var(--ink);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.chart .trend{fill:none;stroke:var(--signal);stroke-width:1.25px;stroke-dasharray:4 4}.chart .area{fill:var(--paper-2)}.chart .dot{fill:var(--paper);stroke:var(--ink);stroke-width:1.6px}.chart .axis{font-family:var(--mono);fill:var(--ink-4);font-size:10px}.adjust{border:1px solid var(--signal);background:var(--signal-wash);border-radius:var(--r-md);padding:var(--s5);margin-bottom:var(--s5)}.adjust .label{color:var(--signal-ink)}.adjust-change{align-items:baseline;gap:var(--s3);font-family:var(--mono);margin:var(--s3) 0 var(--s4);font-variant-numeric:tabular-nums;font-size:15px;display:flex}.adjust-change s{color:var(--ink-3);text-decoration-thickness:1px}.adjust-actions{gap:var(--s3);margin-top:var(--s4);display:flex}.day-head{justify-content:space-between;align-items:baseline;gap:var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--rule);margin:var(--s6) 0 var(--s4);display:flex}.day-head h3{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:26px}.day-head .tot{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.meal{padding:var(--s4) 0;border-bottom:1px solid var(--rule)}.meal:last-child{border-bottom:0}.meal-top{justify-content:space-between;gap:var(--s4);align-items:baseline;display:flex}.meal-slot{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4)}.meal h4{margin:2px 0 var(--s2);letter-spacing:-.005em;font-size:15.5px;font-weight:600}.meal-macros{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px}.ing{gap:2px var(--s4);color:var(--ink-2);margin-top:var(--s3);grid-template-columns:1fr auto;font-size:13.5px;display:grid}.ing .g{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums}.ing .est{color:var(--ev-limited)}@media (max-width:860px){.app{grid-template-columns:1fr;height:auto;min-height:100dvh}.app-side{border-right:0;border-bottom:1px solid var(--rule);align-items:center;gap:var(--s3);padding-right:var(--s4);flex-direction:row;overflow-x:auto}.app-brand{border-bottom:0;border-right:1px solid var(--rule);white-space:nowrap}.app-nav{flex-direction:row;gap:2px;padding:0}.app-nav-label,.app-targets,.app-side-foot,.app-nav a span{display:none}.app-nav a{padding:9px 11px}.chat-scroll{min-height:50dvh}.composer-wrap{position:sticky;bottom:0}}
