/* Full-screen original art, independent from the scaled cooking workbench. */
#modal.ending-modal{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:#172735;color:#fff5df;overflow:hidden;box-shadow:none}
#modal.ending-modal .modal-heading{display:none}
#modal.ending-modal #modal-content{padding:0;height:100%;max-height:none;overflow:hidden}
.ending-scene{position:relative;width:100%;height:100%;background-image:linear-gradient(90deg,transparent 38%,#12202b55 55%,#0f1b27a8 100%),var(--ending-art);background-size:cover;background-position:center;animation:ending-reveal .6s ease-out both;isolation:isolate}
.ending-brand{position:absolute;left:max(4vw,env(safe-area-inset-left));top:max(22px,env(safe-area-inset-top));font-size:25px;font-weight:800;color:#ffe3a3;text-shadow:0 2px 8px #0009}
.ending-brand span{display:block;font-size:12px;letter-spacing:2px;margin-top:6px;color:#f9ead5}
.ending-copy{position:absolute;left:56%;right:max(4vw,env(safe-area-inset-right));top:50%;transform:translateY(-50%);max-height:calc(100% - 112px);overflow:auto;scrollbar-width:thin}
.ending-eyebrow{font-size:14px;letter-spacing:4px;color:#eed397;margin-bottom:15px}
.ending-copy h1{font-size:clamp(27px,3vw,44px);line-height:1.25;margin:0 0 22px;color:#ffe4ad;font-weight:800;text-wrap:balance}
.ending-story{font-size:clamp(17px,1.5vw,22px);line-height:1.85;color:#fff6e8;text-shadow:0 1px 4px #10202c}
.ending-story p{margin:0 0 16px}
.ending-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;color:#d6e2e5;font-size:15px}
.ending-facts b{color:#fff5dd;font-size:21px;font-variant-numeric:tabular-nums}
.ending-actions{display:flex;gap:12px}
.ending-actions button{border:1px solid #e9d6aa77;border-radius:16px;min-height:48px;padding:12px 22px;background:#1d334bcc;color:#f9ebd2;font-size:19px;font-weight:700;cursor:pointer;box-shadow:0 3px 0 #09141d66}
.ending-actions .ending-primary{background:#f2d79b;color:#3b3021;border-color:#ffe4ac;flex:1}
.ending-actions button:hover{filter:brightness(1.1)}
.ending-actions button:active{transform:translateY(2px)}
.ending-ledger{display:block;background:transparent;border:0;color:#d3dce0;font-size:14px;padding:12px 0;margin-top:5px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ending-sound{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(4vw,env(safe-area-inset-right));border:1px solid #d9e4e344;border-radius:22px;background:#15293acc;color:#f5e7cc;padding:10px 16px;font-size:14px;min-height:44px;z-index:1}
.ending-preview{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:12px}
.ending-preview a{color:#dfd2b5;font-size:13px;min-height:28px;display:inline-flex;align-items:center}
.failure .ending-copy h1{color:#d9e6ec}.failure .ending-eyebrow{color:#becfdc}.failure .ending-story p:last-child{color:#f2d9ab}
@keyframes ending-reveal{from{opacity:0}to{opacity:1}}
@media (max-height:500px) and (orientation:landscape){
 .ending-brand{font-size:19px;top:16px}.ending-brand span{font-size:10px}
 .ending-sound{top:8px;min-height:40px;padding:6px 12px}
 .ending-copy{left:51%;right:max(3vw,env(safe-area-inset-right));max-height:calc(100% - 64px);top:calc(50% + 13px)}
 .ending-eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:7px}
 .ending-copy h1{font-size:27px;margin-bottom:12px}
 .ending-story{font-size:16px;line-height:1.6}.ending-story p{margin-bottom:9px}
 .ending-facts{font-size:12px;gap:6px 14px;margin:10px 0}.ending-facts b{font-size:18px}
 .ending-actions button{font-size:16px;min-height:44px;padding:7px 15px;border-radius:12px}
 .ending-ledger{font-size:12px;padding:6px 0;margin:0;min-height:30px}
 .ending-preview{margin-top:5px;gap:0 12px}.ending-preview a{font-size:12px}
}
@media (orientation:portrait){.ending-scene{background-position:30% center}.ending-copy{left:6%;right:6%;top:auto;bottom:5%;transform:none;max-height:70%;padding:20px;background:#122331e8;border-radius:18px}.ending-story{font-size:17px}.ending-brand span{display:none}.ending-copy h1{font-size:28px}}
@media (prefers-reduced-motion:reduce){.ending-scene{animation:none}}
/* Override shared dialog paragraph sizing; reserve action space on small phones. */
#modal.ending-modal .ending-story p{font-size:inherit;line-height:inherit;font-weight:400;color:inherit}
#modal.ending-modal .failure .ending-story p:last-child{color:#f2d9ab}
@media (max-height:500px) and (orientation:landscape){
 .ending-copy{left:49%;top:52px;bottom:10px;transform:none;max-height:none;display:flex;flex-direction:column;overflow:hidden}
 .ending-eyebrow,.ending-copy h1,.ending-facts,.ending-actions,.ending-ledger,.ending-preview{flex-shrink:0}
 .ending-copy h1{margin-bottom:9px;font-size:26px}
 .ending-story{min-height:0;overflow:auto;overscroll-behavior:contain;line-height:1.5;scrollbar-width:thin}
 .ending-facts{margin:8px 0}.ending-eyebrow{margin-bottom:5px}
 .ending-preview{margin-top:3px}
 .failure .ending-copy{justify-content:center}
}
