/* The invitation's approved scale is intentionally independent of the survey. */
.story-door{position:absolute;top:calc(var(--edge) + 51px + env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:5}
.story-invitation{display:flex;align-items:center;min-height:44px;padding:6px 7px;color:#d4d1c9;text-decoration:none;pointer-events:auto}
.story-call{display:block;font:400 12px/1.4 var(--serif);letter-spacing:0}
.story-signal{display:block;flex:none;width:2px;height:2px;border-radius:50%;background:#eed8b4;animation:story-signal-pulse 4s ease-in-out infinite}
.story-leader{display:block;flex:none;width:28px;height:1px;margin:0 7px;background:linear-gradient(90deg,#cfb38666,#cfb38633);transform:scaleY(.5)}
.story-invitation:hover .story-call{color:#eeeae2}
.story-resume{display:block;margin-top:3px;font:400 9px/1.4 var(--mono);color:var(--muted)}
.story-resume[hidden]{display:none}
@keyframes story-signal-pulse{0%,100%{opacity:.45;box-shadow:0 0 2px #e7cca322}45%{opacity:1;box-shadow:0 0 5px 1px #e7cca344}65%{opacity:.7;box-shadow:0 0 3px #e7cca322}}

#story-dialog{--story-gold:#cfb386;position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#080d13;color:#eeeae2;overflow:auto;overscroll-behavior:contain;box-shadow:none;font:400 12px/1.6 var(--mono)}
#story-dialog[open]{animation:story-enter .5s ease both}
#story-dialog::backdrop{background:#080b0e;backdrop-filter:none}
#story-dialog [hidden]{display:none!important}
#story-dialog .story-shell{position:relative;isolation:isolate;min-height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:calc(24px + env(safe-area-inset-top)) max(36px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(36px,env(safe-area-inset-left));overflow:hidden}
#story-dialog .story-shell:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 24% 30%,#8d9baa 0 .6px,transparent 1.3px),radial-gradient(circle at 81% 19%,#b0b6b9 0 .7px,transparent 1.4px),radial-gradient(circle at 94% 73%,#747e88 0 .8px,transparent 1.4px),radial-gradient(ellipse at 88% 30%,#152735 0,transparent 53%),#080d13}
#story-dialog .story-header{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px}
#story-dialog .story-brand{font:400 11px/1.5 var(--mono);letter-spacing:.07em}
#story-dialog button{min-height:44px;background:none;border:0;color:var(--muted);padding:8px 0;font:400 11px/1.5 var(--mono);cursor:pointer}
#story-dialog button:hover{color:#eeeae2}
#story-dialog .story-return{padding:8px 10px;margin-right:-10px}
#story-dialog .story-reading{width:100%;max-width:530px;margin-top:auto;padding-top:70px}
#story-dialog p.story-eyebrow{font:400 10px/1.7 var(--mono);letter-spacing:.09em;color:var(--story-gold);margin:0 0 11px}
#story-dialog h2{font:400 43px/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 27px}
#story-dialog .story-exchange{margin:0 0 16px}
#story-dialog[data-scene=true] .story-reading{max-width:760px;padding-top:36px}
#story-dialog .story-scene{margin:0 0 28px}
#story-dialog .story-scene img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}
#story-dialog .story-scene figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;align-items:center;color:var(--muted);font:400 10px/1.5 var(--mono)}
#story-dialog .story-scene a{display:inline-flex;align-items:center;min-height:44px;color:var(--story-gold);text-underline-offset:4px}
#story-dialog .story-scene a:focus-visible{outline:1px solid var(--story-gold);outline-offset:4px}
#story-dialog[data-scene=true] .story-exchanges{max-width:600px}
#story-dialog .story-speaker{display:block;font:400 10px/1.5 var(--mono);letter-spacing:.1em;color:var(--story-gold);margin:0 0 5px}
#story-dialog p.story-line{font:400 22px/1.4 var(--serif);color:#eeebe3;margin:0;white-space:pre-line}
#story-dialog .story-exchange[data-speaker=child] .story-speaker{color:#b6c6ca}
#story-dialog .story-exchange[data-speaker=child] .story-line{font-style:italic}
#story-dialog .story-actions{display:flex;align-items:center;gap:27px;margin-top:25px}
#story-dialog .story-actions button{border-bottom:1px solid #bcb6a866}
#story-dialog .story-actions button:disabled{opacity:.35;cursor:default}
#story-dialog .story-actions button:last-child{color:var(--story-gold)}
#story-dialog .story-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:25px;min-height:44px;font:400 10px/1.6 var(--mono);color:var(--muted)}
#story-dialog .story-location{margin-left:auto}
#story-dialog .story-stage{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#story-dialog .story-ship{position:absolute;left:50%;top:46%;width:min(94%,1000px);height:auto;transform:translate(-50%,-50%);transform-origin:70% 53.5%;mix-blend-mode:screen;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
#story-dialog p.story-arrival-caption{position:absolute;left:24px;right:24px;bottom:111px;text-align:center;font:400 22px/1.4 var(--serif);color:#eeeae2;margin:0}
#story-dialog .story-arrival-caption span{display:block;font:400 10px/1.8 var(--mono);letter-spacing:.08em;color:var(--story-gold);margin-bottom:10px}
#story-dialog .story-skip{margin-top:auto;align-self:flex-end}
@keyframes story-enter{from{opacity:0}to{opacity:1}}
@media(max-width:650px){.story-door{top:calc(71px + env(safe-area-inset-top))}#story-dialog .story-shell{padding:calc(19px + env(safe-area-inset-top)) max(23px,env(safe-area-inset-right)) calc(15px + env(safe-area-inset-bottom)) max(23px,env(safe-area-inset-left))}#story-dialog .story-brand{font-size:10px}#story-dialog .story-return{font-size:10px}#story-dialog h2{font-size:36px;margin-bottom:23px}#story-dialog .story-reading{padding-top:44px}#story-dialog .story-ship{width:120%;max-width:none;top:43%}#story-dialog .story-location{max-width:100%;overflow-wrap:anywhere}#story-dialog .story-footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){.story-signal{animation:none}#story-dialog[open]{animation:none}}
