/* Album interface: real photos, generated raster decorations, live HTML controls. */
.bottom-nav-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
.album-exit{display:flex;align-items:center;justify-content:center;gap:7px;background:#d84a38;border:0;color:white;border-radius:8px;padding:10px 12px;min-height:44px;white-space:nowrap;font-size:15px;font-weight:700}
.showcase-mode .album-header{position:sticky;top:0;z-index:15;background:#fff9f0;padding:12px 16px;min-height:68px;gap:9px}
.showcase-mode .header-copy{min-width:0;flex:1;padding:0}
.showcase-mode .header-copy h1{font-size:18px;line-height:1.45;letter-spacing:-.5px}
.showcase-mode .header-copy>p,.showcase-mode .header-lotus,.showcase-mode .bottom-nav{display:none}
.showcase-mode .header-map{width:36px;height:40px}
.showcase-mode .album{padding-bottom:30px}
.showcase{padding-top:0}
.album-dev-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin:0 0 16px;padding:12px 14px;background:#fff0cf;border:1px dashed #b99861;border-radius:8px;font-size:14px;line-height:1.6}
.album-dev-notice strong{font-size:16px}.album-dev-notice p{margin:2px 0 0}.album-dev-notice a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-underline-offset:4px}
.departure-line{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:67px;margin:0 0 14px}
.flight-decoration{width:62px;height:40px;object-fit:contain;flex-shrink:0}
.departure-line p{margin:0;white-space:nowrap;font-size:17px;font-weight:700;line-height:1.2;text-align:center}
.departure-line strong{color:#e65440;font-size:43px;line-height:1;font-weight:800;letter-spacing:-1px}
.countdown-lotus{width:76px;height:48px;object-fit:contain}
.story-sheet{position:relative;background:#fffdf9;padding:7px 7px 13px;box-shadow:0 6px 13px #74543c24;transform:rotate(-1deg);margin:0 -2px 16px}
.story-tape{position:absolute;left:-10px;top:-10px;width:57px;height:32px;object-fit:contain;z-index:3;pointer-events:none}
.story-photo-stage{position:relative;width:100%;aspect-ratio:.9;overflow:hidden;background:#f1e6d9;isolation:isolate}
.story-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:23% 50%}
.photo-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:2px solid #fff;background:#3a3d3a75;cursor:pointer;z-index:2;padding:10px;box-shadow:0 0 0 4px #ffffff30}
.photo-hotspot img{width:25px;height:25px;filter:brightness(0) invert(1)}
.photo-hotspot[aria-expanded=true]{background:#b43f30d9;box-shadow:0 0 0 5px #ffffff55}
.photo-lens{position:absolute;right:12px;top:20px;width:43%;aspect-ratio:1;border:4px solid #fff;border-radius:50%;background-repeat:no-repeat;box-shadow:0 3px 10px #30231738;z-index:4;transform:rotate(1deg)}
.photo-lens button{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;background:#fff9f0;border:1px solid #d4c7b4;width:44px;height:44px;border-radius:50%;padding:10px}
.story-caption{padding:10px 8px 0;transform:rotate(1deg)}
.story-context{display:flex;gap:10px;align-items:center;margin:0 0 6px;font-weight:600;font-size:13px;line-height:1.5}
.story-context>span:first-child{display:inline-block;background:#ffe8df;color:#a63e2f;border-radius:12px;padding:2px 6px;white-space:nowrap;font-size:16px;font-weight:700}
.story-caption h2{margin:0;font-size:23px;line-height:1.55;font-weight:800;letter-spacing:-.7px;outline-offset:3px}
.marker-underline{display:block;width:70%;height:7px;object-fit:fill;max-width:290px;margin:0 0 6px}
.story-hint{font-size:15px;line-height:1.7;color:#725e4e;margin:3px 0 0}
.story-essential{font-size:15px;line-height:1.7;font-weight:600;padding:10px 0 0;margin:9px 0 0;color:#963b2c;border-top:1px solid #eadbd0}
.story-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.story-help,.story-favorite{display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:#ffebe3;color:#9b392b;border-radius:22px;min-height:44px;font-weight:600;cursor:pointer;padding:8px 11px;font-size:13px;line-height:1.45}
.story-help{background:transparent;color:#725944;justify-content:flex-start;flex:1;padding-left:0;font-size:13px}
.story-help img,.story-favorite img{flex-shrink:0}
.story-favorite[aria-pressed=true]{background:#ffd6c8}
.story-meta-links{display:flex;justify-content:space-between;gap:12px;margin:5px 0 0}
.story-meta-links button{background:transparent;border:0;padding:8px 0;min-height:44px;font-size:13px;color:#765e4a;text-decoration:underline;text-underline-offset:4px;text-align:left}
.photo-note{font-size:12px;color:#746350;line-height:1.7;margin:4px 0 12px}
.archive-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;border-top:1px solid #e9dfd2;padding-top:15px}
.archive-heading h3{font-size:18px;line-height:1.5;margin:0;font-weight:700;display:flex;align-items:center;gap:7px}
.archive-heading button{font-size:13px;border:1px solid #dfcdbd;min-height:44px;padding:5px 9px;border-radius:22px;background:transparent;white-space:nowrap}
.archive-heading button[aria-pressed=true]{background:#ffe5da;border-color:#d85843;color:#9b392b}
.story-archive{display:flex;overflow-x:auto;gap:14px;margin:10px -2px 0;padding:3px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cebba4 transparent}
.archive-photo{position:relative;flex:0 0 calc(50% - 7px);min-width:0;display:block;scroll-snap-align:start;text-align:left;border:0;background:transparent;padding:0 0 2px;border-radius:6px;cursor:pointer}
.archive-photo>img{width:100%;height:auto;aspect-ratio:1.5;display:block;object-fit:cover;border:3px solid #fff9f0;border-radius:7px;box-shadow:0 0 0 1px #e4d4c2}
.archive-photo[aria-pressed=true]>img{box-shadow:0 0 0 2px #e1a53c}
.archive-category{display:block;font-size:13px;color:#7c6048;font-weight:600;margin:5px 2px 0}
.archive-title{display:block;font-size:14px;line-height:1.6;margin:1px 2px 0;font-weight:600}
.archive-date{display:block;font-size:11px;color:#806c58;margin:3px 2px 0}
.release-note{display:flex;align-items:center;justify-content:center;gap:10px;min-height:65px;background-image:url(assets/release-note.png);background-repeat:no-repeat;background-size:100% 100%;margin:23px 0 5px;padding:14px 17px;font-size:16px;font-weight:700;line-height:1.5;color:#5c3e20;text-align:center}
.release-note img{width:25px;height:25px;flex-shrink:0}
.source-dialog{width:min(92vw,540px);max-height:85svh;overflow:auto;background:#fff9f0;color:#302317;border:1px solid #d7c5b2;border-radius:14px;padding:20px;box-shadow:0 12px 60px #30231750}
.source-dialog::backdrop{background:#30231788}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dialog-head h2{margin:0;font-size:22px}.dialog-head button{display:flex;align-items:center;justify-content:center;background:transparent;border:0;min-width:44px;min-height:44px;padding:8px}
.source-dialog h3{font-size:17px;margin:20px 0 8px}.source-dialog p{font-size:15px;line-height:1.8}.source-dialog a{font-size:15px;overflow-wrap:anywhere}
.review-controls{margin:30px 0 0;border:1px dashed #bca58c;padding:12px;border-radius:7px;font-size:13px;color:#6f5844}
.review-controls summary{cursor:pointer;min-height:32px}.review-controls label{display:flex;align-items:center;gap:12px;margin:10px 0}.review-controls input{font:inherit;min-height:40px;border:1px solid #bca58c;background:#fffdf7;color:#302317;border-radius:5px;padding:5px}.review-controls button{font-size:13px;padding:7px 10px;min-height:40px;border:1px solid #bca58c;border-radius:5px;background:transparent}
.review-controls .review-toggle{min-height:44px;font-size:15px}.review-controls .review-toggle input{min-height:0;width:22px;height:22px;flex-shrink:0;padding:0;accent-color:#b43f30}.review-controls input[type=date]{font-size:16px}
.event-note{font-size:15px;line-height:1.75;margin:5px 0 0;color:#675647}
.travel-details>h3{font-size:19px;margin:0 0 8px}
@media(min-width:600px){.showcase-mode .album-header{padding:20px 28px;min-height:90px}.showcase-mode .header-copy h1{font-size:27px}.showcase-mode .header-map{width:52px;height:56px}.album-exit{font-size:18px;padding:12px 17px}.departure-line{min-height:85px;margin-bottom:20px}.departure-line strong{font-size:60px}.departure-line p{font-size:22px}.flight-decoration{width:90px;height:55px}.countdown-lotus{width:115px;height:68px}.story-photo-stage{aspect-ratio:1.05}.story-sheet{padding:10px 10px 16px}.story-tape{width:75px;height:43px}.story-caption{padding:14px 14px 0}.story-caption h2{font-size:32px}.story-context{font-size:17px}.story-context>span:first-child{font-size:20px}.story-hint{font-size:18px}.story-help,.story-favorite{font-size:17px;padding:10px 14px;min-height:48px}.story-meta-links button{font-size:14px;min-height:40px}.archive-heading h3{font-size:23px}.archive-heading button{font-size:15px;min-height:44px}.archive-title{font-size:18px}.archive-category{font-size:16px}.archive-date{font-size:13px}.release-note{font-size:20px;min-height:86px}.photo-hotspot{width:58px;height:58px}.photo-lens{max-width:220px}.story-essential{font-size:17px}}
@media(max-width:365px){.showcase-mode .album-header{padding-inline:12px;gap:7px}.showcase-mode .header-copy h1{font-size:16px}.showcase-mode .header-map{width:29px;height:35px}.album-exit{font-size:14px;padding:9px;gap:5px}.countdown-lotus{width:58px}.flight-decoration{width:50px}.departure-line strong{font-size:40px}.story-caption h2{font-size:21px}.story-toolbar{flex-wrap:wrap}.story-help{font-size:13px}.story-favorite{font-size:13px}.archive-heading h3{font-size:17px}.release-note{font-size:14px}}
@media print{.album-header,.album-dev-notice,.departure-line,.story-toolbar,.story-meta-links,.archive-heading,.story-archive,.release-note,.review-controls,.photo-hotspot,.photo-lens{display:none}.story-sheet{transform:none;box-shadow:none}.story-photo-stage{max-height:350px}.story-caption{transform:none}.showcase-mode .album-header{display:none}}
