:root{color-scheme:dark;--bg:#090a0d;--card:#1b1c22;--text:#f4eee8;--muted:#b4a9a2;--accent:#e14b4b;--border:#443636}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Helvetica Neue,sans-serif;color:var(--text);background:radial-gradient(circle at top right,rgba(225,75,75,.22) 0,rgba(9,10,13,0) 32%),radial-gradient(circle at top left,rgba(255,158,93,.1) 0,rgba(9,10,13,0) 24%),linear-gradient(180deg,#101117 0,var(--bg) 100%);overflow-x:hidden}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);background:#f8fbff;padding:8px 12px 22px;position:-webkit-sticky;position:sticky;top:0;height:100vh;align-self:start}.sidebar-brand{margin:0 0 2px;display:flex;justify-content:center;line-height:0}.sidebar-brand-logo{width:100%;max-width:168px;height:auto;display:block;object-fit:contain}.sidebar-nav{display:grid;grid-gap:8px;gap:8px}.side-link{display:block;padding:8px 10px;border-radius:8px;color:#143a7a}.side-link:hover{background:#e9f1ff}.app-content{min-width:0}.mobile-menu-backdrop,.mobile-topbar,.sidebar-close-btn{display:none}.legal-inline-links{font-size:13px}.legal-page{max-width:960px}.legal-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.legal-link-card{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}.legal-link-card strong{color:#143a7a}.legal-link-card:hover{background:#f8fbff}.legal-section{border-top:1px solid var(--border);padding-top:10px}.legal-list{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.consent-box{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f9fbff}main{max-width:960px;margin:0 auto;padding:32px 20px 56px}h1,h2{margin:0}.dashboard-section-heading{font-size:22px;line-height:1.15;font-weight:700;color:#f4f7fb}.dashboard-section-heading a{color:inherit;text-decoration:none}.dashboard-section-heading a:hover{color:#ffd8d8}.home-hero-logo-wrap{display:flex;justify-content:center}.home-hero-card{justify-items:start;gap:18px}.home-hero-logo{width:min(100%,520px);height:auto}.home-hero-copy{max-width:720px;font-size:16px;line-height:1.6}.home-promo-section{gap:18px}.home-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.home-promo-card{overflow:hidden}.home-promo-image{display:block;width:100%;height:auto}@media (max-width:860px){.home-promo-grid{grid-template-columns:1fr}}a{color:var(--accent);text-decoration:none}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px}.stack{display:grid;grid-gap:16px;gap:16px}.stack.compact{gap:8px}.row{display:flex;flex-wrap:wrap;gap:10px}.ingredient-actions{gap:8px}.ingredient-list{display:grid;grid-gap:6px;gap:6px;align-content:start}.check-row.ingredient-associated{background:rgba(255,193,104,.08);border-radius:8px;padding:2px 4px;box-shadow:inset 0 0 0 1px rgba(255,193,104,.14)}.servings-edit-field{gap:4px}.servings-edit-input{max-width:120px}.recipe-title-edit-input{min-width:0;width:100%;max-width:none;flex:1 1 auto;font-size:1.5em;font-weight:700;line-height:1.2;padding:6px 10px}.recipe-profile-edit-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;align-items:end}.recipe-edit-field{min-width:0}.recipe-edit-field-inline{display:grid;grid-template-columns:84px minmax(0,180px);align-items:center;grid-gap:8px;gap:8px}.recipe-edit-field-label{white-space:nowrap}.recipe-servings-edit-field .servings-edit-input{max-width:none;width:100%}.recipe-edit-field-inline select,.recipe-servings-edit-field .servings-edit-input{min-height:32px;padding:6px 10px;font-size:13px}.recipe-select-trigger{width:100%;justify-content:space-between;text-align:left}.recipe-cuisine-edit-field{grid-template-columns:84px minmax(0,220px)}.recipe-select-menu{margin-top:6px}.recipe-select-option{display:flex;align-items:center;gap:8px;border-radius:8px;padding:6px 8px}.recipe-select-option:hover{background:rgba(255,255,255,.04)}.recipe-select-option input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.step-list{display:grid;grid-gap:6px;gap:6px;align-content:start}.recipe-step-item{display:block;border-radius:8px;padding:2px 4px;outline:none}.recipe-step-item.active,.recipe-step-item:focus-visible,.recipe-step-item:hover{background:#eef4ff}.recipe-header{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:14px;gap:14px;align-items:start}.recipe-header-right{display:grid;grid-gap:8px;gap:8px;justify-items:end}.recipe-meta{gap:10px}.recipe-meta .stack.compact{gap:6px}.recipe-meta .stack.compact.recipe-meta-tight{gap:2px}.recipe-meta .stack.compact.recipe-title-meta-tight{gap:1px}.recipe-detail-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 320px;grid-gap:14px;gap:14px;align-items:start}.recipe-detail-image-col{display:grid;grid-gap:8px;gap:8px;justify-items:end}.recipe-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recipe-title-row-main{justify-content:space-between;align-items:flex-start;width:100%}.recipe-title-main-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 420px;min-width:0}.recipe-title-actions{margin-left:auto;justify-content:flex-end}.header-menu-wrap{position:relative;display:inline-flex}.header-menu-trigger{min-width:34px;padding-left:8px;padding-right:8px}.header-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);border:1px solid var(--border);border-radius:10px;background:#17171d;padding:8px;display:grid;grid-gap:6px;gap:6px;min-width:190px;max-width:min(280px,calc(100vw - 24px));box-sizing:border-box;box-shadow:0 10px 26px rgba(0,0,0,.3);z-index:15}.header-menu-dropdown .btn-small,.header-menu-dropdown .header-menu-link{width:100%;justify-content:flex-start;text-align:left;background:#22222b;color:#f0d8d2;border:1px solid rgba(255,255,255,.08)}.header-menu-dropdown .btn-small:hover,.header-menu-dropdown .header-menu-link:hover{background:#2a2a33}.recipe-stars-trigger{display:inline-flex;align-items:center;gap:2px;line-height:1}.recipe-title-star-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;display:inline-block;width:1em;height:1em;min-width:0;min-height:0;background:linear-gradient(90deg,#f0bd2f var(--star-fill,0),#c0cadd var(--star-fill,0));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:0;font-size:20px;line-height:1;text-align:left;cursor:pointer}.recipe-title-star-btn.filled{color:#f0bd2f}.recipe-title-star-btn:focus-visible,.recipe-title-star-btn:hover{filter:brightness(1.03)}.recipe-actions{justify-content:flex-end}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;width:-moz-fit-content;width:fit-content}.macros-header-row{justify-content:flex-start;align-items:center;flex-wrap:nowrap;gap:8px}.macros-header-row .segmented{border-radius:10px;border-color:rgba(225,75,75,.38);background:#1a1a21;box-shadow:inset 0 0 0 1px rgba(225,75,75,.08)}.macros-header-row .seg-btn{font-size:11px;padding:3px 7px;min-height:24px;background:#2a2a31;color:#ece3df;border:0;border-right:1px solid rgba(225,75,75,.22)}.macros-header-row .seg-btn:last-child{border-right:0}.macros-header-row .seg-btn:hover{background:#33333b}.macros-header-row .seg-btn.active{background:linear-gradient(180deg,#f1665b 0,var(--accent) 100%);color:#180909;box-shadow:inset 0 0 0 1px rgba(255,133,116,.28)}.macro-summary-click-target{border-radius:10px;cursor:pointer;padding:2px 4px;margin:-2px -4px}.macro-summary-click-target:hover{background:rgba(225,75,75,.08)}.macro-summary-click-target:focus-visible{outline:2px solid rgba(255,120,103,.52);outline-offset:1px}.seg-btn{border-radius:0;background:#fff;color:#2f4463;border-right:1px solid var(--border)}.seg-btn:last-child{border-right:0}.seg-btn.active{background:var(--accent);color:#fff}.recipes-tabs .seg-btn{font-size:13px;padding:5px 12px;min-height:0}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px;align-items:start}.recipe-list-row{display:flex;gap:10px;align-items:flex-start}.selectable-row{align-items:center}.recipe-list-item.selected{background:rgba(225,75,75,.11);border-color:rgba(255,133,116,.32);box-shadow:inset 0 0 0 1px rgba(255,133,116,.12),0 10px 24px rgba(0,0,0,.36)}.recipe-row-clickable{cursor:pointer}.recipe-row-clickable:hover{background:rgba(255,255,255,.035)}.recipe-select-cell{width:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center}.recipe-select-cell input[type=checkbox]{width:16px;height:16px;margin:0}.bulk-actions-bar{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--card);justify-content:space-between;align-items:center}.bulk-actions-ellipsis-wrap{position:relative;display:none}.bulk-actions-dropdown{position:absolute;right:0;top:calc(100% + 6px);border:1px solid var(--border);border-radius:10px;background:#22222b;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:160px;box-shadow:0 10px 26px rgba(0,0,0,.3);z-index:15}.bulk-actions-dropdown .btn-small{width:100%;justify-content:flex-start;text-align:left;background:#22222b;border:1px solid rgba(255,255,255,.08)}.bulk-actions-dropdown .btn-small:hover{background:#2a2a33}@media (max-width:760px){.bulk-actions-ellipsis-wrap{display:block}.bulk-actions-desktop-actions{display:none}}.cookbooks-layout{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.cookbooks-create-row{align-items:center}.cookbook-list-btn{width:100%;justify-content:space-between;gap:10px;text-align:left}.cookbook-list-btn.active{background:linear-gradient(180deg,rgba(70,22,22,.95),rgba(48,18,18,.95));border:1px solid rgba(215,86,86,.55);color:#fff1f1;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.24)}.cookbook-count{margin-left:10px;white-space:nowrap}.cookbook-detail-header{justify-content:space-between;align-items:center}.cookbook-recipe-row{justify-content:space-between;align-items:flex-start;border-top:1px solid var(--border);padding-top:8px}.cookbook-recipe-row-clickable{cursor:pointer}.cookbook-recipe-row-clickable:hover{background:rgba(255,255,255,.03)}.cookbook-recipe-row-clickable:focus-visible{outline:2px solid rgba(255,120,103,.52);outline-offset:2px}.cookbook-recipe-meta{min-width:0;flex:1 1}.cookbook-recipe-actions{align-items:center;gap:10px;flex-shrink:0}.cookbook-section-block{border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(255,255,255,.025);width:100%;box-sizing:border-box}.cookbook-section-header{justify-content:space-between;align-items:center;gap:12px}.link-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}.input-small{width:auto;min-width:120px;padding:6px 8px;font-size:13px}.cookbook-share-create-row{align-items:center}.cookbook-share-create-row select{max-width:140px;background:linear-gradient(180deg,rgba(38,41,49,.98),rgba(27,30,37,.98));color:#f4f7fb;border-color:rgba(255,255,255,.12);color-scheme:dark}.cookbook-share-section{border-top:1px solid var(--border);padding-top:10px}.cookbook-share-section:first-of-type{border-top:0;padding-top:0}.cookbook-invite-created-row{align-items:center}.cookbook-share-list{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:8px}.cookbook-share-row{justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #edf2f8;padding-top:8px}.cookbook-share-row:first-child{border-top:0;padding-top:0}.cookbook-share-row select{width:120px;min-width:120px;background:linear-gradient(180deg,rgba(38,41,49,.98),rgba(27,30,37,.98));color:#f4f7fb;border-color:rgba(255,255,255,.12);color-scheme:dark}.cookbook-share-create-row select option,.cookbook-share-row select option{background:#1c1f26;color:#f4f7fb}.cookbook-share-email{min-width:0;flex:1 1;overflow-wrap:anywhere}.export-preview-page{gap:12px}.export-preview-actions{justify-content:space-between;align-items:center}.export-preview-list{gap:12px}.export-recipe-block{border-top:1px solid #d8e1ec;padding-top:8px;gap:8px;font-size:14px;line-height:1.22}.export-recipe-block .recipe-meta{gap:7px}.export-recipe-block .stack.compact{gap:4px}.export-recipe-block h2{margin:0;font-size:18px;line-height:1.15}.export-recipe-header{grid-template-columns:minmax(0,1fr) 300px;gap:12px}.export-recipe-header .recipe-header-right{width:300px;min-width:300px;justify-self:end}.export-image-frame{width:300px;height:225px}.export-image-frame .recipe-thumb.medium{width:100%;height:100%;object-fit:cover}.export-preview-grid{gap:10px}.export-meta{font-size:13px}.recipe-list-meta{min-width:0;flex:1 1}.recipe-list-title-row,.recipe-title-with-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe-title-with-badge.editing{flex:1 1 auto;min-width:0}.cooked-badge{height:24px;width:auto;object-fit:contain;flex-shrink:0}.cooked-badge-large{height:30px}.recipe-list-rating{display:inline-flex;align-items:center;gap:1px;line-height:1}.recipe-list-rating .star{display:inline-block;width:1em;height:1em;min-width:1em;line-height:1;text-align:left;font-size:13px;background:linear-gradient(90deg,#f0bd2f var(--star-fill,0),#c0cadd var(--star-fill,0));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.recipe-list-rating .star.filled{color:#f0bd2f}.recipe-list-rating-count{margin-left:4px;color:var(--muted);font-size:12px}.recipe-thumb{width:120px;height:90px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.recipe-thumb.large{width:min(100%,420px);height:auto}.recipe-thumb.medium{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.recipe-thumb.tiny{width:68px;height:51px}.recipe-image-frame{width:100%;height:auto;aspect-ratio:4/3;border-radius:12px;border:1px solid var(--border);background:#f6f8fc;display:flex;align-items:center;justify-content:center;overflow:hidden}.check-row{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;grid-gap:8px;gap:8px;margin:0;line-height:1.25}.check-row input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;align-self:start}.ingredient-row{align-items:flex-start}.ingredient-row-main{position:relative;display:grid;grid-gap:6px;gap:6px;min-width:0}.ingredient-text-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;color:var(--text);padding:0;margin:0;text-align:left;font:inherit;line-height:1.25;width:100%;display:block;min-height:0;box-shadow:none;transform:none;filter:none;transition:color .12s ease,-webkit-text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.ingredient-text-btn:focus-visible,.ingredient-text-btn:hover{color:#f3eee9;text-decoration:underline;transform:none;filter:none;box-shadow:none}.ingredient-action-menu{border:1px solid var(--border);border-radius:10px;background:#17171d;padding:8px;display:grid;grid-gap:6px;gap:6px;max-width:320px;box-shadow:0 10px 26px rgba(0,0,0,.3);z-index:3}.ingredient-action-menu .btn-small{width:100%;text-align:left;justify-content:flex-start}.ingredient-actions .ingredient-action-btn,button.ingredient-action-btn{background:#22222b;color:#f0d8d2;border:1px solid rgba(255,255,255,.08)}.ingredient-actions .ingredient-action-btn:hover:not(:disabled),button.ingredient-action-btn:hover:not(:disabled){background:#2a2a33}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}textarea{min-height:140px;resize:vertical}button{border:0;border-radius:10px;padding:10px 14px;font:inherit;cursor:pointer;background:var(--accent);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.18),0 8px 16px rgba(11,77,182,.16);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}button.secondary{background:#f0f5ff;color:#0e3d92}button.danger{background:#d53333;color:#fff}button.danger:hover:not(:disabled){background:#b82727}.btn-small{padding:6px 10px;font-size:13px;border-radius:8px}.ingredient-action-btn{width:168px;min-width:168px;height:32px;min-height:32px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}.button-link.btn-small{padding:6px 10px;font-size:13px;border-radius:8px}.currency-input{position:relative;flex:1 1;min-width:140px}.currency-input-prefix{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.currency-input-field{padding-left:24px}.filters-panel{display:grid;grid-gap:6px;gap:6px}.filters-disclosure{border:1px solid var(--border);border-radius:10px;background:#f8fbff;padding:5px 7px 7px}.filters-summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:flex-start;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filters-summary::-webkit-details-marker{display:none}.filters-summary-label{display:inline-flex;align-items:center;font-weight:600;font-size:12px;color:#1f4675}.filters-summary-label:before{content:"\25B8";display:inline-block;margin-right:6px;transition:transform .12s ease}.filters-disclosure[open] .filters-summary-label:before{transform:rotate(90deg)}.filters-summary-clear{flex:0 0 auto;margin-left:2px}.recipes-search-actions-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:flex-end}.recipes-search-field{display:grid;grid-gap:6px;gap:6px;flex:1 1;min-width:0;max-width:560px}.recipes-filter-bar{flex:0 0 auto;margin-left:auto;justify-content:flex-end;align-items:center}@media (max-width:760px){.recipes-filter-bar .clear-filters-btn{display:none}}.recipes-filter-modal-card{width:min(920px,94vw);max-height:min(82vh,760px);overflow-y:auto}.recipes-filter-modal-header{justify-content:space-between;align-items:center}.recipes-filter-modal-header strong{color:#f4f7fb}.recipes-filter-close-btn{min-width:32px;min-height:32px;padding:0;border-radius:999px;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.import-card{gap:10px}.import-card h2{font-size:20px}.import-card label{font-size:13px}.import-card .segmented{border-radius:10px}.import-card .seg-btn{padding:6px 10px;font-size:13px}.import-card input,.import-card select,.import-card textarea{font-size:14px;padding:8px 10px;border-radius:8px}.import-card textarea{min-height:110px}.import-card button{padding:7px 11px;font-size:13px;border-radius:8px}.import-mode-row{justify-content:space-between;align-items:center}.filters-disclosure .filters-panel{margin-top:6px}.filters-panel strong{font-size:12px;line-height:1.2}.recipes-filter-sections{display:grid;grid-gap:10px;gap:10px}.recipes-filter-section{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:linear-gradient(180deg,rgba(34,37,45,.98),rgba(24,27,33,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden}.recipes-filter-section-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.recipes-filter-section-summary::-webkit-details-marker{display:none}.recipes-filter-section-label{display:inline-flex;align-items:center;gap:8px;color:#f4f7fb;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.recipes-filter-section-label:before{content:"\25B8";display:inline-block;transition:transform .14s ease;color:rgba(255,255,255,.72)}.recipes-filter-section[open] .recipes-filter-section-label:before{transform:rotate(90deg)}.recipes-filter-section>.filter-chip-group,.recipes-filter-section>.filter-time-group{padding:0 14px 14px}.filter-group{display:grid;grid-gap:3px;gap:3px}.filter-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:end}.filter-inline label{display:grid;grid-gap:3px;gap:3px;min-width:120px}.filter-chip-group{display:grid;grid-gap:3px;gap:3px;align-content:start;min-width:170px}.filter-chip-label{font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#f4f7fb}.filter-chip-group .filter-inline{gap:5px;align-items:center}.filter-time-group{width:100%}.filter-time-controls{display:grid;grid-gap:8px;gap:8px}.filter-time-top-row{display:flex;align-items:flex-start}.filter-time-type{display:grid;grid-gap:4px;gap:4px;max-width:150px}.filter-time-type-select{min-height:28px;padding:4px 9px;border-radius:9px;font-size:12px;line-height:1.1}.filter-time-range-group{display:grid;grid-gap:8px;gap:8px}.filter-time-range-labels{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-time-dual-slider{position:relative;height:26px;display:flex;align-items:center}.filter-time-slider-range,.filter-time-slider-track{position:absolute;left:0;right:0;height:6px;top:50%;transform:translateY(-50%);border-radius:999px;pointer-events:none}.filter-time-slider-track{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.08)}.filter-time-slider-range{right:auto;background:linear-gradient(90deg,rgba(193,56,56,.92),rgba(237,94,94,.96));box-shadow:0 0 0 1px rgba(255,255,255,.06)}.filter-time-range-input{position:absolute;inset:0;width:100%;margin:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:none}.filter-time-range-input::-webkit-slider-runnable-track{height:6px;background:transparent}.filter-time-range-input::-moz-range-track{height:6px;background:transparent;border:0}.filter-time-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:#c73a3a;box-shadow:0 4px 10px rgba(0,0,0,.34);pointer-events:auto;cursor:pointer}.filter-time-range-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:#c73a3a;box-shadow:0 4px 10px rgba(0,0,0,.34);pointer-events:auto;cursor:pointer}.filter-time-range-input-min{z-index:2}.filter-time-range-input-max{z-index:3}.chip-btn{border:1px solid #c8d7ea;border-radius:999px;padding:3px 8px;min-height:24px;background:#f7fbff;color:#1f4675;font-weight:600;font-size:11px;line-height:1.1}.filters-disclosure .btn-small:not(.chip-btn){min-height:24px;padding:4px 8px;font-size:12px}.chip-btn.secondary{background:#f7fbff;color:#1f4675;border-color:#c8d7ea}.chip-btn.secondary:hover{background:#ebf3ff;border-color:#aec3e1}.chip-btn.active{background:linear-gradient(180deg,#2a75ff 0,var(--accent) 100%);border-color:var(--accent);color:#fff}.chip-btn:focus-visible{outline:2px solid #94b8ff;outline-offset:1px}.edit-list-area{min-height:220px}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;background:#f0f5ff;color:#0e3d92;border:1px solid #d0def5;text-decoration:none;font-size:14px;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.1),0 8px 16px rgba(11,77,182,.12);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.button-link:hover,button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.button-link:active,button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.24),0 4px 10px rgba(12,30,54,.18)}.modal-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(6,8,14,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}.modal-card{width:min(560px,100%);background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 14px 32px rgba(12,30,54,.24)}.cookbook-modal-card{width:min(520px,100%)}.cookbook-select-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:8px}.cookbook-select-row{align-items:center;border-radius:8px;padding:4px 6px}.cookbook-select-row:hover{background:#f7fbff}.cookbook-create-section{border-top:1px solid var(--border);padding-top:10px}.cookbook-create-row{align-items:center}.modal-actions{justify-content:flex-end}.review-modal-card{width:min(520px,100%)}.ingredient-suggestion-modal-card{width:min(680px,100%)}.macro-breakdown-modal-card{width:min(860px,100%)}.macro-breakdown-modal-header{justify-content:space-between;align-items:center}.macro-breakdown-table-wrap{max-height:min(55vh,440px);overflow:auto;border:1px solid var(--border);border-radius:10px}.macro-breakdown-table{width:100%;border-collapse:collapse;font-size:13px}.macro-breakdown-table td,.macro-breakdown-table th{padding:7px 8px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.macro-breakdown-table th{position:-webkit-sticky;position:sticky;top:0;background:#f7fbff;z-index:1}.ingredient-suggestion-list{max-height:min(45vh,360px);overflow-y:auto;padding-right:4px}.ingredient-suggestion-option{border:1px solid var(--border);border-radius:10px;background:#17171d;color:#f2ece8;padding:8px 10px;display:grid;grid-gap:4px;gap:4px;text-align:left}.ingredient-suggestion-option span{color:inherit}.ingredient-suggestion-option .muted{color:#b7aca7}button.ingredient-suggestion-option,button.ingredient-suggestion-option:active:not(:disabled),button.ingredient-suggestion-option:hover:not(:disabled){background:#17171d!important;color:#f2ece8!important;border:1px solid var(--border)!important;border-radius:10px!important;padding:8px 10px!important;box-shadow:none!important;transform:none!important;filter:none!important}.ingredient-suggestion-option.active{border-color:rgba(255,193,104,.32);background:rgba(255,193,104,.08);color:#fff5e7}.ingredient-suggestion-option.active .muted{color:#d8c8b4}.ingredient-suggestion-option:focus-visible,.ingredient-suggestion-option:hover{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.review-star-row{display:inline-flex;align-items:center;gap:4px}.review-star-btn{border:0;background:transparent;color:#c0cadd;padding:0;min-width:30px;min-height:30px;font-size:30px;line-height:1}.review-star-btn.filled{color:#f0bd2f}.review-star-btn:hover{color:#aab7cf}.review-star-btn.filled:hover{color:#e2b024}.review-textarea{min-height:120px}.review-summary-link{border:0;background:transparent;color:#1f4675;padding:0;display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content}.review-summary-link:hover{text-decoration:underline}.review-inline-stars{display:inline-flex;align-items:center;gap:1px;line-height:1}.review-inline-star{display:inline-block;width:1em;height:1em;min-width:1em;line-height:1;text-align:left;font-size:13px;background:linear-gradient(90deg,#f0bd2f var(--star-fill,0),#c0cadd var(--star-fill,0));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.review-inline-star.filled{color:#f0bd2f}.review-count-link,.review-count-text{color:var(--muted);font-size:12px}.review-count-link{border:0;background:transparent;padding:0;line-height:1}.review-count-link:focus-visible,.review-count-link:hover{color:#1f4675;text-decoration:underline}.community-reviews-page{gap:12px}.review-summary-inline{align-items:center;gap:6px}.review-summary-panel{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f8fbff}.review-summary-grid{display:grid;grid-gap:5px;gap:5px}.review-summary-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e3ebf5;padding-top:5px}.review-summary-row:first-child{border-top:0;padding-top:0}.review-entry{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff}.review-entry-header{justify-content:space-between;align-items:center}.review-text-block{margin:0;white-space:pre-wrap;line-height:1.3}.compare-panel{border-top:1px solid var(--border);padding-top:10px}.price-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.store-compare-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fbfdff}.price-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e7edf5;padding-top:6px}.price-value{white-space:nowrap}.price-strike{text-decoration:line-through;color:#6b7f97;margin-right:4px}.sale-pill{margin-left:6px;border-radius:999px;padding:2px 7px;font-size:11px;background:#e7f9ee;color:#0b7a37}.shopping-list-card.stack.compact{gap:5px}.shopping-list-header-row{align-items:center;justify-content:space-between}.shopping-list-section.stack.compact{gap:4px}.shopping-category-block.stack.compact{gap:1px;border:1px solid transparent;border-radius:8px;padding:2px 4px;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.shopping-category-block.category-dragging{border-color:#7ca5ff;background:#f2f7ff;box-shadow:inset 0 0 0 1px #a8c3ff}.shopping-category-block.category-drop-target{border-style:dashed;border-color:#4a7cf5;background:#eef4ff}.shopping-category-row{justify-content:space-between;align-items:center;gap:6px;padding:1px 0;cursor:-webkit-grab;cursor:grab;flex-wrap:nowrap}.shopping-category-row *{cursor:inherit}.shopping-category-row.dragging{opacity:.6}.shopping-category-row:active{cursor:-webkit-grabbing;cursor:grabbing}.shopping-category-actions{align-items:center;gap:4px;flex-wrap:nowrap}.shopping-category-move-btn{min-width:28px;height:24px;padding:0 6px;line-height:1}.shopping-item-row{justify-content:space-between;border-top:1px solid #d8e1ec;padding-top:2px;align-items:center;gap:8px;cursor:-webkit-grab;cursor:grab}.shopping-item-row *{cursor:inherit}.shopping-item-row.dragging{opacity:.55}.shopping-item-row:active{cursor:-webkit-grabbing;cursor:grabbing}.shopping-item-row .check-row{line-height:1.1}.shopping-item-row button,.shopping-item-row input{cursor:pointer}.shopping-remove-btn{padding:4px 8px;height:24px;font-size:12px;line-height:1.1;border-radius:7px}button:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:12px;color:#0b4db6;background:#e6efff}.badge-success{color:#0a7d36;background:#e5f8ec}.badge-error{color:#b00020;background:#ffe8ec}.badge-warning{color:#855f00;background:#fff5d6}.admin-page-actions{align-items:center;justify-content:space-between}.admin-filter-row{align-items:center;gap:8px}.admin-filter-row input{min-width:220px;max-width:420px;flex:1 1 260px}.admin-filter-row select{min-width:150px}.admin-tool-grid{align-items:stretch}.admin-tool-card{min-height:100%}.admin-grow{flex:1 1 auto}.admin-inline-field{min-width:220px}.admin-badge-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-moderation-score-grid{display:flex;flex-wrap:wrap;gap:8px 12px}.badge-muted{color:#536178;background:#edf2fa}.community-safety-actions{align-items:center;gap:12px;flex-wrap:wrap}.admin-inline-edit{gap:6px}.admin-inline-edit input,.admin-inline-edit select{min-width:170px}.admin-inline-actions{align-items:flex-start}.admin-community-table{min-width:1320px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;min-width:1060px;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px 8px}.admin-table th{font-size:12px;letter-spacing:.02em;color:var(--muted)}.admin-row-clickable{cursor:pointer}.admin-row-clickable:hover{background:#f8fbff}.admin-row-selected{background:#eef5ff}.admin-plan-cell-editor{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}.admin-plan-cell-select{min-width:140px;max-width:190px;margin:0}.admin-plan-cell-save{padding:6px 10px;line-height:1.1;white-space:nowrap;margin:0}.admin-event-card{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--card)}.admin-event-badge-info{color:#0b4db6;background:#e6efff}.admin-event-badge-warn,.admin-event-badge-warning{color:#855f00;background:#fff5d6}.admin-event-badge-error{color:#b00020;background:#ffe8ec}.admin-event-metadata{margin:0;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;white-space:pre-wrap;word-break:break-word}.find-recipe-form textarea{width:100%;resize:vertical}.find-recipe-results{margin-top:6px}.find-recipe-meta{gap:10px;flex-wrap:wrap}.find-recipe-thumb{flex:0 0 auto}.metric-card-link{text-decoration:none;color:inherit;display:block}.metric-card-link .card{transition:border-color .12s ease,box-shadow .12s ease}.metric-card-link:hover .card{border-color:#8db0ff;box-shadow:0 4px 12px rgba(12,30,54,.08)}.muted{color:var(--muted)}.account-menu-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.account-menu-card{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:12px;padding:18px;background:#fff;text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.account-menu-card strong{color:#143a7a;font-size:16px}.account-menu-card:hover{background:#f8fbff;border-color:#8db0ff;box-shadow:0 4px 12px rgba(12,30,54,.08)}.about-info-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 0;border-top:1px solid var(--border)}.about-info-row:first-child{border-top:0;padding-top:0}.meta-small{font-size:12px}.notes-text{display:inline-block;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:pre-wrap;line-height:1.3}.error{color:#b00020}.success{color:#0a7d36}@media print{.sidebar{display:none!important}.app-shell{grid-template-columns:1fr}main{max-width:none;margin:0;padding:0}.no-print{display:none!important}.export-preview-page{border:0;padding:0;gap:6px;font-size:12px;line-height:1.18}.export-preview-list,.export-recipe-block{display:block!important}.export-recipe-block{break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always;margin-bottom:8px;padding-top:6px;gap:6px;font-size:12px;line-height:1.15}.export-recipe-block:last-child{break-after:auto;page-break-after:auto}.export-recipe-block+.export-recipe-block{break-before:auto;page-break-before:auto}.export-recipe-block .recipe-meta{gap:5px}.export-recipe-block .stack.compact{gap:3px}.export-recipe-block h2{font-size:15px;line-height:1.1}.export-recipe-header{display:grid!important;grid-template-columns:minmax(0,1fr) 260px!important;grid-gap:8px!important;gap:8px!important;align-items:start!important}.export-recipe-header .recipe-header-right{width:260px!important;min-width:260px!important;justify-self:end!important;justify-items:stretch!important}.export-image-frame{width:260px!important;height:195px!important}.export-image-frame .recipe-thumb.medium{width:100%!important;height:100%!important;object-fit:cover!important}.export-preview-grid{gap:8px!important}.ingredient-list,.step-list{gap:3px!important}.muted{font-size:11px}body{background:#fff}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(280px,84vw);height:100vh;border-right:1px solid var(--border);border-bottom:0;padding:8px 12px 18px;z-index:1300;transform:translateX(-110%);transition:transform .18s ease;box-shadow:0 14px 36px rgba(12,30,54,.22);overflow-y:auto}.app-shell.mobile-menu-open .sidebar{transform:translateX(0)}.mobile-menu-backdrop{position:fixed;inset:0;z-index:1200;border:0;margin:0;padding:0;background:rgba(8,18,34,.36);display:block;opacity:0;pointer-events:none;transition:opacity .15s ease}.app-shell.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:flex-start;padding:10px 12px;border-bottom:1px solid var(--border);background:rgba(243,245,248,.96);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-menu-btn{min-height:32px;padding:6px 10px}.sidebar-close-btn{display:inline-flex;margin:0 0 8px}.app-content{min-height:100vh}.sidebar-brand{justify-content:center}.sidebar-brand-logo{max-width:156px}.sidebar-nav{display:grid;grid-gap:8px;gap:8px}.side-link{padding:9px 11px}.mobile-hide-added-modified,.mobile-hide-source{display:none}main{padding-top:18px}.recipe-header{grid-template-columns:1fr}.recipe-header-right{justify-items:start}.recipe-detail-meta-grid{grid-template-columns:1fr}.recipe-detail-image-col{justify-items:start}.recipe-title-actions{width:100%;justify-content:flex-start;margin-left:0}.recipe-title-edit-input{min-width:0;width:100%}.cookbooks-layout,.recipe-profile-edit-grid{grid-template-columns:1fr}.header-menu-dropdown{right:0;left:auto}}.admin-metric-card,.admin-table td,.admin-table th,.cookbook-detail-panel,.filter-chip-group,.filters-disclosure,.legal-link-card,.mobile-topbar,.modal-card,.recipe-image-frame,.sidebar,body{color:var(--text)}a{color:#ff8b7a}a:hover{color:#ffb2a7}.sidebar{background:rgba(16,16,22,.92);border-right-color:rgba(255,255,255,.1);box-shadow:inset -1px 0 0 rgba(255,255,255,.05),10px 0 28px rgba(0,0,0,.16)}.mobile-topbar{background:rgba(20,20,26,.95);border-bottom-color:rgba(255,255,255,.09)}.side-link{color:#f3d8d3}.side-link:hover{background:rgba(225,75,75,.14);color:#fff5f1}.admin-metric-card,.admin-table-wrap,.card,.cookbook-detail-panel,.filters-disclosure,.legal-link-card,.modal-card,.recipe-list-item,.recipe-run-event,.shopping-category-card,.shopping-list-card{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0)),linear-gradient(180deg,rgba(29,30,37,.98),rgba(20,21,28,.99));border-color:rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 38px rgba(0,0,0,.34)}.modal-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0)),linear-gradient(180deg,rgba(33,34,42,.99),rgba(21,22,29,1));border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 34px 72px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.03)}.recipe-image-frame{background:#121319;border-color:rgba(255,255,255,.08)}.recipe-step-item.active,.recipe-step-item:focus-visible,.recipe-step-item:hover{background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.macro-breakdown-table th{background:#202028;color:#f4e8e3;border-bottom-color:rgba(255,255,255,.08);box-shadow:inset 0 -1px 0 rgba(255,255,255,.04)}.badge{background:rgba(225,75,75,.14);color:#ffb4aa}.badge-success{background:rgba(99,214,151,.14);color:#93f0be}.badge-error{background:rgba(255,122,122,.16);color:#ffb0b0}.badge-warning{background:rgba(255,196,87,.16);color:#ffd98a}.badge-muted{background:rgba(255,255,255,.06);color:#d6dbe5}.button-link.secondary,.chip-btn.secondary,.seg-btn,button.secondary{background:#22222b;color:#f0d8d2;border:1px solid rgba(225,75,75,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.22),0 10px 18px rgba(0,0,0,.18)}.button-link.secondary:hover,.chip-btn.secondary:hover,.seg-btn:hover,button.secondary:hover:not(:disabled){background:#2b2324;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.24),0 12px 20px rgba(0,0,0,.2)}.button-link.btn-small:not(.secondary),.chip-btn.active,.seg-btn.active,button:not(.secondary):not(.danger):not(.recipe-title-star-btn):not(.review-star-btn):not(.review-summary-link):not(.ingredient-action-btn):not(.ingredient-text-btn):not(.seg-btn):not(.mobile-menu-backdrop){background:linear-gradient(180deg,#f1665b 0,var(--accent) 100%);color:#180909;border-color:rgba(255,133,116,.34);box-shadow:inset 0 1px 0 rgba(255,236,233,.28),inset 0 -1px 0 rgba(103,22,22,.26),0 12px 22px rgba(136,28,28,.26)}button.danger{background:linear-gradient(180deg,#d84b4b,#b92e2e);box-shadow:inset 0 1px 0 rgba(255,224,224,.2),inset 0 -1px 0 rgba(97,14,14,.24),0 12px 22px rgba(111,18,18,.24)}button.ingredient-text-btn,button.ingredient-text-btn:active:not(:disabled),button.ingredient-text-btn:hover:not(:disabled){background:transparent!important;color:var(--text);border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;transform:none!important;filter:none!important;min-height:0}input,select,textarea{background:#121219;color:var(--text);border:1px solid rgba(225,75,75,.16)}input::placeholder,textarea::placeholder{color:#8f8480}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(255,120,103,.54);box-shadow:0 0 0 3px rgba(225,75,75,.16)}.admin-table tbody tr:hover,.filters-disclosure:hover,.legal-link-card:hover,.recipe-list-item:hover{background:rgba(255,255,255,.06)}.account-menu-card{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0)),linear-gradient(180deg,rgba(29,30,37,.98),rgba(20,21,28,.99));border-color:rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 38px rgba(0,0,0,.34);color:var(--text)}.account-menu-card strong{color:#f4b8af}.account-menu-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,133,116,.32);box-shadow:inset 0 0 0 1px rgba(255,133,116,.12),0 10px 24px rgba(0,0,0,.36)}.consent-box{background:rgba(26,26,32,.8);border-color:rgba(255,255,255,.08)}.ingredient-actions button.ingredient-action-btn,.ingredient-actions button.secondary.ingredient-action-btn,button.ingredient-action-btn,button.secondary.ingredient-action-btn{background:#22222b;color:#f0d8d2;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.22),0 10px 18px rgba(0,0,0,.18)}.ingredient-actions button.ingredient-action-btn:hover:not(:disabled),.ingredient-actions button.secondary.ingredient-action-btn:hover:not(:disabled),button.ingredient-action-btn:hover:not(:disabled),button.secondary.ingredient-action-btn:hover:not(:disabled){background:#2a2a33;color:#f3eee9}.macros-header-row .seg-btn,.macros-header-row button.seg-btn{background:#2a2a31;color:#ece3df;border:0;border-right:1px solid rgba(225,75,75,.22);box-shadow:none}.macros-header-row .seg-btn:hover,.macros-header-row button.seg-btn:hover{background:#33333b;color:#f7f0ed}.macros-header-row .seg-btn.active,.macros-header-row button.seg-btn.active{background:linear-gradient(180deg,#f1665b 0,var(--accent) 100%);color:#180909;border-right:1px solid rgba(255,133,116,.28);box-shadow:inset 0 0 0 1px rgba(255,133,116,.28)}.mobile-menu-backdrop{background:rgba(4,4,7,.58)}.admin-table th{background:#191921}.admin-table td{background:transparent}