/* Only the two new post-session states. Approved scenes retain their own CSS. */
[data-app-state="session_ending"] .landing,[data-app-state="session_result"] .landing{visibility:hidden;pointer-events:none}
:is([data-app-state="session_ending"],[data-app-state="session_result"]) .landing *,:is([data-app-state="session_ending"],[data-app-state="session_result"]) .landing *::before,:is([data-app-state="session_ending"],[data-app-state="session_result"]) .landing *::after{animation:none!important}
.result-screen[hidden],.result-screen [hidden]{display:none!important}
.result-screen{position:fixed;inset:0;z-index:21;overflow:auto;overscroll-behavior:contain;isolation:isolate;background:#040c12;color:#f4f1ed;font:500 16px/1.4 Nunito,Arial,sans-serif;padding:calc(12px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));scrollbar-width:thin}
.result-content{position:relative;z-index:1;width:min(100%,440px);margin:0 auto;text-align:center;container-type:inline-size}
.result-room{position:fixed;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,#76461320,transparent 48%),linear-gradient(90deg,#11151888,transparent 22% 78%,#17171266),#040c12}
.result-room::before,.result-room::after{content:"";position:absolute;top:0;bottom:0;width:max(calc((100% - 400px)/2),55px);background:repeating-linear-gradient(0deg,transparent 0 65px,#b4936230 66px,#000 68px),repeating-linear-gradient(90deg,#28231e11 0 80px,#a0804920 81px,#0004 82px);opacity:.5;transform-origin:0 50%;transform:perspective(650px) rotateY(17deg)}
.result-room::after{right:0;transform-origin:100% 50%;transform:perspective(650px) rotateY(-17deg)}
.result-lamp{position:absolute;top:22px;width:12px;height:52px;background:linear-gradient(90deg,#19191a,#080a0c);border-bottom:3px solid #ffdc8b;border-radius:4px;box-shadow:0 18px 40px 7px #ffc65c38}.lamp-left{left:4%}.lamp-right{right:4%}
.result-wall-note{position:absolute;left:1.5%;top:23%;width:56px;font:400 15px/1.15 Lilita,Arial,sans-serif;color:#d9bd9755;transform:rotate(-9deg);text-align:center;white-space:normal}
.result-brand img{display:block;width:60px;height:auto;margin:0 auto -8px;filter:drop-shadow(0 3px 8px #e8982830)}
.result-wordmark{font:400 clamp(40px,13cqw,56px)/1 Lilita,Arial,sans-serif;color:#fff9ff;letter-spacing:.3px;text-shadow:0 2px #baa3ea,0 0 7px #e6c5ff,0 0 22px #cdb0ff65}
.result-brand p{margin:6px 0 0;font:400 clamp(12px,3.8cqw,16px)/1.15 Lilita,Arial,sans-serif;text-shadow:0 0 8px #c2a2e977}
.result-headline{max-width:405px;margin:23px auto 15px;font:400 clamp(31px,10.6cqw,46px)/.99 Lilita,Arial,sans-serif;color:#ffda70;letter-spacing:.2px;text-wrap:balance;white-space:pre-line;transform:skewY(-3deg);text-shadow:0 2px #91612366,0 0 24px #ffc65320;outline-offset:7px}
.result-headline::after{content:"";display:block;width:58%;height:5px;margin:10px auto 0;background:linear-gradient(90deg,transparent,#ffda70 12% 82%,transparent);transform:rotate(-3deg)}
.result-distance{margin:0 0 3px;font:400 clamp(28px,8.2cqw,37px)/1.05 Lilita,Arial,sans-serif;color:#ffe499;text-shadow:0 0 12px #d2962930}
.result-places{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 0;text-transform:uppercase;font:400 clamp(12px,4cqw,17px)/1.2 Lilita,Arial,sans-serif}.result-places>span{min-width:0;max-width:44%;overflow-wrap:anywhere}.result-places>span:nth-child(2){color:#ebc663;font:500 27px/1 Nunito,Arial,sans-serif;flex-shrink:0}
.result-toilets{height:auto;aspect-ratio:600/325;position:relative;margin:6px -2% 0;isolation:isolate}
.result-person{position:absolute;bottom:0;width:28%;height:100%;filter:drop-shadow(0 -2px 11px #edac3a48)}.result-person-local{left:0}.result-person-peer{right:0}
.result-toilet{position:absolute;width:100%;height:100%;object-fit:contain;bottom:0;left:0}.result-character{position:absolute;left:12%;top:28%;width:76%;height:auto;filter:drop-shadow(0 3px 2px #0006)}.result-person-peer .result-character{filter:grayscale(.9) brightness(.78) drop-shadow(0 3px 2px #0006)}
.result-heart{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.result-heart path{fill:none;stroke:#fff1ad;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px #ffb538)}.result-heart .heart-halo{stroke:#eaa239;stroke-width:10;opacity:.22;filter:blur(6px)}
.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 8px 0;padding:0}.result-stats>div{padding:0 8px}.result-stats>div+div{border-left:1px solid #b9a68b40}.result-stats svg{display:block;width:23px;height:23px;margin:0 auto 5px}.result-stats dd{margin:0;font:400 25px/1.1 Lilita,Arial,sans-serif}.result-stats dt{font:500 10px/1.2 Nunito,Arial,sans-serif;letter-spacing:.2px;margin:6px auto 0;max-width:92px;color:#c4c4c6}
.result-memory{margin:19px 0 18px;color:#d8d8dc;font-size:clamp(14px,4.2cqw,18px);line-height:1.5}.result-memory p{margin:0}.result-memory p:last-child{color:#f2ebd9}
.result-share{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:67px;border:1px solid #ffe594;border-radius:999px;background:linear-gradient(#ffe473,#ffca40 70%,#ffc133);box-shadow:0 4px 0 #b9631644,0 8px 30px #ed8d1238,inset 0 1px 2px #fff6c1;color:#101618;padding:13px 20px;cursor:pointer;touch-action:manipulation;transition:transform .14s,box-shadow .14s}
.result-share strong{display:block;font:400 clamp(21px,6.4cqw,28px)/1 Lilita,Arial,sans-serif}.result-share small{display:block;font:500 10px/1.3 Nunito,Arial,sans-serif;margin-top:5px}.result-share svg{width:25px;height:25px;flex-shrink:0}.result-share:active{transform:scale(.97);box-shadow:0 2px 0 #b9631622,0 4px 16px #ed8d1220}.result-share:disabled{cursor:wait}.result-share[aria-busy="true"] svg{animation:result-share-breathe 1s ease-in-out infinite}
.result-again,.result-copy{background:none;border:0;color:#e3d9c4;text-decoration:underline;text-underline-offset:4px;font:500 14px/1.4 Nunito,Arial,sans-serif;min-height:44px;padding:10px 12px;cursor:pointer}.result-again{margin-top:4px}.result-promise{font:500 10px/1.4 Nunito,Arial,sans-serif;color:#a1a4b0;margin:2px 0 0}
.result-share-status{font-size:13px;margin:10px 0 0;color:#e4d1ab}.result-share-status:empty{display:none}.result-fallback{display:flex;justify-content:center;gap:16px;align-items:center}.result-save{color:#ffe296;min-height:44px;padding:12px 0;font-size:14px}.result-screen :is(button,a):focus-visible{outline:3px solid #fff4bc;outline-offset:5px}.result-headline:focus{outline:none}
.result-plant{position:absolute;bottom:8%;left:-23px;width:75px;height:230px;transform:rotate(5deg);opacity:.5}.result-plant::before{content:"";position:absolute;left:38px;bottom:0;height:95%;width:3px;background:#566027;transform:rotate(7deg)}.result-plant i{position:absolute;width:42px;height:85px;left:7px;bottom:20%;border-radius:0 100% 0 100%;background:linear-gradient(70deg,#0b1b13,#4a5e29 60%,#777738);transform:rotate(-15deg)}.result-plant i:nth-child(2){left:36px;bottom:38%;transform:rotate(80deg)}.result-plant i:nth-child(3){bottom:55%;transform:rotate(-28deg)}.result-plant i:nth-child(4){left:45px;bottom:68%;transform:rotate(79deg)}.result-plant i:nth-child(5){bottom:80%;left:25px;width:32px;height:68px}
@keyframes result-share-breathe{50%{opacity:.45;transform:translateY(-2px)}}
[data-paused="true"] .result-screen *{animation-play-state:paused!important}
@media(min-width:700px){.result-screen{padding-top:22px}.result-room::before,.result-room::after{width:calc((100% - 500px)/2)}.result-wall-note{left:calc(50% - 320px);font-size:25px;width:90px}.result-plant{left:calc(50% - 310px);opacity:.6}}
/* Fit the live screen to browser chrome + safe areas. The exported Story keeps 9:16.
   Only the artwork yields space; text and touch targets remain readable. Overflow
   remains available for enlarged accessibility text and unusually short screens. */
.result-screen{height:100dvh;padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.result-content{height:100%;max-height:900px;display:flex;flex-direction:column;align-items:stretch;gap:clamp(2px,.45dvh,5px)}
.result-content>*{flex-shrink:0}
.result-brand img{width:clamp(34px,5.6dvh,50px);margin-bottom:-7px}
.result-wordmark{font-size:clamp(36px,min(12cqw,5.2dvh),50px)}
.result-brand p{margin-top:4px;font-size:clamp(12px,3.6cqw,15px)}
.result-headline{margin:clamp(4px,.7dvh,8px) auto 3px;font-size:clamp(27px,min(10cqw,4.3dvh),42px)}
.result-headline::after{height:3px;margin-top:7px}
.result-distance{font-size:clamp(26px,min(8cqw,3.7dvh),34px)}
.result-places{margin-top:1px;font-size:clamp(12px,3.8cqw,16px)}
.result-local,.result-peer{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.result-place-label{min-width:0}
.result-flag{display:block;flex:0 0 28px;width:28px;height:21px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #ffe3a640,0 2px 5px #0006}
.result-toilets{flex:1 0 75px;min-height:75px;max-height:205px;aspect-ratio:auto;margin:0;container-type:size}
.result-person{width:auto;aspect-ratio:296/540}.result-person-local{left:max(3%,calc(50% - 80cqh))}.result-person-peer{right:max(3%,calc(50% - 80cqh))}
.result-stats{margin:0 6px}.result-stats svg{width:20px;height:20px;margin-bottom:3px}.result-stats dd{font-size:23px}.result-stats dt{margin-top:4px;min-height:24px}
.result-memory{margin:clamp(3px,.5dvh,7px) 0;font-size:clamp(14px,4cqw,16px);line-height:1.35}
.result-share{min-height:60px;padding:10px 16px}.result-share strong{font-size:clamp(21px,6.2cqw,26px)}
.result-share-status,.result-share-status:empty{display:block;min-height:18px;margin:0;font-size:12px;line-height:1.3}
.result-again{margin:0;min-height:44px;padding:8px 12px}.result-promise{margin:0}
.result-share-dialog{width:min(90vw,380px);max-height:85dvh;overflow:auto;padding:24px;border:1px solid #9b83504d;border-radius:24px;background:#0b1520;color:#f4f1ed;font-family:Nunito,Arial,sans-serif;box-shadow:0 18px 80px #0009}
.result-share-dialog::backdrop{background:#02070cc9}
.result-share-dialog h2{margin:0 0 10px;font:400 26px/1.1 Lilita,Arial,sans-serif;color:#ffe08a}
.result-share-dialog p{font-size:14px;color:#c4c4c6}
.result-share-dialog :is(button,a):not([hidden]){display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:8px 0;padding:10px;border:1px solid #8f7b534d;border-radius:14px;background:#15212d;color:#fff0bd;font:500 14px/1.4 Nunito,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.result-share-dialog a.result-whatsapp{background:#ffcf56;color:#141914;border-color:#ffe495}
.result-share-dialog button.result-dialog-close{background:transparent;border-color:transparent;color:#c4c4c6;text-decoration:underline}
.result-dialog-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.result-share{transition:none}.result-share[aria-busy="true"] svg{animation:none}}
