@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;--orange:#ff8a00;--red:#ff4b3e;--pink:#ff2d87;--purple:#a43cff;--violet:#6d3bff;--cyan:#19c8e6;--yellow:#ffc832;--green:#10b981;--gradient:linear-gradient(100deg,var(--orange),var(--red)30%,var(--pink)62%,var(--purple));--background:var(--buncss-light,#fbfafc)var(--buncss-dark,#08070d);--surface:var(--buncss-light,#fff)var(--buncss-dark,#12101a);--surface-2:var(--buncss-light,#f3f1f8)var(--buncss-dark,#1b1826);--text:var(--buncss-light,#14121f)var(--buncss-dark,#f2f0f8);--muted:var(--buncss-light,#5a5670)var(--buncss-dark,#a9a5bd);--subtle:var(--buncss-light,#8d899f)var(--buncss-dark,#6f6b85);--border:var(--buncss-light,#1812301a)var(--buncss-dark,#ffffff17);--border-strong:var(--buncss-light,#18123033)var(--buncss-dark,#fff3);--shadow-color:var(--buncss-light,#28145a38)var(--buncss-dark,#000000bf);--glow-opacity:var(--buncss-light,.5)var(--buncss-dark,.36);--font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--display:var(--font);--serif:"Instrument Serif",Georgia,serif;--mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--radius:22px;--page:1180px;--gutter:clamp(1.1rem,4vw,2.5rem);--ease:cubic-bezier(.22,1,.36,1)}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial}}:root[data-theme=light]{--buncss-light:initial;--buncss-dark: ;color-scheme:light}:root[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:clip;background:var(--background);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;font-size:1.0625rem;line-height:1.6}body:after{content:"";position:fixed;z-index:100;pointer-events:none;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");inset:0}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}ul,ol{list-style:none;padding:0}:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:8px}::selection{background:#ff2d874d}h1,h2,h3{font-family:var(--display);text-wrap:balance}p{text-wrap:pretty}main{overflow-x:clip}.container{width:min(var(--page),100% - 2*var(--gutter));margin-inline-start:auto;margin-inline-end:auto}.icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}.only-loukoum,:root[data-loukoum] .only-pro{display:none!important}.subtle{color:var(--subtle)}.accent{font-family:var(--serif);letter-spacing:-.02em;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.14em;font-style:italic;font-weight:400}.button{position:relative;display:inline-flex;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,border-color .25s;border-radius:999px;justify-content:center;align-items: center;gap:.55em;height:3rem;padding-inline-start:1.35rem;padding-inline-end:1.35rem;font-size:.97rem;font-weight:600}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)scale(.98)}.button.small{height:2.4rem;padding-inline-start:.95rem;padding-inline-end:.95rem;font-size:.9rem}.button.large{height:3.5rem;padding-inline-start:1.6rem;padding-inline-end:1.6rem;font-size:1.02rem}.button.primary{color:#fff;background:var(--gradient);background-size:160% 100%;box-shadow:0 10px 30px -10px #ff2d87b3,inset 0 1px #ffffff59}.button.primary:hover{background-position:100% 0;box-shadow:0 16px 40px -10px #ff2d87cc,inset 0 1px #ffffff59}.button.primary:after{content:"";position:absolute;transition:translate .7s var(--ease);background:linear-gradient(110deg,#0000 35%,#ffffff73 50%,#0000 65%);inset:0;translate:-120%}.button.primary:hover:after{translate:120%}.button.ghost{background:color-mix(in srgb,var(--surface)80%,transparent);border:1px solid var(--border-strong);backdrop-filter:blur(8px)}.button.ghost:hover{border-color:var(--pink);box-shadow:0 10px 30px -14px var(--shadow-color)}.button .icon{transition:translate .25s var(--ease)}.button:hover .icon:last-child{translate:3px}.text-link{display:inline-flex;color:var(--muted);transition:color .2s,background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;align-items: center;gap:.4em;font-size:.93rem;font-weight:600}.text-link:hover{color:var(--pink);background-size:100% 1.5px}.icon-button{display:grid;color:var(--muted);transition:background-color .2s,color .2s,rotate .5s var(--ease);border-radius:50%;place-items: center;width:2.4rem;height:2.4rem}.icon-button:hover{background:var(--surface-2);color:var(--text);rotate:30deg}.lang-button{letter-spacing:.04em;font-size:.78rem;font-weight:700}.lang-button:hover{rotate:none}.icon-button .moon,:root[data-theme=dark] .icon-button .sun{display:none}:root[data-theme=dark] .icon-button .moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .icon-button .sun{display:none}:root:not([data-theme]) .icon-button .moon{display:block}}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags li{border:1px solid var(--border);background:var(--surface-2);font-family:var(--mono);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:500}.nav{position:fixed;z-index:50;width:min(var(--page),100% - 2*var(--gutter));display:flex;border:1px solid var(--border);background:color-mix(in srgb,var(--surface)70%,transparent);backdrop-filter:blur(18px)saturate(1.7);box-shadow:0 12px 40px -18px var(--shadow-color);border-radius:999px;justify-content:space-between;align-items: center;gap:1rem;padding:8px 8px 8px 16px;top:14px;left:50%;translate:-50%}.brand{display:flex;letter-spacing:-.02em;white-space:nowrap;align-items: center;gap:.6rem;font-weight:700}.brand img{transition:rotate .7s var(--ease)}.brand:hover img{rotate:120deg}.nav-links{display:flex;gap:.25rem}.nav-links a{color:var(--muted);border-radius:999px;padding:.4rem .85rem;transition:color .2s,background-color .2s;font-size:.92rem;font-weight:500}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-actions{display:flex;align-items: center;gap:.35rem}.hero{position:relative;display:grid;align-content: center;gap:clamp(3rem,6vw,5rem);min-height:100svh;padding:clamp(7.5rem,14vh,10rem) 0 clamp(3rem,6vw,5rem)}.aurora{position:absolute;z-index:-2;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 55%,#0000);inset:0}.aurora i{position:absolute;aspect-ratio:1;opacity:var(--glow-opacity);background:radial-gradient(circle,var(--blob)0,transparent 62%);animation:22s ease-in-out infinite alternate drift;border-radius:50%;width:62vmax}.aurora i:first-child{--blob:var(--orange);top:-30%;left:-18%}.aurora i:nth-child(2){--blob:var(--pink);animation-duration:27s;animation-delay:-6s;top:-22%;right:-22%}.aurora i:nth-child(3){--blob:var(--purple);animation-duration:31s;animation-delay:-12s;bottom:-48%;left:22%}.aurora i:nth-child(4){--blob:var(--cyan);animation-duration:25s;animation-delay:-3s;width:40vmax;bottom:-40%;right:-10%}@keyframes drift{to{transform:translate(9vmax,6vmax)scale(1.18)}}.hero-grid{position:absolute;z-index:-1;background-image:linear-gradient(var(--border)1px,transparent 1px),linear-gradient(90deg,var(--border)1px,transparent 1px);mask-image:radial-gradient(75% 65% at 50% 38%,#000 10%,#0000 75%);background-size:56px 56px;inset:0}.hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr)minmax(0,.85fr);align-items: center;gap:clamp(2rem,5vw,5rem)}.kicker{display:inline-flex;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface)70%,transparent);backdrop-filter:blur(8px);font-family:var(--mono);color:var(--muted);border-radius:999px;align-items: center;gap:.6rem;margin-bottom:1.6rem;padding:.35rem .9rem .35rem .7rem;font-size:.78rem;font-weight:500}.kicker-dot{background:var(--gradient);animation:2.4s ease-in-out infinite pulse;border-radius:3px;width:9px;height:9px;rotate:45deg}@keyframes pulse{50%{scale:1.45;opacity:.6}}.hero-title{display:grid;letter-spacing:-.048em;justify-items:start;gap:.06em;font-size:clamp(2.9rem,1.1rem + 5.4vw,5.8rem);font-weight:680;line-height:1}.hero-title .accent{font-size:1.1em;line-height:1.05}.selection{position:relative;margin-left:-.08em;padding:0 .16em .06em .08em}.selection:before{content:"";position:absolute;border:1.5px solid var(--pink);background:linear-gradient(var(--pink),var(--pink))0 0/7px 7px no-repeat,linear-gradient(var(--pink),var(--pink))100% 0/7px 7px no-repeat,linear-gradient(var(--pink),var(--pink))0 100%/7px 7px no-repeat,linear-gradient(var(--pink),var(--pink))100% 100%/7px 7px no-repeat;opacity:0;animation:.5s 1.2s forwards appear;background-origin:border-box;margin:-3px;inset:.06em 0 0}.selection-cursor{position:absolute;opacity:0;animation:cursor-in 1s 1.3s var(--ease)forwards;font-style:normal;bottom:-.55em;right:-.9em}.selection-cursor:before{content:"";display:block;background:var(--pink);clip-path:polygon(0 0,100% 62%,46% 64%,24% 100%);width:15px;height:17px}.selection-cursor b{display:block;background:var(--pink);color:#fff;font:600 .72rem/1.3 var(--mono);letter-spacing:0;white-space:nowrap;border-radius:3px 10px 10px;margin:-2px 0 0 12px;padding:3px 9px}@keyframes appear{to{opacity:1}}@keyframes cursor-in{0%{opacity:0;translate:60px 50px}to{opacity:1;translate:0}}.lead{color:var(--muted);max-width:36rem;margin-top:1.8rem;font-size:clamp(1.05rem,.95rem + .45vw,1.24rem);line-height:1.6}.lead strong{color:var(--text);font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;align-items: center;gap:.8rem .9rem;margin-top:2.2rem}.js .rise{animation:rise .9s var(--ease)both;animation-delay:calc(var(--i,0)*.11s + 80ms)}@keyframes rise{0%{opacity:0;transform:translateY(26px);filter:blur(8px)}}.hero-art{position:relative;aspect-ratio:1;justify-self:center;width:min(430px,76vw)}.portrait{position:relative;display:block;cursor:default;translate:calc(var(--px,0)*-8px)calc(var(--py,0)*-8px);transition:translate .4s var(--ease);perspective:1000px;border-radius:50%;width:100%;height:100%}.portrait img{object-fit:cover;backface-visibility:hidden;border-radius:50%;width:100%;height:100%;transition:rotate .8s cubic-bezier(.65,0,.35,1)}.portrait img+img{position:absolute;object-position:50% 18%;background:#fff;border:5px solid var(--buncss-light,#4d0f33)var(--buncss-dark,#14051d);inset:0;rotate:y 180deg}:root:active-view-transition .portrait img{transition-delay:.9s}.portrait:before{content:"";position:absolute;background:conic-gradient(from var(--angle),var(--orange),var(--pink),var(--purple),var(--cyan),var(--yellow),var(--orange));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));animation:9s linear infinite turn;border-radius:50%;inset:-12px}.portrait:after{content:"";position:absolute;z-index:-1;background:conic-gradient(from var(--angle),var(--orange),var(--pink),var(--purple),var(--cyan),var(--orange));filter:blur(56px);opacity:.5;animation:9s linear infinite turn;border-radius:50%;inset:-6%}@keyframes turn{to{--angle:360deg}}.orbit{position:absolute;border:1px dashed var(--border-strong);animation:48s linear infinite spin;border-radius:50%;inset:-13%}.orbit-2{animation-duration:80s;animation-direction:reverse;opacity:.6;inset:-27%}.orbit i{position:absolute;background:var(--gradient);box-shadow:0 0 16px var(--pink);border-radius:4px;width:12px;height:12px;top:14%;left:14%}@keyframes spin{to{rotate:360deg}}.floater{position:absolute;left:var(--x);top:var(--y);translate:calc(var(--px,0)*var(--depth)*1px)calc(var(--py,0)*var(--depth)*1px);transition:translate .5s var(--ease);animation:5s ease-in-out infinite alternate bob;animation-delay:var(--delay);perspective:600px}@keyframes bob{to{transform:translateY(-16px)}}.floater .lokum{display:none;width:calc(var(--s)*1.7);margin:calc(var(--s)*-.35);max-width:none}.cube{position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;animation:18s linear infinite tumble;animation-delay:var(--delay)}.cube i{position:absolute;background:linear-gradient(135deg,#ffffff8c,transparent 55%),color-mix(in srgb,var(--face)72%,transparent);box-shadow:inset 0 0 calc(var(--s)/3)#ffffff40;border:1px solid #fff9;border-radius:16%;inset:0}.cube i:first-child{--face:var(--pink);transform:translateZ(calc(var(--s)/2))}.cube i:nth-child(2){--face:var(--orange);transform:rotateY(90deg)translateZ(calc(var(--s)/2))}.cube i:nth-child(3){--face:var(--purple);transform:rotateY(180deg)translateZ(calc(var(--s)/2))}.cube i:nth-child(4){--face:var(--cyan);transform:rotateY(-90deg)translateZ(calc(var(--s)/2))}.cube i:nth-child(5){--face:var(--yellow);transform:rotateX(90deg)translateZ(calc(var(--s)/2))}.cube i:nth-child(6){--face:var(--violet);transform:rotateX(-90deg)translateZ(calc(var(--s)/2))}@keyframes tumble{0%{transform:rotateX(-26deg)rotateY(0)rotate(12deg)}to{transform:rotateX(-26deg)rotateY(360deg)rotate(12deg)}}.bubble{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--surface)66%,transparent);backdrop-filter:blur(14px);box-shadow:0 24px 60px -30px var(--shadow-color)}.stats>div{padding:1.5rem 1.6rem}.stats>div+div{border-left:1px solid var(--border)}.stats dt{letter-spacing:-.04em;font-size:clamp(1.9rem,1.3rem + 1.8vw,2.8rem);font-weight:680;line-height:1.1}.stats dt b{font-weight:inherit;background:var(--gradient);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text}.stats dd{color:var(--muted);margin-top:.25rem;font-size:.92rem}.marquee{overflow:hidden;border-block:1px solid var(--border);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);padding:1.1rem 0}.marquee-track{display:flex;animation:46s linear infinite marquee;width:max-content}.marquee:hover .marquee-track{animation-play-state:paused}.marquee span{display:flex;font-family:var(--mono);color:var(--muted);white-space:nowrap;align-items: center;gap:2.2rem;padding-left:2.2rem;font-size:.95rem;font-weight:500}.marquee span:after{content:"";background:var(--gradient);border-radius:2px;width:7px;height:7px;rotate:45deg}@keyframes marquee{to{transform:translate(-50%)}}.section{position:relative;padding:clamp(5rem,10vw,8.5rem) 0}.section-header{max-width:46rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.eyebrow{display:flex;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items: center;gap:.7rem;margin-bottom:1rem;font-size:.8rem;font-weight:500}.eyebrow b{background:var(--gradient);color:#fff;letter-spacing:.04em;border-radius:6px;padding:1px 8px;font-weight:600}.eyebrow:after{content:"";background:var(--border-strong);width:3.5rem;height:1px}.section h2{letter-spacing:-.042em;font-size:clamp(2.3rem,1.3rem + 3.6vw,4.2rem);font-weight:660;line-height:1.02}.section h2 .accent{font-size:1.08em}.section-header>p:last-child{color:var(--muted);margin-top:1.2rem;font-size:1.12rem}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*90ms);transform:translateY(28px)}.js [data-reveal].in{opacity:1;transform:none}.card,.language,.project,.stop-card{position:relative;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.glow:before{content:"";position:absolute;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(460px circle at var(--mx,50%)var(--my,0%),color-mix(in srgb,var(--c,var(--pink))20%,transparent),transparent 62%);transition:opacity .35s;inset:0}.glow:hover:before{opacity:1}.glow>*{position:relative}.glow{transition:opacity .8s var(--ease),transform .8s var(--ease),border-color .3s,box-shadow .3s}.glow:hover{border-color:color-mix(in srgb,var(--c,var(--pink))55%,var(--border));box-shadow:0 26px 60px -30px color-mix(in srgb,var(--c,var(--pink))70%,transparent)}.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{overflow:hidden;padding:20px 20px 24px}.card.wide{grid-column:span 2}.card h3{letter-spacing:-.025em;font-size:1.28rem;font-weight:650;line-height:1.2}.card p{color:var(--muted);margin-top:.5rem;font-size:.98rem}.card-cta{display:flex;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--pink)22%,transparent),transparent 55%),radial-gradient(120% 140% at 0% 100%,color-mix(in srgb,var(--orange)20%,transparent),transparent 55%),var(--surface);flex-direction:column;justify-content:center;align-items: flex-start;padding:28px}.card-cta h3{font-size:clamp(1.4rem,1rem + 1.4vw,2rem)}.card-cta .button{margin-top:1.4rem}.viz{position:relative;overflow:hidden;border:1px solid var(--border);background-color:var(--surface-2);background-image:radial-gradient(var(--border-strong)1px,transparent 1px);background-size:16px 16px;border-radius:14px;height:148px;margin-bottom:20px}.viz-saas{display:flex;align-items: center;gap:18px;padding:16px}.mini-window{position:relative;display:grid;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 24px -14px var(--shadow-color);border-radius:10px;flex:0 0 42%;align-content: start;align-self:stretch;gap:8px;padding:26px 12px 10px}.mini-window:before{content:"";position:absolute;background:var(--red);box-shadow:10px 0 var(--yellow),20px 0 var(--green);border-radius:50%;width:6px;height:6px;top:10px;left:12px}.mini-window i{background:var(--surface-2);border-radius:4px;height:8px}.mini-window i:first-child{background:var(--gradient);width:58%}.mini-window i:nth-child(2){width:92%}.mini-window i:nth-child(3){width:74%}.mini-window b{position:absolute;display:flex;font:600 .68rem var(--mono);color:var(--green);align-items: center;gap:6px;bottom:9px;right:10px}.mini-window b:before{content:"";animation:1.6s ease-in-out infinite pulse;background:currentColor;border-radius:50%;width:7px;height:7px}.viz-saas ul{display:flex;flex-wrap:wrap;gap:7px}.viz-saas li{border:1px solid var(--border);background:var(--surface);animation:6s infinite both tick;border-radius:999px;padding:4px 11px 4px 9px;font-size:.8rem;font-weight:550}.viz-saas li:before{content:"✓";color:var(--green);margin-right:6px;font-weight:700}.viz-saas li:nth-child(2){animation-delay:.5s}.viz-saas li:nth-child(3){animation-delay:1s}.viz-saas li:nth-child(4){animation-delay:1.5s}.viz-saas li:nth-child(5){animation-delay:2s}@keyframes tick{0%,4%{opacity:.3;scale:.94}10%,to{opacity:1;scale:1}}.viz-live{display:grid;align-content: center;gap:12px;padding:0 22px}.viz-live>i{background:color-mix(in srgb,var(--text)14%,transparent);border-radius:5px;width:88%;height:9px}.viz-live>i:nth-child(2){width:62%}.viz-live>i:nth-child(3){background:var(--pink);animation:5s ease-in-out infinite alternate typing;width:30%}@keyframes typing{to{width:78%}}.cursor{position:absolute;font:600 .66rem/1.4 var(--mono);color:#fff;border-radius:3px 10px 10px;padding:2px 8px;top:0;left:0}.cursor:before{content:"";position:absolute;background:inherit;clip-path:polygon(0 0,100% 62%,46% 64%,24% 100%);width:12px;height:14px;top:-12px;left:-10px}.cursor-1{background:var(--pink);animation:5s ease-in-out infinite alternate wander-1}.cursor-2{background:var(--violet);animation:7s ease-in-out infinite alternate wander-2}@keyframes wander-1{0%{translate:78px 104px}to{translate:190px 104px}}@keyframes wander-2{0%{translate:200px 34px}50%{translate:120px 62px}to{translate:210px 58px}}.viz-perf{display:grid;align-content: center;gap:12px;padding:0 18px}.bar{display:flex;font:600 .7rem var(--mono);border-radius:8px;align-items: center;height:28px;padding-left:11px}.bar.before{background:color-mix(in srgb,var(--text)13%,transparent);color:var(--muted);animation:4.5s linear infinite fill-slow}.bar.after{background:var(--gradient);color:#fff;animation:fill-fast 4.5s var(--ease)infinite;width:34%}@keyframes fill-slow{0%{clip-path:inset(0 100% 0 0 round 8px)}70%,to{clip-path:inset(0 0 0 0 round 8px)}}@keyframes fill-fast{0%{clip-path:inset(0 100% 0 0 round 8px)}17%,to{clip-path:inset(0 0 0 0 round 8px)}}.viz-ai svg{width:100%;height:100%}.viz-ai path{fill:none;stroke:var(--subtle);stroke-width:1.5;stroke-dasharray:3 6;animation:.9s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-9}}.viz-ai circle{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5;animation:3.2s ease-in-out infinite blink-node}.viz-ai circle:first-of-type{fill:var(--orange)}.viz-ai circle:nth-of-type(2){fill:var(--pink);animation-delay:.8s}.viz-ai circle:nth-of-type(3){fill:var(--cyan);animation-delay:1.6s}.viz-ai circle:nth-of-type(4){fill:var(--yellow);animation-delay:2.4s}.viz-ai .core{fill:var(--purple);stroke:none;animation:none}.viz-ai text{font:700 10px var(--mono);text-anchor:middle;fill:#fff}@keyframes blink-node{50%{opacity:.45}}.viz-devices{display:flex;justify-content:center;align-items: flex-end;gap:14px;padding-top:22px}.laptop,.phone{display:grid;border:2px solid var(--border-strong);background:var(--surface);transition:translate .5s var(--ease);border-bottom:0;align-content: start;gap:7px}.laptop{border-radius:11px 11px 0 0;width:158px;height:104px;padding:13px}.phone{border-radius:13px 13px 0 0;width:56px;height:112px;padding:14px 8px;translate:0 14px}.card:hover .phone{translate:0}.card:hover .laptop{translate:0 8px}.viz-devices i{background:var(--surface-2);border-radius:4px;height:7px}.viz-devices i:first-child{background:var(--gradient);width:60%}.viz-layers{display:grid;perspective:700px;place-items: center}.viz-layers i{grid-area:1/1;transform:rotateX(60deg)rotateZ(45deg)translateZ(var(--z));transition:transform .6s var(--ease);border:1.5px solid #ffffff8c;border-radius:18px;width:88px;height:88px}.viz-layers i:first-child{--z:-24px;background:color-mix(in srgb,var(--violet)80%,transparent)}.viz-layers i:nth-child(2){--z:0px;background:color-mix(in srgb,var(--pink)80%,transparent)}.viz-layers i:nth-child(3){--z:24px;background:color-mix(in srgb,var(--orange)80%,transparent)}.card:hover .viz-layers i:first-child{--z:-40px}.card:hover .viz-layers i:nth-child(3){--z:40px}.viz-costs svg{position:absolute;width:100%;height:100%;inset:0}.viz-costs path{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;animation:draw 4.5s var(--ease)infinite}@keyframes draw{0%{stroke-dashoffset:1}45%,to{stroke-dashoffset:0}}.viz-costs b{position:absolute;font:700 .85rem var(--mono);color:var(--subtle);top:42px;left:16px}.viz-costs b:last-child{color:var(--green);font-size:1.1rem;inset:auto 16px 34px auto}.viz-design{display:flex;justify-content:center;align-items: center}.viz-design i{border:3px solid var(--surface-2);transition:margin .5s var(--ease),translate .5s var(--ease);border-radius:50%;width:56px;height:56px;margin-inline-start:-10px;margin-inline-end:-10px}.viz-design i:first-child{background:var(--yellow)}.viz-design i:nth-child(2){background:var(--orange)}.viz-design i:nth-child(3){background:var(--pink)}.viz-design i:nth-child(4){background:var(--purple)}.viz-design i:nth-child(5){background:var(--cyan)}.card:hover .viz-design i{margin-inline-start:-3px;margin-inline-end:-3px}.card:hover .viz-design i:nth-child(odd){translate:0 -8px}.card:hover .viz-design i:nth-child(2n){translate:0 8px}.viz-terminal{display:grid;background:#0d0c14;border-color:#0000;align-items: center;padding:0 18px}.viz-terminal code{font:500 .78rem/2 var(--mono);color:#e7e5f0;white-space:nowrap}.viz-terminal span{color:#5ee6a8}.viz-terminal i{display:inline-block;vertical-align:-2px;background:var(--pink);animation:1s steps(2,end) infinite caret;width:7px;height:14px;margin-left:7px}@keyframes caret{to{opacity:0}}.languages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.language{display:flex;overflow:hidden;flex-direction:column;gap:1.1rem;padding:22px}.language header{display:flex;align-items: center;gap:.9rem}.language-mark{object-fit:contain;flex:none;width:46px;height:46px}.language h3{letter-spacing:-.03em;font-size:1.45rem;font-weight:660;line-height:1.1}.language header p{font-family:var(--mono);color:var(--c);font-size:.78rem}.language>p{color:var(--muted);font-size:.97rem}.language .text-link{align-self: flex-start;margin-top:auto}pre{overflow-x:auto;color:#e4e2ee;font:.78rem/1.75 var(--mono);tab-size:2;font-feature-settings:"liga" 0,"calt" 0;background:#0d0c14;border-radius:14px;flex:none;padding:16px 18px}pre .k{color:#c79bff}pre .s{color:#a5e8a0}pre .f{color:#7cc7ff}pre .t{color:#5ee6d0}pre .n{color:#ffb46b}pre .p{color:#ff7ab2}pre .c{color:#7a7890}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project{display:flex;overflow:hidden;border-radius:26px;flex-direction:column}.js .project.in:hover{transform:perspective(1400px)rotateX(var(--rx,0deg))rotateY(var(--ry,0deg));transition-duration:.8s,.25s,.3s,.3s}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr)minmax(0,1fr)}.shot{position:relative;display:block;aspect-ratio:16/10.6;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--border)}.featured .shot{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--border);min-height:420px}.project.reverse{grid-template-columns:minmax(0,1fr)minmax(0,1.3fr)}.reverse .shot{border-right:0;border-left:1px solid var(--border);order:2}.chrome{position:absolute;z-index:1;display:flex;background:color-mix(in srgb,var(--surface)86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items: center;gap:6px;height:34px;padding:0 14px;inset:0 0 auto}.chrome i{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.chrome b{background:var(--surface-2);font:500 .7rem/1.7 var(--mono);color:var(--muted);border-radius:999px;margin:0 auto;padding:1px 14px;translate:-17px}.shot img{position:absolute;object-fit:cover;object-position:0 0;transition:object-position 1.4s var(--ease);width:100%;height:calc(100% - 34px);inset:34px 0 0}.project:hover .shot img:not(.shot-fixed){object-position:0 100%;transition:object-position 9s linear}.shot.split img{left:var(--split);width:calc(100% - var(--split))}.shot.split .shot-fixed{width:var(--split);left:0}.project-body{display:flex;flex-direction:column;flex:1;gap:.95rem;padding:24px 26px 26px}.featured .project-body{justify-content:center;padding:36px}.project-body header{display:flex;align-items: center;gap:.9rem}.project-body header img{object-fit:contain;border-radius:12px;width:46px;height:46px}.project-body header img.padded{background:var(--surface-2);border:1px solid var(--border);padding:8px}.project h3{letter-spacing:-.035em;font-size:1.55rem;font-weight:670;line-height:1.1}.featured h3{font-size:2.1rem}.project-body header p{font-family:var(--mono);color:var(--muted);font-size:.76rem}.project-body>p{color:var(--muted);font-size:.99rem}.badge{border:1px solid color-mix(in srgb,var(--c)45%,transparent);background:color-mix(in srgb,var(--c)12%,transparent);border-radius:999px;align-self: flex-start;padding:4px 12px;font-weight:600;color:color-mix(in srgb,var(--c)70%,var(--text))!important;font-size:.85rem!important}.project .text-link{color:var(--text);align-self: flex-start;margin-top:auto}.timeline{position:relative}.thread{position:absolute;overflow:visible;pointer-events:none;width:100%;height:100%;inset:0}.thread path{fill:none;stroke-linecap:round}.thread-track{stroke:var(--border-strong);stroke-width:2;stroke-dasharray:1 9}.thread-line{stroke:url(#thread-gradient);stroke-width:4;filter:drop-shadow(0 0 7px #ff2d8780)}.traveler{position:absolute;z-index:2;pointer-events:none;width:0;height:0;top:0;left:0}.traveler img{position:absolute;filter:drop-shadow(0 6px 14px #ff2d878c);animation:2.4s ease-in-out infinite alternate hover-cube;width:48px;max-width:none;top:-24px;left:-24px}@keyframes hover-cube{to{translate:0 -5px}}.stops{display:grid;gap:clamp(2rem,4.5vw,3.5rem);padding-top:4.5rem}.stop{display:grid;grid-template-columns:minmax(0,1fr)150px minmax(0,1fr);align-items: center}.stop-dot{grid-area:1/2;z-index:1;border:2px solid var(--border-strong);background:var(--background);transition:background-color .4s,border-color .4s,scale .5s var(--ease),box-shadow .4s;border-radius:6px;justify-self:start;width:18px;height:18px;rotate:45deg}.stop:nth-child(2n) .stop-dot{justify-self:end}.stop.reached .stop-dot{border-color:var(--c);background:var(--c);box-shadow:0 0 0 6px color-mix(in srgb,var(--c)22%,transparent);scale:1.25}.stop-card{grid-area:1/1;box-shadow:0 20px 50px -34px var(--shadow-color);justify-self:end;width:min(100%,440px);margin-right:26px;padding:20px 22px 22px}.stop:nth-child(2n) .stop-card{grid-area:1/3;justify-self:start;margin:0 0 0 26px}.js .stop-card{opacity:0;transition:opacity .7s var(--ease),translate .7s var(--ease);translate:-36px}.js .stop:nth-child(2n) .stop-card{translate:36px}.js .stop.reached .stop-card{opacity:1;translate:0}.stop-year{font-family:var(--mono);letter-spacing:.04em;color:color-mix(in srgb,var(--c)78%,var(--text));margin-bottom:.35rem;font-size:.78rem;font-weight:600}.stop-card h3{display:flex;letter-spacing:-.03em;flex-wrap:wrap;align-items:baseline;gap:.1rem .7rem;font-size:1.35rem;font-weight:660;line-height:1.2}.stop-card h3 small{font-family:var(--font);letter-spacing:0;color:var(--muted);font-size:.86rem;font-weight:500}.stop-card>p:not(.stop-year){color:var(--muted);margin:.55rem 0 .9rem;font-size:.96rem}.stop.mini .stop-card{box-shadow:none;background:0 0;border-style:dashed;width:min(100%,360px)}.stop.mini .stop-card>p:last-child{margin-bottom:0}.stop.mini h3{font-size:1.1rem}.stop.detour{grid-template-columns:minmax(0,1fr)clamp(150px,26vw,330px)minmax(0,1fr)}.stop.detour .stop-dot{border-style:dashed;border-radius:50%}.stop.detour .stop-card{border-style:dashed;border-color:color-mix(in srgb,var(--c)55%,var(--border));width:min(100%,390px);rotate:-1.8deg}.stop.detour:nth-child(2n) .stop-card{rotate:1.8deg}.stop.detour :-webkit-any(.stop-year,h3){padding-right:4.8rem}.stop.detour :-moz-any(.stop-year,h3){padding-right:4.8rem}.stop.detour :is(.stop-year,h3){padding-right:4.8rem}.stop.detour h3{font-family:var(--serif);letter-spacing:-.01em;font-size:1.8rem;font-style:italic;font-weight:400;line-height:1.1}.stop.detour h3 small{font-style:normal}.stamp{position:absolute;border:1.5px dashed color-mix(in srgb,var(--c)75%,transparent);background:color-mix(in srgb,var(--c)10%,transparent);border-radius:50%;width:68px;height:68px;padding:5px;top:14px;right:14px;rotate:9deg}.stamp svg{border-radius:50%;width:100%;height:100%}.flag-green{fill:var(--green)}.flag-red{fill:var(--red)}.flag-sphere{fill:var(--yellow)}.flag-shield{fill:#fff;stroke:var(--red);stroke-width:2}.flag-quinas{fill:var(--violet)}.tower{fill:url(#tower-gradient)}.sparkle{fill:var(--yellow);transform-box:fill-box;transform-origin:center;animation:2.4s ease-in-out infinite twinkle}.sparkle+.sparkle{animation-delay:-.8s}.sparkle+.sparkle+.sparkle{animation-delay:-1.6s}@keyframes twinkle{50%{scale:.3;opacity:.3}}.stop.major .stop-card{border-color:color-mix(in srgb,var(--c)55%,var(--border));background:radial-gradient(130% 120% at 100% 0%,color-mix(in srgb,var(--c)16%,transparent),transparent 60%),var(--surface);box-shadow:0 26px 60px -30px color-mix(in srgb,var(--c)60%,transparent)}.stop.major h3{font-size:1.7rem}.stop.finale .stop-card{box-shadow:none;background:0 0;border:0;padding-block-start:.5rem;padding-block-end:.5rem}.stop.finale h3{margin-bottom:1.2rem;font-size:clamp(1.5rem,1rem + 1.6vw,2.1rem)}.stop.finale .button{white-space:normal;text-align:center;max-width:100%;height:auto;min-height:3rem;padding-block-start:.65rem;padding-block-end:.65rem}.contact{overflow:hidden;text-align:center;border-top:1px solid var(--border)}.contact .aurora{z-index:0;opacity:.55;mask-image:linear-gradient(#0000,#000 40% 65%,#0000)}.contact .container{position:relative;display:grid;justify-items:center}.contact .eyebrow:before{content:"";background:var(--border-strong);width:3.5rem;height:1px}.contact h2{font-size:clamp(2.6rem,1.2rem + 5vw,5.4rem)}.contact .lead{margin-top:1.5rem}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.4rem}.cv-links{display:flex;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items: center;gap:.5rem 1.4rem;margin-top:1.8rem;font-size:.93rem}.footer{position:relative;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:1rem 2rem;padding-block-start:1.2rem;padding-block-end:1.2rem}.footer .brand{color:var(--text)}.dock{position:fixed;z-index:70;display:grid;justify-items:end;gap:.5rem;bottom:clamp(.8rem,2vw,1.5rem);right:clamp(.8rem,2vw,1.5rem)}.loukoum-toggle{display:flex;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface)82%,transparent);backdrop-filter:blur(16px)saturate(1.6);box-shadow:0 14px 40px -14px var(--shadow-color);white-space:nowrap;transition:translate .45s var(--ease),box-shadow .3s,border-color .3s;border-radius:999px;align-items: center;gap:.6rem;height:3.1rem;padding:0 1.2rem 0 .8rem;font-size:.93rem;font-weight:600}.loukoum-toggle:hover{border-color:var(--pink);box-shadow:0 16px 44px -12px #ff2d8799}.loukoum-toggle img{animation:5s ease-in-out infinite wiggle}@keyframes wiggle{0%,84%,to{rotate:none;scale:1}87%{rotate:-16deg;scale:1.2}90%{rotate:14deg;scale:1.2}93%{rotate:-10deg;scale:1.15}96%{rotate:6deg}}.eaten,.toast,.peeker,.sugar{display:none}::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:none;mix-blend-mode:normal}@media (max-width:980px){.nav-links{display:none}.hero-layout{grid-template-columns:1fr}.hero-art{order:-1;width:min(300px,62vw);margin-top:1rem}.floater{scale:.7}.kicker{text-align:left;font-size:.72rem}.hero-text{display:grid;text-align:center;justify-items:center}.hero-title{justify-items:center}.hero-actions{justify-content:center}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(3){border-left:0}.stats>div:nth-child(n+3){border-top:1px solid var(--border)}.bento,.languages{grid-template-columns:repeat(2,minmax(0,1fr))}.languages .language:last-child{grid-column:1/-1}.project.featured{grid-template-columns:1fr}.featured .shot{aspect-ratio:16/10.6;border-inline-start:0;border-inline-end:0;border-bottom:1px solid var(--border);order:0;min-height:0}.featured .project-body{padding:24px 26px 26px}}@media (max-width:760px){.bento,.languages,.projects{grid-template-columns:minmax(0,1fr)}.card.wide,.languages .language:last-child{grid-column:auto}.viz-saas .mini-window{display:none}.selection-cursor{right:-.4em}.stop,.stop.detour,.stop:nth-child(2n){grid-template-columns:46px minmax(0,1fr)}.stop-dot{grid-area:1/1}.stop-card,.stop:nth-child(2n) .stop-card{grid-area:1/2;justify-self:stretch;width:auto;margin:0 0 0 14px}.js .stop-card{translate:36px}.loukoum-toggle{height:2.8rem;font-size:.85rem}}@media (max-width:480px){.brand span{display:none}.hero-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root[data-loukoum]{--orange:#ff9838;--red:#ff5a4f;--pink:#ff3d8b;--purple:#b14cff;--violet:#8a4dff;--cyan:#2fc4f2;--yellow:#ffd23f;--green:#7cc242;--gradient:linear-gradient(100deg,#ff3d8b,#ff7a59 50%,#ffc23f);--background:var(--buncss-light,#fff0f6)var(--buncss-dark,#2a0f3a);--surface:var(--buncss-light,#fff)var(--buncss-dark,#3b1750);--surface-2:var(--buncss-light,#ffe0ec)var(--buncss-dark,#4c2166);--text:var(--buncss-light,#4d0f33)var(--buncss-dark,#ffeaf4);--muted:var(--buncss-light,#8a3b62)var(--buncss-dark,#e6b9d9);--subtle:var(--buncss-light,#b0708f)var(--buncss-dark,#b98bb0);--border:var(--buncss-light,#4d0f33)var(--buncss-dark,#ffb3d6);--border-strong:var(--buncss-light,#4d0f33)var(--buncss-dark,#ffb3d6);--ink:var(--buncss-light,#4d0f33)var(--buncss-dark,#14051d);--shadow-color:var(--ink);--glow-opacity:var(--buncss-light,.55)var(--buncss-dark,.3);--font:"Fredoka",ui-rounded,system-ui,sans-serif;--display:"Bagel Fat One","Fredoka",system-ui,sans-serif;--radius:30px}:root[data-loukoum] .only-loukoum{display:revert!important}:root[data-loukoum] body{background-image:radial-gradient(var(--buncss-light,#ffcfe0)var(--buncss-dark,#4c2166) 2.5px,#0000 3px);background-size:30px 30px}:root[data-loukoum] body:after{display:none}:root[data-loukoum] :-webkit-any(h1,h2,h3){letter-spacing:0;font-weight:400;line-height:1.12}:root[data-loukoum] :-moz-any(h1,h2,h3){letter-spacing:0;font-weight:400;line-height:1.12}:root[data-loukoum] :is(h1,h2,h3){letter-spacing:0;font-weight:400;line-height:1.12}:root[data-loukoum] ::selection{background:var(--yellow);color:#4d0f33}:root[data-loukoum] .accent{display:inline-block;font-family:var(--display);letter-spacing:0;color:var(--pink);-webkit-text-stroke:.035em var(--ink);paint-order:stroke fill;text-shadow:.06em .06em 0 var(--ink);animation:3.2s ease-in-out infinite wobble;background:0 0;padding:0 .18em;font-size:1em;font-style:normal;rotate:-2deg}@keyframes wobble{50%{rotate:2deg;scale:1.03}}:root[data-loukoum] :-webkit-any(.card,.language,.project,.stop-card,.stats,.nav,.viz,.kicker){border:3px solid var(--border);box-shadow:6px 6px 0 var(--ink)}:root[data-loukoum] :-moz-any(.card,.language,.project,.stop-card,.stats,.nav,.viz,.kicker){border:3px solid var(--border);box-shadow:6px 6px 0 var(--ink)}:root[data-loukoum] :is(.card,.language,.project,.stop-card,.stats,.nav,.viz,.kicker){border:3px solid var(--border);box-shadow:6px 6px 0 var(--ink)}:root[data-loukoum] .viz{box-shadow:none}:root[data-loukoum] .stats>div+div{border-left-width:3px}:root[data-loukoum] .glow:hover{border-color:var(--border);box-shadow:10px 10px 0 var(--ink);animation:.7s both jelly}@keyframes jelly{0%{scale:1}25%{scale:1.04 .95}50%{scale:.97 1.04}75%{scale:1.02 .98}to{scale:1;translate:-3px -3px}}:root[data-loukoum] .button{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-weight:600}:root[data-loukoum] .button.primary,:root[data-loukoum] .button.primary:nth-child(odd){background:var(--pink)}:root[data-loukoum] .button.ghost{background:var(--yellow);color:#4d0f33}:root[data-loukoum] .button:hover{box-shadow:7px 8px 0 var(--ink);transform:translate(-2px,-3px)rotate(-1.5deg)}:root[data-loukoum] .button:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}:root[data-loukoum] .tags li{border:2px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font);font-weight:600}:root[data-loukoum] .tags li:nth-child(3n+1){background:var(--buncss-light,#ffd9e8)var(--buncss-dark,#6b2a66)}:root[data-loukoum] .tags li:nth-child(3n+2){background:var(--buncss-light,#e3f5c8)var(--buncss-dark,#3e5a2a)}:root[data-loukoum] .tags li:nth-child(3n){background:var(--buncss-light,#fff1b8)var(--buncss-dark,#6b5320)}:root[data-loukoum] .eyebrow{font-family:var(--font);color:var(--text);font-weight:600}:root[data-loukoum] .eyebrow b{border:2px solid var(--ink);background:var(--yellow);color:#4d0f33;rotate:-4deg}:root[data-loukoum] .nav{background:var(--surface);backdrop-filter:none}:root[data-loukoum] .nav-links a{color:var(--text);font-weight:600}:root[data-loukoum] .nav-links a:hover{background:var(--yellow);color:#4d0f33;rotate:-3deg}:root[data-loukoum] .hero-grid{display:none}:root[data-loukoum] .hero-title{gap:.12em;font-size:clamp(2.4rem,.9rem + 4.2vw,4.5rem)}:root[data-loukoum] .selection:before{border:3px dashed var(--border);background:0 0;border-radius:18px;margin:-6px -2px}:root[data-loukoum] .selection-cursor{-webkit-text-stroke:0;text-shadow:none}:root[data-loukoum] .selection-cursor b{border:2px solid var(--ink);background:var(--yellow);color:#4d0f33;font-family:var(--font)}:root[data-loukoum] .selection-cursor:before{background:var(--ink)}:root[data-loukoum] .kicker{background:var(--surface);font-family:var(--font);color:var(--text);box-shadow:4px 4px 0 var(--ink);font-weight:600}:root[data-loukoum] :-webkit-any(a[href],button,.portrait){cursor:var(--hover-cursor)}:root[data-loukoum] :-moz-any(a[href],button,.portrait){cursor:var(--hover-cursor)}:root[data-loukoum] :is(a[href],button,.portrait){cursor:var(--hover-cursor)}:root[data-loukoum] .portrait img{rotate:y 180deg}:root[data-loukoum] .portrait img+img{rotate:y 360deg}:root[data-loukoum] .portrait:before{background:repeating-conic-gradient(from var(--angle),var(--pink)0 15deg,#fff 0 30deg);mask:radial-gradient(farthest-side,#0000 calc(100% - 20px),#000 calc(100% - 19px));outline:4px solid var(--ink);outline-offset:-4px;animation-duration:14s;border-radius:50%;inset:-22px}:root[data-loukoum] .portrait:after{background:conic-gradient(from var(--angle),var(--pink),var(--yellow),var(--green),var(--pink))}:root[data-loukoum] .portrait.show{animation:boing .9s var(--ease)}@keyframes boing{0%{scale:1;rotate:none}30%{scale:1.12 .88;rotate:-8deg}55%{scale:.92 1.1;rotate:6deg}78%{scale:1.04 .97;rotate:-2deg}to{scale:1;rotate:none}}:root[data-loukoum] .bubble{display:block;position:absolute;z-index:3;border:3px solid var(--ink);color:#4d0f33;box-shadow:5px 5px 0 var(--ink);text-align:center;opacity:0;pointer-events:none;background:#fff;border-radius:22px;width:max-content;max-width:min(22rem,84vw);padding:.7rem 1.1rem;font-weight:600;line-height:1.35;top:-4%;left:50%;translate:-50% -100%}:root[data-loukoum] .bubble.show{animation:speak 4.2s var(--ease)both}@keyframes speak{0%{opacity:0;scale:.4}8%,88%{opacity:1;scale:1}to{opacity:0;scale:.8}}:root[data-loukoum] .orbit{border:3px dotted var(--pink)}:root[data-loukoum] .orbit i{border:2px solid var(--ink);background:var(--yellow);box-shadow:none;border-radius:50%}:root[data-loukoum] .cube{display:none}:root[data-loukoum] .floater .lokum{display:block;animation:4s ease-in-out infinite alternate sway;animation-delay:var(--delay);filter:drop-shadow(4px 6px 0 #4d0f3340)}@keyframes sway{0%{rotate:-14deg}to{rotate:14deg}}:root[data-loukoum] .stats{background:var(--surface);backdrop-filter:none}:root[data-loukoum] .stats dt{font-family:var(--display);letter-spacing:0;font-weight:400}:root[data-loukoum] .stats dt b{color:var(--pink);background:0 0}:root[data-loukoum] .stats dd{color:var(--text);font-weight:500}:root[data-loukoum] .marquee{border-block:3px solid var(--ink);background:var(--pink);mask-image:none;margin-block-start:1rem;margin-block-end:1rem;padding:.9rem 0;rotate:-1.2deg;scale:1.03}:root[data-loukoum] .marquee span{font-family:var(--display);color:#fff;-webkit-text-stroke:1px #4d0f33;paint-order:stroke fill;font-size:1.3rem}:root[data-loukoum] .marquee span:after{background:linear-gradient(#fff 0 32%,var(--yellow)0);border:2.5px solid #4d0f33;border-radius:6px;width:20px;height:20px;rotate:12deg}:root[data-loukoum] .marquee span:nth-child(odd):after{background:linear-gradient(#fff 0 32%,var(--green)0);rotate:-10deg}:root[data-loukoum] main>.section>.container{transform:skewY(calc(var(--jelly,0)*2.2deg))}:root[data-loukoum] .section h2 .accent{font-size:1em}:root[data-loukoum] .section-header>p:last-child,:root[data-loukoum] .lead{color:var(--text);font-weight:500}:root[data-loukoum] .viz{background-image:radial-gradient(var(--buncss-light,#ffb8d2)var(--buncss-dark,#7a3a8f) 2px,#0000 2.5px);border-width:3px}:root[data-loukoum] .viz-terminal{border-color:var(--border);background-color:#2a0f3a}:root[data-loukoum] .card:nth-child(odd){rotate:-.6deg}:root[data-loukoum] .card:nth-child(2n){rotate:.6deg}:root[data-loukoum] .card-cta{background:var(--yellow);color:#4d0f33}:root[data-loukoum] .card-cta p{color:#4d0f33}:root[data-loukoum] .language header p{color:var(--pink);font-family:var(--font);font-size:.95rem;font-weight:600}:root[data-loukoum] .language-mark{rotate:-6deg}:root[data-loukoum] pre{border:3px solid var(--ink);background:#2a0f3a}:root[data-loukoum] .project:nth-child(odd){rotate:-.7deg}:root[data-loukoum] .project:nth-child(2n){rotate:.7deg}:root[data-loukoum] .shot,:root[data-loukoum] .featured .shot{border-color:var(--border);border-width:3px}:root[data-loukoum] .shot{mask:radial-gradient(34px at calc(100% - 4px) calc(100% - 26px),#0000 98%,#000),radial-gradient(30px at calc(100% - 46px) calc(100% - 2px),#0000 98%,#000),radial-gradient(26px at calc(100% - 92px) 100%,#0000 98%,#000);mask-composite:intersect}:root[data-loukoum] .chrome{background:var(--surface);border-bottom:3px solid var(--border);backdrop-filter:none}:root[data-loukoum] .chrome i{background:var(--pink)}:root[data-loukoum] .chrome i:nth-child(2){background:var(--yellow)}:root[data-loukoum] .chrome i:nth-child(3){background:var(--green)}:root[data-loukoum] .project-body header p{font-family:var(--font);font-weight:600}:root[data-loukoum] .badge{border:2px solid var(--ink);background:var(--yellow);rotate:-1.5deg;color:#4d0f33!important}:root[data-loukoum] .thread-track{stroke:var(--border);stroke-width:3;stroke-dasharray:1 12}:root[data-loukoum] .thread-line{stroke:var(--pink);stroke-width:12;filter:drop-shadow(3px 3px 0 var(--ink))}:root[data-loukoum] .traveler img{rotate:var(--roll,0deg);animation:none;filter:drop-shadow(3px 4px 0 #4d0f3359);width:64px;top:-32px;left:-32px}:root[data-loukoum] .stop-dot{border:3px solid var(--ink);background:#fff;border-radius:7px;width:22px;height:22px}:root[data-loukoum] .stop.reached .stop-dot{border-color:var(--ink);background:var(--yellow);box-shadow:none;scale:1.3}:root[data-loukoum] .stop-year{display:inline-block;border:2px solid var(--ink);background:var(--yellow);color:#4d0f33;font-family:var(--font);border-radius:999px;padding:1px 10px;rotate:-2deg}:root[data-loukoum] .stop.reached .stop-card{animation:.8s .1s both jelly}:root[data-loukoum] .stop.mini .stop-card{background:var(--surface);border-style:dashed}:root[data-loukoum] .stop.detour .stop-card{border-style:dashed}:root[data-loukoum] .stop.detour h3{font-family:var(--display);font-size:1.4rem;font-style:normal}:root[data-loukoum] .stamp{border:2.5px dashed var(--ink);background:var(--yellow)}:root[data-loukoum] .tower{fill:var(--pink);stroke:#4d0f33;stroke-width:1.2;stroke-linejoin:round}:root[data-loukoum] .sparkle{fill:#fff;stroke:#4d0f33;stroke-width:.8}:root[data-loukoum] .stop.major .stop-card{border-color:var(--border);background:var(--surface);box-shadow:8px 8px 0 var(--pink)}:root[data-loukoum] .stop.finale .stop-card{box-shadow:none;animation:none;border:0}:root[data-loukoum] .contact{border-top:3px solid var(--ink)}:root[data-loukoum] .footer{color:var(--text);background:var(--buncss-light,#ffd9e8)var(--buncss-dark,#1d0a2a);border-top:0;font-weight:500}:root[data-loukoum] .palace{position:relative;background:var(--background);overflow:hidden;margin-top:-1px}:root[data-loukoum] .palace>img{--width:max(100%,780px);width:var(--width);margin:clamp(-18rem,-16vw,-4rem)0 0 calc((100% - var(--width))/2);max-width:none}:root[data-loukoum] .parade{position:absolute;display:flex;animation:26s linear infinite parade;gap:1.4rem;width:max-content;inset:auto 0 0}:root[data-loukoum] .parade img{animation:.62s ease-in-out infinite alternate hop;filter:drop-shadow(3px 4px 0 #4d0f334d);width:clamp(46px,6vw,84px)}:root[data-loukoum] .parade img:nth-child(2n){animation-delay:-.2s}:root[data-loukoum] .parade img:nth-child(3n){animation-delay:-.41s}@keyframes parade{0%{translate:-100%}to{translate:100vw}}@keyframes hop{0%{translate:0;scale:1.08 .9}to{translate:0 -44px;scale:.96 1.06;rotate:12deg}}:root[data-loukoum] .loukoum-toggle{border:3px solid var(--ink);background:var(--surface);backdrop-filter:none;box-shadow:4px 4px 0 var(--ink)}:root[data-loukoum] .loukoum-toggle img{animation:3s linear infinite spin}:root[data-loukoum] .eaten:not([hidden]){display:flex;border:3px solid var(--ink);background:var(--yellow);color:#4d0f33;box-shadow:3px 3px 0 var(--ink);border-radius:999px;align-items: center;gap:.4rem;padding:.25rem .8rem;font-size:.9rem;font-weight:600}:root[data-loukoum] .eaten b{font-family:var(--display);font-size:1.15rem;font-weight:400}:root[data-loukoum] .toast{display:block;position:fixed;z-index:80;border:3px solid var(--ink);color:#4d0f33;box-shadow:5px 5px 0 var(--ink);text-align:center;pointer-events:none;background:#fff;border-radius:26px;width:max-content;max-width:min(40rem,92vw);padding:.8rem 1.4rem;transition:translate .6s cubic-bezier(.34,1.56,.64,1);font-weight:600;bottom:1.6rem;left:50%;translate:-50% 180%}:root[data-loukoum] .toast.show{translate:-50%}.sweets{position:fixed;z-index:60;overflow:hidden;pointer-events:none;inset:0}.sweet{position:absolute;pointer-events:auto;user-select:none;-webkit-user-drag:none;will-change:transform;max-width:none;top:0;left:0}.sweet.bit{pointer-events:none}.sweet.gobbled{pointer-events:none;animation:.32s ease-out forwards gobble}@keyframes gobble{40%{scale:1.5;opacity:1}to{scale:0;opacity:0}}.miam{position:absolute;color:#fff;-webkit-text-stroke:5px #4d0f33;paint-order:stroke fill;white-space:nowrap;animation:.9s ease-out forwards miam;font-family:Bagel Fat One,sans-serif;font-size:1.6rem;translate:-50% -50%}@keyframes miam{0%{scale:.4;rotate:-12deg}30%{scale:1.2}to{translate:-50% -190%;rotate:8deg;opacity:0}}.puff{position:absolute;mask-image:radial-gradient(circle,#000 25%,#0000 70%);animation:.6s ease-out forwards puff;background:radial-gradient(circle,#fff 0 12%,#0000 13%) 0 0/22px 22px;border-radius:50%;width:120px;height:120px;margin:-60px}@keyframes puff{0%{scale:.2;opacity:1}to{scale:1.6;opacity:0}}:root[data-loukoum] .sugar{position:fixed;z-index:55;pointer-events:none;opacity:var(--buncss-light,1)var(--buncss-dark,.75);filter:drop-shadow(0 1px 1px var(--buncss-light,#4d0f3359)var(--buncss-dark,#0000));animation:18s linear infinite snow;background-image:radial-gradient(circle,#fff 0 2px,#0000 2.5px),radial-gradient(circle,#fff 0 3px,#0000 3.5px),radial-gradient(circle,#fff 0 1.5px,#0000 2px);background-size:260px 300px,420px 480px,180px 210px;inset:0}@keyframes snow{0%{background-position:0 0,60px 40px,30px 90px}to{background-position:130px 600px,-150px 1000px,120px 720px}}:root[data-loukoum] .peeker{position:fixed;z-index:65;transition:translate .7s cubic-bezier(.34,1.56,.64,1);top:40%;right:0;translate:130%;rotate:-14deg}:root[data-loukoum] .peeker.out{translate:34%}:root[data-loukoum] .peeker img{border:4px solid var(--ink);background:#fff;border-radius:50%;width:170px}:root[data-loukoum] .peeker span{position:absolute;border:3px solid var(--ink);color:#4d0f33;box-shadow:4px 4px 0 var(--ink);opacity:0;background:#fff;border-radius:18px 18px 4px;width:max-content;max-width:14rem;padding:.45rem .9rem;transition:opacity .3s;font-weight:600;top:4%;right:78%;rotate:14deg}:root[data-loukoum] .peeker.out span{opacity:1;transition-delay:.4s}:root[data-loukoum]::view-transition-new(root){filter:drop-shadow(0 0 0 12px #ff3d8b)}@media (max-width:760px){:root[data-loukoum] .peeker img{width:120px}:root[data-loukoum] .toast{bottom:4.6rem}}
