.portfolio{--star:color-mix(in oklch, var(--ink-plate) 70%, transparent);--star-dim:color-mix(in oklch, var(--ink-plate) 38%, transparent);min-height:100dvh;color:var(--ink);font-family:var(--font-text);background-color:var(--surface-void);background-image:radial-gradient(circle at 37px 61px, var(--star) 0 1px, transparent 1.6px), radial-gradient(circle at 301px 23px, var(--star-dim) 0 .8px, transparent 1.4px), radial-gradient(circle at 189px 287px, var(--star-dim) 0 .7px, transparent 1.3px), radial-gradient(circle at 411px 173px, var(--star) 0 1.2px, transparent 1.8px), radial-gradient(circle at 117px 349px, var(--star-dim) 0 .8px, transparent 1.4px), radial-gradient(circle at 263px 97px, var(--star-dim) 0 .6px, transparent 1.2px), radial-gradient(circle at 503px 331px, var(--star-dim) 0 .7px, transparent 1.3px), radial-gradient(circle at 71px 211px, var(--star) 0 .9px, transparent 1.5px);background-size:433px 379px,367px 457px,521px 397px,587px 443px,409px 503px,613px 347px,557px 479px,349px 571px}.portfolio .public-masthead{background:linear-gradient(var(--surface-void) 82%, transparent)}.portfolio-body{padding-top:calc(var(--chrome-top) + var(--space-8));padding-bottom:var(--space-9)}.pf-main{width:min(100% - 2 * var(--gutter), 88rem);margin-inline:auto}.pf-main h1:focus{outline:none}.pf-title{align-items:baseline;column-gap:var(--space-6);row-gap:var(--space-2);flex-wrap:wrap;display:flex}.pf-title h1{font-size:min(var(--type-display-xl), calc((100vw - 2 * var(--gutter)) / 8.3));margin:0}.pf-tally{font-size:var(--type-readout);letter-spacing:var(--tracking-readout);color:var(--phosphor);margin:0}.pf-stripe{margin-block:var(--space-5) var(--space-6)}.pf-head-body{gap:var(--space-7);display:grid}.pf-intro{max-width:36ch;font-size:var(--type-lead);line-height:var(--leading-lead);color:var(--ink-plate);text-wrap:pretty;margin:0}.pf-routes{gap:var(--space-6) var(--space-7);display:grid}.pf-route{gap:var(--space-3);padding-top:calc(var(--space-3) + 2px);border-top:1px solid var(--rule-strong);align-content:start;display:grid}.pf-route[data-route=studio]{border-top:0;padding-top:0}.pf-route[data-route=studio]:before{content:"";background:var(--sun-rule);height:3px}.pf-route h2{font-size:var(--type-placard);color:var(--ink-muted);margin:0}.pf-route p{font-size:var(--type-text);color:var(--ink);margin:0}.pf-route-keys{gap:var(--space-3) var(--space-4);margin-top:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.pf-cv{display:inline-flex}@media (min-width:52em){.pf-routes{grid-template-columns:repeat(3,minmax(0,1fr))}}.pf-kind-mark{color:var(--phosphor);flex:none;display:block}.pf-kind-turingui{object-fit:contain;height:auto}.pf-status{font-size:var(--type-readout);letter-spacing:var(--tracking-readout);color:var(--phosphor);align-items:center;gap:.6em;margin:0;display:flex}.pf-lamp{border:1.5px solid;flex:none;width:.62em;height:.62em}.pf-status[data-status=live] .pf-lamp{background:currentColor}.pf-status[data-status=uat] .pf-lamp{background:linear-gradient(135deg,currentColor 50%,#0000 50%)}.pf-status[data-status=gated] .pf-lamp{background:linear-gradient(currentColor,currentColor) 50%/.22em .22em no-repeat}.pf-status[data-status=private] .pf-lamp{border-style:dashed}.pf-class{margin-top:var(--space-9);scroll-margin-top:var(--chrome-top)}.pf-class-head{align-items:center;column-gap:var(--space-4);row-gap:var(--space-2);padding-bottom:var(--space-5);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.pf-class-head:after{content:"";height:3px;margin-top:var(--space-3);background:var(--sun-rule);grid-column:1/-1}.pf-class-head h2{font-size:var(--type-display-m);margin:0}.pf-class-line{font-size:var(--type-small);color:var(--ink-muted);grid-column:2;margin:0}.pf-class-head h2{font-size:min(var(--type-display-m), calc((100vw - 2 * var(--gutter) - 4rem) / 8.6))}.pf-class[data-kind=studio] .pf-kind-turingui{width:34px}.pf-entry{row-gap:var(--space-4);padding-block:var(--space-7);border-bottom:1px solid var(--rule);scroll-margin-top:calc(var(--chrome-top) + var(--space-4));grid-template-columns:minmax(0,1fr);grid-template-areas:"no""head""plate""detail";display:grid}.pf-entry-no{font-size:var(--type-readout);color:var(--phosphor);grid-area:no;margin:0}.pf-entry-head{gap:var(--space-2);grid-area:head;grid-template-columns:minmax(0,1fr);align-content:start;display:grid}.pf-entry-head h3{font-size:min(var(--type-display-m), calc((100vw - 2 * var(--gutter)) / 10.5));margin:0}.pf-entry[data-kind=experiment] .pf-entry-head h3{font-size:var(--type-display-s)}.pf-line{margin:var(--space-2) 0 0;max-width:54ch;font-size:var(--type-text);line-height:var(--leading-text);color:var(--ink);text-wrap:pretty}.pf-entry-plate{grid-area:plate}.pf-entry-detail{grid-area:detail;align-self:start;min-width:0}@media (min-width:62em){.pf-entry{column-gap:var(--space-6);grid-template:"no head plate""no detail plate"1fr/4.5rem minmax(0,1fr) minmax(0,30rem)}.pf-entry-plate{grid-row:1/span 2;align-self:start}.pf-entry[data-kind=experiment]{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,22rem)}}.pf-ledger{margin:var(--space-4) 0 0;display:grid}.pf-ledger>div{gap:var(--space-1);padding-block:var(--space-3);border-top:1px solid var(--rule-soft);grid-template-columns:minmax(0,1fr);display:grid}.pf-ledger dt{font-size:var(--type-placard);color:var(--ink-muted);margin:0}.pf-ledger dd{max-width:62ch;font-size:var(--type-small);color:var(--ink);margin:0;line-height:1.55}.pf-ledger dd p{margin:0}.pf-ledger dd p+p{margin-top:var(--space-2)}@media (min-width:36em){.pf-ledger>div{gap:var(--space-4);grid-template-columns:7rem minmax(0,1fr)}}.pf-tech{gap:var(--space-1) var(--space-5);font-weight:500;font-size:var(--type-caption);color:var(--ink-muted);flex-wrap:wrap;margin:0;padding:0;line-height:1.8;list-style:none;display:flex}.pf-tech li{white-space:nowrap;align-items:center;display:inline-flex}.pf-actions{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.pf-after{font-size:var(--type-small);color:var(--ink-muted);margin:0}.pf-plate{background:var(--case-grain), var(--case);box-shadow:var(--case-bevel), var(--case-lip);gap:.5rem;padding:.5rem;display:grid}.pf-shot{aspect-ratio:16/10;background:var(--surface-inset);outline:1px solid var(--case-seam);position:relative;overflow:hidden}.pf-shot img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.pf-shot-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.pf-shot-row[data-count="1"]{grid-template-columns:minmax(0,1fr)}.pf-shot-row[data-count="1"] .pf-shot{aspect-ratio:32/10}.pf-plate-empty{align-content:center;justify-items:start;gap:var(--space-2);aspect-ratio:16/10;padding:var(--space-6);background:var(--scan), var(--surface-inset);box-shadow:var(--inset-shadow);outline:1px solid var(--case-seam);color:var(--phosphor);display:grid;position:relative}.pf-plate-empty p{margin:0}@media (max-width:47.99em){.pf-plate-empty{aspect-ratio:auto;padding:var(--space-6) var(--space-5)}}.pf-reg{border:0 solid var(--rule-strong);width:16px;height:16px;position:absolute}.pf-reg[data-corner=tl]{border-width:1px 0 0 1px;inset:12px auto auto 12px}.pf-reg[data-corner=tr]{border-width:1px 1px 0 0;inset:12px 12px auto auto}.pf-reg[data-corner=bl]{border-width:0 0 1px 1px;inset:auto auto 12px 12px}.pf-reg[data-corner=br]{border-width:0 1px 1px 0;inset:auto 12px 12px auto}.pf-plate-code{font-size:calc(var(--type-readout) * 1.7);line-height:1}.pf-plate-note{max-width:34ch;font-size:var(--type-small);color:var(--ink-muted);line-height:1.5}.pf-chart{margin:var(--space-8) 0 0}.pf-chart-svg{width:100%;height:auto;display:block;overflow:hidden}.pf-chart-svg[data-orient=tall]{max-width:26rem;margin-inline:auto}.pf-chart-svg[data-orient=wide]{display:none}@media (min-width:62em){.pf-chart-svg[data-orient=wide]{display:block}.pf-chart-svg[data-orient=tall]{display:none}}.pf-chart-arcs circle{fill:none;stroke:var(--rule-soft);stroke-width:1px}.pf-chart-motes circle{fill:var(--ink-plate)}.pf-chart-line{fill:none;stroke:var(--rule-strong);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.pf-chart-kind{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;fill:var(--ink-muted);font-size:15px;font-weight:590;font-stretch:84%}.pf-star{cursor:pointer;outline:none}.pf-star-hit{fill:#0000}.pf-star-ring{fill:none;stroke:#0000;stroke-width:1.5px}.pf-star:hover .pf-star-ring,.pf-star:focus-visible .pf-star-ring{stroke:var(--band-1)}.pf-star:focus-visible .pf-star-ring{stroke-width:2.5px}.pf-star-core{fill:var(--phosphor)}.pf-star-open{fill:none;stroke:var(--phosphor);stroke-width:1.6px}.pf-star-ticks{fill:none;stroke:var(--phosphor);stroke-width:1.3px}.pf-star-name{font-family:var(--font-text);fill:var(--ink-plate);font-size:17px;font-weight:600}.pf-star:hover .pf-star-name,.pf-star:focus-visible .pf-star-name{fill:var(--band-1)}.pf-star-meta{font-family:var(--font-readout);letter-spacing:.02em;fill:var(--phosphor);font-size:18px}.pf-chart-caption{max-width:62ch;margin:var(--space-4) auto 0;font-size:var(--type-small);color:var(--ink-muted)}.pf-chart[data-tall] .pf-chart-caption{text-align:center}.pf-foot{justify-items:start;gap:var(--space-5);margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.pf-foot p{max-width:54ch;font-size:var(--type-small);color:var(--ink-muted);margin:0}.pf-dock{display:none}@media (max-width:39.99em){.portfolio-body{padding-bottom:calc(var(--chrome-nav) + var(--space-9) + env(safe-area-inset-bottom,0px))}.pf-dock{z-index:var(--z-nav);gap:var(--space-2);padding:var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--case-grain), var(--case-lo);box-shadow:var(--case-bevel);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.pf-dock a{min-height:var(--chrome-hit);padding-inline:var(--space-2);font-family:var(--font-display);font-size:var(--type-placard);font-stretch:var(--placard-stretch);font-weight:var(--placard-weight);letter-spacing:var(--placard-tracking);text-transform:uppercase;color:var(--ink-plate);background:var(--case-grain), var(--case);box-shadow:var(--case-bevel), var(--case-lip);clip-path:polygon(0 0, calc(100% - var(--chamfer-s)) 0, 100% var(--chamfer-s), 100% 100%, var(--chamfer-s) 100%, 0 calc(100% - var(--chamfer-s)));place-items:center;text-decoration:none;display:grid}.pf-dock a:hover{color:var(--band-1)}.pf-dock a:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:-4px}}.pf-stub-head{gap:var(--space-5);margin-bottom:var(--space-6);justify-items:start;display:grid}.pf-stub-head h1{font-size:var(--type-display-l);margin:0}@media (forced-colors:active){.pf-plate{border:1px solid canvastext}}.pf-foot .public-key,.pf-stub-head .public-key{max-width:100%}.pf-foot .key-st,.pf-stub-head .key-st{white-space:normal}.pf-foot .public-key,.pf-stub-head .public-key{width:100%;max-width:34rem}@media (max-width:39.99em){.pf-dock a{font-size:min(var(--type-placard), 4.1vw)}.pf-dock{gap:4px}.pf-dock a{letter-spacing:.04em;padding-inline:2px}}.pf-foot .key-label,.pf-stub-head .key-label{overflow-wrap:anywhere;min-width:0;display:block}@media (max-width:39.99em){.pf-dock a{letter-spacing:0;min-width:0;font-size:min(var(--type-placard), 3.7vw);padding-inline:0}}.pf-head-body,.pf-routes,.pf-route{grid-template-columns:minmax(0,1fr);min-width:0}@media (min-width:52em){.pf-routes{grid-template-columns:repeat(3,minmax(0,1fr))}}.pf-line,.pf-ledger dd,.pf-route p,.pf-intro{overflow-wrap:anywhere}.pf-confirm{border:1px dashed var(--phosphor);font-size:var(--type-readout-s);color:var(--phosphor);justify-self:start;margin:0;padding:.05em .5em}.pf-case-back{margin:0 0 var(--space-7)}.pf-case-head{gap:var(--space-3);justify-items:start;min-width:0;display:grid}.pf-case-kicker{align-items:center;gap:var(--space-2) var(--space-4);color:var(--ink-muted);flex-wrap:wrap;margin:0;display:flex}.pf-case-kind{color:var(--phosphor)}.pf-case-head h1{font-size:min(var(--type-display-xl), calc((100vw - 2 * var(--gutter)) / 7.5));overflow-wrap:anywhere;margin:0}.pf-case-head .pf-stripe{margin-block:var(--space-3) var(--space-3)}.pf-case-body{gap:var(--space-7);margin-top:var(--space-7);grid-template-columns:minmax(0,1fr);display:grid}.pf-case-text{gap:var(--space-6);align-content:start;min-width:0;display:grid}.pf-case-about h2{margin:0 0 var(--space-2);color:var(--ink-muted);font-size:var(--type-placard)}.pf-case-about p{max-width:62ch;line-height:var(--leading-text);overflow-wrap:anywhere;margin:0}.pf-foot-title{color:var(--ink-muted);margin:0}@media (min-width:62em){.pf-case-body{gap:var(--space-8);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}}.pf-case-back .public-key{width:100%;max-width:34rem}.pf-case-back .key-st{white-space:normal}.pf-case-back .key-label{overflow-wrap:anywhere;min-width:0;display:block}.pf-main a.public-key{font-size:min(.95rem,4.2vw)}.pf-main .public-key .key-win{min-width:calc(6.7368em + 1px - var(--key-ring-w))}.pf-main .public-key .key-code{font-size:1.3684em}.pf-main .public-key .key-sub{font-size:1em}
