    :root{color-scheme:dark;--ink:#f6efff;--muted:#b3a5c0;--violet:#c2a0f3;--button:#8048c5;--line:#32223e}
    *{box-sizing:border-box}
    body{margin:0;min-height:100svh;background:#0d0912;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
    body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 20%,#6722a12c,transparent 53%),radial-gradient(ellipse at 0% 85%,#4b206825,transparent 48%)}
    .page{position:relative;max-width:510px;margin:auto;min-height:100svh;padding:calc(23px + env(safe-area-inset-top)) 27px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
    header,footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .wordmark{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-style:italic;letter-spacing:-1.5px}
    .private{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.9px;color:var(--muted)}
    .private svg{width:12px;height:12px}
    main{flex:1;display:flex;align-items:center;justify-content:center;padding:27px 0 22px}
    .panel{width:100%;text-align:center}
    .portrait{position:relative;width:172px;height:202px;padding:5px;margin:0 auto 23px;border:1px solid #8660ac6b;border-radius:86px 86px 25px 25px;background:#ffffff03;box-shadow:0 0 55px #7e39b822,0 12px 32px #0005}
    .portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:80px 80px 20px 20px}
    .photo-heart{position:absolute;right:-8px;bottom:15px;background:#21132d;color:#d0acff;border:1px solid #79539766;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:19px;transform:rotate(12deg)}
    .eyebrow{font-size:9px;letter-spacing:2.9px;font-weight:500;color:var(--violet);margin:0 0 15px}
    h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(49px,13vw,60px);font-weight:400;line-height:1;letter-spacing:-2.5px;margin:0}
    h1 em{font-weight:400;color:var(--violet)}
    .description{font-size:14px;line-height:1.7;color:var(--muted);margin:18px auto 23px;max-width:280px}
    .actions{max-width:322px;margin:auto}
    button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
    .primary{width:100%;min-height:56px;background:var(--button);color:#fff;border:1px solid #b783f454;border-radius:99px;display:flex;align-items:center;justify-content:center;gap:32px;font-size:14px;letter-spacing:.2px;box-shadow:0 7px 28px #733ba526;transition:background .18s,transform .18s}
    .primary:hover{background:#7040af}
    .primary:active{transform:scale(.985)}
    .primary svg{width:17px;height:17px}
    .destination{margin:11px 0 0;font-size:10px;color:var(--muted);letter-spacing:.4px}
    .rule{width:32px;height:1px;background:#664775;margin:22px auto 14px}
    .age-note{font-size:10px;line-height:1.7;color:#a193af;max-width:250px;margin:0 auto}
    .age-note strong{font-weight:600}
    .leave,.back{border:0;background:transparent;color:var(--muted);font-size:10px;min-height:38px;padding:9px 15px;text-decoration:underline;text-decoration-color:#80688e;text-underline-offset:3px}
    footer{border-top:1px solid var(--line);padding-top:15px;font-size:9px;color:var(--muted);letter-spacing:.5px}
    footer .heart{font-size:15px;color:var(--violet)}
    [hidden]{display:none!important}
    #arrival h1,#leave h1{font-size:54px}
    button:focus-visible,.panel:focus-visible{outline:2px solid var(--violet);outline-offset:6px}
    @media(max-width:350px){.page{padding-left:20px;padding-right:20px}.portrait{width:150px;height:175px;margin-bottom:20px}h1{font-size:49px}main{padding:24px 0 18px}footer{letter-spacing:0}}
    @media(min-width:700px){.page{padding-top:34px;padding-bottom:27px}.portrait{width:185px;height:218px;margin-bottom:27px}main{padding:35px 0}}
    @media(prefers-reduced-motion:reduce){.primary{transition:none}}
