@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");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}:root{--font-sans:"Montserrat Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--bg:#f6f8fb;--bg-alt:#eef2f8;--surface:#fff;--text:#121821;--muted:#5d6a7c;--line:#1e375f1a;--accent:#5a7db0;--accent-soft:#5a7db01f;--shadow:0 1px 2px #14233c0a, 0 12px 40px #14233c14;--radius:20px;--net-node:70, 105, 160;--net-pulse:90, 135, 210;--net-strength:2;--header-bg:#f6f8fbbf;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:not([data-theme=light]){--bg:#0b0f15;--bg-alt:#10161f;--surface:#141b25;--text:#e8edf4;--muted:#95a2b4;--line:#aac3e61f;--accent:#9bb8e3;--accent-soft:#9bb8e31f;--shadow:0 1px 2px #0000004d, 0 16px 50px #00000059;--net-node:140, 175, 225;--net-pulse:190, 215, 255;--net-strength:1;--header-bg:#0b0f15b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=light]) :is(.profileCard,.infoCard,.projectCard,.searchBox,.answerCard,.suggestions button,.iconButton,.headerInner>ul,.searchButton,.menuButton,.menuPanel,.modal,.headerSearchPanel,.bottle){--bg:#f6f8fb;--surface:#fff;--text:#121821;--muted:#5d6a7c;--line:#1e375f1f;--accent:#5a7db0;--accent-soft:#5a7db01f;--shadow:0 1px 2px #0000004d, 0 0 40px #9bb8e31f, 0 18px 50px #00000073;color:var(--text)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.section{padding:clamp(4rem,10vw,8rem) 16px}.container{max-width:1100px;margin:0 auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.display{letter-spacing:-.035em;margin:0;font-weight:750;line-height:.98}.display em{color:var(--accent);font-style:normal}.sectionTitle{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400;line-height:.95}.sectionTitle em{color:var(--accent);font-style:italic}.serif{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:400}.serif em{font-style:italic}.iconButton{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;place-items:center;width:44px;height:44px;transition:transform .2s,background-color .2s,border-color .2s;display:inline-grid}.iconButton:hover{border-color:var(--accent);transform:translateY(-2px)}.iconButton svg{font-size:1.15rem}.searchHighlight{animation:2.2s ease-out searchHighlight}@keyframes searchHighlight{0%,30%{box-shadow:0 0 0 3px var(--accent), 0 0 40px rgba(var(--net-pulse), .5)}to{box-shadow:0 0 0 3px #0000}}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.searchBox{border:1px solid var(--line);background:var(--surface);width:100%;height:60px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:0 8px 0 20px;transition:border-color .2s,box-shadow .2s;display:flex}.searchBox:focus-within{border-color:var(--accent);box-shadow:var(--shadow), 0 0 0 4px var(--accent-soft)}.searchBox>svg{color:var(--muted);flex-shrink:0;font-size:1.25rem}.searchBox input{min-width:0;height:100%;font:inherit;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1.05rem}.searchBox input::placeholder{color:var(--muted);opacity:.8}.searchBox input::-webkit-search-cancel-button{display:none}.searchBox .clear{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.searchBox .clear:hover{color:var(--text)}.searchMode{color:var(--muted);margin:.75rem 0 0;font-size:.78rem}.searchMode.off{display:none}.searchMode.indexing{animation:1.2s ease-in-out infinite modePulse}.searchMode.ready:before{content:"● ";color:#3f9d6b}.searchMode a{text-underline-offset:.2em;text-decoration:underline}@keyframes modePulse{50%{opacity:.5}}.below{position:relative}.heroSearch.entry .below,.heroSearch.entry input{transition:opacity .25s}:root[data-search-open] .heroSearch.entry{overflow:hidden}:root[data-search-open] .heroSearch.entry .searchBox{visibility:hidden}:root[data-search-open] .heroSearch.entry input{opacity:0}:root[data-search-open] .heroSearch.entry .below{opacity:0;pointer-events:none}.suggestions.hidden{visibility:hidden}.headerSearchPanel .suggestions.hidden{display:none}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:1rem;display:flex}.suggestions button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.85rem;transition:color .2s,border-color .2s}.suggestions button:hover{color:var(--text);border-color:var(--accent)}.results{text-align:left;width:100%}.results .empty{text-align:center;color:var(--muted);margin:1.25rem 0 0}.results .empty a{color:var(--accent);white-space:nowrap;font-weight:600}.results .closest{color:var(--muted);margin:1rem 0 -.4rem;font-size:.82rem;font-weight:600}.results .kind{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700}.answerCard{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin-top:1rem;padding:1.25rem 1.5rem;animation:.45s cubic-bezier(.2,.7,.2,1) both answerIn}.answerCard h3{letter-spacing:-.02em;margin:.2rem 0 .4rem;font-size:1.15rem}.answerCard p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.answerCard .docAction{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;margin-top:1rem;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.related{margin:.5rem 0 0;padding:0 .5rem;list-style:none}.related li{border-bottom:1px solid var(--line);align-items:baseline;gap:.75rem;padding:.6rem 1rem;font-size:.92rem;display:flex}.related li .kind{flex-shrink:0;width:6.5rem}.related button,.related a{font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.25em;background:0 0;border:none;padding:0}.related button:hover,.related a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@keyframes answerIn{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:none;transform:none}}@media (prefers-reduced-motion:reduce){.answerCard{animation:none}}.results mark{background:var(--accent-soft);color:inherit;box-shadow:0 1px 0 var(--accent);border-radius:3px;padding:0 1px}.answerCard.active{box-shadow:var(--shadow), 0 0 0 2px var(--accent)}.related li.active{background:var(--accent-soft);border-radius:8px}.explain{color:var(--muted);margin-top:.9rem;font-size:.8rem}.explain summary{cursor:pointer;width:fit-content;font-weight:600;list-style:none}.explain summary::-webkit-details-marker{display:none}.explain summary:before{content:"+ "}.explain summary:hover{color:var(--text)}.explain[open] summary:before{content:"– "}.explain ul{margin:.5rem 0 0;padding-left:1rem}.explain li{margin:.2rem 0}.explain b{color:var(--text)}.siteHeader{z-index:50;padding:max(10px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.siteHeader.scrolled{background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom-color:var(--line)}.headerInner{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:1100px;margin:0 auto;display:grid}.headerInner .brand{letter-spacing:-.02em;justify-self:start;font-size:1.15rem;font-weight:700;line-height:1}.headerInner .brand em{color:var(--accent);font-style:normal}.headerInner .brandShort{display:none}.headerInner>ul{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:4px;margin:0;padding:4px;list-style:none;display:flex}.headerInner>ul a{white-space:nowrap;color:var(--muted);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:color .2s,background-color .2s;display:block}.headerInner>ul a:hover{color:var(--text)}.headerInner>ul a[aria-current=true]{color:var(--text);background:var(--accent-soft)}.headerInner .headerTools{justify-self:end;align-items:center;gap:8px;display:flex}.headerInner .searchButton,.headerInner .menuButton{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1.1rem;transition:border-color .2s,color .2s;display:grid}.headerInner .searchButton:hover,.headerInner .searchButton[aria-expanded=true],.headerInner .menuButton:hover,.headerInner .menuButton[aria-expanded=true]{border-color:var(--accent)}@media (width<=560px){.headerInner{grid-template-columns:auto 1fr auto;gap:6px}.headerInner>ul{justify-self:center}.headerInner .brandFull{display:none}.headerInner .brandShort{display:inline}.headerInner>ul a{padding:8px 9px;font-size:.8rem}.headerInner .headerTools{gap:6px}.headerInner .searchButton,.headerInner .menuButton{width:40px;height:40px}}.headerMenu{position:relative}.headerMenu .menuPanel{border:1px solid var(--line);background:var(--surface);min-width:200px;box-shadow:var(--shadow);transform-origin:calc(100% - 20px) -8px;opacity:0;filter:blur(4px);visibility:hidden;pointer-events:none;border-radius:16px;padding:6px;transition:opacity .18s,scale .22s cubic-bezier(.4,0,.6,1),translate .22s,filter .18s,visibility 0s .22s;display:grid;position:absolute;top:calc(100% + 8px);right:0;translate:0 -6px;scale:.6}.headerMenu .menuPanel:before{content:"";height:10px;position:absolute;inset:-10px 0 auto}.headerMenu .menuPanel a,.headerMenu .menuPanel button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:500;display:flex}.headerMenu .menuPanel a svg,.headerMenu .menuPanel button svg{color:var(--accent);font-size:1.05rem}.headerMenu .menuPanel a:hover,.headerMenu .menuPanel a:focus-visible,.headerMenu .menuPanel button:hover,.headerMenu .menuPanel button:focus-visible{background:var(--accent-soft)}.headerMenu .menuPanel a,.headerMenu .menuPanel button{opacity:0;transition:opacity .15s,translate .15s,background .15s;translate:0 -6px}.headerMenu .menuPanel a:first-child,.headerMenu .menuPanel button:first-child{--i:1}.headerMenu .menuPanel a:nth-child(2),.headerMenu .menuPanel button:nth-child(2){--i:2}.headerMenu .menuPanel a:nth-child(3),.headerMenu .menuPanel button:nth-child(3){--i:3}.headerMenu .menuPanel a:nth-child(4),.headerMenu .menuPanel button:nth-child(4){--i:4}.headerMenu .menuButton svg{transition:rotate .35s cubic-bezier(.3,1.4,.5,1)}.headerMenu.open .menuButton svg{rotate:90deg}.headerMenu.open .menuPanel{opacity:1;filter:none;visibility:visible;pointer-events:auto;transition:opacity .2s,scale .38s cubic-bezier(.3,1.45,.5,1),translate .38s cubic-bezier(.3,1.45,.5,1),filter .2s,visibility;translate:0;scale:1}.headerMenu.open .menuPanel a,.headerMenu.open .menuPanel button{opacity:1;transition:opacity .25s calc(60ms + var(--i) * 50ms), translate .3s calc(60ms + var(--i) * 50ms) cubic-bezier(.2, .8, .2, 1), background .15s;translate:0}@media (prefers-reduced-motion:reduce){.headerMenu .menuPanel,.headerMenu .menuPanel a,.headerMenu .menuPanel button,.headerMenu .menuButton svg{filter:none;translate:none;scale:none;transition:none!important}}.searchBackdrop{z-index:49;-webkit-backdrop-filter:blur(4px);background:#080c144d;animation:.3s backdropIn;position:fixed;inset:0}@keyframes backdropIn{0%{opacity:0}}.headerSearchPanel{border-radius:calc(var(--radius) + 6px);border:1px solid var(--line);background:var(--bg);width:min(640px,100% - 32px);max-height:calc(100svh - 100px);box-shadow:var(--shadow), 0 30px 80px #0a14282e;padding:12px;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;translate:-50%}.headerSearchPanel .searchBox{box-shadow:none}.headerSearchPanel .suggestions{justify-content:flex-start}.headerSearchPanel .answerCard{box-shadow:none}.icons{flex-wrap:wrap;gap:8px;display:flex}.intro{background:var(--bg);touch-action:pan-y;align-items:center;min-height:max(100svh,620px);padding:96px 16px 104px;display:flex;position:relative;overflow:clip visible}.intro .neuralNetwork{width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.heroContent{z-index:1;text-align:center;pointer-events:none;flex-direction:column;align-items:center;width:100%;max-width:1100px;margin:0 auto;display:flex;position:relative}.heroContent:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--bg) 40%, color-mix(in srgb, var(--bg) 70%, transparent) 70%, transparent);position:absolute;inset:-14% -6%}.heroContent a,.heroContent button,.heroContent input{pointer-events:auto}.heroContent .icons{justify-content:center;margin-top:2rem}.heroContent .heroSearch{width:min(640px,100%);margin-top:clamp(1.75rem,4vh,2.5rem)}.quote{flex-direction:column;align-items:center;margin:0;display:flex}.quote blockquote{margin:0}.quote figcaption h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:700}.quote figcaption p{color:var(--muted);margin:.25rem 0 0;font-size:.95rem}.slogan{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,6.6vw,4.75rem);font-weight:750;line-height:1.06;position:relative}.slogan .token{opacity:0}.slogan .token.shown{opacity:1;animation:.5s cubic-bezier(.2,.7,.2,1) both tokenIn}.slogan .accent{color:var(--accent)}.slogan .dot{background:var(--accent);width:.2em;height:.2em;box-shadow:0 0 .35em rgba(var(--net-pulse), .9);border-radius:50%;margin:-.1em 0 0 .06em;transition:left .25s cubic-bezier(.2,.7,.2,1),top .25s cubic-bezier(.2,.7,.2,1);animation:.9s ease-in-out infinite dotPulse;position:absolute}.slogan .dot.done{animation-duration:2.6s}.quote .scrubber{appearance:none;cursor:pointer;background:0 0;width:min(220px,60%);height:24px;margin:clamp(1.5rem,4vh,2.25rem) 0 .9rem}.quote .scrubber::-webkit-slider-runnable-track{background:linear-gradient(var(--accent), var(--accent)) 0/var(--progress) 100% no-repeat, var(--line);height:1px;transition:height .2s}.quote .scrubber::-moz-range-track{background:linear-gradient(var(--accent), var(--accent)) 0/var(--progress) 100% no-repeat, var(--line);height:1px;transition:height .2s}.quote .scrubber::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px rgba(var(--net-pulse), .9);opacity:0;border:none;border-radius:50%;margin-top:-4.5px;transition:opacity .2s,margin-top .2s}.quote .scrubber::-moz-range-thumb{background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px rgba(var(--net-pulse), .9);opacity:0;border:none;border-radius:50%;transition:opacity .2s}.quote .scrubber:hover,.quote .scrubber:focus-visible,.quote .scrubber:active{outline:none}.quote .scrubber:hover::-webkit-slider-runnable-track{height:3px}.quote .scrubber:focus-visible::-webkit-slider-runnable-track{height:3px}.quote .scrubber:active::-webkit-slider-runnable-track{height:3px}.quote .scrubber:hover::-moz-range-track{height:3px}.quote .scrubber:focus-visible::-moz-range-track{height:3px}.quote .scrubber:active::-moz-range-track{height:3px}.quote .scrubber:hover::-webkit-slider-thumb{opacity:1;margin-top:-3.5px}.quote .scrubber:focus-visible::-webkit-slider-thumb{opacity:1;margin-top:-3.5px}.quote .scrubber:active::-webkit-slider-thumb{opacity:1;margin-top:-3.5px}.quote .scrubber:hover::-moz-range-thumb{opacity:1}.quote .scrubber:focus-visible::-moz-range-thumb{opacity:1}.quote .scrubber:active::-moz-range-thumb{opacity:1}.downArrow{bottom:max(24px, env(safe-area-inset-bottom));z-index:1;transition:opacity .2s;position:absolute;left:50%;translate:-50%}.heroCorners .corner{bottom:max(24px, env(safe-area-inset-bottom));z-index:1;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 85%, transparent);height:44px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:.85rem;font-weight:600;transition:opacity .3s,translate .3s,color .2s,border-color .2s,visibility .3s;display:inline-flex;position:absolute}.heroCorners .corner svg{color:var(--accent);font-size:1.05rem}.heroCorners .corner:hover,.heroCorners .corner:focus-visible{color:var(--text);border-color:var(--accent)}.heroCorners .left{left:max(24px, env(safe-area-inset-left))}.heroCorners .right{right:max(24px, env(safe-area-inset-right))}.heroCorners.away .corner{opacity:0;visibility:hidden;translate:0 10px}@media (width<=560px){.heroCorners .corner{justify-content:center;width:44px;padding:0}.heroCorners .corner span{display:none}}@keyframes tokenIn{0%{opacity:0;filter:blur(10px);text-shadow:0 0 .4em rgba(var(--net-pulse), 1)}60%{text-shadow:0 0 .25em rgba(var(--net-pulse), .6)}to{opacity:1;filter:none;text-shadow:none}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.slogan .token.shown,.slogan .dot{transition:none;animation:none}}.modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(760px,100% - 32px);max-height:min(88svh,900px);color:var(--text);box-shadow:var(--shadow);overscroll-behavior:contain;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1473}.modal[open]{animation:.35s cubic-bezier(.2,.7,.2,1) modalIn}@supports (view-transition-name:none){.modal.morph[open]{animation:none}}.modal.pullable:before,.modal.pullable:after{text-align:center;height:0;color:var(--muted);opacity:.55;pointer-events:none;font-size:.78rem;font-weight:600;transition:opacity .2s,color .2s;display:block;overflow:visible}.modal.pullable:before{content:attr(data-pull-down);translate:0 14px}.modal.pullable:after{content:attr(data-pull-up);translate:0 -30px}.modal.pullable[data-pull=top]:before,.modal.pullable[data-pull=bottom]:after{opacity:calc(.55 + .45 * var(--pull,0));color:var(--accent);scale:calc(1 + .15 * var(--pull,0));transition:none}.modalInner{padding:clamp(1.5rem,5vw,3rem);position:relative}.modalClose{float:right;z-index:1;margin:-.5rem -.5rem 0 1rem;position:sticky;top:0}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal[open]{animation:none}}.about{background:linear-gradient(var(--bg), var(--bg-alt) 14rem, var(--bg-alt) calc(100% - 14rem), var(--bg))}.aboutGrid{max-width:1180px;height:720px;position:relative}.aboutGrid #about-based-in{--t:218deg}.aboutGrid #about-working-at{--t:180deg}.aboutGrid #about-languages{--t:142deg}.aboutGrid #about-qualities{--t:-38deg}.aboutGrid #about-technologies{--t:0deg}.aboutGrid #about-interests{--t:38deg}.aboutGrid .profileCard{width:420px;margin:-210px 0 0 -210px;position:absolute;top:50%;left:50%}.aboutGrid .infoCard{left:calc(50% + cos(var(--t)) * 420px);top:calc(50% + sin(var(--t)) * 335px);width:200px;height:190px;margin:-95px 0 0 -100px;position:absolute}@media (width<=1080px){.aboutGrid{grid-template-rows:auto repeat(3,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"p p""a d""b e""c f";gap:32px;max-width:720px;height:auto;padding-top:75px;display:grid}.aboutGrid .profileCard,.aboutGrid .infoCard{width:auto;height:auto;margin:0;position:relative;top:auto;left:auto}.aboutGrid .profileCard{grid-area:p;width:100%}.aboutGrid #about-based-in{grid-area:a}.aboutGrid #about-working-at{grid-area:b}.aboutGrid #about-languages{grid-area:c}.aboutGrid #about-qualities{grid-area:d}.aboutGrid #about-technologies{grid-area:e}.aboutGrid #about-interests{grid-area:f}}@media (width<=560px){.aboutGrid{grid-template-rows:auto repeat(6,1fr);grid-template-columns:minmax(0,1fr);grid-template-areas:"p""a""b""c""d""e""f";gap:24px}}.profileCard,.infoCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.profileCard{aspect-ratio:1;text-align:center;cursor:pointer;isolation:isolate;background:0 0;border-radius:50%;flex-direction:column;justify-content:center;justify-self:center;align-items:center;width:100%;max-width:420px;padding:62px 50px 46px;display:flex;position:relative}.profileCard:before{content:"";z-index:0;border-radius:inherit;background:var(--surface);position:absolute;inset:0}.profileCard:after{z-index:1}.profileCard>h2,.profileCard>.job,.profileCard>.profileText,.profileCard>.profileMore{z-index:1;position:relative}.profileCard .portrait{object-fit:cover;filter:grayscale()contrast(1.05);width:120px;height:120px;box-shadow:0 0 0 5px var(--surface), 0 0 0 6px var(--line), var(--shadow);z-index:2;border-radius:50%;position:absolute;top:0;left:50%;translate:-50% -55%}.profileCard h2{letter-spacing:-.03em;margin:0 0 .2rem;font-size:1.35rem;font-weight:700;line-height:1.1}.profileCard .job{color:var(--muted);margin:0 0 .8rem;font-size:.78rem}.profileCard .icons{z-index:-1;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.profileCard .icons a{left:calc(50% + cos(var(--a)) * (50% + 30px));top:calc(50% + sin(var(--a)) * (50% + 30px));pointer-events:auto;position:absolute;translate:-50% -50%}.profileCard .icons a:after{content:"";border-radius:50%;position:absolute;inset:-14px}.profileCard .icons a:first-child{--a:116deg;--k:0}.profileCard .icons a:nth-child(2){--a:103deg;--k:1}.profileCard .icons a:nth-child(3){--a:90deg;--k:2}.profileCard .icons a:nth-child(4){--a:77deg;--k:3}.profileCard .icons a:nth-child(5){--a:64deg;--k:4}@media (hover:hover) and (width>=561px){.profileCard .icons a{transform:translate(calc(cos(var(--a)) * -58px), calc(sin(var(--a)) * -58px)) scale(.7);transition:transform .22s cubic-bezier(.4, 0, .8, .4) calc((4 - var(--k)) * 20ms)}.profileCard:hover .icons a,.profileCard:focus-within .icons a{transition:transform .36s cubic-bezier(.3, 1.5, .5, 1) calc(30ms + var(--k) * 45ms);transform:none}}.profileCard[data-morphing] .icons{opacity:0;transition:none}@media (width<=560px){.profileCard{aspect-ratio:auto;border-radius:var(--radius);padding:76px 1.5rem 1.75rem}.profileCard .icons{z-index:1;justify-content:center;margin-top:1.25rem;display:flex;position:static}.profileCard .icons a{position:static;translate:none}}.profileText,.profileDetail{font-size:1.04rem;line-height:1.7}.profileText p,.profileDetail p{margin:0 0 1.1em}.profileText strong,.profileDetail strong{color:var(--text);background:linear-gradient(transparent 60%, var(--accent-soft) 60%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .1em;font-weight:650}.profileText{font-size:.84rem;line-height:1.55}.profileText p{margin:0 0 .75rem}.profileMore{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4em;margin-top:.25rem;padding:.5rem 1.1rem;font-size:.88rem;font-weight:600;transition:border-color .2s,color .2s;display:inline-flex}.profileMore svg{transition:translate .2s}.profileMore:hover{border-color:var(--accent);color:var(--accent)}.profileMore:hover svg{translate:3px}.profileDetail{position:relative}.profileDetail header{border-bottom:1px solid var(--line);align-items:center;gap:1.5rem;margin:.5rem 0 1.75rem;padding-bottom:1.75rem;display:flex}@media (width<=480px){.profileDetail header{flex-direction:column;align-items:flex-start}}.profileDetail .portrait{object-fit:cover;filter:grayscale()contrast(1.05);width:120px;height:120px;box-shadow:0 0 0 5px var(--surface), 0 0 0 6px var(--line), var(--shadow);border-radius:50%;flex-shrink:0}.profileDetail h3{letter-spacing:-.03em;margin:0 0 .3rem;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;line-height:1.1}.profileDetail .job{color:var(--muted);margin:0 0 .9rem;font-size:.95rem}::view-transition-group(profile-card){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.75,.15,1)}::view-transition-group(profile-portrait){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.75,.15,1)}::view-transition-image-pair(profile-card){isolation:auto;box-shadow:var(--shadow);background:#fff;animation:.5s cubic-bezier(.2,.75,.15,1) both profileShape;overflow:clip}html[data-profile-morph=close]::view-transition-image-pair(profile-card){animation-name:profileShapeBack}@media (width<=560px){html{--profile-shape:var(--radius)}}.profileCard[data-morphing],.profileCard[data-morphing]:hover{box-shadow:none!important;transition:none!important}.profileCard[data-morphing]:after{transition:none;opacity:0!important}html[data-profile-morph] dialog.modal{box-shadow:none}@keyframes profileShape{0%{border-radius:var(--profile-shape,50%)}to{border-radius:var(--radius)}}@keyframes profileShapeBack{0%{border-radius:var(--radius)}to{border-radius:var(--profile-shape,50%)}}::view-transition-old(profile-card){object-fit:cover;object-position:top;mix-blend-mode:normal;height:100%}::view-transition-new(profile-card){object-fit:cover;object-position:top;mix-blend-mode:normal;height:100%}::view-transition-old(profile-card){animation:.18s ease-out both profileVtOut}::view-transition-new(profile-card){animation:.3s ease-out .14s both profileVtIn}@keyframes profileVtOut{to{opacity:0}}@keyframes profileVtIn{0%{opacity:0}}.floating.reveal{transition:opacity .8s,transform .6s cubic-bezier(.2,.7,.2,1),border-color .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s cubic-bezier(.2,.7,.2,1)}.floating.reveal.is-visible:hover{transform:perspective(700px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px) scale(1.03);border-color:var(--accent);box-shadow:var(--shadow), 0 0 0 1px var(--accent), 0 0 28px rgba(var(--net-pulse), .35);transition:opacity .8s,transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s cubic-bezier(.2,.7,.2,1);transition-delay:0s!important}.floating:after{content:"";border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.floating:hover:after{opacity:1}.floating{transform-style:preserve-3d}.floating>svg{color:var(--accent);filter:drop-shadow(0 0 #0000);margin:0 auto .6rem;font-size:1.7rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),filter .3s cubic-bezier(.2,.7,.2,1);display:block}.floating:hover>svg{filter:drop-shadow(calc(var(--px,0) * -10px) calc(5px + var(--py,0) * -8px) 3px #00000038);transform:translateY(-3px)translateZ(14px)scale(1.06)}.profileCard .portrait{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.profileCard:hover .portrait{transform:translateZ(24px)translateY(-4px)}.infoCard{text-align:center;flex-direction:column;justify-content:center;align-self:stretch;padding:1rem .9rem;font-size:.82rem;line-height:1.5;display:flex;position:relative}.infoCard h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.7rem;font-weight:700}.infoCard p{margin:0}@media (prefers-reduced-motion:reduce){.floating.reveal.is-visible:hover{transform:none}}.constellationLines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.constellation .profileCard,.constellation .infoCard{z-index:1}.constellation .infoCard{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.constellation .infoCard.held{cursor:grabbing;z-index:3;box-shadow:var(--shadow), 0 18px 40px #00000040}.profileCard .profileMore{padding:.35rem .85rem;font-size:.78rem}.infoCard.floating.reveal.is-visible:hover{transform:perspective(700px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px) scale(1.18);z-index:4}@media (prefers-reduced-motion:reduce){.infoCard.floating.reveal.is-visible:hover{transform:none}}.experience{isolation:isolate;position:relative;overflow:clip}.experience .container{z-index:1;max-width:960px;position:relative}.experience .eyebrow{text-align:center;margin:0}.experience .display{text-align:center;margin:.5rem 0 clamp(3rem,7vw,5rem);font-size:clamp(3.2rem,9vw,6rem)}.timeline{--line-x:50%;--gap:clamp(28px, 5vw, 56px);margin:0;padding:0 0 1rem;list-style:none;position:relative}.timeline:before{content:"";top:0;bottom:0;left:var(--line-x);background:linear-gradient(var(--accent), var(--accent)) 0 0/100% var(--progress,0%) no-repeat, var(--line);width:2px;margin-left:-1px;position:absolute}.timeline ol{margin:0;padding:0;list-style:none}.timeline .year{padding-bottom:1.5rem;position:relative}.timeline .yearLabel{z-index:1;border:1px solid var(--line);background:var(--bg);font-variant-numeric:tabular-nums;width:fit-content;color:var(--muted);border-radius:999px;margin:0 auto 1.5rem;padding:4px 14px;font-size:.85rem;font-weight:700;display:block;position:relative}.timeline .year:first-child .yearLabel{color:var(--accent);border-color:var(--accent)}.timeline .entry{width:calc(50% - var(--gap));border-radius:12px;padding-bottom:2rem;position:relative}.timeline .entry.right{margin-left:calc(50% + var(--gap))}.timeline .entry.left{text-align:right}.timeline .entry:before{content:"";background:var(--bg);border:2px solid var(--line);border-radius:50%;width:11px;height:11px;transition:border-color .6s,background-color .6s;position:absolute;top:.45em}.timeline .entry.right:before{left:calc(-1 * var(--gap) - 5.5px)}.timeline .entry.left:before{right:calc(-1 * var(--gap) - 5.5px)}.timeline .entry.is-visible:before{border-color:var(--accent)}.timeline .entry.current:before{background:var(--accent)}.timeline .entry a{border-radius:12px;padding:.25rem 0;display:block}.timeline .entry a:hover h3{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em}.timeline .entry a:hover .where span{translate:2px -2px}.timeline .entry .where span{transition:translate .2s;display:inline-block}.timeline .entry .period{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;pointer-events:none;font-size:.95rem;font-weight:600;transition:opacity .25s,translate .3s cubic-bezier(.2,.7,.2,1);position:absolute;top:.3rem}.timeline .entry.right .period{right:calc(100% + 2 * var(--gap));translate:8px}.timeline .entry.left .period{left:calc(100% + 2 * var(--gap));translate:-8px}.timeline .entry:hover .period,.timeline .entry:focus-within .period{opacity:1;translate:0}.timeline .entry h3{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.timeline .entry .where{color:var(--accent);margin:.2rem 0 0;font-size:.95rem;font-weight:600}.timeline .entry .note{color:var(--muted);margin:.35rem 0 0;font-size:.92rem}@media (width<=720px){.timeline{--line-x:6px;--gap:28px}.timeline .yearLabel{margin-left:0}.timeline .entry,.timeline .entry.right,.timeline .entry.left{width:auto;margin-left:calc(6px + var(--gap));text-align:left}.timeline .entry.left:before,.timeline .entry.right:before{left:calc(-1 * var(--gap) - 5.5px);right:auto}.timeline .year{padding-bottom:.5rem}.timeline .yearLabel{padding:0 0 0 calc(6px + var(--gap));background:0 0;border:none;border-radius:0;margin:0 0 1rem;font-size:.9rem}.timeline .yearLabel:before{content:"";background:var(--muted);border-radius:1px;width:13px;height:2px;position:absolute;top:50%;left:0;translate:0 -50%}.timeline .year:first-child .yearLabel{border:none}.timeline .year:first-child .yearLabel:before{background:var(--accent)}.timeline .entry{padding-bottom:1.4rem}.timeline .entry:before{top:.35em}}@media (width<=720px),(hover:none){.timeline .entry .period,.timeline .entry.left .period,.timeline .entry.right .period{opacity:1;margin-bottom:.15rem;font-size:.8rem;display:block;position:static;translate:none}.timeline .entry.left .period.implicit,.timeline .entry.right .period.implicit{display:none}}.regattaPanel{z-index:3;height:0;color:var(--muted);margin-top:calc(-1*clamp(4rem,10vw,8rem) + 16px);margin-bottom:calc(clamp(4rem,10vw,8rem) - 16px);font-size:.75rem;position:sticky;top:80px}.regattaPanel .regattaViews{position:absolute;top:0;left:50%;translate:-50%}.regattaPanel .regattaBoard{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);width:196px;box-shadow:var(--shadow);color:var(--text);opacity:0;visibility:hidden;border-radius:14px;padding:10px 12px;transition:opacity .35s,translate .45s cubic-bezier(.2,.8,.2,1),visibility .45s;position:absolute;top:0;right:0;translate:24px}.regattaPanel .regattaBoard.shown{opacity:1;visibility:visible;translate:0}.regattaPanel .regattaViews{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow);border-radius:999px;gap:3px;padding:3px;display:flex}.regattaPanel .regattaViews button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-weight:600;transition:color .2s,background-color .2s;display:inline-flex}.regattaPanel .regattaViews button svg{color:var(--accent);font-size:14px}.regattaPanel .regattaViews button:hover{color:var(--text)}.regattaPanel .regattaViews button[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.regattaPanel .scoreTitle{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 6px;font-size:.66rem;font-weight:700;display:flex}.regattaPanel .scoreTitle svg{color:var(--accent);font-size:13px}.regattaPanel .scores{gap:3px;margin:0 0 8px;padding:0;list-style:none;display:grid}.regattaPanel .scores li{align-items:center;gap:8px;font-weight:600;display:flex}.regattaPanel .scores .boatIcon{flex:none;width:26px;height:13px}.regattaPanel .scores .name{flex:1}.regattaPanel .scores .score{font-variant-numeric:tabular-nums;font-weight:700}.regattaPanel .windControl{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:8px;font-weight:600;display:flex}.regattaPanel .windControl input{min-width:0;accent-color:var(--accent);cursor:pointer;flex:1}.regattaPanel .windControl output{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em;color:var(--muted)}@media (width<=1000px){.regattaPanel .regattaBoard{top:48px}}@media (width<=560px){.regattaPanel .regattaBoard{width:168px;padding:8px 10px}}.regattaWater{z-index:0;pointer-events:none;opacity:.65;width:100%;position:absolute;left:0}.regatta{z-index:0;pointer-events:none;--shadow-hull:#0a142838;--shadow-sail:#0a142821;width:100%;height:100%;position:absolute;inset:0}.regatta .hullShadow{fill:var(--shadow-hull)}.regatta .sailShadow{fill:var(--shadow-sail)}.regatta .penumbra{opacity:.45}.regatta .log{font:600 10px/1 var(--font-sans);text-anchor:middle;font-variant-numeric:tabular-nums}.regatta .isotach{fill:none;stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:2 6;stroke-linecap:round;stroke-opacity:.55}.regatta .isotachLabel{font:600 10px/1 var(--font-sans);fill:var(--accent);fill-opacity:.9;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-variant-numeric:tabular-nums}:root:not([data-theme=light]) .regatta{--shadow-hull:#0009;--shadow-sail:#0006}@media (prefers-reduced-motion:reduce){.regattaPanel{display:none}}.regattaWater,.regatta{transition:opacity .6s;animation:.8s backwards regattaIn}.regattaWater.leaving,.regatta.leaving{opacity:0}@keyframes regattaIn{0%{opacity:0}}.experience:not(.regattaOnly) .regatta{opacity:.45}.experience:not(.regattaOnly) .regattaWater{opacity:.35}.experience .regatta.leaving,.experience .regattaWater.leaving{opacity:0}.experience .container{transition:opacity .5s,visibility .5s}.experience.regattaOnly .container{opacity:0;visibility:hidden}@media (prefers-reduced-motion:reduce){.regattaPanel .regattaBoard{transition:none}}.projects{--card:min(440px, 80vw);isolation:isolate;padding:clamp(4rem,10vw,7rem) 0;position:relative;overflow:hidden}.projectsBg{z-index:-1;clip-path:inset(0);position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.projectsBg .bgLayer{filter:blur(28px)saturate(1.2);opacity:0;background-position:50%;background-size:cover;transition:opacity .9s,transform 6s;position:absolute;inset:-40px;transform:scale(1.08)}.projectsBg .bgLayer.active{opacity:1;transform:scale(1)}.projectsBg:after{content:"";background:color-mix(in srgb, var(--bg) 78%, transparent);position:absolute;inset:0}.projectsHead{text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem);padding:0 16px}.projectsHead .display{font-size:clamp(4rem,15vw,9.5rem)}.track{scroll-snap-type:x mandatory;padding:24px calc(50% - var(--card) / 2) 40px;scrollbar-width:none;gap:clamp(16px,3vw,32px);display:flex;position:relative;overflow-x:auto}.track:focus-visible{outline:none}.track:focus-visible .projectCard.active{box-shadow:var(--shadow), 0 0 0 3px var(--accent)}.track::-webkit-scrollbar{display:none}.projectCard{flex:0 0 var(--card);scroll-snap-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);opacity:.45;flex-direction:column;transition:opacity .4s,transform .4s cubic-bezier(.2,.7,.2,1);display:flex;overflow:hidden;transform:scale(.92)}.projectCard.active{opacity:1;transform:none}.projectCard .cardImage{aspect-ratio:16/10;background-color:var(--line);background-position:50%;background-size:cover;position:relative}.projectCard .aiLabel{-webkit-backdrop-filter:blur(6px);color:#fff;background:#080c1499;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:600;position:absolute;bottom:10px;left:10px}.projectCard .cardBody{flex-direction:column;flex:1;padding:1.5rem 1.5rem 1.75rem;display:flex}.projectCard h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.35rem 0 .6rem;font-size:clamp(1.9rem,5vw,2.4rem);line-height:1.02;display:-webkit-box;overflow:hidden}.tech{color:var(--muted);margin:0 0 1.25rem;font-size:.85rem}.cardActions{align-items:center;gap:8px;margin-top:auto;display:flex}.cardActions>*{opacity:0;pointer-events:none;transition:opacity .25s,translate .25s;translate:0 12px}.active .cardActions>*{opacity:1;pointer-events:auto;transition:opacity .45s,translate .5s cubic-bezier(.2,.8,.2,1.2);translate:0}.active .cardActions>:first-child{transition-delay:.15s}.active .cardActions>:nth-child(2){transition-delay:.22s}.active .cardActions>:nth-child(3){transition-delay:.29s}.cardActions .readMore{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:999px;margin-right:auto;padding:10px 18px;font-size:.9rem;font-weight:550;transition:opacity .2s}.cardActions .readMore:hover{opacity:.85}.track[hidden],.projectControls[hidden]{display:none}.projects{overflow-anchor:none}.trackArea{position:relative}.track.underPile{visibility:hidden}.projectPile{touch-action:pan-y;position:absolute;inset:0}.projectPile .pileCard{border-radius:calc(var(--radius) * .6);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;position:absolute;top:0;left:0}.projectPile .pileCard.held{cursor:grabbing;z-index:2}.projectPile .pileCard:hover .pileFace{box-shadow:var(--shadow), 0 0 0 4px var(--accent)}.projectPile .pileCard.held .pileFace{box-shadow:var(--shadow), 0 30px 60px #0000004d, 0 0 0 4px var(--accent)}.projectPile .pileCard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.projectPile .pileFace{transform-origin:0 0;pointer-events:none;transition:opacity .4s,box-shadow .2s}.projectControls .gravityButton[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.projectControls .gravityButton{display:none}}.viewSwitch{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;width:fit-content;margin:-1rem auto 1.5rem;padding:4px;display:flex}.viewSwitch button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:.85rem;font-weight:600}.viewSwitch button:hover{color:var(--text)}.viewSwitch button[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.projectMap{perspective:1200px;width:min(1000px,100% - 32px);margin:0 auto 1rem}.projectMap .space{aspect-ratio:16/10;border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), color-mix(in srgb, var(--bg) 75%, transparent);transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;position:relative;overflow:hidden}@media (width<=640px){.projectMap .space{aspect-ratio:3/4}}.projectMap .stars{background:radial-gradient(1px 1px at 12% 18%, var(--muted), transparent), radial-gradient(1px 1px at 67% 32%, var(--muted), transparent), radial-gradient(1.5px 1.5px at 38% 74%, var(--accent), transparent), radial-gradient(1px 1px at 84% 81%, var(--muted), transparent), radial-gradient(1px 1px at 22% 58%, var(--muted), transparent), radial-gradient(1.5px 1.5px at 91% 12%, var(--accent), transparent), radial-gradient(1px 1px at 55% 92%, var(--muted), transparent), radial-gradient(1px 1px at 5% 88%, var(--muted), transparent);opacity:.6;background-size:340px 340px;animation:60s linear infinite starDrift;position:absolute;inset:-10%}.projectMap .links{width:100%;height:100%;position:absolute;inset:0}.projectMap .links line{stroke:var(--line);stroke-width:1px;transition:stroke .2s}.projectMap .links line.active{stroke:var(--accent);stroke-width:2px}.projectMap .mapPoint{width:110px;color:var(--text);cursor:pointer;scale:calc(.75 + .4 * var(--depth,.5));opacity:calc(.55 + .45 * var(--depth,.5));filter:blur(calc((1 - var(--depth,.5)) * .6px));background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;margin:-26px 0 0 -55px;padding:0;transition:opacity .25s,scale .25s,filter .25s;display:flex;position:absolute;top:0;left:0}.projectMap .mapPoint .thumb{border:2px solid var(--surface);width:52px;height:52px;box-shadow:var(--shadow), 0 0 calc(10px + 14px * var(--depth,.5)) rgba(var(--net-pulse), .35);background-position:50%;background-size:cover;border-radius:50%;transition:box-shadow .2s}.projectMap .mapPoint .label{text-align:center;-webkit-line-clamp:2;text-shadow:0 0 6px var(--bg), 0 0 2px var(--bg);-webkit-box-orient:vertical;font-size:.72rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.projectMap .mapPoint.hover{opacity:1;filter:none;scale:1.15;z-index:20!important}.projectMap .mapPoint.hover .thumb,.projectMap .mapPoint.linked .thumb{box-shadow:var(--shadow), 0 0 0 3px var(--accent), 0 0 24px rgba(var(--net-pulse), .6)}.projectMap .mapPoint.linked{opacity:1;filter:none}.projectMap .mapPoint.dim{opacity:.25}.projectMap .mapPoint:focus-visible{outline:none}.projectMap .mapPoint:focus-visible .thumb{outline:2px solid var(--accent);outline-offset:3px}@media (width<=640px){.projectMap .mapPoint{width:76px;margin:-20px 0 0 -38px}.projectMap .mapPoint .thumb{width:40px;height:40px}.projectMap .mapPoint .label{font-size:.65rem}}.projectMap .mapNote{color:var(--muted);text-align:center;margin:.75rem 0 0;font-size:.72rem}@keyframes starDrift{to{transform:translate(-340px,-170px)}}@media (prefers-reduced-motion:reduce){.projectMap .stars{animation:none}}.projectControls{justify-content:center;align-items:center;gap:10px;padding:0 16px;display:flex}.projectControls .counter{font-variant-numeric:tabular-nums;text-align:center;min-width:5.5rem;font-size:.9rem;font-weight:600}.projectControls .counter span{color:var(--muted)}.projectDetail .display{margin:.4rem 0 .75rem;font-size:clamp(2.2rem,6vw,3.4rem)}.projectDetail .detailImage{margin:1.5rem 0}.projectDetail img{aspect-ratio:16/9;object-fit:cover;border-radius:14px;width:100%;display:block}.projectDetail figcaption{color:var(--muted);margin-top:.4rem;font-size:.78rem}.projectDetail .lead{font-size:1.12rem;font-weight:500}.projectDetail p{color:var(--muted)}.projectDetail .lead,.projectDetail .eyebrow{color:var(--text)}.projectDetail .detailLinks{gap:8px;margin-top:1.5rem;display:flex}::view-transition-group(project-card){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.75,.15,1)}::view-transition-group(project-image){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.75,.15,1)}::view-transition-image-pair(project-card){isolation:auto;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:clip}::view-transition-old(project-card){object-fit:cover;object-position:top;mix-blend-mode:normal;height:100%}::view-transition-new(project-card){object-fit:cover;object-position:top;mix-blend-mode:normal;height:100%}::view-transition-old(project-card){animation:80ms ease-out both vtOut}::view-transition-new(project-card){animation:.3s ease-out .14s both vtIn}html[data-project-morph] .projectCard.active,html[data-project-morph] dialog.modal.morph{box-shadow:none}::view-transition-image-pair(project-image){animation:.5s cubic-bezier(.2,.75,.15,1) both projectImageOpen;overflow:clip}html[data-project-morph=close]::view-transition-image-pair(project-image){animation-name:projectImageClose}@keyframes projectImageOpen{0%{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}to{border-radius:14px}}@keyframes projectImageClose{0%{border-radius:14px}to{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}}::view-transition-old(project-image){object-fit:cover;height:100%;animation-duration:.5s}::view-transition-new(project-image){object-fit:cover;height:100%;animation-duration:.5s}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}@keyframes vtOut{to{opacity:0}}@keyframes vtIn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.projectCard,.projectsBg .bgLayer,.cardActions>*{transition:none!important}}.imprintContent{color:var(--muted);overflow-wrap:anywhere;font-size:.92rem}.imprintContent h2,.imprintContent h3{letter-spacing:-.02em;color:var(--text);font-weight:700;line-height:1.15}.imprintContent h2{margin:2.5rem 0 .75rem;font-size:1.8rem}.imprintContent h2:first-child,.imprintContent .note+h2{margin-top:0}.imprintContent h3{margin:1.6rem 0 .4rem;font-size:1.05rem}.imprintContent p,.imprintContent ul{margin:0 0 .75rem}.imprintContent ul{padding-left:1.2rem}.imprintContent a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em}.imprintContent .note{background:var(--accent-soft);color:var(--text);border-radius:12px;margin-bottom:2rem;padding:12px 14px}.imprintContent .updated{margin-top:2rem;font-size:.8rem}.bottle{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);max-width:600px;box-shadow:var(--shadow);color:var(--text);margin:0;padding:clamp(1.25rem,4vw,1.75rem);position:relative;overflow:hidden}.bottle h3{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.15rem}.bottle .bottleIntro{color:var(--muted);margin:.5rem 0 1.1rem;font-size:.88rem}.bottle .clock{font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:0;font-size:.85rem;font-weight:600;display:flex}.bottle .clock .dot{background:#3f9d6b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3f9d6b2e}.bottle .clock.evening .dot,.bottle .clock.weekend .dot{background:#e08f56;box-shadow:0 0 0 3px #e08f562e}.bottle .clock.night .dot{background:var(--muted);box-shadow:none}.bottle .topics{flex-wrap:wrap;gap:6px;margin-bottom:.8rem;display:flex}.bottle .topics button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:600}.bottle .topics button:hover{color:var(--text);border-color:var(--accent)}.bottle .topics button[aria-pressed=true]{color:var(--text);background:var(--accent-soft);border-color:#0000}.bottle textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;min-height:84px;color:var(--text);font:inherit;border-radius:12px;padding:12px 14px;font-size:.95rem}.bottle textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.bottle .sea{--pad:clamp(1.25rem, 4vw, 1.75rem);height:104px;margin:.25rem calc(-1 * var(--pad)) calc(-1 * var(--pad))}.bottle .seaCanvas{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bottle .sendRow{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.bottle .send{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:opacity .2s}.bottle .send:disabled{opacity:.35;cursor:default}.bottle .sent{color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.visuallyHidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact{background:linear-gradient(var(--bg), var(--bg-alt) 14rem)}.contact .display{margin:.5rem 0 1.5rem;font-size:clamp(3.8rem,8.5vw,6.5rem)}.contact .contactGrid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:2.5rem 4rem;display:grid}@media (width<=860px){.contact .contactGrid{grid-template-columns:1fr}}.contact .contactFacts:last-child{margin-bottom:0}.contact .contactMail{border-bottom:2px solid var(--accent);overflow-wrap:anywhere;font-size:clamp(1.1rem,3.5vw,1.6rem);font-weight:550;display:inline-block}.contact .contactMail:hover{color:var(--accent)}.contact .contactFacts{flex-wrap:wrap;gap:1.5rem 3rem;margin:2.5rem 0;display:flex}.contact .contactFacts dt{margin-bottom:.3rem}.contact .contactFacts dd{margin:0}.contact .legal{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.85rem;display:flex;position:relative}.contact .legal a{margin-left:auto}.contact .legal a:hover{color:var(--text)}.contact .legal .bikeCanvas{pointer-events:none;z-index:2;width:100%;height:260px;position:absolute;bottom:calc(100% + 1px);left:0}.contact .legal button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.contact .legal button:hover{color:var(--text)}
