    @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,650&display=swap');
    :root{
      color-scheme:light dark;
      --bg:#f4f7f6;--paper:#ffffff;--ink:#14201e;--muted:#536560;--faint:#e3eae7;
      --accent:#087f6b;--accent-soft:#d9f0e9;--hot:#ef5a2f;--hot-soft:#ffe4da;
      --blue:#315fce;--blue-soft:#e1e9ff;--gold:#9a6a00;--gold-soft:#fff0bf;
      --shadow:0 12px 34px rgba(25,54,48,.08);--radius:18px;
    }
    @media(prefers-color-scheme:dark){:root{
      --bg:#0c1110;--paper:#141c1a;--ink:#eef7f3;--muted:#a8bbb5;--faint:#2a3733;
      --accent:#66ddbe;--accent-soft:#153d34;--hot:#ff8b67;--hot-soft:#47251d;
      --blue:#8eabff;--blue-soft:#202d54;--gold:#f4c95f;--gold-soft:#3b3217;
      --shadow:0 18px 44px rgba(0,0,0,.25);
    }}
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:"IBM Plex Sans",sans-serif;line-height:1.45}
    button,input,select{font:inherit} button{color:inherit} a{color:inherit}
    .page{width:min(1480px,100%);margin:auto;padding:clamp(22px,4vw,58px)}
    .hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:clamp(24px,5vw,80px);align-items:end;padding:clamp(10px,3vw,34px) 0 44px;border-bottom:1px solid var(--faint)}
    .eyebrow{font:600 12px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
    h1{font-family:"Newsreader",serif;font-size:clamp(42px,6.8vw,88px);line-height:.93;letter-spacing:-.045em;margin:0;max-width:900px}
    .lede{font-size:clamp(17px,2vw,23px);max-width:760px;color:var(--muted);margin:22px 0 0;line-height:1.45}
    .hero-note{background:var(--paper);border:1px solid var(--faint);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
    .hero-note strong{display:block;font-family:"Newsreader",serif;font-size:25px;margin-bottom:8px}.hero-note p{margin:0;color:var(--muted)}
    .snapshot{font:500 12px "IBM Plex Mono",monospace;color:var(--muted);margin-top:18px}
    .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--faint);border:1px solid var(--faint);border-radius:16px;overflow:hidden;margin:28px 0 38px}
    .stat{background:var(--paper);padding:22px}.stat b{display:block;font-family:"Newsreader",serif;font-size:36px;line-height:1;color:var(--accent)}.stat span{display:block;font-size:13px;color:var(--muted);margin-top:8px}
    .signals{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:14px;margin-bottom:48px}.signal{background:var(--paper);border:1px solid var(--faint);border-radius:14px;padding:20px;min-height:145px}.signal:first-child{background:var(--ink);color:var(--bg)}.signal .num{font:600 12px "IBM Plex Mono",monospace;color:var(--accent);margin-bottom:26px}.signal:first-child .num{color:var(--gold)}.signal h2,.signal h3{font-size:17px;margin:0 0 8px}.signal p{font-size:14px;margin:0;color:var(--muted)}.signal:first-child p{color:color-mix(in srgb,var(--bg) 72%,transparent)}
    .section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:64px 0 20px}.section-head h2{font-family:"Newsreader",serif;font-size:clamp(32px,4vw,48px);letter-spacing:-.025em;margin:0}.section-head p{max-width:560px;color:var(--muted);margin:0}
    .picks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pick{background:var(--paper);border:1px solid var(--faint);padding:20px;border-radius:14px}.pick .need{font:600 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pick h3{font-size:20px;margin:8px 0 6px}.pick p{font-size:14px;color:var(--muted);margin:0}.pick b{color:var(--accent)}
    .controls{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);padding:14px 0;margin:34px 0 10px;border-bottom:1px solid var(--faint)}
    .control-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(190px,.6fr) minmax(190px,.6fr);gap:10px}.field{display:flex;align-items:center;background:var(--paper);border:1px solid var(--faint);border-radius:10px;padding:0 12px}.field svg{width:18px;color:var(--muted);flex:none}.field input,.field select{width:100%;height:46px;border:0;outline:0;background:transparent;color:var(--ink);padding:0 8px}.field select{cursor:pointer}
    .result-line{font:500 12px "IBM Plex Mono",monospace;color:var(--muted);padding:7px 2px 0}
    .category{scroll-margin-top:95px;margin:38px 0 56px}.cat-head{display:flex;align-items:center;gap:14px;margin:0 0 14px}.cat-index{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:600 12px "IBM Plex Mono",monospace}.cat-head h3{font-family:"Newsreader",serif;font-size:30px;margin:0}.cat-head span{font:500 12px "IBM Plex Mono",monospace;color:var(--muted);margin-left:auto}
    .matrix{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--faint);border-radius:15px;overflow:hidden;box-shadow:0 8px 28px rgba(25,54,48,.035)}
    .matrix th{font:600 10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:13px 14px;border-bottom:1px solid var(--faint);background:color-mix(in srgb,var(--paper) 88%,var(--bg))}
    .matrix td{padding:17px 14px;border-bottom:1px solid var(--faint);vertical-align:top;font-size:13px}.matrix tr:last-child td{border-bottom:0}.matrix tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 28%,var(--paper))}
    .product{min-width:155px}.product strong{font-size:16px;display:block}.maker{font:500 10px "IBM Plex Mono",monospace;color:var(--muted);margin-top:3px}.desc{color:var(--muted);max-width:250px}.strength{max-width:275px}.trade{max-width:260px;color:var(--muted)}.price{min-width:175px}.price strong{display:block;font-size:14px}.price small{display:block;color:var(--muted);margin-top:5px}.fit{max-width:210px}.source{font:500 10px "IBM Plex Mono",monospace;color:var(--muted);margin-top:8px}
    .tag{display:inline-block;font:600 9px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 7px;margin-top:8px;background:var(--accent-soft);color:var(--accent)}.tag.open{background:var(--blue-soft);color:var(--blue)}.tag.caution{background:var(--gold-soft);color:var(--gold)}.tag.experimental{background:var(--hot-soft);color:var(--hot)}.tag.assistive{background:var(--blue-soft);color:var(--blue)}
    .empty{display:none;text-align:center;padding:54px;background:var(--paper);border:1px solid var(--faint);border-radius:15px;color:var(--muted)}
    .future{margin:74px 0 66px}.future-intro{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:16px;align-items:stretch}.future-thesis{background:var(--ink);color:var(--bg);border-radius:16px;padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;justify-content:space-between;min-height:330px}.future-thesis .eyebrow{color:var(--gold);margin-bottom:36px}.future-thesis h3{font-family:"Newsreader",serif;font-size:clamp(31px,4vw,49px);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px}.future-thesis p{color:color-mix(in srgb,var(--bg) 74%,transparent);font-size:15px;max-width:520px;margin:0}.loop{background:var(--paper);border:1px solid var(--faint);border-radius:16px;padding:clamp(22px,3vw,36px)}.loop-label{font:600 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:22px}.loop-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--faint);border:1px solid var(--faint);border-radius:12px;overflow:hidden}.loop-step{background:var(--paper);padding:18px;min-height:122px}.loop-step b{display:block;font:600 11px "IBM Plex Mono",monospace;color:var(--accent);margin-bottom:20px}.loop-step strong{display:block;font-size:15px}.loop-step span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.loop-note{margin:20px 0 0;color:var(--muted);font-size:14px}.parallel{margin-top:18px;background:var(--paper);border:1px solid var(--faint);border-radius:16px;overflow:hidden}.parallel-head{display:grid;grid-template-columns:1fr 1fr;padding:17px 22px;background:color-mix(in srgb,var(--paper) 88%,var(--bg));border-bottom:1px solid var(--faint);font:600 10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.parallel-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--faint)}.parallel-row:last-child{border-bottom:0}.parallel-row>div{padding:20px 22px}.parallel-row>div:first-child{border-right:1px solid var(--faint)}.parallel-row strong{display:block;font-size:16px;margin-bottom:5px}.parallel-row p{margin:0;color:var(--muted);font-size:13px}.culmination{display:grid;grid-template-columns:minmax(0,.58fr) minmax(0,1.42fr);gap:28px;margin-top:18px;padding:28px;border:1px solid var(--faint);border-radius:16px;background:var(--accent-soft)}.culmination h3{font-family:"Newsreader",serif;font-size:30px;margin:0}.culmination p{margin:0;color:var(--muted);font-size:15px}.culmination b{color:var(--ink)}
    .method{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:68px 0 28px}.method>div{background:var(--paper);border:1px solid var(--faint);border-radius:14px;padding:24px}.method h2{font-family:"Newsreader",serif;font-size:30px;margin:0 0 12px}.method p,.method li{color:var(--muted);font-size:14px}.method ul{padding-left:19px;margin:10px 0 0}.caveats{display:grid;gap:8px}.caveat{padding:11px 13px;border-radius:9px;background:var(--gold-soft);color:var(--ink);font-size:13px}.footer{border-top:1px solid var(--faint);padding:24px 0 8px;color:var(--muted);font:500 11px/1.6 "IBM Plex Mono",monospace}
    mark{background:var(--gold-soft);color:var(--ink);border-radius:2px}
    @media(max-width:980px){.hero{grid-template-columns:1fr}.hero-note{max-width:650px}.signals{grid-template-columns:1fr 1fr}.picks{grid-template-columns:1fr 1fr}.matrix th:nth-child(2),.matrix td:nth-child(2){display:none}.future-intro,.culmination{grid-template-columns:1fr}.method{grid-template-columns:1fr}}
    @media(max-width:720px){.page{padding:20px 14px 42px}.hero{padding-bottom:28px}.stats{grid-template-columns:1fr 1fr}.signals,.picks{grid-template-columns:1fr}.signal{min-height:0}.control-row{grid-template-columns:1fr}.controls{top:0}.loop-steps{grid-template-columns:1fr 1fr}.parallel-head{display:none}.parallel-row{grid-template-columns:1fr}.parallel-row>div:first-child{border-right:0;border-bottom:1px solid var(--faint)}.parallel-row>div{padding:17px}.culmination{padding:22px;gap:12px}.matrix,.matrix tbody,.matrix tr,.matrix td{display:block;width:100%}.matrix thead{display:none}.matrix{background:transparent;border:0;box-shadow:none;overflow:visible}.matrix tr{background:var(--paper);border:1px solid var(--faint);border-radius:14px;padding:17px;margin-bottom:10px}.matrix td{display:grid!important;grid-template-columns:94px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--faint);max-width:none!important;min-width:0!important}.matrix td:last-child{border-bottom:0}.matrix td::before{content:attr(data-label);font:600 9px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}.matrix td.product{display:block!important}.matrix td.product::before{display:none}.matrix tbody tr:hover{background:var(--paper)}.cat-head h3{font-size:25px}.cat-head span{display:none}.section-head{display:block}.section-head p{margin-top:10px}.method{margin-top:45px}h1{font-size:48px}.hero-note{padding:19px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-nav{position:relative;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--faint)}
.site-nav .inner{width:min(1480px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(14px,4vw,58px)}
.site-nav .brand{font:600 12px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap}
.site-nav nav ul{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.site-nav nav a{font:500 14px/1 "IBM Plex Sans",sans-serif;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:8px}
.site-nav nav a:hover{color:var(--accent);background:var(--accent-soft)}
.site-nav nav a.current{color:var(--accent)}
    @media(max-width:560px){.site-nav .inner{flex-direction:column;align-items:flex-start;gap:10px}}
    .articles-row{grid-template-columns:minmax(240px,1.2fr) minmax(190px,.6fr)}
    .view-toggle{display:flex;gap:6px}
    .view-toggle button{height:46px;padding:0 16px;border:1px solid var(--faint);background:var(--paper);color:var(--muted);border-radius:10px;cursor:pointer;font:500 12px "IBM Plex Mono",monospace}
    .view-toggle button.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}
    .articles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:40px}
    .a-card{background:var(--paper);border:1px solid var(--faint);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
    .a-card h3{margin:0;font-size:21px;letter-spacing:-.02em}
    .a-card h3 a{text-decoration:none;color:inherit}
    .a-card h3 a:hover{color:var(--accent)}
    .a-card p{margin:0;color:var(--muted);font-size:14px;flex:1}
    .a-meta{font:500 11px "IBM Plex Mono",monospace;color:var(--muted)}
    .a-tags{display:flex;gap:6px;flex-wrap:wrap}
    .articles.list{grid-template-columns:1fr;gap:0;border:1px solid var(--faint);border-radius:14px;overflow:hidden;background:var(--paper)}
    .articles.list .a-card{flex-direction:row;align-items:center;gap:24px;border:0;border-bottom:1px solid var(--faint);border-radius:0;padding:16px 20px}
    .articles.list .a-card:last-child{border-bottom:0}
    .articles.list .a-card p{display:none}
    .articles.list .a-card h3{flex:1;min-width:0}
    .articles.list .a-meta{white-space:nowrap}
    .article{max-width:820px}
    .article-meta{font:500 12px "IBM Plex Mono",monospace;color:var(--muted);margin:18px 0 30px}
    .article-body{font-size:17px;line-height:1.7}
    .article-body h2{font-family:"Newsreader",serif;font-size:clamp(27px,3.5vw,36px);letter-spacing:-.02em;margin:1.6em 0 .5em}
    .article-body h3{font-family:"Newsreader",serif;font-size:clamp(21px,2.6vw,26px);margin:1.4em 0 .4em}
    .article-body p{margin:0 0 1.15em}
    .article-body code{font-family:"IBM Plex Mono",monospace;font-size:.84em;background:var(--faint);padding:2px 6px;border-radius:6px}
    .article-body pre{background:var(--paper);border:1px solid var(--faint);border-radius:12px;padding:16px;overflow:auto;font-family:"IBM Plex Mono",monospace;font-size:13px}
    .article-body blockquote{margin:1.4em 0;padding-left:18px;border-left:3px solid var(--accent);color:var(--muted)}
    .article-body img{max-width:100%;border-radius:12px}
    .article-body table{border-collapse:collapse;width:100%}
    .article-body table th,.article-body table td{border:1px solid var(--faint);padding:9px 12px;text-align:left;font-size:14px}
    @media(max-width:980px){.articles{grid-template-columns:1fr 1fr}}
    @media(max-width:720px){.articles-row{grid-template-columns:1fr}.articles{grid-template-columns:1fr}.articles.list .a-card{flex-wrap:wrap;gap:10px}.article-body{font-size:16px}}
