:root{--paper: #eef2f9;--paper-2: #ffffff;--paper-3: #e3eaf6;--ink: #0f1c33;--ink-2: #44567a;--ink-3: #7d8ba6;--edge: #0f1c33;--blue: #1a4fd6;--blue-deep: #0b2a6b;--blue-soft: #9fb8ea;--blue-wash: #dde7fa;--mark: #d8442a;--grid-1: rgba(26, 79, 214, .16);--grid-2: rgba(26, 79, 214, .07);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;--r: 0px;--bw: 1.5px;--sh: 4px 4px 0 var(--edge);--sh-sm: 3px 3px 0 var(--edge);--gut: clamp(18px, 5vw, 56px);--maxw: 1200px;--head-h: 66px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;color:var(--ink);font:400 clamp(15px,.4vw + 14px,16.5px)/1.62 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip;background-color:var(--paper);background-image:linear-gradient(var(--grid-1) 1px,transparent 1px),linear-gradient(90deg,var(--grid-1) 1px,transparent 1px),linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px);background-size:112px 112px,112px 112px,28px 28px,28px 28px;background-position:-1px -1px}img,svg{display:block;max-width:100%}h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.022em;line-height:1.1;margin:0}p{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--mark);outline-offset:3px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.skip{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--blue);color:#fff;padding:10px 16px;font-weight:700}.skip:focus{left:8px;top:8px}.bp{font-family:var(--mono)}.bp *{vector-effect:non-scaling-stroke}.l-ink{fill:none;stroke:var(--edge);stroke-width:1.4}.l-blue{fill:none;stroke:var(--blue);stroke-width:1.2}.l-faint{fill:none;stroke:var(--blue-soft);stroke-width:1}.l-mark{fill:none;stroke:var(--mark);stroke-width:1.2}.l-dash{fill:none;stroke:var(--blue);stroke-width:1;stroke-dasharray:4 4}.l-dash2{stroke-dasharray:5 3}.f-none{fill:none}.f-wash{fill:var(--blue-wash)}.f-soft{fill:var(--blue-soft)}.f-blue{fill:var(--blue)}.f-ink{fill:var(--edge)}.f-mark{fill:var(--mark)}.plate{fill:var(--paper-2)}.t{fill:var(--ink-2);font:500 12px var(--mono)}.t--xs{font-size:11px;letter-spacing:.02em}.t--mut{fill:var(--ink-3)}.t--mark{fill:var(--mark)}.s-ink{fill:none;stroke:var(--edge);stroke-width:1.5}.s-blue{fill:none;stroke:var(--blue);stroke-width:1.5}.win{margin:0;background:var(--paper-2);border:var(--bw) solid var(--edge);box-shadow:var(--sh)}.win__bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;height:28px;padding:0 7px;background:var(--paper-2);border-bottom:var(--bw) solid var(--edge)}.win__bar:before{content:"";position:absolute;inset:5px 7px;background:repeating-linear-gradient(to bottom,var(--edge) 0 1px,transparent 1px 3px)}.win__close,.win__zoom{position:relative;flex:0 0 auto;width:12px;height:12px;background:var(--paper-2);border:var(--bw) solid var(--edge)}.win__zoom:after{content:"";position:absolute;inset:1px 3px 3px 1px;border:1px solid var(--edge);border-right:0;border-bottom:0}.win__title{position:relative;background:var(--paper-2);padding:0 10px;font:500 .72rem/1 var(--mono);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win__body{padding:clamp(14px,2vw,20px)}.win__body--grid{background-image:linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px);background-size:20px 20px}.btn{--btn-bg: var(--blue);--btn-fg: #fff;display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:12px 20px;background:var(--btn-bg);color:var(--btn-fg);border:var(--bw) solid var(--edge);border-radius:var(--r);box-shadow:var(--sh-sm);font:700 .82rem/1 var(--mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.btn:hover{text-decoration:none;transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--edge);background:var(--blue-deep)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--edge)}.btn--lg{padding:15px 26px;font-size:.88rem}.btn--sm{padding:9px 14px;font-size:.74rem}.btn--ghost{--btn-bg: var(--paper-2);--btn-fg: var(--ink)}.btn--ghost:hover{background:var(--blue-wash)}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.head{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--blue-soft)}.head__inner{display:flex;align-items:center;gap:18px;min-height:var(--head-h)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);flex:0 0 auto}.brand:hover{text-decoration:none}.brand__mark{width:28px;height:28px}.brand__text{display:flex;flex-direction:column;line-height:1.2}.brand__text b{font:700 .8rem/1.2 var(--mono);letter-spacing:-.01em}.brand__text i{font-style:normal;font-size:.68rem;color:var(--ink-3);font-family:var(--mono)}.head__actions{display:flex;align-items:center;gap:10px;margin-left:auto}.head__actions a.plain{color:var(--ink-2);padding:8px 12px;font:500 .82rem/1 var(--mono);border:1px solid transparent}.head__actions a.plain:hover{color:var(--ink);background:var(--paper-2);border-color:var(--edge);text-decoration:none}@media(max-width:560px){.brand__text i,.head__actions a.plain{display:none}}.piece{padding:clamp(40px,6vw,84px) 0 clamp(56px,7vw,96px)}.piece__win .win__body{padding:clamp(24px,4vw,56px)}.prose{max-width:74ch}.prose>*+*{margin-top:18px}.prose h1{margin-bottom:4px;font-size:clamp(1.7rem,3vw,2.3rem)}.prose h2{margin-top:clamp(34px,4vw,52px);padding-top:18px;border-top:1px solid var(--blue-soft);font-size:clamp(1.15rem,1.6vw,1.4rem)}.prose h3{margin-top:24px;font:500 .76rem/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mark)}.prose p,.prose li{color:var(--ink-2);font-size:.94rem;line-height:1.72}.prose ul,.prose ol{margin-top:12px;display:grid;gap:8px;padding:0;list-style:none}.prose li{padding-left:20px;position:relative}.prose li:before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1.5px;background:var(--blue-soft)}.prose ol{counter-reset:step}.prose ol li:before{counter-increment:step;content:counter(step) ".";width:auto;height:auto;background:none;top:0;font:500 .8rem/1.72 var(--mono);color:var(--blue)}.prose strong{color:var(--ink);font-weight:700}.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-soft)}.prose a:hover{color:var(--mark);text-decoration-color:currentColor}.prose code{font:500 .85em/1 var(--mono);background:var(--paper);border:1px solid var(--blue-soft);padding:2px 5px}.prose blockquote{margin:0;padding-left:18px;border-left:3px solid var(--blue-soft);color:var(--ink-2);font-style:italic}.piece__meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:26px;font:500 .72rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.piece__meta b{color:var(--mark);font-weight:500}.prose>p:first-of-type{color:var(--ink-2);font-size:1rem;line-height:1.7}.note{padding:14px 16px;background:var(--blue-wash);border-left:3px solid var(--blue);font-size:.88rem!important;color:var(--ink)!important}.note b{font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-deep);display:block;margin-bottom:6px}.fig{margin:26px 0 0}.fig .win__body{padding:clamp(10px,1.4vw,16px)}.fig svg{width:100%;height:auto}.fig figcaption{margin-top:10px;padding-top:9px;border-top:1px solid var(--blue-soft);font:400 .72rem/1.6 var(--mono);color:var(--ink-3)}.ask{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:clamp(34px,4vw,52px);padding:clamp(18px,2vw,24px);border:var(--bw) solid var(--edge);background:var(--paper-2);box-shadow:var(--sh)}.ask p{flex:1 1 260px;font-size:.88rem;line-height:1.6;color:var(--ink-2)}.ask b{display:block;margin-bottom:5px;color:var(--ink);font-size:.95rem}.ask .btn{flex:0 0 auto}.list{padding:clamp(40px,6vw,84px) 0 clamp(56px,7vw,96px)}.list__head{max-width:62ch;margin-bottom:clamp(30px,4vw,52px)}.list__num{display:flex;align-items:center;gap:12px;font:500 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:15px}.list__num:after{content:"";flex:1;height:1px;background:var(--blue-soft)}.list__head h1{font-size:clamp(1.6rem,3.1vw,2.35rem)}.list__head p{margin-top:14px;color:var(--ink-2);font-size:.94rem}.cards{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:860px){.cards{grid-template-columns:1fr}}.card{display:flex;flex-direction:column;padding:clamp(20px,2.2vw,28px);background:var(--paper-2);border:var(--bw) solid var(--edge);color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card:hover{text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--sh)}.card__q{font:500 .7rem/1.4 var(--mono);letter-spacing:.04em;color:var(--mark);margin-bottom:11px}.card h2{font-size:1.1rem;margin-bottom:11px}.card p{color:var(--ink-2);font-size:.87rem;line-height:1.65}.card__date{margin-top:auto;padding-top:16px;border-top:1px solid var(--blue-soft);font:500 .7rem/1 var(--mono);color:var(--ink-3)}@media(prefers-reduced-motion:reduce){.card{transition:none}}.foot{border-top:var(--bw) solid var(--edge);background:var(--paper-2)}.foot__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:28px;flex-wrap:wrap}.foot__brand b{display:block;font:700 .82rem/1 var(--mono)}.foot__brand span{display:block;font-size:.74rem;color:var(--ink-3);margin-top:6px;font-family:var(--mono)}.foot__links{display:flex;flex-wrap:wrap;gap:12px 18px;font:500 .78rem/1.4 var(--mono)}.foot__meta{font:500 .72rem/1 var(--mono);color:var(--ink-3)}@media(max-width:760px){.foot__inner{flex-direction:column;align-items:flex-start}}.author{display:flex;gap:clamp(14px,2vw,20px);align-items:flex-start;margin-top:clamp(28px,3.5vw,44px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--blue-soft)}.author img{flex:0 0 auto;width:72px;height:72px;object-fit:cover;border:var(--bw) solid var(--edge);box-shadow:var(--sh-sm);background:var(--paper-3)}.author b{display:block;font:700 .82rem/1 var(--mono);color:var(--ink);margin-bottom:8px}.author p{font-size:.85rem!important;line-height:1.65;color:var(--ink-2)}@media(max-width:480px){.author{flex-direction:column}}
