@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.italic{font-style:italic}.line-through{text-decoration-line:line-through}}:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#fafafa;--surface-3:#ececef;--border:#00000012;--border-strong:#0000001f;--fg:#1d1d1f;--muted-fg:#6e6e73;--dim-fg:#86868b;--accent:#0077be;--accent-soft:#0077be1a;--accent-fg:#fff;--danger:#d93b3b;--shadow-1:0 1px 2px #0f172a0a, 0 4px 16px #0f172a08;--shadow-hover:0 1px 2px #0f172a0d, 0 12px 32px #0f172a0f;--radius-sm:10px;--radius:14px;--radius-lg:18px;--glass:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root{--glass:color-mix(in srgb, var(--surface) 78%, transparent)}}:root{--site-width:720px;--gutter:18px;--read-title:15px;--read-body:13.5px;--read-meta:12px}:root[data-text-size=sm]{--read-title:13.5px;--read-body:12.5px;--read-meta:11px}:root[data-text-size=lg]{--read-title:18px;--read-body:16px;--read-meta:13px}@media (prefers-color-scheme:dark){:root{--bg:#000;--surface:#1c1c1e;--surface-2:#161618;--surface-3:#2c2c2e;--border:#ffffff14;--border-strong:#ffffff24;--fg:#f5f5f7;--muted-fg:#98989d;--dim-fg:#6e6e73;--accent:#2bb0d6;--accent-soft:#2bb0d629;--accent-fg:#fff;--danger:#ff6b6b;--shadow-1:0 1px 2px #0006, 0 8px 24px #00000040;--shadow-hover:0 1px 2px #00000073, 0 16px 40px #00000059;--glass:var(--bg)}@supports (color:color-mix(in lab, red, red)){:root{--glass:color-mix(in srgb, var(--bg) 70%, transparent)}}}html,body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body{width:100%;max-width:100vw;min-height:100dvh;margin:0;position:relative;overflow-x:clip}a{color:inherit;text-decoration:none}img,svg{max-width:100%}::selection{background:var(--accent-soft);color:var(--fg)}.topbar{z-index:30;background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:var(--site-width);padding:10px var(--gutter);align-items:center;gap:10px;margin:0 auto;display:flex}.brand{letter-spacing:-.022em;color:var(--fg);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:17px;font-weight:600}.brand-dot{color:var(--accent)}.search{background:var(--surface-3);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 14px;transition:background .15s,box-shadow .15s;display:flex}.search:focus-within{background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{color:var(--dim-fg);flex:none}.search input{min-width:0;color:var(--fg);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:14px}.search input::placeholder{color:var(--dim-fg)}.iconbtn{width:34px;height:34px;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:inline-flex}.iconbtn:hover{background:var(--surface-3);color:var(--fg)}.iconbtn:active{transform:scale(.94)}.iconbtn.spinning svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.subnav{z-index:20;background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border);min-width:0;max-width:100%;position:sticky;top:54px;overflow-x:clip}.tags{border-top:1px solid var(--border);min-width:0;max-width:100%}.tags .filters-inner{padding-top:8px;padding-bottom:10px}.filters-inner{max-width:var(--site-width);padding:10px var(--gutter) 14px;scrollbar-width:none;gap:6px;margin:0 auto;display:flex;overflow-x:auto}.filters-inner::-webkit-scrollbar{display:none}@media (min-width:720px){.filters-inner{flex-wrap:wrap;justify-content:center;overflow-x:visible}}.chip{letter-spacing:-.005em;background:var(--surface-3);color:var(--muted-fg);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex:none;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.chip:hover{color:var(--fg)}.chip.active{background:var(--accent);color:var(--accent-fg)}.chip-archive{align-items:center;gap:5px;margin-left:auto;padding-left:12px;display:inline-flex}.chip-archive svg{opacity:.75}.chip-archive.active svg{opacity:1}@media (min-width:720px){.chip-archive{margin-left:0}}.feed-wrap{max-width:var(--site-width);padding:22px var(--gutter) 80px;margin:0 auto}.feed-grid{grid-template-columns:1fr;gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;word-break:break-word;overflow-wrap:anywhere;touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;padding:16px 18px;transition:box-shadow .18s,transform .18s,border-color .18s,opacity .18s;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong);transform:translateY(-1px)}.card.expanded{box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.card.is-read h2{color:var(--muted-fg);font-weight:500}.card.is-read .card-meta,.card.is-read .source-tag{color:var(--dim-fg)}.read-tag{color:var(--accent);font-weight:500}.card.has-thumb{flex-direction:row;align-items:flex-start;gap:14px}.card-thumb{object-fit:cover;background:var(--surface-3);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex:none;width:72px;height:72px}.card.has-thumb .card-body{flex:auto;min-width:0}.card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.swipe-row{isolation:isolate;border-radius:var(--radius);position:relative;overflow:hidden}.swipe-reveal{background:var(--accent);color:var(--accent-fg);letter-spacing:-.005em;pointer-events:none;border-radius:var(--radius);opacity:0;justify-content:flex-end;align-items:center;gap:8px;padding-right:22px;font-size:13px;font-weight:500;transition:opacity .12s;display:flex;position:absolute;inset:0}.swipe-row .card{z-index:1;position:relative}.card-meta{font-size:var(--read-meta);color:var(--dim-fg);letter-spacing:-.005em;word-break:normal;overflow-wrap:normal;flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.card-meta>*{white-space:nowrap}.card-meta>*+:before{content:"·";color:var(--dim-fg);margin-right:6px;font-weight:400}.source-tag{color:var(--muted-fg);align-items:center;font-weight:500;display:inline-flex}.dot-sep{color:var(--dim-fg)}.card h2{font-size:var(--read-title);letter-spacing:-.012em;color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card.expanded h2{-webkit-line-clamp:unset;display:block}.card-intro{font-size:var(--read-body);color:var(--muted-fg);letter-spacing:-.003em;margin:6px 0 0;line-height:1.55}.card-intro :where(p){margin:0 0 6px}.card-intro :where(p:last-child){margin-bottom:0}.card-intro :where(img,figure,iframe){display:none}.card-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.btn-link{background:var(--accent);color:var(--accent-fg);letter-spacing:-.005em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:filter .15s,transform .15s;display:inline-flex}.btn-link:hover{filter:brightness(1.06)}.btn-link:active{transform:scale(.97)}.btn-ghost{background:var(--surface-3);color:var(--muted-fg);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12.5px;transition:background .15s,color .15s;display:inline-flex}.btn-ghost:hover{color:var(--fg);background:var(--surface-2)}.sentinel{color:var(--dim-fg);letter-spacing:-.005em;justify-content:center;align-items:center;padding:32px;font-size:12.5px;display:flex}.spinner{border:1.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin}.empty{text-align:center;color:var(--muted-fg);padding:80px 20px;font-size:14px}.filter-loading{justify-content:center;align-items:center;padding:80px 20px;display:flex}.spinner-lg{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;width:28px;height:28px;margin:0;animation:.8s linear infinite spin}.page{max-width:var(--site-width);padding:24px var(--gutter) 100px;margin:0 auto}.page h1{letter-spacing:-.022em;margin:0 0 4px;font-size:26px;font-weight:600}.page-narrow{max-width:440px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:28px;display:flex}.page-head>:first-child{flex:220px;min-width:0}.page-head h1{margin-bottom:4px}.page-head .lede{margin:0}.page .lede{color:var(--muted-fg);letter-spacing:-.005em;margin:0 0 28px;font-size:14px}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);margin-bottom:16px;padding:22px}.section h2{letter-spacing:-.012em;margin:0 0 14px;font-size:16px;font-weight:600}.section .lede{margin-bottom:14px;font-size:13px}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--muted-fg);letter-spacing:-.005em;font-size:12px}.field input{background:var(--surface-2);border:1px solid var(--border);color:var(--fg);border-radius:10px;outline:0;padding:9px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.field input:focus{background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);border-color:#0000}.btn-primary{background:var(--accent);color:var(--accent-fg);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:500;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:default;filter:none;transform:none}.btn-danger{color:var(--danger);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;transition:background .15s;display:inline-flex}.btn-danger:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.btn-danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}}.source-row{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:14px 0;display:flex}.source-row:first-of-type{border-top:0;padding-top:4px}.source-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.source-name-btn{text-align:left;min-width:0;font:inherit;letter-spacing:-.008em;color:var(--fg);cursor:text;word-break:break-word;overflow-wrap:anywhere;background:0 0;border:0;border-radius:6px;flex:auto;margin-left:-6px;padding:2px 6px;font-size:15px;font-weight:500;line-height:1.3;transition:background .12s}.source-name-btn:hover{background:var(--accent-soft);color:var(--accent)}.rename-input{background:var(--surface-2);border:1px solid var(--border-strong);min-width:0;color:var(--fg);font:inherit;letter-spacing:-.008em;border-radius:8px;outline:0;flex:auto;padding:5px 10px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.rename-input:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#0000}.iconbtn-sm{width:28px;height:28px;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.iconbtn-sm:hover{background:var(--surface-3);color:var(--fg)}.source-meta{color:var(--muted-fg);letter-spacing:-.005em;font-size:12.5px}.source-url{color:var(--dim-fg);word-break:break-all;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.source-error{color:var(--danger);word-break:break-word;overflow-wrap:anywhere;font-size:12.5px;line-height:1.4}.source-foot{justify-content:flex-end;margin-top:2px;display:flex}.source-row .name-meta{color:var(--dim-fg);margin-left:4px;font-size:12px;font-weight:400}.source-row .url{color:var(--dim-fg);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%;margin-top:2px;font-size:11.5px;overflow:hidden}.toggle{cursor:pointer;flex:none;width:40px;height:24px;display:inline-block;position:relative}.toggle input{display:none}.toggle .track{background:var(--surface-3);border-radius:999px;transition:background .2s;position:absolute;inset:0}.toggle .thumb{background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 1px #0000000a,0 2px 4px #0000001f}.toggle input:checked+.track{background:#34c759}.toggle input:checked+.track .thumb{transform:translate(16px)}.pref-row{align-items:center;gap:14px;padding:4px 0;display:flex}.pref-row .pref-label{flex:1;min-width:0}.pref-row .pref-label .name{letter-spacing:-.005em;font-size:14px;font-weight:500}.pref-row .pref-label .url{color:var(--dim-fg);margin-top:2px;font-size:12px}.tag-bulk{gap:8px;margin-top:14px;display:flex}.tag-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.tag-row:first-of-type{border-top:0}.tag-row .source-name-btn,.tag-row .rename-input{padding:4px 8px;font-size:14px}.iconbtn-x{width:26px;height:26px;color:var(--dim-fg);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.iconbtn-x:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.iconbtn-x:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}}.iconbtn-x:hover{color:var(--danger)}.segmented{background:var(--surface-3);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;letter-spacing:-.005em;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.segmented button:hover{color:var(--fg)}.segmented button.active{background:var(--surface);color:var(--fg);box-shadow:0 1px 1px #0000000a,0 2px 4px #0000000f}.segmented .preview-sm{font-size:11px}.segmented .preview-md{font-size:13.5px}.segmented .preview-lg{font-size:16px}.flash{letter-spacing:-.005em;border-radius:10px;margin-bottom:12px;padding:9px 13px;font-size:13px}.flash.ok{color:var(--fg);background:#34c75924}.flash.err{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.flash.err{background:color-mix(in srgb, var(--danger) 14%, transparent)}}.flash.err{color:var(--fg)}.nav-back{color:var(--accent);letter-spacing:-.005em;align-items:center;gap:4px;margin-bottom:16px;font-size:14px;display:inline-flex}.nav-back:hover{opacity:.75}.recipe-title{letter-spacing:-.02em;text-wrap:balance;margin:0 0 6px;font-family:New York,Iowan Old Style,Charter,Hoefler Text,Apple Garamond,Georgia,Times New Roman,serif;font-size:34px;font-weight:600;line-height:1.12}@media (min-width:640px){.recipe-title{font-size:40px}}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:560px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:820px){.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;transition:box-shadow .18s,border-color .18s,transform .18s;display:block;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong);transform:translateY(-1px)}.recipe-card-photo{aspect-ratio:1;background:var(--surface-3);position:relative}.recipe-card-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.recipe-card-photo-empty{color:var(--dim-fg);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.recipe-card-badge{color:#fff;letter-spacing:-.005em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:500;position:absolute;top:8px;left:8px}.recipe-card-badge+.recipe-card-badge{top:36px}.recipe-card-body{padding:10px 12px 12px}.recipe-card-body h3{letter-spacing:-.012em;color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.recipe-card-meta{color:var(--dim-fg);flex-wrap:wrap;gap:6px;margin:4px 0 0;font-size:12px;display:flex}.recipe-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.recipe-list>li+li{border-top:1px solid var(--border)}.recipe-list-row{color:inherit;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;transition:background .15s;display:flex}.recipe-list-row:hover{background:var(--surface-2)}.recipe-list-thumb{background:var(--surface-3);border-radius:10px;flex:none;width:48px;height:48px;overflow:hidden}.recipe-list-thumb img{object-fit:cover;width:100%;height:100%;display:block}.recipe-list-body{flex:auto;min-width:0}.recipe-list-body h3{letter-spacing:-.008em;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14.5px;font-weight:500;overflow:hidden}.recipe-list-body p{color:var(--muted-fg);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12.5px;overflow:hidden}.recipe-list-time{color:var(--dim-fg);white-space:nowrap;flex:none;font-size:12px}.view-toggle{background:var(--surface-3);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.view-toggle button{width:32px;height:28px;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.view-toggle button:hover{color:var(--fg)}.view-toggle button.active{background:var(--surface);color:var(--fg);box-shadow:0 1px 1px #0000000a,0 2px 4px #0000000f}.planner{flex-direction:column;gap:28px;display:flex}.planner-week-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-fg);margin:0 0 10px;font-size:13px;font-weight:600}.planner-days{margin:0;padding:0;list-style:none}.planner-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;gap:14px;margin-bottom:8px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.planner-day.is-today{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.planner-day.is-past{opacity:.55}.planner-date{text-align:center;flex:none;align-self:center;width:44px}.planner-date-num{letter-spacing:-.02em;color:var(--fg);font-family:New York,Iowan Old Style,Georgia,serif;font-size:24px;font-weight:600;line-height:1}.planner-day.is-today .planner-date-num{color:var(--accent)}.planner-date-day{color:var(--dim-fg);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:11px}.planner-body{flex-direction:column;flex:auto;justify-content:center;gap:6px;min-width:0;display:flex}.planner-empty{color:var(--dim-fg);font-size:13px}.planner-entries{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.planner-entry{background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 12px;font-size:13.5px;display:flex}.planner-entry a{min-width:0;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex:auto;text-decoration:none;overflow:hidden}.planner-entry a:hover{color:var(--accent)}.planner-add-wrap{margin-top:2px}.planner-add{border:1px dashed var(--border-strong);color:var(--muted-fg);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:12px;transition:border-color .15s,color .15s,background .15s}.planner-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.planner-picker{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;display:flex}.planner-picker input{background:var(--surface);border:1px solid var(--border);color:var(--fg);border-radius:10px;outline:0;padding:7px 11px;font-family:inherit;font-size:13.5px}.planner-picker input:focus{box-shadow:0 0 0 3px var(--accent-soft)}.planner-picker-list{max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.planner-picker-list li button{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-size:13.5px}.planner-picker-list li button:hover{background:var(--accent-soft);color:var(--accent)}.planner-picker-empty{color:var(--dim-fg);padding:8px;font-size:12.5px}.planner-picker-close{color:var(--muted-fg);cursor:pointer;background:0 0;border:0;align-self:flex-end;font-family:inherit;font-size:12px}.steplist{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steplist>li{align-items:flex-start;gap:14px;display:flex}.steplist .step-num{background:var(--accent);width:30px;height:30px;color:var(--accent-fg);letter-spacing:-.01em;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:14px;font-weight:600;display:inline-flex}.steplist .step-text{letter-spacing:-.003em;min-width:0;color:var(--fg);white-space:pre-wrap;flex:auto;font-size:15px;line-height:1.55}.photo-preview{border-radius:var(--radius);background:var(--surface-3);margin:6px 0 12px;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:320px;display:block}.photo-preview-empty{height:120px;color:var(--dim-fg);justify-content:center;align-items:center;font-size:13px;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
