/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--sans);--default-mono-font-family:var(--mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--line)}.bg-background{background-color:var(--bg)}.bg-primary{background-color:var(--fg)}.bg-secondary{background-color:var(--soft)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-primary{color:var(--fg)}.text-primary-foreground{color:var(--bg)}.text-secondary-foreground{color:var(--fg)}.underline-offset-4{text-underline-offset:4px}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--soft)}.hover\:bg-primary\/90:hover{background-color:var(--fg)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--fg)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--soft)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--soft)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--fg)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--muted)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--bg:#fafafa;--fg:#0a0a0a;--muted:#666;--line:#e4e4e4;--soft:#f0f0f0;--card:#fff;--shadow:0 1px 2px #0000000a,0 10px 30px -14px #0000001f;--accent:#ea7479;--accent-ink:#c2434c;--contour:#0a0a0a1a;--glow:#ea74792e;--nav:#fafafabf;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono","Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--ease:cubic-bezier(.2,.8,.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--fg:#fff;--muted:#8c8c8c;--line:#232323;--soft:#0f0f0f;--card:#090909;--shadow:none;--accent-ink:#f7a8a9;--accent:#f7a8a9;--contour:#ffffff14;--glow:#f7a8a924;--nav:#000000b8;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--fg:#fff;--muted:#8c8c8c;--line:#232323;--soft:#0f0f0f;--card:#090909;--shadow:none;--accent-ink:#f7a8a9;--accent:#f7a8a9;--contour:#ffffff14;--glow:#f7a8a924;--nav:#000000b8;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}@supports (overflow:clip){html,body{overflow-x:clip}}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65;overflow-x:clip}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);position:fixed;inset:0 0 auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:#0a0a0a}.container{width:100%;max-width:1040px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin-inline:auto}@media (min-width:768px){.container{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}@media (min-width:1200px){.container{padding-left:max(48px,env(safe-area-inset-left,0px));padding-right:max(48px,env(safe-area-inset-right,0px))}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.progress{left:0;right:0;top:env(safe-area-inset-top,0px);z-index:40;background:var(--accent);transform-origin:0;height:2px;position:fixed;transform:scaleX(0)}.nav{top:env(safe-area-inset-top,0px);z-index:20;background:var(--nav);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky}.nav .container{justify-content:space-between;align-items:center;gap:16px;height:56px;display:flex}.mark{font-family:var(--mono);letter-spacing:.04em;align-items:baseline;font-size:13px;font-weight:500;display:inline-flex}.mark i{color:var(--accent-ink);font-style:normal;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:0}}.nav-links{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:flex}.nav-links a{border-radius:6px;padding:6px 10px;transition:color .25s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--fg)}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:2px;left:10px;right:10px;transform:scaleX(0)}.nav-links a.active:after{transform:scaleX(1)}.theme-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--fg);cursor:pointer;transition:background .2s,transform .4s var(--ease);background:0 0;border-radius:8px;place-items:center;margin-left:8px;display:grid}.theme-btn:hover{background:var(--soft)}.theme-btn:active{transform:rotate(-30deg)scale(.92)}.theme-btn svg{width:15px;height:15px}.i-sun{display:none}:root[data-theme=dark] .i-sun{display:block}:root[data-theme=dark] .i-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .i-sun{display:block}:root:not([data-theme=light]) .i-moon{display:none}}@media (max-width:500px){.nav-links a{display:none}}.hero-wrap{position:relative;overflow:hidden}#topo{pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000 0,#000 12% 70%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 12%,#000 70%,#0000)}.hero{flex-direction:column;gap:22px;padding-block:88px 64px;display:flex;position:relative}.status{width:fit-content;color:var(--muted);font-size:12px;font-family:var(--mono);border:1px solid var(--line);background:var(--nav);-webkit-backdrop-filter:blur(6px);animation:fadeUp .8s var(--ease)both;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 8px;display:inline-flex}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:relative}.dot:after{content:"";border:1px solid var(--accent);opacity:0;border-radius:50%;animation:2.4s ease-out infinite ping;position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes fadeUp{0%{opacity:0;filter:blur(4px);transform:translateY(12px)}to{opacity:1;filter:none;transform:none}}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.3rem,8vw,3.4rem);font-weight:500;line-height:1.04}h1 .line{padding-bottom:.06em;display:block;overflow:hidden}h1 .word{white-space:nowrap;display:inline-block}h1 .ch{white-space:pre;animation:rise .9s var(--ease)both;animation-delay:calc(var(--i)*28ms + .12s);transition:transform .35s var(--ease),color .35s;display:inline-block}h1 .line:first-child .ch:hover{color:var(--accent);transform:translateY(-.08em)}h1 .sub{color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(105%)}to{opacity:1;transform:none}}.lead{max-width:34em;color:var(--muted);text-wrap:pretty;animation:fadeUp .9s var(--ease).7s both;margin:0;font-size:16px}.lead b{color:var(--fg);font-weight:500}.hl{white-space:nowrap;position:relative}.hl:after{content:"";background:var(--accent);transform-origin:0;height:1px;animation:draw .8s var(--ease)both;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.hl:first-of-type:after{animation-delay:1.2s}.hl:nth-of-type(2):after{animation-delay:1.35s}.hl:nth-of-type(3):after{animation-delay:1.5s}.hl:nth-of-type(4):after{animation-delay:1.65s}@keyframes draw{to{transform:scaleX(1)}}.meta{font-family:var(--mono);color:var(--muted);animation:fadeUp .9s var(--ease).85s both;flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex}.meta span{gap:6px;display:inline-flex}.meta em{color:var(--fg);font-variant-numeric:tabular-nums;font-style:normal}.colon{animation:2s step-end infinite blink}.actions{animation:fadeUp .9s var(--ease)1s both;flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.btn{border:1px solid var(--line);cursor:pointer;background:var(--bg);height:38px;color:var(--fg);transition:transform .4s var(--ease),background .2s,border-color .2s;border-radius:9px;align-items:center;gap:8px;padding-inline:16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn svg{width:14px;height:14px;transition:transform .35s var(--ease)}.btn:hover svg.arrow{transform:translate(3px)}.btn:hover svg.down{transform:translateY(2px)}.btn .roll{height:1.3em;line-height:1.3em;display:inline-grid;overflow:hidden}.btn .roll span{transition:transform .4s var(--ease);grid-area:1/1}.btn .roll span+span{transform:translateY(110%)}.btn:hover .roll span:first-child{transform:translateY(-110%)}.btn:hover .roll span+span{transform:none}section{border-top:1px solid var(--line);padding-block:48px}.label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);align-items:center;gap:10px;margin:0 0 22px;font-size:11.5px;font-weight:300;display:flex}.label:before{content:attr(data-n);color:var(--accent-ink)}.prose p{text-wrap:pretty;max-width:36em;margin:0 0 14px}.prose p:last-child{margin-bottom:0}.prose em{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-style:normal}.pre{opacity:0;filter:blur(6px);transform:translateY(18px)}.in{transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s)}.spot{isolation:isolate;position:relative}.spot:before{content:"";z-index:-1;border-radius:inherit;opacity:0;background:radial-gradient(260px circle at var(--mx,50%)var(--my,50%),var(--glow),transparent 70%);transition:opacity .3s;position:absolute;top:0;right:0;bottom:0;left:0}.spot:hover:before{opacity:1}.timeline{flex-direction:column;gap:4px;display:flex;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:10px;bottom:10px;left:5px}.timeline .rail{background:var(--accent);transform-origin:top;width:1px;height:calc(100% - 20px);transform:scaleY(var(--p,0));position:absolute;top:10px;left:5px}.job{border-radius:12px;grid-template-columns:11px 1fr;gap:0 20px;margin-left:0;padding:14px 14px 14px 0;display:grid}.job .node{background:var(--bg);border:1px solid var(--muted);width:11px;height:11px;transition:background .3s,border-color .3s,transform .3s var(--ease);border-radius:50%;margin-top:7px}.job:hover .node,.job.now .node{background:var(--accent);border-color:var(--accent)}.job:hover .node{transform:scale(1.25)}.what{min-width:0}.what .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.what h3{margin:0;font-size:15px;font-weight:500}.what h3 a{align-items:center;gap:4px;display:inline-flex}.what h3 a svg{width:13px;height:13px;color:var(--muted);transition:transform .3s var(--ease),color .3s}.job:hover h3 a svg{color:var(--accent);transform:translate(2px,-2px)}.when{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:300}.job.now .when{color:var(--fg)}.job.now .when:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:8px;animation:2s step-end infinite blink;display:inline-block}.role{color:var(--muted);margin:2px 0 8px;font-size:13px}.what p{color:var(--muted);margin:0;font-size:14px}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;transition:border-color .25s,color .25s}.job:hover .tag{border-color:var(--muted);color:var(--fg)}.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.work-item{border:1px solid var(--line);background:var(--bg);min-width:0;transition:transform .45s var(--ease),border-color .3s;transform-style:preserve-3d;will-change:transform;border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.work-item:hover{border-color:var(--muted)}.work-item .ico{border:1px solid var(--line);width:30px;height:30px;color:var(--accent);transition:transform .45s var(--ease);border-radius:8px;place-items:center;margin-bottom:6px;display:grid}.work-item:hover .ico{transform:rotate(-8deg)scale(1.08)}.work-item .ico svg{width:15px;height:15px}.work-item .k{font-family:var(--mono);color:var(--muted);font-size:11px}.work-item h3{margin:0;font-size:14px;font-weight:500}.work-item p{color:var(--muted);margin:0;font-size:13px}@media (max-width:520px){.work{grid-template-columns:1fr}}.marquee{flex-direction:column;gap:10px;padding-block:6px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000)}.track{will-change:transform;gap:10px;width:max-content;animation:38s linear infinite slide;display:flex}.track.rev{animation-duration:44s;animation-direction:reverse}@keyframes slide{to{transform:translate(calc(-50% - 5px))}}.chip{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;transition:border-color .25s,color .25s;display:inline-flex}.chip small{font-family:var(--mono);color:var(--muted);font-size:11px}.chip:hover{border-color:var(--accent)}.certs{flex-direction:column;display:flex}.cert{border-bottom:1px dashed var(--line);border-radius:12px;grid-template-columns:90px 1fr;gap:4px 20px;padding:14px 12px;display:grid}.cert:last-child{border-bottom:0}.cert h3{margin:0;font-size:14px;font-weight:500}.cert .role{margin:0}@media (max-width:480px){.cert{grid-template-columns:1fr}}.contact .big{letter-spacing:-.04em;text-wrap:balance;margin:0 0 10px;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:500;line-height:1.08}.contact .big .w{transition:transform .5s var(--ease),color .3s;display:inline-block}.contact .big:hover .w:nth-child(odd){transform:translateY(-3px)}.contact .big:hover .w:nth-child(2n){transform:translateY(3px)}.contact .big .acc{color:var(--accent)}.contact p{color:var(--muted);margin:0 0 22px}.email-line{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:440px;padding:6px 6px 6px 14px;transition:border-color .3s;display:flex}.email-line:hover{border-color:var(--muted)}.email-line code{font-family:var(--mono);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;min-width:0;font-size:13px}.socials{color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:22px;font-size:13px;display:flex}.socials a{align-items:center;gap:4px;transition:color .25s;display:inline-flex;position:relative}.socials a:after{content:"";transform-origin:100%;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;bottom:-2px;left:0;right:16px;transform:scaleX(0)}.socials a:hover{color:var(--fg)}.socials a:hover:after{transform-origin:0;transform:scaleX(1)}.socials svg{width:12px;height:12px;transition:transform .3s var(--ease)}.socials a:hover svg{transform:translate(2px,-2px)}footer{border-top:1px solid var(--line)}footer .container{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block:24px 40px;font-size:11px;display:flex}.top-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.top-btn:hover{color:var(--fg)}.status-text{height:1.5em;line-height:1.5em;display:inline-grid;overflow:hidden}.status-text span{transition:transform .6s var(--ease),opacity .6s;grid-area:1/1}.status-text span+span{opacity:0;transform:translateY(100%)}.status-text.swap span:first-child{opacity:0;transform:translateY(-100%)}.status-text.swap span+span{opacity:1;transform:none}h1 .ch.out{animation:fall .45s var(--ease)both;animation-delay:calc(var(--j)*14ms)}@keyframes fall{to{opacity:0;transform:translateY(-105%)}}.hint{color:var(--accent-ink)}.hint:before{content:"◎ "}.prose .wd{color:var(--muted);transition:color .35s}.prose .wd.lit{color:var(--fg)}.prose em.wd.lit{color:var(--accent-ink)}.band{border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;padding-block:26px;overflow:hidden}.band-track{will-change:transform;width:max-content;display:flex}.band-item{letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:.5em;padding-right:.5em;font-size:clamp(2.2rem,9vw,4.2rem);font-weight:300;line-height:1;display:inline-flex}.band-item .o{color:#0000;-webkit-text-stroke:1px var(--muted);font-weight:500}.band-item .star{color:var(--accent);font-size:.45em;animation:6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.work-item .ico svg *{stroke-dasharray:1;stroke-dashoffset:0}.work-item.pre .ico svg *{stroke-dashoffset:1px}.work-item.in .ico svg *{transition:stroke-dashoffset 1.4s var(--ease)calc(var(--d,0s) + .25s)}.work-item:hover .ico svg *{animation:redraw 1s var(--ease)}@keyframes redraw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.chip{transition:border-color .25s,transform .35s var(--ease)}.chip:hover{transform:translateY(-3px)}.contact .big{font-weight:400}.contact .big .cw{transition:font-weight .18s linear;display:inline-block}.pipe{border:1px solid var(--line);background:var(--bg);border-radius:14px;flex-direction:column;grid-column:1/-1;gap:18px;min-width:0;padding:18px;display:flex}.pipe-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pipe-head h3{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:500}.pipe-count{font-family:var(--mono);color:var(--muted);font-size:12px}.pipe-count em{color:var(--fg);font-variant-numeric:tabular-nums;font-style:normal;display:inline-block}.pipe-count em.bump{animation:bump .35s var(--ease)}@keyframes bump{40%{color:var(--accent);transform:translateY(-3px)}}#hr-head.bump{animation-name:bumpGray}@keyframes bumpGray{40%{color:var(--muted);transform:translateY(-3px)}}.tile{border:1px solid var(--line);background:var(--bg);border-radius:14px;flex-direction:column;gap:18px;min-width:0;padding:18px;display:flex}.tile.wide{grid-column:1/-1}.wf{align-items:flex-start;gap:6px;display:flex}.wn{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.wn .box{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);background:var(--bg);transition:border-color .3s,color .3s,transform .35s var(--ease);border-radius:10px;place-items:center;display:grid;position:relative}.wn .box svg{width:17px;height:17px}.wn small{font-family:var(--mono);color:var(--muted);font-size:10px;transition:color .3s}.wn .box:before{content:"";background:var(--bg);transform-origin:0;opacity:0;border-radius:2px;height:2px;position:absolute;bottom:6px;left:7px;right:7px;transform:scaleX(0)}.wn.run .box{background:var(--fg);border-color:var(--fg);color:var(--bg);transform:translateY(-2px)}.wn.run .box:before{opacity:.85;animation:fillBar var(--dur,.6s)linear forwards}@keyframes fillBar{to{transform:scaleX(1)}}.wn.run small,.wn.ok small{color:var(--fg)}.wn.ok .box{border-color:var(--fg);color:var(--fg)}.wn.ok .box:after{content:"✓";background:var(--accent);color:#0a0a0a;width:15px;height:15px;animation:pop .35s var(--ease);border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.wl{border-top:1px dashed var(--line);flex:1;min-width:8px;margin-top:20px;transition:border-color .3s;position:relative}.wl.done{border-top-style:solid;border-color:var(--fg)}.wfd{background:var(--accent);opacity:0;border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.wl.go .wfd{animation:.45s linear forwards wfTravel}@keyframes wfTravel{0%{opacity:1;left:0}99%{opacity:1}to{opacity:0;left:calc(100% - 7px)}}.wf-log{font-family:var(--mono);background:var(--soft);border-radius:10px;flex-direction:column;justify-content:flex-end;gap:2px;min-width:0;height:84px;padding:10px 12px;font-size:11px;display:flex;overflow:hidden}.wf-log div{white-space:nowrap;text-overflow:ellipsis;animation:fadeUp .3s var(--ease)both;overflow:hidden}.wf-log .m{color:var(--muted)}.wf-log .ok{color:var(--fg);font-weight:500}.wf-log .ok:before{content:"● ";color:var(--accent)}.phone-stage{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:300px;display:flex}.devices{align-items:flex-end;gap:14px;display:flex}.dev{flex-direction:column;align-items:center;gap:6px;display:flex}.dev small{font-family:var(--mono);color:var(--muted);font-size:9.5px}.dev.ios{animation:5s ease-in-out infinite float}.dev.android{animation:5s ease-in-out -2.5s infinite float}.dev-scr{border:4px solid var(--fg);background:var(--bg);border-radius:22px;width:104px;height:208px;position:relative;overflow:hidden}.android .dev-scr{border-radius:14px}.notch{background:var(--fg);z-index:6;border-radius:6px;width:34px;height:9px;margin-left:-17px;position:absolute;top:4px;left:50%}.punch{background:var(--fg);z-index:6;border-radius:50%;width:7px;height:7px;margin-left:-3.5px;position:absolute;top:6px;left:50%}.splash{background:var(--fg);z-index:5;place-items:center;transition:opacity .45s;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.splash .logo{border:2px solid var(--bg);border-radius:7px;width:24px;height:24px;transform:rotate(45deg)}.dev-scr[data-step="0"] .logo{animation:1s cubic-bezier(.2,.8,.2,1) logoIn}@keyframes logoIn{0%{opacity:0;transform:rotate(-90deg)scale(.2)}to{opacity:1;transform:rotate(45deg)scale(1)}}.dev-scr:not([data-step="0"]) .splash{opacity:0;pointer-events:none}.mtrack{transition:transform .55s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.sc{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:26px 10px 44px;display:flex}.sc b{letter-spacing:-.02em;font-size:12px;font-weight:600}.sc .ln{background:var(--line);border-radius:2px;width:70%;height:4px;display:block}.sc .ln.short{width:45%}.art{width:56px;height:56px;margin-bottom:8px;position:relative}.art i{display:block;position:absolute}.a1 i:first-child{background:var(--fg);border-radius:50%;width:30px;height:30px;animation:3s ease-in-out infinite orbitA;top:6px;left:4px}.a1 i:nth-child(2){border:2px solid var(--muted);border-radius:50%;width:30px;height:30px;animation:3s ease-in-out infinite orbitB;bottom:6px;right:4px}.a1 i:nth-child(3){display:none}@keyframes orbitA{50%{transform:translate(8px,6px)}}@keyframes orbitB{50%{transform:translate(-8px,-6px)}}.a2 i{background:var(--fg);transform-origin:bottom;border-radius:3px 3px 0 0;width:12px;animation:1.6s cubic-bezier(.2,.8,.2,1) infinite alternate barUp;bottom:6px}.a2 i:first-child{background:var(--muted);height:20px;left:6px}.a2 i:nth-child(2){height:34px;animation-delay:.2s;left:22px}.a2 i:nth-child(3){background:var(--line);border:1px solid var(--muted);height:44px;animation-delay:.4s;left:38px}@keyframes barUp{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.a3 i:first-child{border:2px solid var(--fg);border-radius:50%;top:4px;right:4px;bottom:4px;left:4px}.a3 i:nth-child(2){border-right:3px solid var(--fg);border-bottom:3px solid var(--fg);width:12px;height:22px;top:14px;left:18px;transform:rotate(45deg)}.a3 i:nth-child(3){border:1px dashed var(--muted);border-radius:50%;animation:8s linear infinite spin;top:-4px;right:-4px;bottom:-4px;left:-4px}.dots{justify-content:center;gap:4px;transition:opacity .3s;display:flex;position:absolute;bottom:12px;left:0;right:0}.dots i{background:var(--line);border-radius:3px;width:5px;height:5px;transition:width .35s cubic-bezier(.2,.8,.2,1),background .35s}.dev-scr[data-step="1"] .dots i:first-child,.dev-scr[data-step="2"] .dots i:nth-child(2),.dev-scr[data-step="3"] .dots i:nth-child(3){background:var(--fg);width:14px}.dev-scr[data-step="0"] .dots,.dev-scr[data-step="4"] .dots{opacity:0}.cta{background:var(--fg);height:20px;color:var(--bg);opacity:0;border-radius:10px;place-items:center;font-size:8px;font-weight:500;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;bottom:24px;left:10px;right:10px;transform:translateY(8px)}.dev-scr[data-step="3"] .cta{opacity:1;transform:none}.dev-scr[data-step="3"] .cta.press{transform:scale(.9)}.finger{opacity:0;z-index:7;pointer-events:none;background:#80808073;border:1px solid #808080cc;border-radius:50%;width:18px;height:18px;position:absolute;top:52%;left:66%}.finger.swipe{animation:.7s cubic-bezier(.2,.8,.2,1) swipeF}@keyframes swipeF{0%{opacity:0;transform:translate(8px)}25%{opacity:1}to{opacity:0;transform:translate(-52px)}}.finger.tap{animation:.5s cubic-bezier(.2,.8,.2,1) tapF;top:calc(100% - 44px);left:calc(50% - 9px)}@keyframes tapF{0%{opacity:0;transform:scale(1.5)}40%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1)}}.home{justify-content:flex-start;align-items:stretch;gap:6px;padding-top:24px}.h-top{justify-content:space-between;align-items:center;display:flex}.h-top b{font-size:11px}.h-top .av{background:var(--line);border:1px solid var(--muted);border-radius:50%;width:13px;height:13px}.h-card{background:var(--fg);border-radius:9px;height:46px;position:relative;overflow:hidden}.h-card:after{content:"";background:var(--bg);opacity:.6;border-radius:2px;width:50%;height:4px;position:absolute;bottom:8px;left:8px}.h-card:before{content:"";background:var(--bg);opacity:.35;border-radius:2px;width:30%;height:4px;position:absolute;top:8px;left:8px}.h-row{border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;height:18px;padding:0 6px;display:flex}.h-row:before{content:"";border:1px solid var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.h-row:after{content:"";background:var(--line);border-radius:2px;width:55%;height:3px}.home>*{opacity:0;transform:translateY(8px)}.dev-scr[data-step="4"] .home>*{animation:.45s cubic-bezier(.2,.8,.2,1) forwards cascade;animation-delay:calc(var(--k)*90ms)}@keyframes cascade{to{opacity:1;transform:none}}.cmd{font-family:var(--mono);color:var(--muted);white-space:nowrap;height:1.6em;font-size:10.5px}.cmd-p,.cmd .ok{color:var(--fg)}.site-stage{place-items:center;height:300px;display:grid}.browser{border:1px solid var(--line);background:var(--bg);width:100%;max-width:270px;height:236px;transition:max-width .9s var(--ease);border-radius:12px;animation:6s ease-in-out infinite float;position:relative;overflow:hidden}.browser.mobile{max-width:132px}.b-bar{border-bottom:1px solid var(--line);background:var(--soft);align-items:center;gap:8px;padding:7px 9px;display:flex}.b-dots{flex:none;gap:4px;display:inline-flex}.b-dots i{border:1px solid var(--muted);border-radius:50%;width:6px;height:6px}.b-url{min-width:0;font-family:var(--mono);color:var(--muted);white-space:nowrap;background:var(--bg);border-radius:5px;flex:1;align-items:center;padding:2px 7px;font-size:9.5px;display:flex;overflow:hidden}.b-url .caret{width:4px;height:9px}.b-page{flex-direction:column;gap:12px;padding:10px;display:flex}.b-nav{justify-content:space-between;align-items:center;display:flex}.b-logo{background:var(--line);width:12px;height:12px;transition:background .5s,transform .6s var(--ease);border-radius:3px}.b-links{gap:5px;display:inline-flex}.b-links i{background:var(--line);border-radius:2px;width:14px;height:4px;transition:background .5s}.b-hero{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.b-h1,.b-p,.b-btn{background:var(--line);color:#0000;white-space:nowrap;border-radius:4px;max-width:100%;transition:background .5s,color .5s .15s,border-radius .5s;position:relative;overflow:hidden}.b-h1{letter-spacing:-.03em;font-size:15px;font-weight:600;line-height:1.15}.b-p{font-size:9px;line-height:1.4}.b-btn{border-radius:999px;margin-top:4px;padding:3px 9px;font-size:8.5px;font-weight:500}.b-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.b-cards span{background:var(--soft);height:40px;transition:background .5s,border-color .5s,height .6s var(--ease);border:1px solid #0000;border-radius:6px;align-items:flex-end;padding:6px;display:flex}.b-cards i{background:var(--line);border-radius:2px;width:60%;height:3px;transition:background .5s;display:block}.browser.mobile .b-cards{grid-template-columns:1fr}.browser.mobile .b-cards span{height:18px}.browser.mobile .b-links{display:none}.browser.mobile .b-h1{font-size:12px}.browser:not(.built) .b-h1:after,.browser:not(.built) .b-p:after,.browser:not(.built) .b-btn:after,.browser:not(.built) .b-cards span:after{content:"";background:linear-gradient(90deg,transparent,var(--bg),transparent);opacity:.7;animation:1.1s linear infinite shimmer;position:absolute;top:0;right:0;bottom:0;left:0}.b-cards span{position:relative;overflow:hidden}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.browser.built .b-logo{background:var(--fg);transform:rotate(45deg)scale(.85)}.browser.built .b-links i{background:var(--muted)}.browser.built .b-h1,.browser.built .b-p{color:var(--fg);background:0 0}.browser.built .b-p{color:var(--muted)}.browser.built .b-btn{background:var(--fg);color:var(--bg)}.browser.built .b-cards span{background:var(--bg);border-color:var(--line)}.browser.built .b-cards i{background:var(--fg)}.b-cursor{pointer-events:none;opacity:0;width:11px;height:14px;transition:transform .9s var(--ease),opacity .3s;position:absolute;top:0;left:0}.b-cursor:before{content:"";background:var(--fg);clip-path:polygon(0 0,0 100%,30% 74%,52% 100%,68% 92%,46% 66%,90% 64%);position:absolute;top:0;right:0;bottom:0;left:0}.b-cursor.on{opacity:1}.b-cursor.click:after{content:"";border:1px solid var(--fg);width:16px;height:16px;animation:clickRing .5s var(--ease)forwards;border-radius:50%;position:absolute;top:-8px;left:-8px}@keyframes clickRing{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}.b-btn.pressed{transform:scale(.92)}.flow{width:100%;height:auto;display:block;overflow:visible}.flow .edge{fill:none;stroke:var(--line);stroke-width:1.5px;stroke-dasharray:4 5;animation:1s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-9px}}.flow .pulse{fill:var(--muted)}.flow .pulse-out{fill:var(--accent)}.flow .node{fill:var(--bg);stroke:var(--line);stroke-width:1px}.flow .node.out{stroke:var(--accent)}.flow text{font-family:var(--sans);fill:var(--fg);text-anchor:middle;font-size:14px}.flow .hub{fill:var(--bg);stroke:var(--accent);stroke-width:1.2px}.flow .hub-t{font-family:var(--mono);fill:var(--accent);font-size:12px}.flow .ring{fill:none;stroke:var(--accent);stroke-dasharray:2 7;opacity:.6;transform-origin:300px 85px;transform-box:view-box;animation:9s linear infinite spin}.payload{font-family:var(--mono);color:var(--muted);background:var(--soft);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;min-width:0;padding:10px 12px;font-size:11.5px;overflow:hidden}.payload code{color:var(--fg);font-family:inherit}.caret{vertical-align:-2px;background:var(--accent);width:6px;height:12px;margin-left:1px;animation:1s step-end infinite blink;display:inline-block}.term{border:1px solid var(--line);font-family:var(--mono);background:var(--bg);border-radius:14px;font-size:13px;overflow:hidden}.term-bar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:10px 14px;font-size:11px;display:flex}.term-bar .live{align-items:center;gap:6px;display:inline-flex}.term-body{cursor:text;height:300px;padding:14px;line-height:1.65;overflow-y:auto}.term-line{white-space:pre-wrap;overflow-wrap:anywhere;animation:fadeUp .3s var(--ease)both}.term .p{color:var(--accent-ink)}.term .m{color:var(--muted)}.term .b{color:var(--fg);font-weight:500}.term-input-row{align-items:baseline;gap:8px;display:flex}.term input{min-width:0;color:var(--fg);font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1;padding:0}@media (pointer:coarse){.term input{font-size:16px}}.term-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.term-chips button{font-family:var(--mono);cursor:pointer;border:1px solid var(--line);color:var(--muted);transition:border-color .25s,color .25s,transform .3s var(--ease);background:0 0;border-radius:999px;padding:4px 10px;font-size:11px}.term-chips button:hover{border-color:var(--accent);color:var(--fg);transform:translateY(-2px)}.giant{letter-spacing:-.06em;-webkit-user-select:none;user-select:none;justify-content:center;padding-block:48px 8px;font-size:clamp(4.5rem,23vw,13rem);font-weight:600;line-height:.9;display:flex;overflow:hidden}.gl{color:#0000;-webkit-text-stroke:1px var(--muted);will-change:transform;transition:color .4s,-webkit-text-stroke-color .4s;display:inline-block}.gl.hot{color:var(--accent);-webkit-text-stroke-color:var(--accent)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;opacity:0;pointer-events:none;font-family:var(--mono);background:var(--fg);color:var(--bg);transition:opacity .4s var(--ease),transform .4s var(--ease);border-radius:999px;padding:8px 14px;font-size:12px;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.egg{color:var(--accent-ink)}.egg-count{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:4px;padding:0;display:inline-flex}.egg-count:before{content:"";border:1px solid;border-radius:50%/60% 60% 40% 40%;align-self:center;width:7px;height:9px}.egg-count b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}.egg-count:hover{color:var(--fg)}.egg-count.bump{animation:eggWobble .7s var(--ease)}@keyframes eggWobble{20%{transform:rotate(-8deg)scale(1.15)}40%{transform:rotate(6deg)scale(1.15)}60%{transform:rotate(-3deg)}}.coords{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.coords:hover{color:var(--fg);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.theme-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.theme-btn.holding{animation:1.2s linear forwards holdPulse}@keyframes holdPulse{to{box-shadow:inset 0 0 0 16px var(--fg);color:var(--bg)}}.lights{z-index:45;cursor:pointer;--lx:50%;--ly:40%;-webkit-mask-image:radial-gradient(circle 130px at var(--lx)var(--ly),transparent 0,transparent 55%,#000 100%);mask-image:radial-gradient(circle 130px at var(--lx)var(--ly),transparent 0,transparent 55%,#000 100%);background:#000;animation:.4s both lightsIn;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes lightsIn{0%{opacity:0}to{opacity:1}}.matrix{pointer-events:none;z-index:2;opacity:.92;width:100%;height:100%;transition:opacity .7s;position:absolute;top:0;right:0;bottom:0;left:0}.matrix.gone{opacity:0}:root.crt body{font-family:var(--mono);text-shadow:0 0 1px}:root.crt body:after{content:"";z-index:90;pointer-events:none;background:repeating-linear-gradient(#8080801f 0,#8080801f 1px,#0000 1px,#0000 3px),radial-gradient(#0000 55%,#00000059);animation:.12s steps(2,end) infinite crtFlicker;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes crtFlicker{50%{opacity:.85}}:root.crt h1,:root.crt .contact .big,:root.crt .giant{letter-spacing:-.02em}.mark{position:relative}.zzz{font-family:var(--mono);color:var(--muted);pointer-events:none;font-size:10px;display:none;position:absolute;top:-6px;left:100%}.zzz b{opacity:0;font-weight:500;animation:2.4s ease-in-out infinite zFloat;position:absolute}.zzz b:nth-child(2){font-size:12px;animation-delay:.8s}.zzz b:nth-child(3){font-size:14px;animation-delay:1.6s}@keyframes zFloat{0%{opacity:0;transform:translate(2px,8px)}30%{opacity:1}to{opacity:0;transform:translate(18px,-14px)}}:root.napping .zzz{display:block}:root.napping .mark i{opacity:.3;animation:none}.race{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;padding:18px;display:flex}.race-head{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.racer{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.racer small{width:100%;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.racer b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1}.racer span{font-family:var(--mono);color:var(--muted);font-size:11px}.racer.ghost b{color:var(--muted)}.race-track{flex-direction:column;gap:8px;display:flex}.lane-r{grid-template-columns:44px 1fr;align-items:center;gap:10px;display:grid}.lane-r .who{font-family:var(--mono);color:var(--muted);font-size:10px}.rt-line{background:var(--line);height:1px;position:relative}.rt-line:after{content:"";background:var(--muted);width:1px;height:11px;position:absolute;top:-5px;right:0}.runner{background:var(--fg);border-radius:50%;width:11px;height:11px;transition:left .12s linear;position:absolute;top:-5px;left:0;transform:translate(-50%)}.lane-r.ghost .runner{background:var(--accent)}.race-box{background:var(--soft);cursor:text;border-radius:10px;min-width:0;padding:16px;transition:box-shadow .25s;position:relative}.race-box.focus{box-shadow:inset 0 0 0 1px var(--fg)}.race-text{font-family:var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;color:var(--muted);font-size:15px;line-height:1.8}.race-text .c{transition:color .1s;position:relative}.race-text .c.ok{color:var(--fg)}.race-text .c.bad{color:#0a0a0a;background:var(--accent);border-radius:2px}.race-text .c.cur:before{content:"";background:var(--fg);width:2px;animation:1s step-end infinite blink;position:absolute;top:.15em;bottom:.15em;left:-1px}.race-text .c.gh:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:.05em;left:0;right:0}.race-input{opacity:0;cursor:text;border:0;width:100%;height:100%;font-size:16px;position:absolute;top:0;right:0;bottom:0;left:0}.race-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.race-msg{color:var(--muted);flex:220px;min-width:0;font-size:13px}.race-msg b{color:var(--fg);font-weight:500}.race.done .race-box{animation:raceDone .6s var(--ease)}@keyframes raceDone{30%{transform:scale(1.015)}}.viz{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex}.viz-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.viz-big small,.vc small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.viz-big b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:500;line-height:1}.viz-big .u{font-family:var(--mono);color:var(--muted);margin-left:6px;font-size:11px}.viz-meta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.viz-meta b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}.viz-meta .live{align-items:center;gap:6px;display:inline-flex}.viz-chart{height:200px;position:relative}#v-main{cursor:default;touch-action:pan-y;width:100%;height:100%;display:block}.v-tip{font-family:var(--mono);background:var(--fg);color:var(--bg);pointer-events:none;white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:10.5px;position:absolute;top:4px;transform:translate(-50%)}.viz-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.vc{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.vc b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1}.vc canvas{width:100%;height:44px;display:block}.viz-note{color:var(--muted);margin:0;font-size:12px}@media (max-width:480px){.vc{padding:10px}.vc b{font-size:17px}.vc small{letter-spacing:.06em;font-size:9px}}section.morph{height:390vh;padding-block:0}section.morph:before{z-index:3}.morph-sticky{background:var(--bg);height:100svh;color:var(--fg);position:sticky;top:0;overflow:hidden}#morph-cv{touch-action:pan-y;cursor:default;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.morph-hint{top:calc(68px + env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));font-family:var(--mono);color:var(--muted);pointer-events:none;justify-content:space-between;gap:12px;font-size:10.5px;display:flex;position:absolute;left:0;right:0}.morph-cap{left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom,0px));pointer-events:none;position:absolute}.mc-idx{font-family:var(--mono);color:var(--muted);margin-bottom:8px;font-size:11px}.mc-idx b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}.mc-stack{height:84px;position:relative}.mc{opacity:0;filter:blur(6px);transition:opacity .5s var(--ease),transform .6s var(--ease),filter .5s;position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(14px)}.mc.on{opacity:1;filter:none;transform:none}.mc h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:500;line-height:1.05}.mc p{color:var(--muted);margin:6px 0 0;font-size:15px}.mc-bar{background:var(--line);height:1px;margin-top:14px;overflow:hidden}.mc-bar i{background:var(--fg);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.ring-wrap{perspective:900px;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;place-items:center;height:120px;margin-bottom:22px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14%,#000 86%,#0000)}.ring-wrap:active{cursor:grabbing}.ring3d{width:1px;height:1px;transform-style:preserve-3d;position:relative}.r3{white-space:nowrap;letter-spacing:-.04em;color:var(--fg);will-change:transform,opacity;font-size:clamp(22px,5vw,34px);font-weight:500;line-height:1;position:absolute;top:0;left:0}.r3.front{color:var(--fg)}.tile,.pipe,.race,.viz,.term,.gitlog,.work-item,.email-line,.vc,.status,.browser{background:var(--card)}.tile,.pipe,.race,.viz,.term{box-shadow:var(--shadow)}.gitlog{border:1px solid var(--line)}.race-box,.wf-log,.payload{background:var(--soft)}.btn:not(.primary){background:var(--card)}main{z-index:1;background:var(--bg);box-shadow:0 1px 0 var(--line),0 40px 60px -40px #00000059;border-radius:0 0 32px 32px;position:relative}footer#footer{z-index:0;background:var(--bg);border-top:0;position:fixed;bottom:0;left:0;right:0}footer#footer .curtain{transform-origin:50% 100%;will-change:transform,opacity}.sand-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:18px;padding:26px 22px 170px;position:relative;overflow:hidden}#sand{cursor:pointer;width:100%;height:100%;display:block;position:absolute;bottom:0;left:0;right:0}.sand-content{z-index:1;pointer-events:none;position:relative}.sand-content a,.sand-content button,.sand-content code{pointer-events:auto}.sand-content .email-line{background:var(--card)}.game{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.game-hud{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.game-hud>div{border-right:1px solid var(--line);min-width:0;padding:12px 14px}.game-hud>div:last-child{border-right:0}.game-hud small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:300;display:block}.game-hud b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1;display:inline-block}.game-hud b.pop{animation:bump .35s var(--ease)}.lives{align-items:center;gap:5px;height:22px;display:inline-flex!important}.lives i{background:var(--fg);width:9px;height:9px;transition:background .3s,transform .3s var(--ease);border-radius:50%}.lives i.off{background:var(--line);transform:scale(.7)}.game-stage{touch-action:manipulation;-webkit-user-select:none;user-select:none;height:320px;position:relative}.game-stage.shake{animation:.35s linear gShake}@keyframes gShake{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}#game-cv{cursor:default;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.game-overlay{text-align:center;background:var(--card);-webkit-backdrop-filter:blur(3px);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;transition:opacity .3s;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.game-overlay{background:color-mix(in srgb,var(--card)82%,transparent)}}.game-overlay[hidden]{display:none!important}.game-overlay b{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.2rem,4.5vw,1.6rem);font-weight:500}.game-overlay span{max-width:34em;color:var(--muted);text-wrap:pretty;font-size:13.5px}.game-overlay code{font-family:var(--mono);border:1px solid var(--line);color:var(--fg);border-radius:4px;padding:1px 5px;font-size:12px}@media (max-width:480px){.game-hud b{font-size:18px}.game-hud>div{padding:10px}.game-hud small{letter-spacing:.08em;font-size:9px}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:0;pointer-events:none;white-space:nowrap;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.game-overlay .glitch:before,.game-overlay .glitch:after{white-space:normal;text-align:center}.glitch.glitching{animation:.55s steps(3,end) both glitchSkew}.glitch.glitching:before{opacity:.95;color:var(--accent);animation:.55s steps(2,end) both glitchA}.glitch.glitching:after{opacity:.85;color:var(--muted);animation:.55s steps(2,end) both glitchB}@keyframes glitchA{0%{clip-path:inset(8% 0 72%);transform:translate(-4px,-1px)}20%{clip-path:inset(62% 0 12%);transform:translate(4px,1px)}40%{clip-path:inset(30% 0 46%);transform:translate(-3px)}60%{clip-path:inset(82% 0 4%);transform:translate(3px,1px)}80%{clip-path:inset(4% 0 86%);transform:translate(-2px)}to{clip-path:inset(40% 0);opacity:0;transform:none}}@keyframes glitchB{0%{clip-path:inset(70% 0 8%);transform:translate(4px,1px)}20%{clip-path:inset(18% 0 60%);transform:translate(-4px,-1px)}40%{clip-path:inset(50% 0 28%);transform:translate(3px)}60%{clip-path:inset(6% 0 80%);transform:translate(-3px,1px)}80%{clip-path:inset(88% 0 2%);transform:translate(2px)}to{clip-path:inset(40% 0);opacity:0;transform:none}}@keyframes glitchSkew{0%{transform:none}25%{transform:skew(-9deg)translate(-2px)}50%{transform:skew(6deg)translate(2px)}75%{transform:translate(-1px)}to{transform:none}}.game-stage.glitch-hit #game-cv{animation:.32s steps(2,end) both canvasGlitch}@keyframes canvasGlitch{0%{clip-path:inset(0 0 60%);filter:invert();transform:translate(-8px)}33%{clip-path:inset(40% 0 20%);filter:none;transform:translate(6px)}66%{clip-path:inset(70% 0 0);filter:invert();transform:translate(-4px)}to{clip-path:inset(0);filter:none;transform:none}}.mc h3.glitch:before,.mc h3.glitch:after{white-space:nowrap}.giant.glitch:before,.giant.glitch:after{text-align:center;-webkit-text-stroke:0;height:auto;top:48px}.giant.glitch.glitching{animation:.6s steps(3,end) both glitchSkew}.hero{gap:26px;padding-block:clamp(110px,22vh,190px) clamp(90px,16vh,150px)}.hero h1{font-size:clamp(2.6rem,9vw,4rem)}.hero .lead{font-size:16px}.hero-wrap{position:relative}.scroll-cue{width:max-content;font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);animation:fadeUp 1s var(--ease)1.4s both;flex-direction:column;align-items:center;gap:8px;margin-inline:auto;font-size:10px;font-weight:300;display:flex;position:absolute;bottom:22px;left:0;right:0}.scroll-cue i{background:var(--line);width:1px;height:34px;position:relative;overflow:hidden}.scroll-cue i:after{content:"";background:var(--fg);width:1px;height:40%;animation:1.8s cubic-bezier(.6,0,.4,1) infinite cue;position:absolute;top:-40%;left:0}@keyframes cue{to{top:100%}}.globe-cap .coords{font:inherit;color:inherit}.label:before{content:none}.pipe-count{display:none}:root{--shadow:none}section{padding-block:64px}.pg-tabs{margin-bottom:22px}.tile,.pipe{border-color:var(--line)}.viz-note,.race-foot .race-msg{font-size:12.5px}.avatar{border:1px solid var(--line);background:var(--soft);width:76px;height:76px;animation:fadeUp .9s var(--ease)both;border-radius:50%;display:block;position:relative;overflow:hidden}.avatar img{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%;transition:filter .6s var(--ease),transform .6s var(--ease);display:block;transform:scale(1.02)}.avatar:hover img{filter:none;transform:scale(1.08)}.avatar:after{content:"";pointer-events:none;border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 1px #80808026}.marquee .chip{background:var(--card)}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cert-card{text-align:left;cursor:zoom-in;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit;min-width:0;transition:border-color .3s,transform .45s var(--ease);border-radius:14px;flex-direction:column;gap:10px;padding:10px 10px 16px;display:flex}.cert-card:hover{border-color:var(--muted);transform:translateY(-3px)}.cert-img{aspect-ratio:16/10;background:var(--soft);border-radius:9px;display:block;overflow:hidden}.cert-img img{object-fit:cover;object-position:top;filter:grayscale()contrast(1.05);opacity:.85;width:100%;height:100%;transition:filter .5s var(--ease),opacity .5s,transform .6s var(--ease);display:block}.cert-card:hover .cert-img img{filter:none;opacity:1;transform:scale(1.04)}.cert-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:8px;padding-inline:4px;font-size:10.5px;font-weight:300;display:flex}.cert-meta span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cert-title{letter-spacing:-.01em;padding-inline:4px;font-size:14.5px;font-weight:500;line-height:1.35}@media (max-width:560px){.cert-grid{grid-template-columns:1fr}}.lightbox{z-index:95;cursor:zoom-out;-webkit-backdrop-filter:blur(4px);background:#000000d1;place-items:center;padding:24px;animation:.3s both lightsIn;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox img{max-width:min(960px,100%);max-height:86vh;animation:lbIn .45s var(--ease)both;border-radius:10px;box-shadow:0 30px 80px #00000080}.lightbox[hidden],.lights[hidden]{display:none!important}@keyframes lbIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (min-width:960px){main section:not(.morph)>.container>.label{margin-bottom:28px}section{padding-block:96px}.hero{padding-block:clamp(140px,24vh,230px) clamp(110px,18vh,170px)}.hero h1{letter-spacing:-.05em;font-size:clamp(4rem,6.4vw,6.25rem)}.hero .lead{font-size:18px}.avatar{width:92px;height:92px}.about-grid.about-grid{grid-template-columns:minmax(0,1fr) 300px;gap:56px}.globe{width:260px;height:260px}.prose p{font-size:16.5px;line-height:1.7}.work{gap:14px}.mc h3{font-size:clamp(2.6rem,4.4vw,3.6rem)}.mc-stack{height:104px}.contact .big{font-size:clamp(2.4rem,4vw,3.4rem)}}@media (min-width:1280px){.work{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-grid{gap:16px}}.view-tabs{border:1px solid var(--line);border-radius:10px;gap:2px;margin-bottom:18px;padding:3px;display:inline-flex}.vt{font-family:var(--mono);cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:11px;transition:background .25s,color .25s}.vt.on{background:var(--fg);color:var(--bg)}.gitlog{font-family:var(--mono);background:var(--soft);border-radius:12px;min-height:210px;margin:0;padding:16px;font-size:12.5px;line-height:1.75;overflow-x:auto}.gitlog .gl{white-space:pre;animation:fadeUp .35s var(--ease)both;display:block}.gitlog .g-graph{color:var(--muted)}.gitlog .g-dot{color:var(--fg);font-weight:600}.gitlog .g-hash{color:var(--muted)}.gitlog .g-ref{color:var(--accent-ink)}.gitlog .g-date{color:var(--muted)}section{position:relative;border-top:0!important}section:before{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform 1.4s var(--ease);position:absolute;top:0;left:0;right:0}section.line-pre:before{transform:scaleX(0)}.about-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;display:grid}.globe-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.globe{cursor:grab;touch-action:pan-y;width:220px;max-width:100%;height:220px;display:block}.globe:active{cursor:grabbing}.globe-cap{font-family:var(--mono);color:var(--muted);text-align:center;font-size:10px}@media (max-width:560px){.about-grid{grid-template-columns:1fr}.globe-wrap{order:-1}}.when.flap{flex-wrap:wrap;gap:2px;display:inline-flex}.fl{text-align:center;background:var(--soft);min-width:1.2em;color:var(--fg);border-radius:3px;padding:1px 0;font-size:11px;line-height:1.5;display:inline-block;position:relative}.fl:after{content:"";background:var(--bg);opacity:.8;height:1px;position:absolute;top:50%;left:0;right:0}.fl.sp{background:0 0;min-width:.5em}.fl.sp:after{display:none}.fl.tick{animation:70ms linear flapIt}@keyframes flapIt{50%{transform:scaleY(.55)}}.spark{background:var(--fg);pointer-events:none;z-index:70;width:5px;height:5px;position:fixed;top:0;left:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hl:after{transform:scaleX(1)}.pre{opacity:1;filter:none;transform:none}}.giant{letter-spacing:-.045em;white-space:nowrap;padding-block:56px 10px;font-size:clamp(2rem,8.4vw,10.5rem)}.gl{white-space:pre}@media (min-width:960px){.work{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.work>.pipe,.work>.tile.wide{grid-column:auto}.work>.pipe,.work>.tile{min-height:380px}.work>*>.pipe-head,.work>*>:last-child{margin-bottom:auto}}.gl,.gl.hot{color:var(--fg);-webkit-text-stroke:0}section.lp{height:520vh;padding-block:0}.lp-sticky{height:100svh;position:sticky;top:0;overflow:hidden}#lp-gl{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.lp-head{left:0;right:0;top:calc(84px + env(safe-area-inset-top,0px));z-index:4;pointer-events:none;will-change:transform,opacity;position:absolute}.lp-head .label{pointer-events:auto}.lp-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5.6vw,4.2rem);font-weight:500;line-height:1}.lp-title span{color:var(--muted)}.lp-foot{left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:4;font-family:var(--mono);color:var(--muted);font-size:11.5px;font-weight:300;position:absolute}#lp-cap.swap{animation:lpCap .45s var(--ease)both}@keyframes lpCap{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}}.lp-screen{transform-origin:0 0;pointer-events:none;opacity:0;backface-visibility:hidden;background:#0d0d0d;border-radius:10px;width:1000px;height:625px;position:absolute;top:0;left:0;overflow:hidden}.lp-notch{z-index:5;background:#000;border-radius:0 0 14px 14px;place-items:center;width:12%;height:5%;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.lp-notch i{background:#15151b;border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 2px #24242c}.lp-ed,.lp-app{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.lp-ed{color:#d8d8d8;font-family:var(--mono);background:#0d0d0d;flex-direction:column;font-size:21px;display:flex}.lp-bar{color:#8c8c8c;border-bottom:1px solid #1f1f1f;align-items:center;gap:16px;padding:22px 34px 16px;display:flex}.lp-bar .d{gap:7px;display:flex}.lp-bar .d i{background:#2a2a2a;border-radius:50%;width:11px;height:11px}.lp-bar .s{color:#f7a8a9;margin-left:auto}.lp-code{font:inherit;white-space:pre;flex:1;margin:0;padding:30px 34px;line-height:1.75;overflow:hidden}.lp-code .k{color:#8c8c8c}.lp-code .s{color:#f7a8a9}.lp-code .t{color:#fff;font-weight:500}.lp-code .p{color:#6a6a6a}.lp-code .t.hl{color:#111;background:#f7a8a9;border-radius:4px}.lp-code .cur{vertical-align:-.2em;background:#f7a8a9;width:.55em;height:1.1em;animation:1s step-end infinite lpBlink;display:inline-block}@keyframes lpBlink{50%{opacity:0}}.lp-build{color:#8c8c8c;opacity:0;border-top:1px solid #1f1f1f;align-items:center;gap:16px;padding:18px 34px 24px;display:flex}.lp-build b{background:#1f1f1f;flex:1;height:3px;overflow:hidden}.lp-build b i{transform-origin:0;background:#f7a8a9;height:100%;display:block;transform:scaleX(0)}.lp-app{background:var(--bg);color:var(--fg);opacity:0}.lp-view{transform-origin:50%;pointer-events:none;background:var(--bg);color:var(--fg);position:absolute;top:50%;left:50%;overflow:hidden}.lp-view section{visibility:visible!important;margin:0!important}.mp-toast{font-family:var(--mono);color:#111;opacity:0;transition:opacity .4s var(--ease),transform .5s var(--ease);background:#f7a8a9;border-radius:99px;padding:8px 16px;font-size:17px;position:absolute;bottom:30px;right:30px;transform:translateY(60%)}.lp-app.show .mp-toast{opacity:1;animation:mpToast .5s var(--ease)3.2s forwards;transition-delay:.5s;transform:none}@keyframes mpToast{to{opacity:0;transform:translateY(60%)}}.lp-screen:before,.lp-screen:after{content:"";pointer-events:none;z-index:3;position:absolute}.lp-screen:after{z-index:4;background:repeating-linear-gradient(0deg,#ffffff08 0,#ffffff08 1px,#0000 1px,#0000 4px);animation:5s step-end infinite lpFlicker;top:0;right:0;bottom:0;left:0}@keyframes lpFlicker{0%,to{opacity:.9}47%{opacity:.55}48%{opacity:1}82%{opacity:.7}83%{opacity:.95}}.lp-screen:before{left:0;right:0;top:var(--gy,40%);height:var(--gh,9%);opacity:0;mix-blend-mode:difference;background:repeating-linear-gradient(90deg,#ffffff80 0,#ffffff80 3px,#0000 3px,#0000 9px),#f7a8a959}.lp-screen.gl:before{animation:.26s steps(3,end) both lpBand}.lp-screen.big:before{animation:.22s steps(3,end) 3 both lpBand}@keyframes lpBand{0%{opacity:1;transform:translate(-6%)}50%{opacity:.8;transform:translate(5%)scaleY(.5)}to{opacity:0;transform:translate(-2%)}}.lp-screen.gl .lp-ed,.lp-screen.gl .lp-app{animation:.26s steps(2,end) both lpJit}.lp-screen.big .lp-ed,.lp-screen.big .lp-app{animation:.2s steps(2,end) 3 both lpJit}@keyframes lpJit{0%{filter:drop-shadow(4px 0 #f7a8a9e6)drop-shadow(-4px 0 #fff9);transform:translate(-1.2%)skew(-3deg)}50%{filter:drop-shadow(-3px 0 #f7a8a9e6)drop-shadow(3px 0 #ffffff80)contrast(1.4);transform:translate(1%,.5%)skew(2deg)}to{filter:none;transform:none}}.lp-screen.zoom:before,.lp-screen.zoom:after{display:none}.lp-screen.zoom .mp-toast{animation:none;opacity:0!important}.lp-chips{pointer-events:none;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0}.lp-chip{pointer-events:auto;cursor:pointer;white-space:nowrap;font-family:var(--mono);color:var(--fg);background:var(--bg);border:1px solid var(--fg);-webkit-backdrop-filter:blur(6px);opacity:0;border-radius:999px;padding:8px 14px;font-size:14px;transition:border-color .25s,color .25s,box-shadow .25s;position:absolute;top:0;left:0}@supports (color:color-mix(in lab,red,red)){.lp-chip{background:color-mix(in srgb,var(--bg)70%,transparent);border:1px solid color-mix(in srgb,var(--fg)26%,transparent)}}.lp-chip:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.lp-chip:hover,.lp-chip.hit{border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 30px -4px var(--glow)}@media (max-width:699px){.lp-chip{padding:5px 9px;font-size:10.5px}.lp-chip:before{width:5px;height:5px;margin-right:6px}}.lp-over{z-index:3;pointer-events:none;background:var(--bg);display:none;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.lp-screen:after,.lp-screen.gl:before,.lp-screen.gl .lp-ed,.lp-screen.gl .lp-app,.lp-screen.big:before{animation:none}}.lp-next{z-index:2;background:var(--bg);margin-top:-100svh;position:relative}.stk{align-items:center;min-height:100svh;display:flex}.stk>.container{width:100%}.lp-zooming .lp-next~section,.lp-zooming main~footer{visibility:hidden}.stk-title{letter-spacing:-.055em;margin:0 0 34px;font-size:clamp(2.4rem,7vw,5.2rem);font-weight:500;line-height:1}.stk-title span{color:var(--muted)}section.gal{height:625vh;padding-block:0;position:relative}.gl-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.gl-cv{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.gl-head{left:0;right:0;top:calc(84px + env(safe-area-inset-top,0px));z-index:2;pointer-events:none;will-change:transform,opacity;position:absolute}.gl-head .label{pointer-events:auto}.gl-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5.6vw,4.2rem);font-weight:500;line-height:1}.gl-title span{color:var(--muted)}.bs-list{margin:0;padding:0;list-style:none}.bs-real{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gl-foot{left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:2;pointer-events:none;font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:16px;font-size:11.5px;font-weight:300;display:flex;position:absolute}.gl-cap{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gl-cap.swap{animation:lpCap .45s var(--ease)both}.gl-count{font-variant-numeric:tabular-nums;flex:none}.gl-box{z-index:5;cursor:zoom-out;position:absolute;top:0;right:0;bottom:0;left:0}.gl-box:before{content:"";background:var(--bg);opacity:0;transition:opacity .45s var(--ease);position:absolute;top:0;right:0;bottom:0;left:0}.gl-box.on:before{opacity:.95}#gl-img{transform-origin:50%;max-width:none;transition:transform .5s var(--ease);background:#fff;border-radius:4px;position:absolute;box-shadow:0 30px 80px -20px #000000b3}.gl-close{top:calc(84px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));border:1px solid var(--line);background:var(--card);width:42px;height:42px;color:var(--fg);cursor:pointer;opacity:0;transition:opacity .35s,transform .35s var(--ease);border-radius:50%;font-size:20px;position:absolute;transform:scale(.8)}.gl-box.on .gl-close{opacity:1;transform:none}.gl-boxcap{left:16px;right:16px;bottom:calc(30px + env(safe-area-inset-bottom,0px));text-align:center;font-family:var(--mono);color:var(--muted);opacity:0;font-size:11.5px;font-weight:300;transition:opacity .35s;position:absolute}.gl-box.on .gl-boxcap{opacity:1}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
