body[data-reading-library] { --rf-bg:#0b1317; --rf-panel:#122027; --rf-ink:#edf3ee; --rf-muted:#a9beb6; --rf-line:#30483e; --rf-accent:#91d7b7; --rf-on:#102e20; margin:0; background:var(--rf-bg); color:var(--rf-ink); font:15px/1.7 Inter,system-ui,sans-serif; }
html[data-ed-theme="light"] body[data-reading-library] { --rf-bg:#f7f7f0; --rf-panel:#edf1e8; --rf-ink:#1c382b; --rf-muted:#4f695a; --rf-line:#bdcdbd; --rf-accent:#246d4c; --rf-on:#fff; }
[data-reading-library] *,[data-reading-library] *::before,[data-reading-library] *::after { box-sizing:border-box; }
[data-reading-library] a { color:var(--rf-accent); text-underline-offset:3px; }
[data-reading-library] :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--rf-accent); outline-offset:4px; }
[data-reading-library] [hidden] { display:none!important; }
.rf-skip { position:fixed; z-index:100; top:10px; left:10px; background:var(--rf-accent); color:var(--rf-on)!important; padding:10px 16px; transform:translateY(-180%); }
.rf-skip:focus { transform:none; }
.rf-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding:22px 40px; border-bottom:1px solid var(--rf-line); }
.rf-brand { color:var(--rf-ink)!important; font:600 13px 'Space Grotesk',sans-serif; letter-spacing:.05em; text-decoration:none; }
.rf-brand span { display:block; color:var(--rf-muted); font:10px/1.6 'JetBrains Mono',monospace; margin-top:5px; }
.rf-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; font-size:12px; }
.rf-header-actions a { color:var(--rf-muted); text-decoration:none; }
.rf-main,.rf-footer { width:min(100% - 80px,1180px); margin:auto; }
.rf-main { padding:0; }
.rf-main :is(h1,h2,h3,p,figure) { margin:0; }
.rf-main h1,.rf-main h2,.rf-main h3 { font-family:'Space Grotesk',Inter,sans-serif; font-weight:500; color:var(--rf-ink); line-height:1.2; text-wrap:balance; }
.rf-main h1 { font-size:clamp(45px,4.7vw,68px); letter-spacing:-.055em; line-height:1.05; max-width:18ch; }
.rf-main h1 em { font-style:normal; color:var(--rf-accent); }
.rf-main h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.04em; }
.rf-main h3 { font-size:22px; letter-spacing:-.025em; }
.rf-main p { text-wrap:pretty; }
.rf-kicker { display:block; color:var(--rf-accent); font:500 11px/1.7 'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.rf-hero { padding:70px 0 46px; }
.rf-hero-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; margin-bottom:30px; }
.rf-hero time { font:11px/1.7 'JetBrains Mono',monospace; color:var(--rf-muted); }
.rf-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; align-items:end; }
.rf-lead { color:var(--rf-muted); font-size:17px; max-width:55ch; line-height:1.8; }
.rf-note { margin-top:18px!important; color:var(--rf-muted); font-size:12px; }
.rf-actions { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; margin-top:25px; }
.rf-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 19px; border:1px solid var(--rf-line); border-radius:4px; background:var(--rf-panel); color:var(--rf-ink)!important; font:600 13px/1.5 Inter,sans-serif; text-decoration:none; }
.rf-button-primary { color:var(--rf-on)!important; background:var(--rf-accent); border-color:var(--rf-accent); }
.rf-button:hover { border-color:var(--rf-accent); filter:brightness(1.07); }
.rf-actions > a:not(.rf-button) { font-size:13px; }
.rf-featured { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:40px; }
.rf-feature { display:grid; grid-template-columns:116px minmax(0,1fr); gap:24px; align-items:center; padding:24px; background:var(--rf-panel); border-top:2px solid var(--rf-accent); text-decoration:none; color:var(--rf-ink)!important; }
.rf-feature img { display:block; width:116px; height:auto; box-shadow:0 8px 28px #020b1538; }
.rf-feature p { font-size:12px; color:var(--rf-muted); margin-top:12px; }
.rf-feature .rf-kicker { font-size:10px; margin-bottom:8px; }
.rf-feature > div > span:last-child { display:inline-block; color:var(--rf-accent); margin-top:16px; font-size:12px; }
.rf-section { padding:55px 0; border-top:1px solid var(--rf-line); scroll-margin-top:25px; }
.rf-section-head { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:24px; margin-bottom:26px; }
.rf-section-head .rf-kicker { margin-bottom:10px; }
.rf-section-head > p { color:var(--rf-muted); font-size:13px; max-width:47ch; }
.rf-controls { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(180px,.65fr) auto; gap:20px; align-items:end; padding:22px; margin-bottom:20px; background:var(--rf-panel); }
.rf-controls label { font-size:11px; color:var(--rf-muted); }
.rf-controls :is(input,select) { display:block; height:46px; width:100%; margin-top:7px; min-width:0; padding:9px 12px; border:1px solid var(--rf-line); border-radius:3px; color:var(--rf-ink); background:var(--rf-bg); font:13px/1.5 Inter,sans-serif; }
.rf-controls input::placeholder { color:var(--rf-muted); }
.rf-reset { border:0; min-height:46px; padding:10px 0; color:var(--rf-accent); background:none; font:12px Inter,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.rf-count { color:var(--rf-muted); font:11px/1.7 'JetBrains Mono',monospace; margin:0 0 14px!important; }
.rf-file { display:grid; grid-template-columns:125px minmax(0,1fr) 220px; gap:24px; border-top:1px solid var(--rf-line); padding:24px 0; }
.rf-file-meta { color:var(--rf-muted); font:11px/1.6 'JetBrains Mono',monospace; }
.rf-file-meta span { display:block; margin-top:8px; }
.rf-file h3 { font-size:19px; line-height:1.4; }
.rf-file h3 a { color:var(--rf-ink); text-decoration:none; }
.rf-file h3 a:hover { color:var(--rf-accent); text-decoration:underline; }
.rf-file p { color:var(--rf-muted); font-size:12px; margin-top:10px; max-width:75ch; }
.rf-file-actions { display:flex; justify-content:flex-end; align-content:start; align-items:start; gap:10px; flex-wrap:wrap; }
.rf-file-actions .rf-button { min-height:42px; padding:9px 13px; font-size:12px; }
.rf-verify-links { margin-top:12px; color:var(--rf-muted); font-size:11px; }
.rf-verify-links summary { cursor:pointer; padding:5px 0; color:var(--rf-accent); }
.rf-verify-links p { font-size:11px; }
.rf-verify-links code { font:10px/1.7 'JetBrains Mono',monospace; overflow-wrap:anywhere; }
.rf-empty { padding:35px; text-align:center; border:1px dashed var(--rf-line); color:var(--rf-muted); }
.rf-method-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:55px; }
.rf-method-grid p { color:var(--rf-muted); font-size:14px; margin:14px 0; max-width:65ch; }
.rf-method-grid ol { padding-left:20px; color:var(--rf-muted); font-size:13px; }
.rf-method-grid li { margin:15px 0; }
.rf-method-grid strong { color:var(--rf-ink); }
.rf-method-grid pre { margin:20px 0; padding:18px; border:1px solid var(--rf-line); background:var(--rf-panel); color:var(--rf-ink); font:11px/1.8 'JetBrains Mono',monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.rf-fingerprint { font:11px/1.8 'JetBrains Mono',monospace!important; overflow-wrap:anywhere; }
.rf-pack { padding:28px; background:var(--rf-panel); margin-bottom:25px; }
.rf-pack p { color:var(--rf-muted); font-size:13px; margin:14px 0; }
.rf-footer { border-top:1px solid var(--rf-line); padding:24px 0 90px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; color:var(--rf-muted); font-size:12px; }
@media(max-width:1050px) { .rf-hero-grid { gap:35px; } .rf-featured { gap:18px; } .rf-feature { grid-template-columns:80px minmax(0,1fr); gap:17px; padding:20px; } .rf-feature img { width:80px; } .rf-file { grid-template-columns:105px minmax(0,1fr); } .rf-file-actions { grid-column:2; justify-content:flex-start; } }
@media(max-width:720px) { .rf-header { padding:18px 20px; gap:18px; } .rf-header-actions { gap:18px; } .rf-main,.rf-footer { width:calc(100% - 40px); } .rf-hero { padding-top:42px; } .rf-hero-grid,.rf-featured,.rf-method-grid { grid-template-columns:1fr; gap:26px; } .rf-main h1 { font-size:clamp(42px,10vw,64px); } .rf-lead { font-size:16px; } .rf-featured { margin-top:30px; } .rf-feature { grid-template-columns:85px minmax(0,1fr); } .rf-feature img { width:85px; } .rf-feature h3 { font-size:21px; } .rf-controls { grid-template-columns:1fr 1fr; gap:14px; padding:18px; } .rf-controls label:first-child { grid-column:1/-1; } .rf-controls .rf-reset { text-align:right; } .rf-file { grid-template-columns:1fr; gap:13px; } .rf-file-meta { display:flex; flex-wrap:wrap; gap:12px; } .rf-file-meta span { margin:0; } .rf-file-actions { grid-column:1; } .rf-section { padding:40px 0; } .rf-pack { padding:22px; } }
@media(prefers-reduced-motion:no-preference) { .rf-button,.rf-file h3 a { transition:background .2s,border-color .2s,color .2s; } }
@media print { body[data-reading-library] { --rf-bg:#fff; --rf-panel:#f4f6ef; --rf-ink:#152d22; --rf-muted:#43594b; --rf-line:#bbcbbd; --rf-accent:#1b6446; padding:0!important; } .rf-header,.rf-controls,.rf-skip,.hud-mobile-toggle,.dossier-hud-panel,.dossier-navigation-dialog { display:none!important; } .rf-main,.rf-footer { width:100%; } .rf-hero { padding-top:0; } .rf-file { break-inside:avoid; } }
