@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Serif+SC:wght@500;600;700&display=swap');
:root{--paper:#f2eee4;--ink:#17231e;--red:#d94f35;--sage:#9ea894;--line:rgba(23,35,30,.2);--soft:#e5e0d4;--sans:"DM Sans",sans-serif;--serif:"Noto Serif SC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);transition:background .2s,color .2s}.texture{position:fixed;inset:0;z-index:-1;opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font:bold 24px var(--sans);color:inherit;text-decoration:none;letter-spacing:-.08em}.wordmark span{color:var(--red)}nav{display:flex;gap:36px}.site-header nav a{color:inherit;text-decoration:none;font-size:13px}.site-header nav a.active,.site-header nav a:hover{color:var(--red)}.theme{justify-self:end;border:1px solid var(--line);background:none;color:inherit;width:38px;height:38px;border-radius:50%;cursor:pointer}.hero{min-height:690px;padding:55px 0 70px;display:flex;flex-direction:column;justify-content:space-between}.hero-kicker{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.hero h1,.blog-intro h1{margin:30px 0;font-size:clamp(62px,9.6vw,140px);line-height:.88;letter-spacing:-.075em;font-weight:500}.hero h1 em,.blog-intro h1 em{font-style:normal;color:var(--red);font-family:var(--serif)}.hero-foot{display:flex;align-items:end;justify-content:space-between}.hero-foot p{width:min(430px,70%);font:500 17px/1.8 var(--serif)}.round-link{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--ink);border-radius:50%;color:inherit;text-decoration:none;font-size:28px}.apps-section,.writing{padding:120px 0;border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:1fr 2fr;margin-bottom:60px}.section-title>p,.label{font-size:10px;letter-spacing:.15em}.section-title h2{margin:0;font:600 clamp(38px,5vw,68px)/1.08 var(--serif);letter-spacing:-.04em}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-card{display:flex;flex-direction:column;min-height:530px;padding:24px;background:var(--soft);color:inherit;text-decoration:none;border:1px solid transparent;transition:transform .25s,border .25s}.app-card:hover{transform:translateY(-6px);border-color:var(--red)}.app-card.featured{background:var(--ink);color:var(--paper)}.app-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em}.app-art{flex:1;display:grid;place-items:center;position:relative}.oracle b{display:grid;place-items:center;width:135px;height:135px;border-radius:50%;background:var(--red);color:var(--paper);font:600 55px var(--serif);transform:rotate(-5deg)}.oracle i{position:absolute;width:195px;height:195px;border:1px solid rgba(242,238,228,.35);border-radius:50%}.vision i{position:absolute;border:2px solid var(--ink);border-radius:50%}.vision i:nth-child(1){width:190px;height:125px;border-radius:50%}.vision i:nth-child(2){width:105px;height:105px}.vision i:nth-child(3){width:16px;height:16px;background:var(--red);border:0}.more span{font-size:100px;font-weight:300;color:var(--sage)}.app-copy p,.tag{font-size:9px;letter-spacing:.15em;color:var(--red)}.app-copy h3{margin:10px 0;font:600 30px var(--serif)}.app-copy>span{font:500 13px/1.7 var(--serif);opacity:.7}.note-row{display:grid;grid-template-columns:1fr 2fr auto;align-items:start;gap:30px;padding:36px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.note-row time,.note-row>span{font-size:10px;letter-spacing:.1em}.note-row h3{margin:0 0 10px;font:600 26px var(--serif)}.note-row p{margin:0;color:color-mix(in srgb,var(--ink) 65%,transparent);font:500 13px/1.7 var(--serif)}.note-row:hover h3{color:var(--red)}.muted{opacity:.45}.text-link{display:inline-block;margin-top:32px;color:var(--red);font-size:13px}.about{display:grid;grid-template-columns:1fr 2fr;padding:120px 0;border-top:1px solid var(--line)}.about h2{margin:0 0 35px;font-size:clamp(52px,7vw,92px);line-height:.95;letter-spacing:-.06em;font-weight:500}.about div p{max-width:600px;font:500 17px/1.9 var(--serif)}footer{display:flex;justify-content:space-between;padding:32px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.13em}footer a{color:inherit}.blog-main{min-height:calc(100vh - 200px)}.blog-intro{padding:80px 0 65px}.blog-intro>p{font-size:10px;letter-spacing:.16em}.blog-intro h1{font-size:clamp(68px,10vw,125px)}.blog-intro>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font:500 14px var(--serif)}.blog-intro>div span:last-child{font:10px var(--sans);letter-spacing:.15em}.article-list{border-top:1px solid var(--ink)}.article-item{display:grid;grid-template-columns:80px 1fr 90px 30px;gap:25px;padding:40px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.article-number{font-size:10px}.article-item h2{margin:10px 0;font:600 34px var(--serif)}.article-item p:not(.tag){max-width:560px;margin:0;color:color-mix(in srgb,var(--ink) 65%,transparent);font:500 14px/1.7 var(--serif)}.article-item time{font:10px/1.7 var(--sans);letter-spacing:.1em}.arrow{font-size:20px}.article-item:hover h2{color:var(--red)}.upcoming{opacity:.42}.post-head{padding:60px 0 85px}.back{display:inline-block;margin-bottom:70px;color:inherit;font-size:12px}.post-head>p{color:var(--red);font-size:10px;letter-spacing:.16em}.post-head h1{max-width:1000px;margin:22px 0 50px;font:600 clamp(56px,9vw,110px)/1.05 var(--serif);letter-spacing:-.055em}.post-deck{display:grid;grid-template-columns:2fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:25px}.post-deck p{max-width:570px;margin:0;font:500 17px/1.8 var(--serif)}.post-deck time{justify-self:end;font-size:11px}.post-body{width:min(720px,calc(100% - 48px));margin:0 auto;padding-bottom:90px}.post-body p{font:500 17px/2 var(--serif)}.post-body .lead{font-size:23px;line-height:1.8}.post-body h2{margin:70px 0 20px;font:600 32px var(--serif)}.post-body code{padding:2px 6px;background:var(--soft);font-family:monospace;font-size:.85em}.post-body blockquote{margin:55px 0;padding:25px 35px;border-left:4px solid var(--red);font:600 25px/1.6 var(--serif)}figure{margin:55px 0}.diagram{padding:35px;background:var(--ink);color:var(--paper);display:grid;gap:16px;text-align:center;font-size:10px;letter-spacing:.12em}.diagram b{color:var(--red)}.diagram div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diagram i{padding:18px 5px;background:rgba(242,238,228,.1);font-style:normal}figcaption{margin-top:12px;color:color-mix(in srgb,var(--ink) 60%,transparent);font:12px var(--serif)}.post-body hr{margin:65px 0;border:0;border-top:1px solid var(--line)}.ending{color:var(--red)}.post-nav{display:flex;justify-content:space-between;padding:35px 0;border-top:1px solid var(--line)}.post-nav a{color:inherit;font-size:12px}body.dark{--paper:#111713;--ink:#e9e5da;--soft:#202822;--line:rgba(233,229,218,.18)}
@media(max-width:760px){.wrap{width:min(100% - 30px,1180px)}.site-header{height:74px;grid-template-columns:1fr auto}.site-header nav{gap:20px}.theme{display:none}.hero{min-height:620px;padding:38px 0 55px}.hero-kicker span:last-child{display:none}.hero h1{font-size:clamp(54px,17vw,86px)}.hero-foot p{width:78%;font-size:14px}.round-link{width:50px;height:50px}.apps-section,.writing{padding:80px 0}.section-title,.about{grid-template-columns:1fr;gap:22px}.app-grid{grid-template-columns:1fr}.app-card{min-height:480px}.note-row{grid-template-columns:80px 1fr}.note-row>span{display:none}.about{padding:80px 0}.about h2{font-size:54px}footer span:nth-child(2){display:none}.blog-intro{padding:60px 0 45px}.blog-intro h1{font-size:70px}.blog-intro>div span:first-child{width:70%}.article-item{grid-template-columns:45px 1fr 25px}.article-item time{display:none}.article-item h2{font-size:25px}.post-head{padding-top:40px}.back{margin-bottom:45px}.post-head h1{font-size:52px}.post-deck{grid-template-columns:1fr}.post-deck time{justify-self:start}.post-body{width:calc(100% - 30px)}.post-body .lead{font-size:20px}.post-body p{font-size:16px}.post-nav{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app-card{transition:none}}
