:root{color-scheme:light;--bg:#f5f6f4;--surface:#fff;--fg:#141816;--muted:#68706c;--faint:#c3c9c6;--line:#e2e6e3;--chip:#eaedeb;--dot:#d6dbd8;--accent:#009b7c;--accent-2:#0098ae;--accent-ink:#00775f;--brand-a:#00bc8d;--brand-b:#00b9ca;--on-brand:#fff;--ink:#141816;--on-ink:#f5f6f4;--live:#16b37c;--s1-top:#1c211f;--s1-side:#0c0f0e;--s1-unit:#2b322f;--led:#2fe0b0;--s2-top:#fff;--s2-side:#d3d9d6;--s2-bar:#e3e8e5;--s3-side:#00957b;--shadow:rgba(20,32,27,.2);--card-shadow:rgba(20,32,27,.28);--term-bg:#0f1312;--term-fg:#d5dfdb;--term-dim:#7d8a85;--term-acc:#35d6ad;--sans:var(--font-geologica),"Helvetica Neue",Arial,sans-serif;--mono:var(--font-mono),ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--fs-xs:11px;--fs-s:13px;--fs-m:15px;--fs-l:20px;--fs-route:clamp(26px,3.6vw,44px);--fs-hero:clamp(44px,7.4vw,98px);--fs-cta:clamp(42px,7.6vw,108px);--ease:cubic-bezier(0.2,0.7,0.2,1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body,html{background:var(--bg)}body{margin:0;color:var(--fg);font:400 var(--fs-m)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:0;cursor:pointer;padding:0}ol,ul{list-style:none;padding:0}dd,dl,figure,h1,h2,h3,h4,ol,p,pre,ul{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono{font-family:var(--mono)}.wrap{width:100%;max-width:1272px;margin-inline:auto;padding-inline:clamp(16px,3vw,32px)}.gl{color:var(--faint)}.paused,.paused *{animation-play-state:paused!important}.top{position:sticky;top:env(safe-area-inset-top,0);z-index:40;background:color-mix(in oklab,var(--bg) 80%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:border-color .3s}.top.scrolled{border-bottom-color:var(--line)}.top-in{display:grid;grid-template-columns:1fr auto 1fr;height:60px;gap:16px}.brand,.top-in{align-items:center}.brand{display:flex;gap:10px;white-space:nowrap;font-size:var(--fs-s);font-weight:500;letter-spacing:-.01em;min-width:0}.brand svg{width:24px;height:24px;flex:none}.pill{font:500 var(--fs-xs)/1 var(--mono);padding:5px 8px;border-radius:6px;background:var(--chip);color:var(--muted);white-space:nowrap}.nav{display:flex;gap:24px;font-size:var(--fs-s)}.nav a{position:relative;display:inline-block;white-space:nowrap;color:var(--fg);transition:color .2s}.nav a:hover{color:var(--accent-ink)}.nav a[aria-current=page]:after{content:"";position:absolute;left:50%;bottom:-8px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.sq{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);transition:transform .25s var(--ease),border-color .2s}.sq:hover{transform:translateY(-2px);border-color:var(--faint)}.sq svg{width:14px;height:14px}.btn-ink{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;margin-left:8px;border-radius:7px;background:var(--ink);color:var(--on-ink);font-size:12.5px;font-weight:500;white-space:nowrap;transition:transform .25s var(--ease)}.btn-ink:hover{transform:translateY(-2px)}.btn-ink .arr{display:inline-block;transition:transform .3s var(--ease)}.btn-ink:hover .arr{transform:translate(2px,-2px)}.contact-sq{display:none}.lang{display:inline-flex;height:30px;padding:2px;gap:2px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font:500 11px/1 var(--mono)}.lang a{display:grid;place-items:center;min-width:26px;padding:0 6px;border-radius:5px;color:var(--muted);transition:background-color .2s,color .2s}.lang a[aria-current=true]{background:var(--ink);color:var(--on-ink)}.lang a:not([aria-current]):hover{color:var(--fg);background:var(--chip)}.menu-btn{display:none}.top.menu-open{background:var(--bg);border-bottom-color:var(--line)}.mnav{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 60px);overflow-y:auto;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 28px 40px -28px rgba(20,32,27,.35);padding-block:4px 14px;animation:mnavIn .28s var(--ease)}@keyframes mnavIn{0%{opacity:0;transform:translateY(-8px)}}.mnav a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:var(--fs-l);letter-spacing:-.02em}.mnav a:last-child{border-bottom:0}.mnav a[aria-current=page]{color:var(--accent-ink)}.mnav a span{font:var(--fs-xs) var(--mono);color:var(--muted);align-self:center}.mnav-scrim{position:fixed;inset:0;z-index:39;padding:0;border:0;background:rgba(20,24,22,.22);cursor:default;animation:scrimIn .28s var(--ease)}@keyframes scrimIn{0%{opacity:0}}@media (min-width:861px){.mnav,.mnav-scrim{display:none!important}}.hero{padding-block:8px 24px}.stage{position:relative;height:440px;display:grid;place-items:center;overflow:hidden;-webkit-tap-highlight-color:transparent}.stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--dot) 1.2px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent);mask-image:radial-gradient(closest-side,#000 30%,transparent)}.iso{--rx:58deg;--rz:-42deg;--gap:26px;--lift:40px;--sc:1;position:relative;width:0;height:0;transform-style:preserve-3d;transform:translateY(var(--lift)) scale(var(--sc)) rotateX(var(--rx)) rotate(var(--rz))}.ground{width:440px;height:440px;left:-220px;top:-220px;border-radius:50%;background:radial-gradient(closest-side,var(--shadow),transparent 75%);transform:translate3d(22px,22px,-2px)}.ground,.slab{position:absolute}.slab{--th:20px;--drop:0px;width:var(--s);height:var(--s);left:calc(var(--s) / -2);top:calc(var(--s) / -2);transform-style:preserve-3d;transform:translateZ(calc(var(--i) * (var(--th) + var(--gap)) + var(--drop)))}.slab>.ly{background:var(--side);transform:translateZ(calc(var(--k) * 2px))}.slab>.face,.slab>.ly{position:absolute;inset:0;border-radius:var(--r)}.slab>.face{transform:translateZ(var(--th));overflow:hidden}.s1{--s:250px;--r:28px;--side:var(--s1-side)}.s2{--s:226px;--r:30px;--side:var(--s2-side)}.s3{--s:204px;--r:35px;--side:var(--s3-side)}.rack{background:var(--s1-top);padding:15%;display:grid;grid-template-rows:repeat(4,1fr);gap:9px}.rack .u{border-radius:6px;background:var(--s1-unit);display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-inline:9%}.rack .u i{width:7px;height:7px;border-radius:50%;background:var(--led);box-shadow:0 0 10px var(--led);animation:blink 2.6s steps(1) infinite;animation-delay:var(--dl,0s)}.rack .u i.off{background:var(--faint);box-shadow:none;animation:none}@keyframes blink{0%,to{opacity:1}46%{opacity:.25}52%{opacity:1}78%{opacity:.4}}.code{background:var(--s2-top);padding:0 16%;display:flex;flex-direction:column;justify-content:center;gap:11px}.code b{display:block;height:8px;width:var(--w);margin-left:var(--in,0);border-radius:4px;background:var(--s2-bar)}.code b.a{background:var(--brand-a)}.code b.k{background:var(--s1-top)}.brandface{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:var(--on-brand);display:grid;place-items:center}.brandface svg{width:100%;height:100%}.lbl{position:absolute;left:100%;top:100%;transform-origin:0 0;transform:translateZ(var(--th)) rotate(calc(var(--rz) * -1)) rotateX(calc(var(--rx) * -1)) translate(-18px,-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;pointer-events:none}.lbl:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--fg)}.lbl-line{width:46px;height:1px;background:var(--faint)}.lbl b{display:block;font:500 13px/1.2 var(--sans);color:var(--fg)}.lbl em{display:block;font:400 11px/1.4 var(--mono);font-style:normal}.fig,.lbl em{color:var(--muted)}.fig{position:absolute;left:0;right:0;bottom:10px;text-align:center;font:var(--fs-xs) var(--mono)}.fig .tap,.legend{display:none}.legend{justify-content:center;flex-wrap:wrap;gap:6px;margin-top:6px}.legend li{font:var(--fs-xs) var(--mono);padding:5px 9px;border-radius:6px;background:var(--chip);color:var(--muted)}.legend li b{color:var(--fg);font-weight:500}.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px 56px;margin-top:22px}.eyebrow{font:var(--fs-xs) var(--mono);color:var(--muted);letter-spacing:.02em;margin-bottom:14px}.hero h1{font-size:var(--fs-hero);font-weight:500;letter-spacing:-.048em;line-height:.96;text-wrap:balance}.hero h1>span{display:block}.hero h1 .l2{background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}.lede{margin-top:22px;max-width:46ch;color:var(--muted);font-size:16px;font-weight:300}.lede strong{color:var(--fg);font-weight:400}.spec{display:grid;min-width:270px;font:var(--fs-s) var(--mono);border-top:1px solid var(--line)}.spec div{display:flex;justify-content:space-between;gap:24px;padding:9px 0;border-bottom:1px solid var(--line)}.spec dt{color:var(--muted)}.spec dd{text-align:right}.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);margin-right:6px;vertical-align:1px;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--live) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.sec{padding-block:clamp(88px,11vw,150px) 0;scroll-margin-top:40px}.sec-head{display:grid;justify-items:center;gap:10px;text-align:center;margin-bottom:clamp(36px,5vw,64px)}.route{font:500 var(--fs-route)/1.1 var(--mono);letter-spacing:-.04em;color:var(--faint);cursor:default}.route .gl,.route .verb{color:var(--accent)}.sec-sub{font:var(--fs-xs) var(--mono);color:var(--muted);letter-spacing:.02em}[data-reveal]{transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s)}[data-reveal].pre{opacity:0;transform:translateY(32px);filter:blur(8px)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px}.proj.feature{grid-column:1/-1}.proj-media{position:relative;display:grid;place-items:center;aspect-ratio:16/10.5;border-radius:10px;overflow:hidden;background:var(--tint);isolation:isolate;container-type:inline-size}.feature .proj-media{aspect-ratio:21/9.4}.win-float{position:relative;z-index:2;width:84%;animation:bob 7s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-1cqw)}}.win{--px:0;--py:0;width:100%;border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:0 1px 1px rgba(0,0,0,.04),0 24px 48px -24px var(--card-shadow);transform:perspective(1000px) rotateX(calc(var(--py) * -5deg)) rotateY(calc(var(--px) * 7deg));transition:transform .7s var(--ease),box-shadow .7s var(--ease)}.proj-media:hover .win{transform:perspective(1000px) rotateX(calc(var(--py) * -5deg)) rotateY(calc(var(--px) * 7deg)) translateY(-6px);box-shadow:0 1px 1px rgba(0,0,0,.04),0 34px 60px -26px var(--card-shadow)}.win-bar{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--surface)}.win-bar i{width:7px;height:7px;border-radius:50%;background:var(--faint)}.win-bar>span{margin-inline:auto;transform:translateX(-12px);font:10.5px/1 var(--mono);color:var(--muted);background:var(--chip);padding:4px 12px;border-radius:99px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64%}.shot{position:relative;overflow:hidden}.shot img{width:100%;height:auto}.badge{position:absolute;left:var(--mx,50%);top:var(--my,50%);z-index:6;transform:translate(-50%,-50%) scale(0);display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;background:var(--ink);color:var(--on-ink);font:500 13px/1 var(--sans);white-space:nowrap;pointer-events:none;transition:transform .3s var(--ease)}.badge:after{content:"›";font-size:16px;line-height:0}@media (hover:hover) and (pointer:fine){.proj-media:hover .badge{transform:translate(-50%,-50%) scale(1)}.proj-media{cursor:none}}.proj-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding-top:18px}.proj-meta h3{font-size:var(--fs-l);font-weight:500;letter-spacing:-.025em;line-height:1.25}.proj-link{font:12px/1.9 var(--mono);color:var(--muted);white-space:nowrap;transition:color .2s}a.proj-link:hover{color:var(--accent-ink)}.proj-meta p{grid-column:1/-1;color:var(--muted);max-width:60ch;font-size:14.5px}.tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tags li{font:var(--fs-xs)/1 var(--mono);padding:5px 8px;border-radius:5px;background:var(--chip);color:var(--muted)}.facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px;font:12px var(--mono);color:var(--fg)}.facts span:before{content:"→ ";color:var(--accent)}.feature .proj-meta{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:start}.feature .proj-meta p{grid-column:2;grid-row:1/span 2}.feature .proj-meta .proj-link{grid-column:3}.feature .proj-meta .facts,.feature .proj-meta .tags{grid-column:1}.stack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.scard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.scard-art{position:relative;height:180px;display:grid;place-items:center;background:var(--tint);border-bottom:1px solid var(--line)}.layer{top:12px;left:14px;font:var(--fs-xs) var(--mono);color:var(--muted)}.layer,.tile{position:absolute}.tile{left:50%;top:50%;margin:-33px 0 0 -33px;width:66px;height:66px;border-radius:16px;display:grid;place-items:center;font:600 12.5px/1 var(--mono);letter-spacing:-.02em;background:var(--tb);color:var(--tf);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 10px 22px -10px rgba(0,0,0,.45);transform:translate(var(--x0),var(--y0)) rotate(var(--r0));transition:transform .6s cubic-bezier(.3,1.35,.5,1)}.tile:nth-child(3){transition-delay:.03s}.tile:nth-child(4){transition-delay:.06s}.tile:nth-child(5){transition-delay:.09s}.scard:focus-within .tile,.scard:hover .tile{transform:translate(var(--x1),var(--y1)) rotate(var(--r1))}.scard-body{padding:20px 22px 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;flex:1;align-content:start}.scard h3{font-size:var(--fs-l);font-weight:500;letter-spacing:-.025em}.scard p{color:var(--muted);font-size:14.5px}.scard .list{font:12px/1.8 var(--mono);color:var(--fg)}.scard .list span{color:var(--faint)}.ai-note{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:28px;color:var(--muted);font-size:14px;text-align:center}.ai-note b{font:500 var(--fs-xs)/1 var(--mono);color:var(--fg);padding:5px 8px;border-radius:6px;border:1px solid var(--line)}.log{border-top:1px solid var(--line)}.log-row{display:grid;grid-template-columns:170px minmax(0,1fr) 260px;gap:24px 40px;padding:30px 0;border-bottom:1px solid var(--line)}.log-when{font:13px/1.6 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.log-status{display:inline-flex;align-items:center;margin-top:8px;font:500 var(--fs-xs)/1 var(--mono);color:var(--accent-ink);padding:5px 8px;border-radius:6px;background:color-mix(in oklab,var(--accent) 12%,transparent)}.log-main h3{font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1.2}.log-main .org{font-size:14px;color:var(--muted);margin-top:2px}.roles{display:grid;gap:4px;margin-top:14px;font:12.5px var(--mono)}.roles li{display:flex;gap:10px;align-items:baseline}.roles li em{font-style:normal;color:var(--muted)}.roles li:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;border:1.5px solid var(--accent);transform:translateY(-1px)}.roles li.cur:before{background:var(--accent)}.bul{display:grid;gap:6px;margin-top:14px;font-size:14.5px;color:var(--muted);max-width:62ch}.bul li{padding-left:16px;position:relative}.bul li:before{content:"–";position:absolute;left:0;color:var(--faint)}.log-side .tags{margin-top:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:26px 22px;display:grid;gap:4px}.stat+.stat{border-left:1px solid var(--line)}.stat b{font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.stat span{font:12px var(--mono);color:var(--muted)}.extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin-top:36px}.extras h4{font:500 var(--fs-xs) var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}.extras li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px}.extras li span{font:12px var(--mono);color:var(--muted);white-space:nowrap}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 20px}.dmedia{position:relative;aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:var(--db,var(--surface));display:grid;place-items:center}.dmedia img{-o-object-fit:cover;object-fit:cover;transition:transform .9s var(--ease)}.dmedia.contain img{width:58%;height:auto;-o-object-fit:contain;object-fit:contain}.dmedia svg{width:34%;height:auto;transition:transform .9s var(--ease)}.dtile:hover .dmedia img,.dtile:hover .dmedia svg{transform:scale(1.045)}.dtile figcaption{padding-top:14px;display:grid;gap:4px}.dtile h3{font-size:17px;font-weight:500;letter-spacing:-.02em}.dtile p{font-size:14px;color:var(--muted)}.dtile .kind{font:var(--fs-xs) var(--mono);color:var(--muted)}.more-link{display:flex;justify-content:center;margin-top:44px}.cta{text-align:center;padding-block:clamp(110px,14vw,190px) clamp(70px,9vw,120px)}.cta-route{font-size:clamp(16px,1.6vw,20px)}.cta h2{font-size:var(--fs-cta);font-weight:500;letter-spacing:-.05em;line-height:.98;margin-top:22px;text-wrap:balance}.cta h2 .row2{display:block;white-space:nowrap}html[lang=el] .hero h1{font-size:clamp(40px,5.8vw,78px)}html[lang=el] .cta h2{font-size:clamp(36px,6.4vw,90px)}.cta .arrow{color:var(--accent);font-weight:400;margin-right:.12em}.caret{display:inline-block;width:.08em;height:.78em;margin-left:.06em;background:var(--accent);vertical-align:-.04em;animation:caret 1.05s steps(1) infinite}@keyframes caret{50%{opacity:0}}.cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:38px}.btn-out{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;transition:transform .25s var(--ease),border-color .2s}.btn-out:hover{transform:translateY(-2px);border-color:var(--faint)}.btn-out.solid{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.mail-line{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:13px var(--mono);color:var(--muted)}.mail-line output{color:var(--fg);-webkit-user-select:all;-moz-user-select:all;user-select:all}.copy{font:500 var(--fs-xs) var(--mono);padding:5px 8px;border-radius:6px;background:var(--chip);color:var(--fg)}.copy:hover{background:var(--line)}.foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding-block:28px calc(76px + env(safe-area-inset-bottom, 0px));font:12px/1.6 var(--mono);color:var(--muted)}.foot-mid{text-align:center;display:grid;justify-items:center;gap:2px}.foot-mid svg{width:26px;height:26px;margin-bottom:10px}.foot-mid .clock{margin-top:10px;color:var(--fg);font-variant-numeric:tabular-nums}.foot-right{justify-self:end}.foot a:hover,.foot button:hover{color:var(--fg)}.dock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:50;display:flex;align-items:center;gap:8px}.dock-top{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--fg);box-shadow:0 12px 30px -12px var(--card-shadow);opacity:0;transform:translateY(8px) scale(.9);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease),border-color .2s}.dock-top.on{opacity:1;transform:none;pointer-events:auto}.dock-top.on:hover{transform:translateY(-2px);border-color:var(--faint)}.dock-top svg{width:15px;height:15px}.dock-btn{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;border-radius:10px;background:var(--ink);color:var(--on-ink);font:12px/1 var(--mono);box-shadow:0 12px 30px -12px var(--card-shadow);transition:transform .25s var(--ease)}.dock-btn:hover{transform:translateY(-2px)}.dock-btn .sep{width:1px;height:12px;background:currentColor;opacity:.25}.dock-btn .k{opacity:.6}.term{position:absolute;right:0;bottom:calc(100% + 10px);width:min(380px,calc(100vw - 32px));background:var(--term-bg);color:var(--term-fg);border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);font:12.5px/1.55 var(--mono);transform-origin:100% 100%;animation:termIn .35s var(--ease)}@keyframes termIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}.term-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid hsla(0,0%,100%,.07);color:var(--term-dim)}.term-bar i{width:9px;height:9px;border-radius:50%;background:hsla(0,0%,100%,.14)}.term-bar span{margin-left:8px;flex:1}.term-bar button{color:var(--term-dim);font-size:15px;line-height:1;padding:2px 4px}.term-out{height:230px;overflow-y:auto;padding:12px 14px 4px;white-space:pre-wrap;word-break:break-word}.term-out .p{color:var(--term-acc)}.term-out .d{color:var(--term-dim)}.term-in{display:flex;align-items:center;gap:8px;padding:8px 14px 12px}.term-in label{color:var(--term-acc)}.term-in input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--term-fg);font:inherit;caret-color:var(--term-acc)}.term-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}.term-chips button{font:11px var(--mono);color:var(--term-fg);padding:4px 8px;border-radius:6px;background:hsla(0,0%,100%,.07)}.term-chips button:hover{background:hsla(0,0%,100%,.13)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));transform:translate(-50%,20px);opacity:0;padding:9px 14px;border-radius:8px;background:var(--ink);color:var(--on-ink);font:12px var(--mono);transition:all .3s var(--ease);pointer-events:none;z-index:60}.toast.on{opacity:1;transform:translate(-50%)}@media (max-width:1180px){.nav{gap:16px}.brand .pill,.top-actions .social{display:none}}@media (max-width:1040px){.log-row{grid-template-columns:140px minmax(0,1fr)}.log-side{grid-column:2}.feature .proj-meta{grid-template-columns:minmax(0,1fr) auto}.feature .proj-meta p{grid-column:1/-1;grid-row:auto}.feature .proj-meta .proj-link{grid-column:2;grid-row:1}.feature .proj-meta .facts,.feature .proj-meta .tags{grid-column:1/-1}}@media (max-width:920px){.lbl{display:none}.legend{display:flex}.fig{display:none}.stack-grid{grid-template-columns:minmax(0,1fr)}.scard{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr)}.scard-art{height:auto;min-height:180px;border-bottom:0;border-right:1px solid var(--line)}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.top-in{grid-template-columns:minmax(0,1fr) auto}.nav,.top-actions .social{display:none}.menu-btn{display:grid}.btn-ink{margin-left:0;padding:0 11px;gap:6px}}@media (max-width:760px){.stage{height:320px}.iso{--sc:0.66;--lift:30px}.hero-copy{grid-template-columns:minmax(0,1fr)}.spec{min-width:0}.work-grid{grid-template-columns:minmax(0,1fr);gap:44px}.feature .proj-media{aspect-ratio:16/10.5}.log-row{grid-template-columns:minmax(0,1fr);gap:12px}.log-side{grid-column:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.extras,.foot{grid-template-columns:minmax(0,1fr)}.foot{justify-items:center;text-align:center}.foot-right{justify-self:center}.foot-left{order:2}.foot-right{order:3}.dock-btn .long{display:none}}@media (max-width:600px){.scard{display:flex}.scard-art{border-right:0;border-bottom:1px solid var(--line);min-height:170px}.design-grid{grid-template-columns:minmax(0,1fr)}.cta h2 .row2{white-space:normal}.btn-ink{display:none}.contact-sq{display:grid}}@media (hover:none){.fig .hov{display:none}.fig .tap{display:inline}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}@font-face{font-family:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/13d601e0732c7766.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f54e13212b7871d5.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/5ccbc299521a181a.p.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4fca260083159167.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fe1772644044fc6c.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Geologica_5565dc;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f3fb4235d30510d6.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.__className_5565dc{font-family:__Geologica_5565dc;font-style:normal}.__variable_5565dc{--font-geologica:"__Geologica_5565dc"}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.p.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__JetBrains_Mono_920ea5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.p.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__JetBrains_Mono_920ea5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.p.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__JetBrains_Mono_920ea5;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_920ea5;src:local("Arial");ascent-override:75.04%;descent-override:22.07%;line-gap-override:0.00%;size-adjust:135.93%}.__className_920ea5{font-family:__JetBrains_Mono_920ea5,__JetBrains_Mono_Fallback_920ea5;font-style:normal}.__variable_920ea5{--font-mono:"__JetBrains_Mono_920ea5","__JetBrains_Mono_Fallback_920ea5"}.cv{position:absolute;inset:0;overflow:hidden;pointer-events:none;font:400 1.05cqw/1.3 var(--sans);color:#1a1f1d}.ui{background:#fff;border-radius:.9cqw;box-shadow:0 .15cqw .3cqw rgba(0,0,0,.05),0 1.6cqw 3cqw -1.4cqw rgba(20,32,27,.38)}.cursor{width:1.9cqw;height:auto;z-index:5;filter:drop-shadow(0 .15cqw .25cqw rgba(0,0,0,.3))}.cursor,.ripple{position:absolute}.ripple{width:4cqw;height:4cqw;margin:-2cqw 0 0 -2cqw;border-radius:50%;border:.2cqw solid #111;opacity:0}.cv-th .win-float{width:50%}.cv-th .fl{position:absolute;left:var(--x);top:var(--y);width:var(--w,auto);z-index:var(--z,3);transform:rotate(var(--r,0deg));animation:drift var(--dur,9s) ease-in-out infinite alternate;animation-delay:var(--del,0s)}@keyframes drift{0%{transform:translate(0) rotate(var(--r,0deg))}to{transform:translate(var(--dx,1cqw),var(--dy,-1.4cqw)) rotate(calc(var(--r, 0deg) + var(--dr, 2deg)))}}.cv-th .far{z-index:1;filter:blur(.3cqw);opacity:.75}.th-photo{aspect-ratio:4/3;border-radius:.7cqw .7cqw 0 0;background:url(/projects/thanos.jpg) 100% 45%/252% auto no-repeat}.th-pcard{overflow:hidden}.th-pcap{display:flex;justify-content:space-between;gap:.6em;padding:.7em .8em;white-space:nowrap}.th-pcap b{font-weight:600;color:#0f5f5b}.th-pcap span{color:#6b716e}.th-pill{display:inline-flex;align-items:center;gap:.5em;padding:.75em 1.15em;border-radius:99px;font-weight:500;white-space:nowrap}.th-pill em{font-style:normal;color:#0f5f5b;font-weight:600}.th-spin{width:1em;height:1em;border-radius:50%;border:.17em solid #0f5f5b;border-right-color:transparent;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.th-seg{position:relative;display:flex;width:18cqw;padding:.35cqw;border-radius:99px;font-weight:500}.th-seg span{position:relative;z-index:1;width:50%;text-align:center;padding:.75em 0;animation:segTxt 6s infinite}.th-seg span+span{animation-name:segTxt2}.th-seg b{position:absolute;top:.35cqw;bottom:.35cqw;left:.35cqw;width:calc(50% - .35cqw);border-radius:99px;background:#0f5f5b;animation:segSlide 6s cubic-bezier(.6,0,.2,1) infinite}@keyframes segSlide{0%,42%{transform:translateX(0)}50%,92%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes segTxt{0%,42%{color:#fff}50%,92%{color:#1a1f1d}to{color:#fff}}@keyframes segTxt2{0%,42%{color:#1a1f1d}50%,92%{color:#fff}to{color:#1a1f1d}}.th-seg.sm{width:8cqw}.th-seg.sm span{animation:none}.th-seg.sm span:first-child{color:#fff;background:#0f5f5b;border-radius:99px}.th-chips{display:flex;gap:.5em;padding:.5em;border-radius:99px}.th-chips span{padding:.5em .9em;border:1px solid #e3e6e4;border-radius:99px;white-space:nowrap}.th-search{display:flex;align-items:center;gap:.9em;width:26cqw;padding:.5em .5em .5em 1.1em;border-radius:1cqw;white-space:nowrap}.th-search .k{color:#1a1f1d;font-weight:500}.th-search .q{position:relative;flex:1;height:1.4em;border-left:1px solid #e3e6e4;padding-left:.9em;color:#1a1f1d}.th-search .q span{position:absolute;left:.9em;top:0;clip-path:inset(0 100% 0 0);animation:typeIn 9s steps(12) infinite;animation-delay:var(--td,0s)}@keyframes typeIn{0%{clip-path:inset(0 100% 0 0);opacity:1}9%{clip-path:inset(0 0 0 0)}30%{clip-path:inset(0 0 0 0);opacity:1}31%,to{opacity:0;clip-path:inset(0 0 0 0)}}.th-search .go{padding:.65em 1em;border-radius:.6cqw;background:#0f5f5b;color:#fff;font-weight:500}.th-map{position:relative;aspect-ratio:1;border-radius:1cqw;overflow:hidden;background-color:#eaefe6;background-image:radial-gradient(circle at 78% 80%,#cfe2c6 0 18%,transparent 19%),linear-gradient(28deg,transparent 47%,#fff 47% 52%,transparent 52%),linear-gradient(-62deg,transparent 45%,#fff 45% 49%,transparent 49%),repeating-linear-gradient(0deg,transparent 0 17%,hsla(0,0%,100%,.85) 17% 19%),repeating-linear-gradient(90deg,transparent 0 21%,hsla(0,0%,100%,.85) 21% 23%)}.th-pin{position:absolute;width:1.4cqw;height:1.4cqw;margin:-1.4cqw 0 0 -.7cqw;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#0f5f5b;box-shadow:0 .2cqw .4cqw rgba(0,0,0,.25)}.th-pin:after{content:"";position:absolute;inset:-70%;border-radius:50%;border:.15cqw solid #0f5f5b;opacity:0;animation:ping 2.4s ease-out infinite;animation-delay:var(--pd,0s)}@keyframes ping{0%{transform:scale(.3);opacity:1}to{transform:scale(1.3);opacity:0}}.cv-sd{display:flex;align-items:center}.sd-track{display:flex;width:-moz-max-content;width:max-content;animation:marq 38s linear infinite}@keyframes marq{to{transform:translateX(-50%)}}.ph{flex:none;width:21cqw;aspect-ratio:9/19;margin-right:3.2cqw;border-radius:2.7cqw;background:#0e1116;padding:.5cqw;box-shadow:0 2.4cqw 4cqw -2cqw rgba(16,38,99,.55)}.ph-s{position:relative;height:100%;border-radius:2.2cqw;background:#fff;overflow:hidden;display:flex;flex-direction:column;gap:.9cqw;padding:3cqw 1.4cqw 1.4cqw;font-size:.95cqw;color:#1b2433}.ph-s:before{content:"";position:absolute;top:.7cqw;left:50%;width:5cqw;height:1.1cqw;margin-left:-2.5cqw;border-radius:1cqw;background:#0e1116}.sd-logo{display:flex;align-items:center;gap:.4em;font-weight:600;font-size:1.1cqw}.sd-logo i{width:1.1em;height:1.1em;border-radius:.3em;background:linear-gradient(135deg,#1f56e0,#3b82f6)}.sd-logo span{color:#1f56e0}.sd-h{font-weight:600;font-size:1.25cqw;letter-spacing:-.02em;line-height:1.15}.sd-sub{color:#7a8396}.sd-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.3cqw;text-align:center;font-size:.85cqw}.sd-cal b{font-weight:500;color:#9aa3b5}.sd-cal span{padding:.35cqw 0;border-radius:.45cqw}.sd-cal span.x{color:#c9cfdb}.sd-cal span.pk{animation:pick 6s infinite;animation-delay:var(--pk,0s)}@keyframes pick{0%,30%{background:#1f56e0;color:#fff}33%,to{background:transparent;color:inherit}}.sd-btn{margin-top:auto;padding:.75em;border-radius:.6cqw;background:#1f56e0;color:#fff;text-align:center;font-weight:600}.sd-times{display:grid;grid-template-columns:1fr 1fr;gap:.45cqw}.sd-times span{padding:.55em 0;text-align:center;border:1px solid #e1e6f0;border-radius:.55cqw}.sd-times span.x{color:#c9cfdb;text-decoration:line-through}.sd-times span.pick{animation:tpick 5s infinite}@keyframes tpick{0%,35%{background:#fff;color:#1b2433;border-color:#e1e6f0}40%,90%{background:#1f56e0;color:#fff;border-color:#1f56e0}to{background:#fff;color:#1b2433}}.sd-fld{display:grid;gap:.3cqw}.sd-fld label{color:#7a8396;font-size:.85cqw}.sd-fld div{height:2.2cqw;border:1px solid #e1e6f0;border-radius:.5cqw;padding:0 .6cqw;display:flex;align-items:center}.sd-fld div i{display:block;height:.55cqw;border-radius:.3cqw;background:#c7d2ea;width:0;animation:typeBar 6s infinite;animation-delay:var(--td,0s)}@keyframes typeBar{0%{width:0}20%{width:var(--tw,60%)}90%{width:var(--tw,60%)}to{width:0}}.sd-ok{display:grid;justify-items:center;gap:.8cqw;text-align:center;margin-top:1.5cqw}.sd-ok svg{width:7cqw;height:7cqw}.sd-ok circle{fill:#e8efff}.sd-ok path{fill:none;stroke:#1f56e0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:drawChk 4s infinite}@keyframes drawChk{0%,15%{stroke-dashoffset:1}40%,90%{stroke-dashoffset:0}to{stroke-dashoffset:1}}.sd-rows{display:grid;gap:.45cqw;width:100%;margin-top:.6cqw}.sd-rows div{display:flex;justify-content:space-between;padding-bottom:.45cqw;border-bottom:1px solid #eef1f6}.sd-rows span{color:#7a8396}.sd-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5cqw}.sd-stats div{border:1px solid #e9edf4;border-radius:.6cqw;padding:.6cqw;display:grid;gap:.3cqw}.sd-stats i{width:1.6cqw;height:1.6cqw;border-radius:.4cqw;background:var(--c)}.sd-stats span{color:#7a8396;font-size:.75cqw}.sd-stats b{font-size:1.5cqw;font-weight:600}.sd-bars{display:flex;align-items:flex-end;gap:.35cqw;height:6cqw;margin-top:auto}.sd-bars i{flex:1;height:var(--h);border-radius:.3cqw .3cqw 0 0;background:#1f56e0;opacity:.85;transform-origin:bottom;animation:grow 4s ease-in-out infinite alternate;animation-delay:var(--d,0s)}@keyframes grow{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}.cv-dd .win-float{width:62%;justify-self:start;margin-left:6%}.dd-cur{left:70%;top:62%;opacity:0;animation:ddCur 10s infinite}@keyframes ddCur{0%{left:70%;top:62%;opacity:0;transform:scale(1)}6%{opacity:1}22%{left:11.7%;top:80%;transform:scale(1)}24%{transform:scale(.8)}26%{transform:scale(1);opacity:1}30%,to{left:11.7%;top:80%;opacity:0}}.dd-rip{left:11.7%;top:80%;animation:rip 10s infinite}@keyframes rip{0%,23%{opacity:0;transform:scale(.3)}24%{opacity:.9;transform:scale(.3)}31%,to{opacity:0;transform:scale(1.4)}}.dd-modal{position:absolute;z-index:3;right:5%;top:50%;width:36%;padding:2cqw;border-radius:1.2cqw;font-size:1.15cqw;opacity:0;transform:translateY(-44%) scale(.96);animation:ddModal 10s var(--ease) infinite}@keyframes ddModal{0%,27%{opacity:0;transform:translateY(-44%) scale(.96)}33%,90%{opacity:1;transform:translateY(-50%) scale(1)}96%,to{opacity:0;transform:translateY(-50%) scale(.98)}}.dd-t{font-weight:600;font-size:1.55cqw;letter-spacing:-.02em}.dd-s{margin-top:.2em}.dd-l,.dd-s{color:#7c7a75}.dd-l{margin-top:1.4cqw;margin-bottom:.6cqw;font:500 .9cqw var(--mono);text-transform:uppercase;letter-spacing:.06em}.dd-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.6cqw}.dd-row span{display:grid;justify-items:center;gap:.1em;padding:.7em 0;border-radius:.7cqw;background:#f3f1ec;color:#5c5a55}.dd-row span b{font-size:1.4em;color:#141414;font-weight:600}.dd-row .sel-d{animation:ddSelD 10s infinite}.dd-row .sel-d b{animation:ddSelDb 10s infinite}@keyframes ddSelD{0%,41%{background:#f3f1ec;color:#5c5a55}43%,92%{background:#141414;color:#d8c3a0}to{background:#f3f1ec}}@keyframes ddSelDb{0%,41%{color:#141414}43%,92%{color:#fff}to{color:#141414}}.dd-row.t span{padding:.9em 0;font-weight:500;color:#141414}.dd-row.t .sel-t{animation:ddSelT 10s infinite}@keyframes ddSelT{0%,55%{background:#f3f1ec;color:#141414}57%,92%{background:#141414;color:#fff}to{background:#f3f1ec}}.dd-btn{margin-top:1.6cqw;padding:.95em;border-radius:.7cqw;background:#141414;color:#fff;text-align:center;font-weight:600;animation:ddBtn 10s infinite}@keyframes ddBtn{0%,68%{transform:scale(1)}70%{transform:scale(.95)}72%,to{transform:scale(1)}}.dd-ok{position:absolute;inset:0;border-radius:inherit;background:#fff;display:grid;place-content:center;justify-items:center;gap:.5em;text-align:center;opacity:0;animation:ddOk 10s infinite}@keyframes ddOk{0%,72%{opacity:0}75%,to{opacity:1}}.dd-ok i{width:4.4cqw;height:4.4cqw;border-radius:50%;display:grid;place-items:center;background:#141414;color:#d8c3a0;font-style:normal;font-size:2cqw}.dd-ok b{font-size:1.5cqw;font-weight:600;letter-spacing:-.02em}.dd-ok span{color:#7c7a75}.dd-cur2{left:var(--c0x,60%);top:var(--c0y,20%);opacity:0;animation:ddCur2 10s infinite}@keyframes ddCur2{0%,32%{left:var(--c0x,60%);top:var(--c0y,20%);opacity:0;transform:scale(1)}35%{opacity:1}40%{left:var(--c1x,50%);top:var(--c1y,40%);transform:scale(1)}42%{transform:scale(.8)}44%{transform:scale(1)}54%{left:var(--c2x,80%);top:var(--c2y,60%);transform:scale(1)}56%{transform:scale(.8)}58%{transform:scale(1)}68%{left:var(--c3x,50%);top:var(--c3y,85%);transform:scale(1);opacity:1}70%{transform:scale(.8)}73%{transform:scale(1);opacity:0}to{left:var(--c3x,50%);top:var(--c3y,85%);opacity:0}}.cv-gx .win-float{width:80%}.bp{position:absolute;inset:0;background-color:#1d4c9c;background-image:linear-gradient(hsla(0,0%,100%,.08) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.08) 1px,transparent 0);background-size:4% 8.2%;clip-path:inset(0 0 0 100%);animation:bpClip 10s infinite}@keyframes bpClip{0%,38%{clip-path:inset(0 0 0 0)}58%,85.9%{clip-path:inset(0 0 0 100%)}86%{clip-path:inset(0 100% 0 0)}94%,to{clip-path:inset(0 0 0 0)}}.bp svg{position:absolute;inset:0;width:100%;height:100%}.bp-d *{fill:none;stroke:#dce9ff;stroke-width:2.8;stroke-dasharray:1;stroke-dashoffset:1;animation:bpDraw 10s infinite;animation-delay:calc(var(--i, 0) * .18s)}.bp-d .soft{stroke:rgba(207,224,255,.55)}@keyframes bpDraw{0%{stroke-dashoffset:1}26%,60%{stroke-dashoffset:0}61%,to{stroke-dashoffset:1}}.bp-t text{fill:#dce9ff;font:600 15px var(--mono);opacity:0;animation:bpText 10s infinite}@keyframes bpText{0%,22%{opacity:0}30%,60%{opacity:.9}61%,to{opacity:0}}.scan{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px 3px rgba(120,180,255,.9);opacity:0;animation:scan 10s infinite}@keyframes scan{0%,37.9%{left:0;opacity:0}38%{left:0;opacity:1}58%{left:100%;opacity:1}58.1%,85.9%{left:0;opacity:0}86%{left:0;opacity:1}94%{left:100%;opacity:1}94.1%,to{left:100%;opacity:0}}.bar-swap{display:grid}.bar-swap b{grid-area:1/1;font-weight:inherit}.bar-swap b:first-child{animation:swapA 10s infinite}.bar-swap b:last-child{opacity:0;animation:swapB 10s infinite}@keyframes swapA{0%,46%{opacity:1}50%,88%{opacity:0}92%,to{opacity:1}}@keyframes swapB{0%,46%{opacity:0}50%,88%{opacity:1}92%,to{opacity:0}}.cv-tl .win-float{width:64%;justify-self:start;align-self:start;margin:6% 0 0 6%}.tl-w{position:absolute;z-index:3;right:5%;bottom:8%;width:46%;padding:1.4cqw 1.4cqw 1.2cqw;border-radius:1.2cqw;background:#0e1712;color:#e7f3ea;font-size:1.05cqw;box-shadow:0 2cqw 4cqw -2cqw rgba(6,30,14,.7);animation:bob 8s ease-in-out infinite reverse}.tl-h{display:flex;align-items:center;gap:.8em}.tl-h b{font-weight:500}.tl-h em{margin-left:auto;font:600 1.4cqw var(--mono);font-style:normal;color:#45d36b;font-variant-numeric:tabular-nums}.tl-live{font:600 .8cqw var(--mono);padding:.35em .6em;border-radius:.4cqw;background:rgba(69,211,107,.15);color:#45d36b;animation:blink 1.6s steps(1) infinite}.tl-chart{height:11cqw;margin-top:1cqw;overflow:hidden;border-bottom:1px solid hsla(0,0%,100%,.08)}.tl-svg{display:block;width:200%;height:100%;animation:marq 14s linear infinite}.tl-line{fill:none;stroke:#45d36b;stroke-width:1.6;vector-effect:non-scaling-stroke}.tl-area{fill:url(#tlg)}.tl-candles{display:flex;align-items:flex-end;gap:.3cqw;height:4.4cqw;margin-top:1cqw}.tl-candles i{flex:1;height:var(--h);border-radius:.15cqw;background:#45d36b;transform-origin:bottom;animation:grow 2.6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}.tl-candles i.dn{background:#e5544b}@media (max-width:760px){.cv-th .win-float{width:62%}}.play{padding-top:clamp(48px,7vw,96px)}.play-intro{max-width:52ch;margin:0 auto;text-align:center;color:var(--muted);font-size:15px}.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-auto-flow:dense}.ptile{grid-column:span var(--span,1);min-width:0;animation:tileIn .8s var(--ease) both;animation-delay:calc(var(--n, 0) * 55ms)}@keyframes tileIn{0%{opacity:0;transform:translateY(28px);filter:blur(6px)}}.pmedia{position:relative;height:clamp(320px,38vw,520px);border-radius:8px;overflow:hidden;background:var(--pbg,var(--surface));display:grid;place-items:center;isolation:isolate}.pmedia>img{-o-object-fit:var(--fit,contain);object-fit:var(--fit,contain);transition:transform 1s var(--ease)}.ptile:hover .pmedia>img{transform:scale(1.04)}.ptile figcaption{display:flex;justify-content:center;gap:10px;padding:10px 0 18px;font:11px var(--mono);color:var(--muted)}.ptile figcaption em{font-style:normal;color:var(--faint)}.hint{position:absolute;top:14px;left:16px;font:11px var(--mono);color:var(--muted);z-index:2}.hint.lt{color:hsla(0,0%,100%,.55)}.play-foot{display:flex;justify-content:center;margin-top:48px}.lb{width:48%;max-width:240px;overflow:visible}.lb-g{fill:none;stroke:#9fd8c8;stroke-width:.8;stroke-dasharray:3 3;opacity:0;animation:lbG 6.5s infinite}@keyframes lbG{0%{opacity:0}40%,8%{opacity:1}55%,to{opacity:0}}.lb-s{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:0;opacity:0;animation:lbS 6.5s infinite}@keyframes lbS{0%{stroke-dashoffset:1;opacity:1}32%{stroke-dashoffset:0;opacity:1}48%,to{stroke-dashoffset:0;opacity:0}}.lb-f{fill:#fff;animation:lbF 6.5s infinite}@keyframes lbF{0%,26%{fill:#00a888;fill-opacity:0}38%,46%{fill:#00a888;fill-opacity:1}58%,88%{fill:#fff;fill-opacity:1}96%,to{fill:#fff;fill-opacity:0}}.lb-b{transform-box:fill-box;transform-origin:center;animation:lbB 6.5s cubic-bezier(.3,1.3,.5,1) infinite}@keyframes lbB{0%,42%{transform:scale(0);opacity:1}56%,88%{transform:scale(1);opacity:1}96%,to{transform:scale(.7);opacity:0}}.lc{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.2s var(--ease)}.ptile:hover .lc{transform:scale(1.03)}.lc-bg path{fill:#ebbe9c;opacity:.25}.lc-bg>g{animation:lcFade 14s var(--ease) infinite both;animation-delay:var(--d,0s)}.lc-mark path{fill:#ec6414;stroke:#ec6414;stroke-width:.35;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:lcDraw 14s ease-in-out infinite both;animation-delay:var(--d,0s)}.lc-word path{fill:#1c1c1c;animation:lcRise 14s var(--ease) infinite both;animation-delay:var(--d,0s)}.lc-period{fill:#ec6414;transform-box:fill-box;transform-origin:center;animation:lcPop 14s var(--ease) infinite both;animation-delay:var(--d,0s)}.lc-tag path{fill:#010101;animation:lcRise 14s var(--ease) infinite both;animation-delay:var(--d,0s)}.lc-tag path.dot{fill:#ec6414;transform-box:fill-box;transform-origin:center;animation-name:lcPop}.lc-shine{transform:translateX(-70px);animation:lcShine 14s ease-in-out infinite both}@keyframes lcFade{0%{opacity:0}70%,8%{opacity:1}76%,to{opacity:0}}@keyframes lcDraw{0%{stroke-dashoffset:1;fill-opacity:0;opacity:1}6%{stroke-dashoffset:0;fill-opacity:0}11%,70%{stroke-dashoffset:0;fill-opacity:1;opacity:1}76%{stroke-dashoffset:0;fill-opacity:1;opacity:0}to{stroke-dashoffset:1;fill-opacity:0;opacity:0}}@keyframes lcRise{0%{opacity:0;transform:translateY(7px)}7%,70%{opacity:1;transform:none}76%,to{opacity:0;transform:translateY(-3px)}}@keyframes lcPop{0%{transform:scale(0)}4%{transform:scale(1.5)}7%,70%{transform:scale(1)}75%,to{transform:scale(0)}}@keyframes lcShine{0%,42%{transform:translateX(-70px)}52%,to{transform:translateX(70px)}}.term-tile{place-items:start stretch;align-content:start;padding:48px 22px 22px;font:12.5px/1.75 var(--mono);color:var(--term-fg);white-space:pre-wrap;word-break:break-word}.term-tile .p{color:var(--term-acc)}.term-tile .ok{color:#7fe0a6}.term-tile .d{color:var(--term-dim)}.term-tile .cur{display:inline-block;width:.6em;height:1.1em;vertical-align:-.2em;background:var(--term-acc);animation:caret 1s steps(1) infinite}.scr-tile{background-color:var(--surface);background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:18px 18px}.scr-word{font:500 clamp(30px,3.6vw,46px)/1 var(--sans);letter-spacing:-.04em;white-space:nowrap}.scr-word .gl{color:var(--accent)}.cart{position:absolute;top:18px;right:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff;box-shadow:0 6px 18px -8px rgba(60,40,10,.35)}.cart svg{width:20px;height:20px}.cart b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#141816;color:#fff;font:600 11px/20px var(--mono);text-align:center}.cart.bump{animation:bump .45s var(--ease)}@keyframes bump{30%{transform:scale(1.18) rotate(-6deg)}60%{transform:scale(.95)}}.prod{display:flex;align-items:center;gap:clamp(18px,3vw,40px);padding:18px;border-radius:16px;background:#fff;box-shadow:0 20px 40px -24px rgba(60,40,10,.4);max-width:calc(100% - 40px)}.bag{position:relative;flex:none;width:clamp(78px,9vw,120px);aspect-ratio:3/4;border-radius:10px 10px 14px 14px;background:linear-gradient(160deg,#cfae84,#b88f61);box-shadow:inset 0 10px 0 -4px rgba(0,0,0,.12)}.bag:before{content:"";border-radius:6px;background:#0f5f5b}.bag span,.bag:before{position:absolute;left:14%;right:14%;top:30%;bottom:22%}.bag span{display:grid;place-content:center;text-align:center;color:#fff;font:600 clamp(8px,.8vw,10px)/1.2 var(--mono);letter-spacing:.08em}.prod-info{display:grid;gap:6px;min-width:0}.prod-info .pn{font-weight:500;font-size:15px;letter-spacing:-.01em}.prod-info .pp{font:13px var(--mono);color:var(--muted)}.atc{margin-top:6px;height:38px;padding:0 16px;border-radius:9px;background:#141816;color:#fff;font-size:13px;font-weight:500;white-space:nowrap;transition:transform .2s,background .3s}.atc:active{transform:scale(.96)}.atc.done{background:var(--accent)}.fly{position:absolute;z-index:5;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:7px;background:#0f5f5b;box-shadow:0 6px 14px -4px rgba(0,0,0,.35);pointer-events:none}.cour{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:center;width:100%;height:100%;padding:28px}.cour-map{width:100%;height:auto;border-radius:12px;background:#e6ebe7}.route-bg{fill:none;stroke:#c3cdc7;stroke-width:3;stroke-dasharray:2 7;stroke-linecap:round}.route-done{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.cour-map text{font:600 13px var(--sans);fill:#141816}.cour-side{display:grid;gap:14px;min-width:0}.cour-req{font:11.5px var(--mono);color:var(--muted)}.cour-json{font:12px/1.6 var(--mono);padding:12px 14px;border-radius:10px;background:var(--term-bg);color:var(--term-fg);overflow:hidden}.cour-json .k{color:#9fb8ff}.cour-json .v{color:#7fe0a6}.steps{display:grid;gap:10px}.steps li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--faint);transition:color .3s}.steps li:before{content:"";width:12px;height:12px;flex:none;border-radius:50%;border:2px solid;transition:all .3s}.steps li.is-done{color:var(--fg)}.steps li.is-done:before{background:var(--accent);border-color:var(--accent)}.steps li.is-now{color:var(--accent-ink)}.steps li.is-now:before{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 20%,transparent)}.ld{position:relative;width:46%;display:grid;gap:clamp(10px,1.2vw,16px)}.ld i{display:block;height:clamp(18px,2.2vw,30px);width:72%;border-radius:12px;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));transform:skewX(-18deg);animation:ldIn 2.4s var(--ease) infinite;animation-delay:var(--d,0s)}.ld i:nth-child(2){margin-left:14%}.ld i:nth-child(3){margin-left:28%}@keyframes ldIn{0%{transform:translateX(-140%) skewX(-18deg);opacity:0}25%,62%{transform:translateX(0) skewX(-18deg);opacity:1}92%,to{transform:translateX(140%) skewX(-18deg);opacity:0}}.ld-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;font:11px var(--mono);color:var(--muted)}.ld-cap span{display:inline-block;width:2.4ch;text-align:left;overflow:hidden;vertical-align:bottom;animation:dots 1.4s steps(4) infinite}@keyframes dots{0%{width:0}to{width:3.2ch}}@media (max-width:920px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.cour{grid-template-columns:minmax(0,1fr);align-content:center;padding:18px;gap:14px}.cour-json,.cour-req{display:none}}@media (max-width:600px){.pgrid{grid-template-columns:minmax(0,1fr)}.ptile{grid-column:auto}.pmedia{height:360px}}