:root{--bg: #f5f2ec;--surface: #fffdf9;--ink: #1a1814;--ink-2: #3b3731;--muted: #5f5950;--line: #e0dacf;--line-2: #cfc7b9;--accent: #c2410c;--accent-hover: #9a3412;--accent-soft: #fbe7dc;--on-accent: #ffffff;--live: #15803d;--ongoing: #a16207;--private: #57534e;--grid: rgba(26, 24, 20, .055);--shadow: 0 1px 2px rgba(26, 24, 20, .04), 0 8px 24px -12px rgba(26, 24, 20, .18);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "URW Palladio L", P052, "Book Antiqua", Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--wrap: 72rem;--narrow: 42rem;--gutter: clamp(1rem, 4vw, 2.5rem);--radius: 14px;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme: light dark}@media (prefers-color-scheme: dark){:root{--bg: #12110f;--surface: #1a1916;--ink: #f1ede6;--ink-2: #d6d0c6;--muted: #a59e93;--line: #2b2925;--line-2: #3d3a34;--accent: #ff8a4c;--accent-hover: #ffa577;--accent-soft: #3a2116;--on-accent: #1a0d05;--live: #4ade80;--ongoing: #fbbf24;--private: #a8a29e;--grid: rgba(241, 237, 230, .045);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -14px rgba(0, 0, 0, .7)}}*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}}body{margin: 0;background: var(--bg);color: var(--ink);font: 400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: hidden}img, svg{display: block;max-width: 100%}h1, h2, h3{margin: 0;font-weight: 600;line-height: 1.12;letter-spacing: -.015em;text-wrap: balance}p{margin: 0 0 1em}a{color: inherit;text-underline-offset: .18em;text-decoration-thickness: 1px}a:hover{color: var(--accent)}:focus-visible{outline: 2px solid var(--accent);outline-offset: 3px;border-radius: 4px}::selection{background: var(--accent);color: var(--on-accent)}.wrap{width: 100%;max-width: var(--wrap);margin: 0 auto;padding: 0 var(--gutter)}.narrow{max-width: calc(var(--narrow) + 2 * var(--gutter))}.skip{position: absolute;left: 1rem;top: -4rem;z-index: 50;background: var(--ink);color: var(--bg);padding: .6rem 1rem;border-radius: 8px;font-weight: 600;text-decoration: none;transition: top .15s}.skip:focus{top: 1rem;color: var(--bg)}.eyebrow{font: 500 .75rem/1.4 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);margin: 0 0 1rem}.arr{display: inline-block;transition: transform .25s var(--ease)}a:hover .arr, a:focus-visible .arr{transform: translateX(3px)}.btn{display: inline-flex;align-items: center;gap: .45em;min-height: 2.75rem;padding: .55rem 1.15rem;border: 1px solid var(--line-2);border-radius: 999px;background: transparent;color: var(--ink);font: 600 .95rem/1 var(--sans);text-decoration: none;white-space: nowrap;transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--ease)}.btn:hover{border-color: var(--ink);color: var(--ink)}.btn:active{transform: translateY(1px)}.btn-primary{background: var(--ink);border-color: var(--ink);color: var(--bg)}.btn-primary:hover{background: var(--ink-2);border-color: var(--ink-2);color: var(--bg)}.btn-accent{background: var(--accent);border-color: var(--accent);color: var(--on-accent)}.btn-accent:hover{background: var(--accent-hover);border-color: var(--accent-hover);color: var(--on-accent)}.welcome{background: var(--ink);color: var(--bg);font-size: .9rem}.welcome p{margin: 0;padding: .55rem 0;display: flex;flex-wrap: wrap;gap: .15rem .5rem;align-items: baseline}.welcome strong{font-weight: 600;overflow-wrap: anywhere}.welcome a{color: var(--bg);font-weight: 600;text-decoration: none;border-bottom: 1px solid currentColor}.welcome a:hover{color: var(--bg);border-bottom-color: transparent}.welcome:not([hidden]){animation: drop .45s var(--ease) both}@keyframes drop{from{opacity: 0;transform: translateY(-100%)}}.site-head{border-bottom: 1px solid var(--line);background: var(--bg)}.site-head .wrap{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: .75rem 1rem;min-height: 4.25rem;padding-top: .6rem;padding-bottom: .6rem}.brand{display: inline-flex;align-items: center;gap: .65rem;font-weight: 650;font-size: 1rem;letter-spacing: -.01em;text-decoration: none;color: var(--ink)}.brand:hover{color: var(--ink)}.mark{width: 2rem;height: 2rem;flex: none;transition: transform .35s var(--ease)}.mark rect{fill: var(--accent)}.mark path{stroke: var(--on-accent)}.brand:hover .mark{transform: rotate(-6deg)}.nav{display: flex;align-items: center;gap: .25rem;list-style: none;margin: 0;padding: 0}.nav a{display: inline-flex;align-items: center;min-height: 2.75rem;padding: 0 .8rem;border-radius: 999px;text-decoration: none;font-weight: 550;font-size: .95rem;color: var(--ink-2)}.nav a:hover{color: var(--ink);background: var(--line)}.nav a[aria-current="page"]{color: var(--ink);box-shadow: inset 0 -2px 0 var(--accent);border-radius: 0}.nav .nav-play{background: var(--ink);color: var(--bg);padding: 0 1rem;gap: .4em;margin-left: .35rem}.nav .nav-play:hover{background: var(--accent);color: var(--on-accent)}@media (max-width: 400px){.brand{font-size: .95rem;gap: .5rem}.nav a{padding: 0 .6rem}.nav .nav-play{padding: 0 .85rem;margin-left: .15rem}}.hero{position: relative;padding: clamp(3.5rem, 10vw, 7.5rem) 0 clamp(3rem, 8vw, 6rem);isolation: isolate}.hero::before{content: "";position: absolute;inset: 0;z-index: -1;pointer-events: none;background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size: 32px 32px;background-position: -1px -1px;-webkit-mask-image: radial-gradient(ellipse 80% 75% at 25% 30%, #000 25%, transparent 75%);mask-image: radial-gradient(ellipse 80% 75% at 25% 30%, #000 25%, transparent 75%)}.hero-grid{display: grid;gap: 3rem;align-items: end}@media (min-width: 900px){.hero-grid{grid-template-columns: minmax(0, 1fr) 19rem}}.hero-name{font-family: var(--serif);font-weight: 500;font-size: clamp(3.1rem, 12.5vw, 8.25rem);line-height: .92;letter-spacing: -.035em;margin: 0 0 1.5rem}.hero-name span{display: block}.hero-name span + span{padding-left: .55em}.hero-name .dot{font-style: normal;color: var(--accent)}.hero-line{font-size: clamp(1.15rem, 2.4vw, 1.45rem);line-height: 1.5;color: var(--ink-2);max-width: 40ch;margin-bottom: 2rem}.hero-actions{display: flex;flex-wrap: wrap;gap: .75rem;margin: 0}.hero-facts{margin: 0;display: grid;border-top: 1px solid var(--line-2)}@media (min-width: 600px) and (max-width: 899px){.hero-facts{grid-template-columns: repeat(3, minmax(0, 1fr));column-gap: 1.25rem}}.hero-facts div{padding: .95rem 0;border-bottom: 1px solid var(--line);display: grid;grid-template-columns: 5.5rem minmax(0, 1fr);gap: .75rem;align-items: baseline}@media (min-width: 600px) and (max-width: 899px){.hero-facts div{grid-template-columns: 1fr;gap: .3rem}}.hero-facts dt{font: 500 .72rem/1.35 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted)}.hero-facts dd{margin: 0}.hero-facts dd a{font: 500 1.12rem/1.3 var(--serif);text-decoration: none;color: var(--ink)}.hero-facts dd a:hover{color: var(--accent)}.hero-facts small{display: block;font-size: .85rem;color: var(--muted);margin-top: .15rem}cite{font-style: italic}.hero-line cite{color: var(--ink)}@media (prefers-reduced-motion: no-preference){.rise{animation: rise .8s var(--ease) both}.rise-1{animation-delay: .05s}.rise-2{animation-delay: .14s}.rise-3{animation-delay: .24s}.rise-4{animation-delay: .34s}.rise-5{animation-delay: .46s}@keyframes rise{from{opacity: 0;transform: translateY(14px)}}}.section{padding: clamp(3rem, 8vw, 5.5rem) 0}.section-head{display: flex;flex-wrap: wrap;align-items: end;justify-content: space-between;gap: .5rem 1.5rem;margin-bottom: 2rem;padding-bottom: 1.1rem;border-bottom: 1px solid var(--line-2)}.section-head .eyebrow{flex-basis: 100%;margin-bottom: .2rem}.section-head h2{font-family: var(--serif);font-weight: 500;font-size: clamp(2rem, 5vw, 2.9rem);letter-spacing: -.025em}.link-arrow{font-weight: 600;font-size: .95rem;text-decoration: none;color: var(--ink);white-space: nowrap}.link-arrow:hover{color: var(--accent)}.eyebrow-ai{color: var(--accent);font-weight: 700}.how-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 1rem;counter-reset: how}@media (min-width: 820px){.how-list{grid-template-columns: repeat(3, minmax(0, 1fr));gap: 1.25rem}}.how-list li{position: relative;padding: 1.5rem 1.4rem 1.4rem;border-top: 2px solid var(--accent);background: var(--surface);border-radius: 0 0 var(--radius) var(--radius);box-shadow: inset 0 0 0 1px var(--line)}.how-num{display: block;font: 500 .75rem/1 var(--mono);color: var(--accent);margin-bottom: .9rem}.how-list h3{font-family: var(--serif);font-weight: 500;font-size: 1.4rem;letter-spacing: -.015em;margin-bottom: .6rem}.how-list p{margin: 0;color: var(--ink-2);font-size: .98rem}.how{padding-top: 0}.kicker{font: 500 .75rem/1.4 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--accent);margin: 0 0 .6rem}.work-card{display: grid;gap: 2rem;padding: clamp(1.5rem, 4vw, 2.75rem);border: 1px solid var(--line);border-radius: var(--radius);background: var(--surface);position: relative;overflow: hidden}.work-card::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 4px;background: var(--accent)}@media (min-width: 860px){.work-card{grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);gap: 3rem;align-items: start}}.work-card h3{font-family: var(--serif);font-weight: 500;font-size: clamp(2rem, 5vw, 2.75rem);letter-spacing: -.025em;margin-bottom: .35rem}.work-tag{font-weight: 600;color: var(--ink);margin-bottom: 1rem}.work-main > p:not(.kicker):not(.work-tag):not(.work-cta){color: var(--ink-2);max-width: 52ch}.work-cta{margin: 1.5rem 0 0}.work-services{list-style: none;margin: 0;padding: 0;border-top: 1px solid var(--line-2)}.work-services li{display: flex;gap: 1rem;align-items: baseline;padding: .95rem 0;border-bottom: 1px solid var(--line);font-weight: 600;font-size: 1.05rem}.work-services span{font: 500 .75rem/1 var(--mono);color: var(--accent)}.work-services .is-key{color: var(--accent);font-size: 1.15rem}.work-services .is-key::after{content: "AI";margin-left: auto;font: 700 .65rem/1 var(--mono);letter-spacing: .08em;padding: .3rem .45rem;border-radius: 999px;background: var(--accent);color: var(--on-accent);align-self: center}.work-serves{margin: 1rem 0 0;font: 400 .8rem/1.5 var(--mono);color: var(--muted)}.section-alt{background: color-mix(in srgb, var(--line) 45%, var(--bg));border-block: 1px solid var(--line)}.book{display: grid;gap: clamp(1.75rem, 5vw, 3.5rem);align-items: start}@media (min-width: 700px){.book{grid-template-columns: minmax(0, 15rem) minmax(0, 1fr)}}.book-cover{max-width: 15rem;perspective: 900px}.book-cover img{width: 100%;height: auto;border-radius: 3px 8px 8px 3px;box-shadow: inset 4px 0 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .12), 0 22px 40px -18px rgba(0, 0, 0, .55);transition: transform .5s var(--ease)}@media (prefers-reduced-motion: no-preference){.book:hover .book-cover img{transform: rotateY(-8deg) translateX(4px)}}.book h3{font-family: var(--serif);font-weight: 500;font-size: clamp(1.9rem, 4.6vw, 2.6rem);letter-spacing: -.02em;margin-bottom: .6rem}.book h3 span{display: block;font-size: .5em;letter-spacing: 0;color: var(--muted);margin-top: .35rem}.book-by{color: var(--ink);font-weight: 550}.book-by a{color: var(--accent)}.book-body > p:not(.kicker):not(.book-by):not(.book-cta){color: var(--ink-2);max-width: 54ch}.book-facts{display: flex;flex-wrap: wrap;gap: .75rem 2rem;margin: 1.25rem 0 0;padding: 1rem 0;border-block: 1px solid var(--line-2)}.book-facts dt{font: 500 .7rem/1.4 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted)}.book-facts dd{margin: .15rem 0 0;font-weight: 600;font-variant-numeric: tabular-nums}.book-cta{margin: 1.5rem 0 0}.proj-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 1rem}.proj{position: relative;display: grid;grid-template-columns: auto minmax(0, 1fr) auto;gap: 0 clamp(1rem, 3vw, 2rem);padding: clamp(1.25rem, 3vw, 1.9rem);border: 1px solid var(--line);border-radius: var(--radius);background: var(--surface);text-decoration: none;color: var(--ink);transition: border-color .25s, transform .3s var(--ease), box-shadow .3s var(--ease)}.proj:hover{color: var(--ink);border-color: var(--line-2);transform: translateY(-2px);box-shadow: var(--shadow)}.proj:focus-visible{outline-offset: 2px;border-radius: var(--radius)}.proj-num{font: 500 .8rem/1.9 var(--mono);color: var(--muted);padding-top: .1rem}.proj-top{display: flex;flex-wrap: wrap;align-items: center;gap: .4rem .9rem;margin-bottom: .7rem;font: 500 .78rem/1.4 var(--mono);color: var(--muted)}.proj h2, .proj h3{font-family: var(--serif);font-weight: 500;font-size: clamp(1.4rem, 3vw, 1.85rem);letter-spacing: -.02em;margin-bottom: .55rem;transition: color .2s}.proj:hover h2, .proj:hover h3{color: var(--accent)}.proj p{color: var(--ink-2);margin: 0 0 .9rem;max-width: 60ch}.proj-go{align-self: center;font-size: 1.35rem;color: var(--muted);transition: transform .3s var(--ease), color .2s}.proj:hover .proj-go{transform: translateX(4px);color: var(--accent)}@media (max-width: 560px){.proj{grid-template-columns: minmax(0, 1fr)}.proj-num{display: none}.proj-go{position: absolute;right: 1.25rem;top: 1.15rem}}.tags{display: flex;flex-wrap: wrap;gap: .35rem .9rem;font: 400 .78rem/1.5 var(--mono);color: var(--muted)}.status{display: inline-flex;align-items: center;gap: .45em;font: 600 .7rem/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;padding: .38rem .6rem .36rem;border-radius: 999px;border: 1px solid currentColor}.status::before{content: "";width: .45rem;height: .45rem;border-radius: 50%;background: currentColor}.status-live{color: var(--live)}.status-ongoing{color: var(--ongoing)}.status-private{color: var(--private)}.status-private::before{border-radius: 2px}@media (prefers-reduced-motion: no-preference){.status-live::before{animation: pulse 2.4s ease-in-out infinite}@keyframes pulse{0%, 100%{box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 45%, transparent)}60%{box-shadow: 0 0 0 .3rem transparent}}}.play{padding: clamp(1rem, 3vw, 2rem) 0 clamp(3.5rem, 9vw, 6rem)}.play-panel{position: relative;overflow: hidden;display: grid;gap: 1.75rem;padding: clamp(1.5rem, 4vw, 2.5rem);border-radius: var(--radius);background: var(--surface);border: 1px dashed var(--line-2)}.play-panel::after{content: "";position: absolute;right: -7rem;top: -7rem;width: 16rem;height: 16rem;border-radius: 50%;background: radial-gradient(circle, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%);pointer-events: none}@media (min-width: 860px){.play-panel{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);align-items: center;gap: 2.5rem}}.play-panel h2{font-family: var(--serif);font-weight: 500;font-size: clamp(1.6rem, 4vw, 2.1rem);letter-spacing: -.02em;margin-bottom: .75rem}.play-copy > p:not(.eyebrow){color: var(--ink-2);max-width: 46ch;font-size: .98rem}.play-cta{display: flex;flex-wrap: wrap;align-items: center;gap: .75rem 1rem;margin: 1.25rem 0 0}.note{font: 400 .8rem/1.4 var(--mono);color: var(--muted)}.play-games{list-style: none;margin: 0;padding: 0;position: relative;z-index: 1;display: flex;flex-wrap: wrap;gap: .5rem}.play-games li{padding: .45rem .8rem;border: 1px solid var(--line);border-radius: 999px;background: var(--bg);font-size: .9rem;transition: border-color .2s}.play-games li:hover{border-color: var(--accent)}.g-title{font-weight: 600}.g-genre{font: 400 .72rem/1.4 var(--mono);color: var(--muted);margin-left: .45rem}.page-head{padding: clamp(2.5rem, 7vw, 4.5rem) 0 clamp(1.5rem, 4vw, 2.5rem)}.page-head h1{font-family: var(--serif);font-weight: 500;font-size: clamp(2.5rem, 7vw, 4.25rem);letter-spacing: -.03em;margin-bottom: 1rem}.lede{font-size: clamp(1.1rem, 2.2vw, 1.3rem);line-height: 1.5;color: var(--ink-2);max-width: 46ch}.crumbs ol{display: flex;flex-wrap: wrap;gap: .35rem;list-style: none;margin: 0 0 2rem;padding: 0;font: 400 .8rem/1.5 var(--mono);color: var(--muted)}.crumbs li + li::before{content: "/";margin-right: .35rem;color: var(--line-2)}.crumbs a{color: var(--muted);text-decoration: none}.crumbs a:hover{color: var(--accent);text-decoration: underline}.crumbs [aria-current]{color: var(--ink-2)}.post-head .status{margin-bottom: 1.1rem}.post-meta{display: flex;flex-wrap: wrap;gap: .35rem .9rem;font: 400 .8rem/1.5 var(--mono);color: var(--muted);margin: 1.25rem 0 0}.post-cta{display: flex;flex-wrap: wrap;align-items: center;gap: .75rem 1rem;margin: 1.75rem 0 0}.post-cta .note{color: var(--muted)}.prose{padding-top: clamp(1.5rem, 4vw, 2.5rem);padding-bottom: clamp(2.5rem, 6vw, 4rem)}.prose > :first-child{margin-top: 0}.prose h2{font-family: var(--serif);font-weight: 500;font-size: clamp(1.5rem, 3.4vw, 1.9rem);letter-spacing: -.02em;margin: 2.4em 0 .7em;padding-top: 1.4rem;border-top: 1px solid var(--line)}.prose p, .prose li{color: var(--ink-2)}.prose strong{color: var(--ink);font-weight: 600}.prose ul{padding-left: 1.2rem;margin: 0 0 1.2em}.prose li{margin-bottom: .6em;padding-left: .25rem}.prose li::marker{color: var(--accent)}.prose a{color: var(--accent)}.prose code{font: .9em var(--mono);background: var(--line);padding: .1em .35em;border-radius: 4px}.post-foot{border-top: 1px solid var(--line-2);padding-top: 1.5rem;margin-bottom: clamp(3rem, 8vw, 5rem);display: grid;gap: 1rem}@media (min-width: 640px){.post-foot{grid-template-columns: 1fr 1fr}}.pager{display: block;padding: 1rem 1.15rem;border: 1px solid var(--line);border-radius: 12px;text-decoration: none;background: var(--surface);transition: border-color .2s, transform .3s var(--ease)}.pager:hover{border-color: var(--line-2);transform: translateY(-2px);color: var(--ink)}.pager small{display: block;font: 400 .72rem/1.5 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);margin-bottom: .25rem}.pager span{font-family: var(--serif);font-size: 1.15rem}.pager-next{text-align: right}@media (min-width: 640px){.pager-next{grid-column: 2}}.cta-strip{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1rem 2rem;padding: 1.5rem clamp(1.25rem, 3vw, 2rem);border: 1px dashed var(--line-2);border-radius: var(--radius);margin-top: 2.5rem}.cta-strip p{margin: 0;color: var(--ink-2)}.site-foot{border-top: 1px solid var(--line);padding: 2.5rem 0 2rem;font-size: .92rem;color: var(--muted)}.foot-top{display: flex;flex-wrap: wrap;align-items: flex-start;justify-content: space-between;gap: 1rem 2rem;margin-bottom: 1.75rem}.foot-id p{margin: .75rem 0 0;max-width: 40ch}.foot-id a:not(.brand){color: var(--ink-2)}.foot-top ul{display: flex;flex-wrap: wrap;gap: .25rem 1.5rem;list-style: none;margin: 0;padding: 0}.foot-top ul a{color: var(--ink-2);text-decoration: none;font-weight: 550;display: inline-block;padding: .35rem 0}.foot-top ul a:hover{color: var(--accent)}.legal{display: flex;flex-wrap: wrap;gap: .4rem 1.5rem;font: 400 .78rem/1.6 var(--mono)}.legal a{color: var(--muted)}.legal a:hover{color: var(--accent)}@media print{.site-head nav, .welcome, .play::after, .hero::before{display: none !important}body{background: #fff;color: #000}}
