@charset "UTF-8";
/* Travel stories enhance ordinary document scrolling; no scroll interception. */
 body.user-ui .journey-world { --j-accent:#beff68; --j-alt:#aa75f1; padding:100px 0 40px; color:#f8f6ee; }
 body.user-ui .journey-world.accent-pink { --j-accent:#f479ca; --j-alt:#cfff42; }
 body.user-ui .journey-world.accent-violet { --j-accent:#b193ff; --j-alt:#53f394; }
 body.user-ui .journey-heading { max-width:980px; margin:0 auto 64px; text-align:center; }
 body.user-ui .journey-heading .eyebrow { justify-content:center; color:var(--j-accent); }
 body.user-ui .journey-heading h2,body.user-ui .suitcase-section h2 { font:900 clamp(44px,7vw,94px)/.98 var(--u-display,Arial); letter-spacing:-.045em; text-transform:uppercase; margin:26px 0; }
 body.user-ui .journey-heading p { font-size:17px; line-height:1.7; max-width:630px; margin:24px auto; white-space:pre-line; color:#c8c6c0; }
 body.user-ui .journey-route { display:flex; align-items:center; justify-content:center; gap:22px; margin:42px auto 0; max-width:600px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
 body.user-ui .route-line { flex:1; color:var(--j-accent); border-top:1px dashed #ffffff50; line-height:0; text-align:center; font-size:25px; }
 body.user-ui .journey-stage { display:none; }
 body.user-ui .journey-chapter { padding:50px 0; border-top:1px solid #ffffff24; min-width:0; }
 body.user-ui .journey-chapter-number { text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--j-accent); }
 body.user-ui .journey-chapter-icon { display:block; color:var(--j-accent); font-size:58px; margin:24px 0 10px; }
 body.user-ui .journey-chapter h3 { font:900 clamp(36px,4vw,62px)/1.02 var(--u-display,Arial); letter-spacing:-.035em; text-transform:uppercase; margin:0 0 20px; }
 body.user-ui .journey-place { align-self:start; display:inline-block; padding:8px 13px; border:1px solid #ffffff40; border-radius:30px; font-size:11px; margin:0 0 10px; }
 body.user-ui .journey-prose { white-space:pre-line; line-height:1.8; font-size:16px; }
 body.user-ui .journey-chapter .journey-prose { color:#d3d1cb; }
 body.user-ui .journey-chapter small { display:block; font-size:12px; color:#aaa8a2; margin-top:18px; }
 body.user-ui .journey-inline-media { border-radius:24px; overflow:hidden; margin:24px 0; }
 body.user-ui .journey-inline-media img { width:100%; max-height:65vh; object-fit:cover; }
 body.user-ui .journey-art { position:relative; isolation:isolate; overflow:hidden; background:var(--j-accent,#beff68); color:#101010; min-height:300px; display:grid; place-items:center; width:100%; height:100%; }
 body.user-ui .journey-art > span { font-size:clamp(100px,18vw,280px); line-height:1; z-index:1; }
 body.user-ui .journey-art i { position:absolute; width:95%; aspect-ratio:1; border:2px solid #101010; border-radius:50%; transform:rotate(-35deg) scaleY(.45); box-shadow:0 0 0 20px var(--j-alt,#aa75f1),0 0 0 22px #101010,0 0 0 46px var(--j-alt,#aa75f1),0 0 0 48px #101010; }
 body.user-ui .journey-art b { position:absolute; bottom:22px; left:24px; right:24px; font-size:24px; letter-spacing:-.04em; text-transform:uppercase; overflow-wrap:anywhere; }
 body.user-ui .journey-video { margin:24px 0 0; border:1px solid #ffffff40; border-radius:18px; padding:0 18px; }
 body.user-ui .journey-video > summary { min-height:52px; padding:17px 0; cursor:pointer; font-size:13px; font-weight:700; color:var(--j-accent); }
 body.user-ui .journey-video video { width:100%; max-height:65vh; border-radius:12px; background:#000; margin-bottom:18px; }
 body.user-ui .journey-cinema[data-enhanced] { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:start; }
 body.user-ui .journey-cinema[data-enhanced] .journey-stage { display:flex; flex-direction:column; position:sticky; top:30px; height:calc(100svh - 60px); max-height:860px; padding-bottom:12px; }
 body.user-ui .journey-stage-frames { flex:1; min-height:0; position:relative; overflow:hidden; border-radius:32px; background:#252525; }
 body.user-ui .journey-frame { position:absolute; inset:0; margin:0; opacity:0; transition:opacity .5s ease; }
 body.user-ui .journey-frame.is-current { opacity:1; }
 body.user-ui .journey-frame > img { height:100%; width:100%; object-fit:cover; }
 body.user-ui .journey-frame figcaption { position:absolute; inset:auto 0 0; display:flex; align-items:end; justify-content:space-between; gap:20px; padding:60px 28px 25px; background:linear-gradient(transparent,#000b); text-transform:uppercase; font-size:11px; letter-spacing:.15em; color:white; }
 body.user-ui .journey-frame figcaption b { font:900 65px/.8 var(--u-display,Arial); color:var(--j-accent); letter-spacing:-.06em; }
 body.user-ui .journey-progress { display:flex; align-items:center; gap:14px; padding:20px 3px 0; font-size:9px; letter-spacing:.07em; }
 body.user-ui .journey-progress > div { flex:1; height:2px; background:#ffffff30; }
 body.user-ui .journey-progress i { display:block; height:2px; width:100%; transform-origin:left; transform:scaleX(.05); background:var(--j-accent); transition:transform .35s ease; }
 body.user-ui .journey-cinema[data-enhanced] .journey-chapter { min-height:90svh; display:flex; flex-direction:column; justify-content:center; padding:65px 0; }
 body.user-ui .journey-cinema[data-enhanced] .journey-inline-media { display:none; }
 body.user-ui .suitcase-section { padding:100px 0 60px; }
 body.user-ui .suitcase-section > header { text-align:center; margin:0 auto 65px; max-width:800px; }
 body.user-ui .suitcase-section .eyebrow { justify-content:center; color:var(--j-accent); }
 body.user-ui .suitcase-section > header p { color:#c8c6c0; line-height:1.6; }
 body.user-ui .journey-suitcase { max-width:1000px; margin:0 auto; border:5px solid #363638; border-radius:42px; background:#1f2124; box-shadow:0 22px 50px #0005; }
 body.user-ui .journey-suitcase > summary { list-style:none; position:relative; cursor:pointer; padding:55px 45px 75px; min-height:330px; border-radius:34px; background:repeating-linear-gradient(90deg,transparent 0 30px,#0000000d 30px 33px),var(--j-accent); color:#101010; }
 body.user-ui .journey-suitcase > summary::-webkit-details-marker,body.user-ui .case-object > summary::-webkit-details-marker,body.user-ui .passport-cover::-webkit-details-marker { display:none; }
 body.user-ui .case-handle { position:absolute; width:125px; height:28px; border:7px solid #363638; border-bottom:0; border-radius:14px 14px 0 0; top:-29px; left:calc(50% - 62px); }
 body.user-ui .case-band { position:absolute; inset:0 15% 0 auto; width:55px; background:#202124; box-shadow:inset 3px 0 #ffffff35,inset -3px 0 #ffffff35; }
 body.user-ui .case-label { display:inline-block; position:relative; width:70%; transform:rotate(-4deg); border-radius:4px; background:#f8f3e8; border:1px solid #161616; padding:24px; font-size:11px; letter-spacing:.15em; box-shadow:5px 5px #0002; }
 body.user-ui .case-label b { display:block; font:900 clamp(32px,5vw,70px)/1 var(--u-display,Arial); letter-spacing:-.04em; text-transform:uppercase; margin:14px 0; overflow-wrap:anywhere; }
 body.user-ui .case-label small { font:10px/1.5 monospace; letter-spacing:0; }
 body.user-ui .case-sticker { position:absolute; right:5%; top:70px; background:var(--j-alt); border:4px solid #f8f3e8; border-radius:50%; transform:rotate(12deg); padding:20px; font-size:30px; font-weight:900; text-align:center; width:125px; height:125px; line-height:1.15; }
 body.user-ui .case-open-label { position:absolute; bottom:23px; left:45px; padding:12px 20px; border-radius:30px; background:#101010; color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; }
 body.user-ui .case-interior { padding:35px; }
 body.user-ui .case-pocket { display:flex; gap:20px; justify-content:space-between; align-items:center; color:var(--j-accent); border:1px dashed #ffffff55; border-radius:12px; padding:20px; margin-bottom:30px; }
 body.user-ui .case-pocket > span { font-size:10px; letter-spacing:.1em; }
 body.user-ui .case-pocket > span:last-child { font-size:42px; }
 body.user-ui .case-pocket b { font-size:18px; }
 body.user-ui .case-objects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:28px; padding:10px 5px; }
 body.user-ui .case-object { min-width:0; background:#f7f0df; color:#171717; border-radius:3px; box-shadow:4px 10px 15px #0004; transform:rotate(var(--tilt)); transition:transform .2s; }
 body.user-ui .case-object:hover { transform:rotate(0deg) translateY(-5px); }
 body.user-ui .case-object > summary { list-style:none; cursor:pointer; padding:12px; }
 body.user-ui .object-picture { aspect-ratio:4/3; overflow:hidden; background:#ddd; }
 body.user-ui .object-picture > img { width:100%; height:100%; object-fit:cover; }
 body.user-ui .object-picture .journey-art { min-height:0; }
 body.user-ui .object-picture .journey-art > span { font-size:80px; }
 body.user-ui .object-picture .journey-art b { display:none; }
 body.user-ui .object-kind { display:block; text-transform:uppercase; font-size:9px; letter-spacing:.08em; margin:15px 0 9px; }
 body.user-ui .case-object summary > b { display:block; font-size:19px; line-height:1.1; letter-spacing:-.04em; overflow-wrap:anywhere; }
 body.user-ui .object-open { display:block; border-top:1px dashed #0004; margin-top:16px; padding:10px 0 0; font-size:10px; }
 body.user-ui .object-departure { background:#b9ccff; border-radius:14px; }
 body.user-ui .object-stay { background:#f6a4d5; border-radius:50px 50px 5px 5px; }
 body.user-ui .object-stay .object-picture { border-radius:40px 40px 0 0; }
 body.user-ui .object-return { background:#fff05f; }
 body.user-ui .case-object[open] { grid-column:1/-1; transform:none; }
 body.user-ui .case-object > .memory-content { padding:24px; }
 body.user-ui .memory-dialog { color-scheme:dark; color:#f8f6ee; background:#1c1c1c; border:1px solid #ffffff50; border-radius:28px; width:min(760px,calc(100vw - 28px)); max-height:90svh; padding:58px 32px 32px; overflow:auto; overscroll-behavior:contain; }
 body.user-ui .memory-dialog::backdrop { background:#000c; backdrop-filter:blur(8px); }
 body.user-ui .memory-close { position:absolute; top:10px; right:12px; width:44px; height:44px; border:1px solid #ffffff40; color:#fff; background:#272727; border-radius:50%; font-size:25px; }
 body.user-ui .memory-content h3 { font:900 clamp(28px,4vw,48px)/1.1 var(--u-display,Arial); text-transform:uppercase; margin:16px 0 25px; }
 body.user-ui .memory-content > img,body.user-ui .memory-content > video { max-height:58svh; width:100%; object-fit:contain; border-radius:14px; }
 body.user-ui .memory-content > .journey-art { min-height:250px; max-height:55svh; }
 body.user-ui .memory-content small { display:block; margin:15px 0; opacity:.75; }
 body.user-ui .memory-content summary { padding:16px 0; cursor:pointer; }
 body.user-ui .passport-space { color:#25291f; padding:20px 0 70px; }
 body.user-ui .passport-space > header { text-align:center; max-width:800px; margin:20px auto 50px; }
 body.user-ui .passport-space .eyebrow { justify-content:center; color:#4c5146; }
 body.user-ui .passport-space h2 { font-size:clamp(34px,5.4vw,66px); letter-spacing:-.055em; line-height:1.05; margin:22px 0; }
 body.user-ui .passport-space h2 em { font-family:Georgia,serif; font-weight:400; color:#6d40b5; }
 body.user-ui .passport-space > header p { max-width:480px; margin:0 auto; font-size:14px; line-height:1.7; }
 body.user-ui .passport-book { max-width:1000px; margin:auto; border:0; background:transparent; }
 body.user-ui .passport-cover { position:relative; list-style:none; cursor:pointer; width:min(420px,100%); margin:0 auto; min-height:530px; padding:42px; border-radius:12px 35px 35px 12px; background:radial-gradient(ellipse at 20% 0,#334a68,transparent 65%),#142536; color:#e3e7ab; box-shadow:inset 8px 0 0 #0b1a2c,inset 11px 0 0 #ffffff15,5px 7px 0 #ded8c9,7px 9px 0 #b3b2a5,12px 25px 40px #14253630; transform:rotate(-4deg); transition:transform .4s; border:1px solid #203648; display:flex; flex-direction:column; }
 body.user-ui .passport-cover:hover { transform:rotate(0deg) translateY(-5px); }
 body.user-ui .passport-cover > span:first-child { letter-spacing:.23em; font-size:14px; }
 body.user-ui .passport-orbit { position:absolute; right:35px; top:130px; font-size:75px; line-height:1; width:130px; height:130px; display:grid; place-items:center; border:1px solid #e3e7ab80; border-radius:50%; transform:rotate(14deg); }
 body.user-ui .passport-orbit:after { content:""; position:absolute; inset:-15px; border:1px solid #e3e7ab80; border-radius:50%; transform:scaleX(.5) rotate(30deg); }
 body.user-ui .passport-cover > b { font:900 clamp(72px,12vw,110px)/.9 var(--u-display,Arial); letter-spacing:-.055em; margin:75px 0 30px; }
 body.user-ui .passport-owner { font-size:14px; text-transform:uppercase; letter-spacing:.12em; margin-top:auto; position:relative; padding-top:20px; border-top:1px solid #e3e7ab65; }
 body.user-ui .passport-open { display:block; margin-top:24px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
 body.user-ui .passport-book[open] .passport-cover { transform:none; min-height:0; width:100%; border-radius:20px 20px 0 0; padding:24px 32px; box-shadow:none; flex-direction:row; align-items:center; gap:20px; }
 body.user-ui .passport-book[open] .passport-cover > b,body.user-ui .passport-book[open] .passport-orbit,body.user-ui .passport-book[open] .passport-owner { display:none; }
 body.user-ui .passport-book[open] .passport-open { margin:0 0 0 auto; }
 body.user-ui .passport-close-text,body.user-ui .passport-book[open] .passport-open-text { display:none; }
 body.user-ui .passport-book[open] .passport-close-text { display:inline; }
 body.user-ui .passport-pages { display:grid; grid-template-columns:1fr 1.5fr; background:repeating-linear-gradient(0deg,transparent 0 25px,#24483a09 25px 26px),#fffaf0; border:1px solid #d4ccba; border-radius:0 0 25px 25px; box-shadow:0 20px 35px #14253612; }
 body.user-ui .passport-person { padding:40px 28px; border-right:1px solid #d4ccba; background:linear-gradient(90deg,transparent 95%,#0000000a); }
 body.user-ui .passport-person .eyebrow { justify-content:start; font-size:9px; }
 body.user-ui .passport-person h3 { font-size:30px; letter-spacing:-.05em; margin:25px 0; }
 body.user-ui .passport-person > p { font-size:12px; line-height:1.8; color:#596050; }
 body.user-ui .passport-counts { display:flex; gap:30px; margin:35px 0; }
 body.user-ui .passport-counts b { display:block; font-size:42px; letter-spacing:-.05em; }
 body.user-ui .passport-counts span { font-size:11px; }
 body.user-ui .passport-stamp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:25px; padding:40px 25px; }
 body.user-ui .passport-stamp { color:#305d48; border:3px double currentColor; border-radius:40%; padding:25px 14px; text-align:center; transform:rotate(var(--tilt)); min-width:0; align-self:center; }
 body.user-ui .passport-stamp > span:first-child { font-size:9px; letter-spacing:.12em; }
 body.user-ui .stamp-star { display:block; font-size:30px; margin:12px 0 8px; }
 body.user-ui .passport-stamp h3 { font-size:23px; text-transform:uppercase; letter-spacing:-.04em; margin:10px 0; }
 body.user-ui .passport-stamp p { font:9px/1.5 monospace; }
 body.user-ui .passport-stamp > b { display:block; font-size:12px; letter-spacing:.2em; padding:10px 0; border-block:1px solid currentColor; margin:15px 0 10px; }
 body.user-ui .passport-stamp small { display:block; font-size:10px; line-height:1.4; }
 body.user-ui .passport-stamp a { display:inline-block; padding:12px 0 0; font-size:11px; text-decoration:underline; }
 body.user-ui .passport-stamp.stamp-1 { color:#9b3c55; border-radius:8px; }
 body.user-ui .passport-stamp.stamp-2 { color:#5140a1; border-radius:50% 50% 8px 8px; }
 body.user-ui .passport-empty { grid-column:1/-1; text-align:center; padding:15px 0; }
 body.user-ui .passport-empty > span { font-size:90px; color:#8551d0; }
 body.user-ui .passport-empty p { font-size:14px; line-height:1.7; max-width:300px; margin:20px auto; }
 body.user-ui .passport-upcoming { max-width:1000px; margin:65px auto 0; }
 body.user-ui .passport-upcoming > p { font-size:13px; }
 body.user-ui .passport-upcoming article { display:flex; align-items:center; gap:20px; border-top:1px solid #25291f35; padding:24px 0; }
 body.user-ui .passport-upcoming article > span { font-size:35px; }
 body.user-ui .passport-upcoming article > div { flex:1; }
 body.user-ui .passport-upcoming article p { font-size:12px; margin:8px 0 0; }
 body.user-ui .passport-upcoming article a { font-size:13px; }
 .journey-editor-chapter { border:1px solid #d4d3ca; border-radius:18px; margin:20px 0; background:#fff; }
 .journey-editor-chapter > summary { cursor:pointer; padding:22px; font-weight:700; }
 .journey-editor-chapter > .form-grid { padding:0 22px 22px; }
 .chapter-tools { display:flex; flex-wrap:wrap; gap:8px; }
 [data-editor-status] { font-size:13px; }
 body.user-ui .journey-world summary:focus-visible,body.user-ui .passport-book summary:focus-visible { outline:3px solid #b193ff; outline-offset:6px; }
 body.user-ui .journey-suitcase > summary:after,body.user-ui .case-object > summary:after,body.user-ui .passport-book > summary:after,body.user-ui .journey-video > summary:after { display:none; }
 body.user-ui .journey-suitcase,body.user-ui .passport-book { overflow:visible; }
 body.user-ui .journey-world details p,body.user-ui .passport-book p { padding:0; color:inherit; }
@media(max-width:900px) {
 body.user-ui .journey-cinema[data-enhanced] { gap:35px; }
 body.user-ui .case-objects { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.user-ui .passport-pages { grid-template-columns:1fr; }
 body.user-ui .passport-person { border-right:0; border-bottom:1px solid #d4ccba; background:none; }
 body.user-ui .passport-stamp-grid { gap:35px; }
}
@media(max-width:650px) {
 body.user-ui .journey-world { padding-top:65px; }
 body.user-ui .journey-heading { margin-bottom:40px; }
 body.user-ui .journey-heading h2,body.user-ui .suitcase-section h2 { font-size:48px; }
 body.user-ui .journey-heading p { font-size:14px; }
 body.user-ui .journey-route { font-size:9px; gap:12px; }
 body.user-ui .journey-cinema[data-enhanced] { display:block; }
 body.user-ui .journey-cinema[data-enhanced] .journey-stage { z-index:2; top:0; height:43svh; max-height:380px; background:#101010; padding:10px 0; }
 body.user-ui .journey-stage-frames { border-radius:22px; }
 body.user-ui .journey-frame figcaption { padding:40px 20px 20px; }
 body.user-ui .journey-frame figcaption b { font-size:42px; }
 body.user-ui .journey-frame .journey-art { min-height:0; }
 body.user-ui .journey-frame .journey-art b { bottom:70px; font-size:17px; }
 body.user-ui .journey-progress { font-size:8px; gap:10px; padding-top:13px; }
 body.user-ui .journey-cinema[data-enhanced] .journey-chapter { min-height:65svh; padding:35px 6px 65px; scroll-margin-top:45svh; }
 body.user-ui .journey-chapter h3 { font-size:39px; }
 body.user-ui .journey-chapter-icon { font-size:40px; margin:15px 0; }
 body.user-ui .journey-prose { font-size:14px; }
 body.user-ui .suitcase-section { padding-top:55px; }
 body.user-ui .journey-suitcase { border-radius:28px; border-width:3px; }
 body.user-ui .journey-suitcase > summary { border-radius:23px; padding:40px 20px 75px; min-height:285px; }
 body.user-ui .case-label { width:84%; padding:18px; }
 body.user-ui .case-label b { font-size:28px; }
 body.user-ui .case-sticker { width:80px; height:80px; padding:12px; font-size:21px; top:130px; right:4%; border-width:3px; }
 body.user-ui .case-band { width:35px; }
 body.user-ui .case-open-label { left:20px; font-size:9px; }
 body.user-ui .case-interior { padding:18px 12px; }
 body.user-ui .case-pocket { padding:15px; gap:15px; margin-bottom:20px; }
 body.user-ui .case-pocket > span:first-child { display:none; }
 body.user-ui .case-pocket b { font-size:14px; }
 body.user-ui .case-objects { gap:18px 12px; padding:6px; }
 body.user-ui .case-object > summary { padding:8px; }
 body.user-ui .case-object summary > b { font-size:15px; }
 body.user-ui .object-kind { font-size:8px; letter-spacing:0; }
 body.user-ui .object-open { font-size:9px; }
 body.user-ui .memory-dialog { padding:60px 20px 25px; }
 body.user-ui .passport-cover { min-height:470px; padding:35px; }
 body.user-ui .passport-orbit { right:20px; top:120px; width:100px; height:100px; font-size:65px; }
 body.user-ui .passport-cover > b { font-size:92px; }
 body.user-ui .passport-book[open] .passport-cover { padding:20px; gap:12px; flex-wrap:wrap; }
 body.user-ui .passport-book[open] .passport-open { font-size:9px; }
 body.user-ui .passport-person { padding:30px 22px; }
 body.user-ui .passport-stamp-grid { grid-template-columns:1fr; padding:30px; }
 body.user-ui .passport-stamp { max-width:300px; width:100%; margin:auto; }
 .journey-editor-chapter > .form-grid { padding:0 14px 18px; }
}
@media(prefers-reduced-motion:reduce) {
 body.user-ui .journey-frame,body.user-ui .journey-progress i,body.user-ui .case-object,body.user-ui .passport-cover { transition:none; }
 body.user-ui .case-object:hover,body.user-ui .passport-cover:hover { transform:none; }
}
