@font-face{font-family:AtlasSerif;src:local('Georgia')}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f3f1e7;color:#2d4e43;font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b65c3e;outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mast{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cdd0c1}.wordmark{font:29px AtlasSerif,Georgia,serif;letter-spacing:-1px;display:flex;align-items:center;gap:8px}.wordmark>span{font:22px system-ui;margin-left:4px}.mast nav{display:flex;align-items:center;gap:24px}.language select{border:0;background:transparent;color:inherit;font-size:12px;max-width:105px;padding:7px}.settings-button{font-size:25px;width:44px;height:44px}.connection{font-size:11px;display:flex;align-items:center;gap:7px}.connection:not(:empty):before{content:'';width:6px;height:6px;background:#7d9266;border-radius:50%}.connection[data-recording=true]:before{background:#509866;box-shadow:0 0 0 4px #50986615}.intro{padding:68px 5% 50px;display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 25px;color:#85846f}.intro h1{font:400 clamp(38px,4.1vw,66px)/1.18 AtlasSerif,Georgia,serif;letter-spacing:-.04em;margin:0 0 20px;max-width:740px}.intro-title>p:last-child{font-size:14px;color:#818574;letter-spacing:.025em}.intro-actions{display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:7px;min-width:195px}.primary{background:#2e5d49;color:#fffdf2;padding:17px 25px;border:1px solid #2e5d49;border-radius:3px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:30px;transition:background .2s,transform .2s}.primary:hover{background:#224d3c;transform:translateY(-2px)}.text-button{font-size:11px;letter-spacing:.03em;padding:8px 0;border-bottom:1px solid #96a28c;min-height:34px}.atlas-section{margin:0 3%;border:1px solid #bfc8b5;background:#e8edde}.atlas-toolbar{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f7f5ec;border-bottom:1px solid #cbd0be}.range-tabs{display:flex;border:1px solid #c7cdbc;border-radius:4px;padding:3px}.range-tabs button{font-size:11px;padding:9px 17px;border-radius:2px}.range-tabs button[aria-pressed=true]{background:#365c47;color:#f8f5e8}.mode-label{font-size:10px;color:#797f6b;letter-spacing:.08em}.mode-label:before{content:'◌';margin-right:8px;color:#b68c55}.atlas{position:relative;overflow:hidden;min-height:300px;background:radial-gradient(ellipse at 50% 40%,#eff0d8,#dfe8d8);isolation:isolate}#map{width:100%;display:block;max-height:700px;min-height:350px}.compass text,.map-note{font:9px system-ui;fill:#79917e;letter-spacing:2px}.map-note{font-size:8px}.map-coordinate{position:absolute;right:25px;bottom:18px;font:8px ui-monospace,monospace;color:#8e9e89;letter-spacing:1px}.island{filter:none}.contour{fill:none;stroke:#a6b793;stroke-width:1;opacity:.45}.route{stroke:#9e7961;stroke-width:1.2;stroke-dasharray:4 7;fill:none;opacity:.65}.map-place{cursor:pointer;outline:0}.map-place .place-halo{fill:transparent;stroke:transparent;transition:fill .2s,stroke .2s}.map-place:hover .place-halo,.map-place:focus .place-halo,.map-place.is-selected .place-halo{fill:#fff9dfbb;stroke:#afbb98}.map-place .station{transition:transform .35s cubic-bezier(.2,.8,.2,1);transform-box:fill-box;transform-origin:50% 100%}.map-place:hover .station,.map-place.is-selected .station{transform:translateY(-9px)}.place-label{font:500 15px system-ui;fill:#304d40;text-anchor:middle;paint-order:stroke;stroke:#eef1df;stroke-width:4px;stroke-linejoin:round}.place-duration{font:10px ui-monospace,monospace;fill:#7e876e;text-anchor:middle}.map-pin{transition:opacity .3s}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:#e9efdc66}.map-empty h2{font-size:25px;font-weight:400}.map-empty p{font-size:13px}.trip-stats{display:flex;gap:80px;align-items:center;padding:26px 40px;background:#f8f5eb;border-top:1px solid #c9d0be}.trip-stats>div{display:flex;align-items:baseline;gap:12px}.trip-stats strong{font:33px AtlasSerif,Georgia,serif;font-variant-numeric:tabular-nums}.trip-stats span{font-size:10px;color:#858774}.trip-stats>a{margin-left:auto;font-size:11px;border-bottom:1px solid #bcc2b0;padding:6px}.journal{padding:90px 7% 100px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:10%;max-width:1600px;margin:auto;scroll-margin-top:40px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-heading h2{font:30px AtlasSerif,Georgia,serif;font-weight:400;letter-spacing:-.02em}.date-control input{width:140px;background:none;border:0;border-bottom:1px solid #bac3ae;color:#61735e;font-size:11px;padding:8px 0}.place-filter{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 35px}.place-filter button{font-size:10px;border:1px solid #c3c9b8;border-radius:30px;padding:7px 11px}.place-filter button[aria-pressed=true]{background:#dde4cf;border-color:#9fad92}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:58px 22px 1fr auto;align-items:center;gap:14px;min-height:70px;position:relative;border-bottom:1px solid #d7d9cb}.timeline li:before{position:absolute;content:'';left:82px;top:0;bottom:0;width:1px;background:#c7cfbb}.timeline time{font:10px ui-monospace,monospace;color:#8a8d7b}.timeline .dot{position:relative;width:9px;height:9px;border-radius:50%;border:2px solid #f3f1e7;box-sizing:content-box;justify-self:center;z-index:1}.timeline b{font-size:13px;font-weight:500}.timeline small{display:block;font-size:9px;color:#939581;margin-top:4px}.timeline .duration{font:12px ui-monospace,monospace;color:#78846c}.timeline .empty-row{display:block;padding:35px 0;font-size:13px;color:#858774}.timeline .empty-row:before{display:none}.passport{align-self:start;border:1px solid #b9c4ab;box-shadow:8px 9px 0 #e9e8dc,9px 10px 0 #cbd1bc;background:#f9f6eb;transform:rotate(1.5deg)}.passport-cover{background:#365d4a;color:#dce1be;padding:30px;text-align:center;border:5px double #91a37a;outline:8px solid #365d4a;outline-offset:-8px}.passport-cover>span{font:11px ui-monospace,monospace;letter-spacing:3px}.passport-cover svg{display:block;width:55px;height:55px;fill:none;stroke:#c4d2a0;stroke-width:.8;margin:23px auto 16px}.passport-cover h2{font:25px AtlasSerif,Georgia,serif;font-weight:400;margin:15px 0 25px}.passport-cover .passport-id{font-size:7px;letter-spacing:1.3px}.stamps{display:grid;grid-template-columns:1fr 1fr;padding:25px 12px;gap:14px}.stamp{border:2px solid currentColor;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;position:relative;opacity:.78;transform:rotate(var(--angle));min-width:0}.stamp:before{content:'';position:absolute;inset:4px;border:1px dashed currentColor;border-radius:50%;opacity:.65}.stamp b{font-size:12px;max-width:95px;overflow-wrap:anywhere}.stamp small{font-size:8px;margin-top:5px;letter-spacing:1px}.stamp em{font:17px AtlasSerif,Georgia,serif;margin-top:7px}.privacy-strip{display:flex;gap:27px;align-items:center;padding:45px 7%;border-top:1px solid #cbd0be;border-bottom:1px solid #cbd0be;background:#eaeedf}.privacy-mark{font:70px AtlasSerif,Georgia,serif;color:#9aab88}.privacy-strip h2{font-size:18px;font-weight:400;margin:0 0 10px}.privacy-strip p{font-size:11px;color:#7c866e;max-width:670px;line-height:1.8;margin:0}.privacy-strip button{margin-left:auto;white-space:nowrap}footer{padding:45px 5%;display:flex;align-items:center;gap:30px}footer>.wordmark{font-size:24px}footer>p{font-size:11px;color:#8a8e7d}footer>div{margin-left:auto}footer a{font-size:11px}footer small{display:block;margin-top:7px;font-size:9px;color:#919580}dialog{background:#f8f5eb;color:#38513f;border:1px solid #bac4ab;max-width:min(600px,calc(100vw - 28px));width:600px;padding:50px;max-height:90svh;overflow:auto;box-shadow:0 30px 100px #243d3733}dialog::backdrop{background:#203c3766;backdrop-filter:blur(5px)}dialog h2{font:32px AtlasSerif,Georgia,serif;margin:5px 0 25px;font-weight:400}dialog p{font-size:12px;line-height:1.9;color:#7c826c}.dialog-close{position:absolute;right:15px;top:9px;font-size:28px;width:44px;height:44px}.install-steps{padding-left:21px;margin:30px 0 20px}.install-steps li{font-size:12px;line-height:1.85;margin:12px 0;padding-left:8px}.download{margin-top:15px}dialog code{font:11px ui-monospace,monospace;display:block;padding:14px;background:#e9eddf;color:#5c7055;overflow-wrap:anywhere}.secondary{border:1px solid #bdc7b0;border-radius:3px;padding:13px 17px;font-size:12px;background:#f8f5eb;display:inline-block;cursor:pointer}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.danger{color:#ab5944;font-size:11px;padding:12px 0;border-bottom:1px solid #c6a48b}.import-button{position:relative;overflow:hidden}.import-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.exclude-label{display:block;margin:25px 0 15px}.exclude-label>span{font-size:12px;display:block;margin-bottom:10px}.exclude-label textarea{width:100%;padding:12px;background:#f1f1e5;border:1px solid #bec7af;border-radius:3px;resize:vertical;color:inherit;font-size:12px}.confirm-actions{display:flex;gap:30px;justify-content:flex-end}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#294b3c;color:#faf6e5;padding:13px 20px;border-radius:3px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{padding:30px;text-align:center;font-size:13px}html:lang(ja) .intro h1,html:lang(zh) .intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;letter-spacing:.025em;font-size:clamp(33px,3.8vw,57px);line-height:1.45}html:lang(ko) .intro h1{font-family:"Apple SD Gothic Neo",system-ui,sans-serif;letter-spacing:-.06em;font-size:clamp(32px,3.5vw,53px)}
@media(min-width:1500px){.intro,.mast,footer{padding-left:7%;padding-right:7%}.atlas-section{margin:0 5%}}
@media(max-width:900px){.intro{padding-top:45px}.intro h1{font-size:44px}.trip-stats{gap:30px;padding:24px}.journal{gap:40px;grid-template-columns:minmax(0,1fr) 260px}.passport-cover{padding:24px 15px}.stamp b{font-size:10px}.stamp em{font-size:14px}.stamps{gap:10px;padding:20px 10px}footer{flex-wrap:wrap}footer>div{margin-left:0}}
@media(max-width:640px){.mast{height:76px;padding:0 5%}.mast nav{gap:8px}.wordmark{font-size:24px}.wordmark svg{width:25px}.wordmark>span{display:none}.connection{font-size:0}.connection:before{width:5px;height:5px}.intro{padding:36px 6% 30px;display:block}.eyebrow{font-size:8px;margin-bottom:17px}.intro h1{font-size:43px;line-height:1.12;max-width:340px}.intro-title>p:last-child{font-size:11px}.intro-actions{flex-direction:row;justify-content:flex-start;gap:20px;margin-top:27px}.intro-actions .primary{padding:13px 17px;font-size:11px}.intro-actions .text-button{font-size:10px}.atlas-section{margin:0 3%}.atlas-toolbar{padding:12px;flex-wrap:wrap;gap:12px}.range-tabs button{font-size:10px;padding:8px 12px}.atlas-toolbar>.text-button{font-size:10px}.mode-label{order:3;width:100%;font-size:9px}.atlas{min-height:320px}#map{width:180%;max-width:none;transform:translateX(-23%);height:390px;min-height:0}.map-coordinate{right:13px;font-size:6px}.trip-stats{gap:17px;padding:22px 16px;flex-wrap:wrap}.trip-stats>div{flex-direction:column;gap:6px}.trip-stats strong{font-size:28px}.trip-stats span{font-size:8px}.trip-stats>a{font-size:9px}.journal{display:block;padding:45px 7% 55px}.section-heading h2{font-size:26px}.date-control input{font-size:10px;width:125px}.place-filter{gap:5px;margin:12px 0 22px}.place-filter button{font-size:9px;padding:6px 9px}.timeline li{gap:9px;grid-template-columns:48px 18px 1fr auto;min-height:65px}.timeline li:before{left:65px}.timeline b{font-size:12px}.timeline .duration{font-size:10px}.passport{margin:50px auto 0;max-width:340px;display:grid;grid-template-columns:120px 1fr;transform:rotate(-1deg)}.passport-cover{padding:20px 10px;display:flex;flex-direction:column;justify-content:center}.passport-cover h2{font-size:19px;line-height:1.4}.passport-cover svg{width:40px}.passport-cover>span{font-size:8px}.passport-cover .passport-id{font-size:5px;line-height:1.8}.stamps{grid-template-columns:1fr 1fr;gap:9px;padding:15px 10px}.stamp{padding:8px}.stamp b{font-size:8px}.stamp small{font-size:5px}.stamp em{font-size:12px}.privacy-strip{padding:30px 7%;gap:13px;flex-wrap:wrap}.privacy-mark{font-size:50px}.privacy-strip>div{flex:1}.privacy-strip h2{font-size:15px}.privacy-strip p{font-size:10px}.privacy-strip button{font-size:10px;margin-left:60px}footer{display:block;padding:35px 7%}footer>p{margin:16px 0 30px}dialog{padding:40px 24px 28px}dialog h2{font-size:27px}.install-steps li{font-size:11px}html:lang(ja) .intro h1,html:lang(zh) .intro h1{font-size:32px}html:lang(ko) .intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:640px){.atlas{overflow-x:auto;overscroll-behavior-x:contain}#map{width:780px;height:423px;transform:none}.map-coordinate{display:none}}
/* A living paper atlas: quiet typography, relief islands and a movable itinerary. */
body{background:radial-gradient(ellipse at 90% 0,#e5e8d8,transparent 45%),#f2f0e5}.mast{border-bottom:0;height:88px}.wordmark{font-size:32px}.intro{padding-top:40px;padding-bottom:44px;align-items:center}.intro h1{font-size:clamp(48px,5.7vw,91px);max-width:850px;line-height:1.04;letter-spacing:-.05em;text-wrap:balance}.intro-title>p:last-child{margin-bottom:0;font-size:12px}.eyebrow{display:flex;gap:13px;align-items:center;font-size:9px;letter-spacing:.14em;margin-bottom:25px}.tiny-orbit{color:#b96d46;font-size:26px;display:inline-block;animation:slow-orbit 38s linear infinite}.eyebrow #trip-date{border-left:1px solid #b5beaa;padding-left:14px;color:#72836b;letter-spacing:.04em}.intro-actions{align-items:flex-start;gap:16px}.primary{border-radius:40px;box-shadow:0 4px 0 #183f3012;padding:17px 24px}.atlas-section{position:relative;isolation:isolate;border:0;background:transparent;box-shadow:0 24px 60px -30px #3f5d4140;border-radius:5px}.atlas-section:before,.atlas-section:after{content:'';position:absolute;inset:6px 1px -7px;background:#e9e6d8;border:1px solid #ced0bd;z-index:-1;transform:rotate(.4deg)}.atlas-section:after{inset:11px 6px -12px;transform:rotate(-.4deg);z-index:-2}.atlas-toolbar{padding:16px 26px;background:#faf7eb;border:1px solid #c2cbb5;border-bottom:0;border-radius:5px 5px 0 0}.range-tabs{border:0;background:#e8ecdc;border-radius:25px;padding:4px}.range-tabs button{border-radius:20px;min-width:65px;transition:background .2s,color .2s}.atlas-edition{font:8px ui-monospace,monospace;letter-spacing:.2em;color:#899783}.mode-label{margin-left:auto;margin-right:auto}.atlas{border-inline:1px solid #bdc9b3;background:radial-gradient(ellipse at 20% 25%,#f1efd6,transparent 60%),radial-gradient(ellipse at 80% 70%,#c9dfd0,transparent 65%),#e2ebda;--cloud-x:0px;--cloud-y:0px;overflow:hidden}.atlas:before{content:'';position:absolute;inset:0;box-shadow:inset 0 0 70px #6e8d6410;z-index:4;pointer-events:none}#map{position:relative;z-index:1;min-height:400px;max-height:780px;touch-action:pan-y;cursor:grab}#map.is-dragging{cursor:grabbing;touch-action:none}.atlas-cloud{position:absolute;z-index:2;pointer-events:none;width:420px;height:160px;filter:blur(17px);opacity:.55;background:radial-gradient(ellipse at 35% 65%,#ffffee 12%,transparent 58%),radial-gradient(ellipse at 65% 40%,#ffffe8 15%,transparent 60%);transform:translate(var(--cloud-x),var(--cloud-y));transition:transform 2s cubic-bezier(.2,.7,.2,1)}.cloud-a{left:-10%;top:10%}.cloud-b{right:-7%;bottom:12%;width:520px;opacity:.65;transform:translate(calc(var(--cloud-x)*-1.4),calc(var(--cloud-y)*-1.4))}.island-shore{opacity:.64}.island-scenery{opacity:.85}.contour{stroke:#9da577;opacity:.38}.island-index{font:italic 48px Georgia,serif;fill:#74876b;opacity:.3;letter-spacing:-3px}.route{stroke:#a77755;stroke-width:1.4;stroke-dasharray:3 7;opacity:.65;transition:stroke .2s,stroke-width .2s}.route.is-current{stroke:#b55b3f;stroke-width:2.3;opacity:1;animation:route-flow 2s linear infinite}.station-shadow{transition:transform .4s,opacity .4s}.map-place:hover .station-shadow,.map-place.is-selected .station-shadow{transform:scale(1.2);opacity:.2}.map-place:hover .station,.map-place.is-selected .station{transform:translateY(-15px) rotate(-5deg)}.map-place .station{transition:transform .5s cubic-bezier(.16,1,.3,1)}.place-label{font-size:14px;font-weight:500;letter-spacing:.02em}.place-duration{font-size:9px}.place-halo{stroke-dasharray:3 4}.traveler{pointer-events:none}.traveler-plane{transform-origin:center}.compass{opacity:.65}.atlas-tools{position:absolute;right:23px;top:22px;z-index:5;display:flex;flex-direction:column;gap:5px}.atlas-tools button{width:35px;height:35px;border:1px solid #c6cfb6;background:#f8f5e8ed;border-radius:50%;font-size:22px;box-shadow:0 4px 10px #56755112;transition:transform .2s}.atlas-tools button:hover:not(:disabled){transform:scale(1.12)}.atlas-tools button:last-child{font-size:23px;margin-top:7px}.travel-ticket{position:absolute;z-index:6;left:22px;bottom:23px;width:235px;padding:23px 23px 15px;background:#fffcf0;box-shadow:0 12px 35px #36544020;transform:rotate(-2deg);animation:ticket-in .4s cubic-bezier(.2,.8,.2,1);color:#345240;border:1px solid #d8d6be;--ticket-ink:#527356}.ticket-caption{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#83937a}.travel-ticket h2{font:29px Georgia,serif;font-weight:400;letter-spacing:-.03em;margin:14px 0 10px;overflow-wrap:anywhere}.ticket-close{position:absolute;right:7px;top:6px;width:32px;height:32px;font-size:22px;color:#91a084}.ticket-metrics{display:flex;align-items:baseline;gap:15px}.ticket-metrics strong{font:17px ui-monospace,monospace;font-weight:400;color:var(--ticket-ink)}.ticket-metrics>span{font-size:9px;color:#819077}.ticket-meter{height:3px;margin:17px 0 20px;background:#ecebdb}.ticket-meter i{display:block;height:100%;background:var(--ticket-ink);min-width:2px}.ticket-number{display:flex;align-items:center;border-top:1px dashed #cbd0bb;padding-top:13px;font:9px ui-monospace,monospace;letter-spacing:.12em;color:#8e997d}.ticket-number b{font-weight:400;margin-left:5px}.ticket-number i{margin-left:auto;font:23px Georgia,serif;color:var(--ticket-ink)}.ticket-perforation{position:absolute;top:10px;left:-4px;bottom:10px;width:7px;background:radial-gradient(circle,#dfe8d5 3px,transparent 3.5px) 0 0/7px 13px}.replay-dock{background:#365744;color:#f7f1df;display:flex;align-items:center;gap:24px;padding:17px 28px;border:1px solid #365744}.replay-button{display:flex;align-items:center;gap:10px;min-height:36px;padding:0;white-space:nowrap;font-size:10px}.replay-button>span:first-child{border:1px solid #e6edc560;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:10px}.replay-button:hover>span:first-child{background:#e5ebcd20}.replay-clock{font:10px ui-monospace,monospace;color:#d0d9b5;min-width:35px}.journey-scrubber{flex:1}.journey-scrubber input{width:100%;display:block;accent-color:#e5b779;cursor:ew-resize;height:3px}.replay-counter{font:9px ui-monospace,monospace;letter-spacing:.08em;color:#b8c6a4;white-space:nowrap}.trip-stats{padding:25px 33px;border:1px solid #bdc9b3;border-top:0;background:#faf7eb;gap:65px;border-radius:0 0 5px 5px}.trip-stats strong{font-size:37px;letter-spacing:-.03em}.trip-stats>div{gap:12px}.hour-ribbon{margin:15px 0 28px}.hour-bars{display:flex;gap:5px;height:56px;align-items:flex-end}.hour-bars span{flex:1;height:var(--hour-height);min-height:2px;background:linear-gradient(#829c70,#c0cfa4);border-radius:2px 2px 0 0;transition:height .5s}.hour-labels{display:flex;justify-content:space-between;font:8px ui-monospace,monospace;color:#8d9980;margin-top:8px}.journal{padding-top:100px;gap:11%;grid-template-columns:minmax(0,1fr) 350px}.section-heading h2{font-size:36px}.timeline li{transition:background .2s,padding .2s}.timeline li.is-current{background:#e2e8d5;padding-inline:8px;border-color:#a6b796}.timeline li.is-current .dot{box-shadow:0 0 0 4px #c3cfac}.stamp{background:transparent;transition:transform .35s,opacity .35s}.stamp:hover,.stamp[aria-pressed=true]{opacity:1;transform:rotate(0) scale(1.08)}.passport{transform:rotate(2deg);box-shadow:7px 9px 0 #ece8dc,8px 10px 0 #c3cab2,15px 19px 30px #4f674717;border-radius:5px 12px 12px 5px;overflow:hidden;transition:transform .6s}.passport:hover{transform:rotate(0) translateY(-4px)}.passport-cover{background:radial-gradient(ellipse at 70% 20%,#54744f,transparent),#294e3e;padding:38px 30px;color:#e4dbb5;box-shadow:inset 5px 0 9px #182d3b45}.passport-cover svg{stroke:#d7ce9f;width:65px;height:65px}.passport-cover h2{font-size:28px}.stamps{background:repeating-linear-gradient(90deg,transparent 0 13px,#c5caae0c 14px 15px),#faf5e3;padding:28px 18px;gap:18px}.privacy-strip{background:#e5e9d9}.map-coordinate{bottom:17px;font-size:6px;opacity:.7}.map-note{opacity:.4}.atlas .compass{transform-box:fill-box;transform-origin:center}.mode-label{color:#7f755c}.mode-label:before{color:#c38b59}body[data-hidden=true] *{animation-play-state:paused!important}html:lang(ja) .intro h1,html:lang(zh) .intro h1{font-size:clamp(38px,4.5vw,68px);line-height:1.45;letter-spacing:-.015em}html:lang(ko) .intro h1{font-size:clamp(38px,4.3vw,65px);line-height:1.3}
@keyframes route-flow{to{stroke-dashoffset:-30}}@keyframes ticket-in{from{opacity:0;transform:translateY(14px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes slow-orbit{to{transform:rotate(360deg)}}
@media(max-width:900px){.intro h1{font-size:54px}.journal{grid-template-columns:minmax(0,1fr) 280px;gap:7%}.trip-stats{gap:30px}.replay-dock{gap:16px;padding-inline:20px}}
@media(max-width:640px){.mast{height:75px}.wordmark{font-size:25px}.intro{padding:28px 7% 33px}.intro h1{font-size:46px;line-height:1.1;max-width:360px}.intro .eyebrow{gap:9px;font-size:8px;margin-bottom:19px}.tiny-orbit{font-size:22px}.eyebrow #trip-date{padding-left:9px}.intro-actions{margin-top:23px;gap:20px;align-items:center;flex-direction:row}.intro-actions .primary{font-size:10px}.intro-actions .text-button{font-size:9px}.atlas-toolbar{padding:12px 13px;gap:8px;flex-wrap:wrap}.atlas-edition{display:none}.range-tabs button{font-size:9px;padding:8px 12px;min-width:48px}.mode-label{order:0;width:auto;font-size:8px;letter-spacing:0;margin-right:0}.atlas{overflow:hidden;min-height:330px}#map{width:100%;height:auto;aspect-ratio:1.38;min-height:330px;transform:none;max-width:none}.atlas-cloud{width:180px;height:100px;filter:blur(10px);opacity:.4}.cloud-b{width:220px}.atlas-tools{right:10px;top:12px;gap:5px}.atlas-tools button{width:30px;height:30px;font-size:19px}.travel-ticket{left:11px;bottom:12px;width:172px;padding:16px}.travel-ticket h2{font-size:23px;margin:9px 0}.ticket-metrics strong{font-size:13px}.ticket-metrics>span{font-size:8px}.ticket-meter{margin:12px 0}.ticket-number{padding-top:8px;font-size:7px}.ticket-number i{font-size:17px}.ticket-caption{font-size:7px}.replay-dock{gap:12px;padding:12px}.replay-button{gap:0;min-height:31px}.replay-button #replay-label{display:none}.replay-button>span:first-child{width:30px;height:30px}.replay-clock{font-size:9px}.replay-counter{font-size:8px}.trip-stats{padding:21px 16px;gap:23px}.trip-stats>div{gap:5px;flex-direction:column}.trip-stats strong{font-size:28px}.trip-stats span{font-size:8px}.trip-stats>a{font-size:9px}.journal{display:block;padding:60px 7%}.section-heading h2{font-size:29px}.hour-bars{height:44px;gap:4px}.hour-labels{font-size:7px}.passport{max-width:350px;margin-top:60px;grid-template-columns:110px 1fr}.passport-cover{padding:20px 12px}.passport-cover h2{font-size:18px}.passport-cover svg{width:40px;height:40px}.stamps{gap:12px;padding:20px 13px}.stamp{padding:9px}.stamp b{font-size:8px}.stamp em{font-size:13px}.stamp small{font-size:6px}.place-label{font-size:18px}.place-duration{font-size:12px}html:lang(ja) .intro h1,html:lang(zh) .intro h1{font-size:35px;line-height:1.5}html:lang(ko) .intro h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.atlas-cloud{transition:none}.passport:hover,.map-place:hover .station,.map-place.is-selected .station,.stamp:hover{transform:none}}
@media(max-width:640px){.place-label{font-size:26px}.place-duration{font-size:16px}}
