@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.0end3qt1tw3rz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0bhxxck2.9j91.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_153b756c-module__JuWJOq__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_153b756c-module__JuWJOq__variable{--font-figtree:"Figtree", "Figtree Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_84d6efd-module__5Hl15a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_84d6efd-module__5Hl15a__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_e975f925-module__RebADG__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_e975f925-module__RebADG__variable{--font-source-serif-4:"Source Serif 4", "Source Serif 4 Fallback"}
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-figtree);--default-mono-font-family:var(--font-jetbrains-mono)}}@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,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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{.start{inset-inline-start:var(--spacing)}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#fdfdfc;--bg-soft:#f7f6f2;--bg-card:#fff;--ink:#1b1c18;--ink-2:#3f4138;--ink-3:#6f7265;--ink-4:#a7a99e;--line:#edebe3;--line-strong:#d9d6cb;--shadow-sm:0 1px 0 #1718140a, 0 1px 2px #1718140a;--shadow-md:0 2px 4px #1718140d, 0 10px 24px #1718140f;--radius:10px;--radius-lg:14px;--warn:#d37812;--warn-soft:#ffeee1;--danger:#d33949;--danger-soft:#ffedec;--accent:#479c4d;--accent-soft:#dff6de;--accent-border:#b6d9b6;--accent-deep:#084511;--row-gap:10px;--row-pad:12px 12px}@supports (color:lab(0% 0 0)){:root{--warn:lab(59.911% 31.9588 63.3456);--warn-soft:lab(95.243% 8.91963 17.0156);--danger:lab(49.2631% 60.9442 28.9206);--danger-soft:lab(94.9571% 12.6987 5.38962);--accent:lab(57.6157% -39.2793 32.5965);--accent-soft:lab(94.7233% -11.1774 8.71127);--accent-border:lab(83.3754% -16.7679 13.1672);--accent-deep:lab(24.6185% -28.163 24.2677)}}@media (prefers-color-scheme:dark){:root{--bg:#12140f;--bg-soft:#1b1d17;--bg-card:#1f211a;--ink:#f2f1ea;--ink-2:#d4d4ca;--ink-3:#96988c;--ink-4:#5e6055;--line:#2a2c24;--line-strong:#3a3c33}}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-figtree,"Figtree", ui-sans-serif, system-ui, sans-serif);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{color:inherit;cursor:pointer;font-family:inherit}input{color:inherit;font-family:inherit}h1,h2,h3{letter-spacing:-.012em;margin:0;font-weight:600}h1{letter-spacing:-.02em;font-size:28px}h2{font-size:18px}h3{font-size:14px}p{margin:0}.app{background:var(--bg);grid-template-columns:232px 1fr;min-height:100vh;display:grid}.rail{background:var(--bg-soft);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:9px;padding:4px 6px 20px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.brand-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.brand-name span{color:var(--accent);font-weight:500}.rail-nav{flex-direction:column;gap:2px;display:flex}.rail-item{appearance:none;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.rail-item:hover{background:#00000008}@media (prefers-color-scheme:dark){.rail-item:hover{background:#ffffff0a}}.rail-item.active{background:var(--bg-card);color:var(--ink);box-shadow:var(--shadow-sm)}.rail-item.muted{color:var(--ink-3)}.rail-item.muted.active{color:var(--ink)}.rail-label{flex:1}.rail-badge{background:var(--warn-soft);color:#783a00;color:lab(32.0488% 29.3573 62.5106);border:.5px solid #f2bf96;border:.5px solid lab(81.2115% 15.0366 28.04);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600}.rail-sep{background:var(--line);height:1px;margin:10px 8px}.rail-foot{margin-top:auto}.household-card{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.hh-title{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.hh-body{align-items:center;gap:10px;display:flex}.hh-names{color:var(--ink-2);font-size:12px}.signout-btn{appearance:none;cursor:pointer;width:100%;color:var(--ink-3);background:0 0;border:0;align-items:center;gap:6px;padding:8px 4px 2px;font-size:12px;transition:color .12s;display:flex}.main{width:100%;max-width:1200px;padding:32px 40px 64px}.screen{flex-direction:column;gap:20px;display:flex}.screen-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.screen-head h1{margin-bottom:4px}.sub{color:var(--ink-3);font-size:13px}.inline-people{align-items:center;gap:6px;display:inline-flex}.head-actions{align-items:center;gap:8px;display:flex}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--bg-card);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--bg-soft)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.96);background:var(--accent)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:#0000000a}@media (prefers-color-scheme:dark){.btn-ghost:hover{background:#ffffff0d}}.btn-wide{justify-content:center;width:100%;margin-top:14px;padding:12px;font-size:13px}.avatar{border-radius:999px;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:inline-grid}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.badge-warn{background:var(--warn-soft);color:#753c00;color:lab(31.9648% 32.0812 67.8249);border:.5px solid #f2bf96;border:.5px solid lab(81.2115% 15.0366 28.04)}.badge-amber{color:#6d4b00;color:lab(35.0077% 11.3181 50.9422);background:#fff4e0;background:lab(96.5959% 1.91957 11.4456);border:.5px solid #e6cda5;border:.5px solid lab(83.8753% 4.48924 23.4822)}.badge-neutral{background:var(--bg-soft);color:var(--ink-3);border:.5px solid var(--line)}.quick-add{position:relative}.quick-add-field{background:var(--bg-card);border:1px solid var(--line-strong);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.quick-add-field.focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.quick-add-field svg{color:var(--ink-3)}.quick-add-field input{background:0 0;border:0;outline:none;flex:1;font-size:14px}.ghost-x{appearance:none;cursor:pointer;color:var(--ink-4);background:0 0;border:0;padding:0}.quick-add-drop{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-md);z-index:10;border-radius:12px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.qa-section{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:8px 10px 4px;font-size:10px;font-weight:600}.qa-row{appearance:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.qa-row:hover{background:var(--bg-soft)}.qa-name{color:var(--ink);flex:1;font-weight:500}.qa-hint{color:var(--ink-3);font-size:11px}.qa-row svg{color:var(--ink-3)}.groups{flex-direction:column;gap:14px;display:flex}.group{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.group-head{border-bottom:1px solid var(--line);background:var(--bg-soft);align-items:center;gap:8px;padding:12px 16px;display:flex}.group-head h3{color:var(--ink-2);letter-spacing:.01em;font-size:13px;font-weight:600}.group-count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.edit-list{margin:0;padding:0;list-style:none}.edit-row{padding:var(--row-pad);border-bottom:1px solid var(--line);grid-template-columns:16px 1fr 120px 24px 22px;align-items:center;gap:10px;display:grid}.edit-row:last-child{border-bottom:0}.edit-row.done .name-input{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.edit-note{grid-area:2/2/auto/-1;padding-bottom:4px}.note-input{width:100%;color:var(--ink-3);background:0 0;border:0;border-bottom:1px dashed #0000;outline:none;padding:2px 0;font-size:12px;font-style:italic}.note-input:focus{border-bottom-color:var(--accent);font-style:normal}.note-input::placeholder{color:var(--ink-4)}.name-input,.qty-input{background:0 0;border:0;border-bottom:1px dashed #0000;outline:none;width:100%;padding:4px 0;font-size:13.5px}.name-input:focus,.qty-input:focus{border-bottom-color:var(--accent)}.qty-input{color:var(--ink-3);font-family:var(--font-jetbrains-mono,ui-monospace, "JetBrains Mono", monospace);font-size:12px}.row-x{appearance:none;color:var(--ink-4);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;transition:background .12s,color .12s;display:grid}.row-x:hover{background:var(--danger-soft);color:var(--danger)}.foot-hint{color:var(--ink-3);text-align:center;padding:12px;font-size:12px;font-style:italic}.shopping{gap:16px}.shopping-head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.shopping-title{text-align:center}.shopping-title h1{font-size:20px}.progress{background:var(--bg-soft);border-radius:999px;height:6px;position:relative;overflow:hidden}.progress-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .3s cubic-bezier(.3,.7,.4,1)}.progress-label{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:-20px;right:0}.aisle-rail{background:var(--bg-soft);border:1px solid var(--line);z-index:5;border-radius:10px;flex-wrap:wrap;gap:6px;padding:6px;display:flex;position:sticky;top:0}.aisle-pill{color:var(--ink-2);background:var(--bg-card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;text-decoration:none;transition:border-color .12s;display:inline-flex}.aisle-pill:hover{border-color:var(--line-strong)}.aisle-pill-count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-family:var(--font-jetbrains-mono,ui-monospace, monospace);font-size:10.5px}.aisle-pill-done{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-deep)}.aisle-pill-done .aisle-pill-count{color:var(--accent-deep);opacity:.7}.shopping-groups{flex-direction:column;gap:20px;display:flex}.shop-group{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px;transition:opacity .2s}.shop-group.all-done{opacity:.55}.shop-group-head{align-items:center;gap:10px;padding:10px 12px 12px;display:flex}.shop-group-head h2{letter-spacing:-.01em;font-size:16px}.shop-count{color:var(--ink-3);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:11px;font-weight:600}.shop-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shop-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:14px;padding:12px;transition:background .12s;display:flex}.shop-row:hover{background:var(--bg-soft)}.shop-row-main{flex:1;min-width:0}.shop-row-name{color:var(--ink);font-size:15px;font-weight:500}.shop-row-qty{color:var(--ink-3);font-size:12px;font-family:var(--font-jetbrains-mono,ui-monospace, monospace);margin-top:2px}.shop-row.done .shop-row-name{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.shop-row.done .shop-row-qty{color:var(--ink-4)}.done-collapse{margin-top:4px}.done-rule{align-items:center;gap:10px;padding:8px 12px 4px;display:flex}.done-rule span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-size:10px;font-weight:600}.done-rule:before,.done-rule:after{content:"";background:var(--line);flex:1;height:1px}.check{appearance:none;border:1.5px solid var(--line-strong);background:var(--bg-card);cursor:pointer;color:#fff;border-radius:8px;flex-shrink:0;place-items:center;transition:border-color .12s,background .12s;display:grid}.check:hover{border-color:var(--accent)}.check-on{background:var(--accent);border-color:var(--accent)}.pantry-filters{flex-wrap:wrap;gap:6px;display:flex}.chip{appearance:none;background:var(--bg-card);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;transition:background .12s,border-color .12s;display:inline-flex}.chip-count{background:var(--bg-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:11px}.chip.chip-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.chip-active .chip-count{color:#fffc;background:#ffffff26}.search{background:var(--bg-card);border:1px solid var(--line-strong);border-radius:8px;align-items:center;gap:8px;min-width:240px;padding:7px 12px;display:flex}.search svg{color:var(--ink-3);flex-shrink:0}.search input{background:0 0;border:0;outline:none;flex:1;font-size:13px}.pantry-list{margin:0;padding:0;list-style:none}.pantry-row{padding:var(--row-pad);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex}.pantry-row:last-child{border-bottom:0}.pantry-row-main{flex:1;min-width:0}.pantry-row-name{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.pantry-row-meta{color:var(--ink-3);align-items:center;gap:8px;margin-top:3px;font-size:12px;display:flex}.pantry-row-meta .dotsep{color:var(--ink-4)}.pantry-row-edit{padding:0;display:block}.pantry-row-edit .pantry-row-hd{appearance:none;width:100%;padding:var(--row-pad);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:12px;transition:background .12s;display:flex}.pantry-row-edit .pantry-row-hd:hover{background:var(--bg-soft)}.pantry-row-edit .pantry-row-hd>svg{color:var(--ink-4);flex-shrink:0;margin-left:auto}.pantry-row-edit.open .pantry-row-hd>svg{color:var(--accent)}.rem-ring{flex-shrink:0}.exp-warn{color:var(--warn);font-weight:500}.pantry-edit{border-top:1px solid var(--line);background:var(--bg-soft);gap:14px;padding:16px;display:grid}.pe-field{flex-direction:column;gap:8px;display:flex}.pe-field label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:10px;font-weight:600}.pe-remaining{align-items:center;gap:12px;display:flex}.pe-remaining input[type=range]{appearance:none;background:var(--line);border-radius:999px;outline:none;flex:1;height:5px}.pe-remaining input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;background:var(--line);border-radius:999px;height:5px}.pe-remaining input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);width:18px;height:18px;box-shadow:var(--shadow-sm);cursor:pointer;border:2px solid #fff;border-radius:999px}.pe-pct{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;min-width:40px;font-size:12px}.pe-quick{flex-wrap:wrap;gap:4px;display:flex}.qpct{appearance:none;border:1px solid var(--line);background:var(--bg-card);color:var(--ink-2);cursor:pointer;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:background .12s,border-color .12s}.qpct:hover{border-color:var(--line-strong)}.qpct.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pe-date,.pe-text{appearance:none;border:1px solid var(--line-strong);background:var(--bg-card);font:inherit;color:var(--ink);border-radius:7px;outline:none;width:100%;max-width:240px;padding:8px 10px;font-size:13px;transition:border-color .12s}.pe-date:focus,.pe-text:focus{border-color:var(--accent)}.pe-foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.pe-meta{color:var(--ink-3);font-size:11px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.load-more{justify-content:center;padding:28px 0 8px;display:flex}.recipe-card{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;border-radius:14px;transition:transform .16s,box-shadow .16s;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.recipe-thumb{aspect-ratio:4/3;position:relative;overflow:hidden}.thumb-striae{background-image:repeating-linear-gradient(135deg,#00000008 0 10px,#0000 10px 22px);position:absolute;inset:0}@media (prefers-color-scheme:dark){.thumb-striae{background-image:repeating-linear-gradient(135deg,#ffffff0a 0 10px,#0000 10px 22px)}}.thumb-label{place-items:center;display:grid;position:absolute;inset:0}.thumb-label-text{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);color:#00000059;letter-spacing:.04em;text-transform:lowercase;font-size:11px}@media (prefers-color-scheme:dark){.thumb-label-text{color:#fff6}}.thumb-tag{letter-spacing:.02em;font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:600;position:absolute;bottom:10px;left:10px}.recipe-meta{padding:14px 16px 16px}.recipe-meta h3{letter-spacing:-.01em;text-wrap:pretty;font-size:15px;line-height:1.3}.recipe-author{color:var(--ink-3);margin-top:4px;font-size:12px}.coverage{margin-top:12px}.coverage-bar{background:var(--bg-soft);border-radius:999px;height:4px;display:flex;overflow:hidden}.cov-have{background:var(--accent)}.cov-list{background:#fba962;background:lab(76.3287% 26.1948 48.7304)}.coverage-legend{color:var(--ink-3);gap:10px;margin-top:8px;font-size:11px;display:flex}.coverage-legend span{align-items:center;gap:5px;display:inline-flex}.sw{border-radius:2px;width:8px;height:8px;display:inline-block}.sw-have{background:var(--accent)}.sw-list{background:#fba962;background:lab(76.3287% 26.1948 48.7304)}.sw-need{background:var(--line-strong)}.recipe-detail{gap:28px}.back-link{appearance:none;cursor:pointer;color:var(--ink-3);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;transition:color .12s;display:inline-flex}.back-link:hover{color:var(--ink)}.recipe-header{grid-template-columns:1fr 280px;align-items:end;gap:32px;display:grid}.recipe-header-main h1{text-wrap:pretty;margin-top:8px;font-size:34px;line-height:1.15}.recipe-breadcrumbs{flex-wrap:wrap;gap:6px;display:flex}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:11px;font-weight:600}.recipe-summary{color:var(--ink-2);text-wrap:pretty;max-width:62ch;margin-top:14px;font-size:15px;line-height:1.5}.recipe-facts{color:var(--ink-3);gap:18px;margin-top:18px;font-size:12.5px;display:flex}.recipe-facts span{align-items:center;gap:6px;display:inline-flex}.recipe-facts .source{color:var(--ink-3);font-family:var(--font-jetbrains-mono,ui-monospace, monospace);margin-left:auto}.recipe-cover{aspect-ratio:1;border-radius:14px;position:relative;overflow:hidden}.recipe-body{grid-template-columns:340px 1fr;align-items:start;gap:40px;display:grid}.ingredients{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:20px;position:sticky;top:24px}.ingredients-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.cov-summary{color:var(--ink-3);align-items:center;gap:8px;font-size:11px;display:flex}.cov-summary .sw{margin-right:3px}.ingredient-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ing{border-bottom:1px solid var(--line);grid-template-columns:14px 1fr auto auto;align-items:baseline;gap:10px;padding:8px 0;display:grid}.ing:last-child{border-bottom:0}.ing-bullet{background:var(--line-strong);border-radius:2px;width:8px;height:8px}.ing-have .ing-bullet{background:var(--accent)}.ing-cart .ing-bullet{background:var(--accent);opacity:.5}.ing-list .ing-bullet{background:#fba962;background:lab(76.3287% 26.1948 48.7304)}.ing-need .ing-bullet{background:var(--line-strong)}.ing-name{font-size:13.5px;font-weight:500}.ing-have .ing-name{color:var(--ink-2)}.ing-need .ing-name{color:var(--ink)}.ing-qty{color:var(--ink-3);font-family:var(--font-jetbrains-mono,ui-monospace, monospace);white-space:nowrap;font-size:11.5px}.ing-badge{letter-spacing:.02em;white-space:nowrap;font-size:10.5px;font-weight:500}.ing-badge-have{color:var(--accent-deep)}.ing-badge-cart{color:var(--accent-deep);opacity:.6}.ing-badge-list{color:#7b4200;color:lab(34.4644% 26.4439 56.9609)}.add-ing{appearance:none;border:1px solid var(--line-strong);background:var(--bg-card);cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.add-ing:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.steps h2{margin-bottom:16px}.steps ol{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.steps li{grid-template-columns:28px 1fr;align-items:start;gap:14px;display:grid}.step-num{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-deep);font-variant-numeric:tabular-nums;border:.5px solid var(--accent-border);border-radius:999px;place-items:center;font-size:11.5px;font-weight:600;display:grid}.step-text{color:var(--ink-2);text-wrap:pretty;font-size:14.5px;line-height:1.55}.admin{gap:16px}.tabbar{border-bottom:1px solid var(--line);gap:2px;display:flex}.tabbar-btn{appearance:none;cursor:pointer;color:var(--ink-3);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:500;transition:color .12s}.tabbar-btn:hover{color:var(--ink-2)}.tabbar-btn-active{color:var(--ink);border-bottom-color:var(--ink)}.add-site-form{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.add-site-fields{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.add-site-field{flex-direction:column;gap:5px;display:flex}.add-site-field label{color:var(--ink-2);font-size:12px;font-weight:600}.add-site-field input{border:1.5px solid var(--line-strong);background:var(--bg);color:var(--ink);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.add-site-field input:focus{border-color:var(--accent)}.add-site-optional{color:var(--ink-3);font-weight:400}.add-site-error{color:var(--danger);margin:0;font-size:13px}.add-site-actions{justify-content:flex-end;gap:8px;display:flex}.sites-wrap{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.table-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.muted{color:var(--ink-3);font-size:12px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:var(--bg-soft);border-bottom:1px solid var(--line);padding:12px 14px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.table tbody tr{cursor:pointer;transition:background .12s}.table tbody tr:hover{background:var(--bg-soft)}.table tbody tr:last-child td{border-bottom:0}.table .num{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:12px}.table .title-cell{color:var(--ink);font-weight:500}.table-empty{color:var(--ink-3);text-align:center;padding:24px 14px;font-size:13px}.pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:12px 14px;display:flex}.pagination-label{color:var(--ink-3);text-align:center;min-width:100px;font-size:13px}.table .mono{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);color:var(--ink-2);font-size:12px}.host-cell{align-items:center;gap:10px;display:flex}.fav{background:var(--bg-soft);border:1px solid var(--line);width:20px;height:20px;color:var(--ink-3);border-radius:5px;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:grid}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-pill .dot{border-radius:999px;width:5px;height:5px}.status-pill .pulse{border-radius:999px;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.robots-ok{color:var(--ink-2);font-size:12px}.robots-warn{color:#814300;color:lab(35.3908% 34.3728 76.6553);font-size:12px;font-weight:500}.btn-icon{border:1px solid var(--line-strong);background:var(--bg-card);cursor:pointer;border-radius:6px;place-items:center;width:26px;height:26px;transition:background .12s;display:grid}.btn-icon:hover{background:var(--bg-soft)}.btn-icon-stop{background:var(--danger-soft);color:var(--danger);border-color:#fdc8c7;border-color:lab(85.4726% 19.0729 8.14773)}.row-open{background:var(--bg-soft)}.row-detail td{background:var(--bg-soft);padding:0!important}.site-detail{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;padding:20px 24px;display:grid}.sd-k{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:4px;font-size:10px;font-weight:600}.sd-v{color:var(--ink-2);white-space:pre-line;margin-bottom:14px;font-size:13px}.sd-v.mono{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);font-size:12px}.lock-inline{background:var(--bg-card);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;display:inline-flex}.log-panel{background:var(--bg-card);border:1px solid var(--line);font-family:var(--font-jetbrains-mono,ui-monospace, monospace);border-radius:14px;max-height:520px;padding:6px;font-size:12px;overflow:auto}.log-row{border-bottom:1px dashed var(--line);grid-template-columns:80px 60px 200px 1fr;align-items:baseline;gap:14px;padding:8px 14px;display:grid}.log-row:last-child{border-bottom:0}.log-t{color:var(--ink-3)}.log-level{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.log-level-ok{color:var(--accent-deep)}.log-level-info{color:var(--ink-3)}.log-level-warn{color:#974d00;color:lab(41.2396% 33.6675 79.4314)}.log-host{color:var(--ink-2)}.log-msg{color:var(--ink)}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-md);z-index:100;white-space:nowrap;border-radius:10px;padding:10px 16px;font-size:13px;animation:.25s ease-out toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tabbar-mobile{display:none}.mtab{appearance:none;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px 8px;font-size:10.5px;font-weight:500;text-decoration:none;transition:color .12s;display:flex;position:relative}.mtab.active{color:var(--accent-deep)}.mtab.active .mtab-icon{color:var(--accent)}.mtab-icon{place-items:center;display:grid;position:relative}.mtab-badge{background:var(--warn);color:#fff;border-radius:999px;place-items:center;min-width:14px;height:14px;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:grid;position:absolute;top:-4px;right:-8px}@media (max-width:1080px) and (min-width:721px){.app{grid-template-columns:64px 1fr}.rail{align-items:center;padding:14px 8px;overflow:visible}.brand-name,.rail-label,.household-card{display:none}.brand{padding:4px 0 16px}.rail-item{justify-content:center;width:44px;height:44px;padding:10px}.rail-badge{min-width:14px;height:14px;padding:0 4px;font-size:9px;line-height:14px;position:absolute;top:4px;right:4px}.rail-item{position:relative}.rail-foot{display:none}.main{padding:24px 24px 64px}.recipe-header{grid-template-columns:1fr;gap:20px}.recipe-cover{aspect-ratio:16/9;max-width:100%}.recipe-body{grid-template-columns:1fr;gap:28px}.ingredients{position:static}.site-detail{grid-template-columns:1fr;gap:20px}}@media (max-width:720px){.app{grid-template-columns:1fr}.rail{display:none}.tabbar-mobile{background:var(--bg-card);border-top:1px solid var(--line);z-index:50;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -1px 0 var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.main{padding:16px 14px calc(80px + env(safe-area-inset-bottom,0));max-width:100%}h1{font-size:22px}.screen{gap:14px}.screen-head{flex-direction:column;align-items:stretch;gap:12px}.head-actions{flex-wrap:wrap}.search{flex:1;min-width:0}.quick-add-field{padding:14px}.quick-add-field input{font-size:16px}.btn{padding:10px 14px;font-size:13.5px}.btn-sm{padding:6px 10px}.edit-row{grid-template-columns:16px 1fr 22px;grid-template-areas:"check name x"".qty qty"".note note";row-gap:4px;padding:12px}.edit-row .check{grid-area:check}.edit-row .name-input{grid-area:name;font-size:15px}.edit-row .qty-input{grid-area:qty;width:100%}.edit-row .edit-note{grid-area:note;grid-column:unset;grid-row:unset}.edit-row .avatar{display:none}.edit-row .row-x{grid-area:x}.shopping-head{text-align:left;grid-template-columns:1fr;gap:8px}.shopping-title{text-align:left}.shopping-head .btn-primary{justify-content:center;width:100%}.shopping-head .btn-ghost{align-self:flex-start}.aisle-rail{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding:8px;overflow-x:auto}.aisle-rail::-webkit-scrollbar{display:none}.aisle-pill{flex-shrink:0}.shop-row{gap:12px;padding:14px 10px}.shop-row-name{font-size:16px}.recipe-grid{grid-template-columns:1fr;gap:14px}.recipe-header{grid-template-columns:1fr;gap:16px}.recipe-header-main h1{font-size:26px}.recipe-cover{aspect-ratio:16/10}.recipe-body{grid-template-columns:1fr;gap:24px}.ingredients{padding:16px;position:static}.ingredients-head{flex-direction:column;align-items:flex-start;gap:6px}.recipe-facts{flex-wrap:wrap;gap:12px}.recipe-facts .source{flex-basis:100%;margin-left:0}.ing{grid-template-columns:14px 1fr auto;grid-template-areas:"b name qty"".badge badge";row-gap:4px;padding:10px 0}.ing-bullet{grid-area:b}.ing-name{grid-area:name}.ing-qty{grid-area:qty}.ing-badge{grid-area:badge}.sites-wrap{border-radius:10px}.sites-wrap .table-bar{flex-direction:column;align-items:stretch;gap:8px}.sites-wrap>.table,.sites-wrap .table-bar+.table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.table th,.table td{padding:10px 12px}.site-detail{grid-template-columns:1fr;gap:16px;padding:16px}.log-row{grid-template-columns:64px 50px 1fr;gap:8px;padding:10px 12px}.log-row .log-host{display:none}.pantry-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.pantry-filters::-webkit-scrollbar{display:none}.chip{flex-shrink:0}.tabbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tabbar-btn{white-space:nowrap;flex-shrink:0}.toast{bottom:calc(80px + env(safe-area-inset-bottom,0))}}@media (max-width:380px){.main{padding:12px 12px 96px}h1{font-size:20px}.recipe-header-main h1{font-size:22px}}.app-loading{background:var(--bg);height:100dvh;color:var(--ink-3);justify-content:center;align-items:center;display:flex}.app-loading-mark{animation:1.4s ease-in-out infinite pulse-opacity}@keyframes pulse-opacity{0%,to{opacity:.4}50%{opacity:1}}.login-screen{background:var(--bg-soft);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:32px 28px}.login-brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;margin-bottom:24px;font-size:18px;font-weight:700;display:flex}.login-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 20px;font-size:20px;font-weight:700}.login-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);border:1px solid #f3bfbe;border:1px solid lab(81.9923% 19.0751 8.15368);margin-bottom:16px;padding:10px 12px;font-size:13px}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:5px;display:flex}.login-field label{color:var(--ink-2);font-size:13px;font-weight:600}.login-field input{border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--ink);outline:none;padding:9px 11px;font-family:inherit;font-size:14px;transition:border-color .15s}.login-field input:focus{border-color:var(--accent)}.login-switch{color:var(--ink-3);text-align:center;margin:18px 0 0;font-size:13px}.login-switch-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--w-bg:#fdfdfc;--w-bg-soft:#f7f6f2;--w-surface:#fff;--w-ink:#1b1c18;--w-ink-2:#3f4138;--w-ink-3:#6f7265;--w-ink-4:#9ca092;--w-line:#e8e6dd;--w-line-strong:#d9d7cc;--w-accent:#479c4d;--w-accent-deep:#045e17;--w-accent-soft:#dff6de;--w-hero-grad-1:#a8e3a980;--w-hero-grad-2:#fedec499;--w-hero-base:#f7f2e3;--w-pitch-em:var(--w-accent-deep);--w-tab-active-bg:#fff;--w-input-focus-ring:var(--w-accent-soft);--w-invite-hover:#f6eed8;--w-invite-on-border:#bad7ba}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:lab(0% 0 0)){:root{--w-accent:lab(57.6157% -39.2793 32.5965);--w-accent-deep:lab(34.2428% -36.6503 31.9143);--w-accent-soft:lab(94.7233% -11.1774 8.71127);--w-hero-grad-1:lab(85.0275% -27.9618 22.2539/.5);--w-hero-grad-2:lab(90.6016% 8.94561 17.0389/.6);--w-hero-base:lab(95.4589% .0415742 7.69171);--w-invite-hover:lab(94.3429% .152856 11.6066);--w-invite-on-border:lab(83.2495% -13.9723 10.9371)}}@media (prefers-color-scheme:dark){:root{--w-bg:#12140f;--w-bg-soft:#1b1d17;--w-surface:#1f2119;--w-ink:#ecebe3;--w-ink-2:#c9c8be;--w-ink-3:#92938a;--w-ink-4:#6a6c63;--w-line:#2a2c24;--w-line-strong:#383a30;--w-accent:#67bb6b;--w-accent-deep:#9be39d;--w-accent-soft:#18361a8c;--w-hero-grad-1:#2c633073;--w-hero-grad-2:#5f402566;--w-hero-base:#151107;--w-pitch-em:#8cda8f;--w-tab-active-bg:#2a2c24;--w-input-focus-ring:#2c633059;--w-invite-hover:#231f14;--w-invite-on-border:#376139}@supports (color:lab(0% 0 0)){:root{--w-accent:lab(69.2376% -39.2288 32.1095);--w-accent-deep:lab(84.1051% -33.5711 26.9365);--w-accent-soft:lab(19.5344% -16.8159 13.796/.55);--w-hero-grad-1:lab(37.413% -28.0522 23.2407/.45);--w-hero-grad-2:lab(30.1909% 11.9462 22.1509/.4);--w-hero-base:lab(5.32122% .404574 4.94604);--w-pitch-em:lab(80.7387% -36.3846 29.3722);--w-input-focus-ring:lab(37.413% -28.0522 23.2407/.35);--w-invite-hover:lab(11.9186% .38328 7.97825);--w-invite-on-border:lab(37.1882% -22.4036 18.2162)}}}.welcome{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.welcome-hero{background:radial-gradient(800px 500px at 80% 100%, var(--w-hero-grad-1), transparent 60%), radial-gradient(600px 400px at 0% 0%, var(--w-hero-grad-2), transparent 60%), var(--w-hero-base);flex-direction:column;justify-content:space-between;padding:56px 56px 48px;display:flex;position:relative;overflow:hidden}.welcome-brand{letter-spacing:-.01em;z-index:2;align-items:center;gap:10px;font-size:17px;font-weight:600;display:inline-flex;position:relative}.welcome-brand-mark{background:var(--w-accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.welcome-brand span{color:var(--w-accent-deep);font-weight:500}.welcome-pitch{z-index:2;max-width:460px;position:relative}.welcome-pitch h1{font-family:var(--font-source-serif-4,"Source Serif 4", "Iowan Old Style", Georgia, serif);letter-spacing:-.02em;text-wrap:balance;margin:0 0 18px;font-size:56px;font-weight:500;line-height:1.05}.welcome-pitch h1 em{color:var(--w-pitch-em);font-style:italic}.welcome-pitch p{color:var(--w-ink-2);text-wrap:pretty;max-width:420px;margin:0;font-size:16.5px;line-height:1.55}.welcome-foot{color:var(--w-ink-3);z-index:2;flex-wrap:wrap;gap:20px;font-size:12px;display:flex;position:relative}.welcome-foot a{color:var(--w-ink-2);border-bottom:1px dotted var(--w-line-strong);padding-bottom:1px;text-decoration:none}.welcome-foot a:hover{color:var(--w-accent-deep)}.pantry-illustr{pointer-events:none;opacity:.85;filter:drop-shadow(0 20px 40px #00000014);width:480px;position:absolute;bottom:-30px;right:-40px}.welcome-form{background:var(--w-bg);flex-direction:column;justify-content:center;padding:48px 64px;display:flex;position:relative}.welcome-form-inner{width:100%;max-width:380px;margin:0 auto}.form-tabs{background:var(--w-bg-soft);border-radius:9px;gap:4px;width:fit-content;margin-bottom:28px;padding:4px;display:flex}.form-tab{appearance:none;cursor:pointer;font:inherit;color:var(--w-ink-3);background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.form-tab.active{background:var(--w-tab-active-bg);color:var(--w-ink);box-shadow:0 1px 2px #0003}.form-h{letter-spacing:-.01em;color:var(--w-ink);margin:0 0 6px;font-size:26px;font-weight:600}.form-sub{color:var(--w-ink-3);margin:0 0 26px;font-size:14px;line-height:1.5}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);border:1px solid #f3bfbe;border:1px solid lab(81.9923% 19.0751 8.15368);margin-bottom:16px;padding:10px 12px;font-size:13px}.field-w{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field-w label{color:var(--w-ink-3);font-size:12px;font-weight:500}.field-w input{appearance:none;border:1px solid var(--w-line-strong);background:var(--w-surface);font:inherit;color:var(--w-ink);border-radius:8px;outline:none;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field-w input::placeholder{color:var(--w-ink-4)}.field-w input:focus{border-color:var(--w-accent);box-shadow:0 0 0 3px var(--w-input-focus-ring)}.btn-w{appearance:none;background:var(--w-accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 18px;font-size:14px;font-weight:500;transition:filter .15s;display:inline-flex}.btn-w:hover{filter:brightness(.95)}.btn-w:disabled{opacity:.4;cursor:not-allowed}.btn-w-secondary{background:var(--w-surface);color:var(--w-ink);border:1px solid var(--w-line-strong)}.btn-w-secondary:hover{background:var(--w-bg-soft);filter:none}.divider-or{color:var(--w-ink-4);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;margin:22px 0;font-size:11.5px;font-weight:600;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--w-line);flex:1;height:1px}.social-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.social-btn{appearance:none;background:var(--w-surface);border:1px solid var(--w-line-strong);cursor:pointer;font:inherit;color:var(--w-ink);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.social-btn:hover{background:var(--w-bg-soft)}.social-btn svg{flex-shrink:0}.social-google svg{color:#4285f4}.fine-print{color:var(--w-ink-4);text-align:center;margin-top:22px;font-size:11.5px;line-height:1.5}.fine-print a{color:var(--w-ink-3);text-decoration:underline;-webkit-text-decoration-color:var(--w-line-strong);-webkit-text-decoration-color:var(--w-line-strong);-webkit-text-decoration-color:var(--w-line-strong);text-decoration-color:var(--w-line-strong);text-underline-offset:2px}.fine-print a:hover{color:var(--w-ink)}.passwordless-pitch{background:var(--w-accent-soft);border:1px solid var(--w-invite-on-border);color:var(--w-accent-deep);border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.passwordless-pitch svg{flex-shrink:0;margin-top:1px}.magic-success{text-align:center;padding:30px 20px}.magic-success .icon-circle{background:var(--w-accent-soft);width:60px;height:60px;color:var(--w-accent);border-radius:999px;place-items:center;margin:0 auto 18px;display:grid}.magic-success h3{margin:0 0 8px;font-size:18px}.magic-success p{color:var(--w-ink-3);margin:0;font-size:13.5px;line-height:1.55}.magic-success .email-out{color:var(--w-ink);font-weight:500}.preview-household{background:var(--w-bg-soft);border:1px solid var(--w-line);border-radius:9px;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.preview-household .ph-icon{color:#013f0b;color:lab(22.29% -28.1985 24.6072);background:#c0e3c0;background:lab(86.8562% -16.7676 13.1583);border-radius:999px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:grid}.preview-household-body{flex:1;min-width:0}.preview-household-h{font-size:13.5px;font-weight:500}.preview-household-s{color:var(--w-ink-3);font-size:12px}.preview-household .stack{display:inline-flex}.preview-household .stack span{border:2px solid var(--w-bg-soft);border-radius:999px;place-items:center;width:22px;height:22px;font-size:9.5px;font-weight:600;display:grid}.preview-household .stack span+span{margin-left:-7px}.hh-onboard{margin:4px 0 14px}.hh-onboard-label{text-transform:uppercase;letter-spacing:.07em;color:var(--w-ink-3);margin-bottom:10px;font-size:10.5px;font-weight:600}.invite-toggle{background:var(--w-bg-soft);border:1px solid var(--w-line);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:9px;align-items:center;gap:10px;margin-bottom:20px;padding:14px;transition:background .15s,border-color .15s;display:flex}.invite-toggle:hover{background:var(--w-invite-hover)}.invite-toggle.on{background:var(--w-accent-soft);border-color:var(--w-invite-on-border)}.it-icon{background:var(--w-surface);border:1px solid var(--w-line);width:36px;height:36px;color:var(--w-ink-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.invite-toggle.on .it-icon{background:var(--w-accent);color:#fff;border-color:var(--w-accent)}.invite-toggle-body{flex:1}.invite-toggle-h{color:var(--w-ink);font-size:13.5px;font-weight:500}.invite-toggle-s{color:var(--w-ink-3);margin-top:2px;font-size:12px}.invite-code-input{letter-spacing:.18em;text-transform:uppercase;text-align:center;appearance:none;border:1.5px solid var(--w-accent);background:var(--w-accent-soft);width:100%;color:var(--w-accent-deep);border-radius:8px;outline:none;margin-top:6px;padding:12px;font-family:var(--font-jetbrains-mono,ui-monospace, monospace)!important;font-size:18px!important}.invite-code-input:focus{box-shadow:0 0 0 3px var(--w-input-focus-ring)}@media (max-width:1180px){.welcome-hero{padding:44px 44px 40px}.welcome-form{padding:44px}.welcome-pitch h1{font-size:46px}.pantry-illustr{width:400px}}@media (max-width:880px){.welcome{grid-template-columns:1fr;min-height:100dvh}.welcome-hero{gap:36px;min-height:360px;padding:28px 28px 90px}.welcome-pitch h1{margin-bottom:14px;font-size:36px}.welcome-pitch p{font-size:15px}.welcome-form{padding:36px 28px 48px}.welcome-form-inner{max-width:440px}.pantry-illustr{opacity:.55;width:320px;bottom:-50px;right:-60px}}@media (max-width:540px){.welcome-hero{min-height:320px;padding:22px 20px 80px}.welcome-pitch h1{font-size:30px;line-height:1.1}.welcome-pitch p{font-size:14.5px}.welcome-foot{gap:14px;font-size:11.5px}.welcome-form{padding:28px 20px 40px}.form-h{font-size:22px}.form-sub{margin-bottom:22px;font-size:13.5px}.pantry-illustr{opacity:.45;width:260px;bottom:-40px;right:-50px}.social-row{grid-template-columns:1fr}}@media (max-width:380px){.welcome-hero{padding:20px 16px 72px}.welcome-form{padding:24px 16px 36px}.welcome-pitch h1{font-size:26px}.pantry-illustr{display:none}}.fav-btn{cursor:pointer;width:32px;height:32px;color:var(--ink-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:0;border-radius:999px;place-items:center;transition:transform .12s,color .12s,background .12s;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 1px 3px #00000014}.fav-btn:hover{color:var(--ink);transform:scale(1.06)}.fav-btn.on{color:var(--accent-deep);background:#fff}.fav-btn.on svg{color:var(--accent)}.detail-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.save-btn{appearance:none;background:var(--bg-card);border:1px solid var(--line-strong);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.save-btn:hover{background:var(--bg-soft);color:var(--ink)}.save-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.save-btn.on svg{color:var(--accent)}.source-link{color:var(--ink-2);border-bottom:1px solid var(--line);align-items:center;gap:4px;padding-bottom:1px;font-weight:500;text-decoration:none;display:inline-flex}.source-link:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.source-link svg{opacity:.7}.steps-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.steps-head h2{margin:0}.full-recipe-link{color:var(--accent-deep);align-items:center;gap:4px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.full-recipe-link:hover{text-decoration:underline}.recipe-disclaimer{background:var(--bg-soft);border:1px dashed var(--line-strong);color:var(--ink-3);border-radius:10px;margin-top:24px;padding:14px 16px;font-size:12.5px;line-height:1.5}.recipe-disclaimer a{color:var(--accent-deep);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:2px;font-weight:500}.recipe-disclaimer a:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@media (max-width:720px){.detail-topbar{flex-direction:column;align-items:stretch;gap:8px}.steps-head{gap:6px}.fav-btn{width:30px;height:30px;top:8px;right:8px}}.loc-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.loc-pill svg{flex-shrink:0}.pantry-quickadd{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:14px;flex-direction:column;gap:10px;padding:14px;animation:.18s ease-out pqaIn;display:flex}@keyframes pqaIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pqa-row{display:flex}.pantry-quickadd .quick-add{flex:1}.pantry-quickadd .quick-add-field{background:var(--bg-card)}.pqa-foot{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.pqa-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.pqa-seg{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;gap:2px;padding:2px;display:inline-flex}.pqa-seg button{appearance:none;cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.pqa-seg button:hover{color:var(--ink)}.pqa-seg .pqa-seg-on{background:var(--accent);color:#fff}.pqa-seg .pqa-seg-on svg{color:#fff}.pqa-tip{color:var(--ink-3);margin-left:auto;font-size:11.5px;font-style:italic}@media (max-width:720px){.pqa-tip{width:100%;margin-left:0}.pqa-foot{gap:8px}}.modal-scrim{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14161052;place-items:center;padding:24px;animation:.14s ease-out scrim-in;display:grid;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme:dark){.modal-scrim{background:#0000008c}}.modal{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 48px);animation:.18s cubic-bezier(.3,.7,.4,1) modal-in;display:flex;overflow:hidden;box-shadow:0 24px 60px #1416102e,0 2px 6px #1416100f}.modal-narrow{width:min(420px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.modal-x{appearance:none;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.modal-x:hover{background:var(--bg-soft);color:var(--ink)}.modal-body{flex-direction:column;gap:22px;padding:18px 22px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:var(--bg-soft);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.hh-modal-section{flex-direction:column;gap:8px;display:flex}.hh-modal-name{letter-spacing:-.01em;font-size:18px;font-weight:600}.hh-modal-sub{color:var(--ink-3);font-size:12.5px}.hh-modal-members{border:1px solid var(--line);background:var(--bg-soft);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.hh-member-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.hh-member-row:last-child{border-bottom:0}.hh-member-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.hh-member-name{align-items:baseline;gap:8px;font-size:13.5px;font-weight:500;display:inline-flex}.you-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:600}.hh-role{color:var(--ink-3);background:var(--bg-card);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:500}.hh-section-h{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);align-items:center;gap:6px;margin-bottom:2px;font-size:10.5px;font-weight:600;display:inline-flex}.hh-section-h svg{color:var(--ink-4)}.hh-section-p{color:var(--ink-3);margin:0 0 6px;font-size:12.5px;line-height:1.5}.invite-code-display{border:1px dashed var(--accent);background:var(--accent-soft);cursor:pointer;border-radius:10px;align-items:stretch;gap:0;transition:filter .15s;display:flex}.invite-code-display:hover{filter:brightness(.98)}.invite-code-text{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);letter-spacing:.18em;color:var(--accent-deep);text-align:center;flex:1;padding:14px 18px;font-size:22px;font-weight:500}.invite-code-copy{appearance:none;border:0;border-left:1px solid var(--accent-border);color:var(--accent-deep);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 16px;font-size:12px;font-weight:500;display:inline-flex}.invite-code-copy:hover{background:#0000000a}.invite-link-row{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.invite-link-row code{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.invite-meta{color:var(--ink-4);align-items:center;gap:6px;font-size:11px;display:inline-flex}.invite-meta svg{color:var(--ink-4)}.invite-email-form{gap:8px;display:flex}.invite-email-form input{appearance:none;border:1px solid var(--line-strong);background:var(--bg-card);font:inherit;color:var(--ink);border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:13px}.invite-email-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-sm{padding:7px 14px;font-size:12.5px}.invite-sent{color:var(--ink-2);flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.invite-sent li{align-items:center;gap:6px;display:inline-flex}.invite-sent svg{color:var(--accent)}.household-card-btn{text-align:left;appearance:none;width:100%;font:inherit;transition:background .12s}.household-card-btn:hover{background:var(--bg-soft);cursor:pointer}.signout-btn{appearance:none;color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:6px;padding:10px 4px 4px;font-size:11.5px;display:inline-flex}.signout-btn:hover{color:var(--ink)}.link-action{appearance:none;color:var(--ink-3);font:inherit;cursor:pointer;border:0;border-bottom:1px dotted var(--line-strong);background:0 0;align-items:center;gap:5px;padding:4px 0;font-size:11.5px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.link-action:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.link-action svg{color:var(--ink-4)}.link-action:hover svg{color:var(--accent)}.btn-wide{justify-content:center;width:100%;margin-top:4px}.aisle-chip{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.drag{appearance:none;color:var(--ink-4);cursor:grab;background:0 0;border:0;padding:0}.pe-foot-actions{align-items:center;gap:14px;display:flex}.empty{text-align:center;color:var(--ink-3);background:var(--bg-card);border:1px dashed var(--line-strong);border-radius:12px;padding:40px}.hh-member-meta{color:var(--ink-3);font-size:11.5px}.hh-cog{appearance:none;color:var(--ink-4);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-left:auto;padding:4px;display:inline-grid}.hh-cog:hover{color:var(--ink);background:var(--bg-soft)}.hh-invite{appearance:none;color:var(--accent-deep);font:inherit;cursor:pointer;border:0;border-top:1px dashed var(--line);background:0 0;align-items:center;gap:6px;width:100%;margin-top:10px;padding:8px 0 0;font-size:11.5px;font-weight:500;display:inline-flex}.hh-invite:hover,.hh-invite svg{color:var(--accent)}.signout-link{appearance:none;color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 4px 4px;font-size:11.5px;display:inline-flex}.signout-link:hover{color:var(--ink)}.addsite-card{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:20px}.addsite-grid{grid-template-columns:1fr 1.5fr 1fr;gap:14px;display:grid}.addsite-grid .field-3{grid-column:span 3}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-3);font-size:11px;font-weight:500;display:block}.field label .opt{color:var(--ink-4);margin-left:4px;font-weight:400}.field input[type=text],.field input[type=url],.field input[type=number],.field select{appearance:none;border:1px solid var(--line-strong);background:var(--bg-card);font:inherit;color:var(--ink);border-radius:7px;outline:none;width:100%;padding:9px 11px;font-size:13.5px}.field input[type=url],.field-url input{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);font-size:12.5px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field .err{color:var(--warn);margin-top:2px;font-size:11px}.field .ok{color:#146720;color:lab(37.7352% -36.5995 31.4316);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:inline-flex}.field .hint{color:var(--ink-3);font-size:11px}.addsite-foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.preview-bar{color:var(--ink-3);align-items:center;gap:10px;font-size:12px;display:flex}.preview-bar .pv-row{align-items:center;gap:5px;display:inline-flex}.preview-bar svg{color:var(--ink-3)}.preview-bar .ok-text{color:#146720;color:lab(37.7352% -36.5995 31.4316)}.preview-bar .warn-text{color:var(--warn)}.pe-locrow{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.loc-btn{appearance:none;background:var(--bg-card);border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink-2);border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:10px;font-size:12px;transition:border-color .12s,background .12s,transform 80ms;display:flex}.loc-btn:hover{border-color:var(--line-strong)}.loc-btn:active{transform:scale(.98)}.loc-btn.on{cursor:default;border-width:1.5px;font-weight:600}.loc-btn svg{color:var(--ink-3)}.loc-btn.on svg{color:inherit}.loc-hint{color:#007474;color:lab(43.3611% -42.613 -12.5865);letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;font-weight:600}.pe-frozen-note{color:#00595a;color:lab(33.7695% -32.7647 -9.71444);background:#e7faf9;background:lab(96.7348% -6.52197 -2.02345);border:1px solid #bae0e0;border:1px solid lab(86.5084% -13.0512 -4.02499);border-radius:7px;align-items:center;gap:6px;margin-top:6px;padding:8px 10px;font-size:11.5px;display:flex}@media (prefers-color-scheme:dark){.pe-frozen-note{color:#76c8c7;color:lab(75.3317% -26.1354 -7.95691);background:#17393966;background:lab(21.5449% -13.0742 -3.96151/.4);border-color:#285655;border-color:lab(33.2514% -16.3406 -4.95743)}}.profile-fab{z-index:50;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;display:none;position:fixed;top:14px;right:14px;box-shadow:0 1px 2px #00000014,0 4px 16px #0000000f}.profile-fab:after{content:"";border:2px solid var(--bg-card);border-radius:999px;position:absolute;inset:-3px}.sheet-scrim{z-index:100;background:#14161057;justify-content:center;align-items:flex-end;animation:.14s ease-out scrim-in;display:flex;position:fixed;inset:0}.profile-sheet{background:var(--bg-card);border-top:1px solid var(--line);width:100%;max-width:540px;padding:8px 0 calc(env(safe-area-inset-bottom,0px) + 16px);border-radius:18px 18px 0 0;flex-direction:column;animation:.22s cubic-bezier(.3,.7,.4,1) sheet-in;display:flex;box-shadow:0 -4px 30px #0000002e}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.ps-handle{background:var(--line-strong);border-radius:99px;align-self:center;width:38px;height:4px;margin:6px 0 14px}.ps-head{align-items:center;gap:14px;padding:4px 22px 16px;display:flex}.ps-id{flex-direction:column;min-width:0;display:flex}.ps-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.ps-email{color:var(--ink-3);font-size:12.5px}.ps-divider{background:var(--line);height:1px;margin:0 18px}.ps-row{appearance:none;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:14px 22px;display:flex}.ps-row:hover{background:var(--bg-soft)}.ps-row>svg:first-child{color:var(--ink-3);flex-shrink:0}.ps-row-body{flex:1;min-width:0}.ps-row-body>div:first-child{font-size:14.5px;font-weight:500}.ps-row-sub{color:var(--ink-3);margin-top:1px;font-size:12px}.ps-row-sub code{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);color:var(--ink-2);font-size:11.5px}.ps-row>svg:last-child{color:var(--ink-4)}.ps-danger{color:var(--ink-2)}.ps-danger>svg:first-child{color:#bd423a;color:lab(46.2405% 50.0141 32.6015)}.ps-danger:hover{color:#a20711;color:lab(34.3841% 56.8342 42.0501);background:#fff2f0;background:lab(96.2532% 9.0476 5.32177)}@media (prefers-color-scheme:dark){.ps-danger:hover{color:#ffb8af;color:lab(81.6816% 30.5925 18.3285);background:#340907;background:lab(8.83167% 21.9409 10.8708)}}@media (max-width:720px){.profile-fab{display:block}.main>h1:first-child{padding-right:50px}.addsite-grid{grid-template-columns:1fr}.addsite-grid .field-3{grid-column:span 1}.addsite-foot{flex-direction:column;align-items:stretch}.addsite-foot .preview-bar{flex-wrap:wrap}.pe-locrow{grid-template-columns:1fr}.loc-btn{flex-direction:row;justify-content:flex-start;gap:10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
