@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/3d51db290a6a25f3-s.0kkodo7okz7sx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/f7054824cbb51795-s.3gwda9lv2grgl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/74effe3e2193102a-s.p.2ke8r1sltdje0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_2661356-module__MpGoUq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_2661356-module__MpGoUq__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_f5390e3b-module__IAwtPq__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_f5390e3b-module__IAwtPq__variable{--font-ui:"Geist", "Geist Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_8c4ab588-module__AuOkkq__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_8c4ab588-module__AuOkkq__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_ba54b8c9-module__wIr62W__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ba54b8c9-module__wIr62W__variable{--font-code:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--p-paper:#adb79f;--p-card:#eceee3;--p-ink:#141a12;--p-muted:#363f30;--p-line:#919d87;--p-tag:#70220d;--p-ok:#1d6b40;--p-dot:#141a1224;--p-yellow:#ffe27a;--p-pink:#ffc6dc;--p-card-copy:#5b6354;--p-card-line:#d6dacb;--measure:1120px;--header-h:72px;--sec-gap:160px;--block-gap:64px}@media (max-width:640px){:root{--sec-gap:96px;--block-gap:48px}}html,body{background:var(--p-paper);min-height:100%;color:var(--p-ink);margin:0}button,input,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--p-tag);outline-offset:3px}.nowrap{white-space:nowrap}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html{scrollbar-gutter:stable both-edges}.p5{background-color:var(--p-paper);background-image:radial-gradient(circle, var(--p-dot,#17150f21) 1px, transparent 1.2px);min-height:100vh;color:var(--p-ink);font-family:var(--font-ui), system-ui, sans-serif;background-size:22px 22px;font-size:16px;line-height:1.55}.p5 em{font-family:var(--font-serif), serif;font-style:italic;font-weight:400}.p5-k,.p5-tag,.p5-frame,.p5-chips,.p5-num{font-family:var(--font-code), monospace}.p5-skip{z-index:20;background:var(--p-ink);color:var(--p-paper);border-radius:6px;padding:8px 12px;font-size:14px;position:absolute;top:8px;left:24px;transform:translateY(-160%)}.p5-skip:focus{transform:none}.p5-nav{z-index:5;background:color-mix(in srgb, var(--p-paper) 96%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:wrap;align-items:center;gap:28px;max-width:1120px;margin:0 auto;padding:18px 24px;display:flex;position:sticky;top:0}.p5-mark{letter-spacing:-.02em;border:1.5px solid var(--p-ink);border-radius:8px;padding:3px 7px;font-weight:700}.p5-nav nav{color:var(--p-muted);gap:22px;margin-left:auto;font-size:13px;display:flex}.p5-nav nav a{text-decoration:none}.p5-nav nav a:hover,.p5-nav nav a[aria-current]{color:var(--p-ink);text-underline-offset:4px;text-decoration:underline}.p5-nav-narrow{display:none}.p5-btn{background:var(--p-ink);height:40px;color:var(--p-paper);white-space:nowrap;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:transform .2s;display:inline-flex}.p5-btn:hover{transform:translateY(-2px)}.p5-ghost{border:1px solid var(--p-line);background:var(--p-card);white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;height:40px;padding:0 16px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.p5-ghost:hover{background:color-mix(in srgb, var(--p-ink) 6%, var(--p-card));transform:translateY(-2px)}.p5-hero{max-width:1120px;margin:0 auto;padding:110px 24px 40px}.p5-tag{margin:0 0 8px;font-size:13px}.p5-tag i{color:var(--p-tag);font-style:normal}.p5-name-wrap{margin:0 0 24px;padding-bottom:86px;position:relative}.p5-name{font-family:var(--font-display), sans-serif;letter-spacing:-.045em;margin:0;font-size:clamp(56px,9vw,112px);font-weight:600;line-height:1;display:inline}.p5-sel{-webkit-text-decoration:underline wavy color-mix(in srgb, var(--p-tag) 55%, transparent);text-decoration:underline wavy color-mix(in srgb, var(--p-tag) 55%, transparent);text-underline-offset:14px;text-decoration-thickness:2px;display:inline-block;position:relative}.p5-hover{z-index:3;background:var(--p-card);border:1px solid var(--p-line);font-family:var(--font-ui), sans-serif;letter-spacing:0;color:var(--p-muted);white-space:nowrap;border-radius:8px;gap:6px;padding:12px 14px;font-size:13px;font-weight:400;line-height:1.3;display:grid;position:absolute;top:calc(100% + 22px);left:38%;box-shadow:0 14px 30px -14px #17150f59}.p5-hover code{font-family:var(--font-code), monospace;color:var(--p-ink)}.p5-hover code i{color:var(--p-tag);font-style:normal}.p5-hover-id{white-space:nowrap}.p5-margin{font-family:var(--font-serif), serif;letter-spacing:0;color:var(--p-muted);margin-left:18px;font-size:26px;font-style:italic;font-weight:400;position:absolute;top:-26px;transform:rotate(-6deg)}.p5-margin:before{content:"↙";margin-right:6px}.p5-lead{letter-spacing:-.025em;margin:0 0 24px;font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.12}.p5-stack{color:var(--p-tag)}.p5-lead em{letter-spacing:-.01em;text-decoration:underline;-webkit-text-decoration-color:var(--p-line);text-decoration-color:var(--p-line);text-underline-offset:8px;font-size:1.08em}.p5-status{color:var(--p-muted);align-items:center;gap:10px;margin:0 0 34px;display:flex}.p5-status i,.p5-when i{background:var(--p-ok);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--p-ok) 18%, transparent);border-radius:50%}.p5-dev{max-width:640px;color:var(--p-muted);margin:0;font-size:18px;line-height:1.55}.p5-tools{max-width:1120px;margin:0 auto;padding:30px 24px 10px}.p5-k{color:var(--p-muted);font-size:13px}.p5-core-row{grid-template-columns:110px 1fr;align-items:start;gap:8px 16px;margin-top:18px;display:grid}.p5-core-label{padding-top:8px;font-size:13px;font-weight:600}.p5-core-row ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.p5-core-chip{border:1px solid color-mix(in srgb, var(--p-ink) 25%, transparent);height:32px;box-shadow:none;color:inherit;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:13px;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}a.p5-core-chip:hover{background:color-mix(in srgb, var(--p-ink) 6%, transparent);transform:translateY(-2px)}.p5-core-chip img{object-fit:contain;flex-shrink:0;width:14px;height:14px}@media (pointer:coarse){.p5-core-chip{height:auto;min-height:44px;padding:10px 12px}}.p5-tools-rest{max-width:68ch;margin-top:28px}.p5-tools-rest summary{cursor:pointer;font-size:14px;font-weight:500}.p5-tools-rest p{color:var(--p-muted);margin:12px 0 0;font-size:14px;line-height:1.55}.p5-tools-rest b{color:var(--p-ink);font-weight:600}.p5-sec{max-width:1120px;padding:var(--sec-gap) 24px 0;scroll-margin-top:calc(var(--header-h) + 16px);margin:0 auto}#experience.p5-sec{padding-bottom:56px}.p5-sec>h2,.p5-contact h2{font-family:var(--font-display), sans-serif;letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(40px,5vw,60px);font-weight:600;line-height:1.02}.p5-sub{color:var(--p-muted);margin:0 0 40px;font-size:18px}.p5-group{margin-top:56px}.p5-group-head{border-top:2px solid var(--p-ink);grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 14px;margin-bottom:18px;padding-top:16px;display:grid}.p5-group-num{font-family:var(--font-code), monospace;color:var(--p-tag);font-size:13px}.p5-group-head h4{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600;line-height:1.2}.p5-group-count{font-family:var(--font-code), monospace;color:var(--p-muted);font-size:13px}.p5-group-head p{color:var(--p-muted);grid-column:2/-1;margin:0;font-size:15px}.p5-cards{grid-template-columns:1fr 1fr;gap:48px 32px;display:grid}.p5-card{background:var(--p-card);border:1px solid var(--p-line);box-shadow:0 1px 0 var(--p-line), 0 10px 30px -18px #17150f40;border-radius:16px;padding:24px;position:relative}.p5-frame{color:var(--p-muted);font-size:12px;position:absolute;top:-22px;left:2px}.p5-sec>.p5-frame{margin:40px 0 6px 2px;display:block;position:static}.p5-note{z-index:2;font-family:var(--font-serif), serif;padding:4px 12px;font-size:19px;font-style:italic;position:absolute;top:-14px;right:18px;transform:rotate(3deg);box-shadow:0 6px 14px -8px #17150f66}.p5-note.is-yellow{background:var(--p-yellow)}.p5-note.is-pink{background:var(--p-pink)}.p5-note-play{font-style:normal;font-family:var(--font-ui), sans-serif}.p5-card-top{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.p5-card h3{letter-spacing:-.02em;margin:0 0 4px;font-size:28px;font-weight:600}.p5-card-top p{color:var(--p-muted);margin:0;line-height:1.5}.p5-acts{flex-shrink:0;gap:8px;display:flex}.p5-chips{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.p5-chips li{border:1px solid var(--p-line);height:24px;box-shadow:none;color:var(--p-ink);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.p5-chips img{object-fit:contain;width:14px;height:14px}.p5-chips li.is-net{color:var(--p-tag);background:0 0}.p5-film{border-radius:10px;margin-top:20px;overflow:hidden}.p5-good{border-top:1px solid var(--p-line);margin:36px 0 0;padding:0;list-style:none}.p5-good li{border-bottom:1px solid var(--p-line);grid-template-columns:60px 1fr auto;align-items:baseline;gap:20px;padding:24px 0;display:grid}.p5-num{color:var(--p-tag);font-size:13px}.p5-q{color:var(--p-muted);font-size:19px}.p5-a{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;text-align:right;font-size:26px;font-weight:600}.p5-job-id{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.p5-job-side{flex-shrink:0;align-items:center;gap:16px;display:flex}.p5-job .p5-note{position:static}.p5-logo{border:1px solid var(--p-line);border-radius:10px;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.p5-when{color:var(--p-muted);white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.p5-bullets{border-top:1px dashed var(--p-line);color:var(--p-muted);margin:18px 0 0;padding:18px 0 0 18px;line-height:1.6}.p5-bullets li+li{margin-top:8px}.p5-contact{max-width:1120px;scroll-margin-top:calc(var(--header-h) + 16px);margin:140px auto 0;padding:0 24px}.p5-sec-k{font-family:var(--font-ui), sans-serif;letter-spacing:.04em;margin:0 0 8px;font-size:13px;font-weight:600}.p5-contact h2{margin-top:10px;font-size:clamp(40px,5vw,60px)}.p5-contact p{color:var(--p-muted);margin:0 0 26px}.p5-dock{z-index:6;background:var(--p-card);border:1px solid var(--p-line);border-radius:999px;align-items:center;gap:18px;padding:6px 6px 6px 20px;font-size:14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px -12px #17150f59}@media (max-width:640px){.p5-nav{gap:8px 16px;padding:12px 16px 0}.p5-nav nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-basis:100%;order:3;gap:4px;margin:0 -16px;padding:4px 8px 8px;display:flex;overflow-x:auto}.p5-nav nav::-webkit-scrollbar{display:none}.p5-nav nav a{flex:none;align-items:center;min-height:44px;padding:0 12px;display:inline-flex}.p5-nav-wide{display:none}.p5-nav-narrow{display:inline-flex}.p5-nav .p5-btn{margin-left:auto}.p5-card-top{flex-direction:column}.p5-job-side{flex-wrap:wrap;align-self:flex-start}.p5-good li{grid-template-columns:1fr;gap:6px}.p5-a{text-align:left}.p5-sec{padding-top:96px}.p5-note{right:18px}.p5-margin{display:none}.p5-dock{gap:12px;padding-left:14px;font-size:13px}.p5-card{padding:18px}}a.p5-card .p5-note{right:18px}a.p5-card .p5-card-top{flex-direction:row}.p5-dock span{white-space:nowrap}@media (max-width:640px){.p5-cards{grid-template-columns:1fr}.p5-hover{white-space:normal;max-width:calc(100vw - 48px);left:0}.p5-hover code{font-size:12px}}.p5-note{color:#17150f}.p5[data-bg=sage]{--p-paper:#adb79f;--p-card:#eceee3;--p-ink:#141a12;--p-muted:#414b3a;--p-line:#919d87;--p-tag:#8a2c12;--p-ok:#1d6b40;--p-dot:#141a1224}.p5[data-bg=sage] .p5-card .p5-card-top p,.p5[data-bg=sage] .p5-card .p5-bullets{color:#5b6354}.p5[data-bg=sage] .p5-card{border-color:#d6dacb}.p5{overflow-x:clip}.p5>section{z-index:1;position:relative}.p5{position:relative}.fx-packets{--gutter:max(0px, calc((100vw - 1120px) / 2));z-index:0;pointer-events:none;width:100vw;height:min(100vh,1000px);-webkit-mask-image:linear-gradient(180deg, #000 70%, transparent), linear-gradient(90deg, #000 0, #000 var(--gutter), transparent var(--gutter), transparent calc(100% - var(--gutter)), #000 calc(100% - var(--gutter)));-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(180deg, #000 70%, transparent), linear-gradient(90deg, #000 0, #000 var(--gutter), transparent var(--gutter), transparent calc(100% - var(--gutter)), #000 calc(100% - var(--gutter)));mask-image:linear-gradient(180deg, #000 70%, transparent), linear-gradient(90deg, #000 0, #000 var(--gutter), transparent var(--gutter), transparent calc(100% - var(--gutter)), #000 calc(100% - var(--gutter)));margin-left:-50vw;position:absolute;top:0;left:50%;overflow:hidden;-webkit-mask-composite:source-in;mask-composite:intersect}.fx-packet{opacity:.4;will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}.fx-packet.is-x{background:linear-gradient(90deg, transparent, var(--p-tag));width:90px;height:1.5px;margin-top:-.75px;animation-name:fx-run-x;left:0}.fx-packet.is-y{background:linear-gradient(180deg, transparent, var(--p-tag));width:1.5px;height:90px;margin-left:-.75px;animation-name:fx-run-y;top:0}.fx-packet.is-bright{opacity:.95}.fx-packet.is-bright:after{content:"";background:var(--p-tag);width:5px;height:5px;box-shadow:0 0 10px var(--p-tag);border-radius:1px;position:absolute}.fx-packet.is-x.is-bright:after{top:-2px;right:-2px}.fx-packet.is-y.is-bright:after{bottom:-2px;left:-2px}@keyframes fx-run-x{0%{transform:translate(-100px)}to{transform:translate(calc(100vw + 100px))}}@keyframes fx-run-y{0%{transform:translateY(-100px)}to{transform:translateY(min(100vh + 100px,1100px))}}.p5-hero{position:relative}.fx-merkle-wrap{pointer-events:none;width:400px;position:absolute;top:470px;right:24px}.fx-merkle{width:100%;font-family:var(--font-code), monospace;font-size:13px;overflow:visible}.fx-m-edge{fill:none;stroke:var(--p-line);stroke-width:1.5px}.fx-m-edge.is-lit{stroke:var(--p-tag);stroke-dasharray:1;stroke-dashoffset:1px;animation:6s infinite fx-m-draw}.fx-m-edge.is-lit.s2{animation-name:fx-m-draw2}.fx-m-node rect{fill:var(--p-card);stroke:var(--p-line);stroke-width:1px}.fx-m-node text{fill:var(--p-muted);text-anchor:middle}.fx-m-node.is-root text{fill:var(--p-ink);font-weight:600}.fx-m-node:after{content:none}.fx-m-node.s0 rect,.fx-m-node.s1 rect,.fx-m-node.s2 rect{animation:6s infinite fx-m-n0}.fx-m-node.s1 rect{animation-name:fx-m-n1}.fx-m-node.s2 rect{animation-name:fx-m-n2}@keyframes fx-m-draw{0%,12%{stroke-dashoffset:1px;opacity:1}30%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes fx-m-draw2{0%,36%{stroke-dashoffset:1px;opacity:1}52%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes fx-m-n0{0%{stroke:var(--p-line)}8%,85%{stroke:var(--p-tag)}to{stroke:var(--p-line)}}@keyframes fx-m-n1{0%,28%{stroke:var(--p-line)}34%,85%{stroke:var(--p-tag)}to{stroke:var(--p-line)}}@keyframes fx-m-n2{0%,50%{stroke:var(--p-line);fill:var(--p-card)}56%,85%{stroke:var(--p-tag);fill:color-mix(in srgb, var(--p-tag) 22%, var(--p-card))}to{stroke:var(--p-line);fill:var(--p-card)}}.fx-seal{align-items:center;gap:22px;height:34px;margin:0 0 26px;display:flex;position:relative}.fx-seal-line{background:var(--p-line);height:2px;position:absolute;top:50%;left:0;right:0}.fx-seal-block{background:var(--p-line);border:0;border-radius:0;width:12px;height:12px;position:relative}.fx-seal-block.is-head{background:var(--p-tag);box-shadow:none;border:0}@supports (animation-timeline:view()){.fx-seal-block{animation:linear both fx-seal;animation-timeline:view();animation-range:entry 10% cover calc(22% + var(--i) * 3%)}.fx-seal-line{transform-origin:0;animation:linear both fx-seal-line;animation-timeline:view();animation-range:entry cover 45%}}@keyframes fx-seal{0%{transform:translateX(calc(60vw + var(--i) * 30px)) rotate(90deg);opacity:0}to{opacity:1;transform:none}}@keyframes fx-seal-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.fx-packet,.fx-m-edge.is-lit,.fx-m-node rect,.fx-seal-block,.fx-seal-line{animation:none!important}.fx-packet{display:none}}@media (max-width:1180px){.fx-merkle-wrap{width:100%;max-width:400px;margin-top:40px;display:block;position:static}.fx-packets{display:none}}@media (max-width:640px){.p5-hover{font-size:12px}}a.p5-card{color:inherit;text-decoration:none;transition:transform .2s;display:block}a.p5-card:hover{transform:translateY(-2px)}a.p5-card:hover .p5-go{background:var(--p-ink);color:var(--p-card);border-color:var(--p-ink)}a.p5-card:focus-visible{outline:2px solid var(--p-tag);outline-offset:3px}.p5-go{border:1px solid var(--p-line);width:32px;height:32px;color:var(--p-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;transition:background .2s,color .2s,border-color .2s;display:grid}@media (prefers-reduced-motion:reduce){a.p5-card,a.p5-feature,.p5-btn,.p5-ghost,a.p5-core-chip,.p5-go{transition:none}}.p5-summary{max-width:760px;margin:0 0 16px;font-size:18px;line-height:1.6}.p5-points{max-width:760px;color:var(--p-muted);gap:14px;margin:0;padding:0;line-height:1.55;list-style:none;display:grid}.p5-points li{padding-left:18px;position:relative}.p5-points li:before{content:"";background:var(--p-tag);border-radius:2px;width:7px;height:7px;position:absolute;top:.55em;left:0}.p5-toolgroups{gap:18px;margin-top:16px;display:grid}.p5-toolgroup{grid-template-columns:190px 1fr;align-items:start;gap:16px;display:grid}.p5-toolgroup-name{padding-top:9px;font-size:14px;font-weight:600}.p5-tools .p5-toolgroup ul{gap:8px;margin:0}.p5-tools .p5-toolgroup li{align-items:center;gap:8px;padding:7px 12px 7px 9px;font-size:14px;display:inline-flex}.p5-toolgroup svg,.p5-toolgroup img{object-fit:contain;flex-shrink:0;width:17px;height:17px}.p5-toolgroup svg{fill:currentColor}.p5-mono-mark{background:var(--p-ink);width:19px;height:19px;color:var(--p-card);font-family:var(--font-code), monospace;letter-spacing:-.04em;border-radius:5px;place-items:center;font-size:12px;font-weight:700;display:grid}.p5-caps{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:32px;display:grid}.p5-cap{background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:22px 24px}.p5-cap h3{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;margin:10px 0 8px;font-size:26px;font-weight:600}.p5-cap p{color:var(--p-muted);margin:0 0 16px;line-height:1.55}.p5-cap ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.p5-cap li>a,.p5-cap li>span{border:1px solid var(--p-line);color:var(--p-ink);border-radius:999px;padding:4px 10px;font-size:13px;text-decoration:none;display:inline-block}.p5-cap li>a:hover{border-color:var(--p-tag);color:var(--p-tag)}.p5-timeline-wrap{border-left:2px solid var(--p-line);margin:36px 0 8px;padding:0 0 8px 22px;position:relative}.p5-timeline{gap:56px;margin:0;padding:0;list-style:none;display:grid}.p5-timeline-fill{background:var(--p-tag);transform-origin:top;pointer-events:none;z-index:1;width:2px;height:calc(100% - 42px);position:absolute;top:10px;left:-2px;transform:scaleY(0)}.p5-timeline-bead{background:var(--p-tag);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--p-tag) 22%, transparent);pointer-events:none;z-index:2;will-change:transform;border-radius:50%;position:absolute;top:0;left:-7px;transform:translateY(9px)}.p5-timeline>li{position:relative}.p5-timeline>li:before{content:"";box-sizing:border-box;background:var(--p-paper);border:2px solid var(--p-line);z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;top:10px;left:-28px}.p5-timeline>li.is-now:before{background:var(--p-tag);border-color:var(--p-tag)}.p5-timeline-end{font-family:var(--font-code), monospace;letter-spacing:.08em;color:var(--p-muted);margin:36px 0 0;padding-top:4px;font-size:12px;position:relative}.p5-timeline-end:before{content:"";box-sizing:border-box;background:var(--p-tag);border-radius:1px;width:10px;height:10px;position:absolute;top:8px;left:-28px}.p5-job{box-shadow:none;background:0 0;border:0;padding:0;position:relative}.p5-edu{max-width:68ch;margin:12px 0 0;font-size:16px;line-height:1.55}.p5-edu a{text-underline-offset:3px;text-decoration:underline}.p5-badges{flex-wrap:wrap;gap:16px;display:flex}.p5-badge{box-sizing:border-box;background:var(--p-card);border:1px solid var(--p-line);min-width:min(100%,240px);color:inherit;border-radius:14px;flex:240px;align-items:flex-start;gap:12px;padding:14px;text-decoration:none;display:flex;overflow:hidden}.p5-badge:hover{border-color:var(--p-tag);transform:none}.p5-badge img{object-fit:contain;flex-shrink:0;width:56px;height:56px}.p5-badge-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.p5-badge-copy b{overflow-wrap:break-word;font-size:13px;line-height:1.3}.p5-badge-copy span{color:var(--p-muted);overflow-wrap:break-word;font-size:13px}.p5-more{border:1.5px dashed var(--p-line);color:inherit;border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:14px;padding:18px 20px;text-decoration:none;display:flex}.p5-more span{color:var(--p-muted)}.p5-more i{margin-left:auto;font-style:normal;font-weight:600}.p5-earlier{margin-top:48px}.p5-earlier summary{cursor:pointer;color:var(--p-ink);padding:14px 8px;font-size:14px;font-weight:600;list-style:none}.p5-earlier summary::-webkit-details-marker{display:none}.p5-earlier summary:hover{background:color-mix(in srgb, var(--p-card) 55%, transparent)}@media (max-width:640px){.p5-toolgroup,.p5-core-row,.p5-caps{grid-template-columns:1fr}}.p5-cap-stack li{border:1px solid var(--p-line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 7px;font-size:13px;display:inline-flex}.p5-cap-stack svg,.p5-cap-stack img{object-fit:contain;width:14px;height:14px}.p5-cap-stack svg{fill:currentColor}.p5-cap-stack .p5-mono-mark{width:20px;height:20px;font-size:12px}.p5-do{grid-template-columns:minmax(240px,.8fr) 2fr;align-items:start;gap:48px;display:grid}.p5-do-head{top:calc(var(--header-h) + 38px);position:sticky}.p5-do-head h2{font-family:var(--font-display), sans-serif;letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(40px,5vw,60px);font-weight:600;line-height:1.02}.p5-do-head .p5-sub{max-width:300px;margin:0}.p5-do-list{border-top:1px solid var(--p-line);margin:0;padding:0;list-style:none}.p5-do-list li{border-bottom:1px solid var(--p-line);isolation:isolate;grid-template-columns:44px 1fr;column-gap:12px;padding:26px 20px 28px 8px;display:grid;position:relative}.p5-do-list li:before{content:"";z-index:-1;background:var(--p-card);transform-origin:0;border-radius:12px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scaleX(0)}.p5-do-list li:hover:before{transform:scaleX(1)}.p5-do-list .p5-num{grid-row:span 3;padding-top:12px}.p5-do-list h3{font-family:var(--font-display), sans-serif;letter-spacing:-.035em;margin:0 0 8px;font-size:28px;font-weight:600;line-height:1.05;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.p5-do-list li:hover h3{transform:translate(8px)}.p5-do-list p{max-width:600px;color:var(--p-muted);margin:0;font-size:16px;line-height:1.55}@media (max-width:860px){.p5-do{grid-template-columns:1fr;gap:24px}.p5-do-head{position:static}}.p5-degree{border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:18px 0 34px;padding:18px 0;display:flex}.p5-degree b{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:24px;font-weight:600}.p5-degree span:last-child{color:var(--p-muted)}.p5-contact p.p5-where{font-family:var(--font-code), monospace;margin-top:-14px;font-size:13px}.p5-tabmark{color:var(--p-ink);background:var(--p-card);border:1px solid var(--p-line);border-bottom:2px solid var(--p-tag);font-family:var(--font-code), monospace;border-radius:8px 8px 3px 3px;align-items:center;gap:8px;padding:7px 14px 7px 11px;font-size:14px;text-decoration:none;display:inline-flex}.p5-tabmark svg{width:14px;height:14px;fill:var(--p-tag)}.p5-tabmark i{color:var(--p-muted);font-style:normal}.p5-ghost{cursor:pointer;color:inherit;font:inherit;align-items:center;text-decoration:none;display:inline-flex}.p5-dock a,.p5-dock button{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:none}@media (pointer:coarse){.p5-dock{gap:8px}.p5-dock a,.p5-dock .p5-btn{align-items:center;min-height:44px;padding-inline:8px;display:inline-flex}}.p5-mail{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;display:flex}.p5-mail-link{font-family:var(--font-code), monospace;color:inherit;text-underline-offset:4px;font-size:18px;text-decoration:underline}.p5-contact-place{color:var(--p-muted);margin:0 0 26px;font-size:13px}dialog.p5-modal-box{border:1px solid var(--p-line);margin:auto;position:fixed;inset:0}dialog.p5-modal-box::backdrop{background:color-mix(in srgb, var(--p-ink) 42%, transparent)}.p5-mail code{font-family:var(--font-code), monospace;background:var(--p-card);border:1px solid var(--p-card-line,var(--p-line));border-radius:10px;padding:8px 12px;font-size:18px}.p5-mail .p5-hint{color:var(--p-muted);font-size:13px}.p5-form{gap:14px;margin-top:8px;display:grid}.p5-form label{gap:6px;font-size:13px;font-weight:500;display:grid}.p5-form input,.p5-form textarea{box-sizing:border-box;border:1px solid var(--p-line);background:var(--p-card);width:100%;color:var(--p-ink);border-radius:10px;padding:10px 12px}.p5-form textarea{resize:vertical;min-height:140px;font:inherit}.p5-form .p5-btn:disabled{opacity:.4;cursor:not-allowed}.p5-fallbacks{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.p5-fallbacks p{color:var(--p-muted);flex-basis:100%;margin:0;font-size:13px}.p5-modal{z-index:40;background:color-mix(in srgb, var(--p-ink) 42%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.p5-modal-box{background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;width:min(520px,100%);max-height:min(90vh,720px);padding:28px;overflow:auto;box-shadow:0 24px 60px -18px #141a1280}.p5-modal-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.p5-modal-head h2{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;margin:0;font-size:28px;font-weight:600}.p5-modal-head .p5-ghost{flex-shrink:0}.p5-home{padding-bottom:calc(72px + 16px + env(safe-area-inset-bottom,0px))}.p5-project{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:28px 24px 80px}.p5-crumb{font-family:var(--font-code), monospace;color:var(--p-muted);margin:0 0 28px;font-size:13px}.p5-crumb a{color:inherit;text-decoration:none}.p5-crumb a:hover{color:var(--p-tag);text-underline-offset:3px;text-decoration:underline}.p5-project-head{margin-bottom:12px}.p5-project h1{font-family:var(--font-display), sans-serif;letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(44px,6vw,76px);font-weight:600;line-height:.92}.p5-project h1:has(.p5-project-mark){align-items:center;gap:.22em;display:flex}.p5-project-mark{background:var(--p-ink);border-radius:.2em;flex:none;place-items:center;width:.92em;height:.92em;display:inline-grid}.p5-project-mark img{width:72%;height:72%}.p5-project-lead{max-width:640px;color:var(--p-muted);text-wrap:balance;margin:0 0 18px;font-size:18px;line-height:1.55}.p5-project-head .p5-acts{flex-wrap:wrap;gap:10px;margin:0 0 16px;display:flex}.p5-project-head .p5-chips{margin:0}.p5-project-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;display:flex}.p5-project-bar .p5-chips{margin:0}.p5-project-status{font-family:var(--font-code), monospace;color:var(--p-muted);margin:14px 0 0;font-size:13px;font-style:normal}.p5-project-bar .p5-acts a{text-decoration:none}.p5-project-film{margin:var(--block-gap) 0 0}.p5-project-film .p5-k{margin-bottom:10px;display:block}.p5-file{max-width:none;margin:64px 0 0;padding:28px 32px 32px;position:relative}.p5-unbox{box-shadow:none;--p-card-copy:var(--p-muted);background:0 0;border-top:1px solid #141a1226;margin:64px 0 0;padding:24px 0 0}.p5-unbox h2{font-family:var(--font-ui), sans-serif;letter-spacing:.04em;text-transform:lowercase;margin:0 0 18px;font-size:13px;font-weight:600}.p5-unbox .p5-file-points li+li,.p5-unbox .p5-refuse li+li{border-top:1px solid #141a1226;padding-top:14px}.p5-beats summary{cursor:pointer;font-size:14px;font-weight:500}.p5-project-lead{text-wrap:balance}.p5-summary,.p5-file-points p,.p5-trail p,.p5-bullets li{max-width:68ch}.p5-file>.p5-k{margin-bottom:16px;display:block}.p5-file .p5-summary{max-width:none;color:var(--p-ink);margin:0 0 8px;font-size:18px;line-height:1.6}.p5-file-points{border-top:1px dashed var(--p-line);margin:8px 0 0;padding:0;list-style:none}.p5-file-points li{border-bottom:1px solid var(--p-line);grid-template-columns:44px 1fr;gap:8px 12px;padding:18px 0;display:grid}.p5-file-points li:last-child{border-bottom:0;padding-bottom:0}.p5-file-points .p5-num{color:var(--p-tag);padding-top:2px}.p5-file-points p{color:var(--p-muted);margin:0;font-size:16px;line-height:1.55}.p5-refuse{margin:0;padding:0;list-style:none}.p5-refuse li{border-bottom:1px solid var(--p-line);grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:16px 0;display:grid}.p5-refuse li:last-child{border-bottom:0;padding-bottom:0}.p5-refuse code{font-family:var(--font-code), monospace;overflow-wrap:anywhere;grid-column:1;font-size:13px}.p5-refuse span{color:var(--p-muted);grid-column:1;font-size:14px;line-height:1.45}.p5-trail{border-left:1.5px solid var(--p-line);margin:4px 0 0;padding:0;list-style:none}.p5-trail>li{padding:0 0 24px 22px;position:relative}.p5-trail>li:last-child{padding-bottom:0}.p5-trail-wrap{margin:4px 0 0;position:relative}.p5-trail-wrap>.p5-trail{margin:0}.p5-trail-fill{background:var(--p-tag);transform-origin:top;pointer-events:none;z-index:1;width:2px;height:0;position:absolute;top:10px;left:0;transform:scaleY(0)}.p5-trail-bead{background:var(--p-tag);pointer-events:none;z-index:2;will-change:transform;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:0;left:-2.75px;transform:translateY(10.5px)}.p5-trail>li.is-now:before{background:var(--p-tag)}.p5-trail>li:before{content:"";background:var(--p-card);border:1.5px solid var(--p-tag);border-radius:2px;width:9px;height:9px;position:absolute;top:6px;left:-5px}.p5-trail header{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.p5-trail header b{font-size:16px}.p5-trail header i{font-family:var(--font-code), monospace;color:var(--p-muted);font-size:12px;font-style:normal}.p5-trail p{color:var(--p-muted);margin:0 0 10px;font-size:14px;line-height:1.5}.p5-next{border-top:1px solid var(--p-line);grid-template-columns:1fr 1fr;gap:24px;margin:64px 0 0;padding:22px 0 0;display:grid}.p5-next a{min-width:0;color:inherit;font-family:var(--font-display), sans-serif;letter-spacing:-.03em;gap:4px;font-size:20px;font-weight:600;text-decoration:none;display:grid}.p5-next a:last-child{text-align:right}.p5-next a span{font-family:var(--font-code), monospace;letter-spacing:0;color:var(--p-muted);font-size:12px;font-weight:400}.p5-next a:hover{color:var(--p-tag)}.p5-next a:focus-visible{outline:2px solid var(--p-tag);outline-offset:3px}@media (max-width:640px){.p5-file{padding:22px 18px 24px}.p5-next{grid-template-columns:1fr}.p5-next a:last-child{text-align:left}}.p5-featured{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;display:grid}a.p5-feature{color:inherit;flex-direction:column;gap:10px;padding:24px;text-decoration:none;transition:transform .2s;display:flex}a.p5-feature:hover{transform:translateY(-2px)}.p5-feature h3{font-family:var(--font-display), sans-serif;letter-spacing:-.035em;margin:0;font-size:28px;font-weight:600}.p5-feature>p{color:var(--p-card-copy);-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.5em;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.p5-feature .p5-chips{margin-top:auto;padding-top:6px}.p5-feature-go{font-size:14px;font-weight:600}.p5-more-head{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;margin:64px 0 0;font-size:28px;font-weight:600}.p5-rows{border-top:1px solid var(--p-line);margin:0;padding:0;list-style:none}.p5-rows a{border-bottom:1px solid var(--p-line);color:inherit;grid-template-columns:160px 1fr 20px;align-items:baseline;gap:18px;padding:14px 8px;text-decoration:none;display:grid}.p5-rows a:hover{background:color-mix(in srgb, var(--p-card) 55%, transparent)}.p5-rows b{font-size:17px}.p5-rows span{color:var(--p-muted)}.p5-rows em{font-style:normal}.p5-rows .p5-row-film{background:var(--p-yellow);color:#17150f;font-family:var(--font-serif), serif;white-space:nowrap;margin-left:10px;padding:1px 9px;font-size:15px;font-style:italic;display:inline-block;transform:rotate(-2deg);box-shadow:0 4px 10px -6px #17150f66}.p5-rows .p5-row-film b{font-size:11px;font-weight:400}@media (max-width:860px){.p5-featured{grid-template-columns:1fr}.p5-rows a{grid-template-columns:1fr auto;gap:4px 12px}.p5-rows span{grid-area:2/1/auto/-1}.p5-rows em{display:none}}.p5-proof-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.p5-proof-head .is-net{background:color-mix(in srgb, var(--p-tag) 12%, var(--p-card));color:var(--p-tag);font-family:var(--font-code), monospace;border-radius:6px;padding:3px 8px;font-size:13px}.p5-stats{border-bottom:1px solid var(--p-card-line);flex-wrap:wrap;gap:8px 32px;margin:14px 0 18px;padding-bottom:16px;display:flex}.p5-stats div{align-items:baseline;gap:8px;display:flex}.p5-stats dd{font-family:var(--font-display), sans-serif;letter-spacing:-.04em;order:-1;margin:0;font-size:30px;font-weight:600;line-height:1}.p5-stats dt{color:var(--p-card-copy);font-size:13px}.p5-proof-note{color:var(--p-card-copy);margin:0 0 12px;line-height:1.55}.p5-contracts{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px 28px;margin:0;padding:0;list-style:none;display:grid}.p5-contracts>li{min-width:0}.p5-contracts>li>b{overflow-wrap:anywhere;margin-bottom:4px;font-size:15px;font-weight:600;display:block}.p5-contracts ul{margin:0;padding:0;list-style:none}.p5-contracts ul li{border-top:1px solid var(--p-card-line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:5px 0;display:flex}.p5-proof-record{margin:14px 0 0;font-size:14px}.p5-proof-record a{color:var(--p-ink)}.p5-contract-role{min-width:7.5em;color:var(--p-card-copy);font-size:12px}.p5-contracts a{color:var(--p-ink);text-decoration:none}.p5-contracts a:hover code{text-decoration:underline}.p5-contracts code{font-family:var(--font-code), monospace;font-size:13px}.p5-contracts i{color:var(--p-card-copy);font-size:12px;font-style:normal}.p5-contracts i.is-ok{color:var(--p-ok)}.p5-dock{transition:transform .3s,opacity .3s}.p5-dock.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,calc(100% + 30px))}@media (max-width:640px){.p5-dock{gap:10px;padding:4px 4px 4px 12px;font-size:13px}}.p5-footer{max-width:1120px;padding:20px 24px calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--p-line);margin:48px auto 0}.p5-footer-back{color:var(--p-muted);margin:0 0 10px;font-size:14px;text-decoration:none;display:inline-block}.p5-footer-back:hover{color:var(--p-tag)}.p5-footer-line{font-family:var(--font-code), monospace;color:var(--p-muted);margin:0;font-size:12px}.p5-footer-line a{color:inherit;text-underline-offset:3px;text-decoration:underline}.p5-footer-line a:hover{color:var(--p-tag)}.p5-footer-time{font-variant-numeric:tabular-nums;text-align:left;width:5ch;display:inline-block}.p5-project-head .p5-chips li,.p5-project-bar .p5-chips li,.p5-project-bar .p5-chips li.is-net{background:0 0}@media (prefers-reduced-motion:reduce){.p5-dock,.p5-do-list li:before,.p5-do-list li:hover h3{transition:none}.p5-timeline-bead,.p5-timeline-fill,.p5-trail-bead,.p5-trail-fill{will-change:auto}}@media (max-width:640px){.p5-nav a,.p5-crumb a,.p5-btn,.p5-ghost,.p5-contracts a,.p5-footer-back{min-height:44px}}
