.slvh{--slvh-ink:var(--ink,#11111b);--slvh-text:var(--text,#11111b);--slvh-border:var(--border,3px solid #11111b);--slvh-gutter:clamp(14px, 1.6vw, 26px);--slvh-foot:44px;z-index:1;height:100dvh;padding:var(--slvh-gutter) var(--slvh-gutter) calc(var(--slvh-gutter) + 6px + var(--dock-space,0px));flex-direction:column;gap:clamp(14px,1.6vw,22px);display:flex;position:relative}.slvh[data-locked=true]{touch-action:none;overscroll-behavior:none}.slvh-card{min-height:0;padding:clamp(56px, 5vw, 80px) clamp(45px, 4vw, 72px) calc(var(--slvh-foot) + clamp(36px, 3.5vw, 56px));border:var(--slvh-border);background:var(--card,#fffdf5);box-shadow:var(--shadow,7px 7px 0 #11111b);border-radius:18px;flex:1;grid-template-columns:clamp(235px,19vw,340px) minmax(0,780px);justify-content:center;align-items:center;column-gap:clamp(40px,4.5vw,96px);display:grid;position:relative;overflow:hidden}.slvh-video{z-index:0;object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.slvh[data-video-ready=true] .slvh-video{opacity:.35}.slvh-grid{z-index:0;background-image:radial-gradient(color-mix(in srgb, var(--slvh-text) 22%, transparent) 1.3px, transparent 1.6px);pointer-events:none;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 70% at 62% 45%,#000 15%,#0000 72%);mask-image:radial-gradient(75% 70% at 62% 45%,#000 15%,#0000 72%)}.slvh-sun{right:clamp(-60px,-3vw,-40px);bottom:calc(var(--slvh-foot) - 70px);z-index:0;aspect-ratio:1;border:var(--slvh-border);background:var(--yellow,#ffdc59);will-change:transform;border-radius:50%;width:clamp(175px,15vw,260px);position:absolute}.slvh-decor{z-index:0;pointer-events:none;position:absolute;inset:0}.slvh-shape{will-change:transform, opacity;display:block;position:absolute}.slvh-shape svg{width:100%;height:100%;animation:6s ease-in-out infinite slvh-float;display:block}.slvh-shape:before{content:"";animation:7s ease-in-out infinite slvh-float;position:absolute;inset:0}.slvh-shape-star{width:clamp(40px,3.4vw,62px);height:clamp(40px,3.4vw,62px);top:13%;left:23.5%}.slvh-shape-star svg{fill:var(--purple,#a66bf0);stroke:var(--slvh-ink);stroke-width:2.5px;stroke-linejoin:round;filter:drop-shadow(3px 3px 0 var(--slvh-ink))}.slvh-shape-square{width:clamp(26px,2.2vw,38px);height:clamp(26px,2.2vw,38px);top:11%;right:31%}.slvh-shape-square:before{border:2.5px solid var(--slvh-ink);background:var(--blue,#7fd1ef);box-shadow:3px 3px 0 var(--slvh-ink);border-radius:6px;rotate:18deg}.slvh-shape-ring{left:58%;bottom:calc(var(--slvh-foot) + 36px);width:clamp(34px,3vw,52px);height:clamp(34px,3vw,52px)}.slvh-shape-ring:before{border:3px solid var(--slvh-ink);background:var(--mint,#81e3bf);box-shadow:inset -6px -6px 0 #11111b1f, 3px 3px 0 var(--slvh-ink);border-radius:50%;animation-duration:8s}.slvh-shape-squiggle{left:5%;bottom:calc(var(--slvh-foot) + 30px);width:clamp(70px,6vw,108px);height:clamp(20px,1.6vw,28px)}.slvh-shape-squiggle svg{fill:none;stroke:var(--pink,#f4a7ad);stroke-width:5px;stroke-linecap:round;filter:drop-shadow(2px 2px 0 var(--slvh-ink));animation-duration:5s}.slvh-shape-pill{right:22%;bottom:calc(var(--slvh-foot) + 10%);width:clamp(56px,4.8vw,84px);height:clamp(22px,1.8vw,30px)}.slvh-shape-pill:before{border:2.5px solid var(--slvh-ink);background:var(--pink,#f4a7ad);box-shadow:3px 3px 0 var(--slvh-ink);border-radius:999px;animation-duration:9s;rotate:-14deg}.slvh-shape-plus{color:var(--purple,#a66bf0);text-shadow:2px 2px 0 var(--slvh-ink);font:500 clamp(28px,2.4vw,42px)/1 DM Mono,monospace;top:8%;left:46%}@keyframes slvh-float{0%,to{translate:0}50%{translate:0 -9px}}.slvh-chip{z-index:3;border:2px solid var(--slvh-ink);background:var(--card,#fffdf5);box-shadow:3px 3px 0 var(--slvh-ink);color:var(--slvh-text);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:9px;padding:5px 5px 5px 12px;font:500 11px DM Mono,monospace;display:flex;position:absolute;top:clamp(16px,1.6vw,24px);left:clamp(18px,1.8vw,28px)}.slvh-chip-dot{background:#25b37f;border-radius:50%;width:8px;height:8px;position:relative}.slvh-chip-dot:after{content:"";border:2px solid #25b37f;border-radius:50%;animation:1.8s ease-out infinite slvh-ping;position:absolute;inset:-4px}.slvh-chip-percent{border:1.5px solid var(--slvh-ink);background:var(--purple,#a66bf0);min-width:48px;color:var(--slvh-ink);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:center;border-radius:999px;padding:3px 8px}@keyframes slvh-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.slvh-portrait{z-index:1;will-change:transform, opacity;justify-self:center;position:relative}.slvh-default-portrait{aspect-ratio:235/280;object-fit:cover;border:var(--slvh-border);width:100%;box-shadow:8px 8px 0 var(--purple,#a66bf0);border-radius:15px;display:block}.slvh-copy{z-index:1;min-width:0;position:relative}.slvh-head{flex-direction:column;align-items:flex-start;display:flex}.slvh-eyebrow{color:var(--muted,#5b5d6a);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0;font:500 clamp(13px,.9vw,15px)/1.3 DM Mono,monospace;display:flex}.slvh-eyebrow:before{content:"";background:var(--purple,#a66bf0);border-radius:3px;width:28px;height:3px}.slvh-title{z-index:2;transform-origin:50%;margin:12px 0 20px;font-size:clamp(56px,6vw,116px);display:inline-block;position:relative}.slvh-badges{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}.slvh-badges>*{will-change:transform, opacity;display:inline-block}.slvh-badge{border:2px solid var(--slvh-ink);background:var(--mint,#81e3bf);box-shadow:3px 3px 0 var(--slvh-ink);color:var(--slvh-ink);border-radius:999px;padding:7px 11px;font:500 11px DM Mono,monospace}.slvh-description{max-width:700px;color:var(--muted,#5b5d6a);font-size:clamp(15px,1.05vw,18px);line-height:1.75}.slvh-description p{margin:0}.slvh-meta{flex-wrap:wrap;gap:10px;margin-top:20px;font:400 13px DM Mono,monospace;display:flex}.slvh-meta>*{border:1.5px dashed color-mix(in srgb, var(--slvh-text) 45%, transparent);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;display:flex}.slvh-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.slvh-aside{z-index:1;will-change:transform, opacity;display:none;position:relative}.slvh-sticker{z-index:2;border:2px solid var(--slvh-ink);background:var(--pink,#f4a7ad);box-shadow:4px 4px 0 var(--slvh-ink);color:var(--slvh-ink);text-align:center;will-change:transform, opacity;padding:11px 14px;font:500 clamp(11px,.8vw,13px)/1.4 DM Mono,monospace;position:absolute;top:clamp(26px,2.6vw,40px);right:clamp(24px,2.4vw,40px);rotate:7deg}.slvh-progress{z-index:3;border-top:var(--slvh-border);background:var(--paper,#fff8df);height:10px;position:absolute;bottom:0;left:0;right:0}.slvh-progress-fill{background:repeating-linear-gradient(-45deg, var(--purple,#a66bf0) 0 10px, var(--purple-soft,#c7a7f1) 10px 20px);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.slvh-hint{z-index:4;border:2px solid var(--slvh-ink);box-shadow:3px 3px 0 var(--slvh-ink);color:var(--slvh-ink);letter-spacing:.25em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font:500 11px DM Mono,monospace;transition:opacity .35s,transform .35s;display:flex;position:absolute;left:50%;transform:translate(-50%,8px)}.slvh-hint svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:11px;height:14px;animation:1.6s ease-in-out infinite slvh-bounce}.slvh-hint-start{top:var(--slvh-hint-top,62%);box-shadow:4px 4px 0 var(--slvh-ink);background:#fff;border-radius:12px;padding:10px 18px;font-size:12px}.slvh-hint-start svg{stroke:var(--purple,#a66bf0);stroke-width:2.4px}.slvh-hint-end{background:var(--mint,#81e3bf);bottom:22px}.slvh[data-locked=true][data-phase=start] .slvh-hint-start,.slvh[data-locked=true][data-phase=end] .slvh-hint-end{opacity:1;transform:translate(-50%)}@keyframes slvh-bounce{0%,to{opacity:.55;transform:translateY(-1px)}50%{opacity:1;transform:translateY(3px)}}@media (width>=1281px){.slvh-card{padding-right:calc(clamp(45px,4vw,72px) + 70px)}.slvh-sticker{right:calc(clamp(24px,2.4vw,40px) + 70px)}}@media (width>=1440px){.slvh-card{grid-template-columns:clamp(250px,18vw,340px) minmax(0,760px) clamp(250px,18vw,330px)}.slvh-aside{display:block}}@media (width<=900px){.slvh-card{padding:60px 30px calc(var(--slvh-foot) + 34px);grid-template-columns:200px minmax(0,1fr);column-gap:32px}.slvh-shape-square,.slvh-shape-plus{display:none}}@media (width<=680px){.slvh{--slvh-foot:40px}.slvh-card{padding:56px 18px calc(var(--slvh-foot) + 26px);grid-template-columns:84px minmax(0,1fr);grid-template-areas:"portrait head""badges badges""description description""meta meta""actions actions";align-content:center;gap:14px 16px}.slvh-copy{display:contents}.slvh-portrait{grid-area:portrait;align-self:center}.slvh-head{grid-area:head}.slvh-eyebrow{font-size:11px}.slvh-eyebrow:before{width:16px}.slvh-title{margin:8px 0 0}.slvh-badges{grid-area:badges;gap:8px;margin:0}.slvh-description{grid-area:description;font-size:13px;line-height:1.65}.slvh-meta{grid-area:meta;gap:8px;margin:0;font-size:11px}.slvh-meta>*{padding:4px 10px}.slvh-actions{grid-area:actions;margin:0}.slvh-sticker{display:none}.slvh-chip{font-size:10px;top:14px;left:14px}.slvh-sun{width:120px;right:-34px;bottom:calc(var(--slvh-foot) - 50px)}.slvh-shape-ring,.slvh-shape-pill,.slvh-shape-squiggle{display:none}.slvh-shape-star{width:34px;height:34px;top:12px;left:auto;right:16px}.slvh-default-portrait{width:84px;box-shadow:4px 4px 0 var(--purple,#a66bf0)}}@media (height<=760px) and (width>=681px){.slvh-card{padding-top:52px;padding-bottom:calc(var(--slvh-foot) + 26px)}.slvh-title{margin-block:8px 14px;font-size:clamp(48px,5vw,84px)}.slvh-meta{display:none}}@media (height<=720px) and (width<=680px){.slvh-meta{display:none}}@media (prefers-reduced-motion:reduce){.slvh-hint svg,.slvh-shape svg,.slvh-shape:before,.slvh-chip-dot:after{animation:none}}:root{--ink:#11111b;--paper:#fff8df;--card:#fffdf5;--purple:#a66bf0;--purple-soft:#c7a7f1;--mint:#81e3bf;--blue:#7fd1ef;--pink:#f4a7ad;--yellow:#ffdc59;--muted:#5b5d6a;--text:var(--ink);--border:3px solid var(--ink);--dock-space:0px;--shadow:7px 7px 0 var(--ink);--gutter:clamp(14px, 1.6vw, 26px);--section-gap:clamp(78px, 6.5vw, 132px);--dot-grid:radial-gradient(color-mix(in srgb, var(--text) 20%, transparent) 1.3px, transparent 1.6px)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101018;--card:#242433;--muted:#b9b8c7;--text:#f7f3e8}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;background:var(--paper);scroll-padding-top:24px}body{color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Noto Sans Thai,Tahoma,sans-serif;transition:color .25s,background-color .25s}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.shader-background{z-index:0;background:var(--paper);pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.shader-background-static{background-color:var(--paper);background-image:radial-gradient(at 8% 18%,#81e3bfb8 0 12%,#0000 36%),radial-gradient(at 88% 8%,#a66bf094 0 10%,#0000 34%),radial-gradient(at 43% 48%,#ffdc59ad 0 13%,#0000 38%),radial-gradient(at 93% 62%,#7fd1ef8f 0 11%,#0000 34%),radial-gradient(at 22% 88%,#f4a7ad80 0 10%,#0000 32%),linear-gradient(135deg,#fff8df 0%,#d5f1cf 48%,#fff0bf 100%)}:root[data-theme=dark] .shader-background{filter:brightness(.28)saturate(.82)contrast(1.12)}.page-shell{z-index:1;width:min(1760px, calc(100% - 2 * var(--gutter)));margin:0 auto 72px;position:relative}@media (width>=1281px){.page-shell{width:min(1760px,100% - 192px)}}.hard-card{border:var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:15px}.custom-cursor{z-index:1000;opacity:0;pointer-events:none;will-change:transform;width:0;height:0;transition:opacity .2s;position:fixed;top:0;left:0}.custom-cursor.is-visible{opacity:1}.cursor-ring,.cursor-dot{border:2px solid var(--ink);border-radius:50%;transition:width .18s,height .18s,background .18s,box-shadow .18s,transform .12s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{background:#ffdc596b;width:30px;height:30px;box-shadow:3px 3px #11111be6}.cursor-dot{background:var(--purple);width:7px;height:7px}.custom-cursor.is-hovering .cursor-ring{width:47px;height:47px;box-shadow:4px 4px 0 var(--ink);background:#81e3bfa6}.custom-cursor.is-hovering .cursor-dot{background:var(--pink);width:10px;height:10px}.custom-cursor.is-pressed .cursor-ring{background:var(--yellow);transform:translate(-50%,-50%)scale(.72)}@media (hover:hover) and (pointer:fine){.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button{cursor:none}}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px;padding:10px 16px;font-family:DM Mono,monospace;font-weight:500;display:grid;position:relative}.brand,.topbar nav,.status-pill,.button{align-items:center;display:flex}.brand{gap:10px;width:max-content;font-size:14px}.terminal-icon{border:2px solid var(--ink);background:var(--purple);width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-items:center;font:500 12px DM Mono,monospace;display:grid}.topbar nav{gap:30px;font-size:15px}.topbar nav a{position:relative}.topbar nav a:after{content:"";background:var(--ink);width:0;height:2px;transition:width .2s;position:absolute;bottom:-5px;left:0}.topbar nav a:hover:after{width:100%}.topbar nav a.active{border:1.5px solid var(--ink);background:var(--blue);box-shadow:2px 2px 0 var(--ink);border-radius:7px;margin:-5px -8px;padding:5px 8px}.topbar nav a.active:after{display:none}.status-pill{border:2px solid var(--ink);background:var(--mint);box-shadow:3px 3px 0 var(--ink);text-transform:uppercase;border-radius:999px;justify-self:end;gap:9px;padding:8px 13px;font-size:11px}.status-pill span{background:#087d62;border-radius:50%;width:8px;height:8px}.header-actions{justify-self:end;align-items:center;gap:13px;display:flex}.language-switch{border:2px solid var(--ink);background:var(--card);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:3px;display:flex}.language-switch button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:34px;height:27px;padding:0 7px;font:500 11px DM Mono,monospace;transition:background .15s,color .15s}.language-switch button.active{background:var(--purple);color:var(--ink)}.language-switch button:not(.active):hover{background:var(--yellow)}.menu-toggle{cursor:pointer;background:0 0;border:0;font-family:DM Mono,monospace;display:none}.portrait-wrap{--portrait-rx:0deg;--portrait-ry:0deg;--portrait-shift-x:0px;--portrait-shift-y:0px;--shine-x:50%;--shine-y:50%;z-index:1;width:235px;height:280px;transform:perspective(850px) rotateX(var(--portrait-rx)) rotateY(var(--portrait-ry));transform-style:preserve-3d;cursor:pointer;background:0 0;border:0;padding:0;transition:transform .18s ease-out;position:relative}.portrait-backdrop{transform:translate3d(var(--portrait-shift-x), var(--portrait-shift-y), -18px) rotate(-4deg);border:var(--border);background:var(--purple);border-radius:15px;transition:transform .2s ease-out,background .2s;position:absolute;inset:0}.portrait{object-fit:cover;object-position:50% 34%;border:var(--border);filter:saturate(.95)contrast(1.03);border-radius:15px;width:100%;height:100%;transition:transform .25s,filter .25s;animation:.28s portrait-change;position:absolute;inset:0;transform:translateZ(16px)scale(1)}@keyframes portrait-change{0%{opacity:.45}to{opacity:1}}.portrait-shine{z-index:2;background:radial-gradient(circle at var(--shine-x) var(--shine-y), #ffffff6b, #ffffff14 25%, transparent 52%);opacity:0;mix-blend-mode:soft-light;pointer-events:none;border-radius:12px;transition:opacity .2s;position:absolute;inset:3px;transform:translateZ(24px)}.portrait-counter{z-index:4;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);pointer-events:none;background:#fffdf5e6;border-radius:999px;padding:6px 9px;font:500 11px DM Mono,monospace;position:absolute;bottom:11px;left:11px;transform:translateZ(29px)}.portrait-wrap.is-interacting .portrait{filter:saturate(1.08)contrast(1.06);transform:translateZ(22px)scale(1.025)}.portrait-wrap.is-interacting .portrait-backdrop{background:var(--blue)}.portrait-wrap.is-interacting .portrait-shine{opacity:1}.slvh .portrait-wrap{aspect-ratio:235/280;width:clamp(235px,19vw,330px);height:auto}.slvh-badges .role-pill{padding:clamp(7px,.5vw,9px) clamp(11px,.8vw,15px);font-size:clamp(11px,.78vw,14px)}.hero-terminal{border:var(--border);background:var(--ink);color:#f7f3e8;box-shadow:7px 7px 0 var(--purple);border-radius:14px;font:400 clamp(12px,.82vw,14px)/1.75 DM Mono,monospace;transition:rotate .25s;overflow:hidden;rotate:2.5deg}.hero-terminal:hover{rotate:0deg}.hero-terminal-bar{border-bottom:3px solid var(--ink);background:var(--card);color:var(--text);align-items:center;gap:7px;padding:10px 14px;display:flex}.hero-terminal-bar span{border:1.5px solid var(--ink);background:var(--pink);border-radius:50%;width:11px;height:11px}.hero-terminal-bar span:nth-child(2){background:var(--yellow)}.hero-terminal-bar span:nth-child(3){background:var(--mint)}.hero-terminal-bar strong{opacity:.75;margin-left:auto;font-size:11px;font-weight:500}.hero-terminal-body{padding:14px 18px 8px}.hero-terminal-body p{white-space:nowrap;text-overflow:ellipsis;color:#f7f3e8b8;margin:0;overflow:hidden}.hero-terminal-body p.is-accent{color:var(--mint)}.hero-terminal-prompt{color:var(--yellow);margin-right:9px}.hero-terminal-body p:has(.hero-terminal-prompt){color:#f7f3e8}.hero-terminal-caret{vertical-align:text-bottom;background:var(--purple);width:9px;height:1.05em;animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.hero-terminal-stats{grid-template-columns:1fr 1fr;gap:10px;padding:8px 14px 14px;display:grid}.hero-terminal-stat{color:var(--ink);border:2px solid #f7f3e8;border-radius:10px;flex-direction:column;padding:8px 10px;font-size:10px;line-height:1.3;display:flex}.hero-terminal-stat strong{font:800 clamp(20px,1.5vw,26px)/1.1 Manrope,sans-serif}.hero-terminal-stat.stat-yellow{background:var(--yellow)}.hero-terminal-stat.stat-mint{background:var(--mint)}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font:500 13px/1.3 DM Mono,monospace}h1{letter-spacing:-.055em;margin:10px 0 17px;font-size:clamp(48px,6.3vw,74px);line-height:.91}h1 span{color:var(--purple);letter-spacing:-.035em;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink)}.role-pill{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:7px 11px;font:500 11px DM Mono,monospace}.role-yellow{background:var(--yellow)}.role-mint{background:var(--mint)}.role-blue{background:var(--blue)}.button{border:2px solid var(--ink);background:var(--card);min-height:clamp(46px,3.2vw,56px);box-shadow:5px 5px 0 var(--ink);border-radius:11px;justify-content:center;gap:9px;padding:0 clamp(19px,1.4vw,26px);font-size:clamp(13px,.88vw,16px);font-weight:800;transition:transform .15s,box-shadow .15s}.button:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.button-primary{background:var(--purple)}.stats{grid-template-columns:repeat(4,1fr);gap:clamp(20px,1.6vw,30px);margin:clamp(30px,2.4vw,44px) 0 0;display:grid}.stat{border:var(--border);min-height:clamp(92px,7.5vw,150px);box-shadow:6px 6px 0 var(--ink);border-radius:15px;padding:clamp(16px,1.3vw,26px) clamp(18px,1.5vw,30px);position:relative;overflow:hidden}.stat:after{content:"";aspect-ratio:1;border:3px solid var(--ink);background:#fffdf559;border-radius:50%;width:clamp(60px,5vw,96px);position:absolute;bottom:-18px;right:-18px}.stat strong,.stat span{font-family:DM Mono,monospace;display:block}.stat strong{font-size:clamp(25px,2.8vw,54px);line-height:1}.stat span{text-transform:uppercase;margin-top:clamp(10px,.8vw,14px);font-size:clamp(12px,.8vw,15px);line-height:1.35}.stat-yellow,.tag-yellow,.visual-yellow,.sheet-yellow{background:var(--yellow)}.stat-mint,.tag-mint,.visual-mint,.sheet-mint{background:var(--mint)}.stat-blue,.tag-blue,.visual-blue,.sheet-blue{background:var(--blue)}.stat-pink,.tag-pink,.visual-pink,.sheet-pink{background:var(--pink)}.tag-purple,.visual-purple,.sheet-purple{background:var(--purple-soft)}.section-block{margin-top:var(--section-gap)}.section-heading{border:var(--border);background-color:var(--card);background-image:var(--dot-grid);box-shadow:var(--shadow);background-size:26px 26px;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(25px,2vw,38px);padding:clamp(18px,1.6vw,30px) clamp(20px,2.2vw,40px);display:flex}.section-heading p,.tech-heading .eyebrow,.contact .eyebrow{align-items:center;gap:10px;display:flex}.section-heading p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 clamp(7px,.6vw,12px);font:500 clamp(13px,.85vw,15px) DM Mono,monospace}.section-heading p:before,.tech-heading .eyebrow:before,.contact .eyebrow:before{content:"";background:var(--purple);border-radius:3px;width:28px;height:3px}.tech-heading .eyebrow{justify-content:center}.contact .eyebrow:before{background:var(--ink)}.section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(28px,3.3vw,64px);line-height:1.05}.section-heading>span{color:var(--purple);letter-spacing:-.05em;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);font:800 clamp(44px,4.4vw,88px)/1 Manrope,sans-serif}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,1.8vw,34px);display:grid}@media (width>=1281px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{transition:transform .2s;overflow:hidden}.project-card:hover{transform:translateY(-4px)}.project-visual{border-bottom:var(--border);background-image:radial-gradient(#11111b29 1.3px,#0000 1.6px);background-size:22px 22px;height:clamp(165px,11.5vw,230px);padding:22px;position:relative;overflow:hidden}.project-visual>span{color:#11111b1f;letter-spacing:-.06em;font:800 clamp(88px,6.5vw,130px)/1 Manrope,sans-serif;position:absolute;top:4px;right:15px}.window-mockup{border:3px solid var(--ink);background:var(--card);border-radius:11px 11px 0 0;height:clamp(116px,8vw,160px);padding:14px;position:absolute;bottom:-13px;left:clamp(32px,2.4vw,48px);right:clamp(32px,2.4vw,48px);box-shadow:6px 6px #11111b40}.window-mockup i{border:1.5px solid var(--ink);background:var(--pink);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.window-mockup i:nth-child(2){background:var(--yellow)}.window-mockup i:nth-child(3){background:var(--mint)}.window-mockup b{border:2px dashed var(--ink);text-align:center;place-items:center;height:clamp(62px,4.6vw,96px);margin-top:8px;font:500 clamp(13px,.95vw,17px) DM Mono,monospace;display:grid}.project-body{flex-direction:column;min-height:clamp(210px,14vw,270px);padding:clamp(22px,1.6vw,32px);display:flex}.project-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-head h3{letter-spacing:-.025em;margin:0;font-size:clamp(18px,1.4vw,26px)}.tag{border:2px solid var(--ink);width:max-content;box-shadow:3px 3px 0 var(--ink);white-space:nowrap;border-radius:999px;padding:7px 10px;font:500 clamp(11px,.72vw,13px)/1 DM Mono,monospace}.project-body>p{color:var(--muted);margin:16px 0 20px;font-size:clamp(14px,.95vw,17px);line-height:1.75}.project-links{gap:20px;margin-top:auto;font:500 clamp(12px,.8vw,14px) DM Mono,monospace;display:flex}.project-links a{border-bottom:2px solid var(--ink);padding-bottom:3px}.project-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:28px;display:flex}.project-pagination button{border:2px solid var(--ink);background:var(--card);min-height:clamp(42px,2.8vw,50px);box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:10px;padding:0 clamp(17px,1.2vw,22px);font:500 clamp(12px,.8vw,14px) DM Mono,monospace;transition:transform .15s,box-shadow .15s,background .15s}.project-pagination button:hover:not(:disabled),.project-pagination button.active{background:var(--yellow);box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.project-pagination button:disabled{opacity:.42;cursor:not-allowed}.project-page-numbers{gap:8px;display:flex}.project-page-numbers button{width:clamp(42px,2.8vw,50px);padding:0}.tech-section{margin-top:var(--section-gap);background:var(--card);padding:0 0 34px;overflow:hidden}.tech-heading{text-align:center;background-image:var(--dot-grid);background-size:26px 26px;padding:clamp(35px,3vw,60px) 30px clamp(29px,2.4vw,46px)}.tech-heading h2{letter-spacing:-.04em;margin:12px 0;font-size:clamp(27px,3.2vw,60px);line-height:1.15}.tech-heading>p:last-child{color:var(--muted);margin:0;font-size:clamp(13px,.9vw,16px)}.marquee-viewport{border-block:2px solid var(--ink);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;position:relative;overflow:hidden}.marquee-viewport.is-dragging{cursor:grabbing}.marquee-pattern{opacity:.1;background-image:repeating-linear-gradient(315deg, var(--ink) 0, var(--ink) 1px, transparent 0, transparent 50%);pointer-events:none;background-size:10px 10px;position:absolute;inset:0}.marquee-fade{z-index:3;pointer-events:none;width:90px;position:absolute;top:0;bottom:0}.fade-left{background:linear-gradient(90deg, var(--card), transparent);left:0}.fade-right{background:linear-gradient(-90deg, var(--card), transparent);right:0}.tech-rows{z-index:2;flex-direction:column;gap:clamp(16px,1.2vw,24px);padding:clamp(25px,2vw,40px) 0;display:flex;position:relative}.tech-track-dragger{width:max-content;transform:translateX(var(--tech-drag-offset,0px))}.tech-track{will-change:transform;gap:clamp(16px,1.2vw,24px);width:max-content;animation:38s linear infinite tech-scroll-left;display:flex}.tech-track.track-2{animation-name:tech-scroll-right;animation-duration:44s;transform:translate(-25%)}.tech-track.track-3{animation-duration:41s}.tech-capsule{border:2px solid var(--ink);background:var(--card);min-width:clamp(200px,14vw,280px);box-shadow:3px 3px 0 var(--ink);text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:clamp(11px,.8vw,15px);padding:clamp(7px,.5vw,10px) 22px clamp(7px,.5vw,10px) clamp(8px,.55vw,11px);transition:transform .15s,background .15s;display:flex}.marquee-viewport.is-dragging .tech-track{animation-play-state:paused}.marquee-viewport.is-dragging .tech-capsule{pointer-events:none}.tech-logo{border:2px solid var(--ink);background:#fff;border-radius:50%;flex:0 0 clamp(45px,3.3vw,62px);place-items:center;width:clamp(45px,3.3vw,62px);height:clamp(45px,3.3vw,62px);display:grid;overflow:hidden}.tech-logo img{object-fit:contain;width:64%;height:64%}.tech-mark{background:var(--ink);color:#fffdf5;letter-spacing:-.04em;border-radius:8px;place-items:center;width:31px;height:31px;font:500 10px DM Mono,monospace;display:grid}.tech-capsule>span:last-child{flex-direction:column;gap:3px;display:flex}.tech-capsule strong{font-size:clamp(14px,1vw,18px)}.tech-capsule small{color:var(--muted);white-space:nowrap;font:400 clamp(11px,.72vw,13px) DM Mono,monospace}@keyframes tech-scroll-left{0%{transform:translate(0)}to{transform:translate(-25%)}}@keyframes tech-scroll-right{0%{transform:translate(-25%)}to{transform:translate(0)}}.tech-modal{z-index:100;padding:20px 20px calc(20px + var(--dock-space));place-items:center;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;background:#11111b7a;border:0;width:100%;height:100%;position:absolute;inset:0}.tech-modal-card{z-index:1;width:min(460px,100%);max-height:calc(100vh - 40px - var(--dock-space));max-height:calc(100dvh - 40px - var(--dock-space));text-align:center;background:var(--ink);color:#fffdf5;box-shadow:9px 9px 0 var(--purple);padding:38px;position:relative;overflow:auto}.modal-close{color:#fffdf5;cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;font-size:26px;display:grid;position:absolute;top:11px;right:14px}.modal-logo{border:3px solid var(--ink);width:74px;height:74px;box-shadow:4px 4px 0 var(--purple);background:#fff;border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.modal-logo img{object-fit:contain;width:45px;height:45px}.modal-logo .tech-mark{border-radius:12px;width:47px;height:47px;font-size:14px}.tech-modal-card>p{color:var(--mint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font:500 12px DM Mono,monospace}.tech-modal-card h3{margin:0;font-size:30px}.tech-modal-card blockquote{color:#d6d5dc;margin:22px 0;font-size:14px;line-height:1.75}.learning-badge{border:1.5px solid var(--mint);color:var(--mint);text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font:500 11px DM Mono,monospace;display:inline-flex}.learning-badge i{background:var(--mint);border-radius:50%;width:7px;height:7px}.certificate-grid{grid-template-columns:repeat(3,1fr);gap:clamp(22px,1.8vw,34px);display:grid}.certificate-card{padding:clamp(17px,1.2vw,24px);transition:transform .2s}.certificate-card.is-visible:hover{transform:translateY(-5px)}.certificate-sheet{border:2px solid var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;height:190px;display:flex;position:relative}.certificate-image-link{border:2px solid var(--ink);cursor:pointer;background:#080808;border-radius:10px;width:100%;height:clamp(190px,15vw,310px);padding:0;display:block;position:relative;overflow:hidden}.certificate-image-link img{object-fit:contain;width:100%;height:100%;transition:transform .25s,opacity .25s;display:block}.certificate-image-link span{border:1.5px solid var(--ink);background:var(--yellow);box-shadow:2px 2px 0 var(--ink);border-radius:7px;padding:7px 10px;font:500 clamp(11px,.72vw,13px) DM Mono,monospace;position:absolute;bottom:9px;right:9px}.certificate-image-link:hover img{opacity:.82;transform:scale(1.025)}.certificate-modal{z-index:120;padding:22px 22px calc(22px + var(--dock-space));place-items:center;display:grid;position:fixed;inset:0}.certificate-modal-card{z-index:1;width:min(1080px,100%);max-height:calc(100vh - 44px - var(--dock-space));max-height:calc(100dvh - 44px - var(--dock-space));background:var(--card);box-shadow:10px 10px 0 var(--ink);padding:24px;position:relative;overflow:auto}.certificate-modal-content{grid-template-columns:minmax(0,1.75fr) minmax(240px,.65fr);gap:24px;display:grid}.certificate-viewer{border:2px solid var(--ink);background:#080808;place-items:center;min-height:510px;display:grid}.certificate-viewer img{object-fit:contain;width:100%;height:100%;max-height:70vh;display:block}.certificate-modal-details{align-self:center}.certificate-modal-details h4{margin:19px 0 5px;font-size:23px;line-height:1.3}.certificate-modal-details>p{color:var(--muted);margin:0;font-size:14px}.certificate-modal-details dl{border-top:2px solid var(--ink);margin:25px 0 0}.certificate-modal-details dl>div{border-bottom:1.5px solid var(--ink);grid-template-columns:85px 1fr;gap:10px;padding:11px 0;display:grid}.certificate-modal-details dt{color:var(--muted);text-transform:uppercase;font:500 11px DM Mono,monospace}.certificate-modal-details dd{margin:0;font-size:13px;font-weight:700}.certificate-sheet:before{content:"";border:1.5px dashed var(--ink);position:absolute;inset:9px}.certificate-sheet b{letter-spacing:.15em;font:500 12px DM Mono,monospace;position:relative}.certificate-sheet i{background:var(--ink);opacity:.35;width:52%;height:2px;display:block;position:relative}.award-mark{border:2px solid var(--ink);background:var(--card);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:relative}.award-mark svg{width:25px;height:25px}.certificate-card>div:last-child{padding:clamp(16px,1.2vw,22px) 2px 2px clamp(45px,3vw,60px);position:relative}.item-index{color:var(--purple);-webkit-text-stroke:1px var(--ink);font:800 clamp(25px,1.9vw,36px)/1 Manrope,sans-serif;position:absolute;top:15px;left:0}.certificate-card h3{margin:0;font-size:clamp(16px,1.15vw,21px);line-height:1.35}.certificate-card p{color:var(--muted);margin:6px 0 0;font:400 clamp(12px,.8vw,14px)/1.5 DM Mono,monospace}.asset-note{color:var(--muted);align-items:center;gap:8px;margin:19px 0 0;font-size:clamp(13px,.85vw,15px);line-height:1.55;display:flex}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,1.8vw,34px);display:grid}.gallery-album-card{flex-direction:column;padding:clamp(14px,1vw,20px);display:flex;overflow:hidden}.album-cover{aspect-ratio:16/8;border:2px solid var(--ink);background:var(--ink);cursor:pointer;border-radius:10px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.album-cover>img{object-fit:cover;width:100%;height:100%;transition:transform .35s,opacity .35s;display:block}.album-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#11111b85);position:absolute;inset:0}.album-cover:hover>img{opacity:.9;transform:scale(1.025)}.album-count,.album-open{z-index:1;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font:500 clamp(11px,.75vw,13px) DM Mono,monospace;display:flex;position:absolute}.album-count{background:var(--blue);top:14px;left:14px}.album-year{z-index:1;border:2px solid var(--ink);background:var(--purple);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:8px 11px;font:500 12px DM Mono,monospace;position:absolute;top:14px;right:14px}.album-open{background:var(--yellow);bottom:14px;right:14px}.album-summary{flex-direction:column;flex:1;align-items:stretch;padding:clamp(22px,1.6vw,30px) 18px 16px clamp(62px,4.2vw,82px);display:flex;position:relative}.album-summary>.item-index{top:22px;left:8px}.album-summary>div:first-of-type{min-width:0}.album-summary p{color:var(--purple);overflow-wrap:anywhere;margin:0 0 7px;font:500 clamp(11px,.75vw,13px)/1.45 DM Mono,monospace}.album-summary h3{letter-spacing:-.025em;margin:0;font-size:clamp(21px,1.9vw,36px);line-height:1.2}.album-summary>div>span{color:var(--muted);margin-top:8px;font-size:clamp(13px,.9vw,16px);line-height:1.55;display:block}.album-role{color:var(--ink);border-top:1.5px solid #11111b38;margin-top:13px;padding-top:11px;font:500 clamp(11px,.75vw,13px)/1.55 DM Mono,monospace;display:block}.album-actions{flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:17px;display:flex}.album-actions .button{white-space:nowrap;min-height:clamp(40px,2.8vw,50px);padding-inline:clamp(13px,1vw,20px)}.album-modal{z-index:120;padding:22px 22px calc(22px + var(--dock-space));place-items:center;display:grid;position:fixed;inset:0}.album-modal-card{z-index:1;width:min(1040px,100%);max-height:calc(100vh - 44px - var(--dock-space));max-height:calc(100dvh - 44px - var(--dock-space));background:var(--card);box-shadow:10px 10px 0 var(--ink);padding:24px;position:relative;overflow:auto}.album-modal-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.album-modal-head p{color:var(--muted);letter-spacing:.1em;margin:0 0 4px;font:500 11px DM Mono,monospace}.album-modal-head h3{margin:0;font-size:27px}.album-modal-close{border:2px solid var(--ink);background:var(--pink);width:40px;height:40px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:50%;flex:0 0 40px;place-items:center;font-size:27px;display:grid}.album-modal-content{grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);gap:22px;display:grid}.album-viewer{border:2px solid var(--ink);background:#080808;place-items:center;min-height:500px;display:grid;position:relative;overflow:hidden}.album-viewer img{object-fit:contain;width:100%;height:100%;max-height:68vh;display:block}.album-viewer>span{border:1.5px solid var(--ink);background:var(--card);border-radius:999px;padding:7px 10px;font:500 11px DM Mono,monospace;position:absolute;bottom:12px;left:12px}.album-details{align-self:center}.album-details h4{margin:18px 0 8px;font-size:22px;line-height:1.3}.album-details>p{color:var(--muted);margin:0;font-size:14px}.album-project-details{border-top:2px solid var(--ink);margin:20px 0 0}.album-project-details>div{border-bottom:1.5px solid var(--ink);padding:11px 0}.album-project-details dt{color:var(--purple);text-transform:uppercase;margin-bottom:4px;font:500 11px DM Mono,monospace}.album-project-details dd{margin:0;font-size:13px;font-weight:700;line-height:1.55}.album-website{background:var(--yellow);width:max-content;min-height:40px;margin-top:16px}.album-thumbnails{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin-top:25px;display:grid}.album-thumbnails button{aspect-ratio:3/2;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:7px;padding:3px}.album-thumbnails button.active{border-color:var(--ink);background:var(--blue);box-shadow:2px 2px 0 var(--ink)}.album-thumbnails img{object-fit:cover;border-radius:3px;width:100%;height:100%;display:block}.album-details .album-hint{margin-top:15px;font:400 11px/1.5 DM Mono,monospace}.contact{margin-top:var(--section-gap);background:var(--purple);grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:clamp(37px,4vw,80px) clamp(40px,4.4vw,90px);display:grid;position:relative;overflow:hidden}.contact:before{content:"";pointer-events:none;background-image:radial-gradient(#11111b33 1.3px,#0000 1.6px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000);mask-image:linear-gradient(90deg,#0000 20%,#000)}.contact:after{content:"MW";color:#11111b1a;font:800 clamp(120px,13vw,260px)/1 Manrope,sans-serif;position:absolute;bottom:-.3em;right:-10px}.contact>div:first-child{z-index:1;position:relative}.contact h2{letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(35px,3.8vw,72px);line-height:1.05}.contact .eyebrow{color:var(--ink)}.contact-copy{z-index:1;position:relative}.contact-copy p{margin:0 0 clamp(18px,1.4vw,26px);font-size:clamp(13px,1.05vw,19px);line-height:1.6}.social-links{flex-wrap:wrap;gap:12px;display:flex}.social-links .button{width:max-content;padding-inline:15px}footer{text-align:center;color:var(--muted);padding-top:clamp(32px,2.6vw,48px);font:400 clamp(12px,.8vw,14px) DM Mono,monospace}footer span{border:1.5px solid var(--ink);width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;margin-right:8px;display:inline-grid}.svg-sprite{width:0;height:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:4px;outline:3px solid #315bf5}[data-reveal]{opacity:0;transition:opacity .65s ease var(--reveal-delay,0s), transform .65s cubic-bezier(.2, .75, .25, 1) var(--reveal-delay,0s);transform:translateY(30px)scale(.985)}[data-reveal].is-visible{opacity:1;transform:none}.project-card.is-visible:hover{transform:translateY(-5px)}.floating-controls{z-index:50;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf5e6;border-radius:999px;flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.floating-controls nav,.floating-language{flex-direction:column;gap:6px;display:flex}.floating-controls a,.floating-language button{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font:500 11px DM Mono,monospace;transition:transform .15s,background .15s;display:grid;position:relative}.floating-language .theme-toggle{background:var(--yellow)}.floating-language .theme-toggle svg{width:16px;height:16px}.floating-controls a:hover,.floating-language button:hover{background:var(--yellow);transform:scale(1.08)}.floating-controls a.active,.floating-language button.active{border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.floating-controls a.active{background:var(--blue)}.floating-language button.active{background:var(--purple)}.floating-language button{border-radius:999px;height:28px}.control-divider{background:var(--ink);opacity:.25;width:24px;height:1.5px}.floating-controls a:before{content:attr(data-tooltip);border:1.5px solid var(--ink);background:var(--ink);color:var(--card);opacity:0;visibility:hidden;white-space:nowrap;pointer-events:none;border-radius:7px;padding:6px 9px;font-size:11px;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:calc(100% + 12px);transform:translate(5px,-50%)}.floating-controls a:hover:before,.floating-controls a:focus-visible:before{opacity:1;visibility:visible;transform:translateY(-50%)}:root[data-theme=dark] .section-heading,:root[data-theme=dark] .project-links a{border-color:var(--text)}:root[data-theme=dark] footer span{border-color:var(--text);color:var(--text)}:root[data-theme=dark] .floating-controls{background:#242433f0}:root[data-theme=dark] .floating-controls a,:root[data-theme=dark] .floating-language button{color:var(--text)}:root[data-theme=dark] .floating-controls a.active,:root[data-theme=dark] .floating-language button.active,:root[data-theme=dark] .floating-language .theme-toggle,:root[data-theme=dark] .floating-controls a:hover,:root[data-theme=dark] .floating-language button:hover,:root[data-theme=dark] .language-switch button:not(.active):hover{color:var(--ink)}:root[data-theme=dark] .control-divider{background:var(--text)}:root[data-theme=dark] .floating-controls a:before{color:#fffdf5}:root[data-theme=dark] .tag,:root[data-theme=dark] .stat,:root[data-theme=dark] .role-pill,:root[data-theme=dark] .status-pill,:root[data-theme=dark] .topbar nav a.active,:root[data-theme=dark] .certificate-sheet,:root[data-theme=dark] .certificate-image-link span,:root[data-theme=dark] .album-count,:root[data-theme=dark] .album-year,:root[data-theme=dark] .album-open,:root[data-theme=dark] .album-modal-close,:root[data-theme=dark] .album-website,:root[data-theme=dark] .terminal-icon,:root[data-theme=dark] .contact,:root[data-theme=dark] .button-primary,:root[data-theme=dark] .project-pagination button.active,:root[data-theme=dark] .project-pagination button:hover:not(:disabled),:root[data-theme=dark] .tech-capsule:hover{color:var(--ink)}:root[data-theme=dark] .album-role{color:var(--text);border-color:#f7f3e840}:root[data-theme=dark] .award-mark,:root[data-theme=dark] .album-viewer>span{color:var(--ink);background:#fffdf5}:root[data-theme=dark] .contact .social-links .button{color:var(--text)}:root[data-theme=dark] .certificate-modal-details dl,:root[data-theme=dark] .certificate-modal-details dl>div,:root[data-theme=dark] .album-project-details,:root[data-theme=dark] .album-project-details>div{border-color:#f7f3e873}@media (hover:hover) and (pointer:fine){.tech-rows:hover .tech-track,.tech-rows:focus-within .tech-track{animation-play-state:paused}.tech-capsule:hover{background:var(--yellow);transform:translateY(-2px)scale(1.025)}}@media (hover:none),(pointer:coarse){.portrait-wrap{transform-style:flat;transition:none;transform:none}.portrait-backdrop{transform:rotate(-4deg)}.portrait{transition:none;animation:none;transform:none}.portrait-shine{display:none}.portrait-counter{transform:none}.portrait-wrap.is-interacting .portrait{filter:saturate(.95)contrast(1.03);transform:none}}@media (width<=1280px){:root{--dock-space:74px}.floating-controls{flex-direction:row;inset:auto auto 14px 50%;transform:translate(-50%)}.floating-controls nav,.floating-language{flex-direction:row}.control-divider{width:1.5px;height:24px}.floating-controls a:before{display:none}.page-shell{padding-bottom:var(--dock-space)}}@media (width<=900px){.topbar{grid-template-columns:1fr auto}.menu-toggle{padding:8px;display:block}.topbar nav{grid-column:1/-1;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px 4px 8px;display:none}.topbar nav.is-open{display:grid}.topbar nav a{border:1.5px solid var(--ink);background:var(--paper);text-align:center;border-radius:8px;padding:8px}.topbar nav a.active{background:var(--blue);box-shadow:3px 3px 0 var(--ink);margin:0;padding:8px}.status-pill{display:none}.header-actions{position:absolute;top:13px;right:66px}.portrait-wrap{width:195px;height:240px}.certificate-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-modal-content{grid-template-columns:1fr}.album-viewer{min-height:400px}.certificate-modal-content{grid-template-columns:1fr}.certificate-viewer{min-height:400px}}@media (width<=680px){.page-shell{width:min(100% - 28px,520px)}.topbar{grid-template-columns:1fr auto}.menu-toggle{padding:8px;display:block}.topbar nav{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;padding:18px 4px 8px;display:none}.topbar nav.is-open{display:grid}.topbar nav a{border:1.5px solid var(--ink);background:var(--paper);text-align:center;border-radius:8px;padding:8px}.topbar nav a.active{background:var(--blue);box-shadow:3px 3px 0 var(--ink);margin:0;padding:8px}.status-pill{display:none}.header-actions{position:absolute;top:13px;right:66px}.slvh .portrait-wrap{aspect-ratio:auto;width:84px;height:100px}.slvh-badges .role-pill{padding:6px 10px;font-size:10px}.slvh-actions .button{min-height:44px;padding-inline:16px;font-size:13px}.slvh .portrait-counter{display:none}.slvh-title{font-size:clamp(26px,8.6vw,43px)}h1{font-size:43px}.stats,.project-grid,.certificate-grid,.gallery-grid,.contact{grid-template-columns:1fr}.stats{gap:14px;margin-bottom:58px}.stat{min-height:78px}.section-block,.tech-section{margin-top:58px}.section-heading>span{font-size:32px}.project-body{min-height:0}.project-pagination{gap:8px}.project-pagination button{min-height:40px;padding-inline:12px;font-size:11px}.project-page-numbers button{width:40px;padding:0}.tech-heading{padding-inline:20px}.marquee-fade{width:42px}.tech-capsule{min-width:185px}.tech-modal{padding:10px 10px calc(10px + var(--dock-space))}.tech-modal-card{max-height:calc(100vh - 20px - var(--dock-space));max-height:calc(100dvh - 20px - var(--dock-space));padding:34px 23px 29px}.album-cover{aspect-ratio:4/3}.album-summary{padding:20px 14px 14px 55px}.album-actions{flex-direction:column;align-items:stretch}.album-summary .button{width:100%}.album-modal{padding:10px 10px calc(10px + var(--dock-space))}.album-modal-card{max-height:calc(100vh - 20px - var(--dock-space));max-height:calc(100dvh - 20px - var(--dock-space));padding:16px}.album-modal-head h3{font-size:22px}.album-viewer{aspect-ratio:3/2;min-height:0}.album-viewer img{max-height:none}.certificate-modal{padding:10px 10px calc(10px + var(--dock-space))}.certificate-modal-card{max-height:calc(100vh - 20px - var(--dock-space));max-height:calc(100dvh - 20px - var(--dock-space));padding:16px}.certificate-viewer{aspect-ratio:3/2;min-height:0}.certificate-viewer img{max-height:none}.contact{padding:30px 24px}.social-links .button{flex:1;min-width:125px}}@media (width<=390px){:root{--dock-space:61px}.brand>span:last-child{display:none}.slvh-actions .button{flex:1;min-height:44px}.project-head{flex-direction:column}.section-heading h2{font-size:26px}.floating-controls{justify-content:center;gap:4px;width:calc(100% - 18px);padding:6px;bottom:9px}.floating-controls nav,.floating-language{gap:3px}.floating-controls a,.floating-language button{width:30px;height:30px;font-size:10px}.floating-language button{height:26px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.tech-track{animation:none!important;transform:none!important}.portrait-wrap,.portrait-wrap .portrait,.portrait-backdrop{transform:none!important}.hero-terminal-caret{animation:none}[data-reveal]{opacity:1;transform:none}.custom-cursor{display:none}}
