@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--font-weight-bold:700;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-forest:#1e4f78;--color-forest-light:#28658f;--color-cream:#fffefa;--color-paper:#fbfaf5;--color-canvas:#f7f5ef;--color-clay:#4f8064;--color-clay-dark:#37654c;--color-muted:#53636b;--color-error:#a43d3d}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.mx-auto{margin-inline:auto}.mt-6{margin-top:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.animate-spin{animation:var(--animate-spin)}.resize-y{resize:vertical}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-forest\/20{border-color:#1e4f7833}@supports (color:color-mix(in lab,red,red)){.border-forest\/20{border-color:color-mix(in oklab,var(--color-forest) 20%,transparent)}}.bg-forest{background-color:var(--color-forest)}.bg-forest\/8{background-color:#1e4f7814}@supports (color:color-mix(in lab,red,red)){.bg-forest\/8{background-color:color-mix(in oklab,var(--color-forest) 8%,transparent)}}.bg-forest\/10{background-color:#1e4f781a}@supports (color:color-mix(in lab,red,red)){.bg-forest\/10{background-color:color-mix(in oklab,var(--color-forest) 10%,transparent)}}.bg-paper{background-color:var(--color-paper)}.bg-transparent{background-color:#0000}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-pre-wrap{white-space:pre-wrap}.text-clay{color:var(--color-clay)}.text-clay-dark{color:var(--color-clay-dark)}.text-cream{color:var(--color-cream)}.text-error{color:var(--color-error)}.text-forest{color:var(--color-forest)}.text-muted{color:var(--color-muted)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-clay{-webkit-text-decoration-color:var(--color-clay);text-decoration-color:var(--color-clay)}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error\/25{--tw-ring-color:#a43d3d40}@supports (color:color-mix(in lab,red,red)){.ring-error\/25{--tw-ring-color:color-mix(in oklab, var(--color-error) 25%, transparent)}}.ring-error\/30{--tw-ring-color:#a43d3d4d}@supports (color:color-mix(in lab,red,red)){.ring-error\/30{--tw-ring-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.ring-forest\/20{--tw-ring-color:#1e4f7833}@supports (color:color-mix(in lab,red,red)){.ring-forest\/20{--tw-ring-color:color-mix(in oklab, var(--color-forest) 20%, transparent)}}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-muted\/60::placeholder{color:#53636b99}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted\/60::placeholder{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}@media(hover:hover){.hover\:bg-error\/8:hover{background-color:#a43d3d14}@supports (color:color-mix(in lab,red,red)){.hover\:bg-error\/8:hover{background-color:color-mix(in oklab,var(--color-error) 8%,transparent)}}.hover\:bg-forest-light:hover{background-color:var(--color-forest-light)}.hover\:bg-forest\/8:hover{background-color:#1e4f7814}@supports (color:color-mix(in lab,red,red)){.hover\:bg-forest\/8:hover{background-color:color-mix(in oklab,var(--color-forest) 8%,transparent)}}}.focus\:border-clay:focus{border-color:var(--color-clay)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-clay\/20:focus{--tw-ring-color:#4f806433}@supports (color:color-mix(in lab,red,red)){.focus\:ring-clay\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-clay) 20%, transparent)}}.focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:outline-offset-3:focus-visible{outline-offset:3px}.focus-visible\:outline-clay:focus-visible{outline-color:var(--color-clay)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}}:root{color:var(--color-forest);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-canvas);min-width:320px;min-height:100vh;margin:0}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}.eyebrow,.status-card__label{color:var(--color-clay-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem;font-weight:800}.display-title{max-width:12ch;font-family:var(--font-serif);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,8vw,7.8rem);font-weight:500;line-height:.9}.display-title--compact{max-width:10ch;font-size:clamp(2.7rem,7vw,5rem)}.lead{max-width:38rem;color:var(--color-muted);margin:1.75rem 0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.brand{color:var(--color-forest);align-items:center;gap:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{width:2.6rem;height:2.6rem;color:var(--color-cream);background:var(--color-forest);border-radius:.8rem;place-items:center;display:grid}.brand small{color:var(--color-muted);font-weight:500;display:block}.auth-layout{min-height:100vh;display:grid}.auth-story{display:none}.auth-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf6c2;align-content:center;gap:2rem;width:100%;max-width:34rem;min-height:100vh;margin:auto;padding:2rem clamp(1.25rem,6vw,4rem);display:grid}.auth-panel h2{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:500}.onboarding-layout{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.onboarding-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf6cc;border:1px solid #173c361f;border-radius:2rem;width:min(100%,48rem);padding:clamp(2rem,7vw,5rem);box-shadow:0 2rem 5rem #173c361a}.onboarding-card .display-title{margin-inline:auto}.house-icon{width:4rem;height:4rem;color:var(--color-cream);background:var(--color-clay);border-radius:1.2rem;place-items:center;margin:0 auto 1.5rem;display:grid}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf6b3;border-bottom:1px solid #173c361a;justify-content:space-between;align-items:center;gap:1rem;min-height:4.75rem;padding:.75rem clamp(1.25rem,5vw,5rem);display:flex}.header-account{color:var(--color-muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.language-selector{min-width:0;color:var(--color-muted);align-items:center;gap:.55rem;font-size:.8rem;font-weight:700;display:flex}.language-selector select{max-width:100%;min-height:2.75rem;color:var(--color-forest);background:var(--color-cream);font:inherit;cursor:pointer;border:1px solid #1e4f7838;border-radius:.7rem;padding:0 .65rem}.account-settings{position:relative}.account-settings summary{width:2.75rem;height:2.75rem;color:var(--color-forest);cursor:pointer;border-radius:.7rem;place-items:center;list-style:none;display:grid}.account-settings summary::-webkit-details-marker{display:none}.account-settings summary:hover,.account-settings summary:focus-visible{background:#1e4f7814;outline:3px solid #1e4f782e}.account-settings>div{z-index:10;background:var(--color-cream);border:1px solid #1e4f7826;border-radius:.9rem;min-width:16rem;padding:1rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 .8rem 2rem #1e4f781f}.header-link{min-height:2.75rem;color:var(--color-forest);border-radius:999px;align-items:center;gap:.4rem;padding:0 .8rem;font-weight:750;text-decoration:none;display:inline-flex}.header-link:hover{background:#173c3614}@media(max-width:40rem){.app-header{align-items:flex-start;padding-inline:.75rem}.app-header .brand small,.header-account>span,.header-link{display:none}.header-account{gap:.2rem}.account-settings>div{min-width:0;position:fixed;top:4.5rem;left:.75rem;right:.75rem}}.home{align-items:center;gap:3rem;min-height:calc(100vh - 4.75rem);padding:clamp(2rem,7vw,7rem);display:grid}.home__intro{max-width:48rem}.status-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf6b8;border:1px solid #173c3626;border-radius:1.5rem;align-items:center;gap:1.2rem;padding:1.5rem;display:flex;box-shadow:0 2rem 5rem #173c361a}.status-card__mark{width:4rem;height:4rem;color:var(--color-cream);background:var(--color-clay);border-radius:1.1rem;flex:none;place-items:center;display:grid}.status-card__label{margin-bottom:.35rem}.status-card__value{margin:0;font-weight:700;line-height:1.4}.route-state{text-align:center;place-content:center;justify-items:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.route-state h1{font-family:var(--font-serif);margin:0;font-size:clamp(2rem,6vw,3.5rem);font-weight:500}.route-state p{max-width:34rem;color:var(--color-muted);margin:0 0 .75rem;line-height:1.6}.pantry-page{width:min(100%,80rem);min-height:calc(100vh - 4.75rem);margin:0 auto;padding:clamp(1.5rem,5vw,4.5rem) clamp(1rem,4vw,3rem) 5rem}.pantry-page__header{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.pantry-page h1{font-family:var(--font-serif);letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,7vw,5.25rem);font-weight:500;line-height:.95}.pantry-page header>p:last-child,.pantry-page__header>div>p:last-child{max-width:40rem;color:var(--color-muted);margin:1rem 0 0;line-height:1.6}.pantry-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button-link{background:var(--color-forest);min-height:2.75rem;color:var(--color-cream);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 .2rem .6rem #173c361f}.button-link:hover{background:var(--color-forest-light)}.button-link--secondary{color:var(--color-forest);box-shadow:none;background:#fffdf6a6;border:1px solid #173c362e}.button-link--secondary:hover{background:#173c3612}.back-link{color:var(--color-muted);align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-forest)}.catalog-tools{background:#fffdf6ad;border:1px solid #173c361f;border-radius:1.25rem;gap:.75rem;margin:2rem 0 1.25rem;padding:.85rem;display:grid;box-shadow:0 1rem 3rem #173c3612}.catalog-search{align-items:center;display:flex;position:relative}.catalog-search>svg{z-index:1;color:var(--color-muted);pointer-events:none;position:absolute;left:.9rem}.catalog-search input{padding-left:2.6rem}.filter-clear{min-height:2.75rem;color:var(--color-forest);cursor:pointer;background:#173c3614;border:0;border-radius:999px;padding:.55rem 1rem;font-weight:750}.filter-clear:hover{background:#173c3621}.filter-clear:disabled{cursor:wait;opacity:.6}.pantry-list{gap:.75rem;display:grid}.pantry-card{min-height:6.5rem;color:var(--color-forest);background:#fffdf6bd;border:1px solid #173c361f;border-radius:1.15rem;gap:1rem;padding:1.15rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}a.pantry-card:hover{border-color:#d8895b99;transform:translateY(-1px);box-shadow:0 .8rem 2rem #173c3614}.pantry-card h2{font-family:var(--font-serif);margin:0;font-size:1.35rem;font-weight:600}.pantry-card p{color:var(--color-muted);margin:.25rem 0 0;font-size:.9rem}.pantry-card__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.pantry-card__meta div{min-width:0}.pantry-card__meta dt{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.pantry-card__meta dd{text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.85rem;font-weight:700;overflow:hidden}.status-badge{color:var(--color-clay-dark);letter-spacing:.04em;text-transform:uppercase;background:#d8895b2e;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.68rem;font-weight:850;display:inline-flex}.inventory-card{padding:0;position:relative}.inventory-card__link{color:inherit;gap:.85rem;padding:1.1rem 5rem 1.1rem 1.1rem;text-decoration:none;display:grid}.inventory-quantity{align-items:baseline;gap:.4rem;display:flex}.inventory-quantity strong{font-family:var(--font-serif);font-size:2rem;font-weight:500;line-height:1}.inventory-quantity span{color:var(--color-muted);text-transform:lowercase;font-size:.8rem;font-weight:750}.inventory-status{text-transform:capitalize;border-radius:999px;align-items:center;gap:.35rem;width:fit-content;padding:.3rem .65rem;font-size:.72rem;font-weight:850;display:inline-flex}.inventory-status--in_stock{color:#28643d;background:#4d8b5324}.inventory-status--low_stock{color:#8a5422;background:#d8895b2e}.inventory-status--out_of_stock{color:var(--color-error);background:#a33f321c}.inventory-freshness{color:var(--color-muted);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.inventory-freshness svg{color:var(--color-clay-dark)}.inventory-add{min-height:2.75rem;color:var(--color-cream);background:var(--color-forest);border-radius:999px;align-items:center;gap:.35rem;padding:.6rem .8rem;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex;position:absolute;bottom:.8rem;right:.7rem}.filter-check,.choice-row{align-items:center;gap:.55rem;min-height:2.75rem;font-size:.82rem;font-weight:750;display:flex}.filter-check input,.choice-row input{width:1.05rem;height:1.05rem;accent-color:var(--color-clay-dark)}.pantry-skeleton{animation:1.4s ease-in-out infinite pantry-pulse;overflow:hidden}.pantry-empty{text-align:center;background:#fffdf673;border:1px dashed #173c363d;border-radius:1.5rem;place-content:center;justify-items:center;gap:.75rem;min-height:19rem;margin-top:1rem;padding:2rem;display:grid}.pantry-empty>svg{color:var(--color-clay-dark)}.pantry-empty h2{font-family:var(--font-serif);margin:0;font-size:clamp(1.7rem,5vw,2.4rem);font-weight:500}.pantry-empty p{max-width:32rem;color:var(--color-muted);margin:0 0 .5rem;line-height:1.55}.pantry-form-page{width:min(100%,62rem)}.pantry-form{background:#fffdf6c2;border:1px solid #173c361f;border-radius:1.5rem;gap:1.5rem;margin-top:2rem;padding:clamp(1rem,4vw,2rem);display:grid;box-shadow:0 1.5rem 4rem #173c3614}.pantry-form__grid{gap:1.25rem;display:grid}.product-packaging>p{color:var(--color-muted);margin:.35rem 0 1rem;font-size:.9rem}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#173c368c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.duplicate-dialog{background:var(--color-cream);border-radius:1.5rem;width:min(100%,32rem);padding:clamp(1.25rem,5vw,2rem);box-shadow:0 2rem 6rem #00000040}.duplicate-dialog h2{font-family:var(--font-serif);margin:.7rem 0 0;font-size:2rem;font-weight:500}.duplicate-dialog p{color:var(--color-muted);line-height:1.55}.kin-consent-dialog{border:0;margin:auto}.kin-consent-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#173c368c}.duplicate-list{margin:1rem 0 1.5rem;padding:0;list-style:none}.duplicate-list li{border-top:1px solid #173c361f;padding:.8rem 0}.pantry-detail .pantry-page__header{margin-bottom:2rem}.detail-grid{gap:.75rem;display:grid}.detail-grid>div,.detail-panel{background:#fffdf6b8;border:1px solid #173c361f;border-radius:1.15rem;padding:1.25rem}.detail-grid span{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800;display:block}.detail-panel{margin-top:.75rem}.detail-panel h2{font-family:var(--font-serif);margin:0;font-size:1.4rem;font-weight:500}.detail-panel p{color:var(--color-muted);margin:.6rem 0 0;line-height:1.6}.detail-placeholder{border-style:dashed;align-items:flex-start;gap:1rem;display:flex}.detail-placeholder>svg{color:var(--color-clay-dark);flex:none}.inventory-hero{color:var(--color-cream);background:var(--color-forest);border-radius:1.4rem;gap:1rem;margin-top:.75rem;padding:clamp(1.3rem,5vw,2rem);display:grid;box-shadow:0 1.2rem 3rem #173c362e}.inventory-hero .eyebrow{color:#efb48f;margin-bottom:.6rem}.inventory-hero strong{font-family:var(--font-serif);font-size:clamp(3rem,10vw,5rem);font-weight:500;line-height:.85}.inventory-hero>div:first-child>span{color:#fffdf6b3;margin-left:.65rem;font-weight:700}.inventory-hero .inventory-status{color:var(--color-forest);background:var(--color-cream)}.freshness-callout{color:#f5c6a8;align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.stock-panel{background:#fffdf6d6;border:1px solid #173c361f;border-radius:1.4rem;margin-top:.75rem;padding:clamp(1rem,4vw,1.6rem);box-shadow:0 1rem 2.5rem #173c3612}.stock-panel__heading{gap:1rem;display:grid}.stock-panel__heading .eyebrow{margin-bottom:.35rem}.stock-panel h2{font-family:var(--font-serif);margin:0;font-size:1.7rem;font-weight:500}.stock-tabs{border:1px solid #173c3626;border-radius:.9rem;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.stock-tabs button{min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-right:1px solid #173c361f;padding:.4rem;font-size:.75rem;font-weight:800}.stock-tabs button:last-child{border-right:0}.stock-tabs button[aria-pressed=true]{color:var(--color-cream);background:var(--color-forest)}.stock-form{gap:1rem;margin-top:1.25rem;display:grid}.stock-form__grid{gap:1rem;display:grid}.field-label{color:var(--color-forest);gap:.5rem;font-size:.875rem;font-weight:700;display:grid}.optional-toggle,.text-link{width:fit-content;color:var(--color-clay-dark);text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.stock-optional{background:#173c360a;border-radius:1rem;padding:1rem}.quick-values{gap:.5rem;display:flex}.quick-values button{min-width:3.2rem;min-height:2.5rem;color:var(--color-forest);background:var(--color-paper);cursor:pointer;border:1px solid #173c3629;border-radius:999px;font-weight:800}.stock-preview,.stock-warning,.stock-error{color:var(--color-muted);background:#173c360f;border-radius:.8rem;align-items:flex-start;gap:.45rem;margin:0;padding:.75rem;font-size:.84rem;font-weight:650;line-height:1.45;display:flex}.stock-warning,.stock-error{color:var(--color-error);background:#a33f3217}.stock-preview svg,.stock-warning svg,.stock-error svg{flex:none;margin-top:.1rem}.panel-title{align-items:flex-start;gap:.7rem;display:flex}.panel-title>svg{color:var(--color-clay-dark);flex:none}.panel-title p{margin-top:.2rem}.location-balances{gap:.6rem;margin-top:1rem;display:grid}.location-balances>div{background:#173c360d;border-radius:.85rem;padding:.9rem}.location-balances>div>div{justify-content:space-between;gap:1rem;display:flex}.location-balances small{color:var(--color-muted);margin-top:.35rem;display:block}.lot-table{border:1px solid #173c361c;border-radius:.85rem;margin-top:1rem;overflow:hidden}.lot-row{border-top:1px solid #173c3617;grid-template-columns:1fr 1fr;gap:.4rem;padding:.75rem;font-size:.8rem;display:grid}.lot-row span:last-child{color:var(--color-muted);grid-column:1/-1}.lot-row--heading{display:none}.movement-list{gap:0;margin:1rem 0;padding:0;list-style:none;display:grid}.movement{grid-template-columns:1rem 1fr;gap:.7rem;padding-bottom:1.15rem;display:grid;position:relative}.movement:before{content:"";background:#173c362e;width:1px;position:absolute;top:.7rem;bottom:-.15rem;left:.32rem}.movement:last-child:before{display:none}.movement__mark{z-index:1;border:2px solid var(--color-cream);background:var(--color-clay);width:.7rem;height:.7rem;box-shadow:0 0 0 1px var(--color-clay);border-radius:50%;margin-top:.35rem}.movement--consumption .movement__mark,.movement--waste .movement__mark,.movement--expiration .movement__mark{background:var(--color-error);box-shadow:0 0 0 1px var(--color-error)}.movement--correction .movement__mark,.movement--transfer .movement__mark{background:#527b94;box-shadow:0 0 0 1px #527b94}.movement__title{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.movement p{align-items:center;gap:.3rem;margin-top:.25rem;font-size:.78rem;display:flex}.movement blockquote{color:var(--color-muted);border-left:2px solid #d8895b73;margin:.45rem 0 0;padding-left:.65rem;font-size:.85rem}.quantity-positive{color:#28643d;font-weight:800}.quantity-negative{color:var(--color-error);font-weight:800}.timeline-empty{color:var(--color-muted);align-items:center;gap:.6rem;display:flex}.policy-form{gap:1rem;margin-top:1rem;display:grid}.product-photo{gap:1rem;display:grid}.product-photo__preview{aspect-ratio:16/9;width:min(100%,32rem);color:var(--color-muted);background:#173c360f;border-radius:1rem;place-content:center;display:grid;overflow:hidden}.product-photo__preview img{object-fit:contain;width:100%;height:100%}.product-photo__preview span{justify-items:center;gap:.5rem;display:grid}.pantry-card__primary{align-items:center;gap:.8rem;min-width:0;display:flex}.pantry-card__primary>div{min-width:0}.product-thumbnail{width:3.25rem;height:3.25rem;color:var(--color-muted);background:#173c360f;border-radius:.8rem;flex:none;place-items:center;display:grid;overflow:hidden}.product-thumbnail img{object-fit:cover;width:100%;height:100%}.package-summary{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0;display:grid}.package-summary span{color:var(--color-muted);text-align:center;background:#173c360d;border-radius:.8rem;gap:.15rem;padding:.75rem;font-size:.75rem;display:grid}.package-summary strong{color:var(--color-forest);font-family:var(--font-serif);font-size:1.5rem}.package-row,.opened-package-card{border-top:1px solid #173c361a;flex-wrap:wrap;justify-content:space-between;gap:.8rem;padding:1rem 0;display:flex}.package-row>div,.opened-package-card>div{gap:.3rem;display:grid}.package-row small,.opened-package-card small{color:var(--color-muted)}.opened-package-card strong{align-items:center;gap:.4rem;display:flex}.opened-package-card form{gap:.75rem;width:100%;display:grid}.locations-page{width:min(100%,58rem)}.location-create{background:#fffdf6b8;border:1px solid #173c361f;border-radius:1.25rem;margin:2rem 0 1rem;padding:1.25rem}.location-create h2{font-family:var(--font-serif);margin:0 0 1rem;font-size:1.5rem;font-weight:500}.location-create form{align-items:end;gap:.75rem;display:grid}.location-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.location-row{background:#fffdf6a6;border:1px solid #173c361f;border-radius:1rem;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;min-height:4.5rem;padding:1rem 1.2rem;display:flex}.location-edit{gap:.75rem;width:100%;display:grid}.receipt-page{width:min(100%,86rem)}.receipt-page h2{font-family:var(--font-serif);font-weight:500}.receipt-list{gap:.75rem;margin-top:2rem;display:grid}.receipt-list-card{color:var(--color-forest);background:#fffdf6b8;border:1px solid #173c361f;border-radius:1.15rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:grid}.receipt-list-card:hover{border-color:#d8895b99;box-shadow:0 .8rem 2rem #173c3614}.receipt-list-card__icon{width:3.1rem;height:3.1rem;color:var(--color-clay-dark);background:#d8895b29;border-radius:.9rem;place-items:center;display:grid}.receipt-list-card strong,.receipt-list-card small{display:block}.receipt-list-card small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;overflow:hidden}.receipt-status{width:fit-content;color:var(--color-muted);text-transform:uppercase;background:#173c3614;border-radius:999px;grid-column:2;padding:.3rem .65rem;font-size:.7rem;font-weight:850}.receipt-status--review_ready,.receipt-status--failed{color:var(--color-clay-dark);background:#d8895b2e}.receipt-status--confirmed{color:#28643d;background:#4d8b5324}.capture-guidance{color:var(--color-muted);background:#d8895b21;border-radius:1rem;align-items:flex-start;gap:.75rem;margin:1.5rem 0 1rem;padding:1rem;line-height:1.5;display:flex}.capture-guidance svg{color:var(--color-clay-dark);flex:none}.capture-guidance p{margin:0}.receipt-upload{background:#fffdf6c7;border:1px solid #173c361f;border-radius:1.5rem;padding:clamp(1rem,4vw,2rem);box-shadow:0 1rem 3rem #173c3612}.receipt-upload__heading{flex-direction:column;justify-content:space-between;gap:1rem;display:flex}.receipt-upload__heading h2,.receipt-upload__heading p{margin:0}.receipt-upload__heading p{color:var(--color-muted);margin-top:.3rem}.receipt-upload label.button-link{cursor:pointer}.receipt-drop-empty{min-height:15rem;color:var(--color-muted);text-align:center;border:2px dashed #173c362e;border-radius:1.2rem;place-content:center;justify-items:center;gap:.7rem;margin-top:1.5rem;display:grid}.receipt-preview-list{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.receipt-preview-list li{background:var(--color-paper);border:1px solid #173c3621;border-radius:1rem;overflow:hidden}.receipt-preview{aspect-ratio:3/4;background:#173c360d;position:relative}.receipt-preview img{object-fit:contain;width:100%;height:100%}.receipt-preview span{color:#fff;background:#173c36d1;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800;position:absolute;bottom:.5rem;left:.5rem}.receipt-preview-actions{border-top:1px solid #173c361a;grid-template-columns:repeat(4,1fr);display:grid}.receipt-preview-actions button,.receipt-preview-actions label{min-height:2.75rem;color:var(--color-forest);cursor:pointer;background:0 0;border:0;border-right:1px solid #173c3617;place-items:center;display:grid}.receipt-preview-actions button:last-child{color:var(--color-error);border-right:0}.receipt-preview-actions button:disabled{cursor:not-allowed;opacity:.3}.receipt-preview-actions svg{width:1rem}.upload-progress{gap:.5rem;margin:1rem 0;display:grid}.upload-progress span{justify-content:space-between;display:flex}.upload-progress small{color:var(--color-muted)}.upload-progress progress{width:100%;accent-color:var(--color-clay-dark)}.receipt-submit{border-top:1px solid #173c361a;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1rem;display:flex}.receipt-submit p{color:var(--color-muted);margin:0;font-size:.87rem}.receipt-status-hero{color:var(--color-cream);background:var(--color-forest);border-radius:1.8rem;justify-items:start;padding:clamp(1.5rem,6vw,3.5rem);display:grid;box-shadow:0 1.5rem 4rem #173c3629}.receipt-status-hero>svg{color:#efb48f;margin-bottom:1rem}.receipt-status-hero .eyebrow{color:#efb48f;margin-bottom:.7rem}.receipt-status-hero h1{max-width:14ch}.receipt-status-hero>p:not(.eyebrow,.receipt-failure){color:#fffdf6bf;max-width:40rem;line-height:1.6}.receipt-status-hero .button-link{color:var(--color-forest);background:var(--color-cream)}.processing-indicator{align-items:center;gap:.6rem;margin:.5rem 0 1.5rem;font-size:.85rem;font-weight:700;display:flex}.processing-indicator span{border:2px solid #efb48f;border-radius:50%;width:.75rem;height:.75rem;animation:1s infinite pantry-pulse}.receipt-failure{max-width:42rem;color:var(--color-forest);background:#f4d4c0;border-radius:.8rem;padding:.8rem;line-height:1.5}.receipt-page-strip{grid-auto-columns:minmax(8rem,12rem);grid-auto-flow:column;gap:.75rem;margin-top:1rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.receipt-page-strip figure{background:var(--color-paper);border:1px solid #173c361f;border-radius:.9rem;margin:0;overflow:hidden}.receipt-page-strip img,.receipt-image-state{aspect-ratio:3/4;object-fit:contain;width:100%}.receipt-image-state{color:var(--color-muted);text-align:center;background:#173c360d;place-content:center;justify-items:center;gap:.5rem;padding:1rem;display:grid}.receipt-page-strip figcaption{text-align:center;padding:.5rem;font-size:.75rem;font-weight:800}.receipt-facts{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem;display:grid}.receipt-facts div{background:#fffdf6b3;border:1px solid #173c361f;border-radius:1rem;padding:1rem}.receipt-facts span,.receipt-facts strong{display:block}.receipt-facts span{color:var(--color-muted);text-transform:uppercase;margin-bottom:.3rem;font-size:.7rem;font-weight:800}.review-layout{gap:1rem;margin-top:2rem;display:grid}.receipt-evidence-panel{background:#fffdf6cc;border:1px solid #173c361f;border-radius:1.3rem;align-self:start;padding:1rem}.receipt-evidence-panel__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.receipt-evidence-panel h2{margin:0}.receipt-evidence-panel select{background:var(--color-paper);border:1px solid #173c362e;border-radius:999px;min-height:2.5rem;padding:0 .7rem}.review-receipt-image{object-fit:contain;background:#173c360d;border-radius:.8rem;width:100%;max-height:65vh;display:block}.review-lines{gap:1rem;display:grid}.review-line{background:#fffdf6d1;border:1px solid #173c3621;border-radius:1.3rem;padding:clamp(1rem,3vw,1.4rem);box-shadow:0 .7rem 2rem #173c360d}.review-line--ignored{opacity:.72;background:#173c360a}.review-line>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.review-line h2{margin:.25rem 0 0;font-size:1.25rem}.review-line__heading{flex:1;min-width:0}.review-description-heading{align-items:flex-start;gap:.45rem;min-width:0;display:flex}.review-description-heading h2{overflow-wrap:anywhere}.review-description-heading button{width:2rem;height:2rem;color:var(--color-clay-dark);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.review-description-heading button:hover,.review-description-heading button:focus-visible{background:#d8895b24;outline:none}.review-description-editor{margin-top:.25rem;font-family:inherit;font-size:1rem;font-weight:750}.review-line__number{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:850}.include-toggle{min-height:2.5rem;color:var(--color-forest);cursor:pointer;background:#173c3614;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.75rem;font-weight:850;display:inline-flex}.include-toggle input{opacity:0;position:absolute}.review-warning{color:#7a451e;background:#d8895b2b;border-radius:.7rem;align-items:center;gap:.4rem;padding:.65rem;font-size:.82rem;display:flex}.review-success{color:#245d42;background:#44916524;border-radius:.7rem;align-items:center;gap:.4rem;padding:.65rem;font-size:.82rem;display:flex}.review-success svg{flex:none}.review-line fieldset{border:0;gap:.8rem;margin:1rem 0 0;padding:0;display:grid}.review-product-field{grid-column:1/-1}.product-combobox{position:relative}.product-combobox__control{align-items:center;display:flex;position:relative}.product-combobox__control>svg:first-child{z-index:1;color:var(--color-muted);pointer-events:none;position:absolute;left:.9rem}.product-combobox__control input{padding-left:2.6rem;padding-right:2.7rem}.product-combobox__control>svg:last-child{color:var(--color-muted);pointer-events:none;position:absolute;right:.9rem}.product-combobox__clear{width:2rem;height:2rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;right:.45rem}.product-combobox__clear:hover,.product-combobox__clear:focus-visible{background:#1e4f7817}@supports (color:color-mix(in lab,red,red)){.product-combobox__clear:hover,.product-combobox__clear:focus-visible{background:color-mix(in srgb,var(--color-forest) 9%,transparent)}}.product-combobox__clear:hover,.product-combobox__clear:focus-visible{color:var(--color-forest);outline:none}.product-combobox__popover{z-index:20;border:1px solid #1e4f782e;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.product-combobox__popover{border:1px solid color-mix(in srgb,var(--color-forest) 18%,transparent)}}.product-combobox__popover{background:var(--color-paper);border-radius:1rem;box-shadow:0 18px 45px #173c362e}.product-combobox__list{overscroll-behavior:contain;max-height:15rem;padding:.35rem;overflow-y:auto}.product-combobox__message{color:var(--color-muted);margin:0;padding:.8rem;font-size:.82rem;font-weight:600}.product-combobox__option{width:100%;min-height:3.5rem;color:var(--color-forest);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.product-combobox__option[data-active=true],.product-combobox__option:hover,.product-combobox__option:focus-visible{background:#e3e9e1}@supports (color:color-mix(in lab,red,red)){.product-combobox__option[data-active=true],.product-combobox__option:hover,.product-combobox__option:focus-visible{background:color-mix(in srgb,var(--color-clay) 14%,var(--color-paper))}}.product-combobox__option[data-active=true],.product-combobox__option:hover,.product-combobox__option:focus-visible{outline:none}.product-combobox__option[aria-selected=true]{background:#e7ebea}@supports (color:color-mix(in lab,red,red)){.product-combobox__option[aria-selected=true]{background:color-mix(in srgb,var(--color-forest) 9%,var(--color-paper))}}.product-combobox__option span{gap:.15rem;display:grid}.product-combobox__option small{color:var(--color-muted);font-size:.72rem;font-weight:600}.product-combobox__option>svg{color:var(--color-clay-dark);flex:none}.review-product-field .text-link{align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.review-product-field button.text-link{cursor:pointer;background:0 0;border:0;width:fit-content;padding:0}.receipt-review-settings{background:#fffdf6b8;border:1px solid #173c361f;border-radius:1rem;align-items:end;gap:1rem;padding:1rem;display:flex}.receipt-review-settings>label,.receipt-review-settings>.field-label{width:min(10rem,100%)}.receipt-review-settings p{color:var(--color-muted);margin:0 0 .65rem;font-size:.82rem}.receipt-header-field{flex-direction:column;align-self:stretch;display:flex}.receipt-header-meta{color:var(--color-muted);align-content:start;gap:.2rem;margin-top:.35rem;font-size:.68rem;font-weight:650;line-height:1.35;display:grid}.receipt-header-meta--review strong{color:#7a451e}.receipt-header-meta q{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.receipt-header-meta button{width:fit-content;color:var(--color-clay-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.receipt-evidence-panel h2:focus-visible{outline-offset:.2rem;border-radius:.25rem;outline:3px solid #d8895b59}.receipt-product-modal-backdrop{z-index:60;padding:1rem;overflow-y:auto}.receipt-product-modal{background:var(--color-paper);border-radius:1.35rem;width:min(48rem,100%);max-height:calc(100vh - 2rem);padding:clamp(1rem,3vw,2rem);overflow-y:auto;box-shadow:0 30px 80px #173c3647}.receipt-product-modal>p{color:var(--color-muted)}.receipt-product-modal__header,.receipt-product-modal__header>div{align-items:center;gap:.8rem;display:flex}.receipt-product-modal__header{justify-content:space-between}.receipt-product-modal__header h2,.receipt-product-modal__header p{margin:0}.receipt-product-modal__header>div>svg{color:var(--color-clay-dark)}.receipt-product-modal__header>button{width:2.5rem;height:2.5rem;color:var(--color-forest);cursor:pointer;background:#173c3614;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.receipt-confirm-backdrop{z-index:70;padding:1rem}.receipt-confirm-dialog{background:var(--color-paper);border-radius:1.4rem;width:min(29rem,100%);padding:clamp(1.2rem,5vw,2rem);box-shadow:0 30px 80px #173c364d}.receipt-confirm-dialog>header{justify-content:space-between;align-items:center;display:flex}.receipt-confirm-dialog>header>button{width:2.5rem;height:2.5rem;color:var(--color-forest);cursor:pointer;background:#173c3614;border:0;border-radius:999px;place-items:center;display:grid}.receipt-confirm-dialog>header>button:disabled{cursor:not-allowed;opacity:.5}.receipt-confirm-dialog__icon{color:#245d42;background:#44916524;border-radius:1rem;place-items:center;width:3rem;height:3rem;display:grid}.receipt-confirm-dialog .eyebrow{margin:1rem 0 .25rem}.receipt-confirm-dialog h2{margin:0;font-size:clamp(1.5rem,5vw,2rem)}.receipt-confirm-dialog>p:not(.eyebrow){color:var(--color-muted)}.receipt-confirm-dialog__summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.25rem 0;display:grid}.receipt-confirm-dialog__summary>div{background:#173c360f;border-radius:.9rem;padding:.8rem}.receipt-confirm-dialog__summary dt{color:var(--color-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-weight:800}.receipt-confirm-dialog__summary dd{color:var(--color-forest);margin:.2rem 0 0;font-size:1rem;font-weight:850}.receipt-confirm-dialog__actions{grid-template-columns:1fr 1.45fr;gap:.65rem;display:grid}@media(max-width:47.99rem){.receipt-review-settings{flex-direction:column;align-items:stretch}.receipt-review-settings>label,.receipt-review-settings>.field-label{width:100%}.review-line>header{flex-direction:column;align-items:stretch}.include-toggle{align-self:flex-start;width:fit-content}.confirmation-bar .pantry-actions{grid-template-columns:1fr;width:100%;display:grid}.confirmation-bar .pantry-actions>*{justify-content:center;width:100%}.receipt-confirm-dialog__actions{grid-template-columns:1fr}}.confidence-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.confidence{color:var(--color-muted);text-transform:capitalize;background:#173c3612;border-radius:999px;padding:.3rem .55rem;font-size:.68rem}.confidence--check{color:#7a451e;background:#d8895b24;outline:1px solid #d8895b73}.evidence-link{color:var(--color-clay-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;margin-top:.75rem;padding:0;font-size:.75rem;font-weight:800;text-decoration:underline;display:inline-flex}.confirmation-bar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf6f0;border:1px solid #173c3621;border-radius:1.2rem;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1rem;padding:1rem;display:flex;position:sticky;bottom:.75rem;box-shadow:0 1rem 3rem #173c362e}.confirmation-bar .eyebrow{margin-bottom:.2rem}.confirmation-bar strong,.confirmation-bar small{display:block}.confirmation-bar small{color:var(--color-muted);margin-top:.3rem}.shopping-page{width:min(100%,62rem);min-height:calc(100vh - 4.75rem);margin:0 auto;padding:clamp(1.25rem,5vw,4rem) clamp(.75rem,4vw,2.5rem) 5rem}.shopping-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.shopping-header h1{font-family:var(--font-serif);letter-spacing:-.055em;margin:0;font-size:clamp(2.8rem,10vw,5rem);font-weight:500;line-height:.95}.shopping-header>div>p:last-child{max-width:36rem;color:var(--color-muted);margin:.8rem 0 0;line-height:1.5}.shopping-count{min-width:4.5rem;color:var(--color-cream);background:var(--color-forest);border-radius:1rem;justify-items:center;padding:.75rem;display:grid}.shopping-count strong{font-family:var(--font-serif);font-size:2rem;line-height:1}.shopping-count span{text-transform:uppercase;margin-top:.2rem;font-size:.68rem;font-weight:800}.shopping-views{background:#fffdf6a6;border:1px solid #173c3624;border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:grid}.shopping-views a{min-width:0;min-height:2.75rem;color:var(--color-muted);border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .25rem;font-size:clamp(.68rem,3.5vw,.85rem);font-weight:800;text-decoration:none;display:flex}.shopping-views a[aria-current=page]{color:var(--color-cream);background:var(--color-forest)}.shopping-views span{background:#173c3617;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;font-size:.65rem;display:grid}.shopping-views a[aria-current=page] span{background:#fffdf62e}.shopping-add,.shopping-suggestions{background:#fffdf6cc;border:1px solid #173c3621;border-radius:1.35rem;padding:clamp(1rem,4vw,1.5rem);box-shadow:0 1rem 2.5rem #173c3612}.shopping-section-title{align-items:flex-start;gap:.7rem;display:flex}.shopping-section-title>svg{color:var(--color-clay-dark);flex:none}.shopping-section-title h2,.shopping-section-title p{margin:0}.shopping-section-title h2{font-family:var(--font-serif);font-size:1.55rem;font-weight:500}.shopping-section-title p{color:var(--color-muted);margin-top:.2rem;font-size:.85rem}.shopping-mode{border:1px solid #173c3629;border-radius:.85rem;grid-template-columns:1fr 1fr;margin:1rem 0;display:grid;overflow:hidden}.shopping-mode button{min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-weight:800}.shopping-mode button[aria-pressed=true]{color:var(--color-cream);background:var(--color-forest)}.shopping-add__form,.shopping-edit{gap:.85rem;display:grid}.shopping-amount-note{color:var(--color-muted);font-size:.75rem;font-weight:500;line-height:1.4}.shopping-stock-preview{color:var(--color-forest);background:#4491651c;border-radius:.9rem;grid-template-columns:auto 1fr;align-items:baseline;gap:.2rem .5rem;padding:.8rem;display:grid}.shopping-stock-preview small{color:var(--color-muted);grid-column:1/-1}.shopping-duplicate-note{color:#7a451e;background:#d8895b26;border-radius:.8rem;margin:0;padding:.7rem;font-size:.82rem;line-height:1.45}.shopping-list{margin-top:1.5rem}.shopping-list__heading{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.shopping-list__heading h2{font-family:var(--font-serif);margin:0;font-size:1.65rem;font-weight:500}.shopping-list__heading span,.shopping-history summary span{min-width:1.7rem;height:1.7rem;color:var(--color-muted);background:#173c3614;border-radius:999px;place-items:center;font-size:.75rem;font-weight:850;display:grid}.shopping-list--cart{border-top:2px dashed #173c3621;padding-top:.5rem}.shopping-item{background:#fffdf6c2;border:1px solid #173c361f;border-radius:1.1rem;gap:.8rem;margin-bottom:.65rem;padding:.9rem;display:grid}.shopping-item--in_cart{background:#d8895b1a;border-color:#d8895b52}.shopping-item__main{grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.shopping-item__mark{width:2.75rem;height:2.75rem;color:var(--color-cream);background:0 0;border:2px solid #173c3640;border-radius:.85rem;place-items:center;display:grid}.shopping-item__mark span{background:var(--color-clay);border-radius:50%;width:.7rem;height:.7rem}.shopping-item--in_cart .shopping-item__mark,.shopping-item--purchased .shopping-item__mark{border-color:var(--color-forest);background:var(--color-forest)}.shopping-item--skipped .shopping-item__mark{border-color:var(--color-muted);background:var(--color-muted)}.shopping-item__mark svg{width:1.2rem}.shopping-item__copy{min-width:0}.shopping-item__copy h3{overflow-wrap:anywhere;font-family:var(--font-serif);margin:0;font-size:1.25rem;font-weight:600}.shopping-item__copy p{color:var(--color-muted);margin:.15rem 0 0;font-size:.8rem}.shopping-stock{font-weight:700}.shopping-actions{flex-wrap:wrap;gap:.45rem;display:flex}.shopping-actions button,.suggestion-actions>button:not(.inline-flex),.shopping-dialog-actions>button:not(.inline-flex){min-height:2.75rem;color:var(--color-forest);cursor:pointer;background:#173c3614;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.55rem .8rem;font-size:.75rem;font-weight:800;display:inline-flex}.shopping-actions button:disabled{cursor:not-allowed;opacity:.4}.shopping-actions svg{width:.95rem}.shopping-actions--primary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.shopping-actions--primary button:first-child{color:var(--color-cream);background:var(--color-forest)}.shopping-actions--quiet{border-top:1px solid #173c3617;padding-top:.6rem}.shopping-edit{background:#173c360a;border-radius:.9rem;padding:.8rem}.shopping-empty{color:var(--color-muted);text-align:center;border:1px dashed #173c3633;border-radius:1rem;margin:0;padding:1.2rem}.shopping-error{color:var(--color-error);background:#a33f3217;border-radius:.8rem;margin:0;padding:.75rem;font-size:.85rem;font-weight:700}.shopping-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:850;text-decoration:underline}.shopping-page-error{margin-top:.75rem}.shopping-suggestions{background:#fff8e8d9;border-color:#d8895b66}.shopping-suggestions>.shopping-empty{margin-top:1rem}.suggestion-list{gap:.75rem;margin-top:1rem;display:grid}.suggestion-card{background:#fffdf6c7;border:1px solid #d8895b4d;border-radius:1rem;padding:1rem}.suggestion-card h3,.suggestion-card>p{margin:0}.suggestion-card h3{font-family:var(--font-serif);font-size:1.25rem}.suggestion-card>p{color:var(--color-muted);margin-top:.35rem;font-size:.85rem;line-height:1.45}.suggestion-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.85rem 0;display:grid}.suggestion-card dl div{background:#173c360d;border-radius:.7rem;min-width:0;padding:.55rem}.suggestion-card dt{color:var(--color-muted);text-transform:uppercase;font-size:.62rem;font-weight:850}.suggestion-card dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.77rem;font-weight:800}.suggestion-actions,.shopping-dialog-actions{justify-content:flex-end;gap:.6rem;display:flex}.suggestion-quantity{gap:.65rem;display:grid}.shopping-history{background:#fffdf685;border:1px solid #173c361f;border-radius:1rem;margin-top:1.5rem}.shopping-history summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.8rem 1rem;font-weight:800;display:flex}.shopping-history>div{padding:0 .7rem .7rem}.shopping-handoffs{background:#4491651a;border-radius:.8rem;padding:.75rem}.shopping-handoffs p{color:var(--color-muted);margin:0 0 .6rem;font-size:.8rem;line-height:1.4}.shopping-handoffs>div{flex-wrap:wrap;gap:.5rem;display:flex}.shopping-handoffs a{min-height:2.75rem;color:var(--color-cream);background:var(--color-forest);border-radius:999px;align-items:center;padding:.55rem .85rem;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.shopping-completed{color:var(--color-muted)}.shopping-dialog-actions{margin-top:1.2rem}.shopping-state{text-align:center;place-content:center;justify-items:center;gap:.75rem;min-height:20rem;display:grid}.shopping-state h1,.shopping-state p{margin:0}.shopping-state h1{font-family:var(--font-serif);font-size:2rem;font-weight:500}.shopping-state p{color:var(--color-muted)}@media(max-width:35rem){.app-header{flex-wrap:wrap;padding-inline:.75rem}.brand-mark{width:2.4rem;height:2.4rem}.brand>span:last-child{display:none}.header-account{flex:1;justify-content:flex-end;gap:.15rem}.header-link{padding-inline:.55rem;font-size:.78rem}.shopping-header{align-items:flex-start}.shopping-count{min-width:3.8rem}.shopping-actions--primary{grid-template-columns:1fr}.shopping-actions--primary button{width:100%}}@keyframes pantry-pulse{50%{opacity:.55}}@media(min-width:48rem){.auth-layout{grid-template-columns:minmax(0,1.1fr) minmax(26rem,.9fr)}.auth-story{flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,6rem);display:flex}.auth-panel{border:1px solid #173c361f;border-radius:2rem;min-height:auto;margin:clamp(2rem,6vw,5rem);box-shadow:0 2rem 6rem #173c361a}.home{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);gap:clamp(3rem,8vw,9rem)}.pantry-page__header{flex-direction:row;align-items:flex-end}.catalog-tools{grid-template-columns:minmax(15rem,1fr) minmax(9rem,.45fr) auto auto auto;align-items:center}.inventory-tools{grid-template-columns:minmax(14rem,1fr) minmax(8rem,.5fr) auto auto auto auto}.pantry-card{grid-template-columns:minmax(12rem,.8fr) minmax(22rem,1.2fr);align-items:center;padding:1rem 1.4rem}.pantry-form__grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-create form{grid-template-columns:1fr auto}.location-row{flex-direction:row;align-items:center}.location-edit{grid-template-columns:1fr auto;align-items:end}.receipt-list-card{grid-template-columns:auto minmax(0,1fr) auto}.receipt-status{grid-column:auto}.receipt-upload__heading,.receipt-submit{flex-direction:row;align-items:center}.receipt-facts{grid-template-columns:repeat(4,1fr)}.review-layout{grid-template-columns:minmax(18rem,.7fr) minmax(26rem,1.3fr)}.receipt-evidence-panel{position:sticky;top:1rem}.review-line fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmation-bar{flex-direction:row;align-items:center}.inventory-card__link{grid-template-columns:minmax(12rem,1.2fr) minmax(7rem,.4fr) minmax(7rem,.45fr) minmax(12rem,.8fr);align-items:center;padding-right:5rem}.inventory-card__link .pantry-card__primary{min-width:0}.inventory-add{top:50%;bottom:auto;transform:translateY(-50%)}.inventory-hero{grid-template-columns:1fr auto;align-items:center}.inventory-hero .freshness-callout{grid-column:1/-1}.stock-panel__heading{grid-template-columns:1fr auto;align-items:end}.stock-form__grid,.policy-form{grid-template-columns:repeat(2,minmax(0,1fr))}.opened-package-card form{grid-template-columns:minmax(10rem,1fr) auto auto;align-items:end}.stock-optional>:last-child:nth-child(odd){grid-column:1/-1}.shopping-add__form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.shopping-add__form>:first-child,.shopping-add__form>.shopping-stock-preview,.shopping-add__form>.shopping-duplicate-note,.shopping-add__form>.shopping-error{grid-column:1/-1}.shopping-add__form>button{justify-self:start}.suggestion-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-row{grid-template-columns:1fr 1fr 1fr}.lot-row span:last-child{grid-column:auto}.lot-row--heading{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800;display:grid}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-header{z-index:30;position:sticky;top:0}.desktop-nav{align-items:center;gap:.25rem;display:flex}.shell-nav-link{min-height:2.75rem;color:var(--color-muted);border-radius:.8rem;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.shell-nav-link svg{width:1.05rem}.shell-nav-link:hover,.shell-nav-link.is-active{color:var(--color-forest);background:#1e4f7817}.shell-nav-link.is-active{box-shadow:inset 0 -2px var(--color-clay)}.account-copy{max-width:10rem;display:grid}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy small,.account-settings p small{color:var(--color-muted)}.desktop-signout{width:2.75rem;color:var(--color-forest);box-shadow:none;background:0 0;padding:0}.account-settings>div{gap:1rem;display:grid}.account-settings p{margin:0;display:grid}.account-signout{width:100%}.mobile-nav{display:none}.home-dashboard,.family-page{width:min(100%,76rem);min-height:calc(100vh - 4.75rem);margin:0 auto;padding:clamp(1.5rem,5vw,4rem) clamp(1rem,4vw,3rem) 5rem}.home-heading h1,.family-header h1{max-width:18ch;font-family:var(--font-serif);letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,7vw,5rem);font-weight:500;line-height:.98}.home-heading>p:last-child,.family-header>p:last-child{max-width:42rem;color:var(--color-muted);line-height:1.6}.home-priorities{gap:1rem;margin-top:2rem;display:grid}.priority-section{background:#fffefac7;border:1px solid #1e4f7821;border-radius:1.5rem;min-height:18rem;overflow:hidden;box-shadow:0 1rem 3rem #1e4f7812}.priority-section>header{border-bottom:1px solid #1e4f781a;gap:1rem;padding:1.4rem;display:flex}.priority-section h2,.priority-section header p{margin:0}.priority-section h2{font-family:var(--font-serif);font-size:1.65rem;font-weight:550}.priority-section header p:last-child{color:var(--color-muted);margin-top:.25rem;font-size:.85rem}.priority-icon{width:3rem;height:3rem;color:var(--color-clay-dark);background:#4f806424;border-radius:.9rem;flex:none;place-items:center;display:grid}.priority-total{letter-spacing:.12em;font-size:.72rem;font-weight:850}.priority-list{display:grid}.priority-item{min-height:4.5rem;color:var(--color-forest);border-bottom:1px solid #1e4f7814;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.2rem;text-decoration:none;display:flex}.priority-item:hover,.priority-item:focus-visible{outline-offset:-3px;background:#1e4f780d}.priority-item span{min-width:0;display:grid}.priority-item span:last-child{color:var(--color-muted);text-align:right;grid-auto-flow:column;align-items:center;gap:.4rem;font-size:.78rem}.priority-item strong,.priority-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.priority-item small,.home-updated{color:var(--color-muted)}.priority-empty{color:var(--color-muted);margin:0;padding:2rem 1.4rem;line-height:1.55}.home-error,.family-state{background:#a43d3d0f;border:1px solid #a43d3d2e;border-radius:1.25rem;justify-items:start;gap:.7rem;margin-top:2rem;padding:1.5rem;display:grid}.home-error h2,.home-error p,.family-state p{margin:0}.home-skeleton{background:linear-gradient(100deg,#1e4f780d,#ffffffb3,#1e4f780d);animation:1.2s infinite pantry-pulse}.home-updated{text-align:right;font-size:.75rem}.family-header{margin-bottom:2rem}.family-section{background:#fffefac7;border:1px solid #1e4f7821;border-radius:1.4rem;margin-top:1rem;padding:clamp(1rem,4vw,1.6rem)}.family-section__heading{align-items:flex-start;gap:.8rem;margin-bottom:1.2rem;display:flex}.family-section__heading>svg{color:var(--color-clay-dark);flex:none}.family-section h2,.family-section__heading p{margin:0}.family-section h2{font-family:var(--font-serif);font-size:1.55rem;font-weight:550}.family-section__heading p{color:var(--color-muted);margin-top:.25rem;font-size:.85rem}.family-list,.invitation-list{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.family-person,.invitation-list li{background:#1e4f780d;border-radius:1rem;align-items:center;gap:.8rem;min-width:0;padding:.85rem;display:flex}.family-person>div:nth-child(2),.invitation-list li>span{flex:1;min-width:0;display:grid}.family-person strong,.family-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-person small,.invitation-list small{color:var(--color-muted)}.avatar{width:2.8rem;height:2.8rem;color:var(--color-cream);background:var(--color-clay-dark);border-radius:50%;flex:none;place-items:center;font-weight:850;display:grid}.dependent-photo{justify-items:center;gap:.35rem;display:grid}.dependent-photo img.avatar{object-fit:cover}.dependent-photo .family-actions{justify-content:center;font-size:.75rem}.role-badge{color:var(--color-clay-dark);background:#4f806421;border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:850}.family-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.family-actions button,.invitation-list button{min-height:2.5rem;color:var(--color-forest);cursor:pointer;background:#1e4f7817;border:0;border-radius:999px;align-items:center;gap:.3rem;padding:.45rem .75rem;font-weight:800;display:inline-flex}.family-actions button svg{width:1rem}.family-actions select{min-height:2.5rem;color:var(--color-forest);background:var(--color-cream);border:1px solid #1e4f782e;border-radius:.7rem;padding:0 .5rem}.invitation-share{background:#4f80641a;border-radius:1rem;gap:.7rem;margin-top:1rem;padding:1rem;display:grid}.invitation-share p{color:var(--color-muted);margin:0;font-size:.85rem}.invitation-share output{overflow-wrap:anywhere;font-size:.8rem;font-weight:700}.family-empty{color:var(--color-muted)}.dependent-form{background:#1e4f780a;border-radius:1rem;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.dependent-form label{gap:.4rem;font-size:.82rem;font-weight:750;display:grid}.invitation-page{place-content:center;justify-items:center;gap:1.5rem;min-height:100vh;padding:1rem;display:grid}.invitation-card{background:var(--color-cream);text-align:center;border:1px solid #1e4f7821;border-radius:1.6rem;justify-items:center;gap:1rem;width:min(100%,34rem);padding:clamp(1.5rem,7vw,3.5rem);display:grid;box-shadow:0 2rem 5rem #1e4f781a}.invitation-card h1,.invitation-card p{margin:0}.invitation-card h1{font-family:var(--font-serif);font-size:clamp(2rem,8vw,3rem);font-weight:550}.invitation-card>p:not(.eyebrow){color:var(--color-muted);line-height:1.55}.invitation-auth{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.form-error{color:var(--color-error)!important}@media(min-width:48rem){.home-priorities{grid-template-columns:repeat(2,minmax(0,1fr))}.dependent-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.dependent-form .family-actions{grid-column:1/-1}}@media(max-width:55rem){.app-shell{padding-bottom:4.4rem}.desktop-nav,.desktop-signout,.account-copy{display:none}.app-header{min-height:4.25rem;padding:.55rem .8rem}.app-header .brand small{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;display:block;overflow:hidden}.mobile-nav{z-index:40;padding:.35rem max(.25rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.25rem,env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefaf5;border-top:1px solid #1e4f7824;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{min-width:0;min-height:3.4rem;color:var(--color-muted);border-radius:.7rem;place-content:center;justify-items:center;gap:.2rem;font-size:clamp(.58rem,2.7vw,.7rem);font-weight:800;text-decoration:none;display:grid}.mobile-nav a svg{width:1.2rem}.mobile-nav a.is-active{color:var(--color-forest);background:#1e4f7817}.family-person{flex-wrap:wrap;align-items:flex-start}.family-person .family-actions{width:100%;padding-left:3.6rem}}.kin-fab{z-index:39;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));min-width:3.25rem;min-height:3.25rem;color:var(--color-cream);background:var(--color-forest);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.82rem;font-weight:850;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 .75rem 2rem #1e4f7847}.kin-fab:hover,.kin-fab:focus-visible{background:var(--color-forest-light);outline:3px solid var(--color-clay);outline-offset:3px}.kin-history-page{width:min(100%,62rem);min-height:calc(100vh - 4.75rem);margin:0 auto;padding:clamp(1.5rem,5vw,4rem) clamp(1rem,4vw,2.5rem) 6rem}.kin-history-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.kin-history-header h1{font-family:var(--font-serif);letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,8vw,5rem);font-weight:500;line-height:.95}.kin-history-header>div>p:last-child{max-width:36rem;color:var(--color-muted);line-height:1.55}.kin-history-list{gap:.7rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.kin-history-list li{background:#fffefac7;border:1px solid #1e4f7821;border-radius:1.15rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.kin-history-list li>a{min-width:0;min-height:5rem;color:var(--color-forest);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem;text-decoration:none;display:grid}.kin-history-list li>a>svg{color:var(--color-clay-dark)}.kin-history-list li>a>span:nth-child(2){min-width:0;display:grid}.kin-history-list strong,.kin-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kin-history-list small{color:var(--color-muted);margin-top:.2rem}.kin-history-actions{gap:.2rem;padding-right:.6rem;display:flex}.kin-history-actions button,.kin-chat-header a,.kin-chat-header button,.kin-action-menu summary,.kin-feedback button{width:2.75rem;height:2.75rem;color:var(--color-forest);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.kin-history-actions button:hover,.kin-history-actions button:focus-visible,.kin-chat-header a:hover,.kin-chat-header a:focus-visible,.kin-chat-header button:hover,.kin-chat-header button:focus-visible,.kin-feedback button:hover,.kin-feedback button:focus-visible,.kin-feedback button[aria-pressed=true]{background:#1e4f781a;outline:2px solid #0000}.kin-history-actions button:disabled{cursor:wait;opacity:.45}.kin-disabled-note{max-width:22rem;color:var(--color-muted);margin:0;font-size:.85rem}.kin-action-menu{position:relative}.kin-action-menu summary{list-style:none}.kin-action-menu summary::-webkit-details-marker{display:none}.kin-action-menu[open] .kin-history-actions{z-index:3;background:var(--color-cream);border:1px solid #1e4f7824;border-radius:999px;padding:.35rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .6rem 1.8rem #1e4f7824}.kin-empty-history,.kin-page-state{text-align:center;border:1px dashed #1e4f7838;border-radius:1.4rem;place-content:center;justify-items:center;gap:.8rem;min-height:20rem;margin-top:2rem;padding:2rem;display:grid}.kin-empty-history h2,.kin-empty-history p,.kin-page-state p{margin:0}.kin-empty-history p{max-width:32rem;color:var(--color-muted);line-height:1.5}.kin-chat-page{z-index:50;color:var(--color-forest);background:var(--color-canvas);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.kin-chat-header{min-height:4.25rem;padding:max(.55rem,env(safe-area-inset-top)) max(.7rem,env(safe-area-inset-right)) .55rem max(.7rem,env(safe-area-inset-left));background:#fffefaf5;border-bottom:1px solid #1e4f781f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;display:grid}.kin-chat-header>div:nth-child(2){min-width:0;display:grid}.kin-chat-header strong,.kin-chat-header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kin-chat-header small{color:var(--color-muted);font-size:.72rem}.kin-chat-header>div:last-child{display:flex}.kin-chat-header a{color:var(--color-forest);text-decoration:none}.kin-chat-header button:disabled{opacity:.45}.kin-chat-log{overscroll-behavior:contain;scroll-behavior:smooth;padding:1rem max(1rem,50% - 24rem) 1.5rem;overflow-y:auto}.kin-chat-empty{text-align:center;place-content:center;justify-items:center;gap:.75rem;min-height:100%;display:grid}.kin-chat-empty>svg{width:3.5rem;height:3.5rem;color:var(--color-cream);background:var(--color-forest);border-radius:1.1rem;padding:.8rem}.kin-chat-empty h1,.kin-chat-empty p,.kin-chat-empty aside{margin:0}.kin-chat-empty h1{max-width:18ch;font-family:var(--font-serif);font-size:clamp(1.8rem,6vw,3rem);font-weight:550}.kin-chat-empty p,.kin-chat-empty aside{max-width:34rem;color:var(--color-muted);line-height:1.55}.kin-chat-empty aside{background:#4f80641a;border-radius:.8rem;margin-top:.5rem;padding:.8rem;font-size:.82rem}.kin-message{max-width:min(88%,38rem);margin:.8rem 0;display:grid}.kin-message--user{justify-self:end;margin-left:auto}.kin-message--assistant{justify-self:start}.kin-message__bubble{overflow-wrap:anywhere;background:var(--color-cream);border:1px solid #1e4f781f;border-radius:1.15rem 1.15rem 1.15rem .3rem;padding:.85rem 1rem;line-height:1.55}.kin-message--user .kin-message__bubble{color:var(--color-cream);background:var(--color-forest);border:0;border-radius:1.15rem 1.15rem .3rem}.kin-message__bubble p{white-space:pre-wrap;margin:0}.kin-message__bubble p+p{margin-top:.65rem}.kin-safe-notice{color:#7a451e;background:#d8895b2b;border-radius:.75rem;margin-top:.6rem;padding:.7rem;font-size:.85rem}.kin-citations{flex-wrap:wrap;gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.kin-citations a{min-height:2.75rem;color:var(--color-forest);background:#1e4f7814;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.kin-citations svg{width:.85rem}.kin-feedback{gap:.15rem;display:flex}.kin-feedback button{width:2.75rem;height:2.75rem;color:var(--color-muted)}.kin-feedback svg{width:1rem}.kin-run-state{width:fit-content;color:var(--color-muted);align-items:center;gap:.5rem;margin:.75rem 0;font-size:.8rem;font-weight:700;display:flex}.kin-run-state>span{background:var(--color-clay);border-radius:50%;width:.65rem;height:.65rem;animation:1s infinite pantry-pulse}.kin-run-state button{min-height:2.75rem;color:var(--color-forest);cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.kin-composer{padding:.7rem max(1rem,calc((100% - 48rem)/2)) max(.7rem,env(safe-area-inset-bottom));background:#fffefaf7;border-top:1px solid #1e4f781f;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.kin-composer textarea{resize:vertical;width:100%;min-height:2.85rem;max-height:9rem;color:var(--color-forest);background:var(--color-cream);font:inherit;border:1px solid #1e4f7833;border-radius:1.3rem;padding:.75rem 1rem;line-height:1.4}.kin-composer>button{width:2.85rem;height:2.85rem;color:var(--color-cream);background:var(--color-forest);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.kin-composer>button.kin-stop{background:var(--color-error)}.kin-composer>button:disabled{cursor:not-allowed;opacity:.45}.kin-action-card{border:1px solid #1e4f782b;border-left:4px solid var(--color-clay);background:var(--color-cream);border-radius:1.1rem;width:min(100%,40rem);margin:1rem 0;padding:1rem;box-shadow:0 .6rem 1.8rem #1e4f7812}.kin-action-card>header{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.kin-action-card>header span:first-child{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.kin-action-card h3{font-family:var(--font-serif);margin:.2rem 0 0;font-size:1.25rem}.kin-action-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;display:grid}.kin-action-card dl div{background:#1e4f780d;border-radius:.7rem;padding:.65rem}.kin-action-card dt{color:var(--color-muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.kin-action-card dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:750}.kin-action-card form{gap:.7rem;margin-top:1rem;display:grid}.kin-action-card form label{gap:.35rem;font-size:.8rem;font-weight:750;display:grid}.kin-action-card form select{min-height:2.75rem;color:var(--color-forest);background:var(--color-cream);font:inherit;border:1px solid #1e4f7833;border-radius:.8rem;padding:0 .7rem}.kin-action-buttons{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.kin-secondary-button{color:var(--color-forest);background:0 0;box-shadow:inset 0 0 0 1px #1e4f7833}.kin-secondary-button:hover{color:var(--color-forest);background:#1e4f7814}.kin-action-notice,.kin-action-warning{background:#4f80641a;border-radius:.75rem;margin-top:.8rem;padding:.7rem;font-size:.82rem}.kin-action-warning{color:#7a451e;background:#d8895b2b;gap:.5rem;display:flex}.kin-action-warning svg{flex:none}.kin-action-notice ul,.kin-action-warning ul{margin:.3rem 0 0;padding-left:1.2rem}.kin-action-loading,.kin-action-error{background:#1e4f780f;border-radius:.8rem;max-width:40rem;padding:.8rem}.kin-action-error{color:var(--color-error)}.kin-settings-status{background:#1e4f780d;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem;display:flex}.kin-settings-status span{font-weight:850}.kin-settings-status span.is-enabled{color:#28643d}.kin-settings-status p{color:var(--color-muted);margin:0;font-size:.82rem}.kin-inline-state{justify-items:start;gap:.6rem;display:grid}.kin-policy{background:#1e4f780d;border-radius:.9rem;margin:1rem 0;padding:.9rem}.kin-policy p{margin:.25rem 0 .9rem}.kin-policy p:last-child{margin-bottom:0}.kin-consent-check{align-items:flex-start;gap:.65rem;margin-bottom:1rem;font-weight:750;line-height:1.45;display:flex}.kin-consent-check input{width:1.2rem;height:1.2rem;accent-color:var(--color-forest);flex:none}.dialog-description{color:var(--color-muted);line-height:1.5}.dialog-description p{margin:.5rem 0}.kin-dialog-field{color:var(--color-forest);gap:.4rem;font-size:.82rem;font-weight:750;display:grid}.kin-dialog-fields{gap:.75rem;display:grid}.kin-operation-status{background:var(--color-cream);border:1px solid #1e4f7833;border-radius:.75rem;margin:0;padding:.75rem 1rem}.kin-retention-form{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.kin-retention-form label{font-weight:800}.kin-retention-form select{min-height:2.75rem;color:var(--color-forest);background:var(--color-cream);font:inherit;border:1px solid #1e4f7833;border-radius:.8rem;padding:0 .7rem}.kin-retention-policy strong{display:block}.kin-memory-private{color:var(--color-muted);align-items:flex-start;gap:.45rem;font-size:.82rem;display:flex}.kin-memory-private svg{flex:none;width:1rem}.kin-memory-statement{background:#1e4f780d;border-radius:.8rem;padding:.8rem;font-weight:750}.kin-memory-privacy{max-width:46rem;color:var(--color-muted);background:#4f80641a;border-radius:.8rem;padding:.8rem;line-height:1.5}.kin-memory-list{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.kin-memory-list li{background:#1e4f780d;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.kin-memory-list li>div:first-child{gap:.25rem;min-width:0;display:grid}.kin-memory-list strong{overflow-wrap:anywhere}.kin-memory-list small{color:var(--color-muted)}@media(max-width:55rem){.kin-fab{bottom:calc(4.4rem + max(.8rem,env(safe-area-inset-bottom)))}}@media(max-width:40rem){.kin-history-header{flex-direction:column;align-items:flex-start}.kin-history-list li{grid-template-columns:minmax(0,1fr)}.kin-history-list li>a{grid-template-columns:auto minmax(0,1fr);padding-bottom:.3rem}.kin-history-list li>a .status-badge{grid-column:2;width:fit-content}.kin-history-actions{justify-content:flex-end;padding:0 .6rem .5rem}.kin-message{max-width:94%}.kin-action-card dl{grid-template-columns:1fr}.kin-settings-status{flex-direction:column;align-items:flex-start}.kin-retention-form,.kin-memory-list li{flex-direction:column;align-items:stretch}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}
