/* Travel Together v5.0: shared responsive layout and distinctive theme compositions.
   Scope every layout to an active theme, keeping the same underlying data and handlers. */
body[data-layout-theme] { --v5-paper:#fffdf7; --v5-line:#d8c7b0; --v5-accent:#729982; --v5-text:#514536; --v5-radius:20px; --v5-shadow:3px 4px 0 #e9dcc9; }
body[data-layout-theme] #app {display:grid;grid-template-columns:minmax(205px,245px) minmax(0,1fr);gap:20px;align-items:start;}
body[data-layout-theme] #app>nav.journal-nav {grid-column:1;grid-row:1 / span 3;position:sticky;top:14px;display:block;padding:13px;max-height:calc(100dvh - 28px);overflow:auto;background:var(--v5-paper);border:1px solid var(--v5-line);border-radius:var(--v5-radius);box-shadow:var(--v5-shadow);}
body[data-layout-theme] #app>.trip-theme-banner,body[data-layout-theme] #app>.trip-compact-return{grid-column:2;grid-row:1;min-width:0}
body[data-layout-theme] #app>#content{grid-column:2;min-width:0;}
body[data-layout-theme] #app .journal-nav-head{color:var(--v5-text);}
body[data-layout-theme] #app .journal-nav-title{background:color-mix(in srgb,var(--v5-accent) 16%,white);color:var(--v5-text);border-radius:12px;padding:8px 10px;font-weight:750;}
body[data-layout-theme] #app .journal-nav-section button{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:10px 11px;margin:5px 0;border:1px solid var(--v5-line);background:var(--v5-paper);color:var(--v5-text);border-radius:var(--v5-radius);font:inherit;cursor:pointer;}
body[data-layout-theme] #app .journal-nav-section button.active{background:var(--v5-accent);color:white;border-color:var(--v5-accent)}
body[data-layout-theme] #app .journal-nav-arrow{margin-left:auto;}
body[data-layout-theme] .journal-page-intro{background:color-mix(in srgb,var(--v5-accent) 15%,white);border:1px solid var(--v5-line);border-radius:var(--v5-radius);padding:16px 20px;margin:8px 0 18px;}
body[data-layout-theme] .journal-intro-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
body[data-layout-theme] .journal-intro-art{font-size:46px}
body[data-layout-theme] .journal-content .card{border-radius:var(--v5-radius)}
/* Distinctive illustrated cat-world: soft bubble navigation, paw-print accents, plush cards. */
body[data-layout-theme="cat"]{--v5-paper:#f8fffa;--v5-line:#b8d8cb;--v5-accent:#438b76;--v5-text:#315b52;--v5-radius:26px;--v5-shadow:0 7px 22px #80b8a42e;background:radial-gradient(circle at 15% 10%,#e5f6e9 0 10%,transparent 27%),#f3f9f2}
body[data-layout-theme="cat"] #app>nav.journal-nav{background:linear-gradient(160deg,#e0f3e8,#f8fff9 50%,#fef7e7);border:2px solid #a5d5c1}
body[data-layout-theme="cat"] .journal-nav-head{border-radius:24px;background:#c9eadc;padding:16px!important;margin-bottom:14px}
body[data-layout-theme="cat"] .journal-nav-head:after{content:'🐾  🐈  🐾';letter-spacing:12px;font-size:21px}
body[data-layout-theme="cat"] #app .journal-nav-section button{border-radius:999px;box-shadow:0 3px 0 #d3e8da}
body[data-layout-theme="cat"] .journal-page-intro{background:linear-gradient(125deg,#d5efe2,#fff7dc);border:2px solid #b2d9c5;border-radius:30px}
body[data-layout-theme="cat"] .journal-page-intro:after{content:'🐾';position:absolute;right:20px;opacity:.12;font-size:48px}
body[data-layout-theme="cat"] .journal-content .card{border:1px solid #b7dac9;box-shadow:0 6px 18px #9abfac28}
/* Japan Night: dashboard panels, luminous edge, condensed metro-line navigation. */
body[data-layout-theme="japanNight"]{--v5-paper:#202844;--v5-line:#52618d;--v5-accent:#776cf0;--v5-text:#f2edff;--v5-radius:12px;--v5-shadow:0 0 18px #8276ed33;background:radial-gradient(ellipse at top right,#30305f,#131b33 65%);color:#f2edff}
body[data-layout-theme="japanNight"] #app>nav.journal-nav{background:linear-gradient(180deg,#202844,#151c34);border:1px solid #6975a8;box-shadow:0 0 0 1px #776cf022,0 8px 32px #0005}
body[data-layout-theme="japanNight"] .journal-nav-head{border-bottom:1px solid #52618d;margin-bottom:12px;padding:16px 8px}
body[data-layout-theme="japanNight"] .journal-nav-head:after{content:'TOKYO NIGHT EXPRESS  ✦';font-size:10px;letter-spacing:2px;color:#b5aaff}
body[data-layout-theme="japanNight"] #app .journal-nav-section button{border-left:3px solid #776cf0;border-radius:7px;background:#252d4a}
body[data-layout-theme="japanNight"] #app .journal-nav-section button.active{background:linear-gradient(90deg,#615bd0,#9a66ce)}
body[data-layout-theme="japanNight"] .journal-page-intro{background:linear-gradient(120deg,#242f52,#443466);border:1px solid #8074be;color:#fff;box-shadow:0 0 20px #8e75eb25}
body[data-layout-theme="japanNight"] .journal-page-intro h2,body[data-layout-theme="japanNight"] .journal-page-intro p{color:#f7efff}
body[data-layout-theme="japanNight"] .journal-content .card{border:1px solid #6871a4;box-shadow:0 5px 18px #0002}
/* Other themes: intentional layout personalities, not just palette changes. */
body[data-layout-theme="sakura"]{--v5-paper:#fff9fc;--v5-line:#e5b9cf;--v5-accent:#bd6f9b;--v5-text:#69445d;--v5-radius:30px 10px 30px 12px;--v5-shadow:3px 5px 0 #f3dfe9;background:radial-gradient(circle at 12% 12%,#ffe3ef,transparent 30%),#fff8fb}
body[data-layout-theme="sakura"] .journal-nav-head:after{content:'🌸 ❀ 🌸';display:block;font-size:24px;text-align:center}
body[data-layout-theme="island"]{--v5-paper:#f6fdff;--v5-line:#99d9d9;--v5-accent:#168da2;--v5-text:#176477;--v5-radius:30px 30px 10px 30px;--v5-shadow:0 7px 0 #d2f1ef;background:linear-gradient(180deg,#e6f9fd,#fff8eb)}
body[data-layout-theme="island"] .journal-nav-head:after{content:'🌴 〰 🐚';display:block;font-size:24px;text-align:center}
body[data-layout-theme="europe"],body[data-layout-theme="vintage"]{--v5-paper:#fff9ec;--v5-line:#c5a784;--v5-accent:#99714e;--v5-text:#654b35;--v5-radius:3px;--v5-shadow:5px 5px 0 #e8d8bc;background:repeating-linear-gradient(0deg,#faf1e1 0 29px,#e6d9c433 30px)}
body[data-layout-theme="europe"] .journal-nav-head:after,body[data-layout-theme="vintage"] .journal-nav-head:after{content:'✉  POSTCARD  ✦';display:block;letter-spacing:3px;font-size:11px;text-align:center}
body[data-layout-theme="forest"]{--v5-paper:#f6fbf3;--v5-line:#a8c4a7;--v5-accent:#548466;--v5-text:#36543b;--v5-radius:6px 26px 8px 26px;--v5-shadow:4px 5px 0 #d9e9d5;background:#edf6ed}
body[data-layout-theme="bunny"],body[data-layout-theme="bear"],body[data-layout-theme="penguin"]{--v5-paper:#fffdf9;--v5-line:#d7c9d9;--v5-accent:#9a82bc;--v5-text:#574b65;--v5-radius:30px;--v5-shadow:0 6px 15px #ac9ab52c}
body[data-layout-theme="bear"]{--v5-line:#d9bda2;--v5-accent:#a37851;--v5-text:#674b36}
body[data-layout-theme="penguin"]{--v5-line:#b6dbe8;--v5-accent:#4389b2;--v5-text:#315b70}
body[data-layout-theme="auto"]{--v5-paper:#f8fcfd;--v5-line:#c2d7db;--v5-accent:#34889a;--v5-text:#275563;--v5-radius:18px}
@media(max-width:760px){
 body[data-layout-theme] #app{display:flex!important;flex-direction:column!important;gap:0!important;padding-bottom:85px}
 body[data-layout-theme] #app>.trip-compact-return,body[data-layout-theme] #app>.trip-theme-banner{order:0;width:100%}
 body[data-layout-theme] #app>#content{order:1;width:100%;margin-top:7px}
 body[data-layout-theme] #app>nav.journal-nav{order:2;position:static;max-height:none;width:100%;margin:10px 0 18px;display:block;}
 body[data-layout-theme].journal-mobile-detail #app>nav.journal-nav{display:none!important}
 body[data-layout-theme].journal-mobile-detail #app>nav.journal-nav.journal-drawer-open{display:block!important;position:fixed;z-index:1200;top:54px;bottom:12px;left:12px;right:12px;width:auto;overflow-y:auto;margin:0;box-shadow:0 0 0 200vmax #1e263b88,4px 5px 0 #b5b4c5}
 body[data-layout-theme] .journal-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 body[data-layout-theme] #app .journal-nav-section button{min-height:48px;font-size:12px!important;padding:9px 7px!important;margin:0}
 body[data-layout-theme] .journal-nav-section{margin-bottom:10px}
 body[data-layout-theme] .journal-mobile-menu{position:fixed;right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:1190;border:1px solid var(--v5-line);border-radius:999px;background:var(--v5-paper);color:var(--v5-text);padding:12px 17px;box-shadow:var(--v5-shadow);font-weight:700}
 body[data-layout-theme] .journal-drawer-close{display:block}
 body[data-layout-theme] .journal-page-intro{margin-top:4px}
}
@media(min-width:761px){body[data-layout-theme] .journal-mobile-menu,body[data-layout-theme] .journal-drawer-close{display:none!important}}
@media(prefers-reduced-motion:reduce){body[data-layout-theme] *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
