/* Edge-to-edge hatching. Native dialog owns focus, Escape and page isolation. */
.arrival-ceremony{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#000;color:var(--ink);overflow:auto;overscroll-behavior:contain}
.arrival-ceremony::backdrop{background:#000}
body:has(.arrival-ceremony[open]){overflow:hidden}
.arrival-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.arrival-inner{position:relative;min-height:100%;padding:28px 40px 32px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.arrival-top{display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:1}
.arrival-top>.meta{color:#8d8f9b;font-size:10px;letter-spacing:.12em}
.arrival-top-actions{display:flex;gap:24px;pointer-events:auto}
.arrival-top button,.arrival-controls>button:not(.btn){min-height:44px;padding:10px 6px;color:#a6a6af;font-family:var(--mono);font-size:11px;border-bottom:1px solid transparent}
.arrival-top button:hover,.arrival-controls>button:not(.btn):hover{color:var(--ink);border-color:var(--line-2)}
.arrival-intro{position:absolute;top:64%;left:20px;right:20px;text-align:center;max-width:900px;margin:0 auto;opacity:0;transform:translateY(8px);transition:opacity 260ms var(--ease-out,cubic-bezier(.23,1,.32,1)),transform 260ms var(--ease-out,cubic-bezier(.23,1,.32,1))}
.arrival-ceremony[data-revealed] .arrival-intro{position:relative;top:auto;left:auto;right:auto;width:100%;margin:auto auto 28px;opacity:1;transform:translateY(0)}
.arrival-intro>.meta{font-size:9px;color:#868690;letter-spacing:.15em}
.arrival-intro h1{font-family:var(--pixel);font-size:clamp(22px,3.4vw,40px);font-weight:400;line-height:1.24;letter-spacing:.025em;margin:12px 0 14px;overflow-wrap:anywhere;text-wrap:balance}
.arrival-intro>p:last-child{font-size:16px;color:#a4a4ad;line-height:1.5}
.arrival-bottom{position:relative;text-align:center;margin:0 auto;max-width:740px;width:100%;z-index:1}
.arrival-caption{font-family:var(--mono);font-size:11px;color:#a1a1ae;line-height:1.6;min-height:24px;margin:0 0 14px}
.arrival-controls{min-height:44px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;pointer-events:auto}
.arrival-controls .btn{min-height:44px;background:#0d0e12}
.arrival-export-status{font-family:var(--mono);font-size:10px;color:var(--ink-3);line-height:1.65;min-height:34px;margin-top:12px}
.arrival-export-status:empty{visibility:hidden}
.arrival-ceremony [hidden]{display:none!important}
@media(max-width:600px){.arrival-inner{padding:12px 18px 24px}.arrival-top>.meta{font-size:8px;letter-spacing:.07em;max-width:120px;line-height:1.6}.arrival-top-actions{gap:10px}.arrival-top button{font-size:10px}.arrival-intro{top:62%;left:18px;right:18px}.arrival-intro>p:last-child{font-size:13px}.arrival-intro h1{font-size:22px}.arrival-caption{font-size:10px;max-width:32ch;margin:0 auto 10px}.arrival-controls{min-height:94px;gap:6px 14px}.arrival-controls>button:not(.btn){font-size:10px}}
@media(max-height:780px){.arrival-inner{min-height:780px}.arrival-canvas{height:780px}}
@media(prefers-reduced-motion:reduce){.arrival-intro{transition:none;transform:none}}
.arrival-ceremony:not([data-revealed]) .arrival-controls,.arrival-ceremony:not([data-revealed]) .arrival-export-status{display:none}
