@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2tuvx2ggl0uf7.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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.048ctm9k7u_u3.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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.2t3qiyt2vl-ta.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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2_s53-223o24o.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:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_fa157df-module__10GrYq__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_fa157df-module__10GrYq__variable{--font-pf-mono:"DM Mono", "DM Mono Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_24d7637e-module__ACHHfG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_24d7637e-module__ACHHfG__variable{--font-pf-sans:"Inter", "Inter Fallback"}
.pf-root{--bg:#fff;--fg:#1e3a8a;--muted:#3b5b8c;--faint:#64748b;--line:#bfdbfe;--edge:#dbeafe;--frame:#93c5fd;--dotc:#bfdbfe;--link:#cfdff5;--surface:#fff;--card:#f5f9ff;--soft:#eff6ff;--head:#ffffffeb;--accent:#2563eb;--accent-2:#3b82f6;--accent-ink:#1d4ed8;--chip-ink:#1e40af;--on-accent:#fff;--on-accent-muted:#dbeafe;--code:#5b7299;--node-ink:#6b84ad;--glow:#2563eb73;--glow-frame:#2563eb59;--dots:.12}.pf-root.dark{--bg:#0a0c08;--fg:#eef2e6;--muted:#a4ad98;--faint:#7f8a73;--line:#2a3320;--edge:#232b1a;--frame:#4d7c0f;--dotc:#46562f;--link:#333f25;--surface:#141810;--card:#0f120c;--soft:#182012;--head:#0a0c08e0;--accent:#a3e635;--accent-2:#bef264;--accent-ink:#bef264;--chip-ink:#d9f99d;--on-accent:#0f1a04;--on-accent-muted:#365314;--code:#96a388;--node-ink:#8f9b80;--glow:#a3e63533;--glow-frame:#a3e63529;--dots:.07}html:has(.pf-root){--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}html:has(.pf-root.dark){--lightningcss-light: !important;--lightningcss-dark:initial!important;color-scheme:dark!important}.pf-root *{box-sizing:border-box}.pf-root{background:var(--bg);color:var(--fg);font-family:var(--font-pf-sans),system-ui,sans-serif;margin:0;overflow-x:clip}.pf-root:before{content:"";pointer-events:none;opacity:var(--dots);background-image:radial-gradient(var(--accent) .5px,transparent .5px);background-size:5px 5px;position:fixed;inset:0}.pf-root .site{max-width:1440px;margin:auto;padding:0 42px}.pf-root header{border-bottom:1px solid var(--line);background:var(--head);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;justify-content:space-between;align-items:center;height:76px;display:flex;position:sticky;top:0}.pf-root .brand{font:500 17px var(--font-pf-mono),monospace;color:var(--fg);cursor:pointer;background:0 0;border:0}.pf-root .brand span{color:var(--muted)}.pf-root nav{gap:28px;display:flex}.pf-root button,.pf-root a{font:inherit}.pf-root nav button,.pf-root nav a,.pf-root .socials a{color:var(--muted);cursor:pointer;font:400 14px var(--font-pf-mono),monospace;background:0 0;border:0;text-decoration:none}.pf-root nav button.on,.pf-root nav button:hover,.pf-root nav a:hover,.pf-root .socials a:hover{color:var(--fg)}.pf-root .theme{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s;display:inline-flex}.pf-root .theme:hover{border-color:var(--accent)}.pf-root .theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pf-root .hero{min-height:720px;padding:56px 0 96px;position:relative}.pf-root .headend{align-items:center;gap:18px;display:flex}.pf-root .status{font:14px var(--font-pf-mono),monospace;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;display:flex}.pf-root .dot{background:var(--accent-2);width:7px;height:7px;box-shadow:0 0 14px color-mix(in srgb,var(--accent-2) 40%,transparent);border-radius:50%}.pf-root .hero h1{letter-spacing:-.075em;max-width:1100px;margin:35px 0 80px;font-size:clamp(55px,8.3vw,125px);font-weight:500;line-height:.95}.pf-root .hero h1 em,.pf-root .section h2 i,.pf-root .contact h2 i{color:var(--accent);font-family:Georgia,serif;font-weight:400}.pf-root .metrics{border-top:1px solid var(--line);gap:70px;padding-top:22px;display:flex}.pf-root .metrics div{align-items:flex-start;gap:16px;display:flex}.pf-root .metrics b{font:500 30px var(--font-pf-mono),monospace}.pf-root .metrics span{font:13px var(--font-pf-mono),monospace;color:var(--muted);line-height:1.45}.pf-root .scroll{color:var(--muted);font:13px var(--font-pf-mono),monospace;align-items:center;gap:8px;display:flex;position:absolute;bottom:45px;right:0}.pf-root .skills{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0}.pf-root .term{font:16px/1.6 var(--font-pf-mono),monospace;color:var(--code);padding:26px 24px 28px}.pf-root .term dl{margin:0}.pf-root .term dt span,.pf-root .term-caret{color:var(--accent)}.pf-root .term dt b{color:var(--fg);font-weight:500}.pf-root .term dd{flex-wrap:wrap;gap:8px;margin:12px 0 26px;display:flex}.pf-root .term dd span{border:1px solid var(--edge);background:var(--surface);color:var(--chip-ink);align-items:center;gap:8px;padding:7px 11px;font-size:13px;display:inline-flex}.pf-root .term dd img{flex-shrink:0;width:18px;height:18px}.pf-root.dark .term dd img.mono{filter:invert()}.pf-root .term-caret:after{content:"";vertical-align:text-bottom;background:var(--accent);width:9px;height:1.15em;margin-left:10px;animation:1.1s step-end infinite pfblink;display:inline-block}@keyframes pfblink{50%{opacity:0}}.pf-root .section{border-bottom:1px solid var(--line);padding:130px 0}.pf-root .sectionhead{color:var(--muted);font:13px var(--font-pf-mono),monospace;text-transform:lowercase;align-items:flex-end;gap:15px;margin-bottom:75px;display:flex}.pf-root .sectionhead span{font:400 72px/.9 var(--font-pf-sans),system-ui,sans-serif;letter-spacing:-.04em;color:#0000;-webkit-text-stroke:1.2px var(--accent)}.pf-root .sectionhead b{font:400 13px var(--font-pf-mono),monospace;color:var(--muted);text-transform:lowercase;overflow-wrap:anywhere;padding-bottom:6px}.pf-root .identity-grid{grid-template-columns:1.05fr .95fr;gap:90px;display:grid}.pf-root .lead{letter-spacing:-.02em;font-size:28px;line-height:1.35}.pf-root .identity-grid p:not(.lead),.pf-root .three p{color:var(--muted);font-size:16px;line-height:1.8}.pf-root .codecard{background:var(--card);border:1px solid var(--edge);box-shadow:0 18px 40px -30px var(--glow);border-radius:22px;align-self:start;overflow:hidden}.pf-root .codehead{border-bottom:1px solid var(--edge);font:14px var(--font-pf-mono),monospace;color:var(--muted);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pf-root .codedots{gap:8px;display:flex}.pf-root .codedots i{background:var(--dotc);border-radius:50%;width:10px;height:10px}.pf-root .codecard pre{font:16px/2 var(--font-pf-mono),monospace;color:var(--code);white-space:pre-wrap;margin:0;padding:24px 24px 28px}.pf-root .code-tag{color:var(--accent)}.pf-root .code-name{color:var(--accent-2)}.pf-root .three{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:56px;margin-top:70px;padding-top:52px;display:grid}.pf-root .three h4{font:500 14px var(--font-pf-mono),monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.22em;margin:0 0 18px}.pf-root .three p{margin:0;font-size:17px;line-height:1.75}.pf-root .logtitle,.pf-root .workintro,.pf-root .stackintro{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.pf-root .section h2{letter-spacing:-.065em;margin:0;font-size:clamp(42px,6vw,82px);font-weight:500;line-height:.95}.pf-root .workintro p,.pf-root .stackintro p{max-width:410px;color:var(--muted);font-size:16px;line-height:1.7}.pf-root .cases{margin-top:90px}.pf-root .case{border-top:1px solid var(--line);padding:38px 0}.pf-root .case-top{color:var(--faint);font:12px var(--font-pf-mono),monospace;justify-content:space-between;margin-bottom:25px;display:flex}.pf-root .case h3{letter-spacing:-.04em;max-width:800px;margin:0 0 45px;font-size:36px;font-weight:500}.pf-root .casegrid{grid-template-columns:repeat(3,1fr);gap:45px;display:grid}.pf-root .casegrid h5{font:12px var(--font-pf-mono),monospace;color:var(--accent-ink);text-transform:uppercase;margin:0 0 12px}.pf-root .casegrid p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.pf-root .hl{color:var(--accent);font-weight:600}.pf-root .tags{flex-wrap:wrap;gap:7px;margin-top:35px;display:flex}.pf-root .tags span,.pf-root .chips span{border:1px solid var(--line);color:var(--accent-ink);font:12px var(--font-pf-mono),monospace;padding:7px 9px}.pf-root .scale{border-bottom:1px solid var(--line);padding:90px 0}.pf-root .mono{font:13px var(--font-pf-mono),monospace;color:var(--muted)}.pf-root .scale>strong{font:500 100px var(--font-pf-mono),monospace;letter-spacing:-.08em;margin-top:25px;display:block}.pf-root .scale>p{max-width:540px;color:var(--muted);font-size:16px;line-height:1.7}.pf-root .moduletitle{font:500 16px var(--font-pf-mono),monospace;color:var(--fg)}.pf-root .chips{flex-wrap:wrap;gap:5px;display:flex}.pf-root .chips span{padding:5px 7px;font-size:11px}.pf-root .contact{padding-bottom:80px}.pf-root .availability{font:12px var(--font-pf-mono),monospace;color:var(--muted);margin-bottom:35px}.pf-root .contact h2{letter-spacing:-.07em;margin:0;font-size:clamp(48px,7vw,100px);line-height:.93}.pf-root .contactrow{gap:12px;margin-top:55px;display:flex}.pf-root .contactrow button,.pf-root .contactrow a{border:1px solid var(--line);background:var(--soft);color:var(--chip-ink);font:13px var(--font-pf-mono),monospace;cursor:pointer;align-items:center;gap:9px;padding:13px 16px;text-decoration:none;display:flex}.pf-root .contactrow a{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--on-accent)}.pf-root .socials{gap:30px;margin-top:80px;display:flex}.pf-root .socials a{font-size:13px}.pf-root footer{color:var(--faint);font:12px var(--font-pf-mono),monospace;padding:25px 0 35px}.pf-root footer a{color:var(--faint);text-decoration:none;transition:color .2s}.pf-root footer a:hover{color:var(--accent)}@media (max-width:800px){.pf-root .site{padding:0 20px}.pf-root header{height:65px}.pf-root nav{display:none}.pf-root .hero{min-height:650px;padding-top:36px;padding-bottom:60px}.pf-root .hero h1{margin:30px 0 60px;font-size:53px}.pf-root .metrics{gap:25px}.pf-root .metrics div{display:block}.pf-root .metrics b{margin-bottom:7px;display:block}.pf-root .identity-grid,.pf-root .three,.pf-root .casegrid{grid-template-columns:1fr;gap:35px}.pf-root .section{padding:90px 0}.pf-root .sectionhead{margin-bottom:50px}.pf-root .logtitle,.pf-root .workintro,.pf-root .stackintro{display:block}.pf-root .case h3{font-size:28px}.pf-root .scroll{display:none}.pf-root .skills{padding:40px 0}.pf-root .term{padding:20px 16px 22px;font-size:14px}.pf-root .term dd{gap:6px;margin:10px 0 22px}.pf-root .term dd span{gap:6px;padding:5px 8px;font-size:12px}.pf-root .term dd img{width:16px;height:16px}.pf-root .contactrow{flex-direction:column}.pf-root .contactrow>*{justify-content:center}.pf-root .socials{margin-top:50px}}.pf-root .hero{--pw:clamp(300px,min(calc((100vh - 162px)*2/3),30vw),430px);--nh:calc(min(820px,(min(100vw,1440px) - 84px)*.96 - var(--pw) - 40px)/7.4);display:block}.pf-root .hero h1{max-width:min(820px,calc(96% - var(--pw) - 40px));min-height:calc(var(--pw)*1.5 - 89px - var(--nh)*.81)}.pf-root .portrait{width:var(--pw);aspect-ratio:2/3;border:2px solid var(--frame);background:var(--soft);box-shadow:0 30px 80px -30px var(--glow-frame);z-index:1;border-radius:28px;position:absolute;top:46px;right:4%;overflow:hidden}.pf-root .portrait img{object-fit:cover}.pf-root .phone{border:2px solid var(--frame);background:var(--surface);width:250px;height:500px;box-shadow:0 30px 80px -30px var(--glow-frame);z-index:1;border-radius:38px;padding:22px 18px;position:absolute;top:120px;right:4%}.pf-root .phone.small{width:260px;height:460px;position:relative;top:auto;right:auto}.pf-root .phone.small.shot{aspect-ratio:716/1600;width:285px;max-width:100%;height:auto;padding:8px}.pf-root .phone-shot{background:var(--soft);border-radius:29px;width:100%;height:100%;position:relative;overflow:hidden}.pf-root .phone-shot img{object-fit:cover}.pf-root .screen-shot{aspect-ratio:16/9;border:2px solid var(--frame);background:var(--soft);width:100%;box-shadow:0 30px 80px -30px var(--glow-frame);border-radius:20px;position:relative;overflow:hidden}.pf-root .screen-shot img{object-fit:cover}.pf-root .hero .scroll{bottom:32px;left:0;right:auto}.pf-root .case{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.pf-root .case.flip .caseart{order:2}.pf-root .casegrid{grid-template-columns:1fr;gap:26px}.pf-root .caseart{justify-content:center;align-items:center;gap:20px;display:flex}.pf-root .caseart.pair .phone.small.shot{width:min(260px,50% - 10px)}.pf-root .scale{text-align:center}.pf-root .scale>strong{font:500 clamp(110px,15vw,210px)/1 var(--font-pf-sans),system-ui,sans-serif;letter-spacing:-.06em;color:var(--accent);margin:25px 0 30px}.pf-root .scale>strong i{color:#0000;-webkit-text-stroke:2px var(--accent);font-style:normal}.pf-root .scale>p{margin:0 auto}.pf-root .disciplines{border-top:1px solid var(--line);text-align:left;grid-template-columns:repeat(4,1fr);margin-top:64px;display:grid}.pf-root .disciplines>div{border-left:1px solid var(--line);padding:28px 28px 0}.pf-root .disciplines>div:first-child{border-left:0;padding-left:0}.pf-root .disciplines span{font:13px var(--font-pf-mono),monospace;color:var(--accent)}.pf-root .disciplines h4{font:500 22px/1.25 var(--font-pf-sans),system-ui,sans-serif;letter-spacing:-.02em;margin:14px 0 8px}.pf-root .disciplines p{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.pf-root .contact{text-align:center}.pf-root .contact h2{margin:0 auto}.pf-root .contactrow,.pf-root .socials{justify-content:center}@media (max-width:800px){.pf-root .hero h1{max-width:none;min-height:0}.pf-root .portrait{border-radius:20px;width:160px;margin-bottom:28px;position:relative;top:auto;right:auto}.pf-root .case{grid-template-columns:minmax(0,1fr);gap:40px}.pf-root .case.flip .caseart{order:0}.pf-root .disciplines{grid-template-columns:1fr 1fr;margin-top:44px}.pf-root .disciplines>div{padding:22px 0 22px 18px}.pf-root .disciplines>div:nth-child(odd){border-left:0;padding-left:0}.pf-root .disciplines>div:nth-child(n+3){border-top:1px solid var(--line)}}.pf-root .modmap{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:20px;margin-top:50px;display:grid}.pf-root .mapbox{background:var(--card);border:1px solid var(--edge);border-radius:22px;min-width:0;padding:18px 24px 24px}.pf-root .maphint{font:13px var(--font-pf-mono),monospace;color:var(--muted);margin-bottom:12px}.pf-root .mapsvg{width:100%;max-width:920px;height:auto;margin:0 auto;display:block}.pf-root .maplink{fill:none;stroke:var(--link);stroke-width:1.3px}.pf-root .maplink.on{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 6;animation:.7s linear infinite pfdash,.3s both pfin}.pf-root .mapmark{fill:var(--link)}.pf-root .mapmark.on{fill:var(--accent)}.pf-root .mapnode{cursor:pointer;outline:none}.pf-root .mapnode rect{fill:var(--surface);stroke:var(--edge);stroke-width:1.2px;transition:fill .3s,stroke .3s}.pf-root .mapnode text{font:500 14px var(--font-pf-mono),monospace;fill:var(--node-ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .3s}.pf-root .mapnode.near rect{stroke:var(--accent);stroke-width:1.6px}.pf-root .mapnode.near text{fill:var(--fg)}.pf-root .mapnode.sel rect{fill:var(--accent);stroke:var(--accent)}.pf-root .mapnode.sel text{fill:var(--on-accent)}.pf-root .mapnode:focus-visible rect{stroke:var(--fg);stroke-width:2.4px}.pf-root .mapinfo{background:var(--surface);border:1px solid var(--edge);box-shadow:0 18px 40px -30px var(--glow);border-radius:22px;flex-direction:column;padding:22px;display:flex}.pf-root .mapinfo-top{font:12px var(--font-pf-mono),monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;margin-bottom:22px;display:flex}.pf-root .mapinfo-body{flex-direction:column;flex:1;animation:.35s both pfin;display:flex}.pf-root .mapinfo .moduletitle{color:var(--accent);font-size:18px}.pf-root .mapinfo p{color:var(--muted);margin:14px 0 18px;font-size:15px;line-height:1.65}.pf-root .mapinfo .chips{margin-bottom:18px}.pf-root .maplinked{border-top:1px solid var(--edge);margin-top:auto;padding-top:16px}.pf-root .maplinked span{font:12px var(--font-pf-mono),monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:block}.pf-root .maplinked div{flex-wrap:wrap;gap:6px 12px;display:flex}.pf-root .maplinked b{font:500 13px var(--font-pf-mono),monospace;color:var(--fg)}@keyframes pfdash{to{stroke-dashoffset:-12px}}@keyframes pfin{0%{opacity:0}}@media (max-width:1100px){.pf-root .modmap{grid-template-columns:minmax(0,1fr)}.pf-root .mapinfo{min-height:230px}}@media (max-width:760px){.pf-root .mapbox{padding:16px 0 18px 16px}.pf-root .mapscroll{padding-right:16px;overflow-x:auto}.pf-root .mapsvg{min-width:720px;margin:0}.pf-root .maphint:after{content:" · drag sideways →"}.pf-root .mapinfo{min-height:330px}}@media (prefers-reduced-motion:reduce){.pf-root .maplink.on,.pf-root .mapinfo-body,.pf-root .term-caret:after{animation:none}}.pf-root .logview{border:1px solid var(--edge);background:var(--surface);box-shadow:0 18px 40px -30px var(--glow);border-radius:22px;margin-top:60px;overflow:hidden}.pf-root .loghead{background:var(--card);border-bottom:1px solid var(--edge);font:14px var(--font-pf-mono),monospace;color:var(--muted);align-items:center;gap:14px;padding:16px 20px;display:flex}.pf-root .logcount{margin-left:auto}.pf-root .logfilters{border-bottom:1px solid var(--edge);flex-wrap:wrap;gap:10px;padding:18px 20px;display:flex}.pf-root .logfilters button{border:1px solid var(--line);background:var(--surface);color:var(--chip-ink);font:14px var(--font-pf-mono),monospace;cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:8px 14px;transition:background .2s,color .2s,border-color .2s;display:flex}.pf-root .logfilters button:hover{border-color:var(--accent)}.pf-root .logfilters button b{color:var(--muted);font-weight:500}.pf-root .logfilters button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pf-root .logfilters button.on b{color:var(--on-accent-muted)}.pf-root .logitem{border-bottom:1px solid var(--edge)}.pf-root .logitem:last-child{border-bottom:0}.pf-root .logrow{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:0;grid-template-columns:34px 118px 128px minmax(0,1fr) 22px;align-items:center;gap:16px;padding:20px;transition:background .2s;display:grid}.pf-root .logrow:hover,.pf-root .logitem.open .logrow{background:var(--card)}.pf-root .logrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pf-root .logn,.pf-root .logwhen{font:13px var(--font-pf-mono),monospace;color:var(--muted)}.pf-root .logtag{font:12px var(--font-pf-mono),monospace;background:var(--soft);color:var(--accent-ink);border-radius:999px;justify-self:start;padding:5px 10px}.pf-root .logtag.work{background:var(--accent);color:var(--on-accent)}.pf-root .logmain{flex-direction:column;gap:4px;min-width:0;display:flex}.pf-root .logmain strong{font:500 21px/1.25 var(--font-pf-sans),system-ui,sans-serif;letter-spacing:-.02em}.pf-root .logmain em{font:normal 15px/1.4 var(--font-pf-sans),system-ui,sans-serif;color:var(--muted)}.pf-root .logchev{color:var(--accent);transition:transform .35s cubic-bezier(.22,1,.36,1)}.pf-root .logitem.open .logchev{transform:rotate(180deg)}.pf-root .logbody{grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1);display:grid}.pf-root .logitem.open .logbody{grid-template-rows:1fr}.pf-root .logbody>div{min-height:0;padding:0 20px 0 332px;overflow:hidden}.pf-root .logbody ul{max-width:760px;margin:0;padding:4px 0 0;list-style:none}.pf-root .logbody li{color:var(--muted);margin-bottom:10px;padding-left:20px;font-size:16px;line-height:1.65;position:relative}.pf-root .logbody li:before{content:"";background:var(--accent);width:7px;height:7px;position:absolute;top:.68em;left:0;transform:rotate(45deg)}.pf-root .logbody .chips{margin:16px 0 0}.pf-root .logbody>div>:last-child{margin-bottom:24px}@media (max-width:900px){.pf-root .logrow{grid-template-columns:auto auto minmax(0,1fr) 22px;gap:8px 12px;padding:18px 16px}.pf-root .logn{display:none}.pf-root .logmain{grid-area:2/1/auto/4}.pf-root .logchev{grid-area:1/4/3}.pf-root .logmain strong{font-size:19px}.pf-root .logbody>div{padding:0 16px}.pf-root .logfilters{padding:16px}}.pf-root .reviewcard{border:2px solid var(--frame);background:var(--surface);width:min(330px,100%);box-shadow:0 30px 80px -30px var(--glow-frame);border-radius:28px;flex-direction:column;gap:16px;margin:0;padding:20px;display:flex}.pf-root .reviewcard figcaption{align-items:center;gap:12px;display:flex}.pf-root .reviewcard figcaption img{border:1px solid var(--edge);object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.pf-root .reviewcard b{font:500 17px/1.25 var(--font-pf-sans),system-ui,sans-serif;letter-spacing:-.01em;display:block}.pf-root .reviewcard span{font:13px var(--font-pf-mono),monospace;color:var(--muted);margin-top:3px;display:block}.pf-root .reviewcard p{margin:0;font-size:15px;line-height:1.6}.pf-root .reviewcard video{border:1px solid var(--edge);background:var(--soft);object-fit:cover;border-radius:16px;width:100%;height:auto;display:block}.pf-root .nameparticles{width:100%;max-width:min(820px,calc(96% - var(--pw) - 40px));aspect-ratio:7.4;margin:calc(var(--nh)*-.11) 0 calc(var(--nh)*-.08)}@media (max-width:800px){.pf-root .nameparticles{max-width:none;margin:0}}.pf-root .disciplinecycle{max-width:620px;height:60px;font:500 36px var(--font-pf-sans),system-ui,sans-serif;color:var(--accent);margin:0 auto 14px}@media (max-width:800px){.pf-root .disciplinecycle{height:48px;font-size:28px}}@media (max-width:900px){.pf-root nav{gap:16px}.pf-root .headend{gap:12px}.pf-root .status{font-size:12px}}@media (max-width:350px){.pf-root .status{display:none}}
