:root{--font-sans:Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--bg:#f4f6f1;--surface:#fff;--surface-2:#eef3ec;--surface-strong:#e8f0e8;--ink:#16231b;--text:var(--ink);--muted:#617067;--line:#dce5da;--accent:#167a57;--green:#167a57;--green-soft:#dff3e9;--amber:#a86d00;--amber-soft:#fff0cc;--red:#b43b34;--red-soft:#fde4e1;--blue:#256bb4;--blue-soft:#deebfb;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--text-2xl:30px;--lh-tight:1.18;--lh-body:1.55;--shadow:0 18px 50px #15261a24;--shadow-soft:0 10px 28px #15261a14;--focus:0 0 0 3px #167a573d;--dur-1:.16s;--dur-2:.28s;--dur-3:.42s;--ease-out:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--bg:#101812;--surface:#17221a;--surface-2:#1f2d23;--surface-strong:#223528;--ink:#eff7ef;--muted:#aebbad;--line:#2b3e30;--green:#6bd7a7;--green-soft:#173d2d;--amber:#f6c45f;--amber-soft:#3e2f13;--red:#ff8a7f;--red-soft:#44211f;--blue:#8fc2ff;--blue-soft:#18324f;--shadow:0 18px 50px #00000057;--shadow-soft:0 10px 28px #0000003d}}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);font-family:var(--font-sans);background:linear-gradient(135deg,#24372d14 0 25%,#0000 25% 100%),linear-gradient(#edf1eb 0%,#dfe7df 100%);margin:0}@media (prefers-color-scheme:dark){body{background:linear-gradient(135deg,#6bd7a70f 0 25%,#0000 25% 100%),linear-gradient(#0b100d 0%,#101812 100%)}}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,a:focus-visible{box-shadow:var(--focus);outline:0}.prototype-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.skip-nav{z-index:10;border-radius:var(--radius-sm);color:#fff;background:var(--green);font-size:var(--text-sm);transition:transform var(--dur-1) var(--ease-out);padding:10px 12px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-nav:focus{transform:translateY(0)}.app-frame{background:linear-gradient(180deg, #ffffffad, transparent 180px), var(--bg);width:min(100%,430px);height:min(880px,100dvh - 48px);min-height:680px;box-shadow:var(--shadow);border:1px solid #17221c14;border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:hidden}.app-header{background:#f4f6f1f0;border-bottom:1px solid #dfe6ddb3;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:24px 20px 14px;display:flex}.header-start{align-items:center;gap:12px;min-width:0;display:flex}.header-kicker,.panel-label{color:var(--muted);font-size:var(--text-xs);margin:0 0 4px;font-weight:700}.app-header h1{font-size:var(--text-xl);line-height:var(--lh-tight);margin:0}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.alert-dot{position:relative}.alert-dot:after{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 2px #fff}.screen-scroll{scrollbar-width:none;flex:1;padding:16px 16px 18px;overflow-y:auto}.screen-scroll::-webkit-scrollbar{display:none}.filter-tabs::-webkit-scrollbar{display:none}.screen-stack{flex-direction:column;gap:14px;display:flex}.search-entry,.primary-action,.secondary-action,.toolbar button,.filter-tabs button,.mode-switch button,.quick-grid button,.photo-actions button,.card-actions button,.empty-result button,.ask-bar button,.composer-icon-button,.composer-send-button,.composer-mini-button,.composer-dialog-actions button,.composer-image-chip button,.home-mode-switch button,.history-list button,.recommendation-actions button,.section-header button,.quick-add-head button,.quick-edit-row button,.setting-option-grid button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:42px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:8px;display:inline-flex}.search-entry{width:100%;color:var(--muted);text-align:left;justify-content:flex-start;padding:0 12px}.search-entry span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fridge-panel{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#ffffff1f 0 1px,#0000 1px 18px),linear-gradient(135deg,#1a3a2d 0%,#0f2b23 100%);border:1px solid #213b30;padding:16px;position:relative;overflow:hidden;box-shadow:0 18px 40px #12312538}.fridge-panel:after{content:"";border:22px solid #ffffff0d;border-radius:50%;width:132px;height:132px;position:absolute;inset:auto -24px -42px auto}.fridge-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.fridge-top .panel-label{color:#ffffffb8}.fridge-top h2{max-width:240px;font-size:var(--text-lg);margin:0;line-height:1.35}.fridge-top button{border-radius:var(--radius-sm);color:#fff;min-height:34px;font-size:var(--text-xs);background:#ffffff1a;border:1px solid #ffffff42;flex:none;align-items:center;gap:4px;padding:0 8px 0 10px;font-weight:800;display:inline-flex}.fridge-meter{z-index:1;background:#ffffff29;border-radius:999px;height:8px;margin:16px 0 12px;position:relative;overflow:hidden}.fridge-meter span{border-radius:inherit;transform-origin:0;width:64%;height:100%;animation:meter-grow var(--dur-3) var(--ease-out) both;background:linear-gradient(90deg,#f5c04f,#e95f55);display:block}.fridge-zones{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.fridge-zone{border-radius:var(--radius-sm);background:#ffffff17;flex-direction:column;justify-content:space-between;min-height:92px;padding:10px;display:flex}.fridge-zone.tone-danger,.fridge-zone.tone-fresh,.fridge-zone.tone-info{color:#fff;background:#ffffff17}.fridge-zone.tone-danger{border-left:3px solid #e95f55}.fridge-zone.tone-fresh{border-left:3px solid #74d5a6}.fridge-zone.tone-info{border-left:3px solid #8fc2ff}.fridge-zone span,.fridge-zone p{color:#ffffffb8;font-size:var(--text-xs);margin:0;font-weight:800}.fridge-zone strong{color:#fff;font-size:22px;line-height:1}.summary-panel,.input-panel,.quick-add-panel,.recognized-card,.food-card,.today-brief-card,.recommendation-card,.basis-note,.answer-card,.chat-question,.empty-result,.expiry-hero,.expiry-summary,.push-card,.stock-status,.empty-state,.loading-panel,.ask-form{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out)}.summary-panel{padding:16px}.summary-main strong{font-size:var(--text-2xl);line-height:var(--lh-tight);display:block}.summary-main p,.push-copy,.voice-panel p,.basis-line,.basis-note p,.today-brief-card p,.recommendation-card p,.stock-status p,.empty-result p,.expiry-summary p,.expiry-hero p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:6px 0 0}.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.stat-tile{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:4px;min-height:74px;padding:10px;display:flex}.stat-tile strong{font-size:var(--text-xl);line-height:1}.stat-tile span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.push-card{gap:12px;padding:12px;display:flex}.push-icon,.spark-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--green);background:var(--green-soft);flex:0 0 36px;justify-content:center;align-items:center;display:inline-flex}.push-title{font-size:var(--text-md);margin:0;font-weight:800}.today-brief-card{color:#fff;background:linear-gradient(135deg,#ffffff24 0 1px,#0000 1px 18px),#24372d;border-color:#24372d;padding:18px;position:relative;overflow:hidden}.today-brief-card:after{content:"";border:24px solid #ffffff0d;border-radius:50%;width:140px;height:140px;position:absolute;inset:auto -42px -48px auto}.today-brief-head{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.today-brief-card .spark-icon{color:#fff;background:#ffffff24}.today-brief-card .panel-label,.today-brief-card p{color:#ffffffc7}.today-brief-card h2{margin:0;font-size:22px;line-height:1.28}.today-brief-card p,.today-related-strip,.today-brief-card .recommendation-actions{z-index:1;position:relative}.today-related-strip{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.today-related-strip span{border-radius:var(--radius-sm);min-height:34px;font-size:var(--text-sm);background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:8px;padding:0 10px;font-weight:900;display:inline-flex}.today-related-strip small{color:#ffffffb8;font-size:11px;font-weight:800}.recommendation-card{color:#fff;background:linear-gradient(135deg,#ffffff24 0 1px,#0000 1px 18px),#24372d;border-color:#24372d;padding:16px;position:relative;overflow:hidden}.recommendation-card:after{content:"";border:22px solid #ffffff0d;border-radius:50%;width:136px;height:136px;position:absolute;inset:auto -38px -44px auto}.recommendation-head{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.recommendation-card .spark-icon{color:#fff;background:#ffffff24}.recommendation-card .panel-label,.recommendation-card p{color:#ffffffc7}.recommendation-card h2{font-size:var(--text-lg);margin:0;line-height:1.32}.recommendation-card p{z-index:1;position:relative}.recommendation-actions{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid;position:relative}.recommendation-actions button{color:#fff;min-width:0;min-height:40px;font-size:var(--text-sm);background:#ffffff1f;border-color:#ffffff47;font-weight:900}.related-section,.related-list{flex-direction:column;gap:10px;display:flex}.basis-note{padding:12px}.section-header{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin-top:2px;display:flex}.section-header h2{font-size:var(--text-lg);margin:0;line-height:1.3}.section-header button{min-height:32px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;padding:0 8px 0 10px}.priority-list,.inventory-list,.recognized-list,.answer-list{flex-direction:column;gap:10px;display:flex}.priority-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:70px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.priority-row h3,.food-title h3,.recognized-card h2,.answer-card h2,.chat-question h2,.expiry-hero h2{margin:0;font-size:16px;line-height:1.3}.priority-row p{color:var(--muted);font-size:var(--text-sm);margin:4px 0 0;line-height:1.4}.rank-badge,.category-icon,.food-avatar{border-radius:var(--radius-sm);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.rank-badge{width:30px;height:30px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:96px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);flex-direction:column;justify-content:space-between;padding:12px;display:flex}.category-icon{width:34px;height:34px}.category-card strong{font-size:var(--text-md);margin-top:10px}.category-card span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.primary-action,.secondary-action{width:100%;min-height:50px;font-weight:800}.panel-action{margin-top:12px}.primary-action{color:#fff;background:var(--green);border-color:var(--green)}.secondary-action{color:var(--green);background:var(--green-soft);border-color:#167a5733}.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mode-switch button{color:var(--muted);font-weight:800}.mode-switch button.active{color:#fff;border-color:var(--green);background:var(--green)}.input-panel,.quick-add-panel{padding:14px}.field-label{margin-bottom:8px;font-weight:800;display:block}.text-input{resize:vertical;width:100%;min-height:132px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;outline:none;padding:12px;line-height:1.6}.composer-panel{padding:12px}.input-composer{--composer-control-size:34px;--composer-icon-size:14px;grid-template-columns:var(--composer-control-size) minmax(0, 1fr) auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;align-items:end;gap:8px;min-height:58px;padding:8px 10px;display:grid;position:relative}.input-composer.no-voice{grid-template-columns:minmax(0,1fr) auto}.composer-textarea,.composer-full-textarea{resize:none;width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;line-height:1.45}.composer-textarea{min-height:44px;max-height:112px;font-size:var(--text-md);scrollbar-width:none;padding:11px 4px}.composer-textarea::-webkit-scrollbar{width:0;display:none}.composer-textarea::placeholder,.composer-full-textarea::placeholder{color:#87938b}.composer-actions{align-items:end;gap:8px;display:flex;position:relative}.composer-icon-button,.composer-send-button{width:var(--composer-control-size);height:var(--composer-control-size);min-height:var(--composer-control-size);flex:0 0 var(--composer-control-size)}.input-composer .composer-icon-button svg,.input-composer .composer-send-button svg,.input-composer .composer-mini-button svg{width:var(--composer-icon-size);height:var(--composer-icon-size);stroke-width:2.35px}.composer-icon-button{color:var(--muted);background:var(--surface)}.composer-icon-button.voice-trigger{color:var(--green);background:var(--green-soft);border-color:#167a572e}.composer-icon-button.voice-trigger.is-recording{color:#fff;background:#c23b2a;border-color:#c23b2a}.composer-send-button{color:#fff;background:var(--green);border-color:var(--green)}.composer-submit-stack{width:var(--composer-control-size);height:var(--composer-control-size);flex:0 0 var(--composer-control-size);position:relative}.composer-mini-button{z-index:2;width:var(--composer-control-size);height:var(--composer-control-size);min-height:var(--composer-control-size);color:var(--green);background:var(--green-soft);box-shadow:var(--shadow-soft);border-color:#167a5733;position:absolute;top:-42px;right:0}.composer-submit-stack .composer-send-button{position:absolute;inset:0}.composer-file-input{display:none}.composer-image-strip{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.composer-image-strip::-webkit-scrollbar{display:none}.composer-image-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex:0 0 92px;width:92px;position:relative;overflow:hidden}.composer-image-chip img{aspect-ratio:1.25;object-fit:cover;background:var(--surface-2);width:100%;display:block}.composer-image-chip span,.composer-image-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 7px;display:block;overflow:hidden}.composer-image-chip span{color:var(--text);font-size:var(--text-xs);margin-top:5px;font-weight:800}.composer-image-chip small{color:var(--muted);margin:2px 0 7px;font-size:11px}.composer-image-chip button{color:#fff;background:#16231bb8;border-color:#ffffff2e;width:24px;height:24px;min-height:24px;position:absolute;top:5px;right:5px}.composer-dialog{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1018126b;padding:18px;display:flex;position:absolute;inset:0}.composer-dialog-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:0;box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:14px;display:flex}.composer-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.composer-dialog-head h2{font-size:var(--text-lg);margin:0;line-height:1.3}.composer-full-textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;flex:1;min-height:260px;padding:12px}.composer-dialog-actions{grid-template-columns:repeat(3,minmax(0,auto));align-items:center;gap:8px;display:grid}.composer-dialog-actions button{min-height:42px;color:var(--muted);padding:0 12px;font-weight:800}.composer-dialog-actions .primary-action{color:#fff;background:var(--green);border-color:var(--green);margin-left:auto}.editable-field input,.editable-field select,.date-editor input,.ask-bar input,.composer-textarea,.composer-full-textarea{color:var(--text)}.voice-panel{align-items:center;gap:16px;min-height:132px;display:flex}.voice-button{color:#fff;background:var(--green);border:1px solid #167a572e;border-radius:50%;flex:0 0 72px;width:72px;height:72px}.voice-panel strong{font-size:20px}.photo-panel{flex-direction:column;gap:12px;display:flex}.photo-preview{min-height:142px;color:var(--muted);border-radius:var(--radius-sm);background:#fbfcfa;border:1px dashed #a8b5ad;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.photo-actions,.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-add-panel .section-header{margin:0 0 10px}.quick-add-head{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin:0 0 10px;display:flex}.quick-add-head h2{font-size:var(--text-lg);margin:0;line-height:1.3}.quick-add-head button{min-height:32px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);border-color:#167a572e;padding:0 10px;font-weight:900}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quick-grid button{min-width:0;font-size:var(--text-sm)}.quick-manager{flex-direction:column;gap:10px;display:flex}.quick-edit-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.85fr) auto;gap:8px;padding:10px;display:grid}.quick-edit-row input,.quick-edit-row select{width:100%;min-width:0;min-height:38px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);outline:none;padding:0 9px}.quick-edit-row button{min-height:38px;color:var(--red);background:var(--red-soft);font-size:var(--text-sm);border-color:#b43b342e;padding:0 9px;font-weight:900}.quick-edit-row button.confirm-delete{color:#fff;background:var(--red);border-color:var(--red)}.quick-edit-row.add-row{background:0 0}.quick-edit-row.add-row button{color:#fff;background:var(--green);border-color:var(--green)}.recognized-card{padding:14px}.recognized-top,.answer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.field-cell{border-radius:var(--radius-sm);background:var(--surface-2);min-height:58px;padding:10px}.field-cell span{color:var(--muted);font-size:var(--text-xs);margin-bottom:4px;font-weight:700;display:block}.field-cell strong{overflow-wrap:anywhere;font-size:14px;display:block}.basis-line{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px}.recognized-card .basis-line,.recognized-card .card-actions{margin-top:10px}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.toolbar button{color:var(--muted);font-weight:800}.filter-tabs{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-tabs button{min-height:36px;color:var(--muted);font-size:var(--text-sm);flex:none;padding:0 12px;font-weight:800}.filter-tabs button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.food-card{padding:12px}.food-main{grid-template-columns:38px minmax(0,1fr);gap:10px;display:grid}.food-avatar{width:38px;height:38px}.food-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.food-main p{color:var(--muted);font-size:var(--text-sm);margin:4px 0 8px;line-height:1.4}.meta-line{flex-wrap:wrap;gap:6px;display:flex}.meta-line span{color:var(--muted);font-size:var(--text-xs);background:#f2f5f1;border-radius:6px;padding:4px 7px;font-weight:700}.food-card .card-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.expiry-hero{color:#fff;background:#24372d;border-color:#24372d;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.expiry-hero p,.expiry-hero .panel-label{color:#ffffffc7}.expiry-summary{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.expiry-summary strong{font-size:var(--text-lg);line-height:1.3;display:block}.expiry-group{flex-direction:column;gap:10px;display:flex}.group-title{color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:800;display:flex}.chat-question{color:#fff;background:var(--blue);border-color:var(--blue);padding:16px}.chat-question .panel-label{color:#ffffffc2}.answer-card{padding:14px}.answer-list{margin-top:12px}.empty-result{padding:14px}.empty-result>div{color:var(--red);align-items:center;gap:8px;display:flex}.empty-result button{width:100%;color:var(--blue);background:var(--blue-soft);border-color:#256bb42e;margin-top:12px;font-weight:800}.ask-bar{background:var(--bg);grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:8px 0 2px;display:grid;position:sticky;bottom:0}.ask-bar input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);outline:none;min-width:0;min-height:44px;padding:0 12px}.ask-bar button{color:#fff;background:var(--green);border-color:var(--green);min-width:44px}.home-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;display:grid}.home-workbench,.mode-panel{flex-direction:column;gap:12px;display:flex}.home-mode-switch{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffa3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.home-mode-switch button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border-color:#0000;font-weight:900}.home-mode-switch button.active{color:#fff;border-color:var(--green);background:var(--green)}.compact-panel{box-shadow:none}.stock-status{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.stock-status strong{font-size:var(--text-md);line-height:1.35;display:block}.priority-row{display:block}.priority-main{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.priority-row.compact .priority-main{grid-template-columns:30px minmax(0,1fr)}.priority-row.compact .status-pill{grid-column:2;justify-self:start;margin-top:8px}.priority-row.with-actions{padding-bottom:10px}.row-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.row-actions button,.date-choice button,.recommend-grid button,.empty-state button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:36px;color:var(--muted);background:var(--surface);font-size:var(--text-sm);justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.category-card.as-button{width:100%;color:inherit;text-align:left;align-items:flex-start}.toolbar button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.empty-state,.loading-panel{text-align:center;padding:16px}.empty-state{flex-direction:column;align-items:center;gap:8px;display:flex}.empty-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--green);background:var(--green-soft);justify-content:center;align-items:center;display:inline-flex}.empty-state strong,.loading-panel strong{font-size:var(--text-md)}.empty-state p,.assistive-note{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.empty-state button{color:var(--green);background:var(--green-soft);border-color:#167a5733;margin-top:4px}.loading-panel{color:var(--green);justify-content:center;align-items:center;gap:8px;display:flex}.editable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.editable-field{flex-direction:column;gap:6px;min-width:0;display:flex}.editable-field span{color:var(--muted);font-size:var(--text-xs);font-weight:800}.editable-field input,.editable-field select,.date-editor input{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;outline:none;width:100%;min-width:0;min-height:40px;padding:0 10px}.inline-warning{border-radius:var(--radius-sm);color:var(--amber);background:var(--amber-soft);font-size:var(--text-sm);align-items:flex-start;gap:8px;margin-top:10px;padding:10px;font-weight:800;line-height:1.45;display:flex}.date-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.date-choice button{color:var(--amber);background:var(--amber-soft);border-color:#a86d0038}.date-choice p{border-radius:var(--radius-sm);color:var(--amber);background:var(--amber-soft);font-size:var(--text-sm);grid-column:1/-1;margin:0;padding:10px;font-weight:800;line-height:1.45}.storage-basis{margin-top:8px}.single-danger{grid-template-columns:1fr}.single-danger button{color:var(--red);background:var(--red-soft);border-color:#b43b342e}.date-editor{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:6px;min-height:42px;padding:0 8px;display:inline-flex}.date-editor input{background:0 0;border:0;min-height:34px;padding:0}.ask-form{padding:14px}.ask-bar.inline{background:0 0;padding:0;position:static}.recommend-grid{flex-wrap:wrap;gap:8px;display:flex}.recommend-grid button{text-align:left;flex:calc(50% - 8px);justify-content:flex-start;min-width:150px;padding:0 10px}.history-layer{z-index:9;position:absolute;inset:0}.history-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1018126b;border:0;position:absolute;inset:0}.history-panel{border-right:1px solid var(--line);background:var(--surface);width:min(84%,340px);box-shadow:var(--shadow);animation:drawer-in var(--dur-2) var(--ease-out) both;flex-direction:column;gap:14px;padding:18px 14px;display:flex;position:absolute;inset:0 auto 0 0}.history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-head h2{font-size:var(--text-xl);margin:0;line-height:1.2}.history-list{flex-direction:column;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.history-list button{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:88px;padding:10px;display:flex}.history-list span{color:var(--green);font-size:var(--text-xs);font-weight:900}.history-list strong{font-size:var(--text-md);margin-top:4px;line-height:1.35}.history-list small{color:var(--muted);font-size:var(--text-xs);margin-top:4px;line-height:1.35}.settings-layer{z-index:9;position:absolute;inset:0}.settings-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1018126b;border:0;position:absolute;inset:0}.settings-panel{border-left:1px solid var(--line);background:var(--surface);width:min(88%,360px);min-height:0;box-shadow:var(--shadow);animation:settings-in var(--dur-2) var(--ease-out) both;flex-direction:column;gap:12px;padding:18px 14px;display:flex;position:absolute;inset:0 0 0 auto;overflow-y:auto}.settings-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-head h2{font-size:var(--text-xl);margin:0;line-height:1.2}.setting-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:10px;padding:12px;display:flex}.setting-section h3{font-size:var(--text-md);margin:0;line-height:1.35}.setting-section p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.setting-field{flex-direction:column;gap:8px;display:flex}.setting-field>span{color:var(--muted);font-size:var(--text-xs);font-weight:900}.setting-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.setting-option-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-option-grid button{min-width:0;min-height:36px;color:var(--muted);background:var(--surface-2);font-size:var(--text-sm);border-color:#0000;padding:0 8px;font-weight:900}.setting-option-grid button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.fixed-setting{border-radius:var(--radius-sm);min-height:40px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);align-items:center;gap:8px;padding:0 10px;font-weight:900;display:flex}.storage-rule-list{flex-direction:column;gap:8px;display:flex}.storage-rule-list div{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:48px minmax(0,1fr);gap:10px;padding:10px;display:grid}.storage-rule-list strong{font-size:var(--text-sm)}.storage-rule-list span{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.toast-banner{z-index:5;border-radius:var(--radius-sm);color:#fff;min-height:44px;font-size:var(--text-sm);box-shadow:var(--shadow-soft);animation:toast-in var(--dur-2) var(--ease-out) both;justify-content:center;align-items:center;padding:10px 14px;font-weight:900;display:flex;position:absolute;bottom:82px;left:18px;right:18px}.toast-banner.tone-success{background:var(--green)}.toast-banner.tone-info{background:var(--blue)}.toast-banner.tone-warning{background:var(--amber)}.toast-banner.tone-danger{background:var(--red)}.status-pill{min-height:24px;font-size:var(--text-xs);white-space:nowrap;border-radius:6px;flex:none;align-items:center;padding:0 8px;font-weight:800;display:inline-flex}.tone-danger{color:var(--red);background:var(--red-soft)}.tone-warning{color:var(--amber);background:var(--amber-soft)}.tone-fresh{color:var(--green);background:var(--green-soft)}.tone-info{color:var(--blue);background:var(--blue-soft)}.tone-muted{color:var(--muted);background:var(--surface-2)}.bottom-nav{border-top:1px solid var(--line);background:#fffffff5;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 10px 14px;display:grid}.bottom-nav button{border-radius:var(--radius-sm);min-width:0;min-height:52px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:800;display:flex}.bottom-nav button.active{color:var(--green);background:var(--green-soft)}@media (hover:hover){.icon-button:hover,.search-entry:hover,.primary-action:hover,.secondary-action:hover,.toolbar button:hover,.filter-tabs button:hover,.mode-switch button:hover,.quick-grid button:hover,.photo-actions button:hover,.card-actions button:hover,.empty-result button:hover,.ask-bar button:hover,.composer-icon-button:hover,.composer-send-button:hover,.composer-mini-button:hover,.composer-dialog-actions button:hover,.composer-image-chip button:hover,.row-actions button:hover,.date-choice button:hover,.recommendation-actions button:hover,.recommend-grid button:hover,.empty-state button:hover,.section-header button:hover,.quick-add-head button:hover,.quick-edit-row button:hover,.setting-option-grid button:hover,.fridge-top button:hover,.bottom-nav button:hover{border-color:#167a575c;transform:translateY(-1px)}.food-card:hover,.priority-row:hover,.category-card:hover,.recognized-card:hover,.recommendation-card:hover,.basis-note:hover,.empty-state:hover,.setting-section:hover{border-color:#167a573d;transform:translateY(-1px)}}@keyframes meter-grow{0%{transform:scaleX(.72)}to{transform:scaleX(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes settings-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media (max-width:520px){.prototype-page{padding:0;display:block}.app-frame{width:100%;height:100dvh;min-height:100dvh;box-shadow:none;border:0;border-radius:0}.composer-dialog{padding:12px}.settings-panel{width:min(92%,380px)}}@media (max-width:360px){.category-grid,.quick-grid,.home-actions,.date-choice,.editable-grid,.recommendation-actions,.composer-dialog-actions,.row-actions,.quick-edit-row,.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stats,.field-grid,.food-card .card-actions,.fridge-zones,.home-actions,.date-choice,.editable-grid,.recommendation-actions,.composer-dialog-actions,.row-actions,.quick-edit-row,.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
