/* TW's shared scrapbook palette. Existing preparation-page controls remain functional. */
:root,[data-theme="light"]{color-scheme:light;--tw-paper:#fff9ee;--tw-card:#fffef9;--tw-ink:#293e4a;--tw-muted:#5c6c74;--tw-line:#d8ded7;--tw-accent:#ac4633;--tw-soft:#f7e3c7;--tw-blue:#dfeef4;--tw-yellow:#f9e8a9;--tw-shadow:#cfdee2;--bg:var(--tw-paper);--paper:var(--tw-paper);--white:var(--tw-card);--surface:var(--tw-card);--surface-2:var(--tw-blue);--ink:var(--tw-ink);--muted:var(--tw-muted);--line:var(--tw-line);--accent:var(--tw-accent);--coral:var(--tw-accent);--accent-soft:var(--tw-soft);--soft:var(--tw-soft);--nav:var(--tw-paper)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--tw-paper:#17252d;--tw-card:#20343e;--tw-ink:#edf5f5;--tw-muted:#b9c9ce;--tw-line:#4a6570;--tw-accent:#ffb4a0;--tw-soft:#443c34;--tw-blue:#294651;--tw-yellow:#464331;--tw-shadow:#0d191f}}
[data-theme="dark"]{color-scheme:dark;--tw-paper:#17252d;--tw-card:#20343e;--tw-ink:#edf5f5;--tw-muted:#b9c9ce;--tw-line:#4a6570;--tw-accent:#ffb4a0;--tw-soft:#443c34;--tw-blue:#294651;--tw-yellow:#464331;--tw-shadow:#0d191f;--bg:var(--tw-paper);--paper:var(--tw-paper);--white:var(--tw-card);--surface:var(--tw-card);--surface-2:var(--tw-blue);--ink:var(--tw-ink);--muted:var(--tw-muted);--line:var(--tw-line);--accent:var(--tw-accent);--coral:var(--tw-accent);--accent-soft:var(--tw-soft);--soft:var(--tw-soft);--nav:var(--tw-paper)}
body{background:var(--tw-paper);color:var(--tw-ink)}.tw-site-header{width:min(1280px,calc(100% - 48px));margin:0 auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:2px solid var(--tw-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5}.tw-site-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;color:var(--tw-ink);font-weight:760;font-size:20px;letter-spacing:-.025em}.tw-mark{display:grid;place-items:center;background:var(--tw-yellow);color:var(--tw-ink);border:2px solid var(--tw-ink);border-radius:13px 15px 11px 16px;width:45px;height:42px;font-size:16px;transform:rotate(-6deg);box-shadow:2px 2px 0 var(--tw-shadow);letter-spacing:-.08em}.tw-site-nav{display:flex;align-items:center;gap:23px;font-size:13px;white-space:nowrap}.tw-site-nav a{color:var(--tw-muted);text-decoration:none;padding:7px 0;border-bottom:2px solid transparent}.tw-site-nav a[aria-current="page"]{color:var(--tw-accent);border-color:var(--tw-accent);font-weight:680}.tw-site-nav a:hover{color:var(--tw-accent)}.tw-page-intro{width:min(900px,calc(100% - 48px));margin:32px auto 37px;background:var(--tw-blue);border:1.5px solid var(--tw-ink);border-radius:19px;padding:20px 24px;box-shadow:4px 4px 0 var(--tw-shadow);font-size:14px;line-height:1.9}.tw-page-intro p{margin:0 0 9px}.tw-page-intro a{font-weight:650;color:var(--tw-accent);text-underline-offset:4px}.tw-page-intro strong{font-size:13px;display:block;margin-bottom:7px}.tw-prep .hero{min-height:540px;margin:24px auto 0;width:min(1280px,calc(100% - 48px));border:8px solid var(--tw-card);border-radius:23px;box-shadow:5px 6px 0 var(--tw-shadow)}.tw-prep .hero h1{font-size:clamp(34px,4.7vw,62px);line-height:1.2;max-width:840px}.tw-prep .hero h1 span{font-size:.35em;line-height:1.5}.tw-prep .hero-inner{padding-top:80px}.tw-prep .love-stamp{background:var(--tw-yellow);border:2px solid #293e4a;color:#293e4a;box-shadow:none;line-height:1.3;font-size:19px;font-weight:700;letter-spacing:-.06em}.tw-prep .kicker{color:#fff}.tw-prep .topbar{background:var(--tw-paper)}.tw-prep .wordmark{font-size:14px}.tw-prep .twins-mark span{font-size:11px;background:var(--tw-accent)}.tw-prep .trip-status{background:var(--tw-card)}.tw-prep .status-strip{margin-top:20px}.tw-prep .section h2{font-size:clamp(30px,4vw,45px)}.tw-prep .footer h2{font-size:clamp(30px,4vw,48px)}.tw-prep .theme-toggle{background:var(--tw-card);color:var(--tw-ink);border:1px solid var(--tw-line)}.tw-prep .toast{background:var(--tw-ink);color:var(--tw-paper)}.tw-notes .hero h1{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:760;letter-spacing:-.045em}.tw-notes .hero-heading{margin:45px auto 35px}.tw-notes .hero-figure{width:min(1280px,calc(100% - 48px));padding:12px 12px 0;background:var(--tw-card);border:1.5px solid var(--tw-ink);border-radius:10px;box-shadow:6px 7px 0 var(--tw-shadow);transform:rotate(-.45deg);position:relative}.tw-notes .hero-figure:before{content:"";position:absolute;top:-13px;left:calc(50% - 48px);height:25px;width:96px;background:var(--tw-yellow);border:1px solid var(--tw-line);transform:rotate(3deg)}.tw-notes .hero-figure img{border-radius:3px}.tw-notes .hero-figure figcaption{width:100%;padding:12px 3px 15px;line-height:1.7;font-size:11px}.tw-notes .mobile-nav{background:var(--tw-paper)}.tw-notes .canvas{padding-top:40px;gap:38px}.tw-notes .side nav{background:var(--tw-yellow);padding:17px 16px;border:1px solid var(--tw-line);border-radius:15px}.tw-notes .side nav a{font-size:13px;line-height:1.8}.tw-notes .side-title{font-size:13px;color:var(--tw-ink);font-weight:700}.tw-notes .article{background:var(--tw-card);border:1px solid var(--tw-line);border-radius:25px;padding:35px 33px}.tw-notes .chapter h2,.tw-notes .closing h2{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:700;letter-spacing:-.025em}.tw-notes .chapter h2{font-size:35px}.tw-notes .photo a{padding:7px;background:var(--tw-card);border:1px solid var(--tw-line);border-radius:5px;box-shadow:3px 4px 0 var(--tw-shadow)}.tw-notes .photo figcaption{padding:13px 4px 0}.tw-notes .takeaway{background:var(--tw-blue);color:var(--tw-ink);border:1px solid var(--tw-line);border-left:3px solid var(--tw-accent);border-radius:3px 13px 13px 3px}.tw-notes .route-map{background:var(--tw-card);border-radius:9px}.tw-notes .route-map figcaption{color:var(--tw-muted)}.tw-notes .closing{border-top:2px dashed var(--tw-accent)}.tw-notes .viewer{background:var(--tw-card);color:var(--tw-ink);border:2px solid var(--tw-ink);border-radius:13px}.tw-notes .viewer-top{color:var(--tw-muted)}.tw-notes .viewer button{background:var(--tw-blue);color:var(--tw-ink);border:1px solid var(--tw-line);border-radius:7px}.tw-notes .viewer::backdrop{background:rgba(15,30,39,.83)}
@media(max-width:900px){.tw-site-header{gap:14px}.tw-site-brand{font-size:17px}.tw-site-nav{gap:15px;font-size:12px}.tw-notes .article{padding:25px}.tw-prep .topbar-row{gap:10px}.tw-prep .primary-nav{gap:12px}.tw-prep .wordmark{font-size:12px}}
@media(max-width:760px){.tw-site-header{width:calc(100% - 32px);padding:14px 0;min-height:72px;flex-wrap:wrap;gap:12px}.tw-site-brand{font-size:19px}.tw-mark{width:37px;height:35px;font-size:14px}.tw-site-nav{width:100%;gap:22px;font-size:12px;justify-content:flex-start}.tw-site-nav a{padding:2px 0 6px}.tw-page-intro{width:calc(100% - 36px);padding:17px 18px;margin:28px auto 29px;font-size:13px;border-radius:14px}.tw-prep .hero{width:calc(100% - 24px);margin-top:19px;min-height:500px;border-width:6px;border-radius:19px}.tw-prep .hero h1{font-size:38px;line-height:1.25}.tw-prep .hero h1 span{font-size:.42em;max-width:270px}.tw-prep .hero-inner{padding-top:70px;padding-bottom:65px}.tw-prep .love-stamp{font-size:14px;bottom:17px;right:13px}.tw-prep .wordmark{font-size:13px}.tw-prep .mobile-dock{background:var(--tw-card);border:1px solid var(--tw-ink);box-shadow:3px 3px 0 var(--tw-shadow);backdrop-filter:none}.tw-prep .mobile-dock a{color:var(--tw-ink);font-size:11px}.tw-prep .mobile-dock a:active{background:var(--tw-blue);color:var(--tw-ink)}.tw-notes .hero-heading{margin:33px auto 29px}.tw-notes .hero h1{font-size:40px;line-height:1.35}.tw-notes .hero-figure{width:calc(100% - 30px);padding:8px 8px 0;box-shadow:4px 5px 0 var(--tw-shadow)}.tw-notes .hero-figure figcaption{font-size:10px;display:block;padding:10px 1px 12px}.tw-notes .hero-figure figcaption span{display:block}.tw-notes .canvas{width:calc(100% - 24px);padding-top:10px}.tw-notes .article{padding:24px 16px;border-radius:18px}.tw-notes .chapter h2{font-size:29px}.tw-notes .photo a{padding:4px;box-shadow:2px 3px 0 var(--tw-shadow)}.tw-notes .photo figcaption{font-size:11px}.tw-notes .closing h2{font-size:28px}.tw-notes .mobile-nav{margin-top:0}.tw-notes .gallery{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.tw-site-header,.tw-page-intro{display:none!important}body{background:#fff;color:#111}.tw-notes .article{padding:0;border:0;border-radius:0}.tw-notes .hero-figure,.tw-notes .photo a,.tw-prep .hero{box-shadow:none;transform:none;border:0}.tw-notes .hero-figure:before{display:none}.tw-notes .hero-figure img{max-height:220px;width:auto}.tw-notes .canvas{width:100%}.tw-notes .takeaway{background:#f4f4f1;color:#222}.tw-notes .side{display:none}.tw-notes .hero-figure figcaption{color:#444}}
/* Keep desktop navigation compact and primary controls legible in both palettes. */
@media(min-width:761px){.tw-site-header{min-height:76px;padding-block:14px}}
.tw-prep .button:not(.secondary),.tw-prep .small-button.primary,.tw-prep .calendar-button{color:var(--tw-paper);background:var(--tw-accent)}

.tw-prep .hero h1 .prep-title-line{display:inline;font-size:1em;line-height:1.25;margin:0;color:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap}
@media(max-width:760px){.tw-prep .hero h1 .prep-title-line{display:block;max-width:none}}

/* Notes-only reading aids: opening bubbles, practical slips and small anecdotes.
   Existing shared palette supplies equal contrast in system light/dark modes. */
.tw-notes .tw-read-note{max-width:740px;margin:28px auto 30px;position:relative;break-inside:avoid;color:var(--tw-ink)}
.tw-notes .tw-note-paper{padding:19px 23px;border:1.5px solid var(--tw-ink);border-radius:16px;background:var(--tw-blue);position:relative}
.tw-notes .tw-note-paper h4{font:720 16px/1.65 var(--sans);margin:0 0 7px;display:flex;gap:9px;align-items:baseline}
.tw-notes .tw-note-paper h4 span{flex:none;font-size:22px;line-height:1}
.tw-notes .tw-note-paper p{font-size:15px;line-height:1.9;margin:0;color:var(--tw-ink)}
.tw-notes .tw-read-note.has-sticker{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:center}
.tw-notes .tw-note-sticker{width:84px;height:84px;object-fit:contain;transform:rotate(-5deg)}
.tw-notes .tw-read-note--opening .tw-note-paper{box-shadow:3px 4px 0 var(--tw-shadow);border-radius:19px 19px 19px 4px}
.tw-notes .tw-read-note--opening.has-sticker .tw-note-paper:before{content:"";position:absolute;left:-7px;top:calc(50% - 6px);width:11px;height:11px;background:var(--tw-blue);border-left:1.5px solid var(--tw-ink);border-bottom:1.5px solid var(--tw-ink);transform:rotate(45deg)}
.tw-notes .tw-read-note--action{padding-top:9px}
.tw-notes .tw-read-note--action .tw-note-paper{background:var(--tw-yellow);border-color:var(--tw-line);border-radius:4px 4px 14px 4px;border-left:3px solid var(--tw-accent);padding-top:23px}
.tw-notes .tw-read-note--action .tw-note-paper:before{content:"";position:absolute;top:-9px;left:22px;width:63px;height:16px;background:var(--tw-soft);border:1px solid var(--tw-line);transform:rotate(-4deg)}
.tw-notes .tw-read-note--episode .tw-note-paper{background:var(--tw-card);border:0;border-block:1.5px dashed var(--tw-accent);border-radius:0;padding:17px 0}
.tw-notes .tw-read-note--episode .tw-note-sticker{transform:rotate(5deg)}
.tw-notes .tw-reading-key{font-weight:720;text-decoration:underline;text-decoration-color:var(--tw-accent);text-decoration-thickness:2px;text-underline-offset:5px}
.tw-notes .tw-chapter-doodle{display:inline-block;font-size:.78em;vertical-align:2px;margin-right:12px;transform:rotate(-7deg)}
@media(max-width:760px){
 .tw-notes .tw-read-note{margin-block:24px}
 .tw-notes .tw-read-note.has-sticker{grid-template-columns:minmax(0,1fr);gap:0}
 .tw-notes .tw-note-sticker{width:72px;height:72px;margin:0 0 -4px 8px}
 .tw-notes .tw-note-paper{padding:17px 18px}
 .tw-notes .tw-note-paper h4{font-size:16px;gap:8px}
 .tw-notes .tw-note-paper p{font-size:15px;line-height:1.9}
 .tw-notes .tw-read-note--opening.has-sticker .tw-note-paper:before{left:34px;top:-7px;transform:rotate(135deg)}
 .tw-notes .tw-read-note--episode.has-sticker .tw-note-sticker{margin-left:auto;margin-right:8px;margin-bottom:5px}
 .tw-notes .tw-chapter-doodle{margin-right:9px}
}
@media print{
 .tw-notes .tw-read-note{color:#222;margin-block:15px}
 .tw-notes .tw-read-note.has-sticker{display:block}
 .tw-notes .tw-note-sticker,.tw-notes .tw-chapter-doodle,.tw-notes .tw-note-paper:before,.tw-notes .tw-note-paper h4 span{display:none!important}
 .tw-notes .tw-read-note .tw-note-paper{background:#f4f4f1;color:#222;border:1px solid #aaa;border-radius:0;box-shadow:none;padding:12px}
 .tw-notes .tw-note-paper p{color:#222;font-size:10pt;line-height:1.7}
 .tw-notes .tw-note-paper h4{font-size:11pt}
 .tw-notes .tw-reading-key{text-decoration:none}
}

/* Accommodation chapter: a small mail-booking workflow within the original read width. */
.tw-notes .tw-stay .reading>p{font-size:16px;line-height:1.95;margin:0 0 20px}
.tw-notes .tw-stay-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:29px 0 31px;padding:20px 0;border-block:1px dashed var(--tw-line)}
.tw-notes .tw-stay-steps li{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px 8px;align-items:center}
.tw-notes .tw-stay-steps li>span:first-child{font-size:25px;grid-row:1/3;transform:rotate(-6deg)}
.tw-notes .tw-stay-steps b{font-size:15px;line-height:1.7}
.tw-notes .tw-stay-steps li>span:last-child{font-size:13px;color:var(--tw-muted);line-height:1.8}
.tw-notes .tw-stay-reminder{max-width:740px;margin:28px auto 0;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px}
.tw-notes .tw-stay-reminder>img{width:82px;height:82px;object-fit:contain;transform:rotate(-5deg)}
.tw-notes .tw-stay-reminder>div{background:var(--tw-yellow);padding:17px 20px;border:1px solid var(--tw-line);border-radius:17px 17px 17px 4px}
.tw-notes .tw-stay-reminder strong{font-size:15px;line-height:1.8}
.tw-notes .tw-stay-reminder p{font-size:14px;line-height:1.9;margin:6px 0 0}
@media(max-width:760px){
 .tw-notes .tw-stay-steps{grid-template-columns:1fr;gap:16px;padding-block:19px}
 .tw-notes .tw-stay-steps li{grid-template-columns:32px minmax(0,1fr)}
 .tw-notes .tw-stay-reminder{grid-template-columns:1fr;gap:0}
 .tw-notes .tw-stay-reminder>img{width:72px;height:72px;margin:0 0 -3px 8px}
 .tw-notes .tw-stay-reminder>div{padding:16px 18px}
}
@media print{
 .tw-notes .tw-stay .reading>p{font-size:10pt;line-height:1.7}
 .tw-notes .tw-stay-steps{grid-template-columns:repeat(3,minmax(0,1fr));break-inside:avoid;margin-block:15px;padding-block:12px}
 .tw-notes .tw-stay-steps li{display:block}
 .tw-notes .tw-stay-steps li>span:first-child,.tw-notes .tw-stay-reminder>img,.tw-notes .tw-stay-reminder strong span{display:none}
 .tw-notes .tw-stay-steps li>span:last-child{display:block;color:#444}
 .tw-notes .tw-stay-reminder{display:block;break-inside:avoid;margin-top:15px}
 .tw-notes .tw-stay-reminder>div{border:1px solid #aaa;border-radius:0;background:#f4f4f1;color:#222}
}

/* Three actual booking steps, with compact paper-slip treatment. */
.tw-notes .tw-stay-steps{border:0;padding-block:9px;gap:14px}
.tw-notes .tw-stay-steps li{position:relative;padding:17px 12px 14px;border:1px solid var(--tw-line);border-radius:11px;background:var(--tw-blue);gap:4px 6px}
.tw-notes .tw-stay-steps li:nth-child(2){background:var(--tw-yellow)}
.tw-notes .tw-stay-steps li:nth-child(3){background:var(--tw-soft)}
.tw-notes .tw-stay-steps li:before{content:"";position:absolute;top:-6px;right:17px;width:31px;height:11px;background:var(--tw-card);border:1px solid var(--tw-line);transform:rotate(7deg)}
@media(max-width:760px){
 .tw-notes .tw-stay-steps{gap:14px;margin-block:25px}
 .tw-notes .tw-stay-steps li{padding:13px 15px;grid-template-columns:32px minmax(0,1fr);gap:0 8px}
}
/* Printing must be legible even when the system palette is dark. Scoped body
   variables override inherited dark tokens without changing other pages. */
@media print{
 body.tw-notes{color-scheme:light;--tw-card:#fff;--tw-paper:#fff;--tw-ink:#222;--tw-muted:#555;--tw-line:#aaa;--tw-blue:#f4f4f1;--tw-yellow:#f4f4f1;--tw-soft:#f4f4f1;--tw-accent:#444;--tw-shadow:#ddd;--paper:#fff;--white:#fff;--ink:#222;--muted:#555;--line:#aaa;--soft:#f4f4f1;--coral:#444;background:#fff!important;color:#222!important}
 .tw-notes .article{background:#fff!important;color:#222!important}
 .tw-notes .chapter-lead,.tw-notes .chapter-date{color:#555}
 .tw-notes .tw-stay-steps{padding:0}
 .tw-notes .tw-stay-steps li{padding:10px;border:1px solid #aaa;border-radius:0;background:#f4f4f1!important}
 .tw-notes .tw-stay-steps li:before{display:none}
}

/* Europe reading layer: stable signposts, not replacements for the original prose. */
.tw-notes .tw-topic-line{margin:0 0 17px;line-height:1.65}
.tw-notes .tw-topic-chip{display:inline-flex;align-items:baseline;gap:7px;max-width:100%;padding:5px 12px;border:1px solid var(--tw-line);border-radius:14px 14px 14px 5px;background:var(--tw-yellow);font-size:13px;font-weight:650;line-height:1.7;color:var(--tw-ink)}
.tw-notes .tw-topic-chip>span{font-size:17px;flex:none}
.tw-notes .prepare-item .tw-topic-chip{background:var(--tw-blue)}
.tw-notes .practical-item .tw-topic-chip{background:var(--tw-soft)}
.tw-notes .tw-inline-chip{background:var(--tw-blue);border-radius:6px;padding:1px 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-weight:650;color:var(--tw-ink)}
.tw-notes .tw-reading-companion{display:none}
@media(max-width:800px){
 html:has(body.tw-notes){scroll-padding-top:70px}
 .tw-notes .chapter,.tw-notes .story,.tw-notes .closing{scroll-margin-top:0}
 .tw-notes .tw-reading-companion{display:block;position:sticky;top:0;z-index:20;background:var(--tw-paper);border-block:1px solid var(--tw-line);margin:0}
 .tw-notes .tw-reading-companion summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:54px;padding:5px 16px;cursor:pointer;color:var(--tw-ink)}
 .tw-notes .tw-reading-companion summary::-webkit-details-marker{display:none}
 .tw-notes .tw-reading-companion summary:focus-visible{outline:3px solid var(--tw-accent);outline-offset:-3px}
 .tw-notes .tw-reading-companion summary:active{background:var(--tw-blue)}
 .tw-notes .tw-reading-companion summary>img{width:40px;height:40px;object-fit:contain;flex:none}
 .tw-notes .tw-companion-copy{display:flex;flex-direction:column;min-width:0;line-height:1.4;flex:1}
 .tw-notes .tw-companion-copy>span{font-size:10px;color:var(--tw-muted)}
 .tw-notes .tw-companion-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tw-notes .tw-contents-toggle{font-size:12px;flex:none;padding:5px 9px;border:1px solid var(--tw-line);border-radius:12px;background:var(--tw-yellow)}
 .tw-notes .tw-reading-companion[open] .tw-contents-toggle>span{display:inline-block;transform:rotate(180deg)}
 .tw-notes .tw-reading-companion .mobile-nav{position:static;margin:0;border-top:1px dashed var(--tw-line);border-bottom:0;padding:9px 16px;gap:20px;min-height:43px}
 .tw-notes .tw-reading-companion:not([open]) .mobile-nav{display:none}
 .tw-notes .tw-topic-line{margin-bottom:14px}
}
@media print{
 .tw-notes .tw-reading-companion,.tw-notes .tw-topic-line{display:none!important}
 .tw-notes .tw-inline-chip{background:none;padding:0;color:inherit;box-shadow:none}
}
