/* Hierarchical subject navigation. The content keeps its own readable width. */
@media (min-width:1100px) {
  body > .wp-site-blocks { margin-left: 272px; }
}
.maruops-topic-sidebar { --side-ink:#392f26; --side-muted:#70665a; --side-line:#e3dacf; box-sizing:border-box; position:fixed; inset:0 auto 0 0; z-index:50; display:flex; flex-direction:column; width:272px; height:100dvh; padding:28px 18px 20px; overflow-y:auto; overscroll-behavior:contain; border-right:1px solid var(--side-line); background:#f4efe7; color:var(--side-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif; font-size:13px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; scrollbar-width:thin; scrollbar-color:#c1b5a5 transparent; }
.maruops-topic-sidebar *, .maruops-topic-sidebar *::before, .maruops-topic-sidebar *::after { box-sizing:border-box; }
.maruops-sidebar-top { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:4px; padding-inline:10px; background:#f4efe7; }
.maruops-sidebar-brand { color:#302820; font-size:29px; font-weight:800; line-height:1.2; letter-spacing:-.055em; text-decoration:none; }
.maruops-sidebar-brand span { color:#964d2e; }
.maruops-sidebar-subtitle { padding-inline:10px; margin:10px 0 22px; color:#70665a; font-size:11px; }
.maruops-sidebar-close { display:none; }
.maruops-sidebar-search { display:flex; gap:5px; margin:0 5px 26px; }
.maruops-sidebar-search input { box-sizing:border-box; width:0; min-width:0; flex:1; padding:9px 10px; border:1px solid #c9bcad; border-radius:5px; background:#fff; color:#392f26; font:inherit; font-size:12px; }
.maruops-sidebar-search input::placeholder { color:#70665a; opacity:1; }
.maruops-sidebar-search button { padding:8px 9px; border:1px solid #c9bcad; border-radius:5px; background:#fff; color:#392f26; font:inherit; font-size:11px; cursor:pointer; }
.maruops-topic-nav a { color:#514337; text-decoration:none; text-underline-offset:3px; }
.maruops-topic-nav a:hover { color:#964d2e; text-decoration:underline; }
.maruops-topic-sidebar :where(a,button,input,summary):focus-visible { outline:2px solid #964d2e; outline-offset:2px; }
.maruops-all-posts { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; margin-bottom:12px; font-size:13px; font-weight:650; }
.maruops-all-posts span { color:#70665a; font-size:11px; font-weight:400; }
.maruops-all-posts[aria-current=page] { border-radius:5px; background:#eaded0; color:#7d3d24; }
.maruops-topic { margin:0; padding:0; }
.maruops-topic > summary { display:flex; align-items:center; gap:8px; position:relative; min-height:42px; padding:9px 9px 9px 25px; list-style:none; cursor:pointer; color:#392f26; font-size:13px; font-weight:650; }
.maruops-topic > summary::-webkit-details-marker { display:none; }
.maruops-topic > summary::before { content:''; position:absolute; left:10px; top:18px; width:5px; height:5px; border-right:1.5px solid #8c7a67; border-bottom:1.5px solid #8c7a67; transform:rotate(-45deg); }
.maruops-topic[open] > summary::before { transform:rotate(45deg); top:16px; }
.maruops-topic > summary:hover { background:#ebe2d6; border-radius:4px; }
.maruops-topic-name { flex:1; min-width:0; }
.maruops-topic-count { min-width:17px; color:#786d60; font-size:10px; font-weight:400; text-align:right; }
.maruops-topic-contents { margin:0 0 7px 12px; padding-left:7px; border-left:1px solid #e2d7c9; }
.maruops-topic-archive { display:block; padding:6px 8px; color:#70665a !important; font-size:10px; line-height:1.6; }
.maruops-topic-archive[aria-current=page] { color:#7d3d24 !important; font-weight:650; text-decoration:underline; }
.maruops-topic-depth-1 > summary, .maruops-topic-depth-2 > summary { font-size:12px; font-weight:550; }
.maruops-topic-depth-2 .maruops-topic-contents { margin-left:5px; padding-left:4px; }
.maruops-topic-posts { margin:3px 0 9px; padding:0; list-style:none; }
.maruops-topic-posts li { margin:0; }
.maruops-topic-posts a { display:flex; align-items:flex-start; gap:6px; padding:8px; border-radius:4px; font-size:12px; line-height:1.7; }
.maruops-topic-number { flex:0 0 17px; color:#7e7061; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; line-height:1.9; }
.maruops-topic-post-title { min-width:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.maruops-topic-posts a[aria-current=page] { background:#eaded0; color:#7d3d24; font-weight:650; }
.maruops-topic-empty { margin:3px 8px 10px; color:#7c7062; font-size:10px; }
.maruops-sidebar-series { display:flex; flex-direction:column; gap:9px; margin:24px 10px 0; padding-top:20px; border-top:1px solid #e2d7c9; font-size:11px; }
.maruops-sidebar-series > span { color:#7e7061; font-size:10px; }
.maruops-sidebar-series a { color:#514337; text-decoration:none; }
.maruops-sidebar-series a:hover { color:#964d2e; text-decoration:underline; }
.maruops-sidebar-info { display:flex; flex-wrap:wrap; gap:12px; margin:25px 10px 0; padding-top:16px; border-top:1px solid #e2d7c9; font-size:10px; }
.maruops-sidebar-info a { color:#70665a; text-decoration:none; }
.maruops-header-inner { min-height:78px; padding-block:18px; }
.maruops-header-label { margin:0; color:#6b6259; font-size:12px; }
.maruops-header-label a { color:#392f26; font-weight:650; text-decoration:none; }
.maruops-header-utility { display:flex; gap:22px; margin:0; font-size:12px; }
.maruops-header-utility a { color:#6b6259; text-decoration:none; }
.maruops-menu-toggle { display:none; }
.maruops-sidebar-backdrop[hidden] { display:none; }
.maruops-main { container-type:inline-size; }
.maruops-home-welcome { padding-block:42px 24px; }
.maruops-home-title.wp-block-heading { margin:0 0 14px; font-size:clamp(29px,3vw,38px); line-height:1.4; font-weight:750; letter-spacing:-.05em; }
.maruops-home-description { max-width:680px; margin:0; color:#6b6259; font-size:15px; line-height:1.85; }
.maruops-learning { padding-top:25px; border-top:0; }
.maruops-series-card { display:block; padding:21px 23px; background:#faf7f2; }
.maruops-section-title.wp-block-heading { font-size:23px; }
.maruops-card-image.wp-block-post-featured-image { aspect-ratio:3 / 2; }
.maruops-card-image img { object-fit:cover !important; }
.maruops-shell .maruops-related .maruops-card-image img { width:100%; height:100% !important; aspect-ratio:auto !important; object-fit:cover !important; }
.maruops-photo-credit { max-width:760px; margin:0 auto 32px; color:#70665a; font-size:11px; line-height:1.8; }
.maruops-photo-credit a { color:#6b6259; text-decoration:underline; text-underline-offset:3px; }
.maruops-breadcrumb-separator { margin-inline:3px; color:#837261; font-weight:400; }
.maruops-article-meta { margin-top:18px; }
.maruops-single .maruops-article-cover { margin-bottom:12px; }
@container (max-width:960px) {
  .maruops-post-grid.wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .maruops-series-grid { grid-template-columns:1fr; gap:14px; }
}
@container (max-width:580px) {
  .maruops-post-grid.wp-block-post-template { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:1099px) {
  body > .wp-site-blocks > header.wp-block-template-part { position:sticky; top:0; z-index:80; }
  .maruops-reading :is(h2,h3,h4), #latest, #learning { scroll-margin-top:100px; }
  .maruops-topic-sidebar { width:min(340px,calc(100vw - 40px)); transform:translateX(-100%); visibility:hidden; z-index:1001; box-shadow:12px 0 30px #14203920; }
  .maruops-menu-open .maruops-topic-sidebar { transform:translateX(0); visibility:visible; }
  .maruops-sidebar-close { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border:0; border-radius:4px; background:transparent; color:#392f26; font-size:27px; cursor:pointer; }
  .maruops-sidebar-backdrop { position:fixed; inset:0; z-index:1000; display:block; padding:0; border:0; border-radius:0; background:#101a2b66; cursor:pointer; }
  .maruops-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-height:42px; padding:9px 12px; border:1px solid #cec0b0; border-radius:5px; background:#fff; color:#392f26; font:inherit; font-size:12px; cursor:pointer; }
  .maruops-menu-toggle svg { width:16px; height:16px; }
  .maruops-header-utility { display:none; }
  .maruops-topic > summary { min-height:45px; font-size:14px; }
  .maruops-topic-depth-1 > summary, .maruops-topic-depth-2 > summary { font-size:13px; }
  .maruops-topic-posts a { padding-block:10px; font-size:12px; }
  .maruops-sidebar-subtitle { font-size:12px; }
  .maruops-sidebar-info { font-size:11px; }
}
.admin-bar .maruops-topic-sidebar { top:32px; height:calc(100dvh - 32px); }
@media (max-width:782px) {
  .admin-bar .maruops-topic-sidebar { top:46px; height:calc(100dvh - 46px); }
  .admin-bar > .wp-site-blocks > header.wp-block-template-part { top:46px; }
}
@media (max-width:599px) {
  .maruops-home-welcome { padding-block:30px 14px; }
  .maruops-home-title.wp-block-heading { font-size:29px; }
  .maruops-home-description { font-size:14px; }
  .maruops-header-inner { min-height:76px; }
  .maruops-header-label { font-size:12px; }
  .maruops-learning { padding-block:22px 30px; }
  .maruops-learning .maruops-series-grid { gap:0; margin-top:10px; }
  .maruops-learning .maruops-series-card { position:relative; padding:16px 0; border:0; border-bottom:1px solid #e6ded3; border-radius:0; background:transparent; }
  .maruops-learning .maruops-series-description { display:none; }
  .maruops-learning .maruops-series-title { margin:0; font-size:17px; }
  .maruops-learning .maruops-series-link { position:absolute; right:0; top:18px; margin:0; font-size:11px; }
  .maruops-photo-credit { margin-bottom:24px; font-size:10px; }
}
@media (prefers-reduced-motion:no-preference) {
  .maruops-topic-sidebar { transition:transform .18s ease,visibility .18s; }
}
.editor-styles-wrapper .maruops-topic-sidebar { position:relative; inset:auto; width:272px; height:600px; visibility:visible; transform:none; }
