:root{--bg:#101211;--surface:#171a18;--ink:#f2f3ed;--muted:#a0a69e;--line:#30352e;--accent:#d5f878;--accent-ink:#171d0c;--accent-soft:#252e1b;--mark:#d5f878;--radius:12px;--shell:1280px;--font:"Inter", "Helvetica Neue", Arial, sans-serif;--serif:Georgia, "Times New Roman", serif;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--font);margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}h1,h2,h3{letter-spacing:-.035em;line-height:1.16}h1{margin:0 0 1rem;font-size:clamp(2.4rem,5vw,3.6rem)}h2{margin:2.2rem 0 1rem;font-size:1.8rem}h3{margin:0 0 .5rem;font-size:1.2rem}p{margin:0 0 1rem}.shell{width:min(var(--shell), 100% - 80px);margin-inline:auto}[hidden]{display:none!important}.accent{color:var(--accent)}.skip-link{background:var(--accent);color:var(--bg);z-index:20;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.utility-bar{border-bottom:1px solid var(--line);letter-spacing:.025em;color:var(--muted);font-size:11px}.utility-bar .shell{justify-content:space-between;align-items:center;min-height:34px;display:flex}.utility-bar a{color:var(--muted);text-decoration:none}.status-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 10px #d5f87830}.header-wrap{border-bottom:1px solid var(--line)}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:90px;display:flex}.brand{color:var(--ink);letter-spacing:-1.8px;align-items:center;gap:9px;font-size:33px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.brand-period{color:var(--accent);margin-left:-8px}.brand-mark{background:var(--accent);width:31px;height:31px;color:var(--bg);letter-spacing:0;border-radius:6px;place-items:center;margin-right:3px;font-size:28px;font-weight:500;line-height:1;display:grid}.site-header nav{align-items:center;gap:29px;display:flex}.site-header nav a{color:var(--muted);padding:34px 0;font-size:13px;font-weight:500;text-decoration:none;position:relative}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}.site-header nav a[aria-current=page]:after{content:"";background:var(--accent);width:17px;height:2px;position:absolute;bottom:20px;left:0}.header-actions{align-items:center;gap:22px;display:flex}.button{font:600 13px/1.5 var(--font);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:22px;padding:12px 18px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#e3ff9d;transform:translateY(-1px)}.button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.icon-button{color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;min-width:40px;min-height:40px;padding:9px;display:grid}.icon-button:hover{color:var(--accent)}.menu-toggle{display:none}main{padding-block:48px 80px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font:500 10px/1.6 var(--font);color:var(--muted);margin-bottom:12px}.lede{color:var(--muted);max-width:65ch;margin-bottom:32px;font-size:1.15rem}.home-intro{justify-content:space-between;align-items:flex-end;gap:24px;margin:4px 0 36px;display:flex}.home-intro .eyebrow{margin-bottom:14px;font-size:10px}.home-intro h1{letter-spacing:-3px;margin-bottom:18px;font-size:clamp(40px,4.6vw,64px);font-weight:500;line-height:1.06}.home-intro h1 span{color:var(--accent)}.home-intro p:last-child{color:var(--muted);margin:0;font-size:14px}.edition-label{text-align:right;white-space:nowrap;letter-spacing:.08em;color:var(--muted);gap:8px;padding-bottom:3px;font-size:10px;display:grid}.edition-label span:last-child{letter-spacing:0;color:#737c70;font-size:11px}.lead-grid{grid-template-columns:minmax(0,2.3fr) minmax(270px,1fr);gap:24px;display:grid}.lead-story{border-radius:var(--radius);background:linear-gradient(120deg,#202619,#161b13);border:1px solid #3c4530;grid-template-columns:1.12fr 1fr;min-height:383px;display:grid;position:relative;overflow:hidden}.lead-copy{z-index:1;padding:26px 0 28px 30px;position:relative}.feature-label{letter-spacing:.12em;color:var(--accent);align-items:center;gap:8px;margin-bottom:38px;font-size:10px;display:flex}.tiny-spark{font-size:21px;line-height:1}.lead-copy>.eyebrow{margin-bottom:12px;font-size:9px}.lead-story h2{letter-spacing:-1.3px;margin:0 0 17px;font-size:clamp(29px,2.65vw,38px);font-weight:500;line-height:1.15}.lead-story h2 a{color:var(--ink);text-decoration:none}.lead-story h2 em{color:var(--accent);font-style:normal}.lead-copy>p:not(.eyebrow){color:#b1b8a8;max-width:36ch;margin-bottom:25px;font-size:12px;line-height:1.75}.text-link{color:var(--ink);align-items:center;gap:24px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--accent)}.text-link>span{font-size:19px}.lead-art{align-items:center;min-width:0;display:flex;position:relative}.lead-art .tech-art{background:0 0;flex-shrink:0;width:128%;height:100%;margin-left:-18%;overflow:visible}.lead-art .tech-art svg{width:125%;max-width:none;margin-left:-10%}.art-caption{letter-spacing:.08em;color:#899a6c;font:7px/1.4 monospace;position:absolute;bottom:30px;right:24px}.editors-picks{border-top:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.aside-heading{justify-content:space-between;align-items:center;padding-top:20px;display:flex}.aside-heading h2{letter-spacing:-.5px;margin:0;font-size:18px}.aside-heading>span{color:var(--accent)}.aside-subtitle{color:var(--muted);margin:5px 0 12px;font-size:11px}.pick{border-bottom:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:15px;padding:17px 0;text-decoration:none;display:flex}.pick:hover h3{color:var(--accent)}.pick-number{font:22px/1.3 var(--font);letter-spacing:-1px;color:#626c5b}.pick .eyebrow{color:var(--accent);margin:0 0 5px;font-size:8px;display:block}.pick h3{letter-spacing:-.1px;margin:0;font-size:13px;font-weight:500;line-height:1.45}.pick-arrow{color:var(--muted);margin-left:auto;font-size:13px}.aside-footer{color:var(--muted);justify-content:space-between;margin-top:auto;padding-top:15px;font-size:11px;text-decoration:none;display:flex}.aside-footer:hover{color:var(--accent)}.topic-strip{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 54px;padding:18px 0;display:flex}.topic-strip>span{letter-spacing:.1em;color:var(--muted);font-size:9px}.topic-strip a{color:var(--ink);align-items:center;gap:25px;font-size:11px;text-decoration:none;display:flex}.topic-strip a span{color:var(--muted)}.topic-strip a:hover{color:var(--accent)}.section-head{justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;display:flex}.section-head .eyebrow{margin-bottom:8px}.section-head h2{letter-spacing:-1px;margin:0;font-size:29px;font-weight:500}.filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:24px;padding-bottom:18px;display:flex}.filter-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:8px 15px;font-size:11px}.filter-button:hover{color:var(--ink);background:var(--surface)}.filter-button.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.filter-caption{color:var(--muted);margin-left:auto;font:10px monospace}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:24px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:#606d50;transform:translateY(-3px)}.card a.stretch{color:var(--ink);text-decoration:none}.card a.stretch:hover{color:var(--accent)}.card p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.tag{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);width:fit-content;font-size:9px;font-weight:500;display:inline-block}.card-body{flex-direction:column;flex:1;gap:14px;display:flex}.card-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.card h3{letter-spacing:-.35px;margin:0;font-size:19px;font-weight:500;line-height:1.4}.card-bottom{border-top:1px solid var(--line);letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font:9px/1.6 monospace;display:flex}.card-bottom>span:last-child{color:var(--ink);font-size:18px}.visual-card{gap:0;height:100%;padding:0}.visual-card .card-body{padding:23px}.visual-card .card-bottom{margin-top:5px}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-grid>div{min-width:0}.tech-art{aspect-ratio:1.9;color:#c1e986;background:radial-gradient(at 50% 80%,#32402780,#0000 70%),#1c231b;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tech-art svg{z-index:1;width:100%;height:115%;position:relative}.art-grid{background-image:linear-gradient(#a1b98708 1px,#0000 1px),linear-gradient(90deg,#a1b98708 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;mask-image:radial-gradient(#000,#0000 85%)}.art-coordinate{letter-spacing:.12em;color:currentColor;opacity:.6;font:8px monospace;position:absolute;bottom:12px;right:14px}.art-security{color:#91c9bc;background:radial-gradient(#254643,#0000 75%),#192320}.art-open-source{color:#8dbbbd;background:radial-gradient(#304347,#0000 75%),#172022}.art-hardware,.art-apple{color:#b4a1d8;background:radial-gradient(#3b3549,#0000 75%),#221e2c}.art-browsers{color:#e5b67e;background:radial-gradient(#594023,#0000 75%),#29221b}.tool-banner{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr 1.2fr;gap:50px;margin-top:64px;padding:36px 42px;display:grid}.tool-banner h2{margin:10px 0 18px;font-size:30px;font-weight:500}.tool-banner-intro>p{color:var(--muted);font-size:12px}.tool-links{flex-direction:column;justify-content:center;display:flex}.tool-links>a{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:20px 0;text-decoration:none;display:flex}.tool-links>a:last-child{border:0}.tool-links>a>span:last-child{margin-left:auto}.tool-links h3{letter-spacing:-.2px;margin:0 0 3px;font-size:14px}.tool-links p{color:var(--muted);margin:0;font-size:11px}.tool-links a:hover h3{color:var(--accent)}.tool-icon{width:42px;height:42px;color:var(--accent);background:#252c21;border-radius:8px;flex:none;place-items:center;font-size:24px;display:grid}.follow-banner{align-items:center;gap:24px;padding:50px 0 0;display:flex}.follow-symbol{color:var(--accent);font-size:75px;line-height:1}.follow-banner h2{margin:5px 0 8px;font-size:25px;font-weight:500}.follow-banner .eyebrow{margin:0;font-size:8px}.follow-banner p:last-child{color:var(--muted);margin:0;font-size:12px}.follow-banner .button{margin-left:auto}.article{max-width:74ch;margin:12px 0 0}.article h1{font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.12}.article h2{margin-top:2.2rem;font-size:1.6rem}.article p,.article li{font-family:var(--serif);color:#c2c7bc;font-size:1.14rem;line-height:1.85}.article .eyebrow{font-family:var(--font);color:var(--accent);font-size:11px;line-height:1.6}.article .meta{font-family:var(--font);color:var(--muted);border-bottom:1px solid var(--line);margin-block:20px 32px;padding-bottom:24px;font-size:12px}.article strong{color:var(--ink)}.sources{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1rem}.sources h2{margin-top:0;font-size:1.1rem}.sources li{font-family:var(--font);color:var(--muted);font-size:.9rem}.note{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;font-size:.95rem}.timeline{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{color:var(--muted);padding:0 0 20px 24px;font-size:14px;position:relative}.timeline li:before{content:"";background:var(--mark);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-4px}.timeline b{color:var(--ink);margin-right:12px}.breadcrumbs{color:var(--muted);margin-bottom:26px;font-size:11px}.breadcrumbs a{color:var(--muted)}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-block:1.4rem;padding:24px}.tool label{margin-bottom:6px;font-weight:600;display:block}.tool input[type=text],.tool input[type=password],.tool input[type=file],.tool select,.tool textarea{width:100%;font:inherit;background:var(--bg);color:var(--ink);border:1px solid #57614e;border-radius:6px;padding:10px 12px}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.output{word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:6px;min-height:2.6em;margin-top:12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem}.meter{background:var(--line);border-radius:999px;height:7px;margin-top:12px;overflow:hidden}.meter>span{background:var(--mark);width:0;height:100%;transition:width .2s;display:block}.sudoku{aspect-ratio:1;border:2px solid var(--muted);border-radius:8px;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,468px);display:grid;overflow:hidden}.sudoku input{border:1px solid var(--line);text-align:center;width:100%;height:100%;font:700 clamp(1rem, 4.5vw, 1.4rem) var(--font);background:var(--surface);color:var(--accent);border-radius:0;padding:0}.sudoku input[readonly]{color:var(--ink);background:#22271f}.sudoku input.bad{color:#ff8d80}.sudoku input:nth-child(9n+3),.sudoku input:nth-child(9n+6){border-right:2px solid var(--muted)}.sudoku input:nth-child(n+19):nth-child(-n+27),.sudoku input:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--muted)}.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#0d0f0e;padding-block:42px 24px;font-size:12px}.footer-grid{grid-template-columns:2.5fr 1fr 1fr;gap:80px;padding-bottom:35px;display:grid}.footer-grid .brand{color:var(--ink);margin-bottom:20px;padding:0;font-size:29px;display:inline-flex}.footer-grid p{max-width:430px;font-size:11px;line-height:1.9}.footer-grid strong{color:var(--ink);margin-bottom:15px;font-size:11px;display:block}.footer-grid a{color:var(--muted);padding:4px 0;font-size:11px;text-decoration:none;display:block}.footer-grid a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;padding-top:24px;font-size:10px;display:flex}.search-dialog{background:var(--surface);color:var(--ink);overscroll-behavior:contain;border:1px solid #566049;border-radius:14px;width:min(650px,100% - 32px);max-height:85dvh;padding:26px}.search-dialog::backdrop{backdrop-filter:blur(7px);background:#000b}body:has(.search-dialog[open]){overflow:hidden}.search-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.search-heading h2{margin:0;font-size:24px}.search-dialog label{display:block}.search-dialog input{background:var(--bg);width:100%;color:var(--ink);border:1px solid #69745d;border-radius:6px;padding:13px 15px}#search-status{color:var(--muted);margin:16px 0;font-size:12px}.search-results a{border-top:1px solid var(--line);color:var(--ink);flex-direction:column;gap:5px;padding:15px 0;text-decoration:none;display:flex}.search-results a:hover strong{color:var(--accent)}.search-results .eyebrow{color:var(--accent);margin:0;font-size:9px}.search-results strong{font-size:14px;font-weight:500}.search-results a>span:last-child{color:var(--muted);font-size:11px}.search-hint{color:var(--muted);margin:18px 0 0;font-size:10px}@media (width>=1500px){main{padding-top:58px}.lead-story{min-height:415px}.lead-copy{padding-top:32px}.feature-label{margin-bottom:43px}.lead-copy>p:not(.eyebrow){font-size:13px}.pick{padding:20px 0}.pick h3{font-size:14px}}@media (width<=1100px){.shell{width:calc(100% - 48px)}.site-header nav{gap:20px}.header-actions{gap:10px}.lead-grid{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.lead-story{grid-template-columns:1.3fr .7fr}.lead-copy{padding-left:24px}.lead-art .tech-art{opacity:.65;width:165%;margin-left:-42%}.lead-story h2{font-size:30px}.lead-copy>p:not(.eyebrow){max-width:32ch}.edition-label{display:none}.topic-strip{gap:16px}.topic-strip>span{width:100%}.story-grid{gap:16px}.visual-card .card-body{padding:18px}.card h3{font-size:17px}.filter-caption{font-size:9px}.art-caption{display:none}}@media (width<=850px){.header-cta{display:none}.site-header{min-height:78px}.site-header nav a{padding-block:27px}.lead-grid{grid-template-columns:1fr}.lead-story{grid-template-columns:1fr 1fr;min-height:355px}.lead-story h2{font-size:36px}.lead-copy>p:not(.eyebrow){max-width:40ch}.lead-art .tech-art{opacity:1;width:115%;margin-left:-12%}.editors-picks{grid-template-columns:repeat(3,1fr);column-gap:22px;display:grid}.aside-heading,.aside-subtitle{grid-column:1/-1}.pick{gap:10px}.pick-arrow{display:none}.aside-footer{grid-column:1/-1;padding-top:18px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-banner{gap:30px;padding:28px}.tool-banner h2{font-size:26px}.footer-grid{gap:35px}}@media (width<=600px){.shell{width:calc(100% - 36px)}.utility-bar .shell{min-height:29px;font-size:9px}.utility-bar .shell>a{display:none}.site-header{gap:10px;min-height:72px;position:relative}.brand{font-size:29px}.brand-mark{width:27px;height:27px;font-size:24px}.header-actions{gap:7px}.menu-toggle{display:grid}.site-header nav{background:var(--surface);z-index:10;border-bottom:1px solid var(--line);padding:14px 24px;display:none;position:absolute;top:72px;left:-18px;right:-18px;box-shadow:0 16px 30px #0006}.site-header nav.is-open{flex-direction:column;align-items:stretch;gap:0;display:flex}.site-header nav a{padding:13px 0}.site-header nav a[aria-current=page]:after{display:none}main{padding-block:32px 48px}.home-intro{margin:0 0 25px}.home-intro h1{letter-spacing:-2px;max-width:340px;margin-bottom:16px;font-size:43px;line-height:1.08}.home-intro .eyebrow{letter-spacing:.1em;font-size:8px}.home-intro p:last-child{max-width:32ch;font-size:12px}.lead-story{grid-template-columns:1fr;min-height:0}.lead-copy{padding:24px 24px 0}.feature-label{margin-bottom:28px}.lead-story h2{font-size:34px}.lead-copy>p:not(.eyebrow){max-width:38ch;margin-bottom:17px;font-size:12px}.lead-art{height:215px;margin-top:-5px}.lead-art .tech-art{width:100%;height:260px;margin:0}.lead-art .tech-art svg{width:100%;height:290px;margin:0}.lead-art .art-coordinate{display:none}.lead-art .art-grid{inset:20px 0}.editors-picks{display:flex}.aside-heading{padding-top:18px}.pick{gap:16px;padding:16px 0}.pick h3{font-size:14px}.pick-number{font-size:24px}.pick-arrow{display:block}.topic-strip{justify-content:flex-start;gap:14px 22px;margin:26px 0 36px;padding:18px 0}.topic-strip a{gap:8px;font-size:10px}.topic-strip>span{font-size:8px}.section-head{align-items:flex-end;gap:10px;margin-bottom:20px}.section-head h2{max-width:225px;font-size:25px}.section-head .text-link{white-space:nowrap;gap:6px;font-size:10px}.section-head .eyebrow{font-size:9px}.filter-bar{gap:4px;padding-bottom:16px}.filter-button{padding:8px 10px;font-size:10px}.filter-caption{width:100%;margin:10px 0 0;display:block}.story-grid{grid-template-columns:1fr;gap:22px}.visual-card .card-body{padding:22px}.card h3{font-size:21px}.tech-art{aspect-ratio:1.85}.grid{grid-template-columns:1fr}.tool-banner{grid-template-columns:1fr;gap:10px;margin-top:38px;padding:26px}.tool-banner h2{font-size:29px}.tool-links>a{gap:12px}.tool-links h3{font-size:13px}.tool-links p{font-size:10px}.tool-icon{width:35px;height:35px}.follow-banner{flex-wrap:wrap;gap:18px;padding-top:35px}.follow-symbol{font-size:47px}.follow-banner h2{font-size:21px}.follow-banner .eyebrow{font-size:7px}.follow-banner p:last-child{font-size:11px}.follow-banner .button{margin:0 0 0 65px}.site-footer{padding-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{margin:0}.footer-bottom{flex-wrap:wrap;gap:14px}.article p,.article li{font-size:1.08rem;line-height:1.8}.article h1{font-size:2.2rem}.search-dialog{padding:20px}.search-heading h2{font-size:20px}.tool{padding:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}article.article{margin-inline:auto}.card a.stretch:after{content:"";position:absolute;inset:0}
