/* Midnight, copper and warm paper. All assets stay local. */
:root{--bg:#f2eee7;--paper:#fffaf3;--ink:#182c3c;--muted:#586575;--line:#d7d3cd;--green:#17374c;--light:#e4e9ea;--orange:#994b2d;--soft:#f1ddd0;--danger:#a02e24}
body{background:var(--bg)}h1,h2,h3{color:var(--ink)}.shell{max-width:1180px}.header{margin-bottom:22px}.brand{letter-spacing:-.8px}.brand-mark{background:#17374c}.badge{background:#e4e9ea;color:#17374c}.btn{border-radius:10px}.btn.primary{background:#17374c;border-color:#17374c}.btn:hover{filter:brightness(.96)}.btn:active{transform:translateY(1px)}
.personal-hero{display:grid;grid-template-columns:1fr 1fr;background:#102738;border:1px solid #17374c;border-radius:22px;overflow:hidden;margin-bottom:23px;min-height:250px}.personal-hero .hero-copy{padding:32px 36px;align-self:center;z-index:1}.personal-hero h1{color:#fff2df;font-size:48px;line-height:1.03;margin-bottom:16px;letter-spacing:-1.7px}.personal-hero .eyebrow{color:#e6ad80;font-size:10px;line-height:1.5}.personal-hero p{color:#d9e0e5;margin-bottom:0;font-size:14px}.personal-hero img{width:100%;height:100%;object-fit:cover;min-width:0;max-height:310px}
.shelf-start{margin-bottom:6px}.quick-paths{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.quick-paths .btn{flex:1;max-width:280px}.filter-row{padding:16px 0}.chip{border-radius:9px;background:var(--paper);min-height:42px}.chip.active{background:var(--ink);border-color:var(--ink)}.shelf-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 18px}.shelf-heading .section-label{display:flex;gap:12px;flex-wrap:wrap;margin:0}.shelf-heading .shelf-controls{margin:0}.shelf-heading select{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:9px;max-width:185px}.shelf-extras{margin:25px 0;border-top:1px solid var(--line);padding:20px 0}.shelf-extras summary{font-weight:650;cursor:pointer;min-height:44px}.shelf-extras p{margin-top:14px}
.card{border-radius:14px;box-shadow:0 3px 12px #162c3d05;transition:box-shadow .15s}.card:hover{box-shadow:0 6px 20px #162c3d15}.card h3{font-family:Georgia,serif;font-weight:500;font-size:23px;letter-spacing:-.4px}.card-copy{padding:19px}.card .category{color:#994b2d}.card-fav{border:1px solid #ffffff4d;background:#fffaf3f5;color:#17374c}.recipe-jacket{height:145px;background:#203e51;color:#f2d7b3;display:flex;justify-content:center;align-items:center;isolation:isolate}.recipe-jacket:before{width:100%;height:100%;border:0;border-radius:0;background:linear-gradient(125deg,#ffffff0a,transparent);inset:0}.recipe-jacket:after{width:125px;height:125px;border-color:currentColor;opacity:.17;right:-24px;top:-35px}.jacket-rule{position:absolute;top:20px;left:20px;width:24px;height:3px;background:currentColor;opacity:.8}.jacket-initial{font-family:Georgia,serif;font-size:86px;font-style:italic;opacity:.25;position:absolute;right:22px;bottom:4px;line-height:1}.jacket-emblem{border:1px solid #ffffff35;padding:14px;border-radius:50%;display:grid;place-items:center}.jacket-emblem svg{width:37px;height:37px;stroke-width:1.15}.recipe-jacket .cover-label{color:inherit;left:20px;bottom:15px;font-size:9px}.jacket-breakfast{background:#9b6347;color:#fff0d7}.jacket-desserts{background:#543c48;color:#f4ded3}.jacket-sides{background:#3b5557;color:#e8e9d7}.jacket-sauces{background:#795035;color:#fff0d7}.jacket-other{background:#505b69;color:#eee4d4}.detail-cover.recipe-jacket{height:220px}.detail-cover .jacket-initial{font-size:145px}.detail-cover .jacket-emblem svg{width:60px;height:60px}.detail-cover .jacket-emblem{padding:24px}.cover.photo{background:#203e51}.add-card{background:#e7e5df;border-color:#adb8bd;border-radius:14px;min-height:260px}.add-card .add-circle{border-color:#adb8bd}.bottom-nav{background:#fffaf3f7;box-shadow:0 -4px 20px #152d3e08}.nav-item.active{color:#17374c}.nav-create svg{background:#17374c;color:#fffaf3;border-radius:8px;padding:4px;width:30px!important;height:30px!important}.nav-create{gap:1px}.nav-item{border-radius:10px}.nav-item.active:not(.nav-create){background:#e4e9ea}.panel{border-radius:15px}.tip{background:#e4e9ea}dialog::backdrop{background:#0c2031b8}.creation-route{display:flex;list-style:none;padding:0;margin:0 0 24px;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.creation-route li{display:flex;gap:8px;align-items:center}.creation-route span{border:1px solid #aebac2;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:var(--ink)}.maker-panel{max-width:none}.maker-result{max-width:none}.detail-actions [data-action="cook"]{flex-basis:100%;min-height:54px;font-size:16px}.detail-actions [data-action="recipe-to-chatgpt"]{order:4;background:transparent}.substitution,.sub-editor{color:var(--muted)}
@media(max-width:700px){.personal-hero{grid-template-columns:1fr 42%;min-height:190px}.personal-hero .hero-copy{padding:22px}.personal-hero h1{font-size:37px}.personal-hero p{font-size:12px}.personal-hero .eyebrow{font-size:9px;letter-spacing:.1em}.personal-hero img{object-position:40% center}.shelf-heading{align-items:flex-start;flex-direction:column;gap:10px}.shelf-heading .shelf-controls{width:100%;justify-content:space-between}.quick-paths .btn{max-width:none;font-size:13px}.card h3{font-size:23px}.recipe-jacket{height:126px}}
@media(max-width:420px){.personal-hero{grid-template-columns:1fr}.personal-hero .hero-copy{padding:24px 22px}.personal-hero h1 br{display:none}.personal-hero h1{font-size:35px}.personal-hero img{height:135px;object-position:center 48%}.personal-hero p br{display:none}.quick-paths{display:grid;grid-template-columns:1fr 1fr}.quick-paths .btn{padding:12px 8px;line-height:1.4}.quick-paths svg{display:none}.creation-route{gap:9px;font-size:12px}.card .meta{flex-wrap:wrap}.shelf-extras .row .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.btn:active{transform:none}}

@media(max-width:420px){.personal-hero{grid-template-columns:minmax(0,1fr) 37%;min-height:200px}.personal-hero .hero-copy{padding:22px 17px}.personal-hero h1{font-size:30px;letter-spacing:-1px}.personal-hero img{height:100%;max-height:none;object-position:38% center}.personal-hero .eyebrow{font-size:8px}.personal-hero p{font-size:12px}}

.tailored-strip{margin:18px 0 4px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tailored-strip p{margin:5px 0 10px}.tailored-strip .row{justify-content:flex-start}.tailored-strip .btn{font-size:12px;padding:10px 12px;min-height:42px}.idea-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.idea-ingredient{margin-bottom:9px;font-size:14px}#tailored-results h3{margin:12px 0 6px}@media(max-width:420px){.idea-filters{grid-template-columns:1fr}.tailored-strip .row{display:grid;grid-template-columns:1fr 1fr}.tailored-strip .btn{height:100%}}

.library-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.library-entry h2{font-size:20px;margin:8px 0}.library-entry p{margin:0}.library-entry .eyebrow{font-size:9px;color:var(--orange)}.library-entry .btn{flex-shrink:0}.library-bulk{border-top:1px solid var(--line);padding:18px 0;margin-top:18px}.library-bulk summary{cursor:pointer;font-weight:700;min-height:44px}.shelf-more{grid-column:1/-1;text-align:center;padding:20px}#library-results h3{margin:12px 0 6px}@media(max-width:600px){.library-entry{display:block}.library-entry .btn{width:100%;margin-top:12px}}

.library-filters{margin-top:14px}@media(max-width:420px){.library-filters{grid-template-columns:1fr 1fr}.library-filters .field:last-child{grid-column:1/-1}}

/* One bundled atlas keeps every cover available offline without expanding backups. */
.food-illustration{background-image:url('recipe-food-atlas.png');background-size:400% 300%;background-repeat:no-repeat;aspect-ratio:9/8;position:relative;overflow:hidden;background-color:#142b3b}
.food-illustration .cover-label{position:absolute;bottom:8px;left:8px;right:auto;background:rgba(10,24,33,.88);color:#fff;padding:5px 9px;border-radius:6px;font-size:10px;letter-spacing:.03em}
.food-illustration.detail-cover{aspect-ratio:9/8;height:auto;min-height:0}
.idea-cover{width:100%;max-width:384px;aspect-ratio:9/8;height:auto!important;min-height:0!important;margin-bottom:14px;border-radius:12px}
.food-art-0{background-position:0.0% 0%}
.food-art-1{background-position:33.333333333333336% 0%}
.food-art-2{background-position:66.66666666666667% 0%}
.food-art-3{background-position:100.0% 0%}
.food-art-4{background-position:0.0% 50%}
.food-art-5{background-position:33.333333333333336% 50%}
.food-art-6{background-position:66.66666666666667% 50%}
.food-art-7{background-position:100.0% 50%}
.food-art-8{background-position:0.0% 100%}
.food-art-9{background-position:33.333333333333336% 100%}
.food-art-10{background-position:66.66666666666667% 100%}
.food-art-11{background-position:100.0% 100%}

.food-illustration{height:auto!important;min-height:0!important}

.food-illustration::before,.food-illustration::after{display:none!important}
.food-illustration .cover-label{display:block!important;z-index:2}

.source-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.all-entry{margin:20px 0}
