
:root{--bg:#05070d;--bg2:#0b1220;--panel:#111a2a;--panel2:#162235;--text:#edf7ff;--muted:#aabbd0;--soft:#75869b;--line:rgba(155,197,255,.18);--accent:#45f0c2;--accent2:#76a9ff;--gold:#ffcc66;--danger:#ff6b7a;--purple:#c18cff;--radius:18px;--max:1160px;--shadow:0 24px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 12% 0%,rgba(69,240,194,.16),transparent 32rem),radial-gradient(circle at 88% 4%,rgba(118,169,255,.14),transparent 30rem),linear-gradient(180deg,#060914,#070b12 48%,#04060b);line-height:1.62;isolation:isolate;position:relative;min-height:100vh}body:before{content:"";position:fixed;z-index:-3;top:66px;left:0;width:min(58vw,880px);height:min(62vh,720px);background:linear-gradient(90deg,rgba(5,7,13,.08),rgba(5,7,13,.62) 72%,rgba(5,7,13,1)),linear-gradient(180deg,rgba(5,7,13,.04),rgba(5,7,13,.58) 82%,rgba(5,7,13,1)),url("../img/matrix-rick-bg.png");background-size:cover;background-position:left top;background-repeat:no-repeat;opacity:.68;filter:saturate(1.1) contrast(1.05);pointer-events:none}body:after{content:"";position:fixed;z-index:-2;inset:0;background:radial-gradient(circle at 18% 14%,rgba(69,240,194,.08),transparent 18rem),linear-gradient(90deg,rgba(5,7,13,.24),rgba(5,7,13,.52) 42%,rgba(5,7,13,.78));pointer-events:none}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px;top:8px;background:var(--accent);color:#04110d;padding:.55rem .8rem;border-radius:999px;z-index:100}.skip-link:focus{left:8px}.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(7,11,18,.80);border-bottom:1px solid var(--line)}.nav-wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;font-weight:900;letter-spacing:-.035em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,rgba(69,240,194,.25),rgba(118,169,255,.20));border:1px solid rgba(69,240,194,.38);box-shadow:0 0 28px rgba(69,240,194,.14)}.brand small{display:block;color:var(--muted);font-weight:650;letter-spacing:0;margin-top:-5px;font-size:.74rem}.nav-links{display:flex;align-items:center;gap:.18rem;flex-wrap:wrap;justify-content:flex-end}.nav-links a{color:var(--muted);padding:.44rem .55rem;border-radius:999px;font-weight:800;font-size:.79rem}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text);background:rgba(255,255,255,.075)}.nav-toggle{display:none;border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);border-radius:12px;padding:.65rem .8rem}.hero{padding:clamp(2.6rem,6vw,5.3rem) 0 2.3rem}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(1.4rem,4.2vw,4rem);align-items:center}.eyebrow{color:var(--accent);font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;margin-bottom:.85rem}h1,h2,h3{line-height:1.07;margin:0 0 1rem;letter-spacing:-.046em}h1{font-size:clamp(2.35rem,5.7vw,5.2rem)}h2{font-size:clamp(1.55rem,3.1vw,2.65rem)}h3{font-size:clamp(1.06rem,1.55vw,1.35rem)}p{margin:0 0 1rem;color:var(--muted)}.lede{font-size:clamp(1.02rem,1.55vw,1.23rem);color:#d6e6f7;max-width:76ch}.hero-actions,.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.78rem 1.06rem;border-radius:999px;font-weight:950;border:1px solid transparent}.button.primary{background:var(--accent);color:#04110d;box-shadow:0 12px 40px rgba(69,240,194,.16)}.button.secondary{border-color:var(--line);background:rgba(255,255,255,.045);color:var(--text)}.signal-card,.card,.panel{background:linear-gradient(180deg,rgba(17,26,42,.88),rgba(13,19,32,.88));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.signal-card{padding:1.35rem;overflow:hidden}.terminal{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.92rem;color:#bfeadf}.terminal-line{padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.055)}.terminal-line span{color:var(--gold)}.section{padding:clamp(2rem,4.6vw,3.8rem) 0}.section-header{max-width:820px;margin-bottom:1.75rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{padding:1.08rem}.card:hover{border-color:rgba(69,240,194,.36);background:linear-gradient(180deg,rgba(22,34,53,.88),rgba(14,22,36,.9))}.card .icon{font-size:1.75rem;margin-bottom:.65rem}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.tag{display:inline-flex;color:#d6e8f8;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.095);padding:.28rem .55rem;border-radius:999px;font-size:.82rem;font-weight:800}.page-hero{padding:3rem 0 1.4rem}.page-hero h1{font-size:clamp(2rem,4.4vw,4rem)}.content-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem}.toc{position:sticky;top:88px;align-self:start;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:rgba(17,26,42,.62)}.toc a{display:block;color:var(--muted);font-weight:800;padding:.45rem .2rem}.toc a:hover{color:var(--text)}.story-block{padding:1.3rem;border-left:3px solid var(--accent);background:rgba(69,240,194,.055);border-radius:0 var(--radius) var(--radius) 0}.timeline{display:grid;gap:.8rem}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:1rem;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:rgba(17,26,42,.6)}.timeline-item strong{color:var(--accent)}.quote{font-size:1.35rem;color:#e9f5ff;border-left:4px solid var(--gold);padding:1rem 1.25rem;background:rgba(255,204,102,.06);border-radius:0 var(--radius) var(--radius) 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.callout{border:1px solid rgba(69,240,194,.26);background:rgba(69,240,194,.07);border-radius:var(--radius);padding:1rem}.mini-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.mini-list li{padding:.72rem .85rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:2rem 0;background:rgba(0,0,0,.18)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1rem}.footer-grid p{margin:.35rem 0 0}.journey-shell{display:grid;grid-template-columns:280px 1fr;gap:1rem;align-items:start}.persona-rail{position:sticky;top:86px;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,26,42,.82);box-shadow:var(--shadow)}.persona-list{display:grid;gap:.55rem}.persona-button{width:100%;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:14px;padding:.72rem .78rem;font-weight:900;cursor:pointer}.persona-button span{display:block;color:var(--muted);font-weight:650;font-size:.78rem;margin-top:.14rem}.persona-button.active{border-color:rgba(69,240,194,.7);background:rgba(69,240,194,.11);box-shadow:0 0 0 3px rgba(69,240,194,.08)}.journey-main{display:grid;gap:1rem}.step-top{padding:1rem;border:1px solid rgba(118,169,255,.26);border-radius:var(--radius);background:linear-gradient(135deg,rgba(118,169,255,.13),rgba(69,240,194,.07));display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.stage-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.28rem .6rem;color:#03110e;background:var(--accent);font-weight:950;font-size:.78rem;margin-bottom:.55rem}.journey-controls{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.journey-controls button{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:.7rem .9rem;font-weight:900;cursor:pointer}.journey-controls button:disabled{opacity:.45;cursor:not-allowed}.map-panel{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,26,42,.76);box-shadow:var(--shadow)}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.path-trail{display:flex;gap:.4rem;flex-wrap:wrap}.path-chip{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:var(--muted);border-radius:999px;padding:.24rem .5rem;font-size:.76rem;font-weight:800}.live-map{overflow:visible}.live-map svg{width:100%;height:auto;min-height:420px;overflow:visible}.map-edge{stroke:rgba(170,187,208,.3);stroke-width:3;fill:none;stroke-linecap:round}.map-edge.visited{stroke:var(--accent);filter:drop-shadow(0 0 5px rgba(69,240,194,.35))}.map-arrow{fill:rgba(170,187,208,.55)}.map-arrow.visited{fill:var(--accent)}.map-node{cursor:pointer}.map-node-box{fill:#101a2a;stroke:rgba(170,187,208,.35);stroke-width:2;rx:14;filter:drop-shadow(0 8px 15px rgba(0,0,0,.2))}.map-node.visited .map-node-box{fill:#0e2a27;stroke:var(--accent)}.map-node.current .map-node-box{fill:#172d4f;stroke:var(--gold);stroke-width:3}.map-node text{font-size:13px;font-weight:900;fill:#dcecff;text-anchor:middle;dominant-baseline:middle}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.big-note{padding:1rem;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid var(--line)}@media(max-width:920px){.hero-grid,.grid.two,.grid.three,.grid.four,.split,.content-layout,.journey-shell,.detail-grid,.footer-grid{grid-template-columns:1fr}.persona-rail,.toc{position:static}.step-top{grid-template-columns:1fr}.journey-controls{justify-content:flex-start}.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:16px;right:16px;top:66px;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#08101c}.nav-links.open{display:flex;justify-content:flex-start}.timeline-item{grid-template-columns:1fr}}@media(max-width:560px){.container,.nav-wrap{width:min(var(--max),calc(100% - 22px))}.hero{padding-top:2rem}h1{font-size:2.15rem}.live-map svg{min-height:300px}.brand small{display:none}}

/* Matrix portrait background support */
.hero,.page-hero,.section,.site-footer{position:relative;z-index:1}
.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000}
body{padding-top:66px}
.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-toggle{border:0;background:transparent;color:var(--muted);padding:.44rem .55rem;border-radius:999px;font:inherit;font-weight:800;font-size:.79rem;cursor:pointer}.nav-dropdown-toggle:after{content:"";display:inline-block;margin-left:.42rem;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;vertical-align:middle}.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle,.nav-dropdown.open .nav-dropdown-toggle,.nav-dropdown:has(a[aria-current="page"]) .nav-dropdown-toggle{color:var(--text);background:rgba(255,255,255,.075)}.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:190px;padding:.45rem;border:1px solid var(--line);border-radius:14px;background:rgba(8,16,28,.96);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:grid;gap:.18rem}.nav-dropdown-menu a{display:block;border-radius:10px;padding:.55rem .65rem;white-space:nowrap}@media(max-width:920px){.nav-dropdown{width:100%;display:grid}.nav-dropdown-toggle{text-align:left;width:100%;padding:.55rem .65rem}.nav-dropdown-menu{position:static;right:auto;top:auto;margin-top:.35rem;min-width:0;width:100%;box-shadow:none;background:rgba(255,255,255,.035)}.nav-dropdown.open .nav-dropdown-menu{display:grid}.nav-dropdown:not(.open) .nav-dropdown-menu{display:none}}
.hero .container,.page-hero .container{position:relative}
.hero .lede,.page-hero .lede{text-shadow:0 2px 18px rgba(0,0,0,.65)}
.lyric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.song-card{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.86),rgba(8,13,22,.88));box-shadow:var(--shadow)}.song-meta{display:flex;gap:.45rem;flex-wrap:wrap;margin:.25rem 0 1rem}.audio-shell{border:1px solid rgba(69,240,194,.22);background:rgba(69,240,194,.055);border-radius:14px;padding:.8rem;margin:1rem 0}.audio-shell audio{width:100%;display:block}.embed-note{font-size:.88rem;color:var(--muted);margin:.4rem 0 0}.lyrics{white-space:pre-wrap;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.88rem;line-height:1.55;color:#d8e9f8;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.9rem;max-height:420px;overflow:auto}.track-config{padding:1rem;border:1px dashed rgba(255,255,255,.22);border-radius:var(--radius);background:rgba(255,255,255,.035)}@media(max-width:920px){body:before{width:100vw;height:44vh;opacity:.42;background-position:left top}.lyric-grid{grid-template-columns:1fr}}

.soundcloud-panel{border:1px solid rgba(69,240,194,.28);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.82),rgba(5,8,14,.92));box-shadow:var(--shadow);overflow:hidden;padding:1rem}.soundcloud-panel iframe{display:block;border:0;border-radius:14px;background:#05070d}.soundcloud-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.9rem;color:var(--muted);font-size:.9rem}.soundcloud-meta span{font-weight:800;color:var(--soft)}

.video-panel{border:1px solid rgba(69,240,194,.28);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.82),rgba(5,8,14,.92));box-shadow:var(--shadow);overflow:hidden;padding:1rem}.video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#05070d;border:1px solid rgba(255,255,255,.08)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.video-panel .soundcloud-meta{margin-top:.9rem}

/* Rick site expansion */
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.project-card{padding:1.05rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.86),rgba(8,13,22,.88));box-shadow:var(--shadow)}.project-top{display:flex;align-items:start;justify-content:space-between;gap:1rem}.project-top h3{margin-bottom:.45rem}.project-top a{text-decoration:underline;text-decoration-color:rgba(69,240,194,.38);text-underline-offset:4px}.status{border:1px solid rgba(69,240,194,.35);background:rgba(69,240,194,.08);color:var(--accent);border-radius:999px;padding:.18rem .5rem;font-size:.74rem;font-weight:950;text-transform:uppercase;white-space:nowrap}.muted-line{color:var(--soft);font-size:.92rem}.muted-line span{color:var(--gold);font-weight:900}.wide{max-width:980px}.small-quote{font-size:1rem;margin:1rem 0}.top-gap{margin-top:1rem}.card a:hover,.project-card a:hover{color:var(--accent)}@media(max-width:920px){.project-grid{grid-template-columns:1fr}.project-top{display:block}.status{display:inline-flex;margin-bottom:.6rem}}

/* Martial arts logos */
.martial-logo-band{padding:1.2rem 0 0;position:relative;z-index:1}.martial-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.martial-logo-item{margin:0;min-height:210px;display:grid;place-items:center;gap:.75rem;padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.78),rgba(8,13,22,.86));box-shadow:var(--shadow)}.martial-logo-item img{display:block;width:min(180px,52vw);aspect-ratio:1/1;object-fit:contain}.martial-logo-item figcaption{color:var(--muted);font-weight:950;text-align:center}@media(max-width:640px){.martial-logos{grid-template-columns:1fr}.martial-logo-item{min-height:180px}.martial-logo-item img{width:min(160px,58vw)}}

/* Resume */
.resume-panel{padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.82),rgba(8,13,22,.9));box-shadow:var(--shadow)}.resume-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.resume-header h2{margin-bottom:.35rem}.resume-meta{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.resume-meta a{display:inline-flex;border:1px solid rgba(69,240,194,.26);background:rgba(69,240,194,.07);color:var(--text);border-radius:999px;padding:.36rem .62rem;font-weight:900;font-size:.86rem}.resume-summary{max-width:92ch}.resume-block{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem;margin-top:1rem}.resume-block h3{font-size:1.2rem;letter-spacing:0;margin-bottom:.75rem;color:var(--accent)}.resume-list{margin:0;padding-left:1.15rem;color:var(--muted)}.resume-list li{margin:.28rem 0}.resume-jobs{display:grid;gap:.8rem}.resume-job{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;padding:.88rem;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}.resume-job h4,.resume-block h4{margin:0 0 .18rem;color:var(--text);font-size:1rem}.resume-job p{margin:0}.resume-job>span{color:var(--gold);font-size:.82rem;font-weight:950;text-align:right;white-space:nowrap}.resume-job>p{grid-column:1/-1;color:var(--muted)}@media(max-width:760px){.resume-header,.resume-job{display:block}.resume-meta{justify-content:flex-start}.resume-job>span{display:block;text-align:left;white-space:normal;margin:.3rem 0 .55rem}.resume-panel{padding:1rem}}

/* Technology book */
.tech-book{display:grid;grid-template-columns:260px 330px 1fr;gap:1rem;align-items:start}.tech-sidebar,.chapter-index,.chapter-reader{padding:1rem}.tech-sidebar{position:sticky;top:86px}.tech-sidebar label{display:block;color:var(--accent);font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;margin-bottom:.55rem}.search-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}.tech-search{min-width:0;width:100%;background:rgba(255,255,255,.065);border:1px solid var(--line);border-radius:12px;color:var(--text);padding:.72rem .8rem;font-weight:800}.tech-search::placeholder{color:var(--soft)}.clear-search{border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);border-radius:12px;padding:.72rem .78rem;font-weight:900;cursor:pointer}.search-count{margin:.55rem 0 1rem;font-size:.9rem;color:var(--soft)}.topic-list{display:grid;gap:.48rem}.topic-tab{width:100%;text-align:left;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:var(--muted);border-radius:12px;padding:.74rem .82rem;font-weight:900;cursor:pointer}.topic-tab:hover,.topic-tab.active{color:var(--text);border-color:rgba(69,240,194,.38);background:rgba(69,240,194,.1)}.book-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.85rem;margin-bottom:.85rem}.book-heading h2{font-size:1.45rem;margin:0}.book-mark{border:1px solid rgba(255,204,102,.32);background:rgba(255,204,102,.08);color:var(--gold);border-radius:999px;padding:.24rem .55rem;font-size:.74rem;font-weight:950;white-space:nowrap}.chapter-list{display:grid;gap:.55rem}.chapter-link{display:grid;grid-template-columns:2.1rem 1fr;gap:.2rem .65rem;text-align:left;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:var(--text);border-radius:14px;padding:.78rem;cursor:pointer}.chapter-link span{grid-row:1/3;color:var(--gold);font-weight:950;font-size:.82rem;padding-top:.08rem}.chapter-link strong{line-height:1.15}.chapter-link small{color:var(--muted);line-height:1.35}.chapter-link:hover,.chapter-link.active{border-color:rgba(69,240,194,.45);background:rgba(69,240,194,.09)}.chapter-page{display:none}.chapter-page.active{display:block}.chapter-kicker{color:var(--accent);font-size:.8rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}.chapter-reader h2{font-size:clamp(1.8rem,3vw,2.7rem)}.chapter-notes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.chapter-notes>div{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);border-radius:14px;padding:1rem}.chapter-notes strong{display:block;color:var(--gold);margin-bottom:.35rem}.chapter-notes p{margin:0}.chapter-notes a{text-decoration:underline;text-decoration-color:rgba(69,240,194,.4);text-underline-offset:4px}.empty-search .chapter-reader:before{content:"No matching chapters.";display:block;color:var(--muted);font-weight:900;padding:1rem;border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.035)}.empty-search .chapter-page{display:none}@media(max-width:1040px){.tech-book{grid-template-columns:240px 1fr}.chapter-reader{grid-column:1/-1}.tech-sidebar{position:static}}@media(max-width:760px){.tech-book,.chapter-notes{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.book-heading{display:block}.book-mark{display:inline-flex;margin-top:.4rem}}

.future-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.metric-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.86),rgba(8,13,22,.88));box-shadow:var(--shadow);padding:1rem}.metric-card strong{display:block;color:var(--accent);font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1;margin-bottom:.35rem}.metric-card span{color:var(--muted);font-weight:800}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.future-panel,.future-data{padding:1rem;overflow:hidden}.future-panel-wide{grid-column:1/-1}.future-panel-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:1rem}.future-panel-head h3{margin:0}.future-panel-head span{color:var(--gold);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.future-diagram{min-height:360px;margin:0;overflow:auto;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;color:var(--muted)}.future-diagram svg{max-width:100%;height:auto}.future-data{margin-top:1rem}.future-table-wrap{overflow:auto}.future-table{width:100%;border-collapse:collapse;min-width:560px}.future-table th,.future-table td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid rgba(255,255,255,.08)}.future-table th{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.future-table td{color:var(--muted)}@media(max-width:920px){.future-summary,.future-grid{grid-template-columns:1fr}.future-panel-wide{grid-column:auto}.future-diagram{min-height:280px}}

/* Documentation-style technology page */
.docs-page{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start}.docs-sidebar{position:sticky;top:66px;height:calc(100vh - 66px);overflow:auto;border-right:1px solid var(--line);background:rgba(6,10,18,.86);backdrop-filter:blur(18px);z-index:2}.docs-sidebar-inner{padding:1rem}.docs-brand{display:flex;align-items:center;gap:.75rem;padding:.25rem 0 1rem;margin-bottom:1rem;border-bottom:1px solid var(--line);font-weight:950}.docs-brand-mark{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:rgba(69,240,194,.13);border:1px solid rgba(69,240,194,.42);color:var(--accent)}.docs-brand small{display:block;color:var(--soft);font-size:.72rem;letter-spacing:0;font-weight:750;margin-top:-.2rem}.docs-search-label{display:block;color:var(--accent);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem}.docs-search{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.055);color:var(--text);border-radius:10px;padding:.7rem .78rem;font-weight:800}.docs-search-count{font-size:.84rem;color:var(--soft);margin:.45rem 0 1rem}.docs-toc{display:grid;gap:1rem}.docs-nav-group{display:grid;gap:.14rem}.docs-nav-heading{color:var(--text);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin:.2rem 0}.docs-toc a:not(.docs-nav-heading){display:block;color:var(--muted);border-left:2px solid transparent;padding:.36rem .4rem .36rem .7rem;font-size:.92rem;font-weight:780}.docs-toc a:hover,.docs-toc a.active{color:var(--text);border-left-color:var(--accent);background:rgba(69,240,194,.07)}.docs-content{min-width:0}.docs-hero,.doc-method,.docs-divider,.docs-graph-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:0;border-bottom:1px solid var(--line);scroll-margin-top:86px}.docs-hero{min-height:420px}.docs-section-copy,.method-copy{padding:clamp(1.35rem,4vw,3rem);max-width:820px}.docs-hero h1{font-size:clamp(2.3rem,5vw,4.7rem)}.docs-divider{grid-template-columns:1fr;background:rgba(69,240,194,.035)}.docs-divider .docs-section-copy{max-width:920px}.doc-method .method-copy p,.docs-section-copy p{font-size:1.02rem}.doc-list{color:var(--muted);margin:0;padding-left:1.15rem}.doc-list li{margin:.45rem 0}.method-copy a{text-decoration:underline;text-decoration-color:rgba(69,240,194,.4);text-underline-offset:4px}.method-examples,.docs-example-panel{border-left:1px solid var(--line);background:rgba(5,8,14,.6);padding:clamp(1rem,2vw,1.5rem);min-width:0}.example-sticky{position:sticky;top:88px}.example-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.08);border-bottom:0;background:rgba(69,240,194,.08);border-radius:12px 12px 0 0;padding:.62rem .78rem}.example-topbar span{color:var(--accent);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.example-topbar strong{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.method-examples pre,.docs-example-panel pre{margin:0;white-space:pre-wrap;overflow:auto;background:#05070d;border:1px solid rgba(255,255,255,.08);border-radius:0 0 12px 12px;padding:1rem;color:#d8f8ee;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.88rem;line-height:1.55}.docs-graph-section{grid-template-columns:1fr}.docs-graph-section>.docs-section-copy{max-width:900px}.docs-graph-section .future-summary,.docs-graph-section .future-grid,.docs-graph-section .future-data{width:min(1280px,calc(100% - 48px));margin-left:auto;margin-right:auto}.docs-graph-section .future-data{margin-top:1rem;margin-bottom:2rem}.doc-section[hidden]{display:none}.docs-page .future-diagram{background:#05070d;border-radius:12px}.docs-page .panel,.docs-page .metric-card{border-radius:12px}@media(max-width:1060px){.docs-page{grid-template-columns:1fr}.docs-sidebar{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.docs-sidebar-inner{width:min(var(--max),calc(100% - 32px));margin:0 auto}.docs-toc{grid-template-columns:repeat(3,1fr)}.docs-hero,.doc-method{grid-template-columns:1fr}.method-examples,.docs-example-panel{border-left:0;border-top:1px solid var(--line)}.example-sticky{position:relative;top:auto}}@media(max-width:720px){.docs-toc{grid-template-columns:1fr}.docs-section-copy,.method-copy{padding:1.25rem}.method-examples,.docs-example-panel{padding:1rem}.docs-graph-section .future-summary,.docs-graph-section .future-grid,.docs-graph-section .future-data{width:min(100% - 24px,1280px)}}
.future-data-stack,.source-chart-grid{width:min(1280px,calc(100% - 48px));margin:0 auto 2rem;display:grid;gap:1rem}.future-data-stack{grid-template-columns:1fr}.future-data-stack .future-data{width:100%;margin:0}.source-chart-grid{grid-template-columns:repeat(2,1fr)}.source-chart{margin:0;padding:1rem;overflow:hidden}.source-chart img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#05070d}.source-chart figcaption{color:var(--muted);font-weight:900;font-size:.9rem;margin-top:.7rem;text-transform:uppercase;letter-spacing:.05em}.future-table td,.future-table th{vertical-align:top}.future-table-wrap{max-width:100%}@media(max-width:920px){.source-chart-grid{grid-template-columns:1fr}.future-data-stack,.source-chart-grid{width:min(100% - 24px,1280px)}}
.docs-card-grid{width:min(1280px,calc(100% - 48px));margin:0 auto 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:1040px){.docs-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.docs-card-grid{grid-template-columns:1fr;width:min(100% - 24px,1280px)}}


/* MarkForge product page */
.markforge-page{--mf-orange:#f08020;--mf-orange-soft:rgba(240,128,32,.14)}.markforge-wordmark{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}.markforge-wordmark img{display:block;height:auto}.markforge-wordmark .markforge-icon{width:72px;height:72px;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.35)}.markforge-wordmark .markforge-lettering{width:min(220px,58vw);filter:invert(1) brightness(1.08)}.markforge-hero-shot{margin:0;padding:.55rem;overflow:hidden;border:1px solid rgba(240,128,32,.22);background:linear-gradient(180deg,rgba(17,26,42,.92),rgba(8,13,22,.94));box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(240,128,32,.08)}.markforge-hero-shot img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.markforge-shot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.markforge-shot{margin:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.86),rgba(8,13,22,.88));box-shadow:var(--shadow)}.markforge-shot img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#05070d}.markforge-shot figcaption{color:var(--muted);font-weight:900;font-size:.88rem;margin-top:.75rem}.markforge-shot.featured{grid-column:1/-1}.markforge-download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.markforge-download-card{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.86),rgba(8,13,22,.88));box-shadow:var(--shadow)}.markforge-download-card h3{margin-bottom:.45rem;color:#fff}.markforge-download-card code{display:block;margin:.65rem 0;padding:.55rem .7rem;border-radius:10px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08);font-size:.82rem;color:#d7f7ed;word-break:break-all}.markforge-download-card .button{margin-top:.85rem;width:100%}.markforge-version{display:inline-flex;align-items:center;border:1px solid rgba(240,128,32,.35);background:var(--mf-orange-soft);color:var(--mf-orange);border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.markforge-spotlight .markforge-spotlight-shot{margin:0;padding:.55rem;border:1px solid rgba(240,128,32,.18);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,42,.88),rgba(8,13,22,.9));box-shadow:var(--shadow)}.markforge-spotlight .markforge-spotlight-shot img{display:block;width:100%;height:auto;border-radius:12px}.markforge-card-thumb{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:left top;border-radius:12px;margin:-.2rem 0 .85rem;border:1px solid rgba(255,255,255,.08)}.markforge-tech-shot{margin:0;padding:.45rem;border:1px solid rgba(240,128,32,.18);border-radius:14px;background:rgba(0,0,0,.24)}.markforge-tech-shot img{display:block;width:100%;height:auto;border-radius:10px}.markforge-page .button.primary.markforge-cta{background:var(--mf-orange);color:#1a0f05;box-shadow:0 12px 40px rgba(240,128,32,.18)}.markforge-page .button.primary.markforge-cta:hover{filter:brightness(1.06)}@media(max-width:920px){.markforge-shot-grid,.markforge-download-grid{grid-template-columns:1fr}.markforge-shot.featured{grid-column:auto}}

/* AI topic selector */
.ai-topic-shell{display:grid;grid-template-columns:300px 1fr;gap:1rem;align-items:start}.ai-topic-nav{position:sticky;top:86px;padding:1rem}.ai-topic-nav label{display:block;color:var(--accent);font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;margin-bottom:.55rem}.topic-select{width:100%;background:rgba(255,255,255,.065);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:.8rem .9rem;font-weight:850;margin-bottom:1rem}.topic-select option{background:#101827;color:#edf7ff}.topic-buttons{display:grid;gap:.5rem}.topic-button{width:100%;text-align:left;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:var(--muted);border-radius:14px;padding:.78rem .86rem;font-weight:900;cursor:pointer}.topic-button:hover,.topic-button.active{color:var(--text);border-color:rgba(69,240,194,.38);background:rgba(69,240,194,.10)}.ai-topic-content{padding:1.25rem}.topic-panel{display:none}.topic-panel.active{display:block}.topic-panel h2{margin-bottom:.8rem}.clean-list{margin:0 0 1.1rem;padding-left:1.2rem;color:var(--muted)}.clean-list li{margin:.35rem 0}.callout{border-left:4px solid var(--accent);background:rgba(69,240,194,.08);padding:.85rem 1rem;border-radius:14px;margin:1rem 0;color:#d9fff5}.code-card{white-space:pre-wrap;overflow:auto;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1rem;color:#d7f7ed}.mini-flow{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.2rem}.mini-flow span{display:inline-flex;align-items:center;border:1px solid rgba(69,240,194,.24);background:rgba(69,240,194,.08);border-radius:999px;padding:.42rem .7rem;font-weight:900;color:#ddfff6}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.compare-grid>div,.mini-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:1rem}.glossary-grid{margin:1rem 0}.mini-card h3{margin-bottom:.45rem}@media(max-width:860px){.ai-topic-shell{grid-template-columns:1fr}.ai-topic-nav{position:relative;top:auto}.compare-grid{grid-template-columns:1fr}}
