/* One task at a time, using the existing Crème Studio palette. */
[hidden]{display:none!important}
#choose-path{margin:32px 0 56px;padding:0;border:0;background:none;display:block;scroll-margin-top:30px}
#choose-path h2{font-size:36px;margin:0 0 24px}
#choose-path .builder-mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#choose-path button{padding:26px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:15px;border:1px solid #ddcec4;border-radius:18px;background:#f2e9e0;color:#382820;min-height:246px;white-space:normal;font-weight:400;line-height:1.6;box-shadow:none;transition:background .2s,border-color .2s}
#choose-path button:hover,#choose-path button:focus-visible{border-color:#6f293e;background:#ead9d6}
#choose-path .path-number{font-family:Georgia,serif;font-size:23px;color:#895c65}
#choose-path strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;line-height:1.1;font-weight:600}
#choose-path b{color:#712e42;font-size:13px;margin-top:auto;font-weight:600}
#journey{max-width:1120px;margin:24px auto 70px}
.journey-active main{padding-top:12px;min-height:80vh}
.journey-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;color:#7d625a;font-size:13px}
#journey-progress{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:35px}
#journey-progress button{border:0;border-radius:8px;background:transparent;color:#715b51;display:flex;gap:7px;align-items:center;font-size:12px;padding:7px 10px;white-space:nowrap}
#journey-progress span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e9dfd5}
#journey-progress [aria-current]{background:#ead8d9;color:#632339}
#journey-progress [aria-current] span{background:#712e42;color:#fff}
#journey-progress button:disabled{opacity:.55;cursor:default}
.journey-heading{max-width:740px;margin-bottom:22px}
#journey-title{font-size:clamp(34px,4vw,52px);line-height:1.12;margin:8px 0 14px;letter-spacing:-.015em;text-transform:none}
#journey-intro{color:#735e55;font-size:15px;line-height:1.7;max-width:650px;margin:0}
#journey-selection{background:#f0e7dd;border:1px solid #e2d4c9;border-radius:12px;margin:24px 0;font-size:13px;padding:0 18px}
#journey-selection summary{padding:14px 0;font-weight:600;cursor:pointer}
#journey-selection-count{float:right;font-weight:400;color:#7a6459;margin-right:10px}
#journey-selection-body{padding-bottom:10px;line-height:1.8;overflow-wrap:anywhere}
#journey-content{margin:30px 0 24px}
#journey-content .panel{box-shadow:none;border:0;padding:0;background:transparent}
#journey-content .allergy-panel{max-width:760px;border:1px solid #e2d4c9;background:#fffaf5;padding:24px;border-radius:16px;margin:0}
#journey-content #products-step{width:100%;max-width:880px}
#journey-content #products-step>.section-title{display:none}
#journey-content #pantry-catalog{display:block!important}
#journey-content #ingredients{margin-top:18px}
#journey-content #pantry-done,#journey-content .recommendation-toolbar,#journey-content .choose-without-stock,#journey-content #completion-suggestions,#journey-content .dessert-switcher{display:none}
#journey-content .dessert-directions{margin:0;padding:0;border:0}
#journey-content .dessert-directions>h2,#journey-content .dessert-directions>.eyebrow,#journey-content #dessert-description{display:none}
#journey-content .dessert-options{grid-template-columns:repeat(3,minmax(0,1fr))}
#journey-content .components{width:100%;min-width:0}
#journey-content .components>.section-title{display:none}
#journey-content .catalog-note{font-size:12px;margin:0 0 14px;color:#826c61}
#journey-content #categories{display:block}
#journey-content .category{margin:16px 0;scroll-margin-top:25px}
#journey-content .option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#journey-content [data-view=list] .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#journey-content .category-title{font-size:22px}
#journey-content #recipe-result{margin:0;padding:0}
#journey-content #recipe-result>[data-compose-recipe]{display:none}
#journey-content #recipe-result>.eyebrow,#journey-content #recipe-result>h2{display:none}
.journey-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;bottom:0;padding:16px 0;background:#fbf7f0f5;backdrop-filter:blur(12px);border-top:1px solid #dfd2c8;z-index:5}
.journey-nav .primary{white-space:nowrap;background:#712e42;color:white;border-color:#712e42}
#journey-nav-note{font-size:12px;color:#7d685e;margin-left:auto}
#journey-error:empty{display:none}
#journey-error{color:#792b42;border-left:3px solid #792b42;padding:10px 15px;background:#f0dedd}
.journey-filter{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0}
.journey-filter label{display:flex;flex-direction:column;gap:8px;font-size:13px;flex:1;min-width:200px;max-width:420px}
.journey-filter select,.journey-filter input{width:100%;padding:13px;border:1px solid #d9c8bc;border-radius:9px;background:#fffcf8;font:inherit;color:#453126;min-height:45px}
#pantry-direction{max-width:320px}
#pantry-match-status,#journey-catalog-status{font-size:14px;line-height:1.7;color:#6e594e;max-width:800px;margin:25px 0}
.journey-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.journey-recipe-card{border:1px solid #dfd2c8;border-radius:17px;overflow:hidden;background:#fffaf5;display:flex;flex-direction:column}
.journey-recipe-card figure{margin:0;position:relative;height:190px;overflow:hidden;background:#f0e8df}
.journey-recipe-card figure img{width:100%;height:100%;object-fit:cover}
.journey-recipe-photo{height:100%;background-image:url('desserts-matched.png');background-size:300% 200%}
.journey-recipe-card figcaption{position:absolute;bottom:9px;left:12px;background:#fffcf4e6;border-radius:6px;padding:3px 7px;color:#766257;font-size:10px}
.journey-recipe-copy{padding:25px;display:flex;flex-direction:column;gap:12px;flex:1}
.journey-recipe-copy h3{font-size:30px;line-height:1.15;margin:0;font-weight:600}
.journey-recipe-copy p{margin:0;font-size:13px;line-height:1.7}
.journey-recipe-copy .stock-result{font-weight:600;color:#712e42;margin-top:5px;font-size:15px}
.journey-recipe-copy .shopping-list{margin:0;padding-left:18px;font-size:14px;line-height:1.9}
.journey-recipe-copy details{font-size:12px;color:#735e55;margin:5px 0 15px}
.journey-recipe-copy details p{margin-top:9px}
.journey-recipe-copy button{margin-top:auto;align-self:flex-start;font-size:13px}
.journey-recipe-copy .practice-badge{align-self:flex-start;font-size:11px}
.alternative-recipes{margin:28px 0}.alternative-recipes article{padding:24px;border:1px solid #dfd2c8;border-radius:12px;background:#fffaf5;margin:18px 0}.alternative-recipes h3{font-size:26px}.alternative-recipes ul{line-height:1.8}
@media(max-width:720px){
 #choose-path .builder-mode-buttons{grid-template-columns:1fr}#choose-path button{min-height:0;padding:22px;gap:12px}#choose-path strong{font-size:27px}#choose-path h2{font-size:32px}
 .journey-top{font-size:11px;gap:10px}#journey-progress{flex-wrap:nowrap;overflow-x:auto;margin:0 -5px 25px;gap:0;padding-bottom:8px}#journey-progress button{font-size:11px}
 #journey-selection-count{font-size:12px}#journey-content .option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#journey-content [data-view=list] .option-grid{grid-template-columns:1fr}
 #journey-content .dessert-options{grid-template-columns:repeat(2,minmax(0,1fr))}#journey-content .category-title{font-size:18px}
 .journey-recipe-grid{grid-template-columns:1fr}.journey-recipe-card figure{height:200px}.journey-recipe-copy{padding:20px}
 .journey-nav{gap:8px;margin:0 -5px;padding:12px 5px calc(12px + env(safe-area-inset-bottom))}#journey-nav-note{display:none}.journey-nav .primary{font-size:13px;padding:14px 17px}
 .journey-filter{gap:12px}.journey-filter label{min-width:100%;max-width:none}#pantry-direction{max-width:none}
}
@media(prefers-reduced-motion:reduce){#journey *{scroll-behavior:auto!important;transition:none!important}}
.direction-multi{padding:0;border:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:9px}.direction-multi legend{font-weight:600;margin-bottom:12px}.direction-multi button{border:1px solid #d7c8bc;border-radius:24px;padding:10px 14px;background:#fffaf5;font-size:12px;color:#715b51}.direction-multi button[aria-pressed=true]{background:#712e42;color:#fff;border-color:#712e42}
@media(max-width:720px){.composition-result>h2{font-size:31px!important}.alternative-recipes>h2{font-size:29px}}
.opaque-cake{background:radial-gradient(ellipse at 45% 38%,#fffaf2,#eadcd0);padding:24px;border:1px solid #e0d0c2;border-radius:18px;max-width:760px!important;overflow:hidden;margin:25px auto}
.opaque-cake .diagram-caption,.opaque-cake .diagram-note{color:#745c50}.opaque-cake .explode-hint{color:#712e42}
.opaque-cake .explode-control{padding:0}.model-scene{--gap:0;container-type:inline-size;display:block;width:60%;max-width:360px;margin:0 auto;transition:margin .6s ease}
.model-stack{display:block;position:relative;width:100%;height:calc((var(--model-height) + (var(--count) - 1)*var(--gap))*100cqw/410);transition:height .85s cubic-bezier(.22,.8,.28,1);filter:drop-shadow(0 10px 8px #6e483122)}
.model-layer{display:block;position:absolute;left:0;bottom:calc((var(--y) + var(--i)*var(--gap))*100cqw/410);width:100%;aspect-ratio:410/180;transition:bottom .85s cubic-bezier(.22,.8,.28,1);pointer-events:none;opacity:1}
.model-layer svg{display:block;width:100%;height:100%;overflow:visible}
.model-layer-label{position:absolute;left:105%;top:48%;width:150px;color:#573b31;font-size:12px;text-align:left;line-height:1.4;opacity:0;transition:opacity .3s;padding-left:10px;border-left:1px solid #c1a191}
.opaque-cake .explode-control[aria-expanded=true] .model-scene{--gap:57;margin-left:0;margin-right:40%}.opaque-cake .explode-control[aria-expanded=true] .model-layer-label{opacity:1}
@media(max-width:720px){.opaque-cake{padding:18px 12px}.model-layer-label{width:110px;font-size:10px;top:43%}.model-scene{width:57%}.opaque-cake .explode-hint{font-size:11px}.opaque-cake .diagram-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.model-stack,.model-layer,.model-layer-label,.model-scene{transition:none!important}}
.pantry-entry{max-width:850px;margin:0 auto 2rem}.pantry-entry>label{display:block;font-weight:600;margin-bottom:12px}.pantry-entry textarea{width:100%;font:inherit;line-height:1.65;padding:18px;border:1px solid #cbb9b0;border-radius:12px;resize:vertical;background:#fffdfa;color:#45332f}.pantry-entry>.primary{margin-top:14px}.quick-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}.quick-chips button,.pantry-clarification button{border:1px solid #cdbbb2;border-radius:22px;padding:10px 17px;background:#fffaf6;color:#543b35;font:inherit;cursor:pointer}.quick-chips button[aria-pressed=true]{background:#702c40;color:#fff;border-color:#702c40}.pantry-catalogue{max-width:880px;margin:auto;border-top:1px solid #d6c6bc;padding-top:20px}.pantry-catalogue>summary{font-weight:600;cursor:pointer;padding:14px 0}.pantry-clarification{background:#f1e5dd;padding:16px;border-radius:12px;margin-bottom:12px}.pantry-clarification button{margin:4px}.flavour-choices{max-width:850px;gap:16px}.flavour-choices button{padding:20px 28px;border-radius:14px;font-size:18px}.experimental-badge{display:inline-block;color:#713e2d;background:#f0dcc7;border:1px solid #c7a289;border-radius:8px;padding:10px 14px;font-size:14px;line-height:1.5}.recipe-cook-heading .experimental-badge{margin:12px 0}.pantry-entry details>summary{cursor:pointer}
.result-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:24px;margin:20px 0}.result-composition{background:#f4eae2;border-radius:14px;padding:24px}.result-composition h3{font-size:28px}.result-composition p{font-size:14px;line-height:1.8}.result-layout .opaque-cake{margin:0;width:100%}.opaque-cake .explode-control{background:transparent!important;box-shadow:none;border:0;width:100%;min-height:0}.opaque-cake .model-scene{transform:none!important}.recipe-layer-overview .opaque-cake{margin:0}.recipe-layer-overview{align-items:center}.opaque-cake .diagram-note{line-height:1.55}.model-layer-label{font-weight:500}
@media(max-width:800px){.result-layout{grid-template-columns:1fr}.result-composition{padding:18px}}
.experimental-suggestion{border:1px solid #ba8c73;background:#f5e8db}.experimental-suggestion h4{margin:12px 0 0}.experimental-suggestion .journey-recipe-copy{padding:28px}
.journey-heading h1:focus{outline:none}
.pastry-cake{padding:26px 22px 20px;background:radial-gradient(ellipse at 40% 36%,#fffaf0 0,#f1e4d6 78%);border:1px solid #e1d0bf;border-radius:16px;overflow:hidden;max-width:780px!important;width:100%;margin:24px auto;color:#594035}
.pastry-cake .diagram-caption{font-size:13px;letter-spacing:.03em;color:#76584c;margin-bottom:18px}.pastry-cake .explode-control{background:transparent!important;padding:0;border:0;box-shadow:none;width:100%;min-height:0;cursor:pointer}.pastry-cake .explode-control:focus-visible{outline:2px solid #7b3449;outline-offset:6px;border-radius:8px}
.pastry-scene{--gap:0;display:block;container-type:inline-size;width:62%;max-width:400px;margin-left:0}.pastry-stack{display:block;position:relative;height:calc((var(--stack-height) + (var(--count) - 1)*var(--gap))*100cqw/410);transition:height .85s cubic-bezier(.22,.8,.28,1)}
.pastry-layer{position:absolute;display:block;width:100%;aspect-ratio:410/150;left:0;bottom:calc((var(--y) + var(--i)*var(--gap))*100cqw/410);transition:bottom .85s cubic-bezier(.22,.8,.28,1);pointer-events:none;opacity:1}.pastry-layer-art{display:block;width:100%;height:100%;overflow:visible}
.pastry-label{position:absolute;left:102%;top:48%;width:59%;padding-left:15px;text-align:left;color:#654439;font-size:clamp(11px,3.6cqw,14px);line-height:1.35;opacity:0;transition:opacity .25s;max-height:5.4em;overflow:hidden}.pastry-label:before{content:'';position:absolute;left:-12px;top:8px;width:21px;border-top:1px solid #b58a71}.pastry-label b{display:block;color:#9b7663;font-size:.85em;margin-bottom:3px;font-weight:500}
.pastry-cake .explode-control[aria-expanded=true] .pastry-scene{--gap:90}.pastry-cake .explode-control[aria-expanded=true] .pastry-label{opacity:1}.pastry-cake .explode-hint{color:#743347;font-size:13px;margin-top:18px}.pastry-cake .diagram-note{color:#856f60;font-size:12px;line-height:1.5;margin:12px auto 0;max-width:46ch}.result-layout .pastry-cake{margin:0}.pastry-cake .pastry-stack:empty{min-height:80px}
@media(max-width:600px){.pastry-cake{padding:20px 10px}.pastry-scene{width:59%}.pastry-label{width:66%;font-size:11px;padding-left:10px}.pastry-cake .explode-control[aria-expanded=true] .pastry-scene{--gap:110}.pastry-cake .diagram-caption{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.pastry-stack,.pastry-layer,.pastry-label{transition:none!important}}
.all-flavours{max-width:850px;margin:22px 0;border-top:1px solid #d9c8ba;border-bottom:1px solid #d9c8ba;padding:15px 0}.all-flavours summary{cursor:pointer;font-weight:600;color:#702d42}.all-flavours label{display:block;margin:20px 0 12px}.all-flavours input{display:block;width:min(100%,420px);padding:11px 14px;margin-top:8px;border:1px solid #cdb9ac;border-radius:8px;font:inherit}.all-flavour-chips{max-height:330px;overflow-y:auto;padding:3px}.recipe-variant-picker{display:block;font-size:13px;color:#745546;margin:14px 0}.recipe-variant-picker select{display:block;width:100%;font:inherit;background:#fffaf3;border:1px solid #d3bfb0;border-radius:7px;padding:10px;margin-top:7px;color:#593d34}
.flavour-choices,.all-flavour-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;max-width:850px}
.quick-chips button[data-flavour]{display:flex;align-items:center;gap:10px;position:relative;min-width:0;min-height:68px;padding:8px 12px 8px 8px;border-radius:12px;text-align:left;font-size:15px;line-height:1.3;transition:border-color .18s,background-color .18s}
.flavour-photo{display:block;flex:0 0 50px;width:50px;height:50px;border-radius:9px;background-color:#f5eddf;background-repeat:no-repeat}
.flavour-name{overflow-wrap:anywhere}
.quick-chips button[data-flavour][aria-pressed=true]{box-shadow:0 0 0 1px #702c40}
.quick-chips button[data-flavour][aria-pressed=true]:after{content:'';position:absolute;right:5px;top:5px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.quick-chips button[data-flavour]:focus-visible{outline:3px solid #ad7b64;outline-offset:3px}
@media(hover:hover){.quick-chips button[data-flavour]:not([aria-pressed=true]):hover{background:#f2e6dc;border-color:#9e6974}}
@media(max-width:480px){.flavour-choices,.all-flavour-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-chips button[data-flavour]{padding:6px;gap:7px;min-height:60px;font-size:14px}.flavour-photo{width:43px;height:43px;flex-basis:43px}}
@media(prefers-reduced-motion:reduce){.quick-chips button[data-flavour]{transition:none}}
