@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-italic.1_8u9naxcgtyx.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-italic.28rqeiv1e5hlr.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff")}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-latin-500-normal.33jdofnh71adk.woff2)format("woff2"),url(../media/space-grotesk-latin-500-normal.22aucsocraley.woff)format("woff")}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-latin-600-normal.406z--bjzi1j-.woff2)format("woff2"),url(../media/space-grotesk-latin-600-normal.2n2gt4u-8z3ue.woff)format("woff")}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-700-normal.16tiaqjgzwdo4.woff2)format("woff2"),url(../media/space-grotesk-latin-700-normal.2f82em-z48vvn.woff)format("woff")}
:root{--bg:#111329;--bg2:#171931;--surface:#1d2040;--surface-2:#232651;--violet:#9182ff;--violet-deep:#4034d0;--violet-soft:#b0a5ff;--text:#fff;--text2:#a4a5bb;--border:#292b4b;--glow:#9182ff33;--octo-body:#9182ff;--octo-back:#4034d0;--octo-eye:#fff;--octo-pupil:#111329;--octo-glasses:#fff;--octo-sucker:#b9b0ff;--octo-mouth:#2a1f5c;--octo-blush:#ff8fb1;--on-violet:#111329;--particle:176, 165, 255;--font-display:"Space Grotesk", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--radius-s:8px;--radius-m:14px;--radius-l:22px;--header-h:72px;--depth:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-light]{--bg:#fff;--bg2:#f3f3fa;--surface:#fff;--surface-2:#f0effb;--violet:#3b30c9;--violet-deep:#2a2194;--violet-soft:#5a50d8;--text:#12142b;--text2:#4a4d66;--border:#e2e3ee;--glow:#3b30c91a;--octo-body:#8574f6;--octo-back:#3a2fc4;--octo-sucker:#aea4fb;--logo-body:#7260ea;--on-violet:#fff;--particle:59, 48, 201;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65;overflow-x:hidden}img,svg{max-width:100%}a{color:var(--violet)}a:hover{color:var(--violet-soft)}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}.skip{z-index:100;background:var(--violet);color:var(--on-violet);border-radius:var(--radius-s);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.sr-only,.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.ocean{z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 72% calc(18% + var(--depth) * 30%), var(--glow), transparent 70%), linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);position:fixed;inset:0;overflow:hidden}.ocean canvas{width:100%;height:100%;position:absolute;inset:0}.rays{transform:translateY(calc(var(--depth) * -12%));opacity:calc(1 - var(--depth) * .7);position:absolute;inset:-20% 0 0}.rays span{background:linear-gradient(180deg, rgba(var(--particle), .1), transparent 70%);filter:blur(2px);transform-origin:top;width:18vw;height:120%;animation:14s ease-in-out infinite ray;position:absolute;top:-10%}.rays span:first-child{left:52%;transform:rotate(14deg)}.rays span:nth-child(2){width:9vw;animation-duration:18s;animation-delay:-5s;left:66%;transform:rotate(20deg)}.rays span:nth-child(3){width:12vw;animation-duration:16s;animation-delay:-9s;left:80%;transform:rotate(26deg)}@keyframes ray{0%,to{opacity:.55}50%{opacity:1}}:root[data-light] .rays span{background:linear-gradient(180deg, rgba(var(--particle), .06), transparent 70%)}@media (prefers-reduced-motion:reduce){.rays span{animation:none}}.site-header{z-index:40;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) clamp(20px, 4vw, 48px) 0;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;transition:border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.scrolled{border-bottom-color:var(--border)}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand:hover{color:var(--text)}.brand svg{flex:none;width:34px;height:34px}@media (max-width:360px){.site-header{gap:8px}.brand{font-size:19px}}.primary-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.primary-nav a{color:var(--text2);border-radius:999px;padding:10px 14px;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:block}.primary-nav a:hover,.primary-nav a[aria-current=true]{color:var(--text);background:var(--surface)}.header-actions{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:grid}.icon-btn:hover{background:var(--surface)}.icon-btn svg{width:20px;height:20px}.menu-btn{display:none}.mobile-nav{background:var(--bg);border-bottom:1px solid var(--border);max-height:calc(100svh - var(--header-h) - env(safe-area-inset-top,0px));gap:16px;padding:12px clamp(16px,4vw,48px) 24px;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 40px #00000047}.mobile-nav[hidden]{display:none}.mobile-nav ul{margin:0;padding:0;list-style:none;display:grid}.mobile-nav a{border-bottom:1px solid var(--border);min-height:52px;color:var(--text);font-family:var(--font-display);align-items:center;padding:0 4px;font-size:20px;font-weight:500;text-decoration:none;display:flex}.mobile-nav a:hover{color:var(--violet)}.mobile-nav .btn{justify-self:start}@media (max-width:960px){.primary-nav{display:none}.menu-btn{display:grid}}@media (min-width:961px){.mobile-nav{display:none}}@media (max-width:600px){.header-actions .ask-btn{display:none}.header-actions{gap:6px}}.btn{white-space:nowrap;min-height:48px;font:600 16px/1 var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--violet);color:var(--on-violet)}.btn-primary:hover{background:var(--violet-soft);color:var(--on-violet);box-shadow:0 10px 28px -10px var(--violet)}.btn:hover{transform:translateY(-1px)}.btn .arrow{transition:transform .2s;display:inline-block}.btn:hover .arrow{transform:translate(3px)}.btn-ghost{background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--text);border-color:color-mix(in srgb, var(--violet) 28%, var(--border))}.btn-ghost:hover{border-color:var(--violet);background:var(--surface);color:var(--text)}.btn-small{min-height:44px;padding:0 18px;font-size:15px}main{z-index:1;position:relative}.wrap{width:min(1240px,100% - clamp(40px,8vw,96px));margin-inline:auto}@media (min-width:1100px){.section .wrap{padding-right:240px}}.section{padding:clamp(96px,14vh,160px) 0;position:relative}.section-head{gap:14px;max-width:720px;margin-bottom:clamp(40px,6vw,72px);display:grid}.section-kicker{font-family:var(--font-display);color:var(--violet);letter-spacing:.01em;font-size:15px;font-weight:500}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:700}h2{font-size:clamp(36px,4.6vw,60px);line-height:1.04}h3{letter-spacing:-.02em;font-size:clamp(22px,2.2vw,28px);line-height:1.15}p{text-wrap:pretty;margin:0}::selection{background:color-mix(in srgb, var(--violet) 35%, transparent);color:var(--text)}.lead{color:var(--text2);max-width:62ch;font-size:clamp(19px,1.6vw,22px);line-height:1.55}.depth{z-index:30;font-family:var(--font-display);color:var(--text2);flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;display:none;position:fixed;top:50%;left:clamp(16px,2.2vw,32px);transform:translateY(-50%)}@media (min-width:1680px){.depth{display:flex}}.depth-readout{color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:15px}.depth ol{border-left:1px solid var(--border);gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.depth li{opacity:.55;transition:opacity .3s,color .3s;position:relative}.depth li:before{content:"";background:var(--border);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;transition:background .3s;position:absolute;top:50%;left:-18px}.depth li.active{opacity:1;color:var(--text)}.depth li.active:before{background:var(--violet)}.hero{min-height:100svh;padding:calc(var(--header-h) + 40px) 0 80px;align-items:center;display:flex;position:relative}.hero .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;display:grid}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.12em;color:var(--violet);margin-bottom:28px;font-size:14px;font-weight:500}.hero h1{letter-spacing:-.045em;max-width:18ch;font-size:clamp(30px,3.9vw,56px);line-height:.98}.hero .lead{margin-top:28px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.hero-stage{aspect-ratio:1;justify-self:center;width:100%;max-width:520px}.scroll-cue{color:var(--text2);flex-direction:column;align-items:center;gap:10px;font-size:13px;text-decoration:none;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-cue span{background:linear-gradient(var(--violet), transparent);transform-origin:top;width:1px;height:44px;animation:2.4s ease-in-out infinite cue;display:block}@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.scroll-cue span{animation:none}}.hero-intro>*{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards rise;transform:translateY(16px)}.hero-intro>:nth-child(2){animation-delay:.12s}.hero-intro>:nth-child(3){animation-delay:.24s}.hero-intro>:nth-child(4){animation-delay:.36s}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-intro>*{opacity:1;animation:none;transform:none}}@media (max-width:900px){.hero{padding-top:calc(var(--header-h) + 24px);align-items:flex-start}.hero .wrap{grid-template-columns:1fr}.hero-stage{order:-1;max-width:min(260px,62vw)}.scroll-cue{display:none}}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);display:grid}.about-statement{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.3}.about-body{color:var(--text2);gap:20px;display:grid}.facts{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-m);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.facts div{background:var(--bg2);padding:18px 20px}.facts dt{color:var(--text2);font-size:13px}.facts dd{font-family:var(--font-display);color:var(--text);margin:4px 0 0;font-size:18px;font-weight:500}@media (max-width:800px){.about-grid{grid-template-columns:1fr}}.timeline{gap:56px;margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(var(--violet), var(--border) 60%);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline>li{grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:8px 40px;padding-left:48px;display:grid;position:relative}.timeline>li:before{content:"";background:var(--bg);border:2px solid var(--violet);border-radius:50%;width:16px;height:16px;position:absolute;top:6px;left:0}.tl-when{font-family:var(--font-display);color:var(--text2);padding-top:2px;font-size:15px}.tl-role{gap:10px;display:grid}.tl-role p{color:var(--text2)}.tags{flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.tags li{background:var(--surface);color:var(--text2);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}@media (max-width:760px){.timeline>li{grid-template-columns:1fr}}.projects{gap:clamp(56px,8vw,104px);display:grid}.project{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);display:grid}.project:nth-child(2n) .project-media{order:2}.project-media{aspect-ratio:16/10;border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--border);transition:border-color .35s,transform .5s cubic-bezier(.2,.7,.2,1);display:block;position:relative;overflow:hidden}.project:hover .project-media,.project:focus-within .project-media{border-color:var(--violet);transform:translateY(-4px)}.browser-bar{border-bottom:1px solid var(--border);gap:6px;padding:14px 16px;display:flex}.browser-bar i{background:var(--border);border-radius:50%;width:9px;height:9px}.media-art{place-items:center;display:grid;position:absolute;inset:44px 0 0}.media-art svg{width:72%;height:auto}.project-info{align-content:start;gap:16px;display:grid}.project-cat{font-family:var(--font-display);color:var(--violet);font-size:15px}.project-info p{color:var(--text2)}.project-links{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}@media (max-width:860px){.project{grid-template-columns:1fr}.project:nth-child(2n) .project-media{order:0}}.skills{border-top:1px solid var(--border)}.skill-group{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:baseline;gap:14px 40px;padding:26px 4px;display:grid}.skill-group h3{font-size:20px}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:default;border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.chip:hover,.chip:focus-visible{border-color:var(--violet);background:var(--surface-2)}@media (max-width:700px){.skill-group{grid-template-columns:1fr}}.blog{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg2) 80%, transparent) 18%, color-mix(in srgb, var(--bg2) 80%, transparent) 82%, transparent)}.articles{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.article a{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:minmax(0,170px) minmax(0,1fr) auto;align-items:baseline;gap:8px 32px;padding:30px 4px;text-decoration:none;transition:background .25s,padding .25s;display:grid}.article a:hover,.article a:focus-visible{background:var(--surface);padding-inline:20px}.article-meta{color:var(--text2);font-size:14px}.article h3{font-size:clamp(22px,2.4vw,30px)}.article-time{color:var(--text2);white-space:nowrap;font-size:14px}@media (max-width:760px){.article a{grid-template-columns:1fr}}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.contact-big{letter-spacing:-.045em;font-size:clamp(38px,4.4vw,62px);line-height:1}.contact-intro{color:var(--text2);max-width:44ch;margin-top:20px}.contact-links{gap:12px;margin:32px 0 0;padding:0;list-style:none;display:grid}.contact-links a{font-size:18px;text-decoration:none}form.contact-form{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-l);gap:18px;padding:clamp(22px,3vw,36px);display:grid}.field{gap:8px;display:grid}.field label{color:var(--text2);font-size:14px;font-weight:500}.field input,.field textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-s);padding:13px 14px;font-size:16px;transition:border-color .2s}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--glow);outline:none}.field-error{color:#ff9a9a;min-height:0;font-size:14px}:root[data-light] .field-error{color:#b42318}.form-status{color:var(--text2);font-size:15px}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}footer{z-index:1;padding:40px 0 calc(104px + env(safe-area-inset-bottom,0px));color:var(--text2);font-size:14px;position:relative}footer .wrap{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;display:flex}#octo{opacity:0;z-index:35;pointer-events:none;will-change:transform;transform-origin:50%;width:300px;height:325px;transition:opacity .6s;position:fixed;top:0;left:0}#octo.ready{opacity:1}#octo svg{width:100%;height:100%;display:block;overflow:visible}#octo.over-chat{z-index:62}.o-body,.t-front{fill:var(--octo-body)}.t-back{fill:var(--octo-back)}.o-eye{fill:var(--octo-eye)}.o-pupil{fill:var(--octo-pupil)}.o-glint{fill:var(--octo-eye)}.o-lid{fill:var(--octo-body)}.o-glasses{fill:none;stroke:var(--octo-glasses);stroke-width:4px;stroke-linecap:round}.o-sucker{fill:var(--octo-sucker);opacity:.85}.o-shine{fill:#fff;opacity:.16}.o-blush{fill:var(--octo-blush)}.o-mouth{fill:var(--octo-mouth);stroke:var(--octo-pupil);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.chat-fab{right:clamp(16px,3vw,32px);bottom:calc(clamp(16px, 3vw, 32px) + env(safe-area-inset-bottom,0px));z-index:50;border:1px solid var(--border);background:var(--surface);min-height:56px;color:var(--text);font:600 16px/1 var(--font-body);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 22px 0 14px;transition:transform .25s,border-color .25s,opacity .25s;display:inline-flex;position:fixed;box-shadow:0 10px 30px #00000040}.chat-fab:hover{border-color:var(--violet);transform:translateY(-2px)}.chat-fab svg{width:32px;height:32px}.chat-fab[aria-expanded=true]{opacity:0;pointer-events:none;transform:translateY(10px)}.chat-panel{right:clamp(16px,3vw,32px);bottom:calc(clamp(16px, 3vw, 32px) + env(safe-area-inset-bottom,0px));z-index:60;width:min(420px,100vw - 32px);height:min(640px, calc(100svh - var(--header-h) - 48px));background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-l);transform-origin:100% 100%;flex-direction:column;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;overflow:hidden;box-shadow:0 30px 80px #00000073}.chat-panel[hidden]{opacity:0;pointer-events:none;visibility:hidden;display:flex;transform:translateY(16px)scale(.96)}:root[data-light] .chat-panel{box-shadow:0 30px 80px #12142b29}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 16px 14px;display:flex}.chat-avatar-spot{flex:none;width:60px;height:60px}.chat-title{flex:1;min-width:0}.chat-title h2{letter-spacing:-.01em;font-size:19px}.chat-status{color:var(--text2);font-size:13px}.chat-status:before{content:"";vertical-align:1px;background:#5ee6b3;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:18px 16px;display:flex;overflow-y:auto}.msg{white-space:pre-line;border-radius:16px;max-width:88%;padding:12px 15px;font-size:15px;line-height:1.55}.msg.bot{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px;align-self:flex-start}.msg.user{background:var(--violet);color:var(--on-violet);border-bottom-right-radius:6px;align-self:flex-end}.msg.error{color:var(--text);background:0 0;border:1px dashed #ff9a9a;align-self:flex-start}.msg .msg-action{border:1px solid var(--violet);min-height:36px;color:var(--text);font:500 14px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;margin-top:10px;padding:0 14px;display:inline-flex}.typing{align-items:center;gap:5px;height:20px;display:inline-flex}.typing i{background:var(--text2);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite dot}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.suggestions[hidden]{display:none}.suggestions{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.suggestions button{border:1px solid var(--border);min-height:38px;color:var(--text);font:500 14px/1.2 var(--font-body);cursor:pointer;text-align:left;background:0 0;border-radius:999px;padding:0 14px}.suggestions button:hover{border-color:var(--violet);background:var(--surface)}.chat-form{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-form textarea{resize:none;min-height:48px;max-height:120px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:14px;flex:1;padding:12px 14px;font-size:16px}.chat-form textarea:focus{border-color:var(--violet);outline:none}.send-btn{background:var(--violet);width:48px;height:48px;color:var(--on-violet);cursor:pointer;border:0;border-radius:14px;flex:none;place-items:center;display:grid}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn svg{width:20px;height:20px}.chat-hint{color:var(--text2);justify-content:space-between;gap:12px;padding:0 16px 10px;font-size:12px;display:flex}@media (max-width:560px){.chat-panel{border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%;height:min(88svh,720px);padding-bottom:env(safe-area-inset-bottom,0px);bottom:0;left:0;right:0}}.section-head .lead{margin-top:2px}.empty{color:var(--text2);border:1px dashed color-mix(in srgb, var(--violet) 35%, var(--border));border-radius:var(--radius-m);background:color-mix(in srgb, var(--surface) 45%, transparent);flex-wrap:wrap;align-items:center;gap:12px 20px;max-width:720px;margin:0;padding:22px 24px;font-size:16px;display:flex}.empty:before{content:"";background:var(--violet);width:10px;height:10px;box-shadow:0 0 0 5px var(--glow);border-radius:50%;flex:none}.empty>span{flex:260px}.empty .btn{flex:none}.bullets{color:var(--text2);gap:6px;margin:4px 0 0;padding-left:20px;display:grid}.tl-logo{border-radius:var(--radius-s);object-fit:contain;background:var(--surface);border:1px solid var(--border);width:44px;height:44px;padding:4px}.tl-role h3 a{color:inherit;border-bottom:1px dashed var(--border);text-decoration:none}.tl-role h3 a:hover{border-bottom-color:var(--violet)}.tl-role .downloads{margin-top:6px}.project-info h3 a{color:inherit;text-decoration:none}.project-info h3 a:hover,.project-info h3 a:focus-visible{color:var(--violet-soft)}.project-private{color:var(--text2);align-items:center;min-height:44px;font-size:14px;display:inline-flex}.media-shot{object-fit:cover;width:100%;height:calc(100% - 44px);display:block;position:absolute;inset:44px 0 0}.section-more{flex-wrap:wrap;gap:14px;margin-top:clamp(40px,6vw,64px);display:flex}a.chip{color:var(--text);text-decoration:none}a.chip .ext{opacity:.6;margin-left:6px;font-size:12px}.chip.concept{color:var(--text2);border-style:dashed}.article-tag{display:inline-block}.quotes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.quote{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-l);align-content:start;gap:18px;margin:0;padding:28px;display:grid}.quote blockquote{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;line-height:1.4}.quote figcaption{color:var(--text2);align-items:center;gap:12px;font-size:15px;display:flex}.quote figcaption b{color:var(--text);display:block}.quote .avatar{object-fit:cover;border-radius:50%;width:44px;height:44px}.contact-links .ext{opacity:.7;margin-left:4px;font-size:14px}.form-note{color:var(--text2);font-size:13px}.form-note a{color:var(--violet)}.form-status.ok{color:var(--violet-soft)}:root[data-light] .form-status.ok{color:var(--violet-deep)}.form-status.err{color:#ff9a9a}:root[data-light] .form-status.err{color:#b42318}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#ff9a9a}:root[data-light] .field input[aria-invalid=true],:root[data-light] .field textarea[aria-invalid=true]{border-color:#b42318}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.btn[disabled]{opacity:.5;cursor:not-allowed}.lang-btn{width:auto;font:600 14px/1 var(--font-body);letter-spacing:.04em;padding:0 14px;text-decoration:none}footer .wrap a{color:var(--text2);text-underline-offset:4px}footer .wrap a:hover{color:var(--text)}footer .foot-links{flex-wrap:wrap;align-items:center;gap:6px 20px;display:flex}.foot-top{align-items:center;gap:6px;min-height:44px;text-decoration:none;display:inline-flex}.page{padding:calc(var(--header-h) + clamp(40px, 8vh, 88px)) 0 clamp(72px, 10vh, 120px);position:relative}.page .wrap{width:min(860px,100% - clamp(40px,8vw,96px))}.page.wide .wrap{width:min(1240px,100% - clamp(40px,8vw,96px))}@media (min-width:1100px){.page.wide .wrap{padding-right:240px}}.crumb{min-height:44px;color:var(--text2);align-items:center;margin-bottom:12px;font-size:15px;text-decoration:none;display:inline-flex}.crumb:hover{color:var(--text)}.page h1{letter-spacing:-.04em;font-size:clamp(36px,5vw,64px);line-height:1.04}.page .lead{margin-top:20px}.meta-line{font-family:var(--font-display);color:var(--violet);flex-wrap:wrap;gap:6px 14px;margin-bottom:16px;font-size:15px;display:flex}.meta-line span+span:before{content:"·";color:var(--text2);margin-right:14px}.page-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:32px 0 8px;display:flex}.detail-block{gap:12px;margin-top:clamp(36px,5vw,56px);display:grid}.detail-block h2{letter-spacing:-.03em;font-size:clamp(24px,2.6vw,32px)}.detail-block p,.detail-block li{color:var(--text2)}.detail-block ul{gap:8px;margin:0;padding-left:20px;display:grid}.gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:36px 0 0;padding:0;list-style:none;display:grid}.gallery figure{gap:10px;margin:0;display:grid}.gallery img,.article-cover{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);width:100%;height:auto;display:block}.gallery figcaption{color:var(--text2);font-size:14px}.article-cover{margin:32px 0 0}.like-btn{border:1px solid var(--border);min-height:44px;color:var(--text);font:600 15px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;transition:border-color .2s,background .2s;display:inline-flex}.like-btn:hover{border-color:var(--violet)}.like-btn[aria-pressed=true]{border-color:var(--violet);background:var(--surface-2);color:var(--violet-soft)}.like-btn:disabled{opacity:.6;cursor:wait}.like-error{color:#ff9a9a;min-height:0;font-size:13px;display:block}:root[data-light] .like-error{color:#b42318}.filters{flex-wrap:wrap;gap:8px;margin:0 0 clamp(36px,5vw,56px);display:flex}button.chip{cursor:pointer;font-family:inherit}button.chip[aria-pressed=true]{border-color:var(--violet);background:var(--surface-2)}.downloads{gap:10px;margin:0;padding:0;list-style:none;display:grid}.download{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);align-items:center;gap:14px;padding:12px 16px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.download:hover,.download:focus-visible{border-color:var(--violet);background:var(--surface-2);color:var(--text)}.download-icon{text-align:center;border-radius:var(--radius-s);background:var(--bg2);border:1px solid var(--border);min-width:46px;font:600 12px/1 var(--font-display);letter-spacing:.04em;color:var(--violet);flex:none;padding:6px 8px}.download-text{flex:1;min-width:0;display:grid}.download-title{overflow-wrap:anywhere;font-weight:500}.download-meta{color:var(--text2);font-size:13px}.download-cta{color:var(--violet);flex:none;font-size:14px}.prose{color:var(--text);margin-top:36px;font-size:18px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2,.prose h3{color:var(--text);margin-top:1.8em}.prose h2{font-size:clamp(26px,3vw,34px)}.prose h3{font-size:22px}.prose p,.prose li{color:var(--text2)}.prose ul,.prose ol{gap:6px;padding-left:22px;display:grid}.prose a{color:var(--violet);text-underline-offset:4px}.prose a:hover{color:var(--violet-soft)}.prose blockquote{border-left:3px solid var(--violet);color:var(--text2);margin-left:0;padding-left:20px}.prose code{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.prose pre{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m);padding:18px;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose img{border-radius:var(--radius-m);max-width:100%;height:auto}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:8px 12px}.legal-updated{color:var(--text2);margin-top:10px;font-size:15px}.legal-warn{border-radius:var(--radius-m);color:var(--text);border:1px dashed #e0a93b;margin:24px 0 0;padding:14px 18px}.todo{color:#1b1503;background:#e0a93b;border-radius:4px;padding:1px 6px;font-weight:600}.prose .legal-body>*+*{margin-top:1em}.center-page{text-align:center;min-height:70svh;padding:calc(var(--header-h) + 40px) 24px 80px;place-content:center;justify-items:center;gap:16px;display:grid;position:relative}.center-page .code{font-family:var(--font-display);color:var(--violet);font-size:18px}.about-photo{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:120px;height:120px;margin-bottom:20px;display:block}.tl-meta{color:var(--text2);font-size:14px}a.chip{cursor:pointer}.project-media .media-shot{border-radius:0}@media (max-width:480px){.chat-fab{justify-content:center;width:58px;min-height:58px;padding:0}.chat-fab .fab-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.chat-hint span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.hero-name{font-family:var(--font-display);color:var(--text2);margin-bottom:22px;font-size:clamp(17px,1.5vw,21px)}.hero-name strong{color:var(--text);letter-spacing:-.045em;margin-top:4px;font-size:clamp(44px,6vw,88px);font-weight:700;line-height:.98;display:block}.tech-icon{object-fit:contain;flex:none;width:18px;height:18px;margin-right:8px}.tags .tech-icon{width:16px;height:16px;margin-right:6px}.tags li{align-items:center;display:inline-flex}:root:not([data-light]) .tech-icon.mono{filter:invert()}.tech-icon.monogram{background:var(--glow);color:var(--violet);font:700 9px/1 var(--font-display);border-radius:5px;place-items:center;display:inline-grid}.explorations{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(18px,2.4vw,28px);margin:0;padding:0;list-style:none;display:grid}.exploration-link{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--bg2);height:100%;color:var(--text);flex-direction:column;text-decoration:none;transition:border-color .3s,transform .45s cubic-bezier(.2,.7,.2,1);display:flex;overflow:hidden}.exploration-link:hover,.exploration-link:focus-visible{border-color:var(--violet);color:var(--text);transform:translateY(-4px)}@media (prefers-reduced-motion:reduce){.exploration-link:hover,.exploration-link:focus-visible{transform:none}}.exploration-media{aspect-ratio:16/9;background:var(--surface);border-bottom:1px solid var(--border);overflow:hidden}.exploration-media img{object-fit:cover;width:100%;height:100%;display:block}.exploration-media.empty{background:radial-gradient(circle at 30% 20%, var(--glow), transparent 70%), var(--surface);place-items:center;display:grid}.exploration-glyph{color:var(--violet);opacity:.8;font-size:44px}.exploration-body{flex:1;align-content:start;gap:8px;padding:20px 22px 22px;display:grid}.exploration-kind{font-family:var(--font-display);color:var(--violet);font-size:14px}.exploration-body h3{font-size:21px}.exploration-summary{color:var(--text2);font-size:15px;line-height:1.55}.exploration-meta{color:var(--text2);flex-wrap:wrap;gap:4px 14px;margin-top:auto;padding-top:6px;font-size:13px;display:flex}.detail-cover{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);margin:clamp(28px,4vw,44px) 0 0;overflow:hidden}.detail-cover img{width:100%;height:auto;display:block}.detail-cover figcaption{color:var(--text2);border-top:1px solid var(--border);padding:10px 16px 12px;font-size:13px}@media (min-width:961px) and (max-width:1180px){.primary-nav a{padding:10px 9px;font-size:14px}}.page.wide.project-page .wrap{width:min(1520px,100% - clamp(32px,6vw,96px))}@media (min-width:1100px){.page.wide.project-page .wrap{padding-right:150px}}.project-page .pd-hero{max-width:820px}.project-page .pd-hero h1{text-wrap:balance}.project-page .page-actions{margin-bottom:0}.project-page .detail-cover{box-shadow:0 30px 80px -40px var(--glow);position:relative}.pd-art{background:radial-gradient(120% 120% at 80% 0%, var(--glow), transparent 60%), var(--surface);place-items:center;height:clamp(170px,20vw,260px);padding:clamp(18px,2.5vw,30px);display:grid}.pd-art svg{width:auto;max-width:70%;height:100%}.pd-layout{grid-template-columns:minmax(0,1fr) clamp(280px,26%,360px);grid-template-areas:"main aside";align-items:start;gap:clamp(32px,5vw,64px);margin-top:clamp(40px,6vw,72px);display:grid}.pd-main{grid-area:main;gap:clamp(40px,5vw,56px);min-width:0;display:grid}.pd-aside{top:calc(var(--header-h) + 24px);border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);grid-area:aside;gap:22px;padding:24px;display:grid;position:sticky}.pd-aside h2{letter-spacing:.12em;text-transform:uppercase;color:var(--violet);font-size:13px;font-family:var(--font-display)}.pd-facts{gap:14px;margin:0;display:grid}.pd-facts>div{border-bottom:1px solid var(--border);gap:2px;padding-bottom:14px;display:grid}.pd-facts dt{color:var(--text2);font-size:13px}.pd-facts dd{align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.pd-status{background:var(--text2);border-radius:50%;flex:none;width:8px;height:8px}.pd-status-production{background:#3ecf8e;box-shadow:0 0 0 4px #3ecf8e2e}.pd-status-in_progress{background:#f5b942;box-shadow:0 0 0 4px #f5b9422e}.pd-status-completed{background:var(--violet);box-shadow:0 0 0 4px var(--glow)}.pd-stack{gap:12px;display:grid}.pd-stack h3{color:var(--text2);font-size:13px;font-weight:500;font-family:var(--font-body)}.pd-stack .chip{min-height:34px;padding:0 12px;font-size:13.5px}.pd-section{gap:16px;display:grid}.pd-section h2{letter-spacing:-.03em;align-items:baseline;gap:12px;font-size:clamp(24px,2.6vw,32px);display:flex}.pd-section p{color:var(--text2);font-size:17px;line-height:1.65}.pd-features,.pd-results{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pd-features li{border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:flex-start;gap:12px;padding:16px 18px;line-height:1.5;transition:border-color .2s,transform .2s;display:flex}.pd-features li:hover{border-color:var(--violet);transform:translateY(-2px)}.pd-check{background:var(--glow);width:24px;height:24px;color:var(--violet);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.pd-results li{border-radius:var(--radius-m);background:linear-gradient(160deg, var(--glow), transparent 75%), var(--surface-2);border:1px solid var(--border);padding:18px 20px;font-weight:500;line-height:1.5}.pd-pager{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(56px,8vw,96px);padding-top:clamp(28px,4vw,40px);display:grid}.pd-pager-link{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);color:var(--text);gap:6px;padding:20px 22px;text-decoration:none;transition:border-color .2s,transform .2s;display:grid}.pd-pager-link:hover,.pd-pager-link:focus-visible{border-color:var(--violet);color:var(--text);transform:translateY(-2px)}.pd-pager-link.next{text-align:right}.pd-pager-label{color:var(--violet);font-size:14px;font-family:var(--font-display)}.pd-pager-title{font:600 clamp(17px, 1.8vw, 21px) / 1.25 var(--font-display);letter-spacing:-.02em}.carousel{--slide:calc((100% - 2 * 18px) / 2.5);gap:16px;margin-top:clamp(32px,4vw,48px);display:grid}.carousel-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.carousel-head h2{letter-spacing:-.02em;align-items:center;gap:10px;font-size:clamp(20px,2vw,24px);display:inline-flex}.carousel-total{background:var(--glow);min-width:26px;height:26px;color:var(--violet);font:600 13px/1 var(--font-display);border-radius:999px;place-items:center;padding:0 8px;display:inline-grid}.carousel-nav{gap:8px;display:flex}.carousel-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:17px;transition:border-color .2s,background .2s,opacity .2s;display:inline-grid}.carousel-btn:hover:not(:disabled),.carousel-btn:focus-visible{border-color:var(--violet);background:var(--surface-2)}.carousel-btn:disabled{opacity:.35;cursor:default}.carousel-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:18px;margin:0;padding:4px 2px 10px;scroll-padding-inline:2px;list-style:none;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline-offset:2px;border-radius:var(--radius-m)}.carousel-slide{flex:0 0 var(--slide);scroll-snap-align:start;min-width:0}.carousel.single .carousel-slide{flex-basis:min(100%,640px)}.carousel-slide figure{gap:10px;margin:0;display:grid}.carousel-link{aspect-ratio:16/10;border-radius:var(--radius-l);border:1px solid var(--border);background:var(--bg2);cursor:zoom-in;transition:border-color .25s,transform .25s;display:block;position:relative;overflow:hidden}.carousel-link img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1);display:block}.carousel-link:hover,.carousel-link:focus-visible{border-color:var(--violet)}.carousel-link:hover img,.carousel-link:focus-visible img{transform:scale(1.04)}.carousel-zoom{background:color-mix(in srgb, var(--bg) 70%, transparent);color:#fff;opacity:0;border-radius:10px;place-items:center;width:32px;height:32px;font-size:15px;transition:opacity .2s;display:inline-grid;position:absolute;top:10px;right:10px}.carousel-link:hover .carousel-zoom,.carousel-link:focus-visible .carousel-zoom{opacity:1}.carousel-slide figcaption{color:var(--text2);font-size:13.5px;line-height:1.45}@media (max-width:960px){.carousel{--slide:calc((100% - 18px) / 1.6)}.pd-layout{grid-template-columns:1fr;grid-template-areas:"aside""main"}.pd-aside{position:static}}@media (max-width:640px){.carousel{--slide:82%}}@media (max-width:560px){.pd-pager{grid-template-columns:1fr}.pd-pager-link.next{text-align:left}}@media (prefers-reduced-motion:reduce){.pd-features li,.pd-pager-link,.carousel-btn,.carousel-link,.carousel-link img{transition:none}.carousel-link:hover img,.pd-features li:hover,.pd-pager-link:hover{transform:none}}@media (max-width:700px){.section{padding:72px 0}.section-head{margin-bottom:36px}}html.menu-open,html.menu-open body{overflow:hidden}.mobile-nav a[aria-current=true]{color:var(--violet)}.scroll-cue:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.btn,.btn .arrow{transition:none}.btn:hover,.btn:hover .arrow{transform:none}}.btn:active{transform:scale(.97)}.octo-ask{z-index:36;pointer-events:none;position:fixed;top:0;left:0}.octo-ask-bubble{background:linear-gradient(145deg, var(--violet-soft), var(--violet));width:48px;height:48px;color:var(--on-violet);font:800 30px/1 var(--font-display);box-shadow:0 10px 26px -8px var(--violet), inset 0 1px 0 #ffffff59;opacity:0;transform-origin:0 100%;border-radius:50% 50% 50% 14px;place-items:center;transition:opacity .25s,transform .25s;display:grid;position:relative;transform:scale(.3)rotate(-25deg)}.octo-ask-bubble:before{content:"";border-radius:inherit;border:2px solid var(--violet);opacity:0;position:absolute;inset:-6px}.octo-ask.show .octo-ask-bubble{opacity:1;animation:.55s cubic-bezier(.2,1.6,.4,1) both ask-pop,2.4s ease-in-out .55s infinite ask-bob;transform:none}.octo-ask.show .octo-ask-bubble:before{animation:1.8s ease-out .4s infinite ask-ring}@keyframes ask-pop{0%{opacity:0;transform:scale(.3)rotate(-25deg)}to{opacity:1;transform:none}}@keyframes ask-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-6deg)}}@keyframes ask-ring{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.octo-ask.show .octo-ask-bubble,.octo-ask.show .octo-ask-bubble:before{animation:none}}.form-fallback{border-radius:var(--radius-m);border:1px solid color-mix(in srgb, var(--violet) 45%, var(--border));background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--violet) 18%, transparent), transparent 60%), var(--surface);grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:16px 18px 18px;animation:.45s cubic-bezier(.2,.7,.2,1) both rise;display:grid;position:relative;overflow:hidden}.form-fallback:before{content:"";background:var(--violet);width:3px;position:absolute;top:0;bottom:0;left:0}.fallback-icon{background:linear-gradient(145deg, var(--violet-soft), var(--violet));width:34px;height:34px;color:var(--on-violet);font:800 19px/1 var(--font-display);box-shadow:0 0 0 5px var(--glow);border-radius:50%;grid-row:span 2;place-items:center;display:grid}.fallback-title{font:600 16px/1.3 var(--font-display);color:var(--text);padding-top:6px}.fallback-text{color:var(--text2);font-size:15px}.fallback-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:12px;display:flex}.fallback-mail{background:var(--violet);min-height:40px;color:var(--on-violet);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.fallback-mail:hover{background:var(--violet-soft);color:var(--on-violet);transform:translateY(-1px)}.fallback-mail svg,.fallback-copy svg{width:17px;height:17px}.fallback-copy{border:1px solid var(--border);min-height:40px;color:var(--text);font:500 14px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;transition:border-color .2s;display:inline-flex}.fallback-copy:hover{border-color:var(--violet)}.fallback-copy[data-copied=true]{border-color:var(--violet);color:var(--violet)}@media (max-width:420px){.fallback-mail{flex:100%;justify-content:center}}
