/* V2.4 tools: the approved journal palette and navigation remain shared. */
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate){max-width:840px;margin-inline:auto;color:var(--j-ink);font-size:16px;line-height:1.65}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) .section-heading{margin:4px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--j-line)}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) .section-heading h2{font:500 clamp(25px,6vw,33px)/1.3 'Noto Serif TC','Songti TC',serif;letter-spacing:.035em;margin:4px 0}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) .eyebrow{font-size:11px;letter-spacing:.16em;color:var(--j-clay-text);font-weight:700}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) .muted{color:var(--j-muted)}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) :is(button,select,summary,a){min-height:44px}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) :is(button,select,input,textarea){font-family:inherit}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) :is(input,textarea,select){border-color:#c5cec3;background:#fffdf9;color:var(--j-ink)}
:is(#view-discover,#view-more,#view-packing,#view-nearby,#view-translate) :is(a,.guide-details summary,details>summary){color:var(--j-green);text-underline-offset:3px}
/* Explore: a photographic lead and a compact editorial directory. */
#view-discover>.section-heading .eyebrow,#view-discover>.section-heading p{display:block}
#view-discover .guide-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 12px}
#view-discover #guide-type{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-bottom:1px solid var(--j-line)}
#view-discover #guide-type button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:10px 4px;color:var(--j-muted);font-size:15px}
#view-discover #guide-type button[aria-pressed=true]{border-color:var(--j-green);color:var(--j-green);font-weight:700}
#view-discover #guide-add{padding:8px 12px;font-size:14px;white-space:normal}
#view-discover .guide-options{background:transparent;border:0;border-bottom:1px solid var(--j-line);border-radius:0;padding:0 0 12px;margin:0}
#view-discover .guide-options>summary{font-size:14px;padding:7px 0}
#view-discover .guide-options .filters{gap:6px;margin:8px 0 14px}
#view-discover .guide-options .filters button{font-size:13px;border-color:var(--j-line);padding:6px 12px}
#view-discover .guide-options .filters button[aria-pressed=true]{background:#e7ebe2;color:var(--j-green);border-color:var(--j-green)}
#view-discover #guide-count{font-size:12px;letter-spacing:.05em;margin:12px 0 8px}
#view-discover #spots{display:block}
#view-discover #spots>.guide-card{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:15px;align-items:start;background:transparent;border:0;border-radius:0;border-top:1px solid var(--j-line);box-shadow:none;padding:18px 0;margin:0;min-width:0}
#view-discover #spots>.guide-card>.guide-photo{grid-column:1;grid-row:1 / span 6;margin:0;min-width:0}
#view-discover .guide-photo img{display:block;width:94px;height:94px;aspect-ratio:1;object-fit:cover;border-radius:12px}
#view-discover .guide-photo figcaption{font-size:10px;color:var(--j-muted);line-height:1.35;margin-top:5px}
#view-discover .guide-photo figcaption small{display:none}
#view-discover .guide-photo .photo-credit{font-size:10px}
#view-discover #spots>.guide-card:has(.guide-photo)>:not(.guide-photo){grid-column:2;min-width:0}
#view-discover #spots>.guide-card:not(:has(.guide-photo))>:not(.guide-photo){grid-column:1 / -1}
#view-discover .guide-card>.chip{justify-self:start;font-size:11px;padding:2px 8px;margin:0 0 5px;background:#e9e8dc;color:var(--j-green)}
#view-discover .guide-card h3{font:600 19px/1.4 'Noto Serif TC','Songti TC',serif;margin:0 0 4px}
#view-discover .guide-card>p{font-size:14px;line-height:1.55;margin:0 0 6px}
#view-discover .guide-card .guide-fit{color:var(--j-muted);font-size:12px}
#view-discover .guide-quick-facts{margin:4px 0 0;padding:0;background:transparent;font-size:12px;color:var(--j-muted)}
#view-discover .guide-card>.links{margin:8px 0 0;gap:6px 12px;align-items:center}
#view-discover .guide-card>.links a{font-size:13px;display:inline-flex;align-items:center}

#view-discover .guide-details{margin:7px 0 0;border-top:1px solid var(--j-line);font-size:14px}
#view-discover .guide-details summary{font-size:13px;padding:5px 0}
#view-discover .guide-details .secondary{margin:5px 6px 5px 0;font-size:13px}
#view-discover .meal-overview{border:0;border-left:2px solid var(--j-clay);border-radius:0;background:#f0ede4;padding:12px 14px}
#view-discover>.muted:last-child{border-top:1px solid var(--j-line);padding-top:15px;font-size:12px;line-height:1.6}
/* More: a quiet table of contents instead of six identical cards. */
#view-more>.section-heading{margin-bottom:8px}
#view-more>.section-heading p{font-size:14px;margin:5px 0 0}
#view-more .more-grid{display:block;margin-bottom:18px}
#view-more .more-grid button{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:69px;margin:0;padding:10px 4px;border:0;border-bottom:1px solid var(--j-line);border-radius:0;background:transparent;box-shadow:none;color:var(--j-green)}
#view-more .more-grid button>span:last-child{font-size:19px;color:var(--j-clay-text)}
#view-more .more-grid strong,#view-more .more-grid small{display:block}
#view-more .more-grid strong{font-size:16px;line-height:1.4}
#view-more .more-grid small{font-size:12px;color:var(--j-muted);font-weight:400;line-height:1.4;margin-top:2px}
#view-more .more-number{font:16px Georgia,serif;color:var(--j-clay-text)}
#view-more>section.card,#view-more>.app-settings{background:transparent;border:0;border-top:1px solid var(--j-line);border-radius:0;box-shadow:none;padding:18px 0;margin:0}
#view-more>section.card h3{font:500 20px 'Noto Serif TC','Songti TC',serif;margin:0 0 8px}
#view-more>section.card p{font-size:14px;line-height:1.6}
#view-more .app-settings{margin-top:0}
#view-more .app-settings summary{font-weight:600}
@media(max-width:700px){
 #view-discover #spots>.guide-card{grid-template-columns:76px minmax(0,1fr);column-gap:12px;padding:14px 0}
 #view-discover .guide-photo img{width:76px;height:76px}
 #view-discover .guide-card h3{font-size:17px}
 #view-discover .guide-card>p{font-size:13px}
 #view-discover .guide-card-actions button{width:auto}
 #view-discover .guide-toolbar{grid-template-columns:1fr auto}
 #view-more .more-grid{grid-template-columns:1fr}
}
/* Match the journal masthead on tool pages, while keeping the verified fixed tab bar. */
body:not(.journal-active)>header{background:var(--j-paper);color:var(--j-green);border-bottom:1px solid var(--j-line);padding-top:16px;padding-bottom:10px}
body:not(.journal-active) .brand,body:not(.journal-active) .brand span,body:not(.journal-active) header>span{color:var(--j-green)}
body:not(.journal-active) .brand{font-size:17px;letter-spacing:.06em}
body:not(.journal-active) header>span{font-size:12px}
body:not(.journal-active) .wrap{padding-top:8px}
body:not(.journal-active) .back-bar{margin:0}
body:not(.journal-active) .save-banner:not(.error){justify-content:flex-end;min-height:16px;margin:0;font-size:12px}
/* Packing: readable checklist without a stack of large cards. */
#view-packing .section-heading{align-items:end;gap:10px}
#view-packing .section-heading p{font-size:14px;margin:6px 0 0}
#view-packing .progress-count{font:24px Georgia,serif;color:var(--j-green);white-space:nowrap}
#view-packing progress{height:6px;background:#e5e7db;margin:0 0 17px}
#view-packing progress::-webkit-progress-bar{background:#e5e7db}
#view-packing progress::-webkit-progress-value{background:var(--j-clay)}
#view-packing progress::-moz-progress-bar{background:var(--j-clay)}
#view-packing #pack-filter{gap:5px;margin:0 0 14px}
#view-packing #pack-filter button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--j-muted);padding:7px 12px}
#view-packing #pack-filter button[aria-pressed=true]{border-color:var(--j-green);color:var(--j-green);font-weight:700}
#view-packing #pack-list{display:block}
#view-packing #pack-list>section{border:0;border-top:1px solid var(--j-line);border-radius:0;background:transparent;box-shadow:none;padding:14px 0 8px;margin:0}
#view-packing #pack-list h3{font:500 19px 'Noto Serif TC','Songti TC',serif;margin:0 0 3px}
#view-packing .pack-row{padding:11px 0;border-color:var(--j-line)}
#view-packing .pack-row label{min-height:44px;align-items:center}
#view-packing .pack-row input{accent-color:var(--j-green);width:22px;height:22px;margin:0;align-self:center}
#view-packing .pack-row strong{font-size:15px;color:var(--j-ink)}
#view-packing .pack-row small{font-size:12px;color:var(--j-muted)}
#view-packing .pack-row .remove{min-width:44px;min-height:44px;color:var(--j-clay-text)}
#view-packing>section.card{background:#eeeee5;border:0;border-radius:12px;padding:16px;margin:20px 0 0}
#view-packing>section.card h3{font-size:17px;margin:0 0 8px}
#view-packing>section.card .muted{font-size:12px;margin-bottom:0}
/* Nearby: filters stay close to the walking recommendations. */
#view-nearby>.section-heading{margin-bottom:13px}
#view-nearby .nearby-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
#view-nearby .nearby-filters>div:first-child{grid-column:1 / -1}
#view-nearby .nearby-filters label{display:block;font-size:12px;color:var(--j-muted);margin:0 0 4px;font-weight:600}
#view-nearby .nearby-filters select{display:block;width:100%;min-width:0;height:44px;margin:0;padding:8px 10px;font-size:14px;border:1px solid #c5cec3;border-radius:8px;background:#fffdf9}
#view-nearby .nearby-note{border-top:1px solid var(--j-line);border-bottom:1px solid var(--j-line);margin:16px 0;padding:3px 0;font-size:13px;color:var(--j-muted)}
#view-nearby .nearby-note summary{font-size:13px;font-weight:600;padding:6px 0}
#view-nearby .nearby-note p{margin:0 0 12px}
#view-nearby .nearby-card{border:0;border-top:1px solid var(--j-line);border-radius:0;background:transparent;box-shadow:none;padding:17px 0;margin:0}
#view-nearby .nearby-card .chip{background:#e7e9dd;color:var(--j-green);font-size:11px}
#view-nearby .nearby-card h3{font:500 20px 'Noto Serif TC','Songti TC',serif;margin:6px 0}
#view-nearby .nearby-card>p{font-size:14px;margin:7px 0}
#view-nearby .nearby-card>p.chip{display:inline-block;background:transparent;padding:0;color:var(--j-muted);margin:0}
#view-nearby .nearby-card>strong{display:block;font-size:13px;color:var(--j-clay-text)}
#view-nearby .nearby-card .links{gap:6px 12px;align-items:center}
#view-nearby .nearby-card .links a{display:inline-flex;align-items:center;font-size:13px}
#view-nearby .nearby-card .links button{font-size:12px;border:0;background:transparent;padding:4px 0;text-decoration:underline}
/* Translation: one clear two-step action, with supporting phrases below. */
#view-translate>.section-heading{margin-bottom:15px}
#view-translate>.section-heading p{font-size:14px;margin:5px 0 0}
#view-translate>.columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px}
#view-translate .columns .card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 18px}
#view-translate .columns .card>h3{font:500 20px 'Noto Serif TC','Songti TC',serif;margin:0 0 12px}
#view-translate label{font-size:13px;color:var(--j-muted);margin:11px 0 5px}
#view-translate select{height:44px;border-radius:8px;font-size:15px}
#view-translate #translate-help{font-size:13px;margin:12px 0}
#view-translate .translator-actions{gap:8px}
#view-translate .translator-actions>*{min-height:48px;border-radius:8px;justify-content:center;text-align:center;font-size:15px}
#view-translate .translator-actions a{background:var(--j-green);color:white}
#view-translate #translate-status{font-size:13px}
#view-translate #translate-prompt-details{border-top:1px solid var(--j-line);margin-top:16px}
#view-translate #translate-prompt-details summary{font-size:13px;padding:7px 0}
#view-translate .phrase-list button{background:#eeeee5;border:0;border-radius:8px;color:var(--j-green);font-size:14px}
#view-translate aside>.card+ .card{border-top:1px solid var(--j-line);padding-top:17px}
#view-translate aside li,#view-translate aside p{font-size:13px;line-height:1.6}
@media(max-width:700px){#view-translate>.columns{display:block}#view-translate aside{border-top:1px solid var(--j-line);padding-top:18px;margin-top:20px}}
#update-banner{margin:0 0 12px}#update-refresh{min-height:44px;margin-left:8px}
