/* Local library navigation: quiet paper, navy accents, compact page gutters. */
html.sidebar-hidden .app{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "content"}
html.sidebar-hidden .sidebar{display:none}
html.sidebar-hidden .sidebar-backdrop,html.sidebar-hidden .menu-toggle{display:none!important}
/* Keep scrolling inside the two library panes, including on shorter windows. */
html,body{height:100%;overflow:hidden}
.app{height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.content{min-height:0;overscroll-behavior:contain;padding-bottom:24px!important}
#sidebar{overscroll-behavior:contain}
.content>.card{margin-bottom:0}
.library-browser{overscroll-behavior:contain}
.sidebar-pin{display:inline-flex;align-items:center;gap:7px;font:12px system-ui;color:#3d536e;cursor:pointer;white-space:nowrap}.sidebar-pin input{accent-color:#173d63;width:16px;height:16px}
html.sidebar-pinned .app{grid-template-columns:280px minmax(0,1fr);grid-template-areas:"header header" "sidebar content"}
html.sidebar-pinned .sidebar{display:flex;position:static;grid-area:sidebar;width:auto;max-width:none;box-shadow:none;min-height:0}
html.sidebar-pinned .sidebar-backdrop{display:none!important}
html.sidebar-pinned .menu-toggle{display:none}
@media(max-width:600px){html.sidebar-pinned .app{grid-template-columns:165px minmax(0,1fr)}html.sidebar-pinned .sidebar-chrome{padding:12px 8px 6px}html.sidebar-pinned .part-switch{grid-template-columns:1fr}html.sidebar-pinned .sidebar-chrome{max-height:42dvh;overflow:auto}html.sidebar-pinned .recent-topics{padding:8px}html.sidebar-pinned #sidebar{padding:5px}html.sidebar-pinned .tab{font-size:11px!important;padding:9px 7px!important}html.sidebar-pinned .library-side-label span{display:none}html.sidebar-pinned .content{padding:20px 12px}html.sidebar-pinned header{flex-wrap:wrap}.sidebar-pin{font-size:11px}}
:root{--paper:#f5f7fa;--navy:#173d63;--blue:#285e91;--accent:#b56a32;--rule:#dce3ec;--radius:12px}
.app{grid-template-columns:300px minmax(0,1fr)}
header{padding:12px 28px;background:#ffffffed;gap:24px}.brand-logo{height:50px;width:auto}.top-nav{gap:18px}
.sidebar{background:#edf1f6;border-right:1px solid #dce3ec}.sidebar-chrome{padding:20px 16px 10px;background:transparent}.sidebar-chrome .search{border-radius:10px;background:#fff;border:1px solid #d4dce7;padding:10px}
.part-switch{gap:6px}.part-switch button{border-radius:9px;background:#e5ebf3;border:1px solid transparent;padding:9px 8px;transition:background .15s}.part-switch button.on{background:#173d63;box-shadow:0 3px 9px #173d6318}.part-switch button.on .num{color:#bdd7ef}.part-switch button .name{font-size:12px}
#sidebar{padding:8px 12px 28px}.topic-list-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:14px 10px;color:#60718a}.tab{border-radius:8px!important;margin:3px 0!important;padding:11px 12px!important;border:1px solid transparent!important;font-size:13px!important;line-height:1.4}.tab.active{background:white!important;color:#173d63!important;border-color:#d8e1ed!important;box-shadow:0 3px 8px #20355208;font-weight:650}.tab:hover{background:#e1e9f3!important}.content{padding:28px 18px 24px}.content h2{letter-spacing:-.025em}.scene-frame{border-radius:12px;overflow:hidden}.topic-nav button{border-radius:10px}
.browse-trigger{border:1px solid #173d63;background:#173d63;color:white;border-radius:9px;padding:10px 15px;font:600 13px inherit;cursor:pointer}.browse-trigger kbd{font:11px system-ui;margin-left:14px;color:#c5d9ef}.library-side-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;color:#536b88;margin:0 2px 14px}.library-side-label span{letter-spacing:0;color:#748297}.recent-topics{padding:8px 18px 14px;border-bottom:1px solid #dce3ec}.recent-topics label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#64758d;margin-bottom:6px}.recent-topics select{width:100%;padding:8px;border:1px solid #d2dce9;border-radius:7px;background:#f8faff;color:#3d536e;font:12px system-ui}
.library-browser{width:min(1120px,94vw);max-height:90dvh;padding:0;border:1px solid #d4dfea;border-radius:20px;background:#f5f7fb;color:#243b56;box-shadow:0 28px 100px #071f3050}.library-browser::backdrop{background:#12243ba6;backdrop-filter:blur(5px)}.browser-head{padding:30px 32px 20px;background:#fff;border-bottom:1px solid #e0e5ee;position:sticky;top:0;z-index:1}.browser-eyebrow{font:600 10px system-ui;letter-spacing:.18em;color:#687d96}.browser-head h2{font-size:32px;font-weight:500;letter-spacing:-1px;margin:8px 0}.browser-head p{color:#69798c;font-size:14px;margin:0 0 20px}.browser-close{position:absolute;right:22px;top:20px;width:34px;height:34px;border:1px solid #dce3ed;border-radius:50%;background:#f5f7fb;font-size:20px;cursor:pointer}.browser-search{display:flex;gap:10px;align-items:center;background:#f2f5fa;border:1px solid #d3ddea;border-radius:10px;padding:12px 16px}.browser-search input{width:100%;background:none;border:0;outline:none;font:16px system-ui;color:#243b56}.browser-search:focus-within{outline:2px solid #4d7ea8;outline-offset:2px}.browser-filters{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.browser-filters button{padding:7px 12px;border:1px solid #dbe3ee;border-radius:20px;background:#fff;color:#546d88;font:12px system-ui;cursor:pointer}.browser-filters button[aria-pressed=true]{background:#173d63;color:#fff;border-color:#173d63}.browser-body{padding:22px 32px 32px}.browser-count{font-size:12px;color:#6e8097;margin:0 0 14px}.browser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.topic-card{text-align:left;background:white;border:1px solid #dde4ee;border-radius:12px;padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:175px;color:#243b56;transition:transform .15s,border-color .15s}.topic-card:hover{transform:translateY(-2px);border-color:#5583b2;box-shadow:0 8px 20px #203d6010}.topic-card small{font:10px system-ui;text-transform:uppercase;letter-spacing:.08em;color:#6b7f97}.topic-card strong{font-size:17px;line-height:1.35;font-weight:600}.topic-card .card-bottom{margin-top:auto;display:flex;justify-content:space-between;font:11px system-ui;color:#6a7c95}.topic-card.current{border-color:#356fa4;background:#edf4fc}.browser-empty{padding:35px;color:#637994;grid-column:1/-1}.library-browser button:focus-visible{outline:3px solid #83afd7;outline-offset:2px}
@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{width:300px}.browse-trigger kbd{display:none}.browser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){header{padding:10px 14px;gap:8px}.brand-logo{height:36px}.top-nav{gap:9px}.top-nav>a{display:none}.browse-trigger{padding:9px}.browser-head{padding:25px 18px 16px}.browser-head h2{font-size:27px}.browser-head p{max-width:85%;font-size:12px}.browser-body{padding:18px}.browser-grid{grid-template-columns:1fr}.topic-card{min-height:125px}.browser-filters{gap:5px}.browser-filters button{font-size:11px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.topic-card,.part-switch button{transition:none}.topic-card:hover{transform:none}}
.sidebar-pin{position:relative;display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border:1px solid #d4dce7;border-radius:9px;background:#fff;color:#536b88;flex-shrink:0}.sidebar-pin input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.sidebar-pin:hover{background:#e5ebf3;border-color:#8fa8c5}.sidebar-pin:has(input:checked){background:#173d63;color:#fff;border-color:#173d63}.sidebar-pin:has(input:focus-visible){outline:3px solid #83afd7;outline-offset:3px}.sidebar-icon-fill{fill:currentColor;opacity:.18}.sidebar-pin:has(input:checked) .sidebar-icon-fill{opacity:.5}.sidebar-pin svg{pointer-events:none}

/* Explicit hidden state also wins over drawer and pinned styles. */
#topicsSidebar[hidden]{display:none!important;width:0!important;min-width:0!important;border:0!important;box-shadow:none!important}
html.sidebar-hidden .app{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"header" "content"!important}
html.sidebar-hidden .content{grid-column:1 / -1}

.methods-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 25px;padding:12px 0;border-block:1px solid #dce3ed;font:12px system-ui}.methods-path>span{color:#637994;font-size:10px;letter-spacing:.08em;margin-right:12px}.methods-path a{padding:7px 10px;border-radius:7px;text-decoration:none;background:#e9eff7;color:#476586}.methods-path a[aria-current=step]{background:#173d63;color:#fff}

/* Use the available reading pane instead of wide outer gutters. */
@media(max-width:600px){.content{padding:20px 12px 24px}}
