.mosaic-section{padding:38px 0 34px;background:#fff;border-bottom:1px solid var(--line)}
.mosaic-topline{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.mosaic-topline .section-label{margin-bottom:6px;font-size:10px}
.mosaic-topline h2{font-size:22px;margin:0;line-height:1.5;font-weight:700}
.mosaic-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.mosaic-tools button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c3caac;border-radius:100px;background:var(--pale);color:var(--ink);font:500 12px/1.2 'Noto Sans TC',sans-serif;padding:10px;min-width:40px;min-height:40px;cursor:pointer}
.mosaic-tools button:hover{background:var(--accent);border-color:#89964a}
.mosaic-tools button:focus-visible{outline:3px solid #697700;outline-offset:3px}
.mosaic-tools .mosaic-toggle{padding-inline:15px;min-width:82px}
.mosaic-tools [aria-hidden]{font-family:system-ui,sans-serif;font-size:17px;line-height:1}
.mosaic-scroller{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c4cc9c transparent;cursor:grab;touch-action:pan-x pan-y;outline-offset:-3px;padding:0 max(32px,calc((100vw - 1080px)/2)) 15px;-webkit-overflow-scrolling:touch}
.mosaic-scroller.is-dragging{cursor:grabbing;user-select:none}
.mosaic-track{display:flex;gap:10px;width:max-content;align-items:start}
.mosaic-grid{display:grid;grid-template-rows:150px 150px;grid-auto-columns:190px;grid-auto-flow:column dense;gap:10px;width:max-content;flex:none}
.mosaic-tile{position:relative;overflow:hidden;border-radius:9px;background:#edf0e3;display:block;color:#fff;text-decoration:none;isolation:isolate}
.mosaic-tile.tall{grid-row:span 2}
.mosaic-tile.wide{grid-column:span 2}
.mosaic-tile img{height:100%;width:100%;object-fit:cover;object-position:var(--image-position,50% 50%);transition:transform .35s ease;user-select:none;-webkit-user-drag:none}
.mosaic-tile:hover img,.mosaic-tile:focus-visible img{transform:scale(1.035)}
.mosaic-tile:focus-visible{outline:3px solid #68720e;outline-offset:-4px}
.mosaic-caption{position:absolute;inset:auto 0 0;padding:29px 12px 10px;background:linear-gradient(transparent,#000b);font:500 11px/1.5 'Noto Sans TC',sans-serif;text-wrap:pretty;pointer-events:none;text-shadow:0 1px 2px #0009}
.mosaic-tile.book{background:#f3f3ec;padding:10px 10px 35px;border:1px solid #e0e2d6}
.mosaic-tile.book img{object-fit:contain;filter:drop-shadow(2px 3px 3px #0002)}
.mosaic-tile.book .mosaic-caption{background:none;color:var(--ink);padding:0 8px 8px;text-align:center;text-shadow:none;font-size:10px;line-height:1.35}
.mosaic-note{margin:13px 0 0!important;display:flex;justify-content:space-between;gap:20px;font-size:11px!important;line-height:1.8!important;color:var(--muted)}
.mosaic-note a{white-space:nowrap}
@media(max-width:780px){.mosaic-section{padding-top:30px;padding-bottom:26px}.mosaic-topline{align-items:center;gap:12px}.mosaic-topline h2{font-size:20px}.mosaic-scroller{padding-inline:22px}.mosaic-grid{grid-template-rows:125px 125px;grid-auto-columns:160px;gap:8px}.mosaic-track{gap:8px}.mosaic-tools{gap:5px}.mosaic-tools button{min-width:36px;min-height:36px;padding:8px}.mosaic-tools .mosaic-toggle{padding-inline:11px;min-width:69px}}
@media(max-width:480px){.mosaic-topline{align-items:start;margin-bottom:18px}.mosaic-topline h2{font-size:18px;max-width:200px}.mosaic-topline .section-label{font-size:9px;letter-spacing:.08em;margin-bottom:6px}.mosaic-tools{padding-top:19px}.mosaic-tools button{min-height:34px;min-width:34px;padding:7px}.mosaic-tools .mosaic-toggle{min-width:64px;font-size:11px;padding-inline:9px}.mosaic-tools .mosaic-back{display:none}.mosaic-scroller{padding-inline:20px}.mosaic-note{font-size:10px!important;gap:12px}.mosaic-caption{font-size:10px}.mosaic-tile.book .mosaic-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.mosaic-tile img{transition:none}.mosaic-tile:hover img,.mosaic-tile:focus-visible img{transform:none}}
@media print{.mosaic-section{display:none}}
