.resource-home { margin-block:48px; }
.resource-intro { max-width:66ch; color:var(--ink-2); margin:-4px 0 24px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.topic-tile { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; transition:background .15s; }
.topic-tile:hover { background:var(--pine-soft); }
.topic-number { font-family:var(--font-mono); color:var(--pine); font-size:.8rem; }
.topic-tile h3 { font-family:var(--font-display); font-size:1.55rem; margin:12px 0; }
.topic-tile p { color:var(--ink-2); margin:0 0 20px; }
.topic-tile > span:last-child { font-size:.8rem; color:var(--pine); }
.tool-invitation { margin-top:20px; padding:24px; background:var(--pine-soft); display:flex; align-items:center; justify-content:space-between; gap:22px; border-radius:10px; }
.tool-invitation h3 { font:1.65rem var(--font-display); margin:8px 0; }
.tool-invitation p { margin:0; max-width:55ch; }
.tool-invitation .btn { flex-shrink:0; }
.library-topics { display:flex; flex-wrap:wrap; gap:10px 22px; margin:10px 0 26px; }
.library-controls { display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:16px; padding:22px; border:1px solid var(--line); border-radius:10px; background:var(--surface); align-items:end; }
.library-controls label,.cost-form label { display:grid; gap:8px; font-size:.85rem; font-weight:550; }
.library-controls input,.library-controls select,.cost-form input { width:100%; min-width:0; padding:12px; border:1px solid var(--line-2); border-radius:6px; background:var(--ground); color:var(--ink); font:inherit; }
#library-count { color:var(--muted); margin:20px 0; font-family:var(--font-mono); font-size:.8rem; }
.resource-card small { color:var(--muted); font-size:.75rem; }
.prose .resource-card h3 { margin:12px 0; }
.resource-card .resource-arrow { display:block; margin-top:18px; font-size:.8rem; color:var(--pine); }
.topic-page { max-width:none!important; }
.topic-page > .hero { max-width:var(--measure); }
.topic-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:28px; margin:28px 0 40px; }
.hub-image { margin:0; }
.hub-image img { display:block; width:100%; height:240px; object-fit:contain; border-radius:10px; background:#f5f6f3; }
.hub-image figcaption { font-size:.75rem; color:var(--muted); margin-top:8px; }
.reading-path { padding:22px; background:var(--surface-2); border-radius:10px; }
.reading-path h2 { margin-top:0!important; }
.reading-path li { margin:12px 0; }
.decision-diagram { display:grid; gap:12px; list-style:none; padding:0!important; margin:0!important; }
.decision-diagram li { padding:20px; border:1px solid var(--line); border-radius:8px; }
.decision-diagram b { color:var(--pine); font-family:var(--font-mono); margin-right:16px; }
.article-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; font-size:.85rem; }
.article-meta { font-size:.8rem; color:var(--muted); max-width:68ch; }
.article-contents { padding:20px; border-left:3px solid var(--pine); background:var(--surface-2); margin:20px 0 30px; display:grid; gap:9px; font-size:.9rem; }
.article-contents strong { font:500 .75rem var(--font-mono); text-transform:uppercase; letter-spacing:.07em; }
.prose h2 { scroll-margin-top:90px; }
.expansion-sources { margin-top:36px; border-top:1px solid var(--line); padding-top:12px; font-size:.85rem; overflow-wrap:anywhere; }
.cost-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0; }
.cost-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--surface); }
.cost-results > div { display:grid; gap:10px; padding:18px; }
.cost-results > div:nth-child(2) { background:var(--pine-soft); }
.cost-results strong { font:2rem var(--font-display); overflow-wrap:anywhere; }
.cost-results small,.cost-results span { font-size:.75rem; color:var(--ink-2); }
.help-link { display:block; font-size:.8rem; margin-top:12px; }
:focus-visible { outline:3px solid var(--pine); outline-offset:4px; }
@media(max-width:1000px) { .library-controls { grid-template-columns:1fr 1fr; } .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .topic-grid,.topic-intro,.library-controls,.cost-form { grid-template-columns:1fr; } .tool-invitation { align-items:flex-start; flex-direction:column; } .topic-tile { padding:20px; } .cost-results { grid-template-columns:1fr; } .library-cards { grid-template-columns:1fr; } .library-controls { padding:16px; } }
@media print { .sidebar,.topbar,.review-ribbon,.footer,.article-contents,.skip { display:none!important; } .shell { display:block; } .page { padding:0; } .cost-results,.reading-path { break-inside:avoid; } }
