/* The acrylic portrait is the main visual. Keep its complete canvas visible. */
.photo-result-flow .order-layout{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(24px,4vw,58px)}
.photo-result-flow .photo-result-visuals{display:flex;flex-direction:column;gap:20px;align-items:center}
.photo-result-flow .result-portrait{width:100%;max-width:490px;margin:0;background:var(--paper);box-shadow:var(--paper-halo)}
.photo-result-flow .result-portrait>img{display:block;width:100%;height:auto;max-height:64dvh;object-fit:contain;aspect-ratio:auto;mask-image:none;mask-composite:add;border-radius:6px;box-shadow:0 4px 25px #7958330b}
.portrait-loading{position:relative;width:100%;aspect-ratio:4/5;max-height:64dvh;min-height:230px;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;box-sizing:border-box}
.portrait-loading-visual{position:absolute;inset:0 auto 0 50%;height:100%;aspect-ratio:var(--loading-art-ratio);max-width:100%;transform:translateX(-50%);overflow:hidden;pointer-events:none;mix-blend-mode:multiply;--loading-edge-mask:linear-gradient(90deg,transparent,#0004 2%,#000 8%,#000 92%,#0004 98%,transparent),linear-gradient(180deg,transparent,#0004 2%,#000 8%,#000 92%,#0004 98%,transparent);-webkit-mask-image:var(--loading-edge-mask);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-image:var(--loading-edge-mask);mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:intersect}
.portrait-loading .art.portrait-loading-art{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;mask-image:none;mix-blend-mode:normal;opacity:.85}
.portrait-loading-visual::after{content:'';position:absolute;z-index:1;inset:-25% auto -25% 0;width:60%;pointer-events:none;background:linear-gradient(90deg,transparent,#fff8ed18 20%,#fffdf3a6 50%,#fff8ed18 80%,transparent);transform:translateX(-190%) skewX(-18deg);animation:portrait-sheen 3s ease-in-out infinite}
.portrait-loading-caption{position:absolute;z-index:2;inset:auto 18px 25px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#66452c;font:italic clamp(24px,2.8vw,32px)/1.2 var(--serif);text-shadow:0 1px 12px #fff8ed}
.portrait-loading-mark{display:flex;align-items:center;gap:13px;color:#a57b4b;font:20px/1 var(--serif)}
.portrait-loading-mark::before,.portrait-loading-mark::after{content:'';width:30px;height:1px;background:currentColor;opacity:.45}
@keyframes portrait-sheen{0%,12%{transform:translateX(-190%) skewX(-18deg);opacity:0}22%{opacity:1}65%{transform:translateX(300%) skewX(-18deg);opacity:1}75%,100%{transform:translateX(300%) skewX(-18deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.portrait-loading-visual::after{animation:none;opacity:0}}
.portrait-unavailable{display:grid;align-content:center;gap:17px;min-height:250px;padding:28px;color:var(--muted)}
.portrait-unavailable p{font:22px/1.4 var(--serif);margin:0}
.portrait-unavailable>small{font-size:12px;line-height:1.6}.portrait-recovery{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.portrait-recovery>small{font-size:11px;line-height:1.6;color:var(--muted)}.portrait-retry{font-size:13px;min-height:44px;padding:12px 18px}.portrait-photo-label{font-size:14px;cursor:pointer}
.portrait-recovery .photo-file-input{inset:auto;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;pointer-events:none}.portrait-recovery .photo-file-input:focus-visible+label{outline:2px solid var(--accent);outline-offset:4px}
.portrait-photo-preview{width:100%;padding:8px;background:var(--paper);border-radius:8px;box-sizing:border-box}.portrait-photo-preview .uploaded-photo{position:static;display:block;width:100%;height:auto;max-height:38dvh;object-fit:contain;mask-image:none}
.live-story-status{font-size:11px!important;line-height:1.5!important;color:#977452!important;margin:14px 0!important}
.live-generation-phases{display:flex;gap:16px;list-style:none;padding:0;margin:20px 0 12px;color:var(--muted);background:var(--paper);box-shadow:var(--paper-halo)}
.live-generation-phases li{display:flex;gap:7px;align-items:center;flex:1;font-size:11px;line-height:1.4}
.live-generation-phases li>span{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid #dac9b5;border-radius:50%;font-variant-numeric:tabular-nums}
.live-generation-phases .active{color:var(--espresso)}.live-generation-phases .active>span{border-color:#9c744b;background:#f0e3d0}
.live-generation-phases .complete{color:#657647}
.live-generation-timing{font-size:12px!important;line-height:1.5!important;margin:14px 0!important;color:var(--muted)}
.live-generation-timing time{font-variant-numeric:tabular-nums;color:var(--espresso);margin-left:5px}
.live-generation-help{font-size:13px!important;line-height:1.6!important;margin:12px 0 20px!important;color:var(--muted)}
.story-stream-flow .fragrance-story-prose:empty{min-height:0}
@media(max-width:720px){.live-generation-phases{gap:8px}.live-generation-phases li{font-size:10px;gap:5px;align-items:flex-start}.live-generation-phases li>span{flex-basis:18px;height:18px}}
.generation-failure{max-width:640px;margin:20px auto;padding:22px 26px;border:1px solid #ba927754;border-radius:14px;background:var(--paper);box-shadow:var(--paper-halo);color:var(--exclude);text-align:center}
.generation-failure p{font-size:16px!important;line-height:1.6!important;margin:0!important}.generation-failure small{display:block;margin-top:12px;font-size:12px;line-height:1.6;color:var(--muted)}
.generation-failed .question-heading{margin-top:clamp(30px,10dvh,90px)}.generation-failed .flow-actions{margin-top:28px}
.fragrance-story{margin:15px 0 24px;background:var(--paper);box-shadow:var(--paper-halo)}
.fragrance-story-section{padding:17px 0;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:var(--paper-halo)}.fragrance-story-section:first-child{padding-top:8px}.fragrance-story-section:last-of-type{border-bottom:0}
.photo-result-flow .fragrance-story-section h3{font:500 clamp(22px,2vw,27px)/1.2 var(--serif);letter-spacing:-.015em;color:#865e3c;margin:0 0 11px}
.fragrance-story-section p+p{margin-top:11px}.story-signature{margin-top:20px}
.story-stream-flow .fragrance-story-prose{min-height:140px}
.photo-result-flow .photo-result-visuals .product-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;max-width:490px;margin:0}
.photo-result-flow .photo-result-visuals .product-visual{width:100%;max-width:460px;flex:0 0 auto;margin:0}
.photo-result-flow .photo-result-visuals .product-caption{display:flex;flex-direction:column;gap:5px;width:100%;border:0;padding:0;margin:0;text-align:center;font-size:13px;line-height:1.5;min-width:0}
.photo-result-flow .product-name{font-size:clamp(14px,2vw,22px)}.photo-result-flow .product-name small{font-size:8px;margin-bottom:4px}
.photo-result-flow .order-description h2{font-size:clamp(34px,3.3vw,48px);line-height:1.02;letter-spacing:-.02em;margin:0 0 7px;text-wrap:balance;overflow-wrap:anywhere}
.photo-result-flow .order-description .fragrance-translation{font:italic 20px/1.35 var(--serif);color:#977452;margin:0 0 13px}
.fragrance-identity{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;color:#765b42;font-size:11px;line-height:1.5;margin-bottom:13px}
.fragrance-identity span+span{border-left:1px solid var(--line);padding-left:12px}
.photo-result-flow .order-description .fragrance-summary{font-size:14px;line-height:1.65;margin-bottom:22px}
.aura-palette{padding:16px 0;border-block:1px solid var(--line);background:var(--paper);box-shadow:var(--paper-halo)}
.aura-palette>h3{font:24px/1.15 var(--serif);margin:0 0 17px}
.aura-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.aura-color{min-width:0;overflow-wrap:anywhere}
.aura-swatch{position:relative;display:block;width:38px;height:38px;border-radius:48% 52% 57% 43% / 45% 59% 41% 55%;background:radial-gradient(ellipse at 29% 25%,#faf3e84a,transparent 72%),var(--aura-color);box-shadow:inset 0 0 8px 2px #faf3e85c;margin-bottom:9px}
.aura-swatch::after{content:'';position:absolute;inset:-3px;border-radius:51% 49% 42% 58%;border:2px solid var(--aura-color);opacity:.12;transform:rotate(13deg)}
.aura-color h4{font:19px/1.1 var(--serif);margin:0 0 7px}
.aura-color p{font-size:11px!important;line-height:1.5!important;margin:0 0 8px;color:var(--muted)}
.aura-color small{display:block;font-size:10px;line-height:1.45;color:#956e47}
.fragrance-pyramid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 4px}
.pyramid-layer{min-width:0}
.pyramid-layer h4{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#977452;margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.pyramid-layer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.pyramid-layer li{display:flex;align-items:center;gap:6px;min-width:0}
.pyramid-layer .art{width:28px;height:34px;flex:0 0 28px;aspect-ratio:auto;object-fit:contain;mix-blend-mode:multiply}
.pyramid-layer li>div{min-width:0}
.pyramid-layer li span{display:block;font:17px/1.1 var(--serif);overflow-wrap:anywhere}
.pyramid-layer li small{display:block;font-size:9px;line-height:1.35;color:#93704f;margin-top:4px}
.pyramid-layer li.pyramid-empty{font:italic 14px/1.35 var(--serif);color:var(--muted)}
.fragrance-details{margin-top:15px;border-top:1px solid var(--line);padding:13px 0 0}
.fragrance-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font:24px/1.2 var(--serif);cursor:pointer;list-style:none}
.fragrance-details summary::-webkit-details-marker{display:none}
.fragrance-details summary>span{font:18px/1 var(--sans);color:var(--bronze);transition:transform .2s}
.fragrance-details[open] summary>span{transform:rotate(45deg)}
.fragrance-story-prose{padding-top:12px}
.fragrance-story-prose p{font-size:14px!important;line-height:1.8!important;margin:0 0 14px}
.fragrance-story-prose .story-signature{font:15px/1.4 var(--serif)!important;letter-spacing:.14em;color:#806040;margin:24px 0 9px}
.fragrance-profile{display:grid;gap:12px;margin:19px 0 13px}
.profile-row{display:grid;grid-template-columns:minmax(85px,1fr) minmax(80px,1.6fr) 28px;align-items:center;gap:13px;font-size:12px;color:#755d48}
.profile-row small{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}
.profile-row meter{display:block;width:100%;height:5px;appearance:none;border:0;border-radius:5px;background:#e8d9c8}
.profile-row meter::-webkit-meter-bar{height:5px;border:0;border-radius:5px;background:#e8d9c8}
.profile-row meter::-webkit-meter-optimum-value{border-radius:5px;background:#a17a50}
.profile-row meter::-moz-meter-bar{border-radius:5px;background:#a17a50}
.profile-caption{font-size:10px!important;line-height:1.45!important;margin:12px 0 0}
.photo-result-flow .recipe-details summary{font-size:24px}
@media(max-width:1000px) and (min-width:721px){
  .photo-result-flow .order-layout{gap:24px}
  .aura-colors{gap:10px}.aura-color h4{font-size:17px}
  .pyramid-layer .art{width:23px;flex-basis:23px;height:30px}
  .pyramid-layer li{gap:4px}.pyramid-layer li span{font-size:15px}
}
@media(max-width:720px){
  .photo-result-flow .order-layout{display:flex;gap:28px;margin-top:15px}
  .story-first-result .order-description{order:0}.story-first-result .photo-result-visuals{order:1}
  .photo-result-flow .photo-result-visuals{width:100%;gap:12px}
  .photo-result-flow .result-portrait{max-width:420px}
  .photo-result-flow .result-portrait>img{width:100%;height:auto;max-height:58dvh;aspect-ratio:auto;object-fit:contain}
  .photo-result-flow .portrait-loading{max-height:58dvh}
  .photo-result-flow .photo-result-visuals .product-preview{max-width:420px;gap:12px}
  .photo-result-flow .photo-result-visuals .product-visual{width:100%;max-width:380px;flex-basis:auto}
  .photo-result-flow .photo-result-visuals .product-caption{font-size:12px}
  .photo-result-flow .product-name{font-size:clamp(15px,4.2vw,21px)}.photo-result-flow .product-name small{font-size:8px}
  .photo-result-flow .order-description h2{font-size:39px}
  .photo-result-flow .order-description .fragrance-summary{font-size:14px;line-height:1.7}
  .aura-colors{gap:12px}.aura-color h4{font-size:18px}.aura-color p{font-size:11px!important}
  .fragrance-pyramid{gap:10px}.pyramid-layer .art{width:24px;height:30px;flex-basis:24px}
  .pyramid-layer li{gap:4px}.pyramid-layer li span{font-size:16px}
  .fragrance-details summary,.photo-result-flow .recipe-details summary{font-size:24px}
}
@media(max-width:360px){
  .aura-colors{gap:9px}.aura-color h4{font-size:16px}
  .fragrance-pyramid{gap:7px}.pyramid-layer li{align-items:flex-start;flex-direction:column;gap:3px}
}
@media print{
  .photo-result-flow .result-portrait>img{max-height:none}
  .fragrance-story-prose,.fragrance-profile{break-inside:avoid}
}
