﻿@import url('/public/cms.css');
.site-body{--ink:#171b19;--muted:#606b65;--line:#d9dfd7;--paper:#f7f8f2;--white:#fff;--accent:#2257db;--green:#d3efb1;--blue:#235be2;--orange:#f47a3b;background:var(--paper);color:var(--ink);font:15px/1.65 ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:30px}html[data-color=dark] .site-body{--ink:#edf3e8;--muted:#a7b5aa;--line:#37423b;--paper:#151b18;--white:#202a24;--green:#314d2d;color-scheme:dark}.site-body *{box-sizing:border-box}.site-body a{color:inherit;text-decoration:none}.site-body button,.site-body input{font:inherit}.site-body button{cursor:pointer}.site-body [hidden]{display:none!important}.site-body :focus-visible{outline:3px solid var(--blue);outline-offset:5px}.site-body ::selection{background:#d3efb1;color:#171b19}.site-body .wrap{width:min(1240px,calc(100% - 80px));margin:auto}.topline{background:#191e1a;color:#cfdbce;font:11px/1.5 ui-monospace,monospace;padding:10px 0}.topline-inner{display:flex;justify-content:space-between}.site-body .site-header{background:var(--paper);border-bottom:1px solid var(--line)}.site-body .header-row{display:flex;align-items:center;gap:30px;min-height:90px;height:auto}.site-body .brand{display:inline-flex;align-items:center;gap:0;font-size:23px;font-weight:850;letter-spacing:-1.2px;white-space:nowrap}.brand-symbol{background:var(--ink);color:var(--paper);font:700 20px ui-monospace,monospace;padding:8px;margin-right:10px;border-radius:4px}.brand-dot{color:var(--orange);font-size:36px}.site-body .site-nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:13px;font-weight:650}.site-body .site-nav a{padding:8px 0;color:var(--muted)}.site-body .site-nav a:hover,.site-body .site-nav .active{color:var(--ink);box-shadow:0 2px var(--orange)}.mode-toggle{background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;color:var(--ink);font-size:24px!important}.site-body .hero{background:var(--green);padding:66px 0 60px;border-bottom:1px solid var(--ink);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.eyebrow,.section-kicker{font:600 10px/1.6 ui-monospace,monospace;letter-spacing:1.5px}.eyebrow{display:inline-flex;align-items:center;gap:9px}.eyebrow:before{content:'';width:7px;height:7px;background:var(--orange);border-radius:50%}.site-body .hero h1{font-size:clamp(48px,5.5vw,78px);line-height:1.03;letter-spacing:-4px;font-weight:800;margin:23px 0}.hero h1 em{font-style:normal;color:var(--blue)}.site-body .hero p{font-size:16px;line-height:1.8;max-width:395px;color:var(--ink);opacity:.75;margin-bottom:28px}.hero-button{display:inline-block;background:#191e1a;color:white!important;padding:13px 24px;border-radius:5px;font-size:13px;font-weight:650;transition:transform .2s}.hero-button:hover{transform:translateY(-3px)}.hero-note{margin-top:19px;font:10px ui-monospace,monospace;opacity:.65}.code-art{position:relative;transform:rotate(-3deg);background:#1c2421;color:#c6d1cc;border:1px solid #151b18;border-radius:9px;box-shadow:12px 14px 0 #94b9ed;font:12px/2.1 ui-monospace,Consolas,monospace}.editor-bar{display:flex;justify-content:space-between;border-bottom:1px solid #3b4641;padding:12px 17px;font-size:10px;color:#9aaba0}.window-dots{color:#f47a3b;letter-spacing:3px}.editor-body{padding:24px 20px 30px;overflow:auto}.code-line{white-space:pre}.code-blue{color:#87acff}.code-green{color:#d3efb1}.code-orange{color:#ffa16c}.editor-status{display:flex;justify-content:space-between;background:#29352d;padding:5px 16px;font-size:9px;color:#bdd5b0;border-radius:0 0 9px 9px}.art-sticker{position:absolute;right:-19px;bottom:-20px;background:var(--orange);color:#191e1a;border:2px solid #191e1a;width:75px;height:75px;display:grid;place-items:center;font-size:27px;font-weight:bold;transform:rotate(14deg);border-radius:13px}.topic-strip{background:var(--blue);color:#fff;padding:13px 0;font:10px/1.5 ui-monospace,monospace;letter-spacing:1.6px;overflow:hidden}.topic-strip .wrap{white-space:nowrap}.site-body .content-section{padding:57px 0 75px}.site-body .section-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 25px}.section-kicker{color:var(--muted)}.site-body .section-heading h2{font-size:34px;letter-spacing:-1.3px;margin:7px 0 0;line-height:1.2}.search-box{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:8px 14px;background:var(--white);border-radius:5px;width:300px}.search-box span{font-size:25px;line-height:1}.site-body .search-box input{background:transparent;border:0;padding:4px 0;width:100%;min-width:0;color:var(--ink);font-size:12px}.feed-toolbar{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.filter-tabs{display:flex;flex-wrap:wrap;gap:7px}.filter-tab,.saved-filter,.show-saved{border:0;background:transparent;color:var(--muted);padding:7px 13px;font-size:12px!important;border-radius:4px}.filter-tab.is-active{background:var(--ink);color:var(--paper)}.filter-tab:hover{background:var(--green);color:var(--ink)}.saved-filter{white-space:nowrap;border:1px solid var(--line)}.saved-filter[aria-pressed=true]{background:var(--green);color:var(--ink)}.feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;margin-top:24px}.feed-status{font:10px ui-monospace,monospace;color:var(--muted);margin:0 0 18px}.site-body .post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.site-body .post-card{border:1px solid var(--line);background:var(--white);border-radius:6px;overflow:hidden;box-shadow:none;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.site-body .post-card:hover{transform:translateY(-4px);border-color:var(--blue)}.site-body .post-card .media{height:180px;display:flex;align-items:center;justify-content:center;background:#dce7fb;background-image:linear-gradient(135deg,transparent 49.5%,#bdcff5 50%,transparent 50.5%);color:#235be2}.site-body .post-card:nth-child(3n+2) .media{background-color:#d3efb1;color:#355f2c}.site-body .post-card:nth-child(3n) .media{background-color:#ffdac3;color:#923c19}.code-cover{padding:22px;text-align:center;font:700 21px/1.5 ui-monospace,monospace;letter-spacing:-1px}.site-body .media img{width:100%;height:100%;object-fit:cover}.site-body .card-copy{padding:20px;display:flex;flex-direction:column;flex:1}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.site-body .category{color:var(--blue);font:600 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.8px}.bookmark{border:0;background:transparent;color:var(--ink);font-size:23px!important;line-height:1;padding:4px}.bookmark[aria-pressed=true]{color:#b74b12}.site-body .post-card h3{font-size:22px;line-height:1.3;letter-spacing:-.6px;margin:10px 0}.site-body .post-card h3 a:hover{color:var(--blue)}.site-body .post-card p{font-size:13px;color:var(--muted);margin:0 0 20px}.card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:13px}.site-body .meta{color:var(--muted);font-size:10px}.read-link{font-size:22px}.feed-sidebar{padding-top:28px}.sidebar-note{position:relative;background:var(--blue);color:white;border-radius:5px;padding:25px 23px 50px;overflow:hidden}.sidebar-note .section-kicker{color:#c9d9ff;font-size:9px}.sidebar-note h2{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:18px 0}.sidebar-note p{font-size:12px;opacity:.8;max-width:170px}.note-symbol{position:absolute;right:12px;bottom:-42px;font:150px/1 system-ui;color:var(--green)}.reading-note{margin-top:23px;border-top:3px solid var(--orange);padding:20px 0}.reading-note>span{font:10px ui-monospace,monospace;color:var(--muted)}.reading-note h3{font-size:21px;line-height:1.3;letter-spacing:-.5px}.reading-note p{font-size:12px;color:var(--muted)}.show-saved{padding-left:0;color:var(--blue);font-weight:600}.empty-state{padding:45px 25px;border:1px dashed var(--line);color:var(--muted);text-align:center}.site-body .site-footer{border-top:1px solid var(--line);padding:28px 0;background:var(--paper);color:var(--muted);font-size:11px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-row .brand{font-size:18px;color:var(--ink)}.site-body .article-main{padding:65px 24px}.site-body .article-wrap{max-width:780px;margin:auto}.site-body .article-wrap>h1{font-size:clamp(34px,5vw,60px);line-height:1.1;letter-spacing:-2px}.site-body .article-lead{font-size:20px;color:var(--muted)}.site-body .article-content{white-space:normal;font-size:18px;line-height:1.9}.site-body .article-content>p{white-space:pre-line}.site-body .article-image{width:100%;border-radius:6px}.site-body .primary{background:var(--blue);color:white}.site-body .comments-section{margin-top:50px}
@media(min-width:1500px){.hero-layout{gap:110px}}@media(max-width:1000px){.site-body .wrap{width:calc(100% - 44px)}.hero-layout{gap:35px}.code-art{font-size:10px}.hero h1{letter-spacing:-2px!important}.feed-layout{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.site-body .site-nav{gap:15px}.brand-symbol{display:none}}@media(max-width:760px){.topline-inner span:last-child{display:none}.site-body .header-row{flex-wrap:wrap;gap:12px;padding:16px 0}.site-body .brand{font-size:20px}.mode-toggle{margin-left:auto}.site-body .site-nav{order:3;width:100%;margin:0;overflow:auto;gap:23px}.hero-layout{grid-template-columns:1fr;gap:45px}.site-body .hero{padding:40px 0 50px}.site-body .hero h1{font-size:60px}.code-art{max-width:460px;width:calc(100% - 18px);margin:0 auto;font-size:11px}.site-body .section-heading{align-items:flex-start;flex-direction:column}.search-box{width:100%}.feed-layout{grid-template-columns:1fr}.feed-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feed-toolbar{flex-direction:column;align-items:flex-start}.site-body .content-section{padding-top:35px}.footer-row{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.site-body .wrap{width:calc(100% - 32px)}.site-body .post-grid{grid-template-columns:1fr}.feed-sidebar{grid-template-columns:1fr}.site-body .section-heading h2{font-size:29px}.code-art{font-size:9px}.editor-body{padding:20px 12px}.site-body .hero h1{font-size:52px}.topline{font-size:10px}.art-sticker{width:55px;height:55px;font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-body *{transition:none!important}.post-card:hover,.hero-button:hover{transform:none!important}}
.hero-first-line{display:block}.hero-highlight{color:var(--blue)}
.category-section{padding:48px 0 0}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.category-tile{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:23px;background:var(--white);transition:transform .2s,border-color .2s}.category-tile:hover{transform:translateY(-4px);border-color:var(--blue)}.category-tile.noderyx-tile{background:var(--green);border-color:var(--green)}.tile-icon{font:700 22px ui-monospace,monospace;color:var(--blue);margin-bottom:20px}.tile-label{font:9px ui-monospace,monospace;letter-spacing:1px}.category-tile h3{font-size:19px;line-height:1.25;letter-spacing:-.5px;margin:9px 0}.category-tile p{color:var(--muted);font-size:12px;margin:0 0 22px}.category-tile>span:last-child{font-size:11px;font-weight:650;margin-top:auto}.category-section .section-heading>a{font-size:12px;color:var(--blue)}@media(max-width:1000px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.category-grid{grid-template-columns:1fr}}
/* News page (/news): newsroom archive layout, distinct from the home page */
.news-masthead{padding:56px 0 44px;border-bottom:1px solid var(--line)}.news-masthead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.site-body .news-masthead h1{font-size:clamp(40px,4.6vw,64px);line-height:1.05;letter-spacing:-2.5px;font-weight:800;margin:18px 0 14px;max-width:720px}.news-masthead p{color:var(--muted);font-size:15px;max-width:520px;margin:0}.news-stats{display:flex;gap:12px;margin:0}.news-stats div{border:1px solid var(--line);background:var(--white);border-radius:6px;padding:14px 22px;min-width:110px}.news-stat-label{display:block;font:600 10px ui-monospace,monospace;letter-spacing:1.4px;color:var(--muted);text-transform:uppercase}.news-stat-value{display:block;margin:4px 0 0;font:800 34px/1 ui-monospace,monospace;color:var(--blue)}
.news-toolbar{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.news-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.news-toolbar-actions{display:flex;align-items:center;gap:10px}.news-toolbar .search-box{width:260px;padding:5px 12px}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding:36px 0 70px;align-items:start}
.news-list{counter-reset:story;border-top:2px solid var(--ink)}.site-body .news-row{counter-increment:story;display:grid;grid-template-columns:44px 132px minmax(0,1fr) 36px;gap:20px;align-items:start;padding:22px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.site-body .news-row:hover{transform:none;border-color:var(--line)}.news-row:before{content:counter(story,decimal-leading-zero);font:700 13px ui-monospace,monospace;color:var(--orange);padding-top:4px}.site-body .news-row .media{height:88px;border-radius:4px;overflow:hidden}.site-body .news-row .code-cover{font-size:18px;padding:0}.site-body .news-row .card-copy{padding:0}.news-row .card-top{justify-content:flex-start;gap:14px}.site-body .news-row h3{font-size:21px;margin:6px 0 6px}.site-body .news-row p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-row .bookmark{justify-self:end}
.news-row:first-child{grid-template-columns:44px minmax(0,1.1fr) minmax(0,1fr) 36px;padding:26px 0 30px}.site-body .news-row:first-child .media{height:230px}.site-body .news-row:first-child h3{font-size:30px;letter-spacing:-1px;line-height:1.15}.site-body .news-row:first-child p{-webkit-line-clamp:4;font-size:14px}
.news-aside{position:sticky;top:76px;display:grid;gap:18px}.news-aside-block{border:1px solid var(--line);background:var(--white);border-radius:6px;padding:20px}.news-topics{list-style:none;margin:12px 0 0;padding:0}.news-topics li+li{border-top:1px solid var(--line)}.news-topics a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;font-size:14px;font-weight:600}.news-topics a:hover{color:var(--blue)}.news-topic-count{font:600 11px ui-monospace,monospace;color:var(--muted);background:var(--paper);border-radius:20px;padding:2px 9px}.news-aside-dark{background:#171b19;border-color:#171b19;color:#f7f8f2}.news-aside-dark .section-kicker{color:#c9d9ff}.news-aside-dark h2{font-size:22px;letter-spacing:-.6px;margin:8px 0}.news-aside-dark p{color:#c6cfc8;font-size:13px;margin:0 0 14px}.news-aside-dark .show-saved{background:var(--orange);color:#171b19;font-weight:650}.news-aside-home{font-size:12px;color:var(--blue)}
@media(max-width:1000px){.news-layout{grid-template-columns:1fr}.news-aside{position:static;grid-template-columns:1fr 1fr}.news-aside-home{grid-column:1/-1}}@media(max-width:760px){.news-masthead-row{flex-direction:column;align-items:flex-start}.news-toolbar{position:static}.news-toolbar-row{flex-direction:column;align-items:stretch}.news-toolbar-actions{flex-wrap:wrap}.news-toolbar .search-box{flex:1;width:auto}.site-body .news-row,.news-row:first-child{grid-template-columns:32px minmax(0,1fr) 32px;gap:12px}.site-body .news-row .media{display:none}.site-body .news-row:first-child .media{display:flex;grid-column:2/3;grid-row:1;height:180px}.news-row:first-child .card-copy{grid-column:2/3}.news-row:first-child .bookmark{grid-column:3;grid-row:1}.news-aside{grid-template-columns:1fr}.site-body .news-row:first-child h3{font-size:24px}}
.site-body .brand-logo{display:block;height:48px;width:auto}.site-body .brand-logo--dark{display:none}html[data-color=dark] .site-body .brand-logo--light{display:none}html[data-color=dark] .site-body .brand-logo--dark{display:block}.footer-row .brand-logo{height:36px}@media(max-width:760px){.site-body .brand-logo{height:40px}}
