/* Small, browser-local comforts for a longer journey. */
body { padding-bottom:72px; }
.world-tools { position:fixed; z-index:90; bottom:18px; right:23px; display:flex; align-items:center; gap:5px; padding:7px; background:#fff9f0f5; border:1px solid #d7bdc4; border-radius:9px; box-shadow:0 7px 27px #5d39491a; backdrop-filter:blur(12px); }
.world-tools button,.world-tools a { border:0; background:transparent; color:#94647a; padding:10px 13px; min-height:38px; border-radius:5px; font-size:10px; text-align:center; }
.world-tools button:hover,.world-tools a:hover,.world-tools button[aria-pressed="true"] { background:#f2dfe5; }
.world-tools .world-divider { width:1px;height:19px;background:#e0c9c5;margin-inline:3px; }
.studio-view { min-height:100vh; padding-bottom:35px; background:radial-gradient(ellipse at 90% 5%,#efdce5,transparent 40%),#faf5ee; }
.studio-shell { width:min(1180px,calc(100% - 80px)); }.studio-nav { display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-bottom:1px solid #e4cdc6; }.studio-nav a { color:#986a7b;font-size:11px;padding:10px 0; }
.studio-heading { text-align:center;padding:43px 0 36px; }.studio-heading .eyebrow { justify-content:center;font-size:8px;letter-spacing:2px; }.studio-heading h1 { font:44px/1.5 var(--serif);margin:0;color:#705363; }.studio-heading h1 em { color:#a46b85;font-style:normal; }.studio-heading > p:last-child { color:#9b8076;font-size:12px;line-height:1.9;margin:14px auto 0;max-width:580px; }
.postcard-layout { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr);gap:30px;align-items:start; }.postcard-preview { position:sticky;top:24px;border:1px solid #dac0bd;border-radius:8px;padding:21px;background:#f4e8db;box-shadow:6px 7px 0 #e6d6cc55; }.postcard-preview-label { display:block;font:8px var(--mono);letter-spacing:2px;color:#ad8c7a;margin-bottom:17px; }#postcard-canvas { display:block;width:100%;height:auto;background:#fff9f2;border:1px solid #e1cabc;box-shadow:0 10px 25px #8c6a4512; }#postcard-status { font-size:10px;color:#9d7d72;line-height:1.8;margin:16px 0 0; }
.postcard-controls { display:grid;padding:27px;background:#fffaf5;border:1px solid #dabdc5;border-radius:7px; }.postcard-controls h2 { font:29px var(--serif);margin:1px 0 20px; }.postcard-controls label { font-size:11px;color:#947568;margin:16px 0 9px; }.postcard-controls select,.postcard-controls textarea { width:100%;border:1px solid #dfc9c4;border-radius:5px;background:#fffdfa;color:#795762;padding:12px;font:12px var(--sans);min-height:44px; }.postcard-controls textarea { resize:vertical;line-height:1.8; }.postcard-controls select:focus-visible,.postcard-controls textarea:focus-visible { outline:2px solid #a36e85;outline-offset:3px; }#postcard-download { margin-top:24px;font-size:12px; }#postcard-download:disabled { opacity:.55;cursor:wait; }.studio-note { font-size:9px;color:#a28a7e;line-height:1.8;margin-bottom:0; }
.save-backup-panel { display:grid;grid-template-columns:1.15fr 1fr;gap:45px;margin-top:47px;padding:31px;border:1px solid #d8c3b5;border-radius:7px;background:#f3eade; }.save-backup-panel .eyebrow { font-size:7px;margin-bottom:15px; }.save-backup-panel h2 { font:29px/1.5 var(--serif); }.save-backup-panel > div > p:last-child { color:#947b6e;font-size:11px;line-height:2; }.backup-actions { display:flex;gap:11px;align-items:start;align-content:center;flex-wrap:wrap; }.backup-actions button,.backup-import-label { display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:12px 17px;border:1px solid #cfacb9;background:#fff8f0;border-radius:5px;color:#99677e;font-size:11px;cursor:pointer; }.backup-actions { position:relative; }#backup-file { position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%); }.backup-actions:has(#backup-file:focus-visible) .backup-import-label { outline:2px solid #a36e85;outline-offset:3px; }#backup-status { flex:1 0 100%;font-size:10px;color:#997d71;line-height:1.9;margin:2px 0 0; }.studio-footer { display:flex;justify-content:space-between;gap:22px;padding-top:28px;color:#a18a7d;font-size:10px; }.studio-footer a { color:#9c6980; }#backup-confirm { max-width:480px; }#backup-confirm h2 { font:30px/1.5 var(--serif); }#backup-confirm p { font-size:12px;line-height:2;color:#927469; }.backup-confirm-actions { display:flex;justify-content:flex-end;gap:12px;margin-top:25px; }.backup-confirm-actions button { padding:12px 18px;min-height:44px;border:1px solid #d2b5bd;border-radius:5px;font-size:11px; }.backup-confirm-actions .primary { color:#fffaf5; }
/* Night means moonlit scenery with warm readable paper windows, not white-on-white panels. */
:root[data-theme="night"][data-world-active="true"] { --rose:#896784; --paper:#f2edf1; --ink:#493e52; --muted:#827182; --line:#dbccd5; }
[data-theme="night"][data-world-active="true"] body { background:#f2edf1; }[data-theme="night"][data-world-active="true"] .site-header { background:#202c40; }[data-theme="night"][data-world-active="true"] .brand { color:#f2dfeb; }[data-theme="night"][data-world-active="true"] .desktop-nav { background:#304058;border-color:#596176; }[data-theme="night"][data-world-active="true"] .desktop-nav a { color:#e3cbdc; }[data-theme="night"][data-world-active="true"] .desktop-nav a.current,[data-theme="night"][data-world-active="true"] .desktop-nav a:hover { background:#536078;color:#fff3f8; }[data-theme="night"][data-world-active="true"] .header-note { color:#d7bdcf; }[data-theme="night"][data-world-active="true"] .header-note small { color:#aa9eb3; }[data-theme="night"][data-world-active="true"] .header-inner { border-color:#5b6177; }
[data-theme="night"][data-world-active="true"] #main::before { opacity:1;background:radial-gradient(circle at 78% 13%,#9d87ac55,transparent 26%),linear-gradient(#25344bef,#26384ddd 70%,#f2edf1),url('../assets/profile-garden.webp?v=98b8e977d4') center 35% / cover; }[data-theme="night"][data-world-active="true"] .hero h1 { color:#f7e9ef; }[data-theme="night"][data-world-active="true"] .hero .ink-word { color:#e5acc7; }[data-theme="night"][data-world-active="true"] .hero-name,[data-theme="night"][data-world-active="true"] .hero-name > span:last-child { color:#d8c1d4; }[data-theme="night"][data-world-active="true"] .hero-description { color:#c5b8c7; }[data-theme="night"][data-world-active="true"] .hero-copy .eyebrow,[data-theme="night"][data-world-active="true"] .journal-edition { color:#cdb3ce; }[data-theme="night"][data-world-active="true"] .hero-footnote { color:#b9aec2; }[data-theme="night"][data-world-active="true"] .hero-actions .text-link { color:#e7cbdc; }[data-theme="night"][data-world-active="true"] .hero-art-v2 { outline-color:#86758d;border-color:#9c859d;box-shadow:0 15px 70px #0f19202b; }[data-theme="night"][data-world-active="true"] .hero-art-v2 .vertical-note { color:#d0bacd; }
[data-theme="night"][data-world-active="true"] .profile-view { background:#ede7ed; }[data-theme="night"][data-world-active="true"] .profile-backdrop { background:linear-gradient(#263349d9,#354358b8 35%,#ede7ed 85%),url('../assets/profile-garden.webp?v=98b8e977d4') center top / 100% auto no-repeat; }[data-theme="night"][data-world-active="true"] .profile-heading h1 { color:#f7e8f0; }[data-theme="night"][data-world-active="true"] .profile-heading h1 em { color:#e4b6ce; }[data-theme="night"][data-world-active="true"] .profile-heading .eyebrow,[data-theme="night"][data-world-active="true"] .profile-heading > p:last-of-type,[data-theme="night"][data-world-active="true"] .profile-chapter { color:#cbb8ce; }[data-theme="night"][data-world-active="true"] .profile-topbar { border-color:#8190a066; }[data-theme="night"][data-world-active="true"] .profile-home { background:#eee1ebeb;border-color:#a997b0; }
[data-theme="night"][data-world-active="true"] .adventure-view { background:linear-gradient(#243047,#ede7ed 800px); }[data-theme="night"][data-world-active="true"] .adventure-breadcrumb { color:#cbb4c9; }[data-theme="night"][data-world-active="true"] .adventure-breadcrumb > span:last-child { color:#efcde0; }[data-theme="night"][data-world-active="true"] .adventure-header { border-color:#8d809b;background:#34435a; }[data-theme="night"][data-world-active="true"] .adventure-scenery { background:linear-gradient(90deg,#26354be8,#39495bb3 70%,#39425988),url('../assets/profile-garden.webp?v=98b8e977d4') center 55% / cover; }[data-theme="night"][data-world-active="true"] .adventure-header h1 { color:#f3c5df; }[data-theme="night"][data-world-active="true"] .adventure-header h1 > span,[data-theme="night"][data-world-active="true"] .adventure-intro,[data-theme="night"][data-world-active="true"] .adventure-header .eyebrow,[data-theme="night"][data-world-active="true"] .adventure-header-note p,[data-theme="night"][data-world-active="true"] .adventure-header-note small { color:#d1b8ca; }[data-theme="night"][data-world-active="true"] .adventure-trail li { color:#d5b7ca; }
[data-theme="night"][data-world-active="true"] .studio-view { background:linear-gradient(#2b364d,#f0e8ef 670px); }[data-theme="night"][data-world-active="true"] .studio-heading h1 { color:#f3e3ee; }[data-theme="night"][data-world-active="true"] .studio-heading h1 em { color:#edbad5; }[data-theme="night"][data-world-active="true"] .studio-heading > p:last-child,[data-theme="night"][data-world-active="true"] .studio-heading .eyebrow,[data-theme="night"][data-world-active="true"] .studio-nav a { color:#d9c0d3; }[data-theme="night"][data-world-active="true"] .studio-nav { border-color:#85728b; }[data-theme="night"][data-world-active="true"] .world-tools { background:#2d3a50ed;border-color:#8b7795; }[data-theme="night"][data-world-active="true"] .world-tools button,[data-theme="night"][data-world-active="true"] .world-tools a { color:#e4c2d8; }[data-theme="night"][data-world-active="true"] .world-tools button:hover,[data-theme="night"][data-world-active="true"] .world-tools a:hover,[data-theme="night"][data-world-active="true"] .world-tools button[aria-pressed="true"] { background:#536078; }[data-theme="night"][data-world-active="true"] .world-divider { background:#81708e; }
@media(max-width:900px){.postcard-layout { grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr);gap:23px; }.postcard-controls { padding:24px; }.postcard-preview { padding:18px; }.studio-heading h1 { font-size:38px; }.save-backup-panel { gap:28px;padding:26px; }}
@media(max-width:700px){body { padding-bottom:80px; }.world-tools { bottom:10px;right:12px;left:12px;justify-content:center;gap:3px;padding:7px 5px; }.world-tools button,.world-tools a { padding:10px 12px;min-height:40px;font-size:10px; }.studio-shell { width:calc(100% - 36px); }.studio-heading { padding:33px 0 28px; }.studio-heading h1 { font-size:32px;line-height:1.55; }.studio-heading > p:last-child { font-size:11px; }.postcard-layout { grid-template-columns:1fr;gap:24px; }.postcard-preview { position:static; }.postcard-controls { padding:25px; }.save-backup-panel { grid-template-columns:1fr;gap:20px;padding:26px 23px;margin-top:32px; }.save-backup-panel h2 { font-size:28px; }.studio-footer { font-size:9px;line-height:1.9; }.postcard-preview-label { font-size:7px; }.studio-nav { padding-block:18px; }.studio-nav a { font-size:10px; }[data-theme="night"][data-world-active="true"] #main::before { height:1100px; }[data-theme="night"][data-world-active="true"] .mobile-nav { background:#354156; }[data-theme="night"][data-world-active="true"] .mobile-nav a { color:#e7ccdc;border-color:#627085; }[data-theme="night"][data-world-active="true"] .menu-toggle { background:#eee1eb; }}
@media(max-width:360px){.world-tools button,.world-tools a { padding-inline:8px;font-size:9px; }.world-tools .world-divider { margin-inline:0; }.studio-shell { width:calc(100% - 28px); }.studio-heading h1 { font-size:28px; }.postcard-controls { padding:22px; }.backup-actions button,.backup-import-label { padding-inline:12px;font-size:10px; }}
@media(prefers-reduced-motion:reduce){.world-tools * { transition:none!important; }}
.profile-next-stops { display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:28px 0 0; }.profile-next-stops a { font:18px var(--serif);color:#a07487;padding:12px 18px;border:1px solid #d5b9c3;border-radius:5px;background:#fff7eee8; }

.world-tools[hidden]{display:none}
html:not([data-world-active="true"]) body{padding-bottom:0}
/* Desktop: the world header already links to 营地 and 明信片, so the floating dock keeps only the two toggles. */
@media(min-width:701px){.world-tools .world-divider,.world-tools .camp-entry,.world-tools .studio-entry{display:none}}
/* Wide screens: stand the dock upright inside the right page margin so it never covers the 1180px column. */
@media(min-width:1400px){.world-tools{flex-direction:column;align-items:stretch}}

