/*
Theme Name: Storyverse Hologram
Version: 3.4.0
*/
:root{--bg:#030405;--fg:#f3f3ef;--muted:#9b9b98;--line:rgba(255,255,255,.15);--hot:#ff0a5f;--violet:#7e3ff2;--lime:#c8ff00;--cyan:#00e8ff;--panel:rgba(5,7,8,.82);--mono:"IBM Plex Mono","Space Mono",Menlo,Consolas,monospace;--sans:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--mono);overflow-x:hidden}body.home{overflow:hidden}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:30;top:0;left:0;right:0;padding:14px 26px 10px;display:flex;align-items:flex-end;gap:22px;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.12));pointer-events:none}.site-title,.sv-brand{font-family:var(--sans);font-weight:900;font-size:clamp(30px,4vw,58px);line-height:.9;color:#8a42ff;text-decoration:none;letter-spacing:-.06em;text-shadow:0 2px 0 #000;pointer-events:auto}.site-title:after{content:"";display:block;width:100%;height:4px;background:#8a42ff;margin-top:5px}.sv-compact-header + *{padding-top:0}.back-link{margin-left:auto;font:900 clamp(34px,5vw,86px)/.8 var(--sans);letter-spacing:-.09em;color:#fff;pointer-events:auto}.sv-stage,#nebula{position:fixed;inset:0;background:#030405;overflow:hidden}.sv-bg{position:absolute;inset:0;background:radial-gradient(circle at 66% 44%,rgba(123,255,0,.16),transparent 27%),radial-gradient(circle at 0 100%,rgba(255,10,95,.26),transparent 36%),linear-gradient(100deg,rgba(0,232,255,.07),transparent 45%);}.sv-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:16px 16px;opacity:.28;mask-image:linear-gradient(90deg,transparent,black 20%,black 82%,transparent)}.sv-topbar{position:fixed;z-index:35;top:68px;left:48px;right:180px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.sv-nav,.sv-filters{display:flex;gap:9px;align-items:center}.sv-nav button,.sv-filters select,.sv-zoom button,.sv-card button,.sv-actions button,.sv-actions a,.sv-panel button{font:900 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);background:#0b0b0d;color:#fff;padding:13px 15px;box-shadow:7px 8px 0 rgba(255,10,95,.32);cursor:pointer}.sv-nav button.is-active,.sv-nav button:hover{background:#fff;color:#111;box-shadow:7px 8px 0 var(--hot)}.sv-filters select{background:#030405;color:#c8ff00}.sv-view{position:absolute;inset:0;z-index:4;padding:140px 56px 96px;overflow:auto}.sv-view.is-wheel{overflow:hidden;padding:0}.sv-wheel-svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.sv-wheel-svg .core{fill:rgba(0,0,0,.18);stroke:rgba(255,255,255,.18);stroke-width:1}.sv-core-label{fill:rgba(255,255,255,.45);font:900 12px var(--mono);letter-spacing:.08em;text-anchor:middle;text-transform:uppercase}.sv-record-hit{cursor:pointer;pointer-events:all}.sv-record-hit line{stroke-width:1.25;opacity:.8}.sv-record-hit text{font:800 9px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;paint-order:stroke;stroke:#000;stroke-width:3px;stroke-linecap:round}.sv-record-hit:hover text,.sv-record-hit:hover line{filter:drop-shadow(0 0 8px currentColor);stroke-width:2}.sv-record-hit circle{stroke:#000;stroke-width:3}.sv-year-node{cursor:pointer;pointer-events:all}.sv-year-node circle{fill:rgba(0,0,0,.28);stroke:rgba(200,255,0,.7);stroke-width:1}.sv-year-node text:first-of-type{font:950 52px/.8 var(--sans);letter-spacing:-.08em;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:8px}.sv-year-node .count{font:900 9px var(--mono);fill:var(--lime);stroke:none;text-transform:uppercase}.sv-zoom{position:fixed;z-index:38;right:38px;top:42%;display:grid;gap:12px}.sv-zoom button{width:70px;height:70px;background:#f2f2f2;color:#000;box-shadow:9px 9px 0 rgba(255,10,95,.3);font-size:16px}.sv-bottombar{position:fixed;z-index:36;left:0;right:0;bottom:0;min-height:74px;background:#f2f2f2;color:#050505;border-top:8px solid var(--hot);display:grid;grid-template-columns:170px minmax(250px,520px) 1fr;align-items:center;gap:18px;padding:10px 42px;border-radius:0 0 0 20px}.sv-mini-brand{font-weight:900;font-size:18px}.sv-bottombar input{height:48px;border:0;background:#e2e2e2;padding:0 22px;font:900 16px var(--mono);text-transform:uppercase}.sv-bottombar input:focus{outline:3px solid var(--hot)}#svStatus{text-align:right;font:900 12px var(--mono);text-transform:uppercase}.sv-panel{position:relative;max-width:1280px;margin:0 auto;padding:34px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(0,0,0,.92),rgba(40,0,20,.72));box-shadow:0 40px 120px rgba(0,0,0,.7)}.sv-panel.narrow{max-width:620px}.sv-panel-kicker{color:var(--lime);text-transform:uppercase;letter-spacing:.12em;font:900 12px var(--mono);margin-bottom:10px}.sv-panel h1{font:950 clamp(34px,5vw,76px)/.88 var(--sans);letter-spacing:-.06em;margin:0 0 24px}.sv-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.sv-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.sv-card{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);padding:18px;min-height:210px;box-shadow:inset 5px 0 0 var(--accent);cursor:pointer}.sv-card .meta{color:var(--accent);font-weight:900;text-transform:uppercase;font-size:11px}.sv-card h2{font:900 22px/1.05 var(--sans);letter-spacing:-.03em;margin:12px 0;color:#fff}.sv-card p{color:#d4d4d4;font-size:13px;line-height:1.45}.sv-path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.sv-path-grid button{text-align:left;border-left:8px solid var(--accent);display:flex;justify-content:space-between;align-items:end;min-height:110px;background:rgba(0,0,0,.7)}.sv-path-grid span{font:900 20px/1.05 var(--sans)}.sv-path-grid b{color:var(--accent);font-size:28px}.sv-settings label{display:block}.sv-panel label{display:block;padding:14px;border-bottom:1px solid var(--line);font-size:16px}.sv-drawer{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(720px,94vw);background:rgba(5,5,6,.96);border-left:8px solid var(--hot);box-shadow:-30px 0 90px rgba(0,0,0,.75);transform:translateX(105%);transition:transform .25s ease;overflow:auto;padding:72px 34px 34px}.sv-drawer.is-open{transform:translateX(0)}.sv-close{position:fixed;right:22px;top:18px;z-index:2;width:44px;height:44px;border:0;background:#fff;color:#000;font:900 26px var(--sans);cursor:pointer}.sv-dossier{border-top:8px solid var(--accent);padding-top:20px}.sv-dossier h1,.sv-reader h1{font:950 clamp(32px,5vw,64px)/.9 var(--sans);letter-spacing:-.055em;margin:0 0 20px}.sv-dossier p,.sv-reader-body{font:400 17px/1.7 var(--mono);color:#e5e5e5}.sv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.sv-tags span{border:1px solid var(--line);padding:7px 9px;color:var(--accent);font-size:11px;text-transform:uppercase}.sv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.sv-drawer.is-reader{width:min(960px,96vw)}.sv-reader{max-width:820px;margin:0 auto}.sv-reader-body p{margin:0 0 1.2em}.sv-reader-body a{color:var(--lime);text-decoration:underline}.single .site-header{position:sticky;background:#030405;border-bottom:1px solid var(--line)}.single main,.single .sv-single{max-width:1180px;margin:0 auto;padding:120px 30px 70px;min-height:100vh}.sv-article-card{background:linear-gradient(135deg,rgba(10,10,12,.96),rgba(35,0,15,.72));border:1px solid rgba(255,255,255,.16);border-top:8px solid var(--hot);padding:clamp(22px,4vw,52px);box-shadow:0 35px 100px rgba(0,0,0,.65)}.sv-article-meta{color:var(--lime);text-transform:uppercase;letter-spacing:.08em;font:900 13px var(--mono);margin-bottom:18px}.sv-article-title{font:950 clamp(38px,6vw,88px)/.86 var(--sans);letter-spacing:-.07em;margin:0 0 22px}.sv-article-tools{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.sv-article-tools a,.sv-article-tools button{font:900 12px var(--mono);text-transform:uppercase;padding:12px 14px;border:1px solid var(--line);background:#fff;color:#000;cursor:pointer}.sv-article-body{font:400 18px/1.76 var(--mono);color:#ededed;max-width:900px}.sv-article-body p{margin:0 0 1.25em}.sv-related{margin-top:42px}.sv-related h2{font:950 30px var(--sans);letter-spacing:-.04em}.sv-related-list{display:grid;gap:10px}.sv-related-list a{display:block;padding:14px 16px;background:rgba(255,255,255,.06);border-left:5px solid var(--lime)}.sv-reading-width .sv-article-card{max-width:900px;margin:0 auto}.sv-large-type{font-size:112%}.sv-high-contrast{--bg:#000;--fg:#fff;--panel:#000}.sv-reduced-motion *{transition:none!important;animation:none!important}
@media (max-width:800px){.site-header{padding:12px 16px}.site-title,.sv-brand{font-size:34px}.sv-topbar{left:16px;top:62px;right:16px}.sv-nav button,.sv-filters select{padding:10px 9px;font-size:10px}.sv-view{padding:145px 16px 100px}.sv-bottombar{grid-template-columns:1fr;gap:8px;padding:10px 16px}.sv-mini-brand,#svStatus{text-align:left}.sv-zoom{right:14px;top:auto;bottom:112px}.sv-zoom button{width:48px;height:48px}.sv-record-hit text{font-size:7px}.sv-year-node text:first-of-type{font-size:36px}}

/* ROC functional overview refinement */
.sv-shell{overflow:hidden;}
.sv-main-header{display:flex;align-items:flex-end;gap:22px;padding:18px 28px 10px;position:relative;z-index:20;}
.sv-brand{font-size:clamp(28px,4vw,52px);line-height:.88;text-decoration:none;border-bottom:4px solid var(--violet);display:inline-block;margin:0;}
.sv-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0;}
.sv-nav button{letter-spacing:.08em;}
.sv-filters{position:relative;z-index:19;margin:0 28px 4px;max-width:900px;}
.sv-thread-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.sv-thread-chips button{background:rgba(0,0,0,.72);border:1px solid color-mix(in srgb,var(--accent) 70%, transparent);border-left:4px solid var(--accent);box-shadow:7px 7px 0 rgba(255,0,78,.18);color:#fff;font:700 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;cursor:pointer;}
.sv-thread-chips button.is-active{background:var(--accent);color:#050505;border-color:var(--accent);}
.sv-view{position:absolute;inset:124px 0 70px;overflow:hidden;}
.sv-wheel-svg{width:100%;height:100%;display:block;}
.sv-overview-svg .overview-outer{fill:none;stroke:rgba(255,255,255,.08);stroke-width:24;stroke-dasharray:2 5;}
.sv-overview-svg .core{fill:rgba(0,0,0,.45);stroke:rgba(255,255,255,.12);stroke-width:1;}
.sv-core-label,.sv-core-sub{font-family:var(--mono);font-weight:800;text-anchor:middle;text-transform:uppercase;letter-spacing:.1em;fill:rgba(255,255,255,.66);}
.sv-core-label{font-size:13px;}.sv-core-sub{font-size:10px;fill:rgba(255,255,255,.42);}
.sv-overview-year{cursor:pointer;transition:transform .16s ease;}
.sv-overview-year circle{fill:rgba(0,0,0,.62);stroke:rgba(255,255,255,.22);stroke-width:1;}
.sv-overview-year text{fill:#fff;font:900 23px/1 var(--sans);letter-spacing:-.04em;paint-order:stroke;stroke:#000;stroke-width:4px;}
.sv-overview-year .count{font:800 9px/1 var(--mono);text-transform:uppercase;fill:var(--lime);stroke:none;letter-spacing:.1em;}
.sv-overview-year:hover{transform:scale(1.08);}
.sv-overview-orb{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .12s ease;}
.sv-overview-orb circle{stroke:rgba(255,255,255,.75);stroke-width:1.5;filter:none;}
.sv-overview-orb:hover{transform:scale(1.7);}
.sv-ticks line{stroke:rgba(255,255,255,.16);stroke-width:1;}
.sv-record-hit{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .12s ease, opacity .12s ease;}
.sv-record-hit:hover{transform:scale(1.08);filter:none;}
.sv-record-hit:hover text,.sv-record-hit:hover circle{filter:none;text-shadow:none;}
.sv-record-hit text{font:800 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;paint-order:stroke;stroke:#000;stroke-width:3px;pointer-events:none;}
.sv-record-hit line{stroke-width:1;pointer-events:none;}
.sv-year-node{cursor:pointer;}
.sv-year-node circle{fill:rgba(0,0,0,.52);stroke:rgba(255,255,255,.12);}
.sv-year-node text{font:900 44px/1 var(--sans);fill:#fff;paint-order:stroke;stroke:#000;stroke-width:6px;letter-spacing:-.06em;}
.sv-year-node .count{font:800 8px/1 var(--mono);fill:var(--lime);stroke:none;letter-spacing:.1em;text-transform:uppercase;}
.sv-bottom-bar{z-index:30;}
.sv-drawer{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100vh - 0px);}
.sv-drawer.is-reader{width:min(960px,94vw);}
.sv-reader{max-width:820px;margin:0 auto;color:#f6f6f6;padding:54px 44px 80px;}
.sv-reader h1{font:900 clamp(34px,5vw,64px)/.95 var(--sans);letter-spacing:-.04em;margin:12px 0 22px;color:#fff;}
.sv-reader-body{font:500 18px/1.65 var(--sans);color:rgba(255,255,255,.86);}
.sv-reader-body p{margin:0 0 1.2em;}.sv-reader-body a{color:var(--accent,#ff2b6a);}
.sv-single-ready{overflow:auto;background:#050505;color:#f5f5f5;}
body.single-post{overflow:auto!important;min-height:100vh;}
body.single-post .site-main, body.single-post main{max-width:980px;margin:0 auto;padding:38px 24px 110px;}
body.single-post article{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);padding:clamp(22px,4vw,54px);}
body.single-post h1{font:900 clamp(34px,6vw,72px)/.95 var(--sans);letter-spacing:-.04em;margin:16px 0 24px;}
body.single-post .entry-content, body.single-post .sv-article-body{font:500 18px/1.7 var(--sans);color:rgba(255,255,255,.88);}
@media(max-width:800px){.sv-main-header{align-items:flex-start;flex-direction:column;gap:12px;padding:14px 16px 8px}.sv-filters{margin:0 16px}.sv-view{inset:174px 0 70px}.sv-thread-chips{max-height:84px;overflow:auto}.sv-overview-year text{font-size:18px}.sv-year-node text{font-size:34px}.sv-record-hit text{font-size:7px}.sv-bottom-bar{grid-template-columns:1fr}.sv-search{width:100%;}}

/* ROC FUNCTIONAL PASS — nav, category collapse, year overview stability */
:root{--sv-header-w:260px;}
.sv-stage{overflow:hidden;}
.sv-shell{display:grid;grid-template-columns:var(--sv-header-w) 1fr;grid-template-rows:1fr 76px;height:100vh;overflow:hidden;}
.sv-brand{position:fixed;left:28px;top:24px;z-index:60;text-decoration:none!important;border-bottom:6px solid var(--purple);line-height:.85;font-size:clamp(38px,4vw,72px);}
.sv-topbar{position:fixed;left:30px;top:112px;width:220px;z-index:55;display:block!important;background:transparent!important;padding:0!important;}
.sv-nav{display:flex!important;flex-direction:column!important;gap:12px!important;align-items:stretch!important;width:100%;}
.sv-nav button,.sv-filter-toggle{width:100%;text-align:left;justify-content:flex-start;min-height:48px;}
.sv-filters{position:fixed;left:276px;top:78px;right:38px;z-index:54;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.08);padding:12px 14px 10px 14px;backdrop-filter:blur(10px);}
.sv-filter-toggle{display:inline-flex;width:auto;min-width:210px;gap:14px;align-items:center;margin:0 0 10px 0;background:#101012;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:7px 8px 0 rgba(255,0,78,.25);font-family:var(--mono);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.sv-filter-toggle span{opacity:.65;font-size:11px;}
.sv-filters.is-collapsed .sv-thread-chips{display:none!important;}
.sv-thread-chips{display:flex!important;flex-wrap:wrap;gap:10px;max-height:180px;overflow:auto;padding:0 0 5px 0;}
.sv-thread-chips button{position:relative;border-left:5px solid var(--accent)!important;box-shadow:6px 7px 0 rgba(255,0,78,.22);}
.sv-thread-chips button.is-active{background:#fff!important;color:#111!important;}
.sv-view{position:absolute!important;inset:0!important;padding:0!important;overflow:hidden;}
.sv-view.is-reader-page,.sv-view.is-results,.sv-view.is-pathways,.sv-view.is-settings{overflow:auto!important;padding:138px 54px 120px 320px!important;}
.sv-view.is-wheel{padding:0!important;}
.sv-wheel-svg{width:100%;height:100%;display:block;overflow:visible;}
.sv-overview-year{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:opacity .16s ease;}
.sv-overview-year:hover{transform:none!important;filter:none!important;opacity:.85;}
.sv-overview-year:hover circle,.sv-record-hit:hover circle{filter:none!important;stroke:#fff;stroke-width:2px;}
.sv-record-hit{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .16s ease, opacity .16s ease;}
.sv-record-hit:hover{transform:scale(1.32);filter:none!important;}
.sv-year-center{fill:#fff;font-size:34px;font-weight:900;font-family:var(--display);text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:5px;}
.sv-core-sub,.sv-year-count{fill:var(--acid);font-size:11px;font-family:var(--mono);font-weight:900;text-anchor:middle;text-transform:uppercase;}
.sv-year-list{position:absolute;right:60px;top:140px;width:min(440px,28vw);max-height:calc(100vh - 240px);overflow:auto;padding:14px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.12);box-shadow:14px 14px 0 rgba(255,0,78,.16);backdrop-filter:blur(10px);}
.sv-list-record{display:block;width:100%;text-align:left;margin:0 0 8px;padding:12px 12px;border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--accent);background:#0b0b0d;color:#fff;cursor:pointer;font-family:var(--mono);}
.sv-list-record:hover{transform:translateX(-4px);background:#15151a;}
.sv-list-record b{display:block;font-size:13px;line-height:1.25;text-transform:uppercase;}
.sv-list-record span{display:block;margin-top:6px;font-size:10px;color:rgba(255,255,255,.58);}
.sv-reader-page-inner{max-width:1040px;margin:0 auto 80px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.14);border-top:6px solid var(--accent);padding:38px 44px;box-shadow:18px 22px 0 rgba(255,0,78,.18);}
.sv-reader-page-inner h1{font-family:var(--display);font-size:clamp(34px,5vw,70px);line-height:.92;margin:18px 0 24px;color:#fff;text-transform:uppercase;}
.sv-reader-body{font-family:var(--body);font-size:19px;line-height:1.75;color:rgba(255,255,255,.86);}
.sv-reader-body p,.sv-reader-body li{max-width:78ch;}
.sv-reader-body a{color:var(--cyan);}
.sv-back-button{background:#fff;color:#111;border:0;padding:10px 14px;font-family:var(--mono);font-weight:900;text-transform:uppercase;}
.sv-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.sv-card{cursor:pointer;}
body.single,body.page,body.archive{overflow:auto!important;}
body.single .site,body.single main,body.single article{min-height:100vh;overflow:visible!important;}
@media(max-width:900px){:root{--sv-header-w:0px}.sv-shell{display:block}.sv-brand{font-size:40px;top:18px}.sv-topbar{left:18px;top:80px;width:180px}.sv-filters{left:18px;right:18px;top:300px}.sv-view.is-reader-page,.sv-view.is-results,.sv-view.is-pathways,.sv-view.is-settings{padding:360px 20px 110px!important}.sv-year-list{left:20px;right:20px;width:auto;top:auto;bottom:100px;max-height:32vh}.sv-bottom{font-size:11px}}


/* ROC BALANCE PASS — complete-data wheel, stable hover, useful home controls */
.sv-nav button[data-reset-home]{font-size:12px;min-height:40px;background:#15151a;color:var(--acid);border-left:5px solid var(--acid);}
.sv-filter-row{display:inline-flex;gap:12px;margin-left:12px;vertical-align:top;align-items:center;flex-wrap:wrap;}
.sv-filter-row label{font-family:var(--mono);font-size:11px;font-weight:900;text-transform:uppercase;color:#fff;letter-spacing:.08em;}
.sv-filter-row select{margin-left:8px;min-height:42px;background:#08080a;color:var(--acid);border:1px solid rgba(255,255,255,.18);box-shadow:6px 7px 0 rgba(255,0,78,.18);padding:0 34px 0 12px;font-family:var(--mono);font-weight:900;text-transform:uppercase;}
.sv-overview-year,.sv-overview-year *{transition:none!important;filter:none!important;}
.sv-overview-year:hover{opacity:1!important;transform:none!important;}
.sv-overview-year:hover circle{stroke:rgba(255,255,255,.35)!important;stroke-width:1px!important;}
.sv-overview-year text{pointer-events:none;}
.sv-record-hit:hover circle{stroke:rgba(255,255,255,.75)!important;stroke-width:1.5px!important;}
.sv-year-list{right:120px;width:min(460px,25vw);z-index:36;}
.sv-list-record{position:relative;z-index:2;}
.sv-zoom{z-index:52;}
.sv-view.is-wheel .sv-filter-row{display:inline-flex;}
.sv-year-node text,.sv-record-hit text{paint-order:stroke;stroke:#000;stroke-width:3px;}
.sv-year-node .count{font-size:9px;letter-spacing:.04em;}
@media(max-width:1200px){.sv-year-list{width:360px;right:95px}.sv-filters{left:280px;right:24px}.sv-filter-row{margin-left:0;margin-top:10px;display:flex!important}}

/* ROC BALANCE PATCH: restore headline-wheel complexity without losing navigation */
.sv-view.has-radial-headlines { overflow: hidden; }
.sv-headline-wheel { width:100%; height:100%; display:block; }
.sv-density-band { fill:none; stroke:rgba(255,255,255,.12); stroke-width:1; stroke-dasharray:1 9; vector-effect:non-scaling-stroke; }
.sv-spokes line { vector-effect:non-scaling-stroke; }
.sv-record-hit { cursor:pointer; outline:none; }
.sv-record-hit .sv-hit-target { fill:transparent; stroke:transparent; pointer-events:all; }
.sv-record-hit:hover circle:first-child,
.sv-record-hit:focus-visible circle:first-child { transform-box:fill-box; transform-origin:center; transform:scale(1.75); filter:none !important; }
.sv-record-label { cursor:pointer; pointer-events:all; outline:none; }
.sv-record-label text { font-family:'IBM Plex Mono','Space Mono',monospace; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; paint-order:stroke; stroke:#050505; stroke-width:3px; stroke-linejoin:round; }
.sv-record-label.dense text { font-size:8.5px; letter-spacing:.025em; stroke-width:2.5px; }
.sv-record-label.micro text { font-size:7.25px; letter-spacing:.015em; stroke-width:2px; }
.sv-record-label:hover text,
.sv-record-label:focus-visible text { font-size:13px; filter:none !important; }
.sv-record-label.dense:hover text,
.sv-record-label.micro:hover text { font-size:10.5px; }
.sv-core-hint { font-family:'IBM Plex Mono','Space Mono',monospace; font-size:11px; fill:rgba(255,255,255,.55); text-anchor:middle; letter-spacing:.18em; text-transform:uppercase; }
.sv-overview-year,
.sv-overview-year:hover,
.sv-overview-year:focus-visible { transform:none !important; filter:none !important; }
.sv-overview-year circle,
.sv-overview-year:hover circle { filter:none !important; }
.sv-record-hit:hover,
.sv-list-record:hover { filter:none !important; box-shadow:none !important; }
@media (max-width: 900px){
  .sv-record-label text{font-size:7px;stroke-width:2px;}
  .sv-record-label.dense text,.sv-record-label.micro text{font-size:6px;}
}

/* ROC NEXT UX INTEGRATION: headline wheel balance + consolidated command panel */
.nebula-stage, #nebula { position: relative; min-height: 100vh; overflow: hidden; background:#020304; }
.sv-command-panel{
  position:absolute; z-index:50; left:22px; top:18px; width:300px; max-height:calc(100vh - 110px);
  display:flex; flex-direction:column; gap:12px; pointer-events:auto;
}
.sv-control-brand{font-family:Inter, sans-serif; font-weight:900; font-size:clamp(38px,4vw,72px); line-height:.82; letter-spacing:-.07em; color:#8647ff; border-bottom:7px solid currentColor; text-transform:none; padding-bottom:6px;}
.sv-nav{display:flex; flex-direction:column; gap:10px; width:250px;}
.sv-nav button,.sv-filter-toggle,.sv-thread-chips button,.sv-filters select,.sv-command-panel input{
  font-family:'IBM Plex Mono','Space Mono',monospace; font-weight:900; text-transform:uppercase; letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.12); background:#101012; color:#fff; box-shadow:8px 8px 0 rgba(255,22,94,.35); min-height:44px;
}
.sv-nav button{ text-align:left; padding:14px 16px; cursor:pointer; }
.sv-nav button.is-active{background:#fff;color:#0b0b0d;box-shadow:8px 8px 0 #ff145d;}
.sv-filters{width:300px;background:rgba(10,10,14,.88);border:1px solid rgba(255,255,255,.1);box-shadow:8px 8px 0 rgba(255,22,94,.28);}
.sv-filter-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;box-shadow:none;background:#151519;cursor:pointer;}
.sv-filter-toggle span{color:#c9ff00;font-size:12px;margin-left:10px;}
.sv-filter-body{display:grid;gap:10px;padding:12px;max-height:44vh;overflow:auto;}
.sv-filters.is-collapsed .sv-filter-body{display:none;}
.sv-filter-body label{display:grid;gap:6px;font-family:'IBM Plex Mono','Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#888;}
.sv-filters select{padding:10px;background:#08080b;color:#c9ff00;box-shadow:none;}
.sv-thread-chips{display:flex;flex-wrap:wrap;gap:8px;}
.sv-thread-chips button{font-size:10px;min-height:30px;padding:8px 10px;border-left:4px solid var(--accent);box-shadow:4px 4px 0 rgba(255,22,94,.22);cursor:pointer;}
.sv-thread-chips button.is-active{background:#fff;color:#050505;}
.sv-command-panel input{width:100%;padding:14px 16px;background:#e9e9e9;color:#111;box-shadow:none;}
.sv-panel-note{font-family:'IBM Plex Mono','Space Mono',monospace;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.46);background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);padding:12px;}
.sv-view{position:absolute;inset:0 0 64px 0;z-index:5;}
.sv-wheel-svg{width:100%;height:100%;display:block;overflow:visible;}
.sv-overview-svg,.sv-headline-wheel{shape-rendering:geometricPrecision;}
.overview-outer,.core,.sv-density-band{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.2;}
.sv-density-band{stroke:rgba(255,255,255,.045);stroke-dasharray:2 4;}
.core{fill:rgba(0,0,0,.74);stroke:rgba(255,255,255,.18);}
.sv-ticks line{stroke:rgba(255,255,255,.1);stroke-width:1;}
.sv-overview-year{cursor:pointer;transition:opacity .16s ease;}
.sv-overview-year circle{fill:rgba(0,0,0,.72);stroke:rgba(255,255,255,.2);stroke-width:1.2;}
.sv-overview-year text{font-family:Inter, sans-serif;font-weight:900;font-size:28px;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:5px;}
.sv-overview-year text.count{font-family:'IBM Plex Mono','Space Mono',monospace;font-size:10px;fill:#c9ff00;stroke:none;}
.sv-overview-year:hover circle{stroke:#c9ff00;stroke-width:2;}
.sv-overview-orb circle:first-child,.sv-record-hit circle:first-child{transition:r .12s ease, opacity .12s ease;}
.sv-overview-orb:hover circle:first-child,.sv-record-hit:hover circle:first-child{r:8;opacity:1;}
.sv-hit-target,.sv-label-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer;}
.sv-overview-headline text,.sv-record-label text{font-family:'IBM Plex Mono','Space Mono',monospace;font-weight:900;letter-spacing:.07em;text-transform:uppercase;font-size:10px;paint-order:stroke;stroke:#020202;stroke-width:4px;cursor:pointer;}
.sv-overview-headline:hover text,.sv-record-label:hover text{font-size:13px;filter:none;text-decoration:underline;text-decoration-thickness:2px;}
.sv-record-label.dense text{font-size:9px;}
.sv-record-label.micro text{font-size:7px;letter-spacing:.045em;}
.sv-record-label.ultra text{font-size:6px;letter-spacing:.025em;}
.sv-record-label.dense:hover text,.sv-record-label.micro:hover text,.sv-record-label.ultra:hover text{font-size:11px;}
.sv-spokes line{vector-effect:non-scaling-stroke;}
.sv-core-label,.sv-core-main,.sv-core-sub{text-anchor:middle;font-family:'IBM Plex Mono','Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;pointer-events:none;}
.sv-core-label{font-size:13px;font-weight:900;fill:#aaa;}
.sv-core-main{font-family:Inter, sans-serif;font-size:34px;font-weight:900;letter-spacing:-.04em;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:5px;}
.sv-core-sub{font-size:10px;font-weight:900;fill:#c9ff00;}
.sv-headline-wheel.is-reading-hover .sv-core-main,.sv-overview-svg.is-reading-hover .sv-core-main{font-size:20px;letter-spacing:-.02em;}
.sv-drawer{z-index:60;}
.sv-bottombar{position:absolute;z-index:70;left:0;right:0;bottom:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 42px;background:#ededed;border-top:7px solid #ff145d;color:#080808;font-family:'IBM Plex Mono','Space Mono',monospace;font-weight:900;text-transform:uppercase;}
.sv-mini-brand{font-size:18px;}.sv-bottombar #svStatus{font-size:12px;}
.sv-zoom{z-index:75;}
@media (max-width:900px){.sv-command-panel{width:calc(100% - 44px);max-height:none}.sv-control-brand{font-size:42px}.sv-nav{flex-direction:row;flex-wrap:wrap;width:100%}.sv-nav button{flex:1 1 130px}.sv-panel-note{display:none}.sv-view{inset:210px 0 64px 0}.sv-filters{width:100%;}.sv-command-panel input{display:none}.sv-bottombar{font-size:12px;padding:0 14px}.sv-mini-brand{font-size:14px}}
.sv-overview-year,.sv-overview-year:hover,.sv-record-hit:hover,.sv-record-label:hover,.sv-overview-orb:hover,.sv-overview-headline:hover{filter:none!important;text-shadow:none!important;transform-box:fill-box;}
.sv-overview-year:hover{transform:none!important;}
.sv-record-hit circle,.sv-record-label text,.sv-overview-orb circle,.sv-overview-headline text{filter:none!important;}

/* ROC BALANCE PATCH — year indicators, cleaner command rail, single-reading experience */
body.sv-active .site-title,
body.sv-active .site-branding,
body.sv-active header .custom-logo-link,
body.sv-active .entry-header,
body.sv-active .page-header{display:none!important;}

body.sv-active .sv-control-brand{
  font-size:clamp(44px,4.8vw,72px)!important;
  line-height:.82!important;
  max-width:260px!important;
  margin:0 0 22px!important;
  text-shadow:none!important;
}
body.sv-active .sv-controls{
  width:300px!important;
  max-width:300px!important;
  gap:12px!important;
  background:linear-gradient(90deg,rgba(5,8,10,.92),rgba(5,8,10,.55))!important;
  padding:20px 16px 18px 24px!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
body.sv-active .sv-nav{gap:10px!important;}
body.sv-active .sv-nav button,
body.sv-active .sv-select-wrap,
body.sv-active #svSearch{
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body.sv-active .sv-nav button{font-size:13px!important;text-align:left!important;padding-left:18px!important;}
body.sv-active .sv-top-panel{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  margin:2px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.sv-active .sv-filter-summary{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  height:48px!important;padding:0 14px!important;background:#111!important;border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:8px 8px 0 rgba(255,22,102,.32)!important;font-size:12px!important;
}
body.sv-active .sv-filter-body{position:absolute!important;left:24px!important;top:300px!important;width:360px!important;z-index:40!important;}
body.sv-active .sv-thread-chips{max-height:330px!important;overflow:auto!important;background:rgba(5,5,8,.96)!important;padding:12px!important;border:1px solid rgba(255,255,255,.13)!important;}
body.sv-active .sv-select-wrap select{padding-left:16px!important;}
body.sv-active .sv-panel-note{font-size:11px!important;line-height:1.4!important;background:rgba(255,255,255,.045)!important;border-left:3px solid #ff1666!important;padding:12px!important;}

body.sv-active .sv-stage{left:300px!important;width:calc(100vw - 300px)!important;}
body.sv-active .sv-bottom{left:300px!important;width:calc(100vw - 300px)!important;}

body.sv-active .sv-overview-year circle{fill:rgba(0,0,0,.62)!important;stroke:rgba(255,255,255,.2)!important;stroke-width:1!important;filter:none!important;}
body.sv-active .sv-overview-year text{font-size:22px!important;font-weight:900!important;fill:#fff!important;paint-order:stroke!important;stroke:#000!important;stroke-width:5px!important;}
body.sv-active .sv-overview-year .count{font-size:10px!important;fill:#d7ff00!important;stroke-width:3px!important;}
body.sv-active .sv-year-rim-label text{font-family:'IBM Plex Mono',monospace!important;font-size:13px!important;font-weight:900!important;letter-spacing:.08em!important;fill:#fff!important;paint-order:stroke!important;stroke:#000!important;stroke-width:4px!important;}
body.sv-active .sv-year-rim-label .count{font-size:9px!important;fill:#d7ff00!important;stroke-width:3px!important;}
body.sv-active .sv-overview-year:hover{transform-box:fill-box;transform-origin:center;}
body.sv-active .sv-overview-orb circle:not(.sv-hit-target){transition:r .12s ease, transform .12s ease!important;filter:none!important;stroke:rgba(255,255,255,.45)!important;stroke-width:.9!important;}
body.sv-active .sv-overview-orb:hover circle:not(.sv-hit-target){r:7.5!important;filter:none!important;}
body.sv-active .sv-hit-target{fill:transparent!important;stroke:transparent!important;pointer-events:all!important;}
body.sv-active .sv-radial-labels text,
body.sv-active .sv-overview-headline text{filter:none!important;text-shadow:none!important;}

body.sv-active .sv-single-shell{padding-left:320px!important;}
body.sv-active .sv-article-shell{max-width:980px!important;margin:40px auto 120px!important;}
body.sv-active .sv-article-shell > .sv-single-title:first-of-type,
body.sv-active .sv-single-pretitle + h1 + .sv-rule{display:none!important;}
body.sv-active .sv-article-body > h1:first-child,
body.sv-active .sv-article-body > h2:first-child{display:none!important;}
body.sv-active #svReaderWidth{display:none!important;}
body.sv-active .sv-article-card{margin-top:0!important;}

@media (max-width:900px){
 body.sv-active .sv-controls{width:100%!important;max-width:none!important;position:relative!important;}
 body.sv-active .sv-stage, body.sv-active .sv-bottom{left:0!important;width:100%!important;}
 body.sv-active .sv-single-shell{padding-left:0!important;}
}


/* ROC FINAL UX / PERFORMANCE BALANCE PATCH
   - one clean command rail
   - year labels live inside the center circle on overview
   - no duplicate brand in the control column
   - single reader path, no redundant read/full article controls
*/
body.sv-active .site-title a,
body.sv-active .site-branding a,
body.sv-active .custom-logo-link,
body.sv-active .sv-control-brand{display:none!important;}

body.sv-active .sv-shell{overflow:hidden!important;}
body.sv-active .sv-command-panel{
  position:fixed!important;
  left:24px!important;
  top:88px!important;
  width:310px!important;
  z-index:80!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  pointer-events:auto!important;
}
body.sv-active .sv-top-filters{position:fixed!important;left:345px!important;top:70px!important;width:330px!important;z-index:82!important;}
body.sv-active .sv-nav{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;}
body.sv-active .sv-nav button{width:100%!important;text-align:left!important;height:52px!important;}
body.sv-active #svSearch{width:100%!important;height:54px!important;margin:0!important;}
body.sv-active .sv-panel-note{font-size:12px!important;line-height:1.45!important;opacity:.72!important;background:rgba(12,12,16,.8)!important;padding:14px!important;border:1px solid rgba(255,255,255,.06)!important;}
body.sv-active .sv-year-strip{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:6px!important;
  max-height:126px!important;
  overflow:auto!important;
  padding:8px!important;
  background:rgba(8,8,12,.72)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
body.sv-active .sv-year-strip button{
  font:800 11px/1 'IBM Plex Mono','Space Mono',monospace!important;
  padding:9px 6px!important;
  color:#d7ff00!important;
  background:#101015!important;
  border:1px solid rgba(215,255,0,.25)!important;
  box-shadow:4px 4px 0 rgba(255,20,96,.28)!important;
  cursor:pointer!important;
}
body.sv-active .sv-year-strip button:hover{transform:translate(-1px,-1px)!important;background:#fff!important;color:#000!important;}

body.sv-active .sv-core{pointer-events:none!important;}
body.sv-active .sv-overview-year.is-core-year circle{fill:rgba(0,0,0,.56)!important;stroke:rgba(255,255,255,.45)!important;stroke-width:1!important;}
body.sv-active .sv-overview-year.is-core-year text{font-size:12px!important;font-weight:950!important;fill:#fff!important;paint-order:stroke!important;stroke:#000!important;stroke-width:3px!important;letter-spacing:-.5px!important;}
body.sv-active .sv-overview-year.is-core-year .count{font-size:8px!important;fill:#d7ff00!important;stroke-width:2px!important;}
body.sv-active .sv-overview-year.is-core-year:hover{transform:scale(1.08)!important;transform-box:fill-box!important;transform-origin:center!important;}
body.sv-active #svWheelRotator{will-change:transform;transform-box:fill-box;}
body.sv-active .sv-hit{cursor:pointer!important;}
body.sv-active .sv-hit:hover + circle,
body.sv-active .sv-dot:hover circle{transform:scale(1.35)!important;transform-box:fill-box!important;transform-origin:center!important;filter:none!important;}
body.sv-active .sv-orb-bubble:hover{filter:none!important;transform:scale(1.08)!important;transform-box:fill-box!important;transform-origin:center!important;}
body.sv-active .sv-orb-bubble circle:first-child{filter:none!important;}

body.sv-active .sv-reader-page-inner h1 + .sv-reader-body h1,
body.sv-active .sv-reader-page-inner .sv-reader-body .entry-title,
body.sv-active .sv-reader-page-inner .sv-reader-body header,
body.sv-active .sv-reader-page-inner .sv-reader-body .sv-article-hero{display:none!important;}
body.sv-active .sv-actions a{display:none!important;}
body.sv-active .sv-actions button{min-width:150px!important;}

@media (max-width:900px){
  body.sv-active .sv-command-panel{left:14px!important;top:72px!important;width:260px!important;}
  body.sv-active .sv-top-filters{left:14px!important;top:auto!important;bottom:76px!important;width:260px!important;}
}

/* ROC patch: drawer, fixed inner years, proportional bars, terminal search, spotlight, performance */
.sv-command-toggle{
  position:fixed;
  z-index:70;
  top:22px;
  left:22px;
  width:128px;
  height:58px;
  background:#f4f4f4;
  color:#07070a;
  border:2px solid #07070a;
  box-shadow:7px 7px 0 rgba(255,0,88,.72);
  font-family:var(--mono);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  cursor:pointer;
}
.sv-command-panel{
  position:fixed;
  z-index:65;
  top:94px;
  left:22px;
  width:min(390px, calc(100vw - 44px));
  max-height:calc(100vh - 160px);
  overflow:auto;
  background:rgba(5,5,8,.96);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:10px 10px 0 rgba(255,0,88,.42);
  backdrop-filter:blur(14px);
  transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
}
.sv-command-panel.is-collapsed{
  transform:translateX(-112%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.sv-command-panel.is-open{
  transform:translateX(0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.sv-terminal-search{
  flex:1 1 420px;
  max-width:460px;
  min-width:180px;
  height:34px;
  background:#020202;
  color:var(--lime);
  border:1px solid rgba(255,255,255,.22);
  font-family:var(--mono);
  font-weight:900;
  text-transform:uppercase;
  padding:0 14px;
  box-shadow:inset 0 0 14px rgba(200,255,0,.10);
}
.sv-terminal-search:focus{ outline:none; border-color:var(--lime); background:#060606; }
.sv-terminal-search::placeholder{ color:rgba(200,255,0,.45); }
.sv-inner-year-layer{ pointer-events:auto; }
.sv-overview-year,
.sv-overview-year *{
  transform:none !important;
  transition:none !important;
  filter:none !important;
}
.sv-year-hit{
  fill:rgba(0,0,0,.01);
  stroke:none;
  cursor:pointer;
}
.sv-inner-year-text{
  fill:#fff;
  stroke:#050505;
  stroke-width:3px;
  paint-order:stroke;
  font-family:var(--display);
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
  pointer-events:none;
}
.sv-inner-year-bar rect{
  stroke:#050505;
  stroke-width:.7px;
  shape-rendering:crispEdges;
  pointer-events:none;
}
.sv-overview-year .count{
  fill:rgba(255,255,255,.70);
  font-family:var(--mono);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}
.sv-overview-year:hover .sv-inner-year-text{ fill:var(--lime); }
.sv-headline-wheel:has(.sv-record-hit:hover) .sv-record-hit:not(:hover),
.sv-headline-wheel:has(.sv-record-label:hover) .sv-record-label:not(:hover),
.sv-overview-svg:has(.sv-overview-orb:hover) .sv-overview-orb:not(:hover),
.sv-overview-svg:has(.sv-overview-headline:hover) .sv-overview-headline:not(:hover){
  opacity:.15;
  filter:grayscale(100%);
  transition:opacity .2s ease, filter .2s ease;
}
.sv-record-hit:hover,
.sv-record-label:hover,
.sv-overview-orb:hover,
.sv-overview-headline:hover{
  opacity:1;
}
#svWheelRotator,
.sv-wheel-rotator,
.sv-headline-halo,
.sv-headline-wheel{
  will-change:transform;
  backface-visibility:hidden;
  text-rendering:optimizeSpeed;
}
.sv-bottombar{ gap:16px; }

/* ROC STABLE REPAIR — keep SVG year nodes in their SVG transform coordinates.
   Earlier rules used `transform:none !important`, which forced year labels to render near 0,0/off-canvas. */
.sv-overview-svg .sv-overview-year,
.sv-overview-svg .sv-overview-year * {
  filter: none !important;
}
.sv-overview-svg .sv-overview-year {
  transform-box: fill-box;
  transform-origin: center center;
  pointer-events: auto;
}
.sv-overview-svg .sv-year-hit {
  fill: rgba(0,0,0,.01);
  stroke: none;
  cursor: pointer;
}
.sv-overview-svg .sv-inner-year-text {
  font-family: 'Inter', sans-serif;
  font-size: clamp(18px, 2.4vw, 38px);
  font-weight: 950;
  fill: #fff;
  stroke: #000;
  stroke-width: 6px;
  paint-order: stroke fill;
  letter-spacing: -0.08em;
  text-transform: uppercase;
}
.sv-overview-svg .sv-inner-year-bar rect {
  stroke: rgba(0,0,0,.8);
  stroke-width: 1px;
  shape-rendering: crispEdges;
}
.sv-overview-svg .sv-inner-year-layer .count {
  font-family: 'IBM Plex Mono','Space Mono',monospace;
  font-size: 7px;
  font-weight: 900;
  fill: var(--lime, #d7ff00);
  letter-spacing: .08em;
  text-transform: uppercase;
  stroke: #000;
  stroke-width: 2px;
  paint-order: stroke fill;
}
.sv-overview-svg .sv-year-connectors .sv-year-connector {
  stroke: rgba(255,255,255,.22);
  stroke-width: 1px;
  stroke-dasharray: 1 9;
  vector-effect: non-scaling-stroke;
}
.sv-overview-svg #svWheelRotator {
  will-change: transform;
  backface-visibility: hidden;
  transform-box: view-box;
}


/* ROC INNER-YEAR VISIBILITY REPAIR */
.sv-overview-svg .sv-overview-year .sv-year-node{
  fill: rgba(0,0,0,.78);
  stroke: rgba(255,255,255,.14);
  stroke-width: 1px;
}
.sv-overview-svg .sv-overview-year .sv-year-hit{
  fill: rgba(0,0,0,.01);
  stroke: none;
}
.sv-overview-svg .sv-inner-year-text{
  font-family: 'Inter', sans-serif;
  font-size: 16px !important;
  font-weight: 950 !important;
  fill: #fff !important;
  stroke: #000 !important;
  stroke-width: 3px !important;
  paint-order: stroke fill;
  letter-spacing: -.05em;
}
.sv-overview-svg .sv-inner-year-bar-track{
  fill: rgba(255,255,255,.08);
  stroke: rgba(255,255,255,.16);
  stroke-width: .6px;
}
.sv-overview-svg .sv-inner-year-bar rect{
  shape-rendering: geometricPrecision;
}
.sv-overview-svg .sv-inner-year-bar rect:not(.sv-inner-year-bar-track){
  stroke: rgba(0,0,0,.75);
  stroke-width: .6px;
}
.sv-overview-svg .sv-overview-year .count{ display:none; }
.sv-overview-svg .sv-year-connectors .sv-year-connector{
  stroke: rgba(255,255,255,.18);
  stroke-width: .9px;
  stroke-dasharray: 2 8;
}

/* === ROC STABLE INNER YEAR LABEL PATCH ===
   These labels intentionally do NOT use .sv-overview-year or SVG group transforms.
   Earlier patches had transform conflicts that pushed the year off canvas or hid it.
*/
.sv-inner-year-layer,
.sv-core-year-marker,
.sv-core-year-marker * {
  pointer-events: auto;
  vector-effect: non-scaling-stroke;
}
.sv-core-year-marker {
  cursor: pointer;
  opacity: .98;
}
.sv-core-year-hit {
  fill: rgba(0,0,0,.01);
  stroke: none;
}
.sv-core-year-text {
  font-family: 'Inter', 'Arial Black', sans-serif;
  font-size: 15px;
  font-weight: 1000;
  fill: #fff !important;
  stroke: #000;
  stroke-width: 4px;
  paint-order: stroke fill;
  letter-spacing: -.04em;
  text-transform: uppercase;
  filter: drop-shadow(0 1px 0 #000) drop-shadow(0 0 5px rgba(255,255,255,.3));
}
.sv-core-year-bar-track {
  fill: rgba(255,255,255,.08);
  stroke: rgba(255,255,255,.16);
  stroke-width: .75;
}
.sv-core-year-seg {
  stroke: rgba(0,0,0,.65);
  stroke-width: .35;
}
.sv-core-year-count {
  font-family: 'IBM Plex Mono','Space Mono',monospace;
  font-size: 6px;
  font-weight: 900;
  fill: var(--lime, #d7ff00) !important;
  stroke: #000;
  stroke-width: 1.35px;
  paint-order: stroke fill;
  letter-spacing: .04em;
}
.sv-core-year-marker:hover .sv-core-year-text {
  fill: var(--lime, #d7ff00) !important;
}
.sv-overview-svg .sv-year-connectors .sv-year-connector{
  stroke: rgba(255,255,255,.26);
  stroke-width: 1.15px;
  stroke-dasharray: 2 5;
  opacity: .9;
}
/* remove white rings around the colored overview orbs */
.sv-overview-svg .sv-overview-orb > circle:first-child{
  stroke: none !important;
}
.sv-overview-svg .sv-overview-orb > .sv-hit-target{
  fill: transparent !important;
  stroke: transparent !important;
}


/* === ROC STABLE INNER YEAR LABEL PATCH ===
   These labels intentionally do NOT use .sv-overview-year or SVG group transforms.
   Earlier patches had transform conflicts that pushed the year off canvas or hid it.
*/
.sv-inner-year-layer,
.sv-core-year-marker,
.sv-core-year-marker * {
  pointer-events: auto;
  vector-effect: non-scaling-stroke;
}
.sv-core-year-marker {
  cursor: pointer;
  opacity: .98;
}
.sv-core-year-hit {
  fill: rgba(0,0,0,.01);
  stroke: none;
}
.sv-core-year-stack {
  transform-box: fill-box;
  transform-origin: center;
}
.sv-core-year-text {
  font-family: 'Inter', 'Arial Black', sans-serif;
  font-size: 15px;
  font-weight: 1000;
  fill: #fff !important;
  stroke: #000;
  stroke-width: 4px;
  paint-order: stroke fill;
  letter-spacing: -.04em;
  text-transform: uppercase;
  filter: drop-shadow(0 1px 0 #000) drop-shadow(0 0 5px rgba(255,255,255,.38));
}
.sv-core-year-bar-track {
  fill: rgba(255,255,255,.12);
  stroke: rgba(255,255,255,.22);
  stroke-width: .85;
}
.sv-core-year-seg {
  stroke: rgba(0,0,0,.72);
  stroke-width: .45;
}
.sv-core-year-count {
  font-family: 'IBM Plex Mono','Space Mono',monospace;
  font-size: 6.5px;
  font-weight: 900;
  fill: var(--lime, #d7ff00) !important;
  stroke: #000;
  stroke-width: 1.6px;
  paint-order: stroke fill;
  letter-spacing: .04em;
}
.sv-core-year-marker:hover .sv-core-year-text {
  fill: var(--lime, #d7ff00) !important;
}
.sv-overview-svg .sv-year-connectors .sv-year-connector{
  stroke: rgba(255,255,255,.18);
  stroke-width: 1px;
  stroke-dasharray: 2 7;
}


/* === ROC FINAL INNER-YEAR DENSITY / CONNECTOR OVERRIDES === */
.sv-overview-svg .sv-core-year-marker { opacity: .99; }
.sv-overview-svg .sv-core-year-hit { fill: rgba(0,0,0,.01); stroke: none; }
.sv-overview-svg .sv-core-year-text {
  font-size: 14px !important;
  stroke-width: 3.8px !important;
}
.sv-overview-svg .sv-core-year-count {
  font-size: 6px !important;
  stroke-width: 1.25px !important;
}
.sv-overview-svg .sv-core-year-bar-track {
  fill: rgba(255,255,255,.10) !important;
  stroke: rgba(255,255,255,.18) !important;
}
.sv-overview-svg .sv-core-year-link {
  stroke: rgba(255,255,255,.42);
  stroke-width: 1.2px;
  stroke-dasharray: 2 4;
  stroke-linecap: round;
  opacity: .92;
  filter: drop-shadow(0 0 4px rgba(255,255,255,.12));
}
/* kill any remaining white outlines on the overview orbit dots */
.sv-overview-svg .sv-overview-orb circle:not(.sv-hit-target) {
  stroke: none !important;
}
.sv-overview-svg .sv-overview-orb .sv-hit-target {
  fill: transparent !important;
  stroke: transparent !important;
}


/* === ROC OVERVIEW DENSITY + LEGACY-LINE LOOK OVERRIDES === */
.sv-overview-svg .sv-core-year-link {
  stroke-width: 1.35px !important;
  stroke-dasharray: none !important;
  stroke-linecap: round;
  opacity: .68 !important;
  filter: drop-shadow(0 0 2px rgba(255,255,255,.14));
}
.sv-overview-svg .sv-overview-headline text {
  letter-spacing: .06em;
}


/* === ROC headline-to-bar connector refinement === */
.sv-overview-svg .sv-headline-link {
  stroke-width: 1px;
  stroke-linecap: round;
  opacity: .42;
  filter: drop-shadow(0 0 1.5px rgba(255,255,255,.08));
}
.sv-overview-svg .sv-year-connectors { pointer-events: none; }
.sv-overview-svg .sv-core-year-link { display: none !important; }
