*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.absolute{position:absolute}.block{display:block}.flex{display:flex}.table{display:table}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased}body.loading,body.locked{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}:focus-visible{outline-offset:3px}.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(18px,4vw,44px)}.mono{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}em{font-style:italic}section{scroll-margin-top:92px;padding-block:clamp(6rem,12vw,10rem)}.skip-link{position:fixed;top:-100px;left:16px;z-index:300;padding:.6rem 1rem;font-family:var(--f-mono);font-size:.7rem}.skip-link:focus{top:12px}#loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;transition:transform .75s var(--ease)}#loader.done{transform:translateY(-101%)}.loader-num{font-family:var(--f-display);font-weight:800;font-size:clamp(6rem,24vw,15rem);line-height:1}.loader-num:after{content:"%";font-size:.4em}.loader-bar{width:min(46vw,300px);height:6px;border:1px solid var(--line);margin:1.4rem auto 0}.loader-bar i{display:block;height:100%;width:0}.loader-cap{display:block;text-align:center;margin-top:1.2rem;color:var(--dim)}#pbar{position:fixed;top:0;left:0;right:0;height:4px;transform-origin:0 50%;transform:scaleX(0);z-index:160}#hdr{position:sticky;top:0;left:0;right:0;z-index:150;transition:.3s}.header-inner{max-width:1240px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem clamp(18px,4vw,44px)}#hdr.scrolled .header-inner{border-radius:12px}.brand{font-family:var(--f-mono);font-weight:700;font-size:.85rem;letter-spacing:.06em}.brand i{font-style:normal}.nav{display:flex;gap:1.5rem;align-items:center}.nav a{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;transition:color .2s;position:relative}.nav a b{font-weight:400;margin-right:.35em}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;transition:width .3s var(--ease)}.nav a:hover:after,.nav a.act:after{width:100%}.ai-btn{padding:.55rem 1.05rem;border-radius:6px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;font-weight:700;transition:.25s var(--ease)}.ai-btn:hover{transform:translateY(-2px)}.theme-switcher{display:flex;gap:.3rem;align-items:center}.theme-btn{width:28px;height:28px;border-radius:50%;font-family:var(--f-mono);font-size:.6rem;font-weight:700;display:grid;place-items:center;transition:.25s var(--ease);border:1.5px solid var(--dim);background:transparent;color:var(--dim)}.theme-btn:hover{border-color:var(--acc);color:var(--acc)}.theme-btn[aria-checked=true]{border-color:var(--acc);background:var(--acc);color:var(--ink)}.status{display:flex;gap:.5rem;align-items:center;color:var(--dim)}.dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #0000}55%{box-shadow:0 0 0 7px #0000}}.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;position:relative;z-index:175}.burger span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;transition:.4s var(--ease)}.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:25px}body.menu-open .burger span:nth-child(1){top:20px;transform:rotate(45deg)}body.menu-open .burger span:nth-child(2){top:20px;transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:170;transform:translateY(-103%);transition:transform .6s var(--ease);display:flex;flex-direction:column;justify-content:center;padding:2rem clamp(20px,6vw,48px)}body.menu-open .mobile-menu{transform:none}.mobile-menu a.big{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,8vw,3.2rem);text-transform:uppercase;border-bottom:1px solid var(--line);padding:.6rem 0;display:flex;justify-content:space-between;opacity:0;transform:translateY(16px);transition:.5s var(--ease);transition-delay:var(--td, 0s)}body.menu-open .mobile-menu a.big{opacity:1;transform:none}.mobile-menu a.big:nth-child(1){--td: .08s}.mobile-menu a.big:nth-child(2){--td: .14s}.mobile-menu a.big:nth-child(3){--td: .2s}.mobile-menu a.big:nth-child(4){--td: .26s}.mobile-menu a.big:nth-child(5){--td: .32s}.mobile-menu a.big i{font-family:var(--f-mono);font-style:normal;font-size:.7rem}.mobile-menu .mobile-footer{margin-top:2rem;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;color:var(--dim)}.hero{min-height:100svh;display:flex;align-items:center;padding-top:130px;padding-bottom:3rem;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center;width:100%}.hero-grid>*{min-width:0}#boot{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;min-height:5.6em;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;margin-bottom:1.6rem}h1{font-family:var(--f-display);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:.01em;font-size:clamp(3.2rem,9.5vw,7.6rem);overflow:visible;padding-right:.15em}.role-line{margin-top:1.6rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.22em;min-height:1.4em}.hero-sub{margin-top:1.4rem;max-width:48ch;font-size:1rem}.hero-cta{margin-top:2.2rem;display:flex;gap:.9rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.7rem;padding:.95rem 1.7rem;border-radius:8px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;border:1px solid var(--txt);transition:.3s var(--ease);will-change:transform}.btn:hover{transform:translateY(-3px)}.btn.ghost{background:transparent;border-color:var(--txt);color:var(--txt)}.btn.ghost:hover{background:var(--txt);color:var(--bg)}.hud{border:1px solid var(--line);position:relative;border-radius:14px;overflow:hidden}.hud-img{overflow:hidden;position:relative;border-bottom:1px solid var(--line)}.hud-img img{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover}.hud-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.3rem;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;gap:1.2rem}.hud-row:last-child{border-bottom:0}.hud-row .k{color:var(--dim);white-space:nowrap}.hud-row .v{font-weight:700;display:flex;gap:.5rem;align-items:center;text-align:right;min-width:0}.scroll-hint{position:absolute;left:clamp(18px,4vw,44px);bottom:2rem;display:flex;gap:.8rem;align-items:center;color:var(--dim)}.scroll-hint .line{width:44px;height:1px;overflow:hidden;position:relative}.scroll-hint .line:after{content:"";position:absolute;inset:0;animation:sweep 2s var(--ease) infinite}@keyframes sweep{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.marquee{border-block:1px solid var(--line);overflow:hidden;padding:1rem 0}.mq-track{display:flex;width:-moz-max-content;width:max-content;animation:mq 24s linear infinite}.mq-track span{font-family:var(--f-display);font-weight:700;font-size:clamp(1.1rem,2.2vw,1.5rem);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:0 1.5rem;display:flex;gap:3rem;align-items:center}@keyframes mq{to{transform:translate(-50%)}}.section-head{display:flex;align-items:center;gap:1.5rem;margin-bottom:clamp(3rem,6vw,5rem)}.section-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.8rem)}.section-head .tag{font-family:var(--f-mono);font-size:.68rem;white-space:nowrap}.section-head h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.4rem,3.6vw,2.5rem);letter-spacing:.02em}.section-head .rule{flex:1;height:1px}.section-head .code{white-space:nowrap;overflow-wrap:break-word}@media(max-width:640px){.section-head .code{white-space:normal}}.mask{display:block;overflow:visible}.mask>span{display:block;transform:translateY(112%);transition:transform .95s var(--ease);transition-delay:var(--d, 0s)}.mask.in>span{transform:none}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d, 0s)}[data-reveal].in{opacity:1;transform:none}.d-1{--d: .05s}.d-2{--d: .1s}.d-3{--d: .15s}.d-4{--d: .2s}.d-5{--d: .25s}.d-6{--d: .3s}.d-7{--d: .35s}.d-8{--d: .4s}.d-9{--d: .45s}.d-10{--d: .5s}.works-grid{display:grid;grid-template-columns:minmax(270px,.35fr) 1fr;gap:clamp(3rem,6vw,6rem);align-items:start}.works-side{position:sticky;top:110px}.works-side p{margin-top:1rem;max-width:30ch}.works-cta{margin-top:2rem;color:var(--acc);font-weight:700}.works-index{margin-top:2rem;border-top:1px solid var(--line)}.works-index a{display:flex;gap:1rem;align-items:baseline;padding:.8rem .2rem;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;transition:.3s var(--ease);cursor:pointer}.works-index a b{font-family:var(--f-body);font-weight:600;font-size:.9rem;letter-spacing:0}.works-index a.act{padding-left:.9rem}.proj{border-top:1px solid var(--line);padding-top:clamp(2.5rem,5vw,4rem);margin-bottom:clamp(3rem,5vw,4rem)}.proj-top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.proj-top .no{font-weight:700}.proj figure{overflow:hidden;position:relative;aspect-ratio:16/8.8;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.35s var(--ease)}.proj img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.01);transition:transform 1.2s var(--ease),filter .7s}.proj:hover img{transform:scale(1.06)}.proj h3{font-family:var(--f-display);font-weight:800;font-size:clamp(1.2rem,2vw,1.7rem);text-transform:uppercase;margin-top:1.6rem;letter-spacing:.02em;transition:color .3s}.proj .role{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.5rem}.proj .desc{margin-top:.7rem;max-width:58ch;font-size:.95rem;line-height:1.7}.metric{display:inline-flex;gap:.6rem;margin-top:1rem;border:1px solid var(--acc);padding:.5rem 1rem;border-radius:99px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.tags span{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--line);padding:.35rem .7rem;border-radius:99px}.arrow-link{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;display:inline-flex;gap:.6rem;margin-top:1.3rem;transition:color .25s;padding:.3rem 0}.arrow-link i{font-style:normal;transition:transform .3s var(--ease)}.arrow-link:hover i{transform:translate(7px)}.proj-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;margin-bottom:2rem}.proj-hero img{width:100%;aspect-ratio:16/8.8;-o-object-fit:cover;object-fit:cover;filter:saturate(.8);transition:filter .6s var(--ease)}.proj-hero:hover img{filter:saturate(1.05)}.proj-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:2.5rem}.proj-meta-cell{background:var(--panel);padding:1.2rem 1rem}.proj-meta-cell .label{font-family:var(--f-mono);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:.4rem}.proj-meta-cell .value{font-family:var(--f-display);font-weight:700;font-size:1rem}.proj-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.proj-tags span{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--line);padding:.4rem .8rem;border-radius:99px;transition:.25s}.proj-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:2.5rem}.proj-desc{max-width:70ch}.proj-desc h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.2rem,2.5vw,1.6rem);margin-bottom:1rem}.proj-desc p{font-size:1rem;line-height:1.75}.proj-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}.blog-category{color:var(--acc);margin-bottom:1rem}.blog-meta{color:var(--dim);margin-bottom:2rem}.blog-excerpt{font-size:1.1rem;margin-bottom:1.5rem;color:var(--dim)}.proj-back{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.section-link{color:var(--acc)}.proj-terminal{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:2rem;font-family:var(--f-mono)}.terminal-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:var(--panel2);border-bottom:1px solid var(--line)}.terminal-dot{width:10px;height:10px;border-radius:50%}.terminal-dot.red{background:#ff5f57}.terminal-dot.yellow{background:#febc2e}.terminal-dot.green{background:#28c840}.terminal-title{margin-left:auto;font-size:.56rem;letter-spacing:.16em;color:var(--dim)}.terminal-body{padding:1.2rem 1.4rem;background:var(--bg)}.terminal-line{font-size:.68rem;line-height:1.8;white-space:pre}.t-prompt{color:var(--acc);font-weight:700}.t-cmd{color:var(--txt)}.t-comment{color:var(--acc)}.t-dim{color:var(--dim)}.t-check{color:var(--acc)}.t-stack{color:var(--dim)}.proj-sections{margin:2.5rem 0}.proj-section{margin-bottom:2rem}.proj-section-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.2rem,2.5vw,1.6rem);margin-bottom:.8rem;color:var(--acc)}.proj-section p{font-size:1rem;line-height:1.75;color:var(--dim);max-width:70ch}.proj-list{list-style:none}.proj-list li{position:relative;padding:.5rem 0 .5rem 1.5rem;border-bottom:1px dashed var(--line);color:var(--dim);font-size:.95rem}.proj-list li:before{content:"▸";position:absolute;left:0;color:var(--acc)}.proj-gallery{margin-top:2.5rem}.proj-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}.proj-gallery-item{overflow:hidden;border:1px solid var(--line);border-radius:12px}.proj-gallery-item img{width:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease)}.proj-gallery-item:hover img{transform:scale(1.03)}.prose{max-width:100%}.prose h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.2rem,2.5vw,1.6rem);margin:2.5rem 0 .8rem;color:var(--acc)}.prose h3{font-family:var(--f-display);font-weight:700;font-size:1.1rem;margin:2rem 0 .6rem;color:var(--txt)}.prose p{font-size:1rem;line-height:1.75;color:var(--dim);margin-bottom:1rem}.prose ul,.prose ol{list-style:none;margin-bottom:1rem}.prose li{position:relative;padding:.4rem 0 .4rem 1.5rem;border-bottom:1px dashed var(--line);color:var(--dim);font-size:.95rem}.prose li:before{content:"▸";position:absolute;left:0;color:var(--acc)}.prose code{font-family:var(--f-mono);font-size:.8rem;background:var(--panel2);padding:.15rem .4rem;border-radius:4px;color:var(--acc)}.prose pre{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem;overflow-x:auto;margin-bottom:1.5rem}.prose pre code{background:none;padding:0;color:var(--dim)}.prose blockquote{border-left:3px solid var(--acc);padding-left:1rem;margin:1.5rem 0;color:var(--dim);font-style:italic}.prose img{width:100%;border-radius:12px;border:1px solid var(--line);margin:1.5rem 0}.prose strong{color:var(--txt);font-weight:700}.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}.prose a:hover{text-decoration-thickness:2px}.prose hr{border:none;border-top:1px solid var(--line);margin:2rem 0}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.prose th,.prose td{padding:.6rem .8rem;border:1px solid var(--line);text-align:left}.prose th{background:var(--panel);font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.prose td{color:var(--dim)}.mermaid{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.5rem;margin:1.5rem 0;text-align:center;overflow-x:auto}.mermaid svg{max-width:100%;height:auto}.blog-filters{margin-bottom:2.5rem;display:flex;flex-direction:column;gap:1.2rem}.blog-filter-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.blog-filter-label{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);min-width:70px}.blog-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.blog-chip{font-family:var(--f-mono);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:.35rem .7rem;border-radius:99px;cursor:pointer;transition:.25s;background:transparent;color:var(--dim)}.blog-chip:hover{border-color:var(--acc);color:var(--acc)}.blog-chip.active{background:var(--acc);border-color:var(--acc);color:var(--ink);font-weight:700}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}.blog-card-tag{font-family:var(--f-mono);font-size:.48rem;letter-spacing:.08em;text-transform:uppercase;border:1px dashed var(--line);padding:.2rem .5rem;border-radius:99px;color:var(--dim)}.blog-card-category{color:var(--acc);font-weight:700}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:2.2rem 2.5rem;transition:.25s var(--ease);background:var(--panel);text-decoration:none}.blog-card:hover{border-color:var(--acc);transform:translateY(-3px)}.blog-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.blog-card-top span:first-child{color:var(--acc);font-weight:700}.blog-card-top span:last-child{color:var(--dim)}.blog-card h3{font-family:var(--f-display);font-weight:700;font-size:clamp(1.15rem,1.8vw,1.5rem);text-transform:uppercase;margin-bottom:1rem;color:var(--txt);line-height:1.3}.blog-card p{font-size:.95rem;color:var(--dim);flex:1;line-height:1.75}.blog-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.blog-card-meta span:first-child{color:var(--dim)}.section-more{margin-top:2rem}.view-more-link{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;display:inline-flex;gap:.6rem;align-items:center;color:var(--acc);transition:.25s;padding:.5rem 0;border-bottom:1px solid transparent}.view-more-link:hover{border-bottom-color:var(--acc)}.view-more-link i{font-style:normal;transition:transform .3s var(--ease)}.view-more-link:hover i{transform:translate(7px)}.blog-grid-full{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.blog-post-meta{display:flex;gap:1rem;margin-bottom:1rem;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}.blog-post-category{color:var(--acc);font-weight:700}.blog-post-meta span{color:var(--dim)}.blog-post-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.4rem,3vw,2.2rem);margin-bottom:1rem;line-height:1.1}.blog-post-tags{display:flex;gap:.5rem;margin-bottom:2rem}.blog-post-tags span{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--line);padding:.35rem .7rem;border-radius:99px;color:var(--dim)}.modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.modal.open{opacity:1;pointer-events:auto}.modal-back{position:absolute;inset:0}.modal-card{position:relative;max-width:780px;width:100%;max-height:86vh;overflow-y:auto;border-radius:16px;padding:clamp(1.8rem,4vw,3rem);transform:translateY(26px) scale(.98);transition:transform .45s var(--ease);scrollbar-width:thin}.modal.open .modal-card{transform:none}.modal-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.3s;z-index:2}.modal-close:hover{transform:rotate(90deg)}.m-kick{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem}.m-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.05}.m-role{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.7rem;margin-bottom:1.8rem}.m-sec{margin-bottom:1.6rem}.m-sec h4{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:.8rem;display:flex;gap:.7rem;align-items:center}.m-sec h4:after{content:"";flex:1;height:1px}.m-sec ul{list-style:none}.m-sec ul li{position:relative;padding:.5rem 0 .5rem 1.5rem;border-bottom:1px dashed var(--line)}.m-sec ul li:before{content:"▸";position:absolute;left:0}.m-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 1.8rem}.m-stack span{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--line);padding:.4rem .8rem;border-radius:99px}.m-cta{display:flex;gap:.9rem;flex-wrap:wrap}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,7vw,6.5rem)}.about-txt .lead{font-family:var(--f-display);font-weight:700;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.5;text-transform:uppercase;margin-bottom:1.6rem}.about-txt p{margin-bottom:1.3rem;max-width:56ch}.about-ph{border:1px solid var(--line);border-radius:14px;overflow:hidden}.about-ph img{width:100%;aspect-ratio:3/3.6;-o-object-fit:cover;object-fit:cover;animation:kb 16s ease-in-out infinite alternate}@keyframes kb{0%{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,1.5%)}}.about-photo-cap{margin-top:.8rem;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between}.facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:2.2rem 0}.facts div{padding:1.2rem 1rem;border-right:1px solid var(--line)}.facts div:last-child{border-right:0}.facts .n{font-family:var(--f-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem)}.facts .l{font-family:var(--f-mono);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-top:.3rem}.principles{border-top:1px solid var(--line)}.principles li{list-style:none;display:flex;gap:1.2rem;padding:1rem .2rem;border-bottom:1px solid var(--line);align-items:baseline}.principles li i{font-family:var(--f-mono);font-style:normal;font-size:.62rem}.principles li b{font-weight:700}.principles li span{font-size:.88rem;margin-left:auto;text-align:right}.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.svc{border:1px solid var(--line);border-radius:14px;padding:clamp(2rem,4vw,3rem);position:relative;transition:.35s var(--ease);display:flex;flex-direction:column;gap:.6rem;min-height:250px}.svc .no{font-family:var(--f-display);font-weight:800;font-size:2.2rem;line-height:1}.svc h3{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1.2rem}.svc p{font-size:.9rem;line-height:1.7}.svc ul{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.7rem}.svc ul li{list-style:none;font-family:var(--f-mono);font-size:.5rem;letter-spacing:.08em;border:1px dashed var(--line);padding:.28rem .6rem;border-radius:99px}.svc .go{position:absolute;right:1.4rem;bottom:1.2rem;font-size:1.3rem;transition:transform .4s var(--ease)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.skill-col{border:1px solid var(--line);border-radius:14px;padding:2rem}.skill-col h3{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:1.8rem;display:flex;gap:.7rem;align-items:center}.skill-col h3:after{content:"";flex:1;height:1px}.sk{margin-bottom:1.5rem}.sk .row{display:flex;justify-content:space-between;font-size:.88rem;font-weight:600;margin-bottom:.5rem}.sk .row span:last-child{font-family:var(--f-mono);font-size:.56rem}.sb{height:12px;border-radius:99px;position:relative;overflow:hidden}.sb span{display:block;height:100%;width:0;border-radius:99px;transition:width 1.2s var(--ease)}.skill-col .tools{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem}.skill-col .tools i{font-style:normal;font-family:var(--f-mono);font-size:.5rem;letter-spacing:.08em;border:1.5px solid var(--line);padding:.3rem .6rem;border-radius:99px}.sk-note{margin-top:1.6rem;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;text-align:center}.xp-row{display:grid;grid-template-columns:180px 1.05fr 1.4fr;gap:1.6rem;padding:1.7rem .5rem;border-bottom:1px solid var(--line);border-left:3px solid transparent;transition:.35s var(--ease)}.xp-row:first-of-type{border-top:1px solid var(--line)}.xp-row:hover{border-left-color:var(--acc);padding-left:1.2rem}.xp-row .period{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;padding-top:.4rem}.xp-row h3{font-weight:700;font-size:1.02rem}.xp-row .co{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.14em;font-weight:500;display:block;margin-top:.35rem;text-transform:uppercase}.xp-row .loc{font-family:var(--f-mono);font-size:.52rem;letter-spacing:.16em;display:block;margin-top:.25rem;text-transform:uppercase}.xp-row p{font-size:.87rem}.t-win{border:1px solid var(--line);border-radius:14px;overflow:hidden}.title-bar{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.2rem;border-bottom:1px solid var(--line)}.title-bar i{width:10px;height:10px;border-radius:50%}.title-bar i:nth-child(1){background:#ff5f57}.title-bar i:nth-child(2){background:#febc2e}.title-bar i:nth-child(3){background:#28c840}.title-bar span{margin-left:auto;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em}.log-row{display:grid;grid-template-columns:130px 1fr;gap:1.2rem;align-items:baseline;padding:1.1rem 1.4rem;border-bottom:1px dashed var(--line);transition:.3s}.log-row:last-child{border-bottom:0}.log-row:hover{padding-left:1.9rem}.log-row .tag2{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.log-row b{font-weight:700;font-size:.92rem}.log-row span{font-size:.82rem;display:block;margin-top:.2rem}.contact{border-radius:26px;margin:0 clamp(14px,3vw,40px) 40px}.contact-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,5vw,3rem)}.contact .section-head .rule{height:1px}.contact h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,6.6vw,5rem);line-height:.98;max-width:13em}.contact h2 em{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:5px}.email-link{display:inline-flex;align-items:center;gap:.8rem;margin-top:2.2rem;padding:1rem 1.7rem;border-radius:99px;font-family:var(--f-mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;transition:.3s var(--ease)}.contact .cta-row{margin-top:1.4rem;display:flex;gap:.8rem;flex-wrap:wrap}.socials{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.6rem}.socials a,.socials button{border:1.5px solid;padding:.7rem 1.2rem;border-radius:99px;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.18em;font-weight:700;display:inline-flex;gap:.5rem;transition:.25s}.c-foot{margin-top:clamp(2.5rem,6vw,4rem);border-top:1.5px solid;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-family:var(--f-mono);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase}.lang-switch{display:inline-grid;place-items:center;min-width:38px;height:34px;padding:0 .55rem;border:1px solid var(--line);border-radius:99px;font-family:var(--f-mono);font-size:.56rem;font-weight:700;letter-spacing:.12em;color:var(--dim);transition:.25s}.lang-switch:hover{border-color:var(--acc);color:var(--acc)}#aiFab{position:fixed;right:22px;bottom:22px;z-index:158;font-family:var(--f-mono);font-weight:700;font-size:.62rem;letter-spacing:.14em;padding:.95rem 1.3rem;border-radius:99px;display:flex;gap:.5rem;align-items:center;transition:.25s var(--ease)}#aiFab:hover{transform:translateY(-3px)}#aiFab.hidden{opacity:0;transform:translateY(10px);pointer-events:none}#aiTip{position:fixed;right:22px;bottom:88px;z-index:157;border:1px solid var(--acc);padding:.7rem 1rem;border-radius:12px;font-size:.8rem;max-width:230px;opacity:0;transform:translateY(8px);transition:.5s var(--ease);pointer-events:none}#aiTip.show{opacity:1;transform:none}.chat{position:fixed;right:22px;bottom:22px;z-index:159;width:min(400px,calc(100vw - 24px));height:min(560px,72vh);padding:0;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;opacity:0;transform:translateY(18px) scale(.98);pointer-events:none;transition:.4s var(--ease)}.chat.open{opacity:1;transform:none;pointer-events:auto}.chat>header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}.chat .ava{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-family:var(--f-mono)}.chat header b{font-family:var(--f-display);font-weight:800;font-size:.95rem;letter-spacing:.04em;display:block;text-transform:uppercase}.chat header small{font-family:var(--f-mono);font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;display:flex;gap:.4rem;align-items:center}.chat header .close{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.25s}.c-body{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem;scrollbar-width:thin}.msg{max-width:88%;padding:.75rem 1rem;font-size:.86rem;line-height:1.6;animation:msgIn .4s var(--ease)}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.msg.bot{border-left:3px solid var(--acc);align-self:flex-start;border-radius:12px 12px 12px 3px}.msg.user{align-self:flex-end;border-radius:12px 12px 3px}.msg .tagname{display:block;font-family:var(--f-mono);font-size:.46rem;letter-spacing:.26em;text-transform:uppercase;margin-bottom:.35rem;font-weight:700}.msg .act{display:inline-flex;gap:.5rem;margin-top:.7rem;border:1px solid var(--acc);padding:.45rem .9rem;border-radius:99px;font-family:var(--f-mono);font-size:.52rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;transition:.25s}.nxtwrap{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.4rem}.nxt{border:1px solid var(--line);padding:.38rem .8rem;border-radius:99px;font-family:var(--f-mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.typing .dots{display:inline-flex;gap:5px;padding:.3rem 0}.typing .dots i{width:7px;height:7px;border-radius:50%;animation:tp 1s infinite}.typing .dots i:nth-child(2){animation-delay:.15s}.typing .dots i:nth-child(3){animation-delay:.3s}@keyframes tp{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.thinking{border:1px dashed var(--line);border-left:3px solid var(--acc);background:var(--panel);min-width:62%}.thinking.done{border-left-style:solid}.think-ttl{display:inline-block;font-family:var(--f-mono);font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:.4rem}.think-lines{display:flex;flex-direction:column;gap:.22rem;font-family:var(--f-mono);font-size:.64rem;line-height:1.45;color:var(--dim);margin-top:.4rem}.think-lines[hidden]{display:none}.think-lines i{font-style:normal;display:flex;gap:.4rem;align-items:baseline}.think-lines i.ok{color:var(--dim)}.think-lines i.done{color:var(--acc);font-weight:700;margin-top:.1rem}.think-lines i.warn{color:#e8b93c}.thinking .tk{background:none;border:none;color:var(--acc);font-family:var(--f-mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .3rem;margin-left:.45rem;cursor:pointer;transition:.25s}.thinking .tk:hover{text-decoration:underline}.thinking .tk[aria-expanded=true]{color:var(--ink)}.c-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem 1.1rem;border-top:1px solid var(--line)}.c-chips button{font-family:var(--f-mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:.45rem .85rem;border-radius:99px;transition:.25s}.c-input{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;border-top:1px solid var(--line)}.c-input>span{font-family:var(--f-mono);font-weight:700;font-size:.8rem}.c-input input{flex:1;background:none;border:0;color:inherit;font-family:var(--f-mono);font-size:.82rem;line-height:1.5;padding:.4rem .2rem;outline:none;min-width:0}.c-input input:focus-visible{outline:none;box-shadow:none}.c-input input::-moz-placeholder{color:var(--dim);opacity:.85}.c-input input::placeholder{color:var(--dim);opacity:.85}.c-input button{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.18em;font-weight:700;padding:.65rem 1.15rem;border-radius:99px;transition:.25s;white-space:nowrap}.c-input button:hover{transform:translateY(-2px)}.m-gallery{display:grid;gap:.7rem;margin-top:1.5rem}.m-gallery:empty{display:none}.m-gallery img{width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .25s var(--ease)}.m-gallery img:hover{transform:scale(1.02)}.m-links{display:flex;gap:.6rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.m-links:empty{display:none}.m-links a.btn,.m-links button.btn{flex:1}.cur{position:fixed;top:0;left:0;z-index:190;width:28px;height:28px;border:1.5px solid var(--acc);pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,opacity .25s;opacity:.85}@media(pointer:coarse){.cur{display:none}}.cur.grow{width:50px;height:50px;opacity:.5}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none}@media(max-width:1020px){.hero-grid,.works-grid{grid-template-columns:1fr}.works-side{position:static}.about-grid{grid-template-columns:1fr}.about-ph{max-width:440px}.skills-grid{grid-template-columns:1fr 1fr}.svc-grid{grid-template-columns:1fr}}@media(max-width:900px){.nav{display:none}.burger{display:block}.status{display:none}}@media(max-width:640px){h1{font-size:clamp(2.2rem,12vw,3.5rem)}.hero{min-height:auto;padding-top:100px}.skills-grid{grid-template-columns:1fr}.xp-row{grid-template-columns:1fr;gap:.4rem}.proj-meta{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div{border-bottom:1px solid var(--line)}.facts div:nth-child(3),.facts div:nth-child(4){border-bottom:0}.principles li{flex-wrap:wrap}.principles li span{margin-left:0;text-align:left}.log-row{grid-template-columns:1fr;gap:.3rem}.chat{right:12px;left:12px;width:auto;bottom:12px}.scroll-hint{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.mq-track{animation:none;width:auto}[data-reveal],.mask>span{opacity:1!important;transform:none!important}.sb span{width:var(--lv, 80%)!important}.cur,#loader{display:none}}noscript{display:none}[data-theme=terminal]{--bg: #0A0C0F;--panel: #10141A;--panel2: #141922;--line: #232B36;--txt: #E9EDF1;--dim: #8B95A3;--acc: #D8FF3E;--ink: #0A0C0F;--f-display: "Syne", sans-serif;--f-body: "Space Grotesk", sans-serif;--f-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.22, .68, .24, 1);color-scheme:dark}[data-theme=terminal] body{background:var(--bg);color:var(--txt);font-family:var(--f-body)}[data-theme=terminal] ::-moz-selection{background:var(--acc);color:var(--ink)}[data-theme=terminal] ::selection{background:var(--acc);color:var(--ink)}[data-theme=terminal] :focus-visible{outline:2px solid var(--acc);outline-offset:3px}[data-theme=terminal] .bg-grid{background-image:linear-gradient(rgba(233,237,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(233,237,241,.03) 1px,transparent 1px);background-size:72px 72px}[data-theme=terminal] .skip-link{background:var(--acc);color:var(--ink)}[data-theme=terminal] #loader{background:var(--bg)}[data-theme=terminal] .loader-num{color:var(--acc)}[data-theme=terminal] .loader-num:after{color:var(--txt)}[data-theme=terminal] .loader-bar i{background:var(--acc)}[data-theme=terminal] .loader-cap{color:var(--dim)}[data-theme=terminal] #pbar{background:var(--acc)}[data-theme=terminal] #hdr.scrolled .header-inner{background:#0a0c0fd1;backdrop-filter:blur(12px);border:1px solid var(--line)}[data-theme=terminal] .brand i{color:var(--acc)}[data-theme=terminal] .nav a{color:var(--dim)}[data-theme=terminal] .nav a b{color:var(--acc)}[data-theme=terminal] .nav a:hover,[data-theme=terminal] .nav a.act{color:var(--txt)}[data-theme=terminal] .nav a:after{background:var(--acc)}[data-theme=terminal] .ai-btn{background:var(--acc);color:var(--ink)}[data-theme=terminal] .ai-btn:hover{box-shadow:0 10px 24px #d8ff3e4d}[data-theme=terminal] .dot{background:var(--acc)}[data-theme=terminal] .burger{background:var(--panel)}[data-theme=terminal] .burger span{background:var(--txt)}[data-theme=terminal] .mobile-menu{background:var(--panel)}[data-theme=terminal] .mobile-menu a.big{color:var(--txt)}[data-theme=terminal] .mobile-menu a.big i{color:var(--acc)}[data-theme=terminal] .mobile-menu .mobile-footer{color:var(--dim)}[data-theme=terminal] #boot{color:var(--acc)}[data-theme=terminal] h1{color:var(--txt);font-size:clamp(2.8rem,6.5vw,5.2rem)}[data-theme=terminal] .outl{color:transparent;-webkit-text-stroke:1.5px var(--txt)}[data-theme=terminal] .role-line{color:var(--acc)}[data-theme=terminal] .hero-sub{color:var(--dim)}[data-theme=terminal] .hero-sub b{color:var(--txt)}[data-theme=terminal] .btn{background:transparent;color:var(--txt)}[data-theme=terminal] .btn.solid{background:var(--acc);border-color:var(--acc);color:var(--ink)}[data-theme=terminal] .btn.solid:hover{box-shadow:0 14px 30px #d8ff3e4d}[data-theme=terminal] .btn.line{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .btn.line:hover{background:var(--acc);color:var(--ink)}[data-theme=terminal] .btn.ghost:hover{background:var(--txt);color:var(--bg)}[data-theme=terminal] .hud{background:var(--panel)}[data-theme=terminal] .hud-img img{filter:grayscale(45%) contrast(1.05);transition:filter .6s}[data-theme=terminal] .hud:hover .hud-img img{filter:grayscale(0)}[data-theme=terminal] .hud-row .v.acc{color:var(--acc)}[data-theme=terminal] .scroll-hint .line:after{background:var(--acc)}[data-theme=terminal] .scroll-hint .line{background:var(--line)}[data-theme=terminal] .marquee{background:var(--panel)}[data-theme=terminal] .mq-track span{color:var(--dim)}[data-theme=terminal] .mq-track span:after{content:"✳";color:var(--acc)}[data-theme=terminal] .section-head .tag{color:var(--acc)}[data-theme=terminal] .section-head .rule{background:var(--line)}[data-theme=terminal] .section-head .code,[data-theme=terminal] .works-side p,[data-theme=terminal] .works-index a{color:var(--dim)}[data-theme=terminal] .works-index a b{color:var(--txt)}[data-theme=terminal] .works-index a.act,[data-theme=terminal] .works-index a.act b{color:var(--acc)}[data-theme=terminal] .proj-top{color:var(--dim)}[data-theme=terminal] .proj-top .no{color:var(--acc)}[data-theme=terminal] .proj:hover figure{box-shadow:8px 8px #d8ff3e40}[data-theme=terminal] .proj img{filter:saturate(.8)}[data-theme=terminal] .proj:hover img{filter:saturate(1.05)}[data-theme=terminal] .proj h3{color:var(--txt)}[data-theme=terminal] .proj:hover h3{color:var(--acc)}[data-theme=terminal] .proj .role,[data-theme=terminal] .proj .desc{color:var(--dim)}[data-theme=terminal] .metric{color:var(--acc)}[data-theme=terminal] .tags span{color:var(--dim)}[data-theme=terminal] .arrow-link{color:var(--txt)}[data-theme=terminal] .arrow-link:hover{color:var(--acc)}[data-theme=terminal] .blog-card{background:var(--panel);border-color:var(--line)}[data-theme=terminal] .blog-card:hover{border-color:var(--acc);box-shadow:8px 8px #d8ff3e26}[data-theme=terminal] .blog-card h3{color:var(--txt)}[data-theme=terminal] .blog-card:hover h3{color:var(--acc)}[data-theme=terminal] .blog-card p{color:var(--dim)}[data-theme=terminal] .blog-card-meta{border-color:var(--line)}[data-theme=terminal] .proj-hero{box-shadow:0 8px 30px #0000004d}[data-theme=terminal] .proj-hero img{filter:saturate(.8)}[data-theme=terminal] .proj-hero:hover img{filter:saturate(1.05)}[data-theme=terminal] .proj-terminal{border-color:var(--line)}[data-theme=terminal] .terminal-bar{background:var(--panel2);border-color:var(--line)}[data-theme=terminal] .terminal-body{background:var(--bg)}[data-theme=terminal] .terminal-line{color:var(--dim)}[data-theme=terminal] .t-cmd{color:var(--txt)}[data-theme=terminal] .proj-meta-cell{background:var(--panel)}[data-theme=terminal] .proj-meta-cell .label{color:var(--dim)}[data-theme=terminal] .proj-meta-cell .value{color:var(--txt)}[data-theme=terminal] .proj-tags span{color:var(--dim);border-color:var(--line)}[data-theme=terminal] .proj-tags span:hover{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .proj-section-title{color:var(--acc)}[data-theme=terminal] .proj-section p,[data-theme=terminal] .proj-list li{color:var(--dim)}[data-theme=terminal] .proj-gallery-item{border-color:var(--line)}[data-theme=terminal] .modal-back{background:#050709bf;backdrop-filter:blur(4px)}[data-theme=terminal] .modal-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 40px 90px #0009;scrollbar-color:var(--line) transparent}[data-theme=terminal] .modal-close{background:var(--panel)}[data-theme=terminal] .modal-close:hover{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .m-kick{color:var(--acc)}[data-theme=terminal] .m-title{color:var(--txt)}[data-theme=terminal] .m-role{color:var(--dim)}[data-theme=terminal] .m-sec h4{color:var(--acc)}[data-theme=terminal] .m-sec h4:after{background:var(--line)}[data-theme=terminal] .m-sec p,[data-theme=terminal] .m-sec ul li{color:var(--dim)}[data-theme=terminal] .m-sec ul li:before{color:var(--acc)}[data-theme=terminal] .m-stack span{color:var(--dim)}[data-theme=terminal] .about-txt .lead{color:var(--txt)}[data-theme=terminal] .about-txt .lead em{color:var(--acc);font-style:normal}[data-theme=terminal] .about-txt p{color:var(--dim)}[data-theme=terminal] .about-txt p b{color:var(--txt)}[data-theme=terminal] .about-ph{box-shadow:10px 10px #d8ff3e24}[data-theme=terminal] .facts div{background:var(--panel)}[data-theme=terminal] .facts .n{color:var(--acc)}[data-theme=terminal] .facts .l{color:var(--dim)}[data-theme=terminal] .principles li i{color:var(--acc)}[data-theme=terminal] .principles li span{color:var(--dim)}[data-theme=terminal] .svc{background:var(--panel)}[data-theme=terminal] .svc .no{color:var(--acc)}[data-theme=terminal] .svc h3{color:var(--txt)}[data-theme=terminal] .svc p,[data-theme=terminal] .svc ul li{color:var(--dim)}[data-theme=terminal] .svc .go{color:var(--acc)}[data-theme=terminal] .svc:hover{background:var(--acc);color:var(--ink);transform:translate(-4px,-4px);box-shadow:10px 10px #d8ff3e4d}[data-theme=terminal] .svc:hover p,[data-theme=terminal] .svc:hover ul li{color:#0a0c0fbf}[data-theme=terminal] .svc:hover ul li{border-color:#0a0c0f66}[data-theme=terminal] .svc:hover .no,[data-theme=terminal] .svc:hover h3,[data-theme=terminal] .svc:hover .go{color:var(--ink)}[data-theme=terminal] .svc:hover .go{transform:rotate(-45deg)}[data-theme=terminal] .skill-col{background:var(--panel)}[data-theme=terminal] .skill-col h3{color:var(--acc)}[data-theme=terminal] .skill-col h3:after{background:var(--line)}[data-theme=terminal] .sk .row span:last-child{color:var(--dim)}[data-theme=terminal] .sb{background:var(--line)}[data-theme=terminal] .sb span{background:repeating-linear-gradient(90deg,var(--acc) 0 7px,rgba(216,255,62,.45) 7px 11px)}[data-theme=terminal] .skill-col .tools i,[data-theme=terminal] .sk-note{color:var(--dim)}[data-theme=terminal] .sk-note b{color:var(--acc);font-weight:500}[data-theme=terminal] .xp-row:hover{background:var(--panel)}[data-theme=terminal] .xp-row .period{color:var(--dim)}[data-theme=terminal] .xp-row.now .period{color:var(--acc);font-weight:700}[data-theme=terminal] .xp-row h3{color:var(--txt)}[data-theme=terminal] .xp-row .co{color:var(--acc)}[data-theme=terminal] .xp-row .loc,[data-theme=terminal] .xp-row p{color:var(--dim)}[data-theme=terminal] .t-win{background:var(--panel)}[data-theme=terminal] .title-bar{background:var(--panel2)}[data-theme=terminal] .title-bar span{color:var(--dim)}[data-theme=terminal] .log-row:hover{background:var(--panel2)}[data-theme=terminal] .log-row .tag2{color:var(--acc)}[data-theme=terminal] .log-row b{color:var(--txt)}[data-theme=terminal] .log-row span{color:var(--dim)}[data-theme=terminal] .contact{background:var(--acc);color:var(--ink)}[data-theme=terminal] .contact ::-moz-selection{background:var(--ink);color:var(--acc)}[data-theme=terminal] .contact ::selection{background:var(--ink);color:var(--acc)}[data-theme=terminal] .contact .section-head .rule{background:#0a0c0f4d}[data-theme=terminal] .contact .section-head .code,[data-theme=terminal] .contact .section-head .tag{color:#0a0c0fbf}[data-theme=terminal] .contact h2 em{text-decoration-color:#0a0c0f66}[data-theme=terminal] .email-link{background:var(--ink);color:var(--acc)}[data-theme=terminal] .email-link:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:8px 8px #0a0c0f59}[data-theme=terminal] .btn.ink-solid{background:var(--ink);border-color:var(--ink);color:var(--acc)}[data-theme=terminal] .btn.ink-solid:hover{box-shadow:0 12px 26px #0a0c0f59}[data-theme=terminal] .btn.ink-line{border-color:var(--ink);color:var(--ink)}[data-theme=terminal] .btn.ink-line:hover{background:var(--ink);color:var(--acc)}[data-theme=terminal] .socials a,[data-theme=terminal] .socials button{border-color:#0a0c0f8c;color:var(--ink)}[data-theme=terminal] .socials a:hover,[data-theme=terminal] .socials button:hover{background:var(--ink);color:var(--acc);border-color:var(--ink)}[data-theme=terminal] .c-foot{border-color:#0a0c0f59;color:#0a0c0fb3}[data-theme=terminal] #aiFab{background:var(--acc);color:var(--ink);box-shadow:0 14px 34px #d8ff3e59}[data-theme=terminal] #aiTip{background:var(--panel);color:var(--txt)}[data-theme=terminal] .chat{background:var(--panel);box-shadow:0 40px 90px #0009}[data-theme=terminal] .chat>header{background:var(--panel2)}[data-theme=terminal] .chat .ava{background:var(--acc);color:var(--ink)}[data-theme=terminal] .chat header small{color:var(--acc)}[data-theme=terminal] .chat header .close:hover{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .c-body{scrollbar-color:var(--line) transparent}[data-theme=terminal] .msg.bot{background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--acc)}[data-theme=terminal] .msg.user{background:var(--acc);color:var(--ink)}[data-theme=terminal] .msg .tagname{color:var(--acc)}[data-theme=terminal] .msg .act{color:var(--acc);background:var(--panel)}[data-theme=terminal] .msg .act:hover{background:var(--acc);color:var(--ink)}[data-theme=terminal] .nxt{background:var(--bg);color:var(--dim)}[data-theme=terminal] .nxt:hover{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .typing .dots i{background:var(--acc)}[data-theme=terminal] .c-chips button{color:var(--dim)}[data-theme=terminal] .c-chips button:hover{border-color:var(--acc);color:var(--acc)}[data-theme=terminal] .c-input{background:var(--panel2)}[data-theme=terminal] .c-input>span{color:var(--acc)}[data-theme=terminal] .c-input input{color:var(--txt)}[data-theme=terminal] .c-input input::-moz-placeholder{color:var(--dim)}[data-theme=terminal] .c-input input::placeholder{color:var(--dim)}[data-theme=terminal] .c-input button{background:var(--acc);color:var(--ink)}[data-theme=editorial]{--bg: #F4F1EA;--panel: #EDE8DC;--panel2: #E6E0D2;--line: rgba(24, 21, 16, .15);--txt: #181510;--dim: #6F6A5E;--acc: #E8480C;--ink: #181510;--f-display: "Fraunces", Georgia, serif;--f-body: "Sora", sans-serif;--f-mono: "IBM Plex Mono", monospace;--ease: cubic-bezier(.22, .68, .24, 1);color-scheme:light}[data-theme=editorial] body{background:var(--bg);color:var(--ink);font-family:var(--f-body)}[data-theme=editorial] ::-moz-selection{background:var(--acc);color:var(--bg)}[data-theme=editorial] ::selection{background:var(--acc);color:var(--bg)}[data-theme=editorial] :focus-visible{outline:2px solid var(--acc);outline-offset:3px}[data-theme=editorial] .bg-grid{opacity:0}[data-theme=editorial] .skip-link{background:var(--ink);color:var(--bg)}[data-theme=editorial] .grain{position:fixed;inset:0;z-index:98;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>")}[data-theme=editorial] .brand{font-family:var(--f-display);font-style:italic;font-weight:600;font-size:1.1rem}[data-theme=editorial] .brand i{color:var(--acc)}[data-theme=editorial] #loader{background:var(--bg)}[data-theme=editorial] .loader-num{color:var(--ink)}[data-theme=editorial] .loader-num:after{color:var(--acc)}[data-theme=editorial] .loader-bar{border-color:var(--line)}[data-theme=editorial] .loader-bar i{background:var(--acc)}[data-theme=editorial] .loader-cap{color:var(--dim)}[data-theme=editorial] #pbar{background:var(--acc)}[data-theme=editorial] #hdr{border-bottom:1px solid transparent}[data-theme=editorial] #hdr.scrolled{background:#f4f1eae6;backdrop-filter:blur(8px);border-color:var(--line)}[data-theme=editorial] .brand span{color:var(--acc)}[data-theme=editorial] .nav a{color:var(--ink)}[data-theme=editorial] .nav a b{color:var(--acc)}[data-theme=editorial] .nav a:after{background:var(--acc)}[data-theme=editorial] .ai-btn{border:1px solid var(--acc);color:var(--acc);border-radius:99px}[data-theme=editorial] .ai-btn:hover{background:var(--acc);color:var(--bg)}[data-theme=editorial] .dot{background:#2e9e44}[data-theme=editorial] .burger{border-radius:50%}[data-theme=editorial] .burger span{background:var(--ink)}[data-theme=editorial] .mobile-menu{background:var(--bg)}[data-theme=editorial] .mobile-menu a.big{font-family:var(--f-display);font-style:italic;font-weight:400;text-transform:none;font-size:clamp(2rem,9vw,3.4rem);line-height:1.3}[data-theme=editorial] .mobile-menu a.big i{color:var(--acc)}[data-theme=editorial] #boot{display:none}[data-theme=editorial] h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.5rem,6.2vw,5.3rem);line-height:1.05;text-transform:none;letter-spacing:-.01em}[data-theme=editorial] .outl{color:var(--ink);-webkit-text-stroke:0}[data-theme=editorial] .role-line{color:var(--acc);letter-spacing:.12em}[data-theme=editorial] .hero-sub{color:var(--dim)}[data-theme=editorial] .hero-sub b{color:var(--ink)}[data-theme=editorial] .btn{border-radius:99px;font-weight:600;font-size:.85rem;text-transform:none;letter-spacing:0;border-color:var(--ink)}[data-theme=editorial] .btn:hover{transform:none}[data-theme=editorial] .btn.solid{background:var(--ink);color:var(--bg)}[data-theme=editorial] .btn.solid:hover{background:var(--acc);border-color:var(--acc);color:var(--bg)}[data-theme=editorial] .btn.line{border-color:var(--acc);color:var(--acc)}[data-theme=editorial] .btn.line:hover{background:var(--acc);color:var(--bg)}[data-theme=editorial] .btn.ghost:hover{background:var(--ink);color:var(--bg)}[data-theme=editorial] .hud{background:#ffffff59}[data-theme=editorial] .hud-img{padding:.8rem;background:var(--panel);transform:rotate(1.6deg);transition:transform .6s var(--ease)}[data-theme=editorial] .hud:hover .hud-img{transform:rotate(0)}[data-theme=editorial] .hud-img img{filter:grayscale(25%) contrast(1.03)}[data-theme=editorial] .hud-row .v.acc{color:#2e9e44}[data-theme=editorial] .scroll-hint .line{background:var(--ink)}[data-theme=editorial] .scroll-hint .line:after{background:var(--acc)}[data-theme=editorial] .marquee{background:var(--panel)}[data-theme=editorial] .mq-track span{font-family:var(--f-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}[data-theme=editorial] .mq-track span:after{content:"✦";color:var(--acc);font-style:normal;font-size:.9em}[data-theme=editorial] .section-head .tag{color:var(--acc)}[data-theme=editorial] .section-head h2{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0;font-size:clamp(2rem,4.6vw,3.4rem)}[data-theme=editorial] .section-head .rule{background:var(--line)}[data-theme=editorial] .section-head .code,[data-theme=editorial] .works-side p,[data-theme=editorial] .works-index a{color:var(--dim)}[data-theme=editorial] .works-index a b{color:var(--ink)}[data-theme=editorial] .works-index a.act,[data-theme=editorial] .works-index a.act b{color:var(--acc)}[data-theme=editorial] .proj-top{color:var(--dim)}[data-theme=editorial] .proj-top .no{color:var(--acc)}[data-theme=editorial] .proj figure{border:0;border-radius:0;aspect-ratio:16/9.6}[data-theme=editorial] .proj img{filter:grayscale(18%)}[data-theme=editorial] .proj:hover img{filter:grayscale(0)}[data-theme=editorial] .proj h3{font-family:var(--f-display);font-weight:500;text-transform:none;letter-spacing:0}[data-theme=editorial] .proj:hover h3{color:var(--acc)}[data-theme=editorial] .proj .role,[data-theme=editorial] .proj .desc{color:var(--dim)}[data-theme=editorial] .metric{color:var(--acc)}[data-theme=editorial] .tags span{color:var(--dim)}[data-theme=editorial] .arrow-link{color:var(--ink)}[data-theme=editorial] .arrow-link:hover{color:var(--acc)}[data-theme=editorial] .blog-card{background:#fff;border-color:#1815101a}[data-theme=editorial] .blog-card:hover{border-color:var(--acc);box-shadow:6px 6px #18151014}[data-theme=editorial] .blog-card h3{color:var(--ink);font-family:var(--f-display);font-weight:500;text-transform:none;letter-spacing:0}[data-theme=editorial] .blog-card:hover h3{color:var(--acc)}[data-theme=editorial] .blog-card p{color:var(--dim)}[data-theme=editorial] .blog-card-meta{border-color:#1815101a}[data-theme=editorial] .proj-hero{box-shadow:0 6px 20px #1815101f;border-radius:0}[data-theme=editorial] .proj-hero img,[data-theme=editorial] .proj-meta{border-radius:0}[data-theme=editorial] .proj-meta-cell{background:var(--bg)}[data-theme=editorial] .proj-meta-cell .label{color:var(--dim)}[data-theme=editorial] .proj-meta-cell .value{color:var(--ink)}[data-theme=editorial] .proj-tags span{color:var(--dim);border-color:#18151026}[data-theme=editorial] .proj-tags span:hover{border-color:var(--acc);color:var(--acc)}[data-theme=editorial] .proj-desc h2{color:var(--acc)}[data-theme=editorial] .proj-desc p{color:#3d382f}[data-theme=editorial] .modal-back{background:#18151099;backdrop-filter:blur(3px)}[data-theme=editorial] .modal-card{background:var(--bg);border:1px solid var(--ink);border-radius:0;box-shadow:0 40px 90px #0006}[data-theme=editorial] .modal-close{background:var(--bg);border:1px solid var(--ink)}[data-theme=editorial] .modal-close:hover{background:var(--ink);color:var(--bg)}[data-theme=editorial] .m-kick{color:var(--acc)}[data-theme=editorial] .m-title{font-family:var(--f-display);font-weight:500;text-transform:none;letter-spacing:0}[data-theme=editorial] .m-role{color:var(--dim)}[data-theme=editorial] .m-sec h4{color:var(--acc)}[data-theme=editorial] .m-sec h4:after{background:var(--line)}[data-theme=editorial] .m-sec p,[data-theme=editorial] .m-sec ul li{color:#3d382f}[data-theme=editorial] .m-sec ul li:before{content:"✦";color:var(--acc);font-size:.8rem}[data-theme=editorial] .m-stack span{border-color:var(--ink);color:var(--dim)}[data-theme=editorial] .about-txt .lead{font-family:var(--f-display);font-weight:400;text-transform:none;line-height:1.45}[data-theme=editorial] .about-txt .lead em{color:var(--acc)}[data-theme=editorial] .about-txt p{color:#3d382f}[data-theme=editorial] .about-txt p b{font-weight:600}[data-theme=editorial] .about-ph{border:0;border-radius:0}[data-theme=editorial] .about-ph img{filter:grayscale(10%)}[data-theme=editorial] .facts .n{font-family:var(--f-display);font-weight:400;color:var(--acc)}[data-theme=editorial] .facts .l{color:var(--dim)}[data-theme=editorial] .principles li i{color:var(--acc)}[data-theme=editorial] .principles li span{color:var(--dim)}[data-theme=editorial] .svc-grid{grid-template-columns:1fr;gap:0}[data-theme=editorial] .svc{border:0;border-top:1px solid var(--line);border-radius:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.6rem;min-height:0;padding:2rem 1rem;background:transparent}[data-theme=editorial] .svc:last-of-type{border-bottom:1px solid var(--line)}[data-theme=editorial] .svc .no{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:1.4rem}[data-theme=editorial] .svc h3{font-family:var(--f-display);font-weight:500;text-transform:none;font-size:clamp(1.3rem,2.4vw,1.8rem)}[data-theme=editorial] .svc p{color:var(--dim);flex-basis:100%}[data-theme=editorial] .svc ul{position:static;padding:0}[data-theme=editorial] .svc .go{position:static;width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;margin-left:auto}[data-theme=editorial] .svc:hover{background:var(--ink);color:var(--bg);transform:none;box-shadow:none}[data-theme=editorial] .svc:hover p,[data-theme=editorial] .svc:hover ul li{color:#f4f1eaa6}[data-theme=editorial] .svc:hover ul li{border-color:#f4f1ea66}[data-theme=editorial] .svc:hover .no,[data-theme=editorial] .svc:hover h3{color:var(--bg)}[data-theme=editorial] .svc:hover .go{background:var(--acc);border-color:var(--acc);transform:rotate(-45deg)}[data-theme=editorial] .skill-col{background:#ffffff4d}[data-theme=editorial] .skill-col h3{color:var(--acc)}[data-theme=editorial] .skill-col h3:after{background:var(--line)}[data-theme=editorial] .sk .row span:last-child{color:var(--dim)}[data-theme=editorial] .sb{height:5px;border-radius:0;background:var(--line)}[data-theme=editorial] .sb span{border-radius:0;background:var(--ink)}[data-theme=editorial] .skill-col .tools i,[data-theme=editorial] .sk-note{color:var(--dim)}[data-theme=editorial] .sk-note b{color:var(--acc);font-weight:500}[data-theme=editorial] .xp-row:hover{background:#ffffff80}[data-theme=editorial] .xp-row .period{color:var(--dim)}[data-theme=editorial] .xp-row.now .period{color:var(--acc)}[data-theme=editorial] .xp-row h3{font-weight:600}[data-theme=editorial] .xp-row .co{font-family:var(--f-display);font-style:italic;color:var(--acc);text-transform:none;letter-spacing:0}[data-theme=editorial] .xp-row .loc,[data-theme=editorial] .xp-row p{color:var(--dim)}[data-theme=editorial] .t-win{border:0;border-radius:0}[data-theme=editorial] .title-bar{background:transparent;border-bottom:1px solid var(--line)}[data-theme=editorial] .title-bar span{color:var(--dim)}[data-theme=editorial] .log-row:hover{background:#ffffff80}[data-theme=editorial] .log-row .tag2{color:var(--acc)}[data-theme=editorial] .log-row b{color:var(--ink)}[data-theme=editorial] .log-row span{color:var(--dim)}[data-theme=editorial] .contact{background:var(--ink);color:var(--bg);border-radius:0;margin:0}[data-theme=editorial] .contact .section-head .rule{background:#f4f1ea29}[data-theme=editorial] .contact .section-head .code,[data-theme=editorial] .contact .section-head .tag{color:#f4f1ea80}[data-theme=editorial] .contact h2{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0}[data-theme=editorial] .contact h2 em{color:var(--acc);text-decoration:none}[data-theme=editorial] .email-link{background:transparent;color:var(--acc);padding:0;font-family:var(--f-display);font-style:italic;font-size:clamp(1.4rem,3.6vw,2.6rem);border-bottom:2px solid var(--acc);border-radius:0}[data-theme=editorial] .email-link:hover{transform:none;box-shadow:none}[data-theme=editorial] .btn.ink-solid{background:var(--acc);border-color:var(--acc);color:var(--bg)}[data-theme=editorial] .btn.ink-solid:hover{box-shadow:none}[data-theme=editorial] .btn.ink-line{border-color:var(--bg);color:var(--bg)}[data-theme=editorial] .btn.ink-line:hover{background:var(--bg);color:var(--ink)}[data-theme=editorial] .socials a,[data-theme=editorial] .socials button{border-color:#f4f1ea40;color:var(--bg)}[data-theme=editorial] .socials a:hover,[data-theme=editorial] .socials button:hover{background:var(--bg);color:var(--ink);border-color:var(--bg)}[data-theme=editorial] .c-foot{border-color:#f4f1ea29;color:#f4f1ea8c}[data-theme=editorial] .c-foot a:hover{color:var(--acc)}[data-theme=editorial] #aiFab{background:var(--ink);color:var(--bg);box-shadow:0 14px 34px #18151059}[data-theme=editorial] #aiTip{background:#fff;border:1px solid var(--ink);box-shadow:6px 6px #18151026}[data-theme=editorial] .chat{background:var(--bg);border:1px solid var(--ink);box-shadow:0 40px 90px #18151059}[data-theme=editorial] .chat>header{background:var(--ink);color:var(--bg)}[data-theme=editorial] .chat .ava{background:var(--acc);color:var(--bg);border-radius:50%;font-family:var(--f-display);font-style:italic;font-size:1.05rem}[data-theme=editorial] .chat header b{font-family:var(--f-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:1.1rem}[data-theme=editorial] .chat header small{color:#f4f1eaa6}[data-theme=editorial] .chat header .close{border-color:#f4f1ea59;color:var(--bg)}[data-theme=editorial] .chat header .close:hover{background:var(--acc);border-color:var(--acc)}[data-theme=editorial] .msg.bot{background:#fff;border:1px solid var(--line);border-left:3px solid var(--acc)}[data-theme=editorial] .msg.user{background:var(--ink);color:var(--bg)}[data-theme=editorial] .msg .tagname{color:var(--acc);font-weight:500}[data-theme=editorial] .msg .act{color:var(--acc);background:#fff}[data-theme=editorial] .msg .act:hover{background:var(--acc);color:#fff}[data-theme=editorial] .nxt{background:#fff;color:var(--dim)}[data-theme=editorial] .nxt:hover{border-color:var(--acc);color:var(--acc)}[data-theme=editorial] .typing .dots i{background:var(--acc)}[data-theme=editorial] .c-chips{background:#fff}[data-theme=editorial] .c-chips button{color:var(--dim)}[data-theme=editorial] .c-chips button:hover{border-color:var(--acc);color:var(--acc)}[data-theme=editorial] .c-input{background:#fff}[data-theme=editorial] .c-input>span{font-family:var(--f-display);font-style:italic;color:var(--acc)}[data-theme=editorial] .c-input input{color:var(--ink)}[data-theme=editorial] .c-input input::-moz-placeholder{color:var(--dim)}[data-theme=editorial] .c-input input::placeholder{color:var(--dim)}[data-theme=editorial] .c-input button{background:var(--ink);color:var(--bg);font-weight:500}[data-theme=editorial] .c-input button:hover{background:var(--acc)}[data-theme=gallery]{--bg: #171310;--panel: #2B121C;--panel2: #220E17;--line: rgba(239, 230, 214, .14);--txt: #EFE6D6;--dim: #9A8F80;--acc: #D9A44B;--ink: #221208;--f-display: "Instrument Serif", serif;--f-body: "Instrument Sans", sans-serif;--f-mono: "Fragment Mono", monospace;--ease: cubic-bezier(.22, .68, .24, 1);color-scheme:dark}[data-theme=gallery] body{background:var(--bg);color:var(--txt);font-family:var(--f-body);line-height:1.7}[data-theme=gallery] ::-moz-selection{background:var(--acc);color:var(--ink)}[data-theme=gallery] ::selection{background:var(--acc);color:var(--ink)}[data-theme=gallery] :focus-visible{outline:2px solid var(--acc);outline-offset:3px}[data-theme=gallery] .bg-grid{opacity:0}[data-theme=gallery] .skip-link{background:var(--acc);color:var(--ink)}[data-theme=gallery] .grain{position:fixed;inset:0;z-index:97;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>")}[data-theme=gallery] #loader{background:var(--panel)}[data-theme=gallery] .loader-num{font-style:italic;color:var(--acc)}[data-theme=gallery] .loader-num:after{color:var(--acc);vertical-align:top}[data-theme=gallery] .loader-bar{border:0;height:1px;background:#efe6d633}[data-theme=gallery] .loader-bar i{background:var(--acc)}[data-theme=gallery] .loader-cap{color:#efe6d68c}[data-theme=gallery] #pbar{background:var(--acc)}[data-theme=gallery] #hdr.scrolled .header-inner{background:#220e17e6;backdrop-filter:blur(10px);border:1px solid rgba(217,164,75,.3)}[data-theme=gallery] .brand{font-family:var(--f-display);font-size:1.7rem;letter-spacing:0}[data-theme=gallery] .brand i{color:var(--acc)}[data-theme=gallery] .nav a{color:#efe6d68c}[data-theme=gallery] .nav a b{color:var(--acc)}[data-theme=gallery] .nav a:hover,[data-theme=gallery] .nav a.act{color:var(--txt)}[data-theme=gallery] .nav a:after{background:var(--acc)}[data-theme=gallery] .ai-btn{border:1px solid rgba(217,164,75,.5);color:var(--acc);border-radius:99px;background:transparent}[data-theme=gallery] .ai-btn:hover{background:var(--acc);color:var(--ink);transform:none}[data-theme=gallery] .dot{background:var(--acc)}[data-theme=gallery] .burger{background:transparent}[data-theme=gallery] .burger span{background:var(--txt)}[data-theme=gallery] .mobile-menu{background:var(--panel2)}[data-theme=gallery] .mobile-menu a.big{font-family:var(--f-display);font-weight:400;font-style:italic;text-transform:none;font-size:clamp(2rem,9vw,3.4rem)}[data-theme=gallery] .mobile-menu a.big i{color:var(--acc)}[data-theme=gallery] .mobile-menu .mobile-footer{color:#efe6d680}[data-theme=gallery] #boot{display:none}[data-theme=gallery] h1{font-family:var(--f-display);font-weight:400;font-style:italic;text-transform:none;letter-spacing:0;line-height:1.08;font-size:clamp(2.8rem,6vw,5rem)}[data-theme=gallery] .outl{color:var(--txt);-webkit-text-stroke:0}[data-theme=gallery] .role-line{color:var(--acc)}[data-theme=gallery] .hero-sub{color:var(--dim)}[data-theme=gallery] .hero-sub b{color:var(--txt)}[data-theme=gallery] .btn{border-radius:99px;text-transform:none;letter-spacing:0;font-family:var(--f-mono)}[data-theme=gallery] .btn:hover{transform:none}[data-theme=gallery] .btn.solid{background:var(--acc);border-color:var(--acc);color:var(--ink);font-weight:700}[data-theme=gallery] .btn.solid:hover{background:var(--txt);border-color:var(--txt)}[data-theme=gallery] .btn.line{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .btn.line:hover{background:var(--acc);color:var(--ink)}[data-theme=gallery] .btn.ghost:hover{background:var(--txt);color:var(--bg)}[data-theme=gallery] .hud{border-color:#d9a44b66;background:var(--panel)}[data-theme=gallery] .hud-img img{filter:sepia(.25) contrast(1.04)}[data-theme=gallery] .hud-row .v.acc{color:var(--acc)}[data-theme=gallery] .scroll-hint .line{background:var(--line)}[data-theme=gallery] .scroll-hint .line:after{background:var(--acc)}[data-theme=gallery] .marquee{border-block:0;padding:.9rem 0}[data-theme=gallery] .mq-track span{font-family:var(--f-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:1.15rem;color:var(--dim)}[data-theme=gallery] .mq-track span:after{content:"✦";color:var(--acc);font-style:normal;font-size:.8em}[data-theme=gallery] .section-head .tag{color:var(--acc)}[data-theme=gallery] .section-head h2{font-family:var(--f-display);font-weight:400;font-style:italic;text-transform:none;letter-spacing:0;font-size:clamp(2.2rem,5vw,3.8rem)}[data-theme=gallery] .section-head .rule{background:var(--line)}[data-theme=gallery] .section-head .code,[data-theme=gallery] .works-side p{color:var(--dim)}[data-theme=gallery] .works-index a{color:#efe6d68c}[data-theme=gallery] .works-index a b{color:var(--txt)}[data-theme=gallery] .works-index a.act,[data-theme=gallery] .works-index a.act b{color:var(--acc)}[data-theme=gallery] .proj-top{color:var(--dim)}[data-theme=gallery] .proj-top .no{color:var(--acc)}[data-theme=gallery] .proj figure{border-radius:0}[data-theme=gallery] .proj img{filter:grayscale(100%) contrast(1.05)}[data-theme=gallery] .proj:hover img{filter:grayscale(0)}[data-theme=gallery] .proj h3{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0}[data-theme=gallery] .proj:hover h3{color:var(--acc)}[data-theme=gallery] .proj .role,[data-theme=gallery] .proj .desc{color:var(--dim)}[data-theme=gallery] .metric{color:var(--acc)}[data-theme=gallery] .tags span{color:var(--dim)}[data-theme=gallery] .arrow-link{color:var(--txt)}[data-theme=gallery] .arrow-link:hover{color:var(--acc)}[data-theme=gallery] .blog-card{background:var(--panel);border-color:var(--line)}[data-theme=gallery] .blog-card:hover{border-color:var(--acc);box-shadow:0 12px 36px #00000059}[data-theme=gallery] .blog-card h3{color:var(--txt);font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0}[data-theme=gallery] .blog-card:hover h3{color:var(--acc)}[data-theme=gallery] .blog-card p{color:var(--dim)}[data-theme=gallery] .blog-card-meta{border-color:var(--line)}[data-theme=gallery] .proj-hero{box-shadow:0 12px 35px #00000059;border-color:#d9a44b4d;border-radius:18px}[data-theme=gallery] .proj-hero img{border-radius:18px}[data-theme=gallery] .proj-meta{border-color:#d9a44b4d;border-radius:14px}[data-theme=gallery] .proj-meta-cell{background:var(--panel)}[data-theme=gallery] .proj-meta-cell .label{color:var(--dim)}[data-theme=gallery] .proj-meta-cell .value{color:var(--txt)}[data-theme=gallery] .proj-tags span{color:var(--dim);border-color:#d9a44b40}[data-theme=gallery] .proj-tags span:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .proj-desc h2{color:var(--acc)}[data-theme=gallery] .proj-desc p{color:#efe6d6bf}[data-theme=gallery] .modal-back{background:#0c0907cc;backdrop-filter:blur(4px)}[data-theme=gallery] .modal-card{background:var(--panel);border:1px solid rgba(217,164,75,.4);border-radius:18px;box-shadow:0 40px 90px #000000a6;scrollbar-color:var(--panel2) transparent}[data-theme=gallery] .modal-close{border-color:#efe6d640}[data-theme=gallery] .modal-close:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .m-kick{color:var(--acc)}[data-theme=gallery] .m-title{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0}[data-theme=gallery] .m-role{color:var(--dim)}[data-theme=gallery] .m-sec h4{color:var(--acc)}[data-theme=gallery] .m-sec h4:after{background:var(--line)}[data-theme=gallery] .m-sec p,[data-theme=gallery] .m-sec ul li{color:#efe6d6bf}[data-theme=gallery] .m-sec ul li:before{content:"✦";color:var(--acc);font-size:.8rem}[data-theme=gallery] .m-stack span{color:var(--dim)}[data-theme=gallery] .about-txt .lead{font-family:var(--f-display);font-weight:400;text-transform:none;line-height:1.5}[data-theme=gallery] .about-txt .lead em{color:var(--acc)}[data-theme=gallery] .about-txt p{color:var(--dim)}[data-theme=gallery] .about-txt p b{color:var(--txt)}[data-theme=gallery] .about-ph{border-color:#d9a44b66}[data-theme=gallery] .about-ph img{filter:sepia(.3)}[data-theme=gallery] .facts .n{font-family:var(--f-display);font-weight:400;color:var(--acc)}[data-theme=gallery] .facts .l{color:var(--dim)}[data-theme=gallery] .principles li i{color:var(--acc)}[data-theme=gallery] .principles li span{color:var(--dim)}[data-theme=gallery] .svc-grid{grid-template-columns:1fr;gap:0}[data-theme=gallery] .svc{border:0;border-top:1px solid var(--line);border-radius:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.4rem;min-height:0;padding:1.8rem .4rem;background:transparent}[data-theme=gallery] .svc:last-of-type{border-bottom:1px solid var(--line)}[data-theme=gallery] .svc .no{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:1.5rem}[data-theme=gallery] .svc h3{font-family:var(--f-display);font-weight:400;text-transform:none;font-size:clamp(1.3rem,2.6vw,1.9rem)}[data-theme=gallery] .svc p{color:var(--dim);flex-basis:100%}[data-theme=gallery] .svc ul{position:static;padding:0}[data-theme=gallery] .svc .go{position:static;margin-left:auto;color:var(--acc);opacity:.35}[data-theme=gallery] .svc:hover{background:#d9a44b0d;transform:none;box-shadow:none}[data-theme=gallery] .svc:hover .go{opacity:1;transform:translate(6px)}[data-theme=gallery] .svc:hover .no,[data-theme=gallery] .svc:hover h3{color:var(--acc)}[data-theme=gallery] .svc:hover p,[data-theme=gallery] .svc:hover ul li{color:var(--dim)}[data-theme=gallery] .svc:hover ul li{border-color:var(--line)}[data-theme=gallery] .skill-col{border-radius:0;background:transparent}[data-theme=gallery] .skill-col h3{color:var(--acc)}[data-theme=gallery] .skill-col h3:after{background:var(--line)}[data-theme=gallery] .sk .row span:last-child{color:var(--dim)}[data-theme=gallery] .sb{height:auto;border-radius:0;background:transparent;display:flex;gap:.35rem}[data-theme=gallery] .sb span{width:0;border-radius:0;background:transparent;transition:none;position:relative}[data-theme=gallery] .sb{position:relative}[data-theme=gallery] .skill-col .tools i,[data-theme=gallery] .sk-note{color:var(--dim)}[data-theme=gallery] .sk-note b{color:var(--acc);font-weight:400}[data-theme=gallery] .xp-row{position:relative;padding-left:2rem;border-left:0}[data-theme=gallery] .xp-row:before{content:"";position:absolute;left:0;top:2.1rem;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1.5px solid var(--acc)}[data-theme=gallery] .xp-row.now:before{background:var(--acc)}[data-theme=gallery] .xp-row:hover{background:transparent;padding-left:2.4rem}[data-theme=gallery] .xp-row .period{color:var(--dim)}[data-theme=gallery] .xp-row.now .period{color:var(--acc)}[data-theme=gallery] .xp-row h3{font-weight:600}[data-theme=gallery] .xp-row .co{font-family:var(--f-display);font-style:italic;color:var(--acc);text-transform:none;letter-spacing:0;font-size:1rem}[data-theme=gallery] .xp-row .loc,[data-theme=gallery] .xp-row p{color:var(--dim)}[data-theme=gallery] .t-win{border-radius:0}[data-theme=gallery] .title-bar{background:transparent}[data-theme=gallery] .title-bar span{color:var(--dim)}[data-theme=gallery] .log-row:hover{background:#d9a44b0d}[data-theme=gallery] .log-row .tag2{color:var(--acc)}[data-theme=gallery] .log-row b{color:var(--txt)}[data-theme=gallery] .log-row span{color:var(--dim)}[data-theme=gallery] .contact{background:transparent;color:var(--txt);border-radius:0;margin:0;border-top:1px solid var(--line)}[data-theme=gallery] .contact .section-head .rule{background:var(--line)}[data-theme=gallery] .contact .section-head .code,[data-theme=gallery] .contact .section-head .tag{color:var(--dim)}[data-theme=gallery] .contact h2{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0}[data-theme=gallery] .contact h2 em{color:var(--acc);text-decoration:none}[data-theme=gallery] .email-link{background:transparent;color:var(--acc);padding:0;font-family:var(--f-display);font-style:italic;font-size:clamp(1.4rem,3.4vw,2.4rem);border-bottom:1.5px solid var(--acc);border-radius:0}[data-theme=gallery] .email-link:hover{transform:none;box-shadow:none}[data-theme=gallery] .btn.ink-solid{background:var(--acc);border-color:var(--acc);color:var(--ink)}[data-theme=gallery] .btn.ink-solid:hover{box-shadow:none}[data-theme=gallery] .btn.ink-line{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .btn.ink-line:hover{background:var(--acc);color:var(--ink)}[data-theme=gallery] .socials a,[data-theme=gallery] .socials button{border-color:var(--line);color:var(--txt)}[data-theme=gallery] .socials a:hover,[data-theme=gallery] .socials button:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .c-foot{border-color:var(--line);color:var(--dim)}[data-theme=gallery] .c-foot a:hover{color:var(--acc)}[data-theme=gallery] #aiFab{background:var(--acc);color:var(--ink);box-shadow:0 14px 34px #d9a44b59}[data-theme=gallery] #aiTip{background:var(--panel);border-color:#d9a44b80;color:var(--txt)}[data-theme=gallery] .chat{background:var(--bg);border-color:#d9a44b66;box-shadow:0 40px 90px #0009}[data-theme=gallery] .chat>header{background:var(--panel);color:var(--txt)}[data-theme=gallery] .chat .ava{background:var(--acc);color:var(--ink);border-radius:50%;font-family:var(--f-display);font-style:italic;font-size:1.1rem}[data-theme=gallery] .chat header b{font-family:var(--f-display);font-weight:400;text-transform:none;letter-spacing:0;font-size:1.05rem}[data-theme=gallery] .chat header small{color:var(--acc)}[data-theme=gallery] .chat header .close{border-color:#efe6d640}[data-theme=gallery] .chat header .close:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .c-body{scrollbar-color:var(--panel) transparent}[data-theme=gallery] .msg.bot{background:#efe6d60f;border:1px solid var(--line);border-radius:16px 16px 16px 5px}[data-theme=gallery] .msg.user{background:var(--acc);color:var(--ink);border-radius:16px 16px 5px}[data-theme=gallery] .msg .tagname,[data-theme=gallery] .msg .act{color:var(--acc)}[data-theme=gallery] .msg .act:hover{background:var(--acc);color:var(--ink)}[data-theme=gallery] .nxt{background:transparent;color:var(--dim)}[data-theme=gallery] .nxt:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .typing .dots i{background:var(--acc)}[data-theme=gallery] .c-chips button{color:var(--dim)}[data-theme=gallery] .c-chips button:hover{border-color:var(--acc);color:var(--acc)}[data-theme=gallery] .c-input{background:var(--panel)}[data-theme=gallery] .c-input>span{color:var(--acc)}[data-theme=gallery] .c-input input{color:var(--txt)}[data-theme=gallery] .c-input input::-moz-placeholder{color:var(--dim)}[data-theme=gallery] .c-input input::placeholder{color:var(--dim)}[data-theme=gallery] .c-input button{background:var(--acc);color:var(--ink)}[data-theme=gallery] .c-input button:hover{background:var(--txt)}[data-theme=swiss]{--bg: #F5F3EC;--panel: #FFFFFF;--panel2: #EDEAE0;--line: #141414;--txt: #141414;--dim: #5E5A50;--acc: #1B3BDB;--acc2: #FF3D1F;--ink: #141414;--f-display: "Anton", sans-serif;--f-body: "Archivo", sans-serif;--f-mono: "Space Mono", monospace;--ease: cubic-bezier(.22, .68, .24, 1);color-scheme:light}[data-theme=swiss] body{background:var(--bg);color:var(--ink);font-family:var(--f-body);line-height:1.6}[data-theme=swiss] ::-moz-selection{background:var(--acc);color:#fff}[data-theme=swiss] ::selection{background:var(--acc);color:#fff}[data-theme=swiss] :focus-visible{outline:3px solid var(--acc2);outline-offset:2px}[data-theme=swiss] .bg-grid{opacity:0}[data-theme=swiss] .skip-link{background:var(--acc);color:#fff}[data-theme=swiss] #loader{background:var(--bg)}[data-theme=swiss] .loader-num{color:var(--acc);text-shadow:7px 7px 0 var(--ink)}[data-theme=swiss] .loader-num:after{color:var(--acc2)}[data-theme=swiss] .loader-bar{border:2px solid var(--ink);height:10px}[data-theme=swiss] .loader-bar i{background:var(--acc2)}[data-theme=swiss] .loader-cap{color:var(--dim);letter-spacing:.3em}[data-theme=swiss] #pbar{background:var(--acc2);height:5px}[data-theme=swiss] #hdr{top:5px}[data-theme=swiss] #hdr.scrolled{background:var(--bg);border-bottom:2.5px solid var(--ink)}[data-theme=swiss] #hdr.scrolled .header-inner{border-radius:0}[data-theme=swiss] .brand{font-family:var(--f-display);font-size:1.25rem;letter-spacing:.03em}[data-theme=swiss] .brand i{color:var(--acc2)}[data-theme=swiss] .nav a{color:var(--dim)}[data-theme=swiss] .nav a b{color:var(--acc2)}[data-theme=swiss] .nav a:hover,[data-theme=swiss] .nav a.act{color:var(--ink)}[data-theme=swiss] .nav a:after{height:2px;background:var(--acc2)}[data-theme=swiss] .ai-btn{background:var(--acc2);color:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:3px 3px 0 var(--ink)}[data-theme=swiss] .ai-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}[data-theme=swiss] .dot{background:var(--acc2)}[data-theme=swiss] .burger{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:3px 3px 0 var(--ink)}[data-theme=swiss] .burger span{background:var(--ink)}[data-theme=swiss] .mobile-menu{background:var(--acc)}[data-theme=swiss] .mobile-menu a.big{color:#fff;border-bottom:2.5px solid rgba(255,255,255,.4);font-size:clamp(2rem,9vw,3.6rem)}[data-theme=swiss] .mobile-menu a.big i{color:var(--acc2)}[data-theme=swiss] .mobile-menu .mobile-footer{color:#fff}[data-theme=swiss] #boot{display:none}[data-theme=swiss] h1{color:var(--ink);letter-spacing:.01em;font-size:clamp(3.2rem,9.4vw,7.8rem)}[data-theme=swiss] .outl{color:var(--acc);-webkit-text-stroke:0;text-shadow:7px 7px 0 var(--acc2)}[data-theme=swiss] .role-line{display:inline-flex;gap:.6rem;align-items:center;background:var(--ink);color:var(--bg);padding:.6rem 1.1rem;letter-spacing:.2em}[data-theme=swiss] .hero-sub{color:var(--dim)}[data-theme=swiss] .hero-sub b{color:var(--ink)}[data-theme=swiss] .btn{border-radius:0;border:2.5px solid var(--ink);background:#fff;box-shadow:5px 5px 0 var(--ink);font-family:var(--f-display);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}[data-theme=swiss] .btn:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}[data-theme=swiss] .btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}[data-theme=swiss] .btn.solid{background:var(--acc);border-color:var(--ink);color:#fff}[data-theme=swiss] .btn.line{border-color:var(--acc2);color:var(--acc2)}[data-theme=swiss] .btn.line:hover{background:var(--acc2);color:#fff}[data-theme=swiss] .btn.ghost:hover{background:var(--ink);color:var(--bg)}[data-theme=swiss] .hud{border:2.5px solid var(--ink);border-radius:0;background:#fff;box-shadow:13px 13px 0 var(--acc);transform:rotate(1.2deg)}[data-theme=swiss] .hud-img{border-bottom:2.5px solid var(--ink)}[data-theme=swiss] .hud-img img{filter:grayscale(100%) contrast(1.08);transition:filter .6s}[data-theme=swiss] .hud:hover .hud-img img{filter:grayscale(0)}[data-theme=swiss] .hud-row{border-bottom:2px solid var(--ink)}[data-theme=swiss] .hud-row .k{color:var(--dim)}[data-theme=swiss] .hud-row .v.acc{color:var(--acc2)}[data-theme=swiss] .scroll-hint{font-family:var(--f-mono);font-size:.54rem;letter-spacing:.2em}[data-theme=swiss] .scroll-hint .line{height:2px;background:var(--ink)}[data-theme=swiss] .scroll-hint .line:after{background:var(--acc2)}[data-theme=swiss] .marquee{border-block:0;background:var(--ink);color:var(--bg);padding:.9rem 0;transform:rotate(-1deg) scale(1.02)}[data-theme=swiss] .mq-track span{color:var(--bg);letter-spacing:.05em}[data-theme=swiss] .mq-track span:after{content:"✳";color:var(--acc2)}[data-theme=swiss] .section-head .tag{color:var(--acc)}[data-theme=swiss] .section-head h2{font-size:clamp(1.6rem,3.8vw,2.7rem)}[data-theme=swiss] .section-head .rule{height:2.5px;background:var(--ink)}[data-theme=swiss] .section-head .code{color:var(--dim);font-weight:700}[data-theme=swiss] .section-head .tag:before{content:""}[data-theme=swiss] .works-side p{color:var(--dim)}[data-theme=swiss] .works-index{border-top:2.5px solid var(--ink)}[data-theme=swiss] .works-index a{color:var(--dim);font-weight:700}[data-theme=swiss] .works-index a b{color:var(--ink);font-weight:800}[data-theme=swiss] .works-index a.act,[data-theme=swiss] .works-index a.act b{color:var(--acc2)}[data-theme=swiss] .proj-top{color:var(--dim);font-weight:700}[data-theme=swiss] .proj-top .no{color:var(--acc2)}[data-theme=swiss] .proj figure{border:2.5px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink);aspect-ratio:16/8.2}[data-theme=swiss] .proj:hover figure{box-shadow:12px 12px 0 var(--ink);transform:translate(-4px,-4px)}[data-theme=swiss] .proj img{filter:grayscale(100%) contrast(1.05)}[data-theme=swiss] .proj:hover img{filter:grayscale(0)}[data-theme=swiss] .proj h3{font-family:var(--f-display);font-weight:400;font-size:1.35rem;letter-spacing:.03em}[data-theme=swiss] .proj:hover h3{color:var(--acc2)}[data-theme=swiss] .proj .role{color:var(--acc);font-weight:700}[data-theme=swiss] .proj .desc{color:var(--dim)}[data-theme=swiss] .metric{color:var(--acc2);border:2px solid var(--acc2);border-radius:0;transform:rotate(-1.5deg);font-weight:700}[data-theme=swiss] .tags span{border:1.5px solid var(--ink);color:var(--dim);border-radius:0;font-weight:700}[data-theme=swiss] .arrow-link{color:var(--ink);font-weight:700}[data-theme=swiss] .arrow-link:hover{color:var(--acc2)}[data-theme=swiss] .blog-card{background:var(--bg);border:2.5px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink)}[data-theme=swiss] .blog-card:hover{box-shadow:12px 12px 0 var(--ink);transform:translate(-4px,-4px);border-color:var(--ink)}[data-theme=swiss] .blog-card h3{font-family:var(--f-display);font-weight:400;font-size:1.1rem;letter-spacing:.03em;color:var(--ink);text-transform:none}[data-theme=swiss] .blog-card:hover h3{color:var(--acc2)}[data-theme=swiss] .blog-card p{color:var(--dim)}[data-theme=swiss] .blog-card-meta{border-color:var(--ink)}[data-theme=swiss] .proj-hero{border:2.5px solid var(--ink);border-radius:0;box-shadow:12px 12px 0 var(--acc)}[data-theme=swiss] .proj-hero img{border-radius:0}[data-theme=swiss] .proj-meta{border:2.5px solid var(--ink);border-radius:0}[data-theme=swiss] .proj-meta-cell{background:var(--bg)}[data-theme=swiss] .proj-meta-cell .label{color:var(--dim)}[data-theme=swiss] .proj-meta-cell .value{color:var(--ink)}[data-theme=swiss] .proj-tags span{color:var(--dim);border-color:#14141433}[data-theme=swiss] .proj-tags span:hover{border-color:var(--acc2);color:var(--acc2)}[data-theme=swiss] .proj-desc h2{color:var(--acc2)}[data-theme=swiss] .proj-desc p{color:#3d382e}[data-theme=swiss] .modal-back{background:#14141499}[data-theme=swiss] .modal-card{background:var(--bg);border:2.5px solid var(--ink);border-radius:0;box-shadow:16px 16px 0 var(--acc)}[data-theme=swiss] .modal-close{border:2.5px solid var(--ink);border-radius:0;background:#fff}[data-theme=swiss] .modal-close:hover{background:var(--acc2);color:#fff}[data-theme=swiss] .m-kick{color:var(--acc2);font-weight:700}[data-theme=swiss] .m-title{font-weight:400;letter-spacing:.02em}[data-theme=swiss] .m-role{color:var(--dim);font-weight:700}[data-theme=swiss] .m-sec h4{color:var(--acc2);font-weight:700}[data-theme=swiss] .m-sec h4:after{height:2px;background:#14141433}[data-theme=swiss] .m-sec p{color:#3d382e}[data-theme=swiss] .m-sec ul li{color:#3d382e;border-bottom:2px dashed rgba(20,20,20,.15)}[data-theme=swiss] .m-sec ul li:before{content:"✳";color:var(--acc2);font-size:.85rem}[data-theme=swiss] .m-stack span{border:2px solid var(--ink);border-radius:0;color:var(--dim);font-weight:700}[data-theme=swiss] .about-txt .lead{font-family:var(--f-display);font-weight:400;text-transform:uppercase;line-height:1.25;font-size:clamp(1.4rem,2.6vw,2rem)}[data-theme=swiss] .about-txt .lead em{color:var(--acc);font-style:normal}[data-theme=swiss] .about-txt p{color:var(--dim)}[data-theme=swiss] .about-txt p b{color:var(--ink)}[data-theme=swiss] .about-ph{border:2.5px solid var(--ink);border-radius:0;box-shadow:11px 11px 0 var(--acc2);transform:rotate(-1.5deg)}[data-theme=swiss] .facts div{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink);margin:6px}[data-theme=swiss] .facts{border:0;border-radius:0;gap:0;overflow:visible}[data-theme=swiss] .facts .n{font-family:var(--f-display);font-weight:400;color:var(--acc)}[data-theme=swiss] .facts div:nth-child(odd) .n{color:var(--acc2)}[data-theme=swiss] .facts .l{color:var(--dim);font-weight:700}[data-theme=swiss] .principles li i{color:var(--acc);font-weight:700}[data-theme=swiss] .principles li span{color:var(--dim)}[data-theme=swiss] .svc-grid{grid-template-columns:repeat(4,1fr);gap:14px}[data-theme=swiss] .svc{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink);min-height:250px}[data-theme=swiss] .svc .no{color:var(--acc2);font-weight:400}[data-theme=swiss] .svc:nth-child(2) .no,[data-theme=swiss] .svc:nth-child(4) .no{color:var(--acc)}[data-theme=swiss] .svc h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.05rem;line-height:1.15}[data-theme=swiss] .svc p{color:var(--dim);font-size:.82rem}[data-theme=swiss] .svc ul li{border:1.5px solid var(--ink);border-radius:0;color:var(--dim);font-weight:700}[data-theme=swiss] .svc .go{display:none}[data-theme=swiss] .svc:hover{background:var(--acc);color:#fff;transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--ink)}[data-theme=swiss] .svc:hover p,[data-theme=swiss] .svc:hover ul li{color:#fffc}[data-theme=swiss] .svc:hover ul li{border-color:#fff9}[data-theme=swiss] .svc:hover .no{color:var(--acc2)}[data-theme=swiss] .skill-col{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink)}[data-theme=swiss] .skill-col h3{color:var(--acc2);font-weight:700}[data-theme=swiss] .skill-col h3:after{height:2px;background:var(--ink)}[data-theme=swiss] .sk .row{font-weight:700}[data-theme=swiss] .sk .row span:last-child{color:var(--dim)}[data-theme=swiss] .sb{height:13px;border:2px solid var(--ink);border-radius:0;background:var(--bg)}[data-theme=swiss] .sb span{border-radius:0;background:var(--ink)}[data-theme=swiss] .skill-col .tools i{border:1.5px solid var(--ink);border-radius:0;color:var(--dim);font-weight:700}[data-theme=swiss] .sk-note{color:var(--dim);font-weight:700}[data-theme=swiss] .sk-note b{color:var(--acc2)}[data-theme=swiss] .xp-row{border-bottom:2px solid rgba(20,20,20,.25);border-left:6px solid transparent}[data-theme=swiss] .xp-row:hover{background:#fff;border-left-color:var(--acc2)}[data-theme=swiss] .xp-row .period{color:var(--dim);font-weight:700}[data-theme=swiss] .xp-row.now .period{color:var(--acc2)}[data-theme=swiss] .xp-row h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.15rem;line-height:1.15}[data-theme=swiss] .xp-row .co{color:var(--acc);font-weight:700;text-transform:uppercase}[data-theme=swiss] .xp-row .loc,[data-theme=swiss] .xp-row p{color:var(--dim)}[data-theme=swiss] .t-win{border:2.5px solid var(--ink);border-radius:0;box-shadow:11px 11px 0 var(--acc2)}[data-theme=swiss] .title-bar{border-bottom:2.5px solid var(--ink);background:#fff}[data-theme=swiss] .title-bar span{color:var(--dim);font-weight:700}[data-theme=swiss] .log-row{border-bottom:2px dashed rgba(20,20,20,.2)}[data-theme=swiss] .log-row:hover{background:var(--bg)}[data-theme=swiss] .log-row .tag2{color:var(--acc);font-weight:700}[data-theme=swiss] .log-row b{color:var(--ink);font-weight:800}[data-theme=swiss] .log-row span{color:var(--dim)}[data-theme=swiss] .contact{background:var(--acc);color:#fff;border-radius:0;margin:0}[data-theme=swiss] .contact ::-moz-selection{background:var(--acc2);color:#fff}[data-theme=swiss] .contact ::selection{background:var(--acc2);color:#fff}[data-theme=swiss] .contact .section-head .rule{background:#fff}[data-theme=swiss] .contact .section-head .code,[data-theme=swiss] .contact .section-head .tag{color:#ffffffb3}[data-theme=swiss] .contact h2{font-size:clamp(2.6rem,7vw,5.6rem)}[data-theme=swiss] .contact h2 em{color:var(--acc2);font-style:normal;text-decoration:none}[data-theme=swiss] .email-link{background:#fff;color:var(--ink);border:2.5px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink);font-family:var(--f-mono);font-size:.78rem;letter-spacing:.04em}[data-theme=swiss] .email-link:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:11px 11px 0 var(--ink);background:var(--acc2);color:#fff}[data-theme=swiss] .btn.ink-solid{background:var(--acc2);border-color:var(--ink);color:#fff;box-shadow:5px 5px 0 var(--ink)}[data-theme=swiss] .btn.ink-line{background:transparent;border-color:#fff;color:#fff;box-shadow:5px 5px #fff6}[data-theme=swiss] .btn.ink-line:hover{box-shadow:8px 8px #fff6;background:#fff;color:var(--acc)}[data-theme=swiss] .socials a,[data-theme=swiss] .socials button{border:2px solid rgba(255,255,255,.7);border-radius:0;color:#fff;font-weight:700}[data-theme=swiss] .socials a:hover,[data-theme=swiss] .socials button:hover{background:#fff;color:var(--acc);transform:translateY(-3px)}[data-theme=swiss] .c-foot{border-color:#ffffff80;color:#fffc}[data-theme=swiss] .c-foot a:hover{color:var(--acc2)}[data-theme=swiss] #aiFab{background:var(--acc2);color:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink);font-family:var(--f-display);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;animation:fabIn .7s var(--ease) 1.4s backwards}@keyframes fabIn{0%{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}[data-theme=swiss] #aiFab:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}[data-theme=swiss] #aiTip{background:#fff;border:2.5px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--ink);color:var(--ink)}[data-theme=swiss] .chat{background:var(--bg);border:2.5px solid var(--ink);border-radius:0;box-shadow:13px 13px 0 var(--ink)}[data-theme=swiss] .chat>header{background:var(--acc);border-bottom:2.5px solid var(--ink);color:#fff}[data-theme=swiss] .chat .ava{background:var(--acc2);border:2px solid var(--ink);border-radius:0;font-family:var(--f-display);font-size:1rem}[data-theme=swiss] .chat header b{font-family:var(--f-display);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:1.05rem}[data-theme=swiss] .chat header small{color:#ffffffd9;font-weight:700}[data-theme=swiss] .chat header .close{background:#fff;border:2px solid var(--ink);border-radius:0;color:var(--ink)}[data-theme=swiss] .chat header .close:hover{background:var(--acc2);color:#fff}[data-theme=swiss] .c-body{scrollbar-color:var(--ink) transparent}[data-theme=swiss] .msg{border:2px solid var(--ink);border-radius:0}[data-theme=swiss] .msg.bot{background:#fff;border-left:5px solid var(--acc2)}[data-theme=swiss] .msg.user{background:var(--acc);color:#fff}[data-theme=swiss] .msg .tagname{color:var(--acc2);font-weight:700}[data-theme=swiss] .msg .act{background:var(--acc2);color:#fff;border:2px solid var(--ink);border-radius:0;box-shadow:2px 2px 0 var(--ink);font-weight:700}[data-theme=swiss] .msg .act:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}[data-theme=swiss] .nxt{border:1.5px solid var(--ink);border-radius:0;background:var(--bg);color:var(--dim);font-weight:700}[data-theme=swiss] .nxt:hover{background:var(--acc);color:#fff}[data-theme=swiss] .typing .dots i{background:var(--acc2)}[data-theme=swiss] .c-chips{background:#fff}[data-theme=swiss] .c-chips button{border:1.5px solid var(--ink);border-radius:0;background:var(--bg);color:var(--dim);font-weight:700}[data-theme=swiss] .c-chips button:hover{background:var(--acc2);color:#fff}[data-theme=swiss] .c-input{background:#fff}[data-theme=swiss] .c-input>span{font-family:var(--f-display);color:var(--acc2)}[data-theme=swiss] .c-input input{color:var(--ink);font-weight:600}[data-theme=swiss] .c-input input::-moz-placeholder{color:var(--dim)}[data-theme=swiss] .c-input input::placeholder{color:var(--dim)}[data-theme=swiss] .c-input button{background:var(--ink);border-radius:0;color:#fff;font-weight:700}[data-theme=swiss] .c-input button:hover{background:var(--acc2)}[data-theme=swiss] .cur{border:2.5px solid var(--ink);mix-blend-mode:difference}
