/* Shared surface and motion tokens; existing olive/cream/gold brand is preserved. */
:root{--pt-ink:#293723;--pt-paper:#f7f4eb;--pt-surface:#fffdf6;--pt-line:#dce1d2;--pt-accent:#50673c;--pt-gold:#d6a441;--pt-radius:22px;--pt-gap:16px;--pt-ease:cubic-bezier(.22,.7,.2,1)}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.card{border-radius:var(--pt-radius);border-color:var(--pt-line);background:var(--pt-surface);box-shadow:0 5px 20px #29372308}
.card:hover{box-shadow:0 5px 20px #29372308}
.card.dark{background:#35472b;border-color:#526345;box-shadow:none}
.card.dark:after{display:none}
.btn,.quick-action,.action-card,.day-chip,.nav-button{transition:transform .18s var(--pt-ease),background .18s,border-color .18s}
.btn:active,.quick-action:active,.action-card:active{transform:scale(.97)}
.quick-actions{gap:12px}
.quick-action{border:1px solid var(--pt-line);border-radius:20px;background:var(--pt-surface);box-shadow:none}
.day-chip{border-radius:18px;box-shadow:none}
.day-chip.selected{background:var(--pt-accent);box-shadow:none;transform:none}
.dark .ring,.dark .ring-value{filter:none}
.dark .macros>div{background:transparent;border:0;padding:10px 0}
.dark .bar i{transition:width .75s var(--pt-ease)}
.pantry-chip{border-radius:14px;box-shadow:none}
.nutrient-line{height:5px!important;box-shadow:none!important}
.nutrient-symbol{box-shadow:none!important;border-radius:12px}
dialog{border-radius:26px;border:1px solid var(--pt-line);background:var(--pt-paper);box-shadow:0 24px 72px #14230b33}
dialog[open]{animation:pt-sheet-enter .25s var(--pt-ease)}
dialog .field{margin-block:16px}
dialog .btn{min-height:48px}
.barcode-camera{border-radius:22px;isolation:isolate}
.barcode-camera:before{content:'';position:absolute;inset:18px 18px 58px;z-index:1;pointer-events:none;background:linear-gradient(var(--pt-gold),var(--pt-gold)) left top/22px 3px,linear-gradient(var(--pt-gold),var(--pt-gold)) left top/3px 22px,linear-gradient(var(--pt-gold),var(--pt-gold)) right top/22px 3px,linear-gradient(var(--pt-gold),var(--pt-gold)) right top/3px 22px,linear-gradient(var(--pt-gold),var(--pt-gold)) left bottom/22px 3px,linear-gradient(var(--pt-gold),var(--pt-gold)) left bottom/3px 22px,linear-gradient(var(--pt-gold),var(--pt-gold)) right bottom/22px 3px,linear-gradient(var(--pt-gold),var(--pt-gold)) right bottom/3px 22px;background-repeat:no-repeat}
.barcode-camera:after{content:'';position:absolute;left:30px;right:30px;top:25%;height:2px;background:var(--pt-gold);animation:pt-scan-sweep 2.5s ease-in-out infinite;pointer-events:none}
#photo-preview{width:100%;max-height:300px;object-fit:contain;border-radius:22px;background:#e8ebdf}
@keyframes pt-scan-sweep{50%{top:65%}}
@keyframes pt-sheet-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action{flex-direction:column;align-items:center;text-align:center;padding:12px 8px;gap:8px;min-height:98px}.quick-action>.ico{display:none}.quick-action b{font-size:11px;line-height:1.3}.columns,.stack{gap:16px}.card{padding:20px}.heading-row h1{font-size:32px}.energy{gap:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}}
