:root {color-scheme:dark}
body {max-width:1280px;margin:auto}
.hub-header {padding:1.3rem 1.5rem;align-items:center}
.brand {font-size:1.25rem;font-weight:700;text-decoration:none;color:inherit}
.brand span {display:block;font-size:1rem;font-weight:400;margin-top:.3rem}
.hub-header p {font-size:.9rem;max-width:36rem;margin:0;line-height:1.6}
.hub-navigation {display:flex;flex-wrap:wrap;gap:.6rem 1.3rem;padding:1rem 1.5rem;border-block:1px solid #3f555c}
.hub-navigation a {padding:.25rem 0}
#hub-main {padding:1.5rem;min-height:60vh}
h1 {font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.25;margin:.3rem 0 1rem}
h2,h3 {line-height:1.4}
.intro {max-width:50rem;font-size:1.1rem}
.primary-destinations {display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}
.destination {display:block;padding:1.5rem 0;border-block:1px solid #577179;text-decoration:none;color:inherit}
.destination h2 {color:#a3e4df;margin:0 0 .8rem}
.destination p {margin:0;max-width:30rem}
.guide-entry {border-bottom:1px solid #577179;padding:0 0 1.5rem;margin-bottom:1.5rem}
.return-work {display:inline-block;margin:.2rem 0 1.2rem;padding:.7rem 1rem;border:1px solid #91b3b8;border-radius:3px}
.filter-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.3rem 0;align-items:end}
.filter-form label,.filter-form select,.filter-form input {width:100%;min-width:0}
.filter-form .search-row {grid-column:1/-1;display:flex;gap:1rem;align-items:end}
.search-row label {flex:1}
.search-row button {margin:0}
.library-summary {font-size:.95rem;max-width:65rem}
.topic-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1.5rem;padding-left:1.2rem}
.library-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.library-item {margin:0;min-width:0;border-bottom:1px solid #577179;padding-bottom:1rem}
.library-item a {display:block;text-decoration:none}
.library-item img {display:block;width:100%;height:300px;object-fit:contain;background:#182328}
.library-item h3 {margin:.7rem 0 .3rem;font-size:1.08rem}
.library-item figcaption {font-size:.9rem;line-height:1.55}
.library-item .identity {overflow-wrap:anywhere}
.image-detail .source-dialog-layout {grid-template-columns:minmax(280px,1fr) minmax(0,1.2fr);align-items:start}
.image-detail figure {margin:0;position:static;min-width:0}
.image-detail .portrait-enlarge {width:100%;display:block;padding:0;border:0;background:transparent}
.image-detail img {width:100%;max-height:760px;object-fit:contain}
.image-detail .portrait-parts {font-size:1rem}
.image-detail .portrait-parts dd {line-height:1.75}
.identity-details {overflow-wrap:anywhere}
.guide {max-width:58rem}
.guide section {padding:1rem 0;border-bottom:1px solid #3f555c}
.guide dl div {margin:1rem 0}
.guide dt {font-weight:700}
.guide dd {margin:.3rem 0 0;line-height:1.7}
.guide .example {padding:1rem 1.2rem;border-left:3px solid #a3e4df}
.hub-footer {margin:0 1.5rem;padding-block:1.2rem}
.hub-footer p {font-size:.9rem}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible {outline:3px solid #a3e4df;outline-offset:4px}
[tabindex="-1"]:focus {outline:none}
.image-dialog {max-width:min(96vw,1200px)}
@media(max-width:850px){.library-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.topic-list {grid-template-columns:repeat(2,minmax(0,1fr))}.image-detail .source-dialog-layout {grid-template-columns:1fr}.image-detail img {max-height:620px}.filter-form {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.primary-destinations {grid-template-columns:1fr;gap:1rem}.hub-header {align-items:start;gap:1rem;flex-direction:column}.filter-form {grid-template-columns:1fr}.filter-form .search-row {display:block}.search-row button {margin-top:.8rem}.library-grid {gap:1rem}.library-item img {height:240px}.topic-list {grid-template-columns:1fr}#hub-main {padding:1rem}.hub-navigation {padding:1rem}}
@media print{.hub-header,.hub-navigation,.hub-footer,.return-work {display:none}.guide {color:#172025;background:#fff;max-width:none}.guide section {break-inside:avoid}a{color:#174b42}body,#hub-main {background:#fff;color:#172025}}

.filter-form {grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}
.more-filters {grid-column:1/-1;margin:0;padding:0}
.extra-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.8rem 0}
.library-summary {margin:.7rem 0}
#hub-main > .caption {font-size:.88rem;margin:.6rem 0}
@media(max-width:850px){.extra-filters {grid-template-columns:1fr 1fr}}
@media(max-width:600px){.filter-form,.extra-filters {grid-template-columns:1fr}}
.hub-header {padding:.8rem 1.5rem}
.hub-navigation {padding:.7rem 1.5rem}
#hub-main {margin:0;padding:1rem 1.5rem}
#hub-main > .intro {font-size:1rem;margin:.5rem 0 1rem}
#hub-main > details {padding:.2rem 0;margin:.4rem 0}

@media(min-width:601px) and (max-width:850px){.hub-header {flex-direction:row;text-align:left;gap:1rem;align-items:center}.hub-header p {font-size:.8rem;max-width:25rem}}

/* Phase 1J.1: illustration-led primary routes, using unchanged source thumbnails. */
.primary-destinations {gap:1.6rem;margin:1rem 0 1.3rem}
.destination {padding:0 0 1rem;border-top:0}
.destination-visual {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;background:#182328;margin:0 0 .9rem}
.destination-visual img {display:block;width:100%;height:230px;object-fit:contain}
.destination h2 {font-size:clamp(1.2rem,2.1vw,1.65rem);margin:0 0 .6rem}
.destination:hover h2 {text-decoration:underline;text-underline-offset:.2em}
.destination:focus-visible {outline:3px solid #a3e4df;outline-offset:5px}
.filter-form .search-row {margin-top:.6rem}
.library-grid {margin-top:1rem}
@media(min-width:601px) and (max-width:850px){.destination-visual img {height:220px}.destination p {font-size:.95rem}.primary-destinations {gap:1.2rem}}
@media(max-width:600px){.destination-visual img {height:240px}}

/* R05: one clear archive entry within the existing historical destination. */
.archive-entry a{display:inline-block;padding:.65rem 1rem;border:1px solid currentColor;font-weight:700;text-underline-offset:.2em;max-width:100%;overflow-wrap:anywhere}

.costume-routes{list-style:none;padding:0;max-width:1050px}.costume-routes li{border-block-end:1px solid #526d77}.costume-routes a{display:flex;gap:32px;align-items:center;padding:24px 0;text-decoration:none}.costume-routes h2{margin:0 0 12px}.costume-routes p{color:#edf3f3;max-width:65ch}.costume-routes .destination-visual{width:260px;display:flex;height:190px}.costume-routes .destination-visual img{width:50%;height:190px;object-fit:contain;background:#eee5d5}@media(max-width:650px){.costume-routes a{display:block}.costume-routes .destination-visual{width:100%;margin-bottom:18px}}

.costume-routes a{padding:18px 0}.costume-routes .destination-visual{width:210px;height:140px}.costume-routes .destination-visual img{height:140px}@media(max-width:650px){.costume-routes .destination-visual{width:100%}}

.set-text-preview{display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid #d9cbbd;max-width:54rem}
.set-text-preview img{display:block;width:88px;height:132px;object-fit:contain;border-radius:.2rem}
.set-text-preview h2,.set-text-preview p{margin:.25rem 0}
