.bs-layer{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bs-veil{position:fixed;z-index:-1;pointer-events:none;border-radius:18px;background:color-mix(in srgb,var(--bg) 80%,transparent)}.bs-phrase{position:absolute;left:0;top:0;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 13px;border:1px solid var(--edge);border-radius:999px;background:#ffffffd1;color:var(--color-oak);box-shadow:var(--shadow-sm);font:500 var(--text-xs)/1.2 var(--font-ui);cursor:pointer;pointer-events:auto;will-change:transform}.bs-phrase:hover,.bs-phrase.on{background:var(--surface);color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-md)}.bs-phrase.on{outline:2px solid var(--accent);outline-offset:1px}.bs-phrase.hover{background:var(--surface);color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-md)}body.cc-brainstorm-hover{cursor:pointer}.bs-menu{position:fixed;z-index:32;padding:10px 8px 8px;border:1px solid var(--edge);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--text-sm)}.bs-menu-title{padding:2px 34px 8px 10px;font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.2;color:var(--fg)}.bs-option{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-weight:600;text-align:left;cursor:pointer}.bs-option:hover{background:var(--fill)}.bs-option svg{flex:none}.bs-close{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#55554f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bs-close:hover{background:var(--fill);color:var(--fg)}.bs-corner{position:fixed;left:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:31;display:flex;flex-direction:column;align-items:flex-start;gap:8px}@media(max-width:899px){.bs-corner{bottom:calc(74px + env(safe-area-inset-bottom))}}.bs-cloud{width:48px;height:48px;padding:0;border:1px solid var(--edge);border-radius:50%;background:var(--surface);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);cursor:pointer;transition:border-color .15s,transform .18s ease-out}.bs-cloud:hover,.bs-corner.open .bs-cloud{border-color:var(--accent);transform:scale(1.06)}.bs-cloud .bs-rain path{animation:bs-drop 1.6s ease-in infinite;transform-origin:center}.bs-cloud .bs-rain path:nth-child(2){animation-delay:.5s}.bs-cloud .bs-rain path:nth-child(3){animation-delay:1s}@keyframes bs-drop{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(3px)}}.bs-bubble{position:relative;width:min(340px,calc(100vw - 24px));padding:14px 14px 12px;border:1px solid var(--edge);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}.bs-bubble p{margin:0}.bs-bubble .bs-close{top:8px;right:8px}.bs-head{display:flex;align-items:baseline;gap:10px;padding-right:32px;margin-bottom:10px}.bs-head b{font-family:var(--font-display);font-size:1.1rem}.bs-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.bs-label{margin:0 0 6px;font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#55554f;font-weight:600}.bs-hint{margin-top:10px!important}.bs-note p{padding-right:24px;line-height:1.45}.bs-chips{--chip: var(--accent);--chip-on: #fff}.bs-chips .chip{font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer}.bs-chips.compact .chip{min-height:34px;padding:4px 12px;font-size:var(--text-xs);border-width:1.5px;gap:5px}.bs-chips .chip-count{text-transform:none}.bs-seg button{min-width:52px}.bs-page .seg button{min-width:64px}@media(prefers-reduced-motion:reduce){.bs-cloud .bs-rain path{animation:none}.bs-cloud{transition:none}}:root{--color-card-stock: #F3EBDD;--color-ink: #2B2B28;--color-library-blue: #294559;--color-oak: #8B5E3C;--color-brass: #B28A4A;--color-cloth-tan: #D6C6A8;--color-red-pencil: #A33B32;--bg: #F7F6F2;--surface: #FFFFFF;--card-paper: #FDFBF5;--edge: #E6E2D8;--edge-strong: #D3CDBF;--fill: #F1EFE8;--shadow-sm: 0 1px 2px rgba(43, 43, 40, .06), 0 4px 16px -6px rgba(43, 43, 40, .14);--shadow-md: 0 10px 28px -14px rgba(43, 43, 40, .28);--shadow-lg: 0 18px 40px -16px rgba(43, 43, 40, .35);--bg-muted: var(--edge);--fg: var(--color-ink);--accent: var(--color-library-blue);--on-accent: #FFFFFF;--attention: var(--color-red-pencil);--on-attention: #FFFFFF;--rule: rgba(41, 69, 89, .25);--select: #4F6BED;--select-tint: #EEF2FF;--rule-top: var(--color-red-pencil);--font-display: "Tiempos Headline", "Tiempos Text", "Iowan Old Style", "Palatino", Georgia, serif;--font-ui: "Inter", "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs: .875rem;--text-sm: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-cook-min: 28pt;--text-cook-max: 40pt;--leading-body: 1.5;--leading-tight: 1.2;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-caps: .12em;--tap-target-min: 44px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip;font-size:16px;--line: 32px;--rule-drop: 8px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading-body);min-height:100dvh}#root{overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0;letter-spacing:-.01em}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 .75em}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@font-face{font-family:Tiempos Headline;src:url(/assets/fonts/tiempos-headline-semibold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Tiempos Headline;src:url(/assets/fonts/tiempos-headline-regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Tiempos Headline;src:url(/assets/fonts/tiempos-headline-semibold-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/InterVariable-Italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}.shell{display:flex;flex-direction:column;min-height:100dvh}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr);align-items:center;gap:12px;padding:8px 16px;background:var(--surface);color:var(--fg);border-bottom:1px solid var(--edge);box-shadow:0 2px 12px -8px #2b2b2824;position:sticky;top:0;z-index:20;padding-top:max(8px,env(safe-area-inset-top))}.topbar-left{display:flex;align-items:center;justify-content:flex-start;min-width:0}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;flex-wrap:nowrap}.topbar.home{grid-template-columns:auto 1fr}.topbar .brand{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}.topbar .brand img{display:block;height:44px;width:auto}.topbar .brand .wordmark{font-family:var(--font-display);font-weight:400;font-size:1.25rem}.topbar .brand.centered{flex-direction:column;justify-content:center;gap:2px;color:var(--fg)}.topbar .brand.centered img{height:38px}.topbar .brand.centered .brand-word{font-family:var(--font-display);font-weight:400;font-size:9.5px;line-height:1;letter-spacing:-.02em;white-space:nowrap;color:var(--fg)}.topbar .brand.stacked{justify-content:flex-start;gap:2px;margin-left:0;color:var(--fg)}.topbar .brand.stacked img{height:38px}@media(min-width:900px){.topbar .brand.stacked,.topbar .brand.centered{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;padding:4px 0;margin-left:0;color:var(--fg)}.topbar .brand.stacked img,.topbar .brand.centered img{height:40px}.topbar.home .brand.stacked .ctl-label,.topbar .brand.centered .brand-word{font-family:var(--font-display);font-weight:400;font-size:1.375rem;line-height:1;letter-spacing:-.02em;color:var(--fg);max-width:none;overflow:visible;text-align:left;white-space:nowrap}.topbar .brand .brand-nl{display:inline}.topbar .brand.stacked:hover,.topbar .brand.centered:hover{text-decoration:none}.topbar .brand.stacked:hover .ctl-label,.topbar .brand.centered:hover .brand-word{color:var(--accent)}}.topbar-back{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:8px 10px 8px 4px;margin-left:-6px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.topbar-back:hover{text-decoration:underline}.topbar nav{display:flex;align-items:center;gap:4px;margin-right:4px;flex:none}.topbar nav a{white-space:nowrap}.find-btn,.help-btn,.settings-btn,.brand.stacked,.topbar nav a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;min-width:52px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-weight:600;line-height:1;cursor:pointer;text-decoration:none}.brand.stacked:hover{text-decoration:underline}.find-btn svg,.help-btn svg,.settings-btn svg,.brand.stacked img,.topbar nav a svg{flex:none}.find-btn,.help-btn,.settings-btn,.topbar nav a{border-bottom:5px solid transparent;margin-bottom:-5px;border-radius:0;transition:color .15s,border-color .15s}.find-btn:hover,.help-btn:hover,.settings-btn:hover,.topbar nav a:hover{text-decoration:none;border-bottom-color:var(--accent)}.find-btn[aria-current=page],.help-btn[aria-current=page],.settings-btn[aria-current=page],.topbar nav a[aria-current=page]{color:var(--color-oak);background:var(--surface);border-bottom-color:currentColor}.find-btn svg,.help-btn svg,.settings-btn svg,.topbar nav a svg{transform:scale(.92);transform-origin:center;transition:transform .18s ease-out}.find-btn:hover svg,.help-btn:hover svg,.settings-btn:hover svg,.topbar nav a:hover svg,.find-btn[aria-current=page] svg,.help-btn[aria-current=page] svg,.settings-btn[aria-current=page] svg,.topbar nav a[aria-current=page] svg{transform:scale(1.08)}@media(prefers-reduced-motion:reduce){.find-btn svg,.help-btn svg,.settings-btn svg,.topbar nav a svg{transition:none}}.topbar .ctl-label{font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:20px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .brand.stacked .ctl-label{font-family:var(--font-display);font-weight:400;font-size:9.5px;line-height:1;letter-spacing:-.02em;color:var(--fg);max-width:none}main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:24px 16px 96px}.gate-lockup{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0 auto 28px;color:var(--fg);text-decoration:none}.gate-lockup img{display:block;width:auto;height:clamp(44px,7vw,60px);flex:none}.gate-lockup-word{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,4.2vw,2.125rem);letter-spacing:-.02em;line-height:1;white-space:nowrap}.gate-lockup:hover{text-decoration:none}.gate-lockup:hover .gate-lockup-word{color:var(--accent)}.tabbar{display:none}@media(max-width:899px){.topbar nav{display:none}.topbar{gap:4px;padding-inline:8px;grid-template-columns:minmax(108px,auto) minmax(0,1fr) auto}.topbar .brand{justify-content:center;min-width:0}.topbar-back{margin-left:0;padding-right:6px}.tabbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--edge);box-shadow:0 -2px 12px -8px #2b2b2824;padding-bottom:env(safe-area-inset-bottom);z-index:20}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;text-decoration:none;color:#55554f;font-size:.8rem;font-weight:500}.tabbar a[aria-current=page]{background:var(--accent);color:var(--on-accent);font-weight:700}.tabbar svg{width:24px;height:24px;padding:4px;box-sizing:content-box}.tabbar .tab-icon{position:relative;display:inline-flex}.tabbar .beam{position:absolute;left:7px;right:7px;top:6px;height:2px;border-radius:2px;background:currentColor;opacity:0;box-shadow:0 0 6px currentColor;pointer-events:none}.tabbar a.tapped[data-icon=scan] .beam{animation:tab-beam .75s ease-in-out both}.tabbar a.tapped[data-icon=scan] svg path:nth-of-type(2){animation:plus-blink .75s ease-in-out both}.tabbar a.tapped[data-icon=hammer] svg{animation:hammer-swing .6s ease-in-out both;transform-origin:25% 80%}}@keyframes hammer-swing{0%,to{transform:rotate(0)}30%{transform:rotate(-28deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}@keyframes tab-beam{0%{opacity:0;transform:translateY(0)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(20px)}}@keyframes plus-blink{0%,to{opacity:1}40%{opacity:.25}}@media(prefers-reduced-motion:reduce){.tabbar a.tapped svg,.tabbar a.tapped svg *,.tabbar a.tapped .beam{animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600;cursor:pointer;text-decoration:none;transition:filter .1s}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:transparent;color:var(--accent)}.btn.quiet{background:transparent;border-color:transparent;color:var(--accent);padding-inline:12px}.btn.danger{background:transparent;border-color:var(--attention);color:var(--attention)}.btn.ok{background:#2e7d5b;border-color:#2e7d5b;color:#fff}.btn.ok:hover{filter:brightness(1.08)}.btn.big{font-size:var(--text-lg);padding:14px 26px;min-height:56px}.btn.attention{background:var(--attention);border-color:var(--attention);color:#fff}.btn.icon{padding:0;width:44px}.btn svg{width:22px;height:22px;flex:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.between{justify-content:space-between}.stack>*+*{margin-top:1em}.btn.danger.compact svg{width:14px;height:14px}.card{background:var(--surface);border:1px solid transparent;border-radius:14px;padding:1.5em;position:relative;box-shadow:var(--shadow-sm)}.card.recipe-paper{--rule: rgba(41, 69, 89, .125);background:var(--surface);border-top:4px solid var(--rule-top);padding:var(--line) 1.5em;line-height:var(--line);isolation:isolate}.card.recipe-paper:before{content:"";position:absolute;inset:4px 1px 1px;z-index:-1;pointer-events:none;border-radius:inherit;background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--line) - var(--rule-drop)),var(--rule) calc(var(--line) - var(--rule-drop)) calc(var(--line) - var(--rule-drop) + 1px),transparent calc(var(--line) - var(--rule-drop) + 1px) var(--line));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(5 * var(--line)),transparent calc(10 * var(--line)));mask-image:linear-gradient(to bottom,#000 0,#000 calc(5 * var(--line)),transparent calc(10 * var(--line)))}.card.recipe-paper>*{background:transparent}.recipe-paper.stack>*+*{margin-top:0}.recipe-paper h1,.recipe-paper h2,.recipe-paper h3,.recipe-paper p,.recipe-paper li,.recipe-paper .meta,.recipe-paper .num,.recipe-paper .steps li:before{line-height:var(--line)}.recipe-paper h1{font-size:var(--text-xl)}.recipe-paper h2{font-size:var(--text-lg);margin-top:var(--line)}.recipe-paper.stack>h2{margin-top:var(--line)}.recipe-paper h3{font-size:var(--text-md);margin-top:var(--line)!important}.recipe-paper p{margin:0}.recipe-paper .meta{row-gap:0}.recipe-paper .ing li,.recipe-paper .steps li{padding:0;border-bottom:none}.recipe-paper .ing li{padding-left:1em}.recipe-paper .steps li{grid-template-columns:33px 1fr;gap:0 10px;align-items:baseline}.recipe-paper .steps li:before{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:-6px;border:1.5px solid var(--accent);border-radius:50%;color:var(--accent);font-family:var(--font-ui);font-weight:400;font-size:calc(var(--text-xs) + 4px);line-height:1}.recipe-paper .row.between{align-items:flex-start;row-gap:0;min-height:calc(2 * var(--line));margin-top:var(--line)}.recipe-paper .row.between h2{margin-top:0}.recipe-paper .body :is(h2,h3,p,li,.steps li:before){line-height:1.45}.recipe-paper .body h2{margin:28px 0 10px;line-height:1.2}.recipe-paper .body .row.between{min-height:0;margin:28px 0 10px;align-items:center}.recipe-paper .body .row.between h2{margin:0}.recipe-paper .body .row.between+.small{margin:-2px 0 10px}.recipe-paper .body h3{margin:14px 0 6px!important;line-height:1.25}.recipe-paper .body .ing li{margin:0 0 8px}.recipe-paper .body .ing li{text-indent:0;padding-left:1.1em}.recipe-paper .body .ing li:before{content:"•";position:absolute;left:0;top:0;color:#b0a899}.recipe-paper .body .ing li.red-pencil:before{left:10px}.recipe-paper .body .steps li{margin:0 0 12px}.recipe-paper .body .steps li:before{line-height:1}.recipe-paper .body ul:not(.ing){margin:0;padding-left:1.3em}.recipe-paper .body ul:not(.ing) li{margin:0 0 6px}.recipe-paper .body p{margin:0 0 8px}.recipe-paper .scale{min-height:calc(2 * var(--line))}.recipe-paper ul:not(.ing),.recipe-paper ol:not(.steps){margin:0;padding-left:1.4em}.recipe-paper .red-pencil{border-radius:0}.num{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.meta{color:#55554f;font-size:var(--text-sm);display:flex;flex-wrap:wrap;gap:4px 16px}.muted{color:#55554f}.small{font-size:var(--text-sm)}.field{display:block;font-weight:500;margin-bottom:14px}.field>span:first-child{display:block;margin-bottom:6px}input:not([type]),input[type=text],input[type=url],input[type=tel],input[type=email],input[type=number],input[type=search],input[type=date],input[type=time],select,textarea,.datefield-box{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--edge-strong);border-radius:10px;background:#fff}textarea{min-height:96px;resize:vertical}select{appearance:none;-webkit-appearance:none;padding-right:2.75em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23294559' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;background-size:16px 16px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #29455933}input::placeholder,textarea::placeholder{color:#8a8a84;opacity:1;font-weight:400}input.code{font-size:1.8rem;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.error{color:var(--attention);font-weight:500;display:flex;gap:8px;align-items:flex-start}.error:before{content:"!";flex:none;width:22px;height:22px;border-radius:50%;background:var(--attention);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.notice{background:var(--surface);border:1px solid transparent;border-radius:12px;padding:12px 16px;box-shadow:var(--shadow-sm)}.link-help h2{font-size:var(--text-md);margin:0}.tip{margin:16px 0 0}.check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.check input{width:26px;height:26px;accent-color:var(--accent);flex:none}.switch{position:relative;flex:none;width:44px;height:26px;padding:0;border:0;border-radius:13px;background:#c9c4b8;cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #2b2b284d;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on .knob{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:default}.switch-row{display:flex;align-items:flex-start;gap:12px;min-height:40px;padding:4px 0;cursor:pointer}.switch-row .switch{margin-top:1px}@media(prefers-reduced-motion:reduce){.switch,.switch .knob{transition:none}}.red-pencil{border-left:4px solid var(--attention);padding-left:10px;background:#a33b320f;border-radius:4px}.red-pencil:not(.notice):not(.proposed-row){margin-left:-14px}.recipe-paper .body .ing li.red-pencil{margin-left:-14px;padding-left:calc(1em + 10px)}.recipe-paper .body .steps li.red-pencil{margin-left:-14px;padding-left:10px}.red-pencil.fix{cursor:pointer}.red-pencil.fix:hover,.red-pencil.fix:focus-visible{background:#a33b321f;outline:none}.red-pencil-mark{color:var(--attention);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:4px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--fill);color:var(--fg)}.badge.red{background:var(--attention);color:#fff}.badge.blue{background:var(--accent);color:var(--on-accent)}.search{display:flex;gap:8px;border-bottom:1px solid var(--bg-muted);padding-bottom:1.5em;margin-bottom:1.5em}.search input{flex:1;min-height:52px;font-size:var(--text-md)}.search .btn{min-height:52px;padding-inline:22px}.findbox{position:relative}.findbox .search{margin-bottom:1.5em}.find-suggest{position:absolute;z-index:25;top:60px;left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--edge);border-radius:12px;box-shadow:var(--shadow-md);max-height:min(60vh,420px);overflow-y:auto}.find-suggest li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:0 10px;align-items:center;min-height:44px;padding:8px 10px;border-radius:8px;cursor:pointer}.find-suggest li>svg{color:var(--accent);flex:none}.find-suggest li .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.find-suggest li .detail{font-size:var(--text-xs);color:#6b6b66;white-space:nowrap}.find-suggest li.active{background:var(--fill)}.find-suggest li.see-all{border-top:1px solid var(--edge);border-radius:0 0 8px 8px;margin-top:4px;padding-top:12px;color:var(--accent)}.find-suggest li.see-all .label{font-weight:600}.drawers{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:10px;border-radius:14px;background:var(--fill);perspective:1400px}.drawer{display:flex;flex-direction:column;justify-content:flex-end;gap:1px;min-height:96px;padding:2.1rem 14px 11px;border-radius:8px;text-decoration:none;color:var(--fg);position:relative;background:linear-gradient(to bottom,#fff,#f6f3ec);border:1px solid var(--edge);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #2b2b280f,0 2px 0 -1px #dad3c4;transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .18s ease-out,opacity .25s ease-out}.drawer:before{content:"";position:absolute;top:.7rem;left:50%;width:2.25rem;height:.45rem;margin-left:-1.125rem;border-radius:.3rem;background:linear-gradient(to bottom,#D9BB74,var(--color-brass) 55%,#8C6A34);box-shadow:0 1px 1px #2b2b2859,inset 0 1px #fff6}.drawer.book:before{background:linear-gradient(to bottom,#4E6E85,var(--accent) 55%,#1B2F3F)}.drawer b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.25}.drawer span{font-size:var(--text-xs);color:#55554f}@media(hover:hover)and (pointer:fine){.drawer:hover{transform:translateZ(22px);box-shadow:inset 0 1px #ffffffb3,0 10px 22px -8px #2b2b284d,0 3px 0 -1px #dad3c4}}.drawer:active{transform:translateZ(6px);transition-duration:.07s}.drawer.pulled{transform:translateZ(40px);box-shadow:0 16px 30px -10px #2b2b2880}html[data-drawer-opening] .drawer:not(.pulled):not(.clone){opacity:.5;transform:translateZ(-14px)}.drawer-stage{position:fixed;inset:0;z-index:45;pointer-events:none;perspective:1400px}.drawer.clone{--grow: .44s cubic-bezier(.55, .05, .25, 1);position:fixed;margin:0;overflow:hidden;background:transparent;border-color:transparent;transform:translateZ(0);box-shadow:0 16px 30px -10px #2b2b2800,0 0 0 100vmax #2b2b2800;transition:top var(--grow),left var(--grow),width var(--grow),height var(--grow),border-radius .44s,transform .17s ease-out,box-shadow .17s ease-out,opacity .3s ease-in}.drawer.clone .face{position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(to bottom,#fff,#f6f3ec);box-shadow:inset 0 1px #ffffffe6,inset 0 0 0 1px var(--edge);transition:opacity .24s ease-in}.drawer.clone:before,.drawer.clone b,.drawer.clone span{position:relative;z-index:2}.drawer.clone:before{position:absolute;transition:opacity .15s}.drawer.clone b,.drawer.clone span{transform-origin:left bottom;transition:transform .26s cubic-bezier(.4,0,1,1),opacity .2s ease-in}.drawer.clone .walls{position:absolute;inset:0;z-index:3;border-radius:inherit;opacity:0;transition:opacity .24s ease-out;box-shadow:inset 0 0 0 1px #2b2b284d,inset 0 36px 80px -24px #2b2b2880,inset 0 -24px 60px -24px #2b2b284d,inset 36px 0 70px -34px #2b2b2866,inset -36px 0 70px -34px #2b2b2866}.drawer-stage.pull .drawer.clone{transform:translateZ(40px);box-shadow:0 16px 30px -10px #2b2b2880,0 0 0 100vmax #2b2b288c}.drawer-stage.open .drawer.clone,.drawer-stage.out .drawer.clone{border-radius:0;transform:translateZ(0);box-shadow:0 16px 30px -10px #2b2b2800,0 0 0 100vmax #2b2b288c}.drawer-stage.open .drawer.clone .face,.drawer-stage.out .drawer.clone .face,.drawer-stage.open .drawer.clone:before,.drawer-stage.out .drawer.clone:before{opacity:0}.drawer-stage.open .drawer.clone b,.drawer-stage.open .drawer.clone span,.drawer-stage.out .drawer.clone b,.drawer-stage.out .drawer.clone span{transform:scale(2.4) translateY(-.2em);opacity:0}.drawer-stage.open .drawer.clone .walls{opacity:1}.drawer-stage.out .drawer.clone{opacity:0}html[data-arrive] main{animation:arrive .64s cubic-bezier(.5,.05,.2,1) both}main.nudged{animation:nudge .45s ease-in-out}main.nudged h1:first-of-type{animation:heading-flash 1.1s ease-out;border-radius:6px}@keyframes nudge{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes heading-flash{0%{background:transparent;box-shadow:none}15%{background:var(--bg-muted);box-shadow:0 0 0 8px var(--bg-muted);color:var(--accent)}60%{background:var(--bg-muted);box-shadow:0 0 0 8px var(--bg-muted);color:var(--accent)}to{background:transparent;box-shadow:none}}@media(prefers-reduced-motion:reduce){main.nudged{animation:none}}@keyframes arrive{0%{opacity:.35;transform:scale(.88)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.drawer,.drawer:hover,.drawer:active{transform:none;transition:none}.drawer:hover{border-color:var(--accent)}html[data-arrive] main{animation:none}}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid transparent;color:var(--fg);text-decoration:none;min-height:60px;box-shadow:var(--shadow-sm)}.list-item:hover{border-color:var(--accent)}button.list-item{font:inherit;text-align:left;cursor:pointer;width:100%}button.list-item:disabled{cursor:default;opacity:.7}.list-item .title{font-family:var(--font-display);font-weight:600;font-size:1.15rem}.list-item .sub{grid-column:1 / -1}.list-item.menu-row>.title,.list-item.archived>.title{grid-area:1 / 1}.list-item.menu-row>.title+*,.list-item.archived>.title+*{grid-area:1 / 2 / span 2 / 3;align-self:center}.list-item.menu-row>.sub,.list-item.archived>.sub{grid-column:1}.list-item.menu-row{border-color:transparent}.list-item.menu-row:hover{border-color:var(--edge)}.list-item.menu-row .title{color:var(--fg);text-decoration:none;min-width:0}.list-item.menu-row .title:hover{text-decoration:underline}.list-item.menu-row .row-trash{color:#55554f}.list-item.menu-row .row-trash:hover{color:var(--attention)}.archived-menus>h2+p{margin-top:4px}.archived-chip{--chip: #55554f;min-height:32px;padding:2px 10px;font-size:var(--text-xs);cursor:pointer}.archived-chip:disabled{opacity:.6;cursor:default}.archived-chip .swap{display:grid;text-align:center}.archived-chip .swap>span{grid-area:1 / 1}.archived-chip .on-hover{visibility:hidden}.archived-chip:focus-visible .at-rest{visibility:hidden}.archived-chip:focus-visible .on-hover{visibility:visible}@media(hover:hover){.archived-chip:hover:not(:disabled) .at-rest{visibility:hidden}.archived-chip:hover:not(:disabled) .on-hover{visibility:visible}}.review-card .sub+.sub{margin-top:-4px}.review-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-h .red-pencil-mark{color:var(--attention)}.review-h .red-pencil-mark svg{width:30px;height:30px}.review-h .count{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:400}.empty{text-align:center;padding:40px 16px;color:#55554f}.empty h2{margin-bottom:8px}.ing{list-style:none;padding:0;margin:0}.ing li{padding:8px 0 8px 1em;text-indent:-1em;border-bottom:1px dashed var(--rule);display:block}.ing li b{font-weight:600;white-space:nowrap;margin-right:.45em}.ing li b:empty{display:none}.steps{padding:0;margin:0;counter-reset:s;list-style:none}.steps li{counter-increment:s;display:grid;grid-template-columns:2.4em 1fr;gap:8px;padding:12px 0;border-bottom:1px dashed var(--rule)}.steps li:before{content:counter(s);font-family:var(--font-display);font-weight:600;color:var(--accent);font-size:1.4rem;line-height:1.1}.scale{display:flex;align-items:center;gap:8px}.seg{position:relative;display:inline-flex;padding:3px;border:1px solid var(--edge);border-radius:999px;background:var(--bg-muted)}.seg:before{content:"";position:absolute;top:3px;bottom:3px;left:var(--x, 0px);width:var(--w, 0px);border-radius:999px;background:var(--accent);opacity:0;transition:left .22s cubic-bezier(.4,0,.2,1),width .22s cubic-bezier(.4,0,.2,1),opacity .15s}.seg.placed:before{opacity:1}.seg button{position:relative;z-index:1;min-height:38px;padding:6px 14px;border:0;border-radius:999px;background:transparent;color:#55554f;font:inherit;font-weight:600;cursor:pointer;transition:color .15s}.seg button.on{background:transparent;color:var(--on-accent)}@media(prefers-reduced-motion:reduce){.seg:before{transition:none}}.seg.small button.on{background:transparent;color:var(--fg)}.seg.small:before{top:2px;bottom:2px;background:#fff;box-shadow:0 1px 2px #2b2b281f}.seg button:disabled{cursor:progress;opacity:.8}.seg.small{padding:2px;border-width:1.5px}.seg.small button{min-height:26px;padding:2px 10px;font-size:var(--text-xs);line-height:1.2}.recipe-paper .body .row.between{row-gap:10px}.recipe-paper .body .ing-head{flex-wrap:wrap;gap:6px 12px}.recipe-paper .body .ing-head .ing-tools{margin-left:auto}.recipe-paper .from-line{font-style:italic}.recipe-paper .from-line a{color:inherit}.card-photo{margin:6px 0 2px}.card-photo-img{display:block;width:100%;padding:0;border:0;background:none;border-radius:10px;overflow:hidden;cursor:zoom-in}.card-photo-img img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.card-photo figcaption{margin-top:4px;font-style:italic}.card-photo figcaption a{color:inherit}.card-photo-strip{display:flex;gap:8px;margin-top:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2px}.card-photo-strip button{flex:0 0 auto;width:72px;height:54px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;scroll-snap-align:start;cursor:pointer}.card-photo-strip button.on{border-color:var(--accent)}.card-photo-strip img{display:block;width:100%;height:100%;object-fit:cover}.card-photo-tools{gap:2px 8px;margin-top:4px}.card-photos-hidden{display:inline-flex;align-items:center;gap:6px}@media print{.card-photo-img{break-inside:avoid}.card-photo-img img{max-height:260px}}.recipe-paper .body .ing-head h2{flex:1 1 auto;min-width:0}.recipe-paper .body .ing-head .seg{flex:none}.ing-head{position:relative}.ing-tools{display:flex;align-items:center;gap:6px;flex:none}.dots{width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--edge);background:transparent;color:#55554f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dots:hover,.dots[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.dots.hot,.dots.hot:hover,.dots.hot[aria-expanded=true]{border-color:var(--attention);color:var(--attention)}.pop{position:absolute;z-index:30;min-width:240px;max-width:min(360px,calc(100vw - 48px));padding:10px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px -16px #2b2b288c;font-size:var(--text-sm);line-height:1.4;text-indent:0;text-align:left}.pop.menu{top:calc(100% + 6px);right:0}.pop.menu.inline{position:static;margin:4px 0 14px;max-width:none;box-shadow:none}.pop .pop-title{font-weight:600;margin-bottom:6px}.pop .radio{display:flex;align-items:flex-start;gap:8px;padding:5px 0;cursor:pointer;font-weight:400}.pop .radio input{margin-top:3px;accent-color:var(--accent)}.pop .foot{margin:10px 0 0!important;padding-top:8px;border-top:1px dashed var(--rule);font-size:var(--text-xs);color:#55554f}.pop .opt{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:6px;border:0;border-radius:6px;background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.pop .opt:hover{background:#29455912}.pop .tag{flex:none;font-size:var(--text-xs);color:#55554f;line-height:1.5}.pop .tag.changed{color:var(--accent);font-weight:600}.ing li{position:relative}.qty-tap{font:inherit;font-weight:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline dotted;text-decoration-color:#29455980;text-underline-offset:3px}.qty-tap[aria-expanded=true]{text-decoration-color:var(--accent);color:var(--accent)}.pop.qty-pop{top:calc(100% - 4px);left:1em}.pop.qty-pop.inline{position:static;margin:4px 0 0;max-width:none;box-shadow:none}.no-print .pop,.pop{print-color-adjust:exact}@media print{.pop,.dots{display:none}.qty-tap{text-decoration:none}}.recipe-paper .body .scale{min-height:0;margin:0 0 10px}.recipe-paper .body .scale+.small{margin:-2px 0 10px}.scaled-note{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--surface)}.scaled-note p{margin:0!important;color:#55554f}.scaled-note .btn{margin:0;flex:none}.scaled-note p b{color:var(--fg)}.btn.compact{min-height:28px;padding:2px 12px;font-size:var(--text-xs);line-height:1.2;border-width:1.5px}.scale input{width:84px;min-height:44px;padding-block:8px;padding-inline:8px;text-align:center;-moz-appearance:textfield;appearance:textfield}.scale input::-webkit-outer-spin-button,.scale input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scale.sm{gap:6px}.scale.sm .btn.icon{width:36px;min-height:36px}.scale.sm input{width:64px;min-height:36px;padding-block:4px;font-size:var(--text-sm)}.editor .group{border:1px dashed var(--bg-muted);border-radius:10px;padding:12px;margin-bottom:12px}.editor .part{margin-bottom:12px}.editor .part .part-name{max-width:320px;font-family:var(--font-display);font-weight:600}.editor .part .ing-text{width:100%;font-size:var(--text-md);line-height:1.6}.editor .part .ing-box{display:grid}.editor .part .ing-box>*{grid-area:1 / 1;min-width:0}.editor .part .ing-mirror{pointer-events:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;box-sizing:border-box;min-height:96px;padding:10px 14px;border:1px solid transparent;border-radius:10px;background:#fff;font-size:var(--text-md);line-height:1.6;color:var(--fg)}.editor .part .ing-mirror .flag{color:var(--attention)}.editor .part .ing-box.marked .ing-text{position:relative;background:transparent;color:transparent;caret-color:var(--fg)}.editor .part .ing-box.marked .ing-text::selection{color:#fff;background:var(--accent)}.editor .step-row{display:grid;grid-template-columns:auto 1fr auto;gap:6px 8px;align-items:start;margin-bottom:6px}.editor .step-row.red-pencil{padding-left:10px}.editor .step-row textarea{min-height:72px;resize:none;overflow:hidden}.editor .step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:10px;padding:0;border:1.5px solid var(--accent);border-radius:50%;background:none;color:var(--accent);font-family:var(--font-ui);font-weight:600;font-size:var(--text-xs);line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.editor .step-num:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor .step-num.gone{margin-top:0;border-color:var(--attention);color:var(--attention);cursor:default}.editor .steps-editor.live .step-num{cursor:grabbing}.editor .step-more{color:var(--fg);opacity:.7}.editor .step-row.tools-open .step-more{opacity:1;background:var(--fill)}.editor .step-tools{position:relative}.editor .step-row.tools-open{position:relative;z-index:31}.editor .step-row.tools-open textarea{border:2px solid var(--select);padding:9px 13px;background:var(--select-tint)}.editor .step-row.tools-open .step-num{border-color:var(--select);color:var(--select)}.editor .step-menu{min-width:200px;padding:8px}.editor .step-menu .pop-title{padding:2px 6px 4px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.editor .step-menu .opt{justify-content:flex-start;gap:10px;min-height:40px;padding:6px 8px;font-weight:500;white-space:nowrap}.editor .step-menu .opt svg{width:18px;height:18px;flex:none}.editor .step-menu .opt:disabled{opacity:.4;cursor:default;background:none}.editor .step-menu .opt.danger{color:var(--attention)}.editor .step-menu .opt.danger:hover{background:color-mix(in srgb,var(--attention) 10%,transparent)}.editor .step-gone{grid-template-columns:auto 1fr auto;padding:8px 12px;margin:0 0 6px}.editor .step-gone .note-text{color:var(--fg)}@media(max-width:560px){.editor .step-gone>.btn{grid-column:2}}.menu-items li.lifting,.meal-rows li.lifting,.editor .step-slot.lifting{height:44px;min-height:0;box-sizing:border-box;padding:0;margin:4px 0;border:1.5px dashed var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent);opacity:1;overflow:hidden}.menu-items li.lifting>*,.meal-rows li.lifting>*,.editor .step-slot.lifting>*{display:none}.menu-items li.held,.meal-rows li.held,.editor .step-slot.held{position:relative;z-index:2;border-radius:10px;background:#fff;box-shadow:0 0 0 1.5px var(--accent),0 6px 18px #00000024}.menu-items li.held,.meal-rows li.held{padding-left:8px;padding-right:8px}.editor .step-slot.held{padding:4px 6px 0;margin:0 -6px 2px}.menu-grip,.editor .step-num{position:relative}.menu-grip:focus-visible:after,.editor .step-num:focus-visible:after,.menu-grip[data-held]:after,.editor .step-num[data-held]:after{content:attr(data-hint);position:absolute;left:0;top:calc(100% + 2px);z-index:3;padding:3px 8px;border-radius:6px;background:var(--fg);color:#fff;font-family:var(--font-ui);font-size:12px;font-weight:500;line-height:1.3;letter-spacing:0;white-space:nowrap;pointer-events:none}.menu-grip[data-held]:not(:focus-visible):after,.editor .step-num[data-held]:not(:focus-visible):after{display:none}.row-lift{position:fixed;z-index:70;pointer-events:none;display:flex;align-items:center;gap:8px;height:44px;box-sizing:border-box;padding:0 14px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--text-sm);white-space:nowrap;overflow:hidden}.row-lift>svg{flex:none;color:#55554f}.row-lift b{color:var(--accent);overflow:hidden;text-overflow:ellipsis}.row-lift .muted{overflow:hidden;text-overflow:ellipsis}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1em}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border-radius:12px;border:1px solid transparent;background:var(--surface);text-align:left;cursor:pointer;min-height:110px;box-shadow:var(--shadow-sm)}.tile:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.tile>svg{width:28px;height:28px;color:var(--accent)}a.tile,a.tile:hover{color:var(--fg);text-decoration:none;font:inherit}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:var(--shadow-md)}.import-apps .tile{min-height:72px}.tile b{font-family:var(--font-display);font-size:1.1rem}.viewer{position:fixed;inset:0;background:#111;color:#fff;z-index:50;display:flex;flex-direction:column}.viewer header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:#000000b3}.viewer header b{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer .btn{color:#fff;border-color:#fff;background:transparent}.viewer .btn.quiet{border-color:transparent}.viewer .body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;display:flex;flex-direction:column;align-items:center}.viewer .body img{display:block;width:100%;max-width:1100px;height:auto;transition:opacity .15s}.viewer .body .page-note{color:#ddd;padding:10px 16px}.viewer .stepper{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#000000b3}.viewer .stepper .small{color:#bbb;text-align:center}.tray .page.view{cursor:zoom-in;border:1px solid var(--edge);padding:0;background:#fff;font:inherit}.tray .page.view:hover,.tray .page.view:focus-visible{border-color:var(--accent)}.tray.big{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.camera{position:fixed;inset:0;background:#000;z-index:50;display:flex;flex-direction:column}.camera video{flex:1 1 0;min-height:0;min-width:0;width:100%;object-fit:cover}.camera .controls{flex-shrink:0}.camera .controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:#000000d9;color:#fff}.shutter{width:76px;height:76px;border-radius:50%;border:4px solid #fff;background:#fff;box-shadow:inset 0 0 0 3px #000;cursor:pointer;justify-self:center}.shutter:active{transform:scale(.94);background:#d9d9d9}.shutter:disabled{opacity:.5;cursor:default}.camera .btn{color:#fff;border-color:#fff;background:transparent}.camera .flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.camera .flash.on{animation:flash .25s ease-out}@keyframes flash{0%{opacity:.9}to{opacity:0}}.tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.tray .page{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--edge);background:#fff;aspect-ratio:3 / 4}.tray .page img{width:100%;height:100%;object-fit:cover;display:block}.tray .page .n{position:absolute;top:4px;left:4px;background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:.8rem;font-weight:600}.tray .page .dup{position:absolute;bottom:0;left:0;right:0;background:var(--attention);color:#fff;font-size:.75rem;padding:2px 6px;text-align:center;border:0;border-radius:0;font-family:inherit;cursor:pointer}.tray .page .state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f3ebddbf;font-weight:600}.tray .page .rm{position:absolute;top:2px;right:2px;width:32px;height:32px;border-radius:50%;border:none;background:#2b2b28cc;color:#fff;cursor:pointer}.tray .page .pn{position:absolute;bottom:4px;left:4px;background:#2b2b28c7;color:#fff;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.tray .page.checking{border-color:var(--accent)}.tray .page .scanline{position:absolute;left:0;right:0;height:22%;top:-22%;pointer-events:none;background:linear-gradient(180deg,#2b5a8c00,#2b5a8c59 60%,#2b5a8cf2);box-shadow:0 2px 8px #2b5a8c8c;animation:scan-sweep 1.5s linear infinite}@keyframes scan-sweep{0%{top:-22%}to{top:100%}}.tray .page .mark{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.6rem;line-height:1;color:#fff;box-shadow:0 4px 14px #0000004d;animation:mark-pop .3s ease-out;pointer-events:none}.tray .page .mark.ok{background:#2e7d4f}.tray .page .mark.bad{background:var(--attention)}.tray .page.bad{border-color:var(--attention)}.tray .page .already{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;background:#ffffff59}.tray .page .already .mark.dupe{position:static;margin:0;background:var(--attention)}.tray .page .already .mark.dupe svg{width:24px;height:24px}.tray .page .already-text{color:var(--attention);background:#ffffffe6;border-radius:6px;padding:1px 5px;font-size:.62rem;line-height:1.15;font-weight:700;text-align:center;max-width:92%}.already-notice{display:flex;flex-direction:column}.already-notice.stack>*+*{margin-top:0}.already-notice>b{color:var(--attention);display:inline-flex;align-items:center;gap:6px}@keyframes mark-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.rescan-notice{border-color:var(--attention);display:flex;flex-direction:column}.rescan-notice.stack>*+*{margin-top:0}.cam-indicator{position:absolute;left:50%;bottom:calc(118px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--attention);color:#fff;padding:8px 18px;border-radius:999px;font-weight:700;font-size:1.05rem;white-space:nowrap;box-shadow:0 4px 14px #0006;pointer-events:none}@media(prefers-reduced-motion:reduce){.tray .page .scanline{animation:none;top:39%}.tray .page .mark{animation:none}}.progress{height:12px;background:var(--fill);border-radius:999px;overflow:hidden}.progress>div,.progress>span{display:block;height:100%;background:var(--accent);transition:width .45s linear}.progress.live>div{background-image:linear-gradient(135deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%);background-size:28px 28px;animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{to{background-position:28px 0}}.progress.sub{grid-column:1 / -1;height:6px;margin-top:2px}@media(prefers-reduced-motion:reduce){.progress.live>div{animation:none}}.in-progress{padding:.6em 1em}.in-progress h2{margin:0;font-family:var(--font-ui);font-size:1rem;font-weight:600}.in-progress h2 button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.in-progress h2 button:hover .working-sum{color:var(--accent)}.in-progress .working-mark{display:inline-flex;flex:none}.in-progress .working-mark svg{animation:spin 1.1s linear infinite}.in-progress .working-sum{flex:1;min-width:0}.in-progress .working-chev{display:inline-flex;flex:none;color:var(--accent);transition:transform .18s ease-out}.in-progress.open .working-chev{transform:rotate(90deg)}.in-progress #progress-rows{padding-bottom:.4em}main>.in-progress{margin-bottom:1.25em}@keyframes spin{to{transform:rotate(360deg)}}.rb{container-type:inline-size}.rb-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:0 36px}@container (min-width: 640px){.rb-cols>section>h2:first-child{margin-top:28px}}@container (min-width: 640px){.rb-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.rb-ing{padding-right:1.5em}.rb-method{padding-left:1.5em;border-left:1px solid rgba(41,69,89,.35)}}@media print{.rb-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important}.rb-ing{padding-right:1.5em}.rb-method{padding-left:1.5em;border-left:1px solid rgba(41,69,89,.35)}.rb-cols>section>h2:first-child{margin-top:28px}}.rb section{min-width:0}main.wide{max-width:1280px}.cook-page{position:relative}.cook-title{display:flex;align-items:center;gap:8px;margin:0 0 -6px;font-size:var(--text-md);font-family:inherit;font-weight:600;color:#55554f}.cook-title>svg{color:var(--accent);flex:none}.cook-title a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.cook-title .x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;background:none;color:#8a8a84;cursor:pointer}.cook-title .x:hover{background:#29455914;color:var(--fg)}.cook-title .reset{margin-left:auto;font-weight:600}.cook-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--edge);position:sticky;top:var(--topbar-h, calc(max(8px, env(safe-area-inset-top)) + 53px) );z-index:5;background:var(--bg)}.cook-tab .tab-clock{display:inline-flex;align-items:center;gap:3px;flex:none;margin-left:2px;padding:1px 7px;border-radius:999px;background:#2945591a;font-size:var(--text-xs);font-weight:600}.cook-tab.on .tab-clock{background:#ffffff38}.cook-tab .tab-clock.paused{opacity:.75}.cook-tab{display:inline-flex;align-items:center;max-width:min(340px,100%);min-height:40px;padding-right:4px;border:2px solid var(--edge-strong, #c9c7bf);border-radius:999px;background:#fff;color:#55554f}.cook-tab>[role=tab]{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:36px;padding:4px 2px 4px 14px;border:0;background:none;color:inherit;font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer}.cook-tab>[role=tab] span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-tab:hover{border-color:var(--accent);color:var(--fg)}.cook-tab.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.cook-tab .x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:50%;background:none;color:inherit;opacity:.7;cursor:pointer}.cook-tab .x:hover{background:#ffffff40;opacity:1}.cook-tab:not(.on) .x:hover{background:#29455914}.cook-tab.ringing{animation:tab-ring 1s ease-in-out infinite}.cook-tab.ringing:not(.on){border-color:var(--attention);color:var(--attention)}.cook-tab.ringing.on{background:var(--attention);border-color:var(--attention);animation:tab-ring-on 1s ease-in-out infinite}@keyframes tab-ring-on{0%,to{opacity:1}50%{opacity:.6}}@keyframes tab-ring{0%,to{background:#fff}50%{background:color-mix(in srgb,var(--attention) 18%,#fff)}}.cook-add{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px 6px 10px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}.cook-add:hover{filter:brightness(1.08)}.cook-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.cook-main{min-width:0}.cook-empty{text-align:center;align-items:center;padding:40px 24px}.cook-empty h1{margin:0}.cook-empty p{max-width:480px;margin-left:auto;margin-right:auto}.cook-rail{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:14px 16px}.cook-rail .rail-head{margin:0 0 6px}.cook-rail .rail-head h2{margin:0;font-size:var(--text-md)}.cook-rail .rail-empty,.cook-rail .rail-wake{margin:4px 0 0}.rail-done{margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);display:grid;gap:4px;justify-items:start}@media(min-width:1000px){.cook-layout.timers-on{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.cook-layout.timers-on .cook-rail{position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto}}@media(max-width:999px){.cook-layout.timers-on .cook-rail{order:-1}.cook-rail .timer-card{display:inline-grid}}.timer-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-top:1px dashed var(--rule)}.timer-card:first-of-type{border-top:0}.timer-card .ring{position:relative;width:64px;height:64px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}.timer-card .ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.timer-card .ring .track{fill:none;stroke:var(--edge);stroke-width:4}.timer-card .ring .bar{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer-card.paused .ring .bar{stroke:#8a8a84}.timer-card.ringing .ring .bar{stroke:var(--attention)}.timer-card .ring>span{position:relative;font-weight:700;font-size:var(--text-sm)}.timer-card.ringing .ring>span{color:var(--attention);animation:plus-blink .8s ease-in-out infinite}.timer-card .ring .colon.blink{animation:colon-blink 1s steps(1,end) infinite}@keyframes colon-blink{0%,to{opacity:1}50%{opacity:0}}.timer-body{min-width:0;display:grid;gap:4px}.timer-label{line-height:1.25}.ring-word{color:var(--attention);font-weight:600}.timer-ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.timer-ctl .btn.icon{min-width:36px;min-height:36px;width:36px;height:36px;padding:0}.linklike{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.tabular{font-variant-numeric:tabular-nums}.rb.cooking .ing li.tick,.rb.cooking .step-text{cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.rb.cooking .ing li.tick:hover,.rb.cooking .step-text:hover{background:#2945590d;border-radius:6px}.rb.cooking .ing li.done,.rb.cooking .steps li.done .step-text{opacity:.45;text-decoration:line-through;text-decoration-thickness:1.5px}.rb.cooking .steps li.done:before{opacity:.45}.recipe-paper .body .steps li.current{background:color-mix(in srgb,var(--accent) 7%,#fff);border:2px solid var(--accent);border-radius:12px;padding:10px 12px 10px 10px;margin-left:-12px;margin-right:-12px}.recipe-paper .body .steps li.current:before{background:var(--accent);color:var(--on-accent)}.recipe-paper .body .steps li .step-text{padding:2px 4px;margin:-2px -4px;border-radius:6px}.tip-link{color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}.tip-ref .tip-lead{white-space:nowrap}.tip-link:hover{text-decoration-thickness:2px}.tip-link svg{width:15px;height:15px;vertical-align:-2px;margin-right:2px}.tips li{margin:0 0 8px}@media print{.tip-link{color:inherit;text-decoration:none}.tip-link svg{display:none}}.dur{padding:0 2px;border:0;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font:inherit;font-weight:600;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.dur:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.step-timers{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}.step-timers .chip{--chip: var(--accent);min-height:34px;padding:4px 12px;font-size:var(--text-xs);cursor:pointer}.step-timers .chip.quiet{--chip: #8a8a84;border-style:dashed}.chip.timer-chip.live{background:#fff;cursor:default;padding-right:6px}.chip.timer-chip.live.paused{--chip: #8a8a84}.chip.timer-chip.ringing{--chip: var(--attention);background:color-mix(in srgb,var(--attention) 10%,#fff);cursor:default;animation:plus-blink .8s ease-in-out infinite}.chip.timer-chip .mini{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}.chip.timer-chip .mini:hover{background:color-mix(in srgb,var(--chip) 15%,transparent)}.timer-note{display:inline-flex;align-items:center;gap:4px;width:100%;color:#55554f;font-size:var(--text-xs)}.cook-done{margin-top:20px}.cook-done .btn{white-space:nowrap}.alarm-screen{position:fixed;inset:0;z-index:70;overflow:auto;background:var(--fg);color:#fff;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.alarm-stack{width:min(520px,100%);display:grid;gap:28px;margin:auto}.alarm{display:grid;justify-items:center;text-align:center;gap:14px}.alarm+.alarm{padding-top:28px;border-top:1px solid rgba(255,255,255,.25)}.alarm-bell{color:var(--attention);animation:alarm-swing .9s ease-in-out infinite;transform-origin:50% 10%}@keyframes alarm-swing{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}.alarm h1{margin:0;color:#fff;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.15}.alarm-where{margin:0;color:#fffc;font-size:var(--text-md)}.alarm-where .linklike{color:#fff;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:4px;font-size:inherit}.alarm-snooze{width:100%;display:grid;gap:8px;margin-top:6px}.alarm-snooze-word{color:#ffffffb3;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em}.alarm-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.alarm-row.five{display:grid;grid-template-columns:repeat(5,1fr)}.alarm-row .btn{min-height:56px;padding:8px 14px;flex-direction:column;gap:0;line-height:1.1;font-size:var(--text-lg);background:transparent;border-color:#ffffff80;color:#fff}.alarm-row:not(.five) .btn{min-width:92px}.alarm-row .btn small{font-size:var(--text-xs);font-weight:500;opacity:.8}.alarm-row .btn:hover,.alarm-row .btn:focus-visible{background:#ffffff1f;filter:none}.alarm-dismiss{width:100%;min-height:76px;margin-top:10px;font-size:1.35rem;background:var(--attention);border-color:var(--attention);color:#fff}.alarm-dismiss:focus-visible{outline:3px solid #fff;outline-offset:3px}.timer-set{display:flex;flex-wrap:wrap;gap:12px 20px}.timer-set .scale{display:grid;grid-template-columns:auto auto auto;grid-template-areas:"l l l" "a b c";gap:4px 8px}.timer-set .scale label{grid-area:l}.timer-set .scale input{width:72px}@media(prefers-reduced-motion:reduce){.cook-tab.ringing,.timer-card.ringing .ring>span,.timer-card .ring .colon.blink,.chip.timer-chip.ringing,.alarm-bell{animation:none}.cook-tab.ringing{background:color-mix(in srgb,var(--attention) 18%,transparent)}}@media print{.topbar,.tabbar,.btn,.actions,.no-print{display:none!important}main{padding:0;max-width:none}body{background:#fff}.card{border:none}}@page{margin:14mm 16mm 16mm;@top-center{content:""}@bottom-center{content:""}}@media print{.card.recipe-paper:before{display:none}}.tour{position:fixed;inset:0;z-index:50}.tour-mask{position:absolute;inset:0;background:#2b2b288c}.tour-ring{position:absolute;border:3px solid var(--brass, #B28A4A);border-radius:12px;box-shadow:0 0 0 4px #ffffff59;pointer-events:none}.tour-card{position:absolute;width:300px;max-width:calc(100vw - 24px);background:var(--surface);color:var(--fg);border-radius:12px;padding:14px 16px 12px;box-shadow:0 12px 32px #2b2b2859}.tour-card p{margin:0 0 10px;font-size:var(--text-md);line-height:1.4}.tour-arrow{position:absolute;width:0;height:0;border:10px solid transparent;transform:translate(-10px)}.tour-card.below .tour-arrow{top:-20px;border-bottom-color:var(--on-accent)}.tour-card.above .tour-arrow{bottom:-20px;border-top-color:var(--on-accent)}.cam-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.cam-status{background:#000000b3;color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;font-size:1.05rem;max-width:92%;text-align:center}.source-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}.source-card img,.source-card .spine{width:96px;height:128px;object-fit:cover;border-radius:6px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-display);font-weight:600;padding:8px;font-size:.85rem}.steps-nav{display:flex;gap:6px;align-items:center;font-size:var(--text-sm);color:#55554f}.steps-nav b{color:var(--accent)}.source-rows .rowitem .rowtitle{padding-left:0}.source-rows .source-by{font-family:var(--font-ui);font-weight:400;margin-left:8px}.cover{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;background:var(--fill)}.source-head{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start}.source-head.no-cover{grid-template-columns:1fr}.source-head .cover.thumb{width:96px}@media(max-width:480px){.source-head{grid-template-columns:72px 1fr;gap:12px}.source-head.no-cover{grid-template-columns:1fr}.source-head .cover.thumb{width:72px}}.source-head .source-title{align-items:flex-start;flex-wrap:nowrap;gap:12px}.source-head .source-title h1{flex:1;min-width:0;margin-top:4px}.source-head .source-title .actions-menu{margin-top:6px}.link-btn{background:none;border:0;padding:10px 2px;margin:-10px 0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.link-btn.temp-unit{padding:10px 4px;font-weight:600;text-underline-offset:.15em}.link-btn.temp-unit svg{width:12px;height:12px;vertical-align:-1px}.oven-unit{display:inline-block}.editor .oven-field{position:relative}.oven-unit .pop.menu{left:0;right:auto;min-width:220px;max-width:calc(100vw - 32px);display:block;font-weight:400}.oven-unit .pop.menu .pop-title{display:block}.editor .title-box{min-height:0;height:auto;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.editor .new-kind{margin-top:6px;width:100%}.scan-note{display:inline}.scan-note .scan-note-more{display:inline-flex;vertical-align:middle;width:28px;height:28px;min-height:0;margin:-6px 0;padding:0}.filing{position:fixed;inset:0;z-index:45;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}.filing-card{position:relative;width:min(320px,78vw);aspect-ratio:3 / 2;background:var(--card-paper);border:1px solid var(--edge);border-radius:10px;box-shadow:0 6px 24px #2b2b281f;overflow:hidden}.filing-rule.top{position:absolute;left:0;right:0;top:14%;height:3px;background:var(--attention)}.filing-line{position:absolute;left:9%;height:3px;border-radius:2px;background:var(--rule);width:82%}.filing-line:after{content:"";position:absolute;left:0;top:-2px;height:7px;border-radius:4px;background:var(--accent);width:0;animation:filing-write 3.2s ease-in-out infinite}.filing-line.l1{top:34%}.filing-line.l2{top:48%}.filing-line.l3{top:62%}.filing-line.l4{top:76%;width:55%}.filing-line.l1:after{animation-delay:0s}.filing-line.l2:after{animation-delay:.8s}.filing-line.l3:after{animation-delay:1.6s}.filing-line.l4:after{animation-delay:2.4s}@keyframes filing-write{0%{width:0;opacity:0}8%{opacity:1}24%{width:100%}78%{width:100%;opacity:1}92%{opacity:0;width:100%}to{width:0;opacity:0}}.filing-pencil{position:absolute;right:-8px;bottom:-8px;width:70px;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--attention) 0 14%,#E8C8A0 14% 22%,var(--color-oak) 22%);transform:rotate(-35deg);opacity:.85}.filing-label{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.filing-sub{color:#55554f;margin:0;max-width:34ch}@media(prefers-reduced-motion:reduce){.filing-line:after{animation:none;width:100%;opacity:1}}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:2px solid var(--chip);color:var(--chip-fg, var(--chip));background:transparent;text-decoration:none;font-weight:600;font-size:var(--text-sm)}.chip:hover{background:color-mix(in srgb,var(--chip) 12%,transparent)}.chip.on{background:var(--chip);color:var(--chip-on, var(--on-accent))}.chip-count{font-weight:500;opacity:.75;font-variant-numeric:tabular-nums}.chip.on .chip-count{opacity:.85}.chip svg{width:14px;height:14px}.offer{border:2px dashed var(--accent);border-radius:12px;padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.picker{position:fixed;inset:0;top:var(--vv-top, 0px);bottom:auto;height:var(--vv-height, 100%);z-index:50;background:#2b2b2873;display:flex;align-items:flex-end;justify-content:center}@media(min-width:721px){.picker{align-items:center}}.picker-card{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px 16px 0 0;width:min(560px,100vw);max-height:calc(var(--vv-height, 100dvh) * .86);overflow:auto;overscroll-behavior:contain;padding:18px}@media(min-width:721px){.picker-card{border-radius:16px}}.library-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap-reverse}h1 .count{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:400;margin-left:8px}@media(max-width:720px){.library-head h1{font-size:var(--text-xl)}}.library-head h2.find-narrowed{margin:0;font-size:var(--text-xl)}.library-head h2.find-narrowed .count{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:400;margin-left:8px}.collection-nudge{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;padding:16px 18px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm)}.collection-nudge p{margin:0;color:#55554f}.red-pencil-line{display:inline-flex;align-items:center;gap:8px;color:var(--fg);text-decoration:none}.red-pencil-line:hover{text-decoration:underline}.quicklines{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-bottom:10px}.quicklines .red-pencil-line{font-size:1.0625rem;min-height:44px;padding:8px 12px;margin-left:-12px;border-radius:10px}.quicklines .red-pencil-line:hover{background:#2945590f;text-decoration:none}.quicklines .red-pencil-mark{font-size:.9375rem}.quicklines .red-pencil-mark svg{width:16px;height:16px}.quiet-line{border:0;background:transparent;padding:0;font:inherit;font-size:var(--text-xs);cursor:pointer;text-align:left}.quiet-line[aria-pressed=true] .line-mark{color:var(--accent)}.line-mark{color:#55554f}.with-rail{display:grid;grid-template-columns:minmax(0,1fr) 24px;column-gap:6px;align-items:start}.with-rail.no-rail{grid-template-columns:minmax(0,1fr)}.rows{display:flex;flex-direction:column;min-width:0}.rows .sec{position:sticky;top:calc(var(--topbar-h, calc(max(8px, env(safe-area-inset-top)) + 53px) ) - 1px);z-index:2;margin:0;padding:12px 4px 4px;background:var(--bg);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#55554f;font-weight:600;border-bottom:1px solid var(--edge)}.rows .sec-fold{padding:0;text-transform:none;letter-spacing:0;font-family:var(--font-display);font-size:1.15rem;color:var(--fg)}.rows .sec-fold button{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;padding:8px 4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rows .sec-fold button:hover .sec-name{color:var(--accent)}.rows .sec-fold svg{flex:none;color:var(--accent);transition:transform .18s ease-out}.rows .sec-fold.open svg{transform:rotate(90deg)}.rows .sec-fold .sec-name{flex:1;min-width:0}.rows .sec-fold .sec-count{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;color:#55554f;font-variant-numeric:tabular-nums}.rows .sec-fold.open .sec-count{color:var(--accent)}.rows .sec-fold+div .rowitem{padding-left:30px}@media(prefers-reduced-motion:reduce){.rows .sec-fold svg{transition:none}}.rowitem{display:flex;align-items:center;gap:12px;min-height:48px;padding:9px 4px;border-bottom:1px solid var(--edge);color:var(--fg);text-decoration:none;font:inherit;cursor:pointer}.rowitem .rowtitle{flex:1;min-width:0;padding-left:1.25em;font-family:var(--font-display);font-weight:500;font-size:1.05rem;line-height:1.25}.rowitem:hover .rowtitle{color:var(--accent)}.rowitem .marks{display:inline-flex;align-items:center;gap:8px;flex:none}.rowitem input[type=checkbox]{width:22px;height:22px;margin:0;flex:none}.index-rail{position:sticky;top:max(90px,calc(50vh - 240px));display:flex;flex-direction:column;align-items:center;padding:4px 0;border-radius:12px;user-select:none;-webkit-user-select:none;touch-action:none;cursor:pointer}.index-rail span{display:block;width:24px;font-size:11px;line-height:16px;text-align:center;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:8px}.index-rail span.on{color:var(--on-accent);background:var(--accent)}.index-rail.dragging{background:var(--fill)}.index-bubble{position:fixed;right:48px;top:50%;transform:translateY(-50%);min-width:64px;height:64px;padding:0 12px;border-radius:32px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font:700 1.5rem var(--font-ui);z-index:30;pointer-events:none;box-shadow:0 8px 20px -8px #2b2b2880}.pick-bar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid transparent;box-shadow:0 10px 24px -12px #2b2b2873;z-index:3}@media(min-width:721px){.pick-bar{bottom:16px}}.listmenu-stack{display:inline-grid;grid-template-columns:minmax(0,max-content);row-gap:6px;max-width:100%}@media(min-width:720px){.listmenu-stack{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));column-gap:8px;width:100%;max-width:760px}.listmenu-title{grid-column:1 / -1}.row.filters>.listmenu-stack{flex:1 1 auto}}.listmenu-title{font-weight:600;color:#55554f;white-space:nowrap;padding:2px 2px 0}.listmenu{position:relative;display:block}.listmenu-btn{display:flex;align-items:stretch;gap:8px;width:100%;min-width:200px;min-height:44px;padding:0 0 0 14px;border-radius:10px;border:1px solid var(--edge);background:var(--surface);color:var(--fg);font:inherit;font-weight:500;cursor:pointer;text-align:left;box-shadow:var(--shadow-sm)}.listmenu-btn .lm-key{color:#55554f;flex:none;align-self:center;padding-block:8px}.listmenu-btn .lm-val{flex:1;min-width:0;max-width:200px;align-self:center;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listmenu-btn .lm-arrow{flex:none;margin-left:auto;display:inline-flex;align-items:center;padding:0 11px 0 9px;color:#55554f}.listmenu-btn .lm-arrow svg{transform:rotate(90deg);transition:transform .18s ease-out}.listmenu-btn[aria-expanded=true] .lm-arrow svg{transform:rotate(-90deg)}.listmenu-btn[aria-expanded=true],.listmenu-btn:hover{border-color:var(--accent)}.listmenu-btn.on .lm-val{color:var(--accent)}.listmenu-btn.outlined{border-width:3px;border-color:var(--accent);padding-left:13px}.listmenu-btn.outlined .lm-arrow{padding-right:10px}.listmenu-backdrop{position:fixed;inset:0;z-index:24}.listmenu-pop{position:absolute;top:calc(100% + 6px);left:0;width:max(100%,min(340px,calc(100vw - 32px)));z-index:25;max-height:70dvh;overflow:auto;background:var(--surface);border:1px solid var(--edge);border-radius:12px;box-shadow:0 14px 30px -12px #2b2b2873;padding:6px}.listmenu-pop .mi{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.listmenu-pop .mi>span:first-child{display:inline-flex;align-items:center;gap:6px;min-width:0}.listmenu-pop .mi:hover{background:#2945590f}.listmenu-pop .mi.on{font-weight:700;color:var(--accent)}.listmenu-pop .cnt{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:#55554f;font-variant-numeric:tabular-nums;flex:none}.listmenu-pop .mg{border-top:1px solid var(--edge);margin-top:4px;padding-top:4px}.row.filters{align-items:flex-start}@media(prefers-reduced-motion:reduce){.listmenu-btn .lm-arrow svg{transition:none}}@media(min-width:721px){.start .start-add{width:auto;min-width:300px}}.start .start-section{margin-top:26px}.start .findbox+.start-section.view{margin-top:0}.start .start-section h2{font-size:var(--text-lg)}.start-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:721px){.start-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.start-tiles .tile{position:relative;min-height:104px;gap:10px;padding:16px;justify-content:flex-start}.start-tiles .tile b{font-size:1.2rem;line-height:1.2}.start-tiles .tile-badge{position:absolute;top:12px;right:12px}.tile.attention>svg{color:var(--attention)}.tile.attention{border-color:#a33b3273}.start-list{display:flex;flex-direction:column;border-top:1px solid var(--edge)}.start-list .rowitem{min-height:56px}.start-list .rowitem>svg:first-child{flex:none;color:var(--accent)}.start-list .rowitem .rowtitle{font-family:var(--font-ui);font-weight:600;font-size:1.0625rem}.start .start-account{margin-top:26px}.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--fill)}.segmented a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border-radius:999px;color:var(--fg);text-decoration:none;font-weight:600}.segmented a:hover{background:#29455914}.segmented a[aria-current=page]{background:var(--accent);color:var(--on-accent)}@media(max-width:480px){.segmented{display:flex}.segmented a{flex:1}}.rows h2.sec{font-size:var(--text-xs)}.rows h2.sec-fold{font-size:1.15rem}.rows .sec.sub{top:calc(var(--topbar-h, calc(max(8px, env(safe-area-inset-top)) + 53px) ) + var(--head-h, 52px) - 2px);z-index:1;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 4px 0 30px}.rows .sec.sub.fold{padding:0}.rows .sec.sub.fold button{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 4px 0 30px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer}.rows .sec.sub.fold button:hover .sec-name{color:var(--accent)}.rows .sec.sub.fold svg{flex:none;color:var(--accent);transition:transform .18s ease-out}.rows .sec.sub.fold.open svg{transform:rotate(90deg)}.rows .sec.sub .sec-name{flex:1;min-width:0}.rows .sec.sub.fold.open .sec-count{color:var(--accent)}@media(prefers-reduced-motion:reduce){.rows .sec.sub.fold svg{transition:none}}.rows .sec.sub .sec-count{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;letter-spacing:0;color:#55554f;font-variant-numeric:tabular-nums}.cookbook{--paper: #F3EBDD;--ink: var(--fg);max-width:760px;margin:0 auto;color:var(--ink)}.cookbook .sheet{background:var(--paper);border-radius:10px;padding:32px 28px 40px;margin-bottom:14px;box-shadow:0 10px 30px -18px #2b2b2880;position:relative;border:1px solid var(--edge)}.cookbook .cover{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:52vh}.cookbook .cover h1{font-size:2.4rem;line-height:1.1;margin:0 0 10px}.cookbook .cover .sub{font-size:1.2rem;margin:0 0 24px}.cookbook .cover .by{font-size:.95rem;color:#55554f}.cookbook .cover .rule{width:80px;height:2px;background:var(--accent);margin:20px auto}.cookbook h1,.cookbook h2,.cookbook h3,.cookbook h4{margin:0;line-height:1.2;letter-spacing:0}.cookbook .contents h2{font-size:1.6rem;margin-bottom:16px}.cookbook .contents h3{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#55554f;margin:16px 0 6px;font-family:var(--font-ui)}.cookbook .contents ol{list-style:none;padding:0;margin:0}.cookbook .contents li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dotted var(--rule)}.cookbook .contents li a{color:inherit;text-decoration:none}.cookbook .contents li .pg{color:#55554f;font-variant-numeric:tabular-nums}.cookbook .recipe .kicker{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#55554f;margin-bottom:8px;font-family:var(--font-ui)}.cookbook .recipe h2{font-size:1.9rem;margin-bottom:8px}.cookbook .recipe .meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:#55554f;margin-bottom:20px}.cookbook .recipe h3{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#55554f;margin:20px 0 8px;font-family:var(--font-ui)}.cookbook .recipe h4{font-size:1rem;margin:14px 0 4px}.cookbook .recipe ul.ing{list-style:none;padding:0;margin:0}.cookbook .recipe ul.ing li{padding:5px 0;text-indent:0;border-bottom:1px solid var(--rule)}.cookbook .recipe ol.steps{padding-left:0;margin:0}.cookbook .recipe ol.steps li{grid-template-columns:1.5em 1fr;gap:0 8px;padding:0;margin:0 0 6px;border-bottom:0}.cookbook .recipe ol.steps li:before{font-size:1.05em;line-height:inherit}.cookbook .recipe .cite{font-size:.85rem;color:#55554f;margin-top:24px}.cookbook .folio{position:absolute;bottom:14px;right:28px;font-size:.8rem;color:#55554f;font-variant-numeric:tabular-nums}.cookbook.classic h1,.cookbook.classic h2,.cookbook.classic h4,.cookbook.classic .cover .sub{font-family:var(--font-display);font-weight:600}.cookbook.classic .sheet{border-top:4px solid var(--attention)}.cookbook.modern .sheet{background:#fff;border-radius:2px;padding:40px 36px}.cookbook.modern h1,.cookbook.modern h2,.cookbook.modern h4{font-family:var(--font-ui);font-weight:700;letter-spacing:-.02em}.cookbook.modern .recipe h2{font-size:2.1rem;border-bottom:2px solid var(--accent);padding-bottom:10px}.cookbook.modern .recipe ul.ing li{border-bottom:0;padding:3px 0}.cookbook.handwritten .sheet{background:repeating-linear-gradient(to bottom,#fbf6ec 0 27px,#2945592e 27px 28px);color:#3b2f22}.cookbook.handwritten h1,.cookbook.handwritten h2,.cookbook.handwritten h4,.cookbook.handwritten .cover .sub{font-family:Snell Roundhand,Brush Script MT,Segoe Script,Bradley Hand,cursive;font-weight:400}.cookbook.handwritten .recipe h2{font-size:2.3rem}.cookbook.handwritten .recipe ul.ing li{border-bottom:0;line-height:28px;padding:0}.cookbook.handwritten .recipe ol.steps li{line-height:28px;margin:0}.style-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.style-tile{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1px solid transparent;background:var(--surface);cursor:pointer;box-shadow:var(--shadow-sm)}.style-tile.on{border-color:var(--accent);box-shadow:0 0 0 2px #29455926}.style-tile b{font-family:var(--font-display);font-size:1.05rem}.cookbook.mini{pointer-events:none;position:relative;width:100%;min-width:0;height:150px;overflow:hidden;border-radius:8px;margin-bottom:4px}.cookbook.mini .sheet{position:absolute;top:0;left:0;transform:scale(.55);transform-origin:top left;width:182%;margin:0;min-height:270px}.pools{display:flex;flex-wrap:wrap;gap:8px}.pool{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:2px solid var(--accent);background:transparent;color:var(--accent);font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer}.pool.on{background:var(--accent);color:var(--on-accent)}.pool .cnt{font-weight:500;opacity:.8;font-variant-numeric:tabular-nums}.steps-nav{display:flex;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.steps-nav button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px 6px 6px;border:1px solid var(--edge);border-radius:999px;background:transparent;color:#55554f;font:inherit;font-weight:600;cursor:pointer}.steps-nav .n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bg-muted);color:var(--fg);font-size:var(--text-xs)}.steps-nav li.on button{border-color:var(--accent);color:var(--fg)}.steps-nav li.on .n,.steps-nav li.done .n{background:var(--accent);color:var(--on-accent)}.option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border-radius:12px;border:1px solid transparent;background:var(--surface);color:var(--fg);font:inherit;text-align:left;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-sm)}.option.on,.option:hover{border-color:var(--accent)}.option input[type=radio]{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}.option.big>svg{width:26px;height:26px;color:var(--accent);flex:none;margin-top:2px}.option:disabled{opacity:.6;cursor:default}.order-list{list-style:none;padding:0;margin:0;counter-reset:n}.order-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:6px 4px;border-bottom:1px solid var(--edge);counter-increment:n}.order-list li:before{content:counter(n) ".";color:#55554f;font-variant-numeric:tabular-nums;width:2em;flex:none}.order-list .rowtitle{flex:1;min-width:0;font-family:var(--font-display);font-weight:500}.dock{position:sticky;bottom:calc(var(--tabbar-h, 0px) + env(safe-area-inset-bottom) + 16px);padding:10px 14px;border-radius:14px;background:#eeeeeeed;border:1px solid var(--edge);box-shadow:0 10px 24px -12px #2b2b2873;z-index:3}.dock input{flex:1;width:auto;min-width:0;align-self:stretch;font-size:var(--text-md)}.shell{--tabbar-h: 48px}@media(min-width:721px){.shell{--tabbar-h: 0px}}@media print{.dock{display:none!important}}@media(max-width:720px){.dock.dock-flow{position:static}.dock.dock-flow .btn.big{font-size:inherit;padding:10px 18px;min-height:44px}}.origin-picker{position:relative}.origin-picker input{width:100%}.origin-picker .suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--surface);border:1px solid var(--edge);border-radius:10px;box-shadow:0 10px 28px #2b2b282e;overflow:hidden}.origin-picker .suggest button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--edge);background:transparent;font:inherit;color:inherit;cursor:pointer}.origin-picker .suggest button:last-child{border-bottom:0}.origin-picker .suggest button.active,.origin-picker .suggest button:hover{background:var(--fill)}.origin-picker .suggest button.new{color:var(--accent);font-weight:500}.origin-picker .suggest .best{margin-left:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:600;white-space:nowrap}.origin-picker .origin-details{margin-top:6px}.origin-picker .suggest{top:auto}.origin-picker .input-row{position:relative}.origin-fields{display:grid;grid-template-columns:minmax(150px,2fr) minmax(125px,1fr) minmax(200px,3fr);gap:10px;align-items:end;margin-top:8px}.origin-fields .field{margin:0;min-width:0}.origin-fields .field>span:first-child{white-space:nowrap}.origin-fields .field input{width:100%}@media(max-width:560px){.origin-fields{grid-template-columns:1fr 1fr}.origin-fields .field:last-child{grid-column:1 / -1}}.help-ways{list-style:none;margin:0;padding:0;display:grid;gap:12px}.help-ways li{display:flex;gap:12px;align-items:flex-start}.help-ways li>svg{flex:none;width:22px;height:22px;color:var(--accent);margin-top:2px}.team-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.team-list li{display:flex;gap:12px;align-items:center}.team-avatar{flex:none;width:56px;height:56px;border-radius:50%;border:3px solid var(--color-brass);background:var(--fill);overflow:hidden;display:grid;place-items:center}.team-avatar img{width:100%;height:100%;object-fit:cover;display:block}.team-initials{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--accent)}.support .sup-top{align-items:flex-start}.sup-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1em;align-items:start}@media(min-width:900px){.sup-layout{grid-template-columns:minmax(0,1fr) 320px;column-gap:2em}.sup-side{position:sticky;top:calc(var(--topbar-h, 60px) + 12px)}}.sup-main{display:flex;flex-direction:column;gap:1em;min-width:0}.sup-side{display:flex;flex-direction:column;gap:0;min-width:0;font-size:var(--text-sm)}.sup-side>section{padding-bottom:1.5em;margin-bottom:1.5em;border-bottom:1px solid var(--bg-muted)}.sup-side>section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.sup-side h2,.sup-strip h2,.sup-previous h2{font-size:var(--text-md);margin:0}.sup-side .sup-team{margin-top:0;padding-top:0;border-top:0}.sup-side .sup-team h3{font-size:var(--text-md);margin-bottom:10px}.sup-strip-head{margin-bottom:8px}.sup-strip-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.sup-strip-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;min-width:0}.sup-strip-card:hover{border-color:var(--accent)}.sup-strip-card.turn{border-color:var(--attention)}.sup-strip-card.done{opacity:.7}.sup-strip-title{font-family:var(--font-display);font-size:1rem;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sup-strip-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sup-previous{display:flex;flex-direction:column;gap:1em;margin-top:.75em}.sup-items{display:flex;flex-direction:column;gap:8px}.sup-item{display:block;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;min-width:0}.sup-item:hover{border-color:var(--accent)}.sup-item-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.sup-item-head .small{flex:none;white-space:nowrap}.sup-item-title{font-family:var(--font-display);font-weight:600;font-size:1.02rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sup-item-preview{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sup-item-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sup-item-chips:empty{display:none}.badge.chip-closed{background:transparent;border:1px solid var(--edge);color:#55554f;text-decoration:line-through;text-decoration-color:#9a988f}.badge b{font-weight:700}a.badge{text-decoration:none}a.badge:hover{filter:brightness(1.08)}.badge .chip-x{border:0;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1;padding:0 2px;margin-left:2px;cursor:pointer}.sup-pane{display:flex;flex-direction:column;gap:1em;min-width:0;padding:1.5em;border:1px solid transparent;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.sup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sup-head h2{font-size:var(--text-lg)}.sup-intro h2{margin-bottom:0}.sup-intro>p:last-child{margin-bottom:0}.sup-ask{display:flex;align-items:center;gap:8px}.sup-team h3{margin:0 0 .6em}.sup-suggest{display:none;margin-top:10px}.sup-suggest .chip{--chip: var(--accent)}.sup-tickets{display:flex;flex-direction:column;gap:8px}.sup-ticket{padding:10px 14px;border:1px solid transparent;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.sup-ticket.turn{border-color:var(--attention)}.sup-ticket .row{gap:8px}.sup-ticket .sup-answer{display:flex;gap:8px;max-width:360px}.sup-ticket .sup-answer .btn{flex:1 1 0;min-width:0;min-height:40px;padding:6px 10px;font-size:var(--text-sm)}@media(max-width:480px){.sup-ticket .sup-answer .btn{font-size:var(--text-xs);padding-inline:8px}}@media(max-width:480px){.sup-ticket .sup-composer-tools .sup-attach-label{display:none}.sup-ticket .sup-composer-tools .sup-attach{padding-inline:12px}}.sup-ticket .sup-composer{position:static;margin-top:10px;padding-top:10px;border-top:1px solid var(--edge)}.sup-resolution{margin:8px 0;white-space:pre-wrap}.sup-messages{list-style:none;margin:0;padding:4px 0;display:flex;flex-direction:column;gap:10px}.sup-row{display:flex}.sup-row.me{justify-content:flex-end}.sup-row.them{justify-content:flex-start}.sup-row.sys{justify-content:center}.sup-bubble{max-width:min(88%,620px);padding:10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--edge);min-width:0;overflow-wrap:anywhere}.sup-row.me .sup-bubble{background:var(--accent);color:var(--on-accent);border-color:var(--accent);border-bottom-right-radius:6px}.sup-row.me .sup-bubble .muted{color:#fffc}.sup-row.them .sup-bubble{border-bottom-left-radius:6px}.sup-row.staff .sup-bubble{border-color:var(--color-brass);border-left-width:4px}.sup-bubble.thinking{color:#55554f;font-style:italic}.sup-body p{margin:0 0 8px}.sup-body p:last-child{margin-bottom:0}.sup-body ul,.sup-body ol{margin:4px 0 8px;padding-left:22px}.sup-body a{color:inherit;text-decoration:underline}.sup-body code{font-family:var(--font-mono, ui-monospace, monospace);font-size:.92em}.sup-meta{margin-top:6px}.sup-sys{font-size:var(--text-xs);color:#55554f;border:1px dashed var(--bg-muted);border-radius:999px;padding:4px 12px;text-align:center}.sup-atts{margin-top:8px}.sup-att{display:block;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:zoom-in;border-radius:8px}.sup-att img{max-width:220px;max-height:220px;border-radius:8px;display:block;border:1px solid var(--edge)}.sup-att.file{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid var(--edge);background:#fff;color:var(--fg);text-decoration:none;cursor:pointer}.sup-att:hover img,.sup-att.file:hover{border-color:var(--accent)}.sup-att:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sup-preview{z-index:60}.sup-preview .body{justify-content:flex-start}.sup-preview .body img{width:auto;max-width:100%;max-height:100%;margin:auto}.sup-preview .body img.sup-preview-page{width:100%;max-width:1100px;max-height:none;margin:0 0 6px;background:#fff}.sup-preview .stepper{grid-template-columns:auto 1fr auto}.sup-preview .stepper .btn{white-space:nowrap}.sup-preview-short{display:none}@media(max-width:520px){.sup-preview-long{display:none}.sup-preview-short{display:inline}.sup-preview .stepper .small{display:none}}.sup-preview-fallback{color:#ddd;text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto}.sup-preview-fallback p{margin:0}.sup-preview .stepper a.btn{text-decoration:none}.sup-composer{display:flex;flex-direction:column;gap:1em;position:sticky;bottom:calc(48px + env(safe-area-inset-bottom));background:var(--surface);padding-top:0;padding-bottom:16px}@media(min-width:900px){.sup-composer{bottom:0}}.sup-jump{position:absolute;right:0;top:-52px;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:40px;padding:0 12px;border-radius:999px;border:1px solid var(--edge);background:var(--surface);color:var(--accent);box-shadow:var(--shadow-md);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.sup-jump.new{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.sup-jump svg{width:18px;height:18px}.sup-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sup-composer textarea{min-height:64px}.sup-composer-tools{display:flex;gap:8px;align-items:stretch}.sup-composer-tools .talk{flex:1 1 auto;min-width:0;gap:0}.sup-composer-tools .talk-btn{min-height:44px;font-size:var(--text-sm);padding:8px 12px;gap:8px;white-space:normal;line-height:1.2}.sup-composer-tools .talk-hint{display:none}.sup-composer-tools .btn,.sup-composer-tools .sup-attach{flex:none;min-height:44px;padding:8px 12px;font-size:var(--text-sm)}.sup-composer-tools .btn svg{width:18px;height:18px}@media(max-width:600px){.sup-composer{gap:8px}.sup-composer textarea{height:72px;min-height:0}.sup-composer-tools .btn,.sup-composer-tools .sup-attach{font-size:var(--text-xs);padding-inline:10px}.sup-composer-tools{gap:6px}}.sup-composer textarea:focus{box-shadow:0 0 0 3px #29455933}.sup-pending .badge{gap:4px}.sup-pending .sup-chip{padding:3px 6px 3px 3px}.sup-chip-open{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:0 2px 0 0;cursor:zoom-in;max-width:220px;border-radius:999px}.sup-chip-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sup-chip-open img{width:34px;height:34px;object-fit:cover;border-radius:6px;border:1px solid var(--edge);background:#fff;display:block}.sup-chip-open svg{margin-left:6px}.sup-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sup-chip.thumb{border-radius:10px}.sup-thinking{font-style:italic}.report-line{margin-top:20px}.report-line a{display:inline-flex;align-items:center;gap:6px;color:#55554f}.report-line a:hover{color:var(--accent)}.guide-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:900px){.guide-grid{grid-template-columns:240px minmax(0,1fr)}.guide-toc{position:sticky;top:calc(var(--topbar-h, 60px) + 12px)}}.contents-rail ol{margin:0;padding-left:20px;font-size:var(--text-sm);line-height:1.7}.contents-rail a{color:var(--accent)}.contents-rail li{position:relative}.contents-rail li.on:before{content:"";position:absolute;left:var(--dot-x, -14px);top:calc(.85em + var(--dot-dy, 0px));width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}.guide-toc{padding-left:14px}.guide-toc li.on:before{--dot-x: -34px;--dot-dy: 4px}.book-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.book-toc{display:none}@media(min-width:900px){.book-grid{grid-template-columns:220px minmax(0,1fr)}.book-toc{display:block;max-height:var(--book-window-h);overflow:auto;padding:0 8px 0 14px}.book-grid{--book-window-h: max(420px, calc(100dvh - var(--topbar-h, 60px) - 236px))}.book-window{height:var(--book-window-h);overflow:auto;overscroll-behavior:auto;padding:4px 16px 16px}.book-window .cookbook .sheet{scroll-margin-top:8px}}.book-toc ol{list-style:none;padding:0}.book-toc li{display:flex;justify-content:space-between;gap:8px;padding:2px 0;--dot-dy: 2px}.book-toc li a{flex:1;min-width:0}.book-toc .pg{color:#55554f;font-variant-numeric:tabular-nums}.book-toc h3{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#55554f;margin:12px 0 4px;font-family:var(--font-ui)}.book-toc>div:first-child>h3{margin-top:0}.guide-body h1{font-size:var(--text-xl)}.guide-body h2{font-size:var(--text-lg);margin-top:28px;padding-top:12px;border-top:1px solid var(--edge);scroll-margin-top:calc(var(--topbar-h, 60px) + 12px)}.guide-body h3{font-size:var(--text-md);margin-top:18px}.guide-body p,.guide-body li{line-height:1.55}.guide-body p{margin:10px 0}.guide-body ul,.guide-body ol{padding-left:22px}.guide-body li{margin:4px 0}details.advanced{border-top:1px solid var(--edge);padding-top:10px}.settings-rows .sec-fold{border-bottom:1px solid var(--edge)}.settings-rows .sec-fold .sec-link{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;padding:8px 4px;color:inherit;text-decoration:none}.settings-rows .sec-fold .sec-link:hover .sec-name{color:var(--accent)}.settings-rows .fold-body{padding:8px 4px 20px 30px}.settings-rows .fold-body .connect{margin-top:0}@media(max-width:480px){.settings-rows .fold-body{padding-left:4px}}details.advanced>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:#55554f;font-weight:600;list-style:none}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary:after{content:"›";font-size:1.3rem;line-height:1;transition:transform .15s ease-out}details.advanced[open]>summary:after{transform:rotate(90deg)}details.advanced>summary:hover{color:var(--accent)}.connect{margin-top:10px}.connect h2{font-size:var(--text-lg)}.connect-tokens li{padding:8px 0;border-bottom:1px solid var(--edge)}.connect-secret{display:inline-block;font-family:var(--font-mono, ui-monospace, monospace);font-size:.9rem;padding:6px 10px;background:#fff;border:1px solid var(--edge);border-radius:8px;overflow-wrap:anywhere}.connect-fresh{padding:12px;border:2px solid var(--accent);border-radius:12px}.connect-fresh details summary{cursor:pointer;font-weight:600;min-height:36px;display:flex;align-items:center}.connect-fresh ul{padding-left:20px}.connect-fresh li{margin:8px 0}.connect-new input{flex:1;min-width:180px}.sup-team{margin-top:18px;padding-top:14px;border-top:1px solid var(--edge)}.sup-team h3{font-size:var(--text-md);margin-bottom:10px}.shop-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .3em}.help-bubble{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--edge);background:transparent;color:#55554f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;align-self:center}.help-bubble:hover{border-color:var(--accent);color:var(--accent)}.shop-title .help-bubble{margin-left:2px}.info-inline{display:inline-flex;color:#55554f;vertical-align:-4px;margin:0 1px}.help-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}.help-items li{display:flex;align-items:flex-start;gap:12px;line-height:1.45}.help-items svg{flex:none;color:var(--accent);margin-top:2px}.shop-recipes-wrap{position:relative;margin-top:14px}.shop-recipes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shop-recipes li{display:inline-flex;align-items:center;flex:none;position:relative}.shop-recipes li.menu-open{z-index:31}.shop-recipes .chip.on,.shop-recipes .chip[aria-expanded=true]{background:var(--accent);color:var(--on-accent)}.shop-recipes .chip.event{gap:6px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--edge-strong)}.shop-recipes .chip.event .chip-when{font-family:var(--font-ui);font-weight:500;font-size:var(--text-xs);opacity:.7}.shop-recipes .chip.event.on,.shop-recipes .chip.event[aria-expanded=true]{box-shadow:none}.shop-recipes .chip-factor{font-family:var(--font-ui);font-weight:600;font-size:var(--text-xs);opacity:.85;font-variant-numeric:tabular-nums}.shop-recipes .chip-menu{top:calc(100% + 6px);left:0;right:auto;min-width:330px;max-width:min(380px,calc(100vw - 2em))}.shop-recipes .chip-menu .opt{white-space:normal}.shop-recipes .chip-menu .opt{text-decoration:none;justify-content:flex-start;gap:10px;min-height:40px;padding:6px 8px;font-weight:500}.shop-recipes .chip-menu .opt svg{width:18px;height:18px;flex:none}.shop-recipes .chip-menu .opt.danger{color:var(--attention)}.qty-row{padding:6px 6px 8px;margin:2px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.qty-row .qty-label{font-weight:500}.qty-row .qty-unit{margin-top:4px}.qty-row .qty-also{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:var(--accent);font-weight:500}.qty-row .qty-also svg{flex:none;margin-top:2px}.qty-row.lit{border-radius:10px;animation:qty-pulse 1.3s ease-out 2}@keyframes qty-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}to{box-shadow:0 0 0 12px transparent;background:transparent}}@media(prefers-reduced-motion:reduce){.qty-row.lit{animation:none;background:color-mix(in srgb,var(--accent) 12%,transparent)}}.qty-row .qty-update{margin-top:8px;width:100%;justify-content:center}.qty-row .qty-more{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:var(--text-sm);line-height:1.4}.qty-row .qty-more svg{flex:none;margin-top:2px;color:var(--accent)}.qty-row .qty-more .link-btn{margin:0;padding:6px 0 0}.qty-row .qty-ok{display:flex;align-items:center;gap:6px;margin-top:8px;color:#2e7d5b;font-weight:500}.shop-more{color:var(--accent);font-weight:500}.line-facts .link-btn{margin:0;padding:0}.shop-row.hl{background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:6px}.shop-recipes .chip{min-height:34px;padding:4px 12px;border:0;border-radius:999px;background:var(--fill);color:var(--fg);font:inherit;font-family:var(--font-display);font-weight:500;font-size:1rem;white-space:nowrap;cursor:pointer}.shop-recipes button.chip:hover:not(.on){background:color-mix(in srgb,var(--accent) 12%,var(--fill));color:var(--accent)}.shop-recipes .more{min-height:34px;padding:4px 6px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.shop-recipes .more:hover{text-decoration:underline}.shop-recipes.mirror{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;width:max-content}.shop .shop-recipes-wrap+p.small{margin-top:12px}.shop-name{display:inline-flex;align-items:center;gap:8px;color:#55554f}.shop-name input{min-height:36px;padding:4px 10px;width:12em;font-size:var(--text-sm)}.shop-card{padding:1em 1.25em}.shop-aisle{margin:18px 0 4px}.shop-aisle-group:first-child .shop-aisle{margin-top:0}.shop-aisle-group{animation:shop-land .35s ease-out}.shop-aisle-group.finished{opacity:.75}.shop-aisle-done{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;margin:10px 0 0;padding:4px 0;border:0;border-bottom:1px dashed var(--rule);background:none;font:inherit;color:#8a8a84;text-align:left;cursor:pointer}.shop-aisle-group.finished:first-child .shop-aisle-done{margin-top:0}.shop-aisle-done .name{color:inherit;text-decoration:line-through}.shop-aisle-done .n{font-size:var(--text-xs)}.shop-aisle-done svg{margin-left:auto;flex:none;transition:transform .2s}.shop-aisle-done[aria-expanded=true] svg{transform:rotate(90deg)}.dialog.shop-view .switch-row{margin:0 0 6px}.shop-row{position:relative;border-bottom:1px dashed var(--rule);padding-right:6px;transition:opacity .25s}.shop-row .shop-text{flex:1 1 auto;min-width:0}.shop-row .what b{font-weight:600}.shop-row .amt{color:#55554f}.shop-row.done{opacity:.55}.shop-row.done .what{text-decoration:line-through}.shop-line{animation:shop-land .35s ease-out}.shop-line{display:flex;align-items:center;gap:2px}.shop-line>.check{flex:1 1 auto;min-width:0}.info-btn{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:999px;background:transparent;color:#55554f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.info-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.line-facts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.line-facts li{display:flex;align-items:flex-start;gap:10px}.line-facts svg{flex:none;color:var(--accent);margin-top:2px}@keyframes shop-land{0%{opacity:.25;transform:translateY(-4px)}to{opacity:1;transform:none}}.peer{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-family:var(--font-ui);font-size:12px;font-weight:700;line-height:1;border:2px solid var(--surface);box-shadow:var(--shadow-sm);flex:none;text-transform:uppercase}.peers{display:inline-flex;align-items:center;margin-left:auto;padding-left:8px;flex:none}.peers .peer+.peer{margin-left:-8px}.peers .peer{animation:peer-pop .9s ease-out}@keyframes peer-pop{0%{transform:scale(.4);opacity:0}35%{transform:scale(1.25);opacity:1}55%{transform:scale(1)}70%{transform:scale(1.12)}to{transform:scale(1)}}.presence{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;margin:-24px 0 0;animation:presence-blink .8s ease-out}.shared-main .presence{margin-top:-20px}@keyframes presence-blink{0%{transform:translateY(-6px);opacity:0}60%{transform:translateY(2px);opacity:1}to{transform:translateY(0)}}.presence-tab{display:inline-flex;align-items:center;gap:6px;max-width:46vw;min-height:32px;padding:2px 10px 4px 4px;border:1px solid var(--edge);border-top:0;border-radius:0 0 12px 12px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);cursor:pointer}.presence-tab:hover,.presence.open .presence-tab{border-color:var(--accent)}.presence-tab .tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence .pop.people{position:absolute;left:0;right:auto;top:calc(100% + 6px);bottom:auto;min-width:220px}.presence .who{display:flex;align-items:center;gap:10px;padding:5px 0}.shared-shell{min-height:100dvh;background:var(--bg)}.shared-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--edge);box-shadow:0 2px 12px -8px #2b2b2824;position:sticky;top:0;z-index:20}.shared-bar .brand{display:inline-flex;align-items:center;gap:8px;color:var(--accent);text-decoration:none;font-family:var(--font-display);font-weight:400;font-size:1.15rem}.shared-main{max-width:760px;margin:0 auto;padding:20px 16px calc(24px + env(safe-area-inset-bottom))}button.list-item{width:100%;font:inherit;text-align:left;cursor:pointer}.list-item.archived{opacity:.75}.list-item.archived .title{color:var(--fg);text-decoration:none}.list-item.archived .title:hover{text-decoration:underline}.archived-lists h2{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-size:var(--text-xs);font-weight:600}.row.center{justify-content:center}@media print{.presence,.shop .actions,.shop-name,.info-btn,.help-bubble,.shared-bar,.peers,.shop-aisle-done svg{display:none!important}.shop-row.done{opacity:.6}}.infotip{position:relative;display:inline-flex}.infotip-btn{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.infotip-btn:hover,.infotip-btn:focus-visible,.infotip.open .infotip-btn{background:var(--fill);outline:none}.infotip-btn:focus-visible{box-shadow:0 0 0 3px #29455940}.infotip-body{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(340px,calc(100vw - 48px));padding:12px 14px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md);color:var(--fg);font:400 var(--text-sm)/1.45 var(--font-ui)}.infotip:hover .infotip-body,.infotip-btn:focus-visible+.infotip-body,.infotip.open .infotip-body{display:block}.unread-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--attention);margin-right:8px;vertical-align:middle}.sup-item.unread .sup-item-title,.badge.chip-new{font-weight:700}.scan-head h1{margin-bottom:4px}.scan-head .scan-source{margin:0;font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#55554f;font-weight:600}.scan-head .scan-source a{color:inherit}.scan-head .scan-source+h1{margin-top:2px}.tile.soon{border-style:dashed}.tile.soon>svg,.tile.soon b{color:#6b6b66}.tile.soon .tile-badge{align-self:flex-start}.note{--note-rule: var(--accent);--note-lift: var(--shadow-md);display:grid;grid-template-columns:auto 1fr auto;gap:8px 14px;align-items:center;padding:14px 18px;background:#fbf6ea;border:1px solid var(--color-cloth-tan);border-radius:12px;box-shadow:var(--note-lift);color:var(--fg)}.note.warn{--note-rule: var(--attention)}.note-icon{width:42px;height:42px;border-radius:50%;background:var(--note-rule);color:#fff;display:grid;place-items:center;flex:none;align-self:start}.note-icon svg{width:24px;height:24px}.note-icon.spin svg{animation:spin 1.1s linear infinite}.note-text{min-width:0}.note-text b,.note-text h2{font-family:var(--font-display);font-size:1.15rem;line-height:1.25;display:block}.note-text .small{display:block;margin-top:3px;color:#55554f}.note .btn{white-space:nowrap}@media(max-width:560px){.note{grid-template-columns:auto 1fr}.note>.btn,.note>.row{grid-column:1 / -1;justify-self:start}}.note.slip{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;width:max-content;max-width:92vw;grid-template-columns:auto 1fr auto;padding:8px 12px;box-shadow:var(--shadow-lg)}.note.slip .note-icon{width:28px;height:28px}.note.slip .note-icon svg{width:16px;height:16px}.note.slip .note-text{color:var(--fg)}.note.slip>.btn{grid-column:auto;white-space:nowrap}@media(min-width:721px){.note.slip{bottom:24px}}.dialog{padding:0;overflow:hidden;background:transparent;box-shadow:none;display:flex;flex-direction:column}.dialog .note{--note-lift: var(--shadow-lg);border-radius:16px;padding:20px 20px 18px;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0}.dialog .dialog-head,.dialog .dialog-actions{flex:none}.dialog .dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:14px -4px 0;padding:0 4px}@media(max-width:720px){.picker-card.dialog{width:min(560px,calc(100vw - 20px));margin:0 10px calc(12px + env(safe-area-inset-bottom));border-radius:16px}}@media(max-width:720px){html[data-keyboard] .picker-card.dialog{margin-bottom:12px}}.picker-card.dialog.sm{width:min(420px,100vw)}.picker-card.dialog.lg{width:min(680px,100vw)}.legal-body h2{font-size:var(--text-lg);margin:1.4em 0 .4em}.legal-body p,.legal-body li{line-height:1.5}.legal-body ul{padding-left:1.2em}.legal-body .fine{font-size:var(--text-sm);color:var(--muted)}.dialog .dialog-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.dialog .dialog-head h2{font-size:var(--text-xl);min-width:0}@media(max-width:560px){.dialog .dialog-head h2{font-size:var(--text-lg)}}.dialog .dialog-body p{margin:0;line-height:1.45}.dialog .dialog-body.stack>*+*{margin-top:8px}.dialog .dialog-actions{margin-top:18px}.dialog .dialog-foot{flex:none;margin-top:12px}.dialog .note.help{background:var(--fill)}.dialog .draft-line{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffffb3;border:1px solid var(--edge)}.dialog .draft-line img{width:56px;height:74px;object-fit:cover;border-radius:4px;border:1px solid var(--edge);background:#fff}.dialog .draft-line .spine{width:56px;height:74px;font-size:.6rem}@media(prefers-reduced-motion:no-preference){.dialog-scrim{animation:fade-in .16s ease-out}.dialog-scrim .dialog{animation:rise .22s ease-out}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{transform:translateY(18px);opacity:.6}to{transform:none;opacity:1}}.offline-bar{display:flex;gap:10px;align-items:center;justify-content:center;padding:8px 16px;background:#f8dedb;color:var(--attention);font-size:var(--text-sm);border-bottom:1px solid rgba(163,59,50,.25)}.offline-bar svg{flex:none}.offline-bar.saving{background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--accent);border-bottom-color:color-mix(in srgb,var(--accent) 25%,transparent)}.timer-strip{grid-column:1 / -1;display:flex;justify-content:center;min-width:0;margin:2px 0 0}.timer-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:32px;padding:4px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--accent);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer}.timer-pill:hover{background:color-mix(in srgb,var(--accent) 14%,#fff)}.timer-pill svg{flex:none}.timer-pill .timer-what{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.timer-pill .timer-more{flex:none;font-weight:500;opacity:.75}.timer-list{display:grid}.tray .page .state{flex-direction:column;gap:4px;text-align:center;padding:6px;font-size:.9rem}.tray .page .state .pct{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500}.tray .page .state.failed{background:#f8dedbe0;color:var(--attention)}.tray .page .state .retry{border:0;border-radius:999px;background:var(--attention);color:#fff;font:inherit;font-size:.8rem;font-weight:600;padding:4px 10px;cursor:pointer}.tray .page .bar{position:absolute;left:0;right:0;bottom:0;height:5px;background:#ffffffb3}.tray .page .bar>i{display:block;height:100%;background:var(--accent);transition:width .3s linear}.cam-note{display:block;font-size:.85rem;font-weight:500;color:#ddd;margin-top:2px}.cam-note.warn{color:#ffb4aa;font-weight:600}.dictate{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.dictate .btn.listening{color:var(--accent, #1d4ed8);border-color:currentColor;animation:dictate-pulse 1.2s ease-in-out infinite}@keyframes dictate-pulse{0%,to{opacity:1}50%{opacity:.55}}details.nutrition{margin-top:28px}details.nutrition>summary{color:var(--fg)}.nf{margin-top:8px;width:100%;max-width:300px;padding:6px 8px;border:1px solid #000;background:#fff;color:#000;font-family:Helvetica,Arial,sans-serif;font-size:14px;line-height:1.25;letter-spacing:0}.nf p,.nf h3{margin:0;line-height:inherit}.nf b{font-weight:700}.nf .nf-title,.recipe-paper .nf .nf-title{font-family:inherit;font-size:30px;font-weight:900;line-height:1;letter-spacing:-.5px;color:#000;margin:0 0 4px!important}.nf-recipe{font-size:14px;font-weight:700;margin:0 0 2px;padding-bottom:2px;border-bottom:1px solid #000}.nf-serv{font-size:14px}.nf-serv-card{font-size:11px;margin-top:1px}.nf-warn{display:flex;align-items:center;gap:4px;margin:2px 0 4px;font-size:11px;line-height:1.3}.nf-warn svg{width:13px;height:13px;flex:none}.nf-size{display:flex;justify-content:space-between;gap:8px;font-size:16px}.nf-size b:first-child{white-space:nowrap}.nf-size b:last-child{text-align:right}.nf-bar{height:1px;background:#000;margin:3px 0}.nf-bar.thick{height:10px}.nf-bar.mid{height:5px}.nf-amount{font-size:11px;font-weight:700;margin-top:4px}.nf-cal{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:26px;line-height:1;margin:0 0 2px}.nf-cal b:first-child{font-size:22px}.nf-dvhead{text-align:right;font-size:11px;font-weight:700;padding:3px 0;border-bottom:1px solid #000}.nf-table{width:100%;border-collapse:collapse}.nf-table th,.nf-table td{padding:3px 0;border-bottom:1px solid #000;font-weight:400;font-size:14px;vertical-align:baseline}.nf-table th{text-align:left}.nf-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.nf-table tr.sub th{padding-left:16px}.nf-table tr.last th,.nf-table tr.last td{border-bottom:0}.nf-foot{font-size:10px;line-height:1.3;margin-top:4px}.nf-foot+.nf-foot{margin-top:6px;padding-top:4px;border-top:1px solid #000}.nf-ingredients,.recipe-paper .nf-ingredients{max-width:300px;margin:6px 0 0;padding:0 9px;color:#000;font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1.3}.nf-ingredients b{text-transform:uppercase}.have-list-more{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.have-list ul{display:block;margin:6px 0 2px;padding:0 0 0 1.1em;columns:2;column-gap:18px;font-size:var(--text-sm);line-height:1.4}@media(max-width:560px){.have-list ul{columns:1}}@media(max-width:560px){.dialog .dialog-actions .btn{white-space:normal;text-align:left}}.dialog .have-cols{max-height:40vh;overflow:auto}.dialog .have-cols .check{min-height:40px}.dialog .have-cols.stack>*+*{margin-top:0}.dialog .row input[type=text]{min-height:44px;padding:8px 12px;border:1px solid var(--edge-strong);border-radius:10px;background:#fff}.talk{display:flex;flex-direction:column;gap:6px;align-items:stretch}.talk-btn{width:100%;min-height:56px;font-size:var(--text-md);gap:10px;justify-content:center}.talk-btn .talk-dot{display:none;width:12px;height:12px;border-radius:50%;background:#fff}.talk-btn.listening{background:var(--attention);border-color:var(--attention);color:#fff}.talk-btn.listening .talk-dot{display:inline-block;animation:talk-pulse 1s ease-in-out infinite}.talk-btn.working{opacity:.8}.talk-hint{margin:0;text-align:center}.talk-preview{padding:8px 12px;border:1px dashed var(--edge-strong);border-radius:10px;background:var(--surface);min-height:40px;white-space:pre-wrap}@keyframes talk-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}@media(prefers-reduced-motion:reduce){.talk-btn.listening .talk-dot{animation:none}}.pantry-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.min0{min-width:0}.stale-badge{position:absolute;top:-7px;right:-7px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;border:2px solid var(--surface);background:var(--fill);color:#55554f;font-size:11px;font-weight:700;line-height:1;box-shadow:var(--shadow-sm);pointer-events:none}.stale-badge svg{width:12px;height:12px}.stale-badge.stale{background:var(--attention);color:#fff}.stale-badge.out{background:var(--fg);color:#fff;letter-spacing:.02em}@media(min-width:900px){.pantry-head{position:sticky;top:var(--topbar-h, 60px);z-index:5;background:var(--bg);margin:-8px 0 0;padding:8px 0 10px;border-bottom:1px solid var(--edge)}}.shelves{display:flex;flex-direction:column;gap:26px;padding:6px 0 10px}.shelf{position:relative}.shelf-label{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:#55554f;margin:0 0 2px 8px}.shelf-label .count{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:400}.shelf.bare .shelf-row{min-height:0;flex-wrap:nowrap;align-items:center;justify-content:flex-start;outline:none;padding:8px 8px 10px;gap:12px;background:none}.shelf-empty.eg{font-style:italic;font-size:var(--text-xs);line-height:1.3;padding-right:8px;min-width:0}.shelf.tap-adds{cursor:pointer}:where(button).shelf-empty{border:0;background:none;font:inherit;text-align:left;padding:0;margin:0;cursor:pointer}.shelf-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 6px;min-height:124px;padding:10px 8px 0;border-radius:12px 12px 0 0;background:linear-gradient(to bottom,transparent,var(--fill))}.shelf-board{height:12px;border-radius:2px 2px 4px 4px;background:linear-gradient(#b07f55,#8b5e3c 60%,#74492d);box-shadow:0 8px 12px -8px #2b2b288c,inset 0 1px #ffffff40}.shelf.over .shelf-row{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 12%,var(--fill)))}.shelf.over .shelf-board{background:linear-gradient(#5f7f98,var(--accent))}.pobj{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:88px;padding:6px 2px;border:0;border-radius:10px;background:none;font:inherit;color:inherit;cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pobj:hover{background:#2945590f}.pobj:active{cursor:grabbing}.pobj .pobj-svg{display:block;filter:drop-shadow(0 3px 2px rgba(43,43,40,.18))}.pobj-name,.pobj-ghost .pobj-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:84px;font-size:var(--text-xs);line-height:1.2;text-align:center}.pobj .stale-badge{top:2px;right:6px}.pobj.lifting{width:0;padding-inline:0;margin:0;opacity:0;overflow:hidden;pointer-events:none}.pobj.placeholder{width:88px;height:112px;border-radius:10px;outline:2px dashed var(--accent);outline-offset:-4px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.pobj-ghost{position:fixed;z-index:60;display:flex;flex-direction:column;align-items:center;gap:2px;width:84px;pointer-events:none;transform:rotate(-3deg) scale(1.08);filter:drop-shadow(0 12px 14px rgba(43,43,40,.35))}body.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.pobj-svg rect{transition:y .35s ease,height .35s ease}@media(prefers-reduced-motion:reduce){.pobj-svg rect{transition:none}}@media(max-width:480px){.pobj{width:72px}.pobj .pobj-svg{width:52px;height:72px}.pobj-name{max-width:70px}.pobj.placeholder{width:72px;height:100px}.shelf-row{min-height:108px}}.ptour{list-style:none;margin:0 -4px;padding:0 4px 6px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ptour-step{flex:0 0 min(100%,196px);scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;min-width:0}.ptour-pic{height:128px;border-radius:12px;border:1px solid var(--edge);background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ptour-n{margin:6px 0 0;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.ptour-title{margin:0;font-size:var(--text-md);line-height:1.25}.ptour-words{margin:0;line-height:1.4;color:#55554f}.ptour-shelf{position:relative;width:100%;max-width:160px}.ptour-shelf .shelf-board{height:8px;box-shadow:0 5px 8px -5px #2b2b2880,inset 0 1px #ffffff40}.ptour-row{display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:0 6px 1px}.ptour-row svg{display:block;filter:drop-shadow(0 2px 1px rgba(43,43,40,.18))}.ptour-shelves{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;max-width:160px}.ptour-label{display:block;font-family:var(--font-display);font-weight:600;font-size:10px;color:#55554f;margin:0 0 1px 2px}.ptour-add{position:absolute;right:-6px;top:-4px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.ptour-list{width:100%;max-width:160px;font-size:12px;line-height:1.2}.ptour-line{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--edge)}.ptour-line i{font-style:normal;color:#55554f}.ptour-box{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--edge-strong);flex:none}.ptour-have{margin-top:6px;padding-top:5px;border-top:1px dashed var(--rule)}.ptour-have .ptour-line{border-bottom:1px dashed var(--rule)}.ptour-have .ptour-line:last-child{border-bottom:0}.ptour-have-h{display:block;font-family:var(--font-display);font-weight:600;font-size:11px;margin-bottom:1px}.ptour-plus{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}.pantry-sheet .sheet-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.pantry-sheet .sheet-head h2{font-size:var(--text-xl);overflow-wrap:anywhere}.pantry-sheet .sheet-head p{margin:2px 0 0}.pantry-sheet .sheet-obj{position:relative;display:inline-flex}.pantry-sheet .sheet-obj .stale-badge{top:-4px;right:-8px}.pantry-sheet .sheet-body{margin-top:16px}.pantry-sheet .field-label{font-weight:600;margin-bottom:8px}.level-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.level-pick button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-height:72px;padding:8px 4px;border:1.5px solid var(--edge);border-radius:10px;background:var(--surface);font:inherit;font-size:var(--text-xs);font-weight:600;color:#55554f;cursor:pointer}.level-pick button .gauge{width:16px;height:30px;border-radius:3px;border:1.5px solid var(--edge-strong);background:linear-gradient(to top,var(--accent) var(--f, 0%),transparent var(--f, 0%))}.level-pick button[aria-checked=true]{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.level-pick button[aria-checked=true] .gauge{border-color:var(--accent)}.level-pick button:disabled{opacity:.6;cursor:progress}.pantry-sheet .still-right{padding:10px 12px;border-radius:10px;background:var(--fill)}.pantry-sheet .still-right>span{flex:1;min-width:160px}.pantry-sheet .danger-text{color:var(--attention)}.pantry-sheet select{min-height:44px;padding:8px 12px;border:1px solid var(--edge-strong);border-radius:10px;background:#fff}.stale-badge.low{background:var(--attention);color:#fff;letter-spacing:.02em}.pobj-have{line-height:1.1;font-size:11px}.last-used{margin-top:2px!important}.amount-row{align-items:flex-end}.amount-row .grow{flex:1;min-width:200px}.amount-row .restock-field{width:160px}.amount-row .amount-field{width:170px}.pantry-sheet input[type=text],.pantry-sheet input[type=number]{min-height:44px;padding:8px 12px;border:1px solid var(--edge-strong);border-radius:10px;background:#fff;width:100%}.add-sheet .talk.big{margin-top:2px}.proposed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.proposed-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.proposed-row>input[type=checkbox],.proposed-row>.pobj-svg{margin-top:3px}.proposed-row.red-pencil{border-radius:10px}.proposed-row.dropped{opacity:.5}.proposed-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none}.proposed-row .grow{flex:1}.proposed-row .name{font-weight:600;display:block}.proposed-row .how{display:block}.filed-in{flex:none;max-width:150px;text-align:right;line-height:1.25}.proposed-row .shelf-pick{max-width:150px;min-height:36px;padding:4px 8px;border:1px solid var(--edge-strong);border-radius:8px;background:#fff;font-size:var(--text-xs)}.did-you-mean{display:flex;flex-direction:column;gap:4px}.did-you-mean input{min-height:38px!important}@media(max-width:560px){.proposed-row{flex-wrap:wrap}.proposed-row .shelf-pick{max-width:none;width:100%}.filed-in{max-width:none;width:100%;text-align:left}}.shop-pantry{margin-top:18px;padding-top:10px;border-top:1px dashed var(--rule)}.shop-pantry h3{font-size:var(--text-md);margin:0 0 4px}.shop-pantry .shop-row{display:block;border-bottom:0;padding:8px 0}.shop-pantry .have{color:#55554f}.shop-pantry .have.low{color:var(--attention);font-weight:600}.shop-pantry-line{flex-wrap:wrap}.shop-pantry .shop-ask{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:6px 0 4px 44px}.shop-pantry .shop-ask .ask-btns{gap:6px}.shop-pantry .need-btn{flex:none;width:36px;height:36px;padding:0;border-radius:999px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.shop-pantry .need-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.shop-pantry .need-btn.ghost{border-color:transparent}.shop-pantry-line{display:flex;align-items:center;gap:8px;border-bottom:1px dashed var(--rule)}.shop-pantry-line .shop-text{flex:1}.restock-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.note.done{--note-rule: #2E7D5B;background:#eef7f1;border-color:#c9e2d2}.all-done .note-text{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.all-done .note-text b{display:inline}.all-done-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.add-ways{display:flex;flex-direction:column;gap:10px}.add-ways .talk.big{margin:0}.add-photo .btn{flex:1;justify-content:center;min-width:0}.add-ways .row.between{flex-wrap:wrap}.qty-chip{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:2px 8px;border:1px solid var(--edge-strong);border-radius:999px;background:var(--fill);color:#55554f;font:inherit;font-size:var(--text-xs);cursor:pointer}.qty-chip:hover{border-color:var(--accent);color:var(--accent)}.field-error{display:block;margin-top:4px;color:var(--attention)}.pantry-sheet input[aria-invalid=true]{border-color:var(--attention)}.qty-note{display:block;margin-top:2px;line-height:1.3}.qty-input{margin-top:2px;min-height:36px;padding:4px 10px;border:1px solid var(--accent);border-radius:8px;background:#fff;font:inherit;font-size:var(--text-sm);width:min(100%,260px)}.mealprep h1{display:flex;align-items:center;gap:10px}.mp-title{gap:2px;min-width:0}.mp-title h1{min-width:0}.mp-gear{width:40px;min-height:40px;color:#55554f}.mp-gear:hover,.mp-gear:focus-visible{color:var(--accent)}.cal-settings fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}.cal-settings legend{padding:0;margin-bottom:6px;font-weight:500}.cal-settings .option{margin-bottom:6px;border-color:var(--edge)}.cal-settings .option.on{border-color:var(--accent)}.meal-rows{list-style:none;padding:0;margin:0}.meal-rows li{display:flex;align-items:center;gap:8px;padding:4px 0}.meal-rows .menu-grip{width:36px;height:40px;margin:0 -6px 0 -8px}.meal-rows li input[type=text]{flex:1;min-width:0}.meal-rows .check{min-height:40px;gap:8px;flex:none;font-weight:400;white-space:nowrap}.meal-rows .check input{width:22px;height:22px}.meal-rows .btn.icon{width:40px;min-height:40px;flex:none}.cal-settings .field>span:first-child{font-weight:500}.mp-week h2{font-size:1.2rem;margin:0}.mp-week h2 .muted{font-weight:400;font-size:var(--text-sm)}.mp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:8px}.mp-day{display:grid;grid-template-columns:1fr;grid-template-rows:subgrid;grid-row:span var(--rows, 4);gap:6px;min-width:0}.mp-dayname{display:flex;align-items:baseline;gap:6px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:#55554f;font-weight:600;min-height:28px}.mp-dayname b{font-family:var(--font-display);font-size:1.15rem;text-transform:none;letter-spacing:0;color:var(--fg)}.mp-day.today .mp-dayname,.mp-day.today .mp-dayname b{color:var(--accent)}.mp-past .mp-slot{opacity:.65}.mp-slot{position:relative;min-width:0;min-height:72px;border:1.5px dashed var(--edge);border-radius:10px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:4px;background:transparent;cursor:pointer;text-align:left;color:inherit}.mp-slot:hover,.mp-slot:focus-visible{border-color:var(--accent);outline:none}.mp-slot.filled{border-style:solid;border-color:var(--edge);background:var(--surface);box-shadow:var(--shadow-sm)}.mp-slot .mp-meal{font-size:10px;color:#55554f;text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:600}.mp-slot .mp-meal{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:16px}.mp-slot .mp-meal>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-meal-add{position:relative;flex:none;width:20px;height:20px;margin:-3px -2px -3px 0;padding:0;border:1px solid var(--edge);border-radius:50%;background:var(--surface);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:0}.mp-meal-add:before{content:"";position:absolute;inset:-12px}.mp-meal-add:hover,.mp-meal-add:focus-visible{border-color:var(--accent);background:var(--accent);color:#fff;outline:none}.mp-slot .mp-plus{position:absolute;right:8px;bottom:4px;color:var(--accent);font-weight:600;font-size:var(--text-md);opacity:.55}.mp-slot:hover .mp-plus{opacity:1}.mp-entry{display:flex;min-width:0;width:100%;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:var(--fill);border:1.5px solid transparent;color:var(--fg);font:inherit;font-size:var(--text-xs);font-weight:600;text-align:left;cursor:pointer;min-height:34px;text-decoration:none}.mp-entry:hover{border-color:var(--accent)}.mp-entry .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.mp-entry{flex-wrap:wrap}.mp-entry:not(.menu) .t{flex-basis:100%}.mp-entry.menu .t{flex:1 1 auto}.mp-entry .n{font-weight:500;color:#55554f;flex:none;margin-left:auto;font-size:11px;line-height:1.2}.mp-entry.menu{background:var(--accent);color:var(--on-accent)}.mp-entry.menu .n{color:#fffc}.mp-entry.proposed{background:transparent;border:1.5px dashed var(--accent);color:var(--accent);cursor:default}.mp-entry.item{background:color-mix(in srgb,var(--fill) 60%,#fff);border-color:var(--edge)}.mp-entry.item .t>svg{display:inline-block;vertical-align:-2px;margin-right:4px;color:#8a8a82}.mp-item-note{display:inline-flex;align-items:center;gap:4px;padding:6px 2px}.mp-item-note svg{color:#8a8a82}.mp-missing-actions.plain-first{flex-direction:column-reverse}.rp-list li.rp-plain{border-top:1px dashed var(--edge);border-radius:0 0 8px 8px;margin-top:4px}.rp-list li.rp-plain>svg{color:#8a8a82}.mp-entry:not(.proposed){touch-action:manipulation;-webkit-user-select:none;user-select:none}.mp-entry.lifting{opacity:.35;background:transparent;border:1.5px dashed var(--edge)}.mp-entry.menu.lifting{color:var(--accent);border-color:var(--accent)}.mp-entry.menu.lifting .n{color:var(--accent)}.mp-slot.over{border-style:solid;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mp-slot.holding{border:2px solid var(--accent);padding:5px 5px 7px}.mp-ghost{position:fixed;z-index:60;width:150px;pointer-events:none;transform:rotate(-2deg) scale(1.05);filter:drop-shadow(0 12px 14px rgba(43,43,40,.35));animation:mp-pop .18s ease-out}.mp-ghost.touch{transform:translateY(calc(-100% - 26px)) rotate(-2deg) scale(1.05);animation-name:mp-pop-touch}@keyframes mp-pop{0%{transform:rotate(0) scale(1);filter:drop-shadow(0 1px 2px rgba(43,43,40,.2))}}@keyframes mp-pop-touch{0%{transform:translateY(calc(-100% - 26px)) rotate(0) scale(1);filter:drop-shadow(0 1px 2px rgba(43,43,40,.2))}}.mp-entry:not(.proposed){cursor:grab}body.dragging .mealprep,body.dragging .mealprep *{cursor:grabbing}.mp-ghost .mp-entry{background:var(--surface);border-color:var(--accent);width:100%}@media(max-width:760px){.mp-grid{grid-template-columns:1fr;gap:10px}.mp-day{grid-template-columns:44px repeat(3,minmax(0,1fr));grid-template-rows:auto;grid-row:auto;align-items:stretch}.mp-day .mp-dayname{flex-direction:column;align-items:flex-start;gap:0;justify-content:center;min-height:0}.mp-slot{min-height:64px}.mp-day>.mp-slot:nth-child(n+5){grid-column:2 / -1}.mp-slot .mp-entry{padding:5px;font-size:12px}}.mp-picked{padding:8px 12px;border-radius:10px;background:var(--fill)}.mp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px;align-items:end}.mp-fields .field{display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:10px}.mp-fields .scale,.mp-fields .scale .btn.icon{min-height:48px}.mp-popup{position:relative;padding-top:56px}.mp-popup .mp-close{position:absolute;top:10px;left:10px}.mp-settime{margin-bottom:10px;justify-self:start}.mp-wizard{background:var(--surface)}.mp-wizard .stack>*+*{margin-top:1.4em}.mp-wizard .talk{gap:10px;padding:.25em 0}.mp-wizard>.stack>.row.between:first-child{flex-wrap:nowrap;align-items:flex-start}.mp-lead{margin:0}.mp-examples{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.mp-example{display:block;width:100%;text-align:left;padding:10px 14px;border-radius:10px;border:1px solid transparent;background:var(--fill);color:var(--fg);font:inherit;font-size:var(--text-sm);font-style:italic;cursor:pointer}.mp-example:hover{border-color:var(--accent);color:var(--accent)}.mp-composer{position:static;gap:1.1em}.mp-understood{font-family:var(--font-display);font-size:1.15rem;margin:1em 0;padding:12px 16px;background:var(--fill);border-radius:10px}.mp-notes{margin:0;padding-left:20px}.mp-notes li{margin:2px 0}.mp-missing{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.mp-missing>li{padding:12px 14px;border:1px dashed var(--edge-strong);border-radius:12px}.mp-missing>li.lifting{opacity:.4}.mp-match-list{margin:0;padding-left:1.2em}.mp-match-list li+li{margin-top:4px}.mp-missing>li.over{border-style:solid;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mp-missing-dish{margin-bottom:10px;display:flex;align-items:center;gap:8px;cursor:grab}.mp-missing-dish>span{flex:1}.mp-missing-dish>svg{flex:none;color:#8a8a82}.mp-missing-dish .linklike.small{flex:none;margin:0;padding:6px 2px;color:var(--accent)}body.dragging .mp-missing-dish{cursor:grabbing}.mp-wish-ghost{position:fixed;width:max-content;transform:translate(-50%,-130%);pointer-events:none;z-index:60;padding:8px 14px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--shadow-md);white-space:nowrap;max-width:80vw;overflow:hidden;text-overflow:ellipsis}.btn.working{position:relative;overflow:hidden;opacity:1;cursor:progress}.btn.working>*{position:relative}.btn.working .btn-bar{position:absolute;inset:0;width:var(--p, 0%);background:color-mix(in srgb,var(--accent) 16%,transparent);transition:width 1.4s ease}.btn.working .btn-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:sheen 1.6s linear infinite}.btn.working[aria-busy=true] svg{animation:spin 1.1s linear infinite}@keyframes sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.mp-missing-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.mp-missing-actions .btn{justify-content:flex-start;text-align:left;white-space:normal;min-height:44px;line-height:1.3;border-radius:22px}.mp-missing-actions .btn svg{flex:none}.mp-missing-actions .find-order{display:block;font-size:var(--text-xs);font-weight:400;opacity:.8;margin-top:2px}.picker-card.add-card-sheet{width:min(760px,100vw);max-height:calc(var(--vv-height, 100dvh) * .92)}.add-card-head{flex-wrap:nowrap;align-items:flex-start;margin-bottom:14px}.add-card-head h2{margin:0}.describe-box{padding:14px 16px;border:1px solid var(--edge);border-radius:12px;background:var(--fill)}.describe-box textarea{width:100%}.describe-box .talk{gap:8px}.mp-planlist{list-style:none;padding:0;margin:0}.mp-planlist>li{padding:6px 0;border-bottom:1px dashed var(--edge)}.mp-planlist ul{margin:2px 0 0;padding-left:18px}.mp-plan-title{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}.mp-peek-url a{word-break:break-all}.mp-schedules .rowtitle{line-height:1.3}.menu-card{background:var(--surface);border:1px solid var(--edge);border-radius:12px;box-shadow:var(--shadow-sm);padding:36px 24px 40px;text-align:center;position:relative}.menu-card:before,.menu-card:after{content:"";position:absolute;left:12px;right:12px;border-top:1px solid var(--edge)}.menu-card:before{top:8px}.menu-card:after{bottom:8px}.menu-card .menu-occ{text-transform:uppercase;letter-spacing:.18em;font-size:var(--text-xs);color:var(--accent);font-weight:600;margin-bottom:8px}.menu-card h1{font-size:2.2rem;margin:0 0 6px}.menu-card .menu-actions{position:absolute;top:12px;right:12px}.menu-card .menu-actions>.btn.secondary{background:#fff}.menu-foot{gap:8px}.menu-card .menu-when,.menu-card .menu-guests{color:#55554f;margin:0 0 2px;font-size:var(--text-sm)}.menu-card .menu-note{font-style:italic;color:#55554f;margin:14px auto 0;max-width:46ch}.menu-card h2{margin:30px 0 8px;font-size:1rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.menu-card h2:after{content:"";display:block;width:48px;margin:8px auto 0;border-top:1px solid var(--edge)}.menu-card ul{list-style:none;padding:0;margin:0}.menu-card li{padding:7px 0}.menu-card .dish{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--fg);text-decoration:none}.menu-card .dish:hover{color:var(--accent)}.menu-card .dnote{display:block;color:#55554f;font-size:var(--text-sm);font-style:italic}.menu-items .dish-edit{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:-4px 0 -4px 4px;padding:6px;line-height:0;background:none;border:0;border-radius:6px;color:#a3a39b;cursor:pointer}.menu-items .dish-edit svg{display:block;width:14px;height:14px;margin:0;color:inherit}.menu-items .dish-edit:hover,.menu-items .dish-edit:focus-visible{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.menu-card .qty{display:block;color:#55554f;font-size:var(--text-xs)}@media print{.menu-card{border:0;box-shadow:none;padding:24px 0}.menu-card:before,.menu-card:after{display:none}.menu-card .dish{color:#000}}.menu-edit .card h2{margin:0}.menu-head{align-items:center}.menu-head h1{margin:0;min-width:0}@media(max-width:480px){.menu-head>.btn{width:100%;justify-content:center}}.menu-items li{align-items:flex-start}.menu-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.menu-item-fields{gap:8px;align-items:flex-end}.menu-item-fields>label,.menu-item-fields>div{display:flex;flex-direction:column;gap:2px}.menu-item-fields input{min-height:38px;padding:4px 10px;font-size:var(--text-sm);width:120px}.menu-item-fields .menu-item-note{flex:1;min-width:160px}.menu-item-fields .menu-item-note input{width:100%}.picker-card.rp{display:flex;flex-direction:column;gap:10px;height:min(calc(var(--vv-height, 100dvh) * .86),640px);overflow:hidden;padding-bottom:14px}.rp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rp-head h2{margin:0;min-width:0}.rp-sub{margin:0}.rp-find input{width:100%}.rp-body{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px}.rp-label{margin:6px 0 2px 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b6b66}.rp-list{list-style:none;margin:0;padding:0}.rp-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:0 10px;align-items:center;min-height:48px;padding:8px 10px;border-radius:8px;cursor:pointer}.rp-list li>svg{color:var(--accent)}.rp-list li .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:500;font-size:1.05rem}.rp-list li .detail{font-size:var(--text-xs);color:#6b6b66;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.rp-list li .detail{max-width:120px}}.rp-list li.active{background:var(--fill)}.rp-list li.active .label{color:var(--accent)}.rp-list li.on .detail{color:var(--accent);font-weight:600}.rp-hint{margin:8px 10px}.rp-foot{border-top:1px solid var(--edge);padding-top:10px}.rp-foot .mp-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.rp-foot .mp-fields .field{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.rp-foot .mp-fields .field span{margin:0;white-space:nowrap}.rp-foot .mp-fields input[type=time]{width:150px}.rp-foot .mp-settime{margin:0}.datefield{position:relative;display:block}.datefield-box{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font:inherit;font-weight:500;color:var(--fg);cursor:pointer}.datefield-box.unpicked span{color:#55554f;font-weight:400}.datefield-box svg{flex:none;color:var(--accent)}.datefield-box:hover,.datefield-box[aria-expanded=true]{border-color:var(--accent)}.datefield-box:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datefield-native{display:none}@media(pointer:coarse){.datefield-native{display:block;position:absolute;inset:0;width:100%;min-height:0;margin:0;opacity:0}}.pop.datepick{position:fixed;z-index:60;left:calc(var(--x) * 1px);top:calc(var(--y) * 1px + 1em);bottom:auto;width:312px;max-width:calc(100vw - 24px);padding:12px;border-radius:10px}.pop.datepick[style*=--yb]{top:auto;bottom:calc(var(--yb) * 1px + 1em)}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dp-title{font-weight:600;font-size:var(--text-md)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-wd{text-align:center;font-size:var(--text-xs);color:#55554f;padding:4px 0}.dp-day{min-height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--fg);font:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer}.dp-day.other{color:#9a9a94}.dp-day:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent)}.dp-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.dp-day.selected,.dp-day.selected:hover{background:var(--accent);color:var(--on-accent, #fff)}.dp-day:disabled{color:#c4c4be;cursor:default}.dp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.recipe-paper .card-head{display:flow-root}.recipe-paper .card-head h1{margin:0}.actions-menu{position:relative;display:inline-flex;flex:none}.recipe-paper .card-head .actions-menu{float:right;margin:calc((var(--line) - 28px) / 2 - 2px) 0 12px 12px}.actions-menu>.btn.secondary{background:#fff}.row.actions .btn:not(.secondary):not(.quiet):not(.danger){order:-1}.row.actions .btn.danger{order:1}.actions-menu .chip-menu .opt.danger{color:var(--attention);margin-top:6px;padding-top:10px;border-top:1px solid var(--edge);border-radius:0 0 8px 8px}.actions-menu>.btn.compact svg{width:16px;height:16px}.actions-menu.menu-open{z-index:31}.actions-menu .chip-menu{top:calc(100% + 4px);right:0;left:auto;min-width:240px;padding:8px}.actions-menu .chip-menu .opt{justify-content:flex-start;gap:10px;min-height:40px;padding:6px 8px;font-weight:500;text-decoration:none;white-space:nowrap}.actions-menu .chip-menu .opt svg{width:18px;height:18px;flex:none}.shop-head{align-items:flex-start;flex-wrap:nowrap;gap:12px}.shop-head .shop-title{flex:1;min-width:0}.shop-head .actions-menu{margin-top:calc((var(--text-2xl) * var(--leading-tight) - 28px) / 2)}.mp-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.mp-grocery{max-width:640px}.pick-cells{display:grid;gap:6px;grid-auto-rows:1fr}.mp-days{grid-template-columns:repeat(7,minmax(0,1fr))}.dish-cells{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:480px){.dish-cells{grid-template-columns:repeat(4,minmax(0,1fr))}}.pick-cells .chip{--chip: var(--edge-strong);--chip-fg: var(--fg);position:relative;flex-direction:column;justify-content:center;gap:1px;min-height:74px;padding:22px 6px 7px;border-radius:12px;font-size:var(--text-xs);line-height:1.2;cursor:pointer;overflow:hidden}.pick-cells .cell-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-align:center;font-size:var(--text-sm);font-weight:600;max-width:100%}.pick-cells .chip.on{--chip: var(--select);background:var(--select-tint);color:var(--fg)}.pick-cells .chip:hover:not(:disabled){background:color-mix(in srgb,var(--select) 6%,#fff)}.pick-cells .chip.on:hover{background:var(--select-tint)}.pick-cells .chip b{font-size:var(--text-sm)}.pick-cells .chip .mp-day-date{font-weight:500;opacity:1}.pick-cells .cell-check{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--edge-strong);border-radius:4px;background:#fff}.pick-cells .chip.on .cell-check{border-color:var(--select);background:var(--select);color:#fff}.pick-cells .chip:disabled .cell-check{display:none}.pick-cells .chip .chip-count{white-space:normal;opacity:1}.pick-cells .chip.on .chip-count{opacity:1}.pick-cells .chip:disabled{--chip: #6b6b66;opacity:1;border-style:dashed;cursor:default}.pick-cells .chip.past{--chip: #8a8a84;--chip-fg: #6b6b66;opacity:1}.pick-cells .day-menu{position:absolute;top:5px;left:6px;display:inline-flex;color:var(--accent);opacity:1}.pick-cells .chip.on .day-menu{color:var(--select)}.pick-cells .day-listed{position:absolute;top:5px;left:6px;display:inline-flex;color:var(--muted)}.pick-cells .chip.listed .chip-count{color:var(--muted)}.pick-cells .chip:disabled:hover{background:transparent}.mp-days-foot{gap:10px;align-items:center}.mp-days-sum{font-weight:600;color:var(--accent);min-width:0}.mp-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.mp-done .swell{width:76px;height:76px;margin:4px 0 14px;overflow:visible}.mp-done .swell-fill{fill:#2e7d5b;opacity:0;transform-origin:50% 50%;animation:swell-fill .5s ease-out .55s forwards}.mp-done .swell-ring{fill:none;stroke:#2e7d5b;stroke-width:3;stroke-linecap:round;stroke-dasharray:202;stroke-dashoffset:202;transform:rotate(-90deg);transform-origin:50% 50%;animation:swell-ring .6s ease-out forwards}.mp-done .swell-tick{fill:none;stroke:#2e7d5b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:swell-tick .35s ease-out .5s forwards}@keyframes swell-ring{to{stroke-dashoffset:0}}@keyframes swell-tick{to{stroke-dashoffset:0}}@keyframes swell-fill{0%{opacity:0;transform:scale(.6)}60%{opacity:.14;transform:scale(1.04)}to{opacity:.1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mp-done .swell-ring,.mp-done .swell-tick,.mp-done .swell-fill{animation:none;stroke-dashoffset:0;opacity:.1}}.mp-done-title{margin:0;font-size:1.15rem;font-weight:600}.mp-done-count{margin:1em 0 0}.mp-done-row{margin-top:18px;justify-content:center}.mp-days-listed{display:flex;align-items:flex-start;gap:6px}.mp-days-listed svg{flex:none;margin-top:2px}@media(max-width:480px){.mp-actions{flex-direction:column;align-items:stretch;width:100%}.mp-actions .btn{justify-content:center}.mp-days{gap:4px}.mp-days .chip{min-height:66px;padding:20px 0 6px}.mp-days .chip b{font-size:12px}.mp-days .chip .chip-count{font-size:10px}.mp-days .cell-check{top:4px;right:4px;width:14px;height:14px}.mp-days .day-menu,.mp-days .day-listed{top:4px;left:4px}.mp-days .chip .mp-day-date{display:none}.mp-days .chip .chip-count{font-size:.68rem;white-space:nowrap}.mp-days-foot{flex-direction:column;align-items:stretch}}.mp-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.mp-nav>.btn:first-child{justify-self:start}.mp-nav>.btn:last-child{justify-self:end}.mp-nav h2{position:relative;margin:0;font-size:1.3rem;text-align:center;white-space:nowrap}.mp-nav .mp-nav-reset{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:10px;font-weight:500;white-space:nowrap}.mp-week-head h2{font-size:1rem}.mp-day.off-month{opacity:.45}.gc-sheet{position:relative}.gc-back{position:absolute;top:12px;right:14px}.gc-composer{gap:.6em}.gc-options{display:flex;flex-direction:column;gap:8px}.gc-section{margin:10px 0 0;padding:0 0 4px;border-bottom:1px dashed var(--rule)}.gc-options>.gc-section:first-child{margin-top:0}.gc-options .option{border-color:var(--edge)}.gc-options .option.on{border-color:var(--accent)}.gc-options .option input[type=checkbox]{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}.gc-options .option.danger>svg{color:var(--attention)}.gc-note,.gc-say{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--fg)}.gc-note svg,.gc-say svg{color:var(--accent);flex:none;margin-top:3px}.li-impact .gc-lines li{justify-content:flex-start}.li-impact .gc-lines li>.row{flex-wrap:nowrap;align-items:flex-start}.li-impact .gc-lines li>.row svg{flex:none;margin-top:2px}.gc-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.gc-lines li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;background:var(--fill)}@media(max-width:480px){.mp-nav{grid-template-columns:1fr 1fr}.mp-nav h2{grid-column:1 / -1;order:-1;width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.mp-nav .mp-nav-reset{position:static;transform:none;margin:0}.mp-nav>.btn{padding-inline:6px;font-size:var(--text-sm)}.gc-back{position:static;align-self:flex-start}}.rp-list li.rp-item>svg{color:#8a8a82}.rp-list li.rp-label{display:block;min-height:0;padding:0;cursor:default}.mp-popup .mp-nutrition{margin-top:4px}.pop.timepick{position:fixed;z-index:60;left:calc(var(--x) * 1px);top:calc(var(--y) * 1px + 1em);bottom:auto;width:200px;min-width:0;max-width:calc(100vw - 24px);padding:8px;border-radius:10px}.pop.timepick[style*=--yb]{top:auto;bottom:calc(var(--yb) * 1px + 1em)}.tp-list{max-height:288px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:2px;padding-right:2px}.pop .opt.tp-opt{justify-content:center;min-height:36px;padding:6px 10px;border-radius:8px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:#55554f}.pop .opt.tp-opt.hour{color:var(--fg);font-weight:600}.pop .opt.tp-opt:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.pop .opt.tp-opt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pop .opt.tp-opt.selected,.pop .opt.tp-opt.selected:hover{background:var(--accent);color:var(--on-accent, #fff);font-weight:600}.pop.timepick .dp-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--edge)}.datefield-box:disabled{opacity:.55;cursor:default}.datefield-box:disabled:hover{border-color:var(--edge)}.menu-items li.menu-wish{border-bottom-style:dashed}.menu-items-head{min-height:44px}.menu-courses{display:flex;flex-direction:column;gap:18px}.menu-course-head{min-height:32px}.menu-course h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--text-md)}.menu-course .menu-items{border-top:1px solid var(--edge)}.menu-items li:before{display:none}.menu-items .rowtitle svg{width:16px;height:16px;margin-right:6px;vertical-align:-2px;color:#55554f}.menu-courses.live .menu-course{border-radius:12px;outline:2px dashed var(--edge-strong);outline-offset:6px}.menu-courses.live .menu-course.over{outline-color:var(--accent);outline-style:solid}.menu-course-stubs{display:flex;flex-direction:column;gap:6px;padding-top:4px}.menu-course-stubs .chip{--chip: var(--accent);border-style:dashed;cursor:default}.menu-course-stubs .chip.on{border-style:solid}.menu-course-empty{min-height:40px;padding:8px 4px;border-bottom:0!important}.menu-grip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin:-2px 0 0 -8px;border:0;border-radius:10px;background:none;color:#55554f;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.menu-grip:hover{background:var(--fill);color:var(--accent)}.menu-grip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.dragging .menu-grip,body.dragging .menu-edit{cursor:grabbing}.menu-about{margin-left:6px}.menu-item-fields select{min-height:38px;padding:4px 2.4em 4px 10px;font-size:var(--text-sm);width:auto;background-position:right .7em center}.menu-flag{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--attention);font-weight:500}.menu-flag svg{flex:none;margin-top:3px}.menu-card .menu-flag{justify-content:center;font-family:var(--font-ui);font-size:var(--text-sm);margin:4px 0 0}.menu-restrictions .chips{gap:6px}.menu-restrictions .chip{--chip: var(--accent)}.menu-need{min-height:34px;padding:4px 6px 4px 12px;font-size:var(--text-xs)}.menu-need .chip-x{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}.menu-need .chip-x:hover{background:#ffffff40}.menu-restriction select{min-height:44px;padding-top:6px;padding-bottom:6px;font-size:var(--text-sm)}.menu-wish-tag{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 2px}.menu-wish-tag svg{color:#8a8a82}.mp-missing-actions .menu-wish-off{align-self:flex-start;margin:0;padding:6px 2px;color:var(--accent)}.crop-frame{display:block;position:relative;overflow:hidden;background:#fff}.crop-frame img{display:block;width:100%;height:auto}.crop-frame.cropped img{position:absolute;top:0;left:0;max-width:none;transform-origin:0 0}.viewer .body .crop-frame{width:100%;max-width:1100px;flex:none;transition:opacity .15s}.viewer .body .crop-frame img{transition:none}.viewer-right{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}.viewer-right .btn.compact{min-height:32px;padding-block:2px}.scan-side{display:none}.scan-side.open{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.scan-side-head{grid-column:1 / -1;align-items:baseline}.scan-side-head .link-btn{margin:0;padding:0}.scan-page{position:relative;display:block;width:100%;padding:0;border:1px solid var(--edge);border-radius:8px;overflow:hidden;background:#fff;cursor:zoom-in;font:inherit}.scan-page:hover,.scan-page:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2945592e}.scan-page .pn{position:absolute;bottom:4px;left:4px;background:#2b2b28c7;color:#fff;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.editor-head,.editor-main{min-width:0}.editor.with-pages{display:grid;grid-template-columns:minmax(0,1fr);row-gap:1em}.editor:not(.with-pages){max-width:868px;margin-inline:auto}.editor:not(.with-pages) .editor-head{margin-bottom:1em}.pages-toggle .btn.compact{min-height:32px;padding:4px 14px;font-size:var(--text-sm)}.pages-toggle .btn.compact svg{width:16px;height:16px}@media(max-width:999px){.editor.with-pages{row-gap:10px}.editor.with-pages .editor-head>*+*{margin-top:10px}.editor.with-pages .editor-head h1{margin-bottom:0}}@media(min-width:1000px){.editor.with-pages{grid-template-columns:320px minmax(0,868px);grid-template-rows:auto 1fr;column-gap:32px;align-items:start;justify-content:center}.editor.with-pages .scan-side{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-columns:1fr;gap:12px;position:sticky;top:calc(var(--topbar-h, 60px) + 12px);max-height:calc(100dvh - var(--topbar-h, 60px) - 24px);overflow:auto;padding:2px 4px 8px 2px}.editor.with-pages .editor-head{grid-column:2;grid-row:1}.editor.with-pages .editor-main{grid-column:2;grid-row:2}.editor.with-pages .pages-toggle{display:none}}.plan-dialog .plan-lede{margin:0 0 12px;font-size:var(--text-md)}.plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:600px){.plan-cards{grid-template-columns:1fr}}.plan-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:14px;border-radius:14px;border:1.5px solid var(--edge);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.plan-card:hover{border-color:var(--edge-strong)}.plan-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset,var(--shadow-sm)}.plan-card .plan-name{font-family:var(--font-display);font-size:var(--text-lg)}.plan-card .plan-price{font-weight:600;color:var(--accent)}.plan-card .plan-lines{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--fg)}.plan-card .plan-lines li{display:flex;align-items:flex-start;gap:6px}.plan-card .plan-lines svg{width:14px;height:14px;flex:none;margin-top:3px;color:var(--accent)}.plan-qty{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.plan-qty-ctl{display:inline-flex;align-items:center;gap:10px}.plan-qty-ctl .btn.icon{width:36px;min-height:36px}.plan-qty-ctl .btn.icon svg{width:18px;height:18px}.plan-qty-ctl b{min-width:2.2em;text-align:center;font-size:var(--text-md)}.billing-block{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:var(--fill)}.billing-block .billing-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline}.billing-block .billing-usage{height:6px;border-radius:3px;background:var(--edge);overflow:hidden}.billing-block .billing-usage>i{display:block;height:100%;background:var(--accent)}.billing-block .billing-usage.full>i{background:var(--attention)}
