.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--paper:#F2F0EA;--paper-2:#E9E6DD;--ink:#111111;--orange:#FF3B00;--rule:#CFCABE;--soft:#55524B;--blue:#2B59FF;--sans:"Space Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--max:1320px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--orange)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}img{display:block;max-width:100%}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:6px 10px;z-index:99}.skip:focus{left:8px}.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,40px)}.mono{font:500 12px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase}.tgdc-logo{display:block;width:100%;height:auto;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px}.top{border-bottom:2px solid var(--ink)}.top .wrap{display:flex;align-items:center;gap:24px;height:64px}.top .brand{width:84px;text-decoration:none}.top .issue{color:var(--soft)}.links{display:flex;gap:22px;margin-left:auto}.links a{text-decoration:none;font-weight:500;font-size:15px}.links a[aria-current]{color:var(--orange)}.links a span{font:500 11px var(--mono);color:var(--soft);margin-right:4px}.menu{display:none;margin-left:auto;background:var(--ink);color:var(--paper);border:0;font:500 12px var(--mono);text-transform:uppercase;padding:9px 12px}@media(max-width:900px){.menu{display:block}.top .issue{display:none}.links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:2px solid var(--ink);padding:0 16px;z-index:20}.links.is-open{display:flex}.links a{padding:14px 0;border-bottom:1px solid var(--rule);font-size:18px}}.mast{padding:40px 0 34px;border-bottom:2px solid var(--ink)}.mast .logo{grid-column:1/8}.mast .logo .tgdc-logo{width:100%}.mast .meta{grid-column:9/13;align-self:end;display:grid;gap:10px}.mast .meta p{font-size:15px;color:var(--soft)}.rule-o{height:6px;background:var(--orange);margin-top:20px;grid-column:1/8}@media(max-width:860px){.mast .logo,.mast .meta,.rule-o{grid-column:1/-1}.mast .meta{margin-top:22px}}.lead{padding:44px 0 56px;border-bottom:1px solid var(--ink)}.lead h1{grid-column:1/-1;font-size:clamp(48px,9.4vw,148px);line-height:.92;letter-spacing:-.04em;font-weight:700}.lead h1 em{font-style:normal;color:var(--orange)}.lead .stand{grid-column:7/12;margin-top:28px;font-size:clamp(18px,1.8vw,22px);line-height:1.4}@media(max-width:860px){.lead .stand{grid-column:1/-1}}.sec{padding:56px 0;border-bottom:1px solid var(--ink)}.sec-h{grid-column:1/4}.sec-h .n{font:700 64px/1 var(--sans);letter-spacing:-.04em}.sec-h h2{font-size:28px;letter-spacing:-.02em;margin-top:6px}.sec-b{grid-column:4/13}@media(max-width:860px){.sec-h,.sec-b{grid-column:1/-1}.sec-h{margin-bottom:26px}.sec-h .n{font-size:44px}}.feat figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border:2px solid #111;box-shadow:6px 6px #111}.feat figcaption{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule);color:var(--soft)}.feat .cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}.feat h3{font-size:clamp(40px,5.6vw,84px);line-height:.95;letter-spacing:-.04em}.feat p{font-size:18px}.specs{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);margin-top:26px}.specs div{padding:12px 12px 0 0}.specs b{display:block;font:700 28px var(--sans);letter-spacing:-.02em}@media(max-width:700px){.feat .cols{grid-template-columns:1fr}.specs{grid-template-columns:1fr 1fr;gap:12px 0}}.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px var(--sans);padding:14px 20px;background:var(--ink);color:var(--paper);text-decoration:none;border:2px solid var(--ink)}.btn:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}.btn.o{background:transparent;color:var(--ink)}.btn.o:hover{background:var(--ink);color:var(--paper)}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.index{list-style:none;border-top:2px solid var(--ink)}.index li{border-bottom:1px solid var(--ink)}.index a{display:grid;grid-template-columns:70px 1.2fr 1.4fr 220px;gap:20px;padding:22px 0;text-decoration:none;align-items:start}.index a:hover{background:var(--paper-2)}.index .no{font:500 13px var(--mono);color:var(--soft);padding-top:8px}.index h3{font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-.03em}.index p{font-size:16px;color:#2a2925}.index .th{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid #111;box-shadow:6px 6px #111}.index .ccc{aspect-ratio:4/3;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 64px var(--sans);letter-spacing:-.04em}.index .ccc span{color:var(--orange)}.index .tags{font:500 11.5px var(--mono);text-transform:uppercase;color:var(--soft);margin-top:10px;display:block}@media(max-width:860px){.index a{grid-template-columns:44px 1fr}.index a>p,.index a>.th,.index a>.ccc{grid-column:2}}.teaser{margin-top:18px;color:var(--soft);font-size:15px}.teaser b{color:var(--ink)}.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.posts a{text-decoration:none;border-top:2px solid var(--ink);padding-top:12px;display:block}.posts h3{font-size:24px;line-height:1.1;letter-spacing:-.02em;margin:8px 0}.posts p{font-size:15.5px;color:#2a2925}.posts a:hover h3{color:var(--orange)}@media(max-width:860px){.posts{grid-template-columns:1fr}}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.three div{border-top:1px solid var(--ink);padding-top:12px}.three h3{font-size:21px;margin-bottom:6px}@media(max-width:860px){.three{grid-template-columns:1fr}}.empty{border:2px dashed var(--ink);padding:26px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}.empty .z{font:700 96px/.9 var(--sans);letter-spacing:-.05em;color:var(--orange)}@media(max-width:600px){.empty{grid-template-columns:1fr}}form.sub{display:flex;gap:0;max-width:560px;margin-top:18px;border:2px solid var(--ink)}input{flex:1;min-width:0;background:transparent;border:0;padding:14px 16px;font:16px var(--sans);color:var(--ink)}input:focus{outline:none;background:#fff}form.sub .btn{border:0}@media(max-width:520px){form.sub{flex-direction:column}}.mail{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.mail div{border-top:1px solid var(--ink);padding-top:10px;font-size:15px;overflow-wrap:anywhere}@media(max-width:860px){.mail{grid-template-columns:1fr 1fr}}@media(max-width:480px){.mail{grid-template-columns:1fr}}footer{padding:40px 0 70px}footer .logo{width:160px;margin-bottom:12px}footer p{color:var(--soft);font-size:14px}.art-h{padding:36px 0 30px;border-bottom:2px solid var(--ink)}.art-h .kick{grid-column:1/-1;color:var(--orange)}.art-h h1{grid-column:1/-1;font-size:clamp(64px,14vw,220px);line-height:.85;letter-spacing:-.05em;margin:10px 0 22px}.art-h .stand{grid-column:1/8;font-size:clamp(20px,2.2vw,28px);line-height:1.3}.art-h .by{grid-column:9/13;align-self:end;color:var(--soft)}@media(max-width:860px){.art-h .stand,.art-h .by{grid-column:1/-1}.art-h .by{margin-top:16px}}.bleed img{width:100%;max-height:78vh;object-fit:cover}.bleed figcaption{max-width:var(--max);margin:0 auto;padding:10px clamp(16px,3vw,40px);color:var(--soft);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.body{padding:48px 0}.body .side{grid-column:1/4}.body .main{grid-column:4/10;columns:2;column-gap:28px}.body .main p{margin-bottom:16px;break-inside:avoid}.body .main p:first-child:first-letter{float:left;font:700 76px/.8 var(--sans);margin:6px 8px 0 0;color:var(--orange)}.body .pull{grid-column:10/13;font:700 28px/1.1 var(--sans);letter-spacing:-.02em;border-top:6px solid var(--orange);padding-top:14px}@media(max-width:1000px){.body .side,.body .main,.body .pull{grid-column:1/-1}.body .main{columns:1}.body .pull{margin-top:20px}}table.spec{width:100%;border-collapse:collapse;font-size:15px}table.spec th,table.spec td{text-align:left;padding:10px 0;border-bottom:1px solid var(--rule);vertical-align:top}table.spec th{font:500 11.5px var(--mono);text-transform:uppercase;color:var(--soft);width:42%;padding-right:10px}.gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:24px}.gal figure:first-child{grid-row:span 2}.gal img{width:100%;height:100%;object-fit:cover}.gal figure:not(:first-child) img{aspect-ratio:16/10;height:auto}.gal figcaption{color:var(--soft);padding-top:6px}@media(max-width:760px){.gal{grid-template-columns:1fr}.gal figure:first-child{grid-row:auto}}.feats{list-style:none;counter-reset:f;display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.feats li{counter-increment:f;padding:16px 0;border-top:1px solid var(--ink);display:grid;grid-template-columns:44px 1fr;font-size:17px}.feats li:before{content:counter(f,decimal-leading-zero);font:500 12px var(--mono);color:var(--orange);padding-top:5px}@media(max-width:760px){.feats{grid-template-columns:1fr}}.road{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}.road li{padding:14px 16px 0 0;font-size:15.5px}.road b{display:block;font:500 12px var(--mono);color:var(--orange);text-transform:uppercase;margin-bottom:6px}@media(max-width:860px){.road{grid-template-columns:1fr 1fr;gap:18px 0}}.md{max-width:720px;font-size:19px;line-height:1.6}.md>*+*{margin-top:20px}.md h2{font-size:34px;line-height:1.05;letter-spacing:-.03em;margin-top:52px;padding-top:12px;border-top:2px solid var(--ink)}.md h3{font-size:23px;letter-spacing:-.01em;margin-top:34px}.md ul,.md ol{padding-left:24px}.md li+li{margin-top:8px}.md li::marker{color:var(--orange)}.md code{font:500 .82em var(--mono);background:var(--paper-2);padding:2px 6px;border:1px solid var(--rule)}.md pre{background:var(--ink);color:var(--paper);padding:20px;overflow-x:auto;font-size:14px;line-height:1.55}.md pre code{background:none;border:0;padding:0;color:inherit}.md blockquote{font:700 30px/1.15 var(--sans);letter-spacing:-.02em;border-top:6px solid var(--orange);padding-top:16px;margin:36px 0}.md table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}.md th,.md td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule)}.md th{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft);border-bottom:2px solid var(--ink)}.md figure{margin-left:min(0px,calc((720px - 100vw)/2))}.md figcaption{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft);padding-top:8px}.md.post img{border:2px solid var(--ink)}.md hr{border:0;border-top:2px solid var(--ink);margin:44px 0}.posthead{padding:40px 0 34px;border-bottom:2px solid var(--ink);margin-bottom:40px}.posthead h1{font-size:clamp(40px,7vw,96px);line-height:.95;letter-spacing:-.04em;max-width:1100px;margin:14px 0 18px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.pagehead{padding:40px 0 36px;border-bottom:2px solid var(--ink)}.pagehead .kick{grid-column:1/-1;color:var(--orange)}.pagehead h1{grid-column:1/-1;font-size:clamp(56px,11vw,168px);line-height:.88;letter-spacing:-.05em;margin:10px 0 20px}.pagehead .stand{grid-column:1/8;font-size:clamp(19px,2vw,26px);line-height:1.35}.pagehead .side{grid-column:9/13;align-self:end;color:var(--soft)}@media(max-width:860px){.pagehead .stand,.pagehead .side{grid-column:1/-1}.pagehead .side{margin-top:16px}}.badge{display:inline-block;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px;border:1.5px solid var(--ink);margin:0 6px 6px 0;white-space:nowrap}.badge.live{background:var(--orange);border-color:var(--orange);color:var(--ink)}.badge.prod{background:var(--ink);color:var(--paper)}.badge.dev{border-style:dashed}.badge.ex{background:var(--orange);border-color:var(--orange);color:var(--ink);font-weight:700}.plat{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft)}.gidx{list-style:none;border-top:2px solid var(--ink)}.gidx>li{border-bottom:1px solid var(--ink)}.gidx a.row{display:grid;grid-template-columns:90px 1.3fr 1.2fr 300px;gap:24px;padding:28px 0;text-decoration:none;align-items:start}.gidx a.row:hover{background:var(--paper-2)}.gidx .no{font:700 56px/1 var(--sans);letter-spacing:-.04em}.gidx h2{font-size:clamp(32px,4vw,56px);line-height:.95;letter-spacing:-.035em;margin-bottom:12px}.gidx p{font-size:17px}.gidx .th{width:100%;aspect-ratio:4/3;object-fit:cover}.gidx .ccc{aspect-ratio:4/3;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 80px var(--sans);letter-spacing:-.04em}.gidx .ccc span{color:var(--orange)}.gidx .feature-tag{font:700 11px var(--mono);text-transform:uppercase;color:var(--orange);display:block;margin-bottom:8px}.gidx li.small a.row{grid-template-columns:90px 1fr auto;padding:16px 0}.gidx li.small .no{font-size:28px;color:var(--soft)}.gidx li.small h2{font-size:24px;margin:0 0 4px}.gidx li.small p{font-size:15px;color:var(--soft)}@media(max-width:960px){.gidx a.row{grid-template-columns:56px 1fr}.gidx a.row>p,.gidx a.row>.th,.gidx a.row>.ccc{grid-column:2}.gidx .no{font-size:36px}.gidx li.small a.row{grid-template-columns:56px 1fr}.gidx li.small a.row>.plat{grid-column:2}}.groupl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:44px 0 12px;flex-wrap:wrap}.groupl h2{font-size:28px;letter-spacing:-.02em}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;color:var(--soft);font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ink)}.filters .lab{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft);margin-right:6px}.chip{font:500 14px var(--sans);padding:8px 14px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:0}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chip:hover{border-color:var(--orange)}.chip .n{font:500 11px var(--mono);color:var(--soft);margin-left:6px}.chip[aria-pressed=true] .n{color:#bdb8ac}.filters .sep{width:1px;height:28px;background:var(--rule);margin:0 8px}.plist{list-style:none}.plist li{border-bottom:1px solid var(--ink)}.plist a{display:grid;grid-template-columns:170px 1fr 260px;gap:28px;padding:30px 0;text-decoration:none;align-items:start}.plist a:hover{background:var(--paper-2)}.plist time{font:500 13px var(--mono);text-transform:uppercase}.plist h2{font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:-.035em;margin-bottom:12px}.plist p{font-size:17px;max-width:620px}.plist img{width:100%;aspect-ratio:16/10;object-fit:cover}.plist .noimg{aspect-ratio:16/10;background:var(--paper-2);border:1px solid var(--rule);display:grid;place-items:center;font:700 44px var(--sans);letter-spacing:-.04em;color:var(--soft)}@media(max-width:900px){.plist a{grid-template-columns:1fr;gap:12px}.plist img,.plist .noimg{max-width:420px}}.pager{display:flex;justify-content:space-between;padding:26px 0;color:var(--soft)}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.how div{border-top:2px solid var(--ink);padding-top:14px}.how b{font:500 12px var(--mono);color:var(--orange);display:block;margin-bottom:6px}.how h3{font-size:24px;letter-spacing:-.02em;margin-bottom:6px}@media(max-width:860px){.how{grid-template-columns:1fr}}.empty.big{padding:40px;grid-template-columns:auto 1fr}.empty.big .z{font-size:clamp(120px,16vw,220px)}.empty.big h2{font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1}.empty.big p{font-size:18px;margin-top:12px;max-width:560px}@media(max-width:700px){.empty.big{grid-template-columns:1fr;padding:24px}}.role{border:2px solid var(--ink);background:#fff}.role .rh{display:grid;grid-template-columns:1fr auto;gap:16px;padding:24px;border-bottom:1px solid var(--ink);align-items:start}.role h2{font-size:clamp(28px,3.4vw,44px);line-height:1;letter-spacing:-.03em;margin:10px 0 12px}.role .rb{display:grid;grid-template-columns:2fr 1fr;gap:0}.role .rb>div{padding:24px}.role .rb>div+div{border-left:1px solid var(--ink)}.role .md{font-size:17px;max-width:none}.role .md h3{font-size:20px;margin-top:22px}.role table.spec th{width:40%}.exnote{margin:16px 0;padding:14px 18px;border:2px dashed var(--orange);font-size:15px}@media(max-width:860px){.role .rh,.role .rb{grid-template-columns:1fr}.role .rb>div+div{border-left:0;border-top:1px solid var(--ink)}}.ctop{display:grid;grid-template-columns:1.1fr 1fr;gap:48px}.bigmail{font:700 clamp(24px,3.4vw,48px)/1.05 var(--sans);letter-spacing:-.03em;overflow-wrap:anywhere;text-decoration:none;border-bottom:4px solid var(--orange)}.bigmail:hover{color:var(--orange)}.topics{list-style:none;margin-top:28px;border-top:2px solid var(--ink)}.topics li{border-bottom:1px solid var(--rule)}.topics a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;text-decoration:none;font-size:18px}.topics a span{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft)}.topics a:hover{color:var(--orange)}.topics a:not(.btn):after{content:none}.topics a b,.topics a>span{position:relative;width:fit-content}.topics a b:after,.topics a>span:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:#ff3b00;transform:scaleX(0);transform-origin:left center;transition:transform .22s ease;pointer-events:none}.topics a:hover b:after,.topics a:hover>span:after,.topics a:focus-visible b:after,.topics a:focus-visible>span:after{transform:scaleX(1)}.cform{border:2px solid var(--ink);padding:24px;background:#fff}.cform .f{display:grid;gap:6px;margin-bottom:16px}.cform label{font:500 12px var(--mono);text-transform:uppercase;color:var(--soft)}.cform input,.cform select,.cform textarea{width:100%;background:var(--paper);border:1.5px solid var(--ink);padding:12px 14px;font:16px var(--sans);color:var(--ink);border-radius:0}.cform textarea{min-height:140px;resize:vertical}.cform input:focus,.cform select:focus,.cform textarea:focus{outline:3px solid var(--blue);outline-offset:0}.cform .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cform .static{font:500 11.5px var(--mono);text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:block}@media(max-width:900px){.ctop,.cform .two{grid-template-columns:1fr}}.kitgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.kitgrid a{text-decoration:none;border-top:2px solid var(--ink);padding-top:12px;display:block}.kitgrid .pv{aspect-ratio:4/3;background:var(--paper-2);display:grid;place-items:center;margin-bottom:12px;overflow:hidden}.kitgrid .pv img{width:100%;height:100%;object-fit:cover}.kitgrid .pv.lg{padding:18%;background:var(--ink)}.kitgrid .pv.lg img{object-fit:contain}.kitgrid h3{font-size:20px;letter-spacing:-.01em}.kitgrid p{font-size:14.5px;color:var(--soft)}@media(max-width:900px){.kitgrid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.kitgrid{grid-template-columns:1fr}}.social{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;border-top:2px solid var(--ink)}.social li{border-bottom:1px solid var(--rule)}.social a{display:block;padding:16px 12px 16px 0;text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.01em}.social a span{display:block;font:500 12px var(--mono);text-transform:uppercase;color:var(--soft);font-weight:500}.social a:hover{color:var(--orange)}@media(max-width:760px){.social{grid-template-columns:1fr 1fr}}.iogd-art{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.iogd-art img{width:100%;aspect-ratio:16/10;object-fit:cover}@media(max-width:760px){.iogd-art{grid-template-columns:1fr}}.prog{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink)}.prog li{padding:14px 12px 0 0;font-size:15px;color:var(--soft);position:relative}.prog li b{display:block;font:500 12px var(--mono);text-transform:uppercase;color:var(--ink);margin-bottom:4px}.prog li.done b:before{content:"✓";color:var(--orange)}.prog li.now{color:var(--ink)}.prog li.now b{color:var(--orange)}.prog li.now b:before{content:"▶"}@media(max-width:860px){.prog{grid-template-columns:1fr 1fr;gap:14px 0}}.hello h1{font-size:clamp(72px,13vw,196px)}.hello .cta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:30px}.btn.xl{font-size:clamp(22px,2.4vw,30px);padding:22px 34px;background:var(--orange);border-color:var(--orange);color:var(--ink);font-weight:700;letter-spacing:-.01em}.btn.xl:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.addr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px}.addr a{font-size:14px;color:var(--ink)}.addr .copy{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:7px 10px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:0}.addr .copy:hover{background:var(--ink);color:var(--paper)}.addr .copied{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.addr.sm{margin-top:16px}.addr a.mono{text-transform:none;letter-spacing:0}@media(max-width:520px){.hello .cta{gap:16px}.btn.xl{width:100%;text-align:center;justify-content:center}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.soft{color:var(--soft)}.accent{color:var(--orange)}.lede-copy{font-size:22px;max-width:680px}.empty-title{font-size:22px;font-weight:700;letter-spacing:-.01em}.form-status{min-height:1.2em;margin-top:10px;font-size:15px}.form-status:empty{display:none}.after-form{margin-top:14px}.filters.tight{border-bottom:2px solid var(--ink)}.dek{font-size:22px;max-width:760px}.btns.end{margin:56px 0 80px}.btns.stack{margin-top:0;flex-direction:column;align-items:flex-start}.shot-btn{display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}.shot-btn img{display:block;width:100%}dialog.lb{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(12px,3vw,28px);border:0;background:transparent}dialog.lb[open]{display:grid;place-items:center}dialog.lb::backdrop{background:#111111e0}.lb-panel{width:min(1100px,100%);max-height:100%;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:auto}.lb-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:2px solid var(--ink)}.lb-bar .count{margin-right:auto;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}.lb-nav{min-width:44px;min-height:44px}.lb-figure{margin:0;min-height:0;background:var(--ink)}.lb-figure img{display:block;width:100%;max-height:min(72vh,820px);object-fit:contain;background:var(--ink)}.lb-figure figcaption{padding:10px 14px;background:var(--paper);border-top:1px solid var(--ink);color:var(--soft)}@media(max-width:700px){.lb-bar{flex-wrap:wrap}.lb-figure img{max-height:62vh}}@media(prefers-reduced-motion:reduce){dialog.lb,dialog.lb::backdrop{transition:none}}@keyframes tgdc-print{0%{transform:scaleY(0)}to{transform:scaleY(1)}}html.logo-print .tgdc-logo .r{transform-box:fill-box;transform-origin:center;animation:tgdc-print .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 42ms)}.reveal{opacity:0;transform:translateY(14px)}.reveal.is-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;transition-delay:var(--reveal, 0ms)}@media(prefers-reduced-motion:no-preference){.btn,.menu,.copy,.index a,.gidx a.row,.posts a,.plist a,.kitgrid a,.three>div,.how>div,.role,.social a{transition:transform .16s ease}.btn:hover,.btn:focus-visible,.menu:hover,.menu:focus-visible,.copy:hover,.copy:focus-visible,.index a:hover,.index a:focus-visible,.gidx a.row:hover,.gidx a.row:focus-visible,.posts a:hover,.posts a:focus-visible,.plist a:hover,.plist a:focus-visible,.kitgrid a:hover,.kitgrid a:focus-visible,.three>div:hover,.three>div:focus-within,.how>div:hover,.how>div:focus-within,.role:hover,.role:focus-within,.social a:hover,.social a:focus-visible{transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--ink)}}.links a,main a:not(.btn),footer a{position:relative}main :where(p,td,.md,.pager,.after-form) a:not(.btn),.addr a[href^="mailto:"]{display:inline-block;width:fit-content;max-width:100%}.links a:after,main a:not(.btn):after,footer a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:#ff3b00;transform:scaleX(0);transform-origin:left center;transition:transform .22s ease;pointer-events:none}.links a:hover:after,.links a:focus-visible:after,main a:not(.btn):hover:after,main a:not(.btn):focus-visible:after,footer a:hover:after,footer a:focus-visible:after{transform:scaleX(1)}.index a:after,.gidx a:after,.posts a:after,.plist a:after,.kitgrid a:after,.social a:after{content:none}@media(prefers-reduced-motion:reduce){html.logo-print .tgdc-logo .r{animation:none}.reveal,.reveal.is-in{opacity:1;transform:none;transition:none}.links a:after,main a:not(.btn):after,footer a:after,.topics a b:after,.topics a>span:after{transition:none}}.todo{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--orange)}.plist time .accent{color:var(--orange);text-transform:none;letter-spacing:0}.social .quiet{display:block;padding:16px 12px 16px 0;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--soft)}.social .quiet span{display:block;font:500 12px var(--mono);text-transform:uppercase;color:var(--soft);font-weight:500}.md.post>p:first-child:first-letter{float:none;font:inherit;margin:0;color:inherit}.kitgrid .ccc-mark{font:700 72px var(--sans);letter-spacing:-.04em;color:var(--paper)}.kitgrid .pv:not(:has(img)){background:var(--ink);color:var(--paper)}.kitgrid .ccc-mark span{color:var(--orange)}.kick,.pagehead .kick,.art-h .kick,.accent,.plist time .accent,.gidx .feature-tag,.links a[aria-current],.cform .static,.todo,.prog li.now b,.prog li.done b:before{color:#9a1a00}.links a span,.index .tags,table.spec th,.badge,.gidx .feature-tag,.chip .n,.cform .static{font-size:12px}.lede-copy a:not([href^="mailto:"]){overflow-wrap:anywhere}table.spec{table-layout:fixed;width:100%}table.spec th,table.spec td{overflow-wrap:anywhere;word-break:break-word}.addr a[href^="mailto:"],.lede-copy a[href^="mailto:"],table.spec a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal;word-break:normal}a[href^="mailto:"] wbr{display:none}@media(max-width:390px){.addr a[href^="mailto:"],.lede-copy a[href^="mailto:"],table.spec a[href^="mailto:"]{display:inline;width:auto;max-width:none;white-space:normal;background-image:linear-gradient(#ff3b00,#ff3b00);background-repeat:no-repeat;background-position:0 calc(100% - 14px);background-size:0 2px;transition:background-size .22s ease}.addr a[href^="mailto:"]:after,.lede-copy a[href^="mailto:"]:after,table.spec a[href^="mailto:"]:after{content:none}.addr a[href^="mailto:"]:hover,.addr a[href^="mailto:"]:focus-visible,.lede-copy a[href^="mailto:"]:hover,.lede-copy a[href^="mailto:"]:focus-visible,table.spec a[href^="mailto:"]:hover,table.spec a[href^="mailto:"]:focus-visible{background-size:100% 2px}a[href^="mailto:"] wbr{display:inline}table.spec:has(a[href^="mailto:"]) th{width:28%}}.top .brand,.links a,.addr a[href^="mailto:"],.lede-copy a[href^="mailto:"],table.spec a[href^="mailto:"],.mast .meta a{padding-block:12px;margin-block:-12px}.menu{min-height:44px;min-width:44px;padding:12px}
