/* Site 0055: reader interface. Original content, routes and source images remain intact. */
:root{--bg:#0b1016;--panel:#111923;--raised:#18232f;--ink:#edf2f5;--muted:#b0bdc9;--faint:#a2b0bd;--line:#293745;--accent:#66e5dc;color-scheme:dark}
[hidden]{display:none!important}
body{font-size:1rem;line-height:1.75}
.wrap{max-width:1180px;padding-inline:28px}
.site-header{background:#0b1016f5;backdrop-filter:blur(16px)}
.site-header .wrap{min-height:80px;gap:24px}
.wordmark{font-size:1.45rem;white-space:nowrap}
.wordmark::after{width:7px;height:7px;border-radius:50%;vertical-align:middle;margin-left:10px}
.site-nav{gap:24px}
.site-nav a{min-height:44px;display:flex;align-items:center;font-size:.73rem;letter-spacing:.1em}
.menu-toggle{display:none;margin:0;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 13px;min-height:44px}
main>.wrap{padding-top:32px;padding-bottom:64px}
body:not(.cc-index) main>.wrap{max-width:860px}
.hero{display:grid;grid-template-columns:1.4fr 1fr;column-gap:64px;align-items:start;padding:36px 0 48px;border-bottom:1px solid var(--line)}
.hero>.kicker{grid-column:1/-1;margin-bottom:24px;font-size:.68rem}
.hero::after{display:none}
.hero .display{grid-column:1;grid-row:2/4;max-width:20ch;margin:0;font-size:clamp(2.6rem,4.6vw,3.65rem);line-height:1.1;letter-spacing:-.04em}
.hero .lede{grid-column:2;margin:3px 0 24px;font-size:1.03rem;line-height:1.85}
.hero-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:12px;align-self:end}
.button,.hero-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-weight:650;font-size:.86rem}
.hero-actions a:first-child{background:var(--accent);color:#092126;border-color:var(--accent)}
.section-head{margin-top:40px;padding-bottom:16px;align-items:center}
.section-head h2{font-size:1.65rem}
.section-head a{font-size:.8rem}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0 40px}
.card{padding:18px;gap:12px;border-radius:12px;min-width:0;box-shadow:0 8px 25px #00000015}
.card>img{width:calc(100% + 36px);max-width:none;margin:-18px -18px 6px;aspect-ratio:16/10;object-fit:contain;background:#0d131b;border-radius:11px 11px 0 0}
.card h3,.card h2{font-size:1.3rem;line-height:1.3;margin:0;border:0;padding:0}
.card h3 a,.card h2 a{color:var(--ink);text-decoration:none}
.card:focus-within{border-color:var(--accent)}
.card h3 a:hover,.card h2 a:hover{color:var(--accent)}
.card p{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}
.card .meta{font-size:.66rem;letter-spacing:.075em;line-height:1.7;color:var(--faint)}
.card .meta:last-child{margin-top:auto;padding-top:8px}
.filterbar{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) 185px 165px;gap:16px;align-items:end}
.filterbar>label[for="lib-filter"]{grid-column:1/-1;font-size:.78rem}
.filterbar input{margin:0;min-height:48px}
.filter-control{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--muted)}
input,select,textarea{font:inherit;background:var(--bg);color:var(--ink);border:1px solid #435564;border-radius:6px;padding:12px;max-width:100%}
select{min-height:48px;width:100%}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}
.filter-summary p{margin:0}
.clear-filters{background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--accent);padding:8px 14px;min-height:44px;cursor:pointer}
.empty-state{border:1px dashed var(--line);border-radius:12px;padding:40px 24px;text-align:center;color:var(--muted)}
.empty-state strong{display:block;color:var(--ink);font-size:1.2rem;margin-bottom:8px}
.sprigpost-document{max-width:none!important;margin:0!important;padding:0!important;overflow-wrap:break-word!important}
.sprigpost-document>header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.sprigpost-document h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.16;margin:20px 0}
.sprigpost-document p,.sprigpost-document li{line-height:1.9}
.sprigpost-document h2{margin-top:48px;scroll-margin-top:110px}
.sprigpost-document h3{scroll-margin-top:110px}
.sprigpost-document figure{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.sprigpost-document figure img{margin-inline:auto;max-height:620px;object-fit:contain;border-radius:5px}
.sprigpost-document figcaption{padding-top:12px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}
.reading-meta{font-family:ui-monospace,monospace;font-size:.72rem;color:var(--muted);letter-spacing:.035em}
.toc{max-width:none;border-radius:10px;margin:28px 0;padding:18px 22px}
.toc::before{display:none}
.toc summary{cursor:pointer;color:var(--ink);font-weight:650;min-height:32px}
.toc ol{margin-top:14px;columns:1;list-style:decimal;max-height:350px;overflow:auto}
.toc li{font-size:.9rem;line-height:1.6;padding:3px 0}
.table-scroll{margin:24px 0;padding:0;border:1px solid var(--line);border-radius:8px;max-width:100%;overscroll-behavior-x:contain}
.table-scroll table{display:table;min-width:640px;margin:0}
.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.table-hint{font-size:.8rem;color:var(--muted);margin:24px 0 -12px}
.breadcrumb{font-size:.8rem;margin:0 0 18px}
.site-footer{margin:0;padding:42px 0;background:#0e151e;border-top:1px solid var(--line)}
.site-footer .cols{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:48px}
.site-footer li{margin-bottom:9px}.site-footer a{color:var(--muted)}
.site-footer h4{font-size:.72rem;letter-spacing:.1em;color:var(--ink)}
.site-footer p,.fineprint{font-size:.85rem;line-height:1.7;color:var(--muted)}
.fineprint{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;max-width:90ch}
.cc-form{max-width:680px;background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:12px;margin:28px 0}
.cc-form label{display:block;font-size:.9rem;margin:18px 0 6px;color:var(--ink)}
.cc-form label:first-child{margin-top:0}
.cc-form input:not([type=checkbox]),.cc-form textarea{width:100%}
.cc-form textarea{min-height:160px;resize:vertical}
.cc-form fieldset{margin:0;padding:0;border:0;min-width:0}.cc-form legend{font-family:Georgia,serif;font-size:1.3rem;margin-bottom:18px}.cc-form label span{color:var(--muted);font-size:.8rem}
.cc-form .consent{display:flex;gap:12px;align-items:flex-start;margin:22px 0}
.cc-form .consent input{margin-top:7px;min-width:18px;min-height:18px;accent-color:var(--accent)}
.cc-form .consent label{margin:0;font-size:.85rem}
.cc-form button{background:var(--accent);color:#092126;border:0;border-radius:7px;min-height:48px;padding:12px 22px;font-weight:700;font-size:.95rem;cursor:pointer}
.cc-form button:disabled{opacity:.55;cursor:wait}
.cc-form [role=status]{margin-top:18px;line-height:1.6}
.cc-form [data-state=error]{color:#ffb3b3}
.cc-form [data-state=success]{color:var(--accent)}
.cc-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.service-note{font-size:.88rem;color:var(--muted);max-width:68ch}
.newsletter-state{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);padding:3px 8px;border-radius:4px;color:var(--muted)}
.back-top{display:inline-block;margin-top:32px;font-size:.84rem}
/* Editorial polish: quiet depth, a crisp masthead and tactile link feedback. */
.site-header{border-bottom-color:#31404b80;box-shadow:0 1px 0 #ffffff03}
.cc-index .hero{position:relative;border-bottom-color:#3c505a;padding-top:42px;padding-bottom:52px}
.cc-index .hero::after{content:"";display:block;position:absolute;left:0;bottom:-1px;top:auto;width:88px;height:2px;border:0;margin:0;background:var(--accent);opacity:.8}
.cc-index .hero .display{font-weight:500;letter-spacing:-.045em}
.cc-index .hero .lede{color:#b8c6ce}
.cc-index .card{background:linear-gradient(145deg,#15202a,#111923 58%);border-color:#2c3b46;box-shadow:0 10px 32px #00000018;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.cc-index .card:hover{transform:none}
.cc-index .card>img{background:#0c1219;border-bottom:1px solid #2c3b4680}
.cc-index .card h2,.cc-index .card h3{font-weight:500;letter-spacing:-.018em}
.cc-index .card:focus-within{border-color:#66e5dcaa;box-shadow:0 12px 32px #00000024}
.hero-actions a{transition:background .2s,border-color .2s,box-shadow .2s}
.hero-actions a span,.section-head a{transition:transform .2s,color .2s}
.hero-actions a:first-child:hover{background:#8ff0e8;border-color:#8ff0e8;box-shadow:0 5px 24px #66e5dc16}
.hero-actions a:hover span,.hero-actions a:focus-visible span{transform:translate(2px,-1px)}
.cc-index .section-head{border-bottom-color:#31434d}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cc-index .card:hover{transform:translateY(-4px);border-color:#668c8d;box-shadow:0 16px 38px #00000030}}
@media(min-width:901px){.cc-index .cards:first-of-type .card{border-top-color:#51827f}}
@media(max-width:900px){.hero{column-gap:32px;grid-template-columns:1.2fr 1fr}.hero .display{font-size:2.8rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar{grid-template-columns:1fr 1fr}.filterbar>input{grid-column:1/-1}.site-header .wrap{gap:12px}.site-nav{gap:15px}.wordmark{font-size:1.25rem}}
@media(max-width:650px){.wrap{padding-inline:20px}.site-header .wrap{min-height:68px;justify-content:space-between}.wordmark{font-size:1.18rem;margin-right:0}.menu-toggle{display:block}.site-nav{width:100%;padding:4px 0 12px;gap:8px;justify-content:space-between}.site-nav a{font-size:.69rem}.hero{display:block;padding:12px 0 32px}.hero>.kicker{font-size:.6rem;margin-bottom:22px}.hero .display{font-size:2.7rem;max-width:22ch}.hero .lede{font-size:1rem;margin:24px 0}.hero-actions{gap:10px}.hero-actions a{flex:1;font-size:.8rem}.cards{grid-template-columns:1fr;gap:20px}.card>img{aspect-ratio:16/9}.section-head{margin-top:32px;gap:10px}.section-head h2{font-size:1.4rem}.section-head a{font-size:.7rem}.site-footer .cols{grid-template-columns:1fr 1fr;gap:20px}.site-footer .cols>div:last-child{grid-column:1/-1}.filterbar{padding:16px;gap:12px}.filter-control{font-size:.75rem}.filterbar select{font-size:.85rem;padding:10px}.sprigpost-document figure{margin:24px 0!important;padding:10px}.cc-form{padding:20px}.sprigpost-document h1{font-size:2.2rem}.unverified{white-space:normal}main>.wrap{padding-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}.cc-index .card:hover,.hero-actions a span{transform:none!important}}
@media(max-width:650px){.hero .display{font-size:2.35rem}}
@media print{.site-header,.site-footer,.menu-toggle,.hero-actions,.progress,.toc,.back-top{display:none!important}:root{--bg:#fff;--ink:#111;--muted:#333;--accent:#145654;--line:#ccc}body{background:#fff;color:#111}.sprigpost-document{font-size:11pt}.table-scroll{overflow:visible}.table-scroll table{min-width:0}.sprigpost-document figure{break-inside:avoid}.wrap{max-width:none!important;padding:0}.sprigpost-document a{color:#145654}}
