@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:100 800;src:url("/fonts/sora-latin-wght.woff2") format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url("/fonts/inter-latin-wght.woff2") format("woff2")}@font-face{font-display:swap;font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;src:url("/fonts/jetbrains-mono-latin-wght.woff2") format("woff2")}:root{color-scheme:dark;--font-display:sora,"Arial Narrow",sans-serif;--font-body:inter,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Code",menlo,monospace;--night:#0f172a;--smoke:#f8fafc;--slate:#94a3b8;--blue:#2563eb;--cyan:#22d3ee;--lime:#a3e635;--line-color:#334155;--bg:var(--night);--ink:var(--smoke);--muted:var(--slate);--link:var(--cyan);--line:2px solid var(--line-color);--btn-bg:var(--lime);--btn-fg:var(--night);--btn-hover:var(--cyan);--step-n1:0.875rem;--step-0:1rem;--step-1:1.125rem;--step-2:1.33rem;--step-3:clamp(1.6rem, 1.3rem + 1.4vw, 2.3rem);--step-4:clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);--step-5:clamp(2.6rem, 1.6rem + 4.6vw, 5.25rem);--space-1:0.5rem;--space-2:0.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:clamp(4rem, 3rem + 4vw, 7rem);--gutter:1.25rem;--max-width:72rem;--radius:0.75rem;--transition-base:180ms ease-out}[data-accent=cyan],[data-accent=lime]{--ink:var(--night);--muted:var(--night);--link:var(--night);--line:2px solid var(--night);--btn-bg:var(--night);--btn-fg:var(--smoke);--btn-hover:var(--blue)}[data-accent=lime]{--bg:var(--lime);background:var(--lime)}[data-accent=cyan]{--bg:var(--cyan);background:var(--cyan)}[data-accent=blue]{--ink:var(--smoke);--muted:var(--smoke);--link:var(--smoke);--line:2px solid var(--smoke);--btn-bg:var(--smoke);--btn-fg:var(--night);--btn-hover:var(--lime);--bg:var(--blue);background:var(--blue)}[data-accent]{color:var(--ink)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration-thickness:2px;text-underline-offset:0.2em}a:hover{color:var(--link)}:focus-visible{outline:3px solid var(--link);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.08;margin:0;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2);letter-spacing:-.02em}p{margin:0}.skip-link{background:var(--ink);color:var(--bg);left:var(--space-3);padding:var(--space-2) var(--space-3);position:absolute;top:-10rem;z-index:10}.skip-link:hover{color:var(--bg)}.skip-link:focus{top:var(--space-3)}.site-footer,.site-header{margin-inline:auto;width:min(var(--max-width),100% - 2 * var(--gutter))}main{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [content-start] min(var(--max-width),100% - 2 * var(--gutter)) [content-end] minmax(var(--gutter),1fr) [full-end];padding-block:var(--space-4) var(--space-7);row-gap:var(--space-7)}main>*{grid-column:content}main>.bleed{display:grid;grid-column:full;grid-template-columns:subgrid;padding-block:var(--space-7)}.bleed>*{grid-column:content}main:has(> .bleed:last-child){padding-bottom:0}.section-flow{align-content:start;display:grid;gap:var(--space-4)}.lead{font-size:var(--step-1);max-width:36rem}.button,.pill{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;gap:var(--space-1);justify-content:center;min-height:44px;padding:0 1.25rem;text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base)}.button{background:var(--btn-bg);color:var(--btn-fg)}.button:hover{background:var(--btn-hover);color:var(--btn-fg)}.pill{border:2px solid var(--muted)}.pill:hover,.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.link-arrow{font-weight:700}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.site-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding-block:var(--space-4)}.site-header__brand{align-items:center;display:inline-flex;font-family:var(--font-display);font-size:var(--step-1);font-weight:700;gap:var(--space-2);letter-spacing:-.02em;margin-right:auto;text-decoration:none}.site-header__brand svg{height:2.25rem;width:2.25rem}.site-header__nav{display:flex;gap:var(--space-1)}.site-header__nav a{align-items:center;display:inline-flex;min-height:44px;padding-inline:var(--space-1);text-decoration:none}.site-header__nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}.breadcrumbs__list{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.breadcrumbs__item{color:var(--muted);font-size:var(--step-n1)}.breadcrumbs__item+.breadcrumbs__item::before{content:"/";margin-right:var(--space-1)}.hero{align-items:center;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);padding-top:var(--space-6)}.hero__copy{display:grid;gap:var(--space-4);justify-items:start}.hero h1{font-size:var(--step-5);max-width:12ch}.hero__hook{color:var(--lime);font-family:var(--font-display);font-size:var(--step-2);font-weight:600;letter-spacing:-.02em}.hero__mark{justify-self:end;max-width:22rem;width:100%}.section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between}.audience{font-family:var(--font-display);font-size:var(--step-2);font-weight:400;letter-spacing:-.01em;line-height:1.45;max-width:34ch}.audience strong{color:var(--lime);font-weight:700}.method-flow{display:grid;gap:var(--space-4)}.method{column-gap:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));list-style:none;margin:0;padding:0}.method li{border-top:2px solid var(--cyan);display:grid;grid-row:span 4;grid-template-rows:subgrid;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-3) 0;position:relative;row-gap:var(--space-1)}:where(.method li:first-child){padding-left:0}:where(.method li:last-child){padding-right:0}.method li::before{background:var(--smoke);border-radius:50%;content:"";height:.875rem;left:var(--space-3);position:absolute;top:-.5rem;width:.875rem}:where(.method li:first-child)::before{left:0}.method__return{align-items:center;color:var(--muted);display:flex;font-family:var(--font-mono);font-size:var(--step-n1);gap:var(--space-2)}.method__return-line{background:var(--cyan);flex:1;height:2px;position:relative}.method__return-line::before{border-bottom:5px solid transparent;border-right:8px solid var(--cyan);border-top:5px solid transparent;content:"";left:0;position:absolute;top:50%;transform:translateY(-50%)}.method__step{color:var(--cyan);font-family:var(--font-mono);font-size:var(--step-n1)}.method__does{color:var(--muted)}.method__gain{border-top:var(--line);padding-top:var(--space-2)}.method__gain strong{color:var(--lime);display:block;font-family:var(--font-mono);font-size:var(--step-n1);font-weight:400}.modes{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));list-style:none;margin:0;padding:0}.modes li{border:var(--line);border-radius:var(--radius);display:grid;gap:var(--space-2);grid-template-rows:auto auto 1fr;padding:var(--space-4)}.modes__for{color:var(--muted);font-size:var(--step-n1)}.projects-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr))}.project-card{border-radius:var(--radius);display:grid;gap:var(--space-2);grid-template-rows:auto auto 1fr auto;min-height:19rem;padding:var(--space-4);position:relative}.project-card[hidden]{display:none}.project-card h3{font-size:var(--step-3)}.project-card__meta{font-family:var(--font-mono);font-size:var(--step-n1)}.project-card__tags{align-self:end;display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.project-card__tags a{border:1.5px solid currentcolor;border-radius:999px;display:inline-flex;font-family:var(--font-mono);font-size:var(--step-n1);min-height:2rem;padding:.2rem .65rem;position:relative;text-decoration:none;z-index:1}.project-card__tags a:hover{background:var(--ink);color:var(--bg)}.project-card__link{text-decoration:none}.project-card__link::after{content:"";inset:0;position:absolute}.project-card__link:focus-visible{outline:0}.project-card:has(.project-card__link:focus-visible){outline:3px solid var(--cyan);outline-offset:4px}.project-card:hover .project-card__link{color:inherit;text-decoration:underline}.projects-archive{max-width:68ch}.projects-archive__intro{color:var(--muted)}.tag-filter{display:flex;flex-wrap:wrap;gap:var(--space-1)}.projects-count{color:var(--muted);font-family:var(--font-mono);font-size:var(--step-n1)}.projects-empty{border:2px dashed var(--muted);border-radius:var(--radius);color:var(--muted);padding:var(--space-3)}.cta__inner{display:grid;gap:var(--space-4);justify-items:start}.cta h2{font-size:var(--step-4);max-width:18ch}.project-detail{max-width:68ch}.project-detail__header{border-radius:var(--radius);display:grid;gap:var(--space-2);padding:var(--space-5) var(--space-4)}.project-detail__meta{font-family:var(--font-mono);font-size:var(--step-n1)}.case-facts{display:grid;gap:var(--space-3);margin:0}.case-facts div{border-top:var(--line);display:grid;gap:var(--space-1) var(--space-4);grid-template-columns:9rem minmax(0,1fr);padding-top:var(--space-3)}.case-facts dt{color:var(--cyan);font-family:var(--font-mono);font-size:var(--step-n1);padding-top:.15rem}.case-facts dd{margin:0}.project-detail__cta{border-top:var(--line);font-size:var(--step-1);padding-top:var(--space-4)}.project-pager{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.project-pager__link{border:var(--line);border-radius:var(--radius);display:grid;gap:.1rem;padding:var(--space-3);text-decoration:none}.project-pager__label{color:var(--muted);font-family:var(--font-mono);font-size:var(--step-n1)}.prose{display:grid;gap:var(--space-3)}.about ul,.cv ul,.prose ul{display:grid;gap:var(--space-1);margin:0;padding-left:1.1rem}.about,.not-found{max-width:36rem}.cv{max-width:72ch}.cv__intro,.not-found__copy{color:var(--muted);font-size:var(--step-1)}.cv__section{border-top:var(--line);padding-top:var(--space-4)}.site-footer{align-items:end;border-top:var(--line);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);justify-content:space-between;padding-block:var(--space-5)}.site-footer__email{font-family:var(--font-display);font-size:var(--step-2);font-weight:700}.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.site-footer__copy{color:var(--muted);font-size:var(--step-n1);width:100%}main:has(> .bleed:last-child)+.site-footer{border-top:0}[data-rekishi-root]{opacity:1;transition:opacity var(--transition-base)}[data-rekishi-root][data-transition]{opacity:0}@media (width <= 48rem){.hero{grid-template-columns:1fr}.hero__mark{display:none}.method{row-gap:0}.method li{border-left:2px solid var(--cyan);border-top:0;margin-bottom:0;padding:0 0 var(--space-5) var(--space-4)}:where(.method li:first-child){padding-left:var(--space-4)}:where(.method li:last-child){padding-bottom:0}.method li::before,:where(.method li:first-child)::before{left:-.5rem;top:.55rem}.method__return{margin-top:var(--space-2)}}@media (width <= 40rem){.site-header__nav{margin-inline:calc(-1 * var(--space-1));order:1;overflow-x:auto;scrollbar-width:none;width:100%}.case-facts div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s;animation-iteration-count:1;scroll-behavior:auto;transition-duration:0s}}