:root{--page-bg:#050505;--page-bg-soft:#0b0b0c;--surface:#0f0f10;--surface-strong:#161617;--surface-soft:#0b0b0c;--border:#ffffff14;--border-strong:#ffffff29;--text-strong:#f5f5ef;--text-default:#d9d9d2;--text-muted:#878782;--shadow-soft:0 24px 60px #00000047;--shadow-card:0 32px 80px #00000057;--radius-xl:28px;--radius-lg:20px;--radius-md:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050505;color:#f5f5ef;color:var(--text-strong);font-family:Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,Segoe UI,Dotum,sans-serif;margin:0;text-rendering:optimizeLegibility}body,button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.section-shell{margin:0 auto;max-width:1320px;width:100%}.section-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:34px}.section-eyebrow{align-items:center;color:#878782;color:var(--text-muted);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.18em;margin-bottom:14px;text-transform:uppercase}.section-title{color:#f5f5ef;color:var(--text-strong);font-size:clamp(2.45rem,4vw,4.1rem);font-weight:800;letter-spacing:-.075em;line-height:.92}.section-intro{color:#878782;color:var(--text-muted);font-size:.95rem;line-height:1.7;max-width:420px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff42}@media (max-width:768px){.section-title{font-size:2.15rem}}.App{isolation:isolate;overflow-x:hidden;position:relative;width:100%}.App:before{background:linear-gradient(180deg,#0a0a0afa,#050505)}.App:after,.App:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.App:after{background:linear-gradient(90deg,hsla(0,0%,100%,.014) 1px,#0000 0);background-size:88px 88px;opacity:.7}.App>*{position:relative;z-index:1}.portfolio-topbar{padding:36px 24px 0;position:relative;z-index:3}.portfolio-topbar:before{content:none}.portfolio-topbar:after{background:radial-gradient(circle,#7dd3fc0f 0,#7dd3fc05 42%,#7dd3fc00 74%);content:"";filter:blur(18px);height:44px;left:50%;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);width:180px}.portfolio-topbar-inner{display:flex;justify-content:center;min-height:44px;position:relative;z-index:1}.portfolio-locale-toggle{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3e424a4d;border:1px solid #f5f5ef24;border-radius:999px;box-shadow:none;display:inline-flex;gap:1px;opacity:.88;padding:2px;position:absolute;right:2px;top:2px;transition:border-color .2s ease,background-color .2s ease,opacity .2s ease}.portfolio-locale-toggle:hover{background:#484c5457;border-color:#f5f5ef3d;opacity:1}.portfolio-locale-option{background:#0000;border:0;border-radius:999px;color:#f5f5ef94;cursor:pointer;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.68rem;font-weight:700;letter-spacing:.06em;min-width:34px;padding:4px 8px 5px;position:relative;transition:color .2s ease,background-color .2s ease}.portfolio-locale-option:hover{color:#f5f5efd1}.portfolio-locale-option.is-active{background:#f5f5ef24;color:#f5f5eff0}.portfolio-reload{align-items:center;background:#0000;border:0;color:#f5f5efbd;cursor:pointer;display:inline-flex;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.08rem;font-weight:600;gap:0;letter-spacing:.02em;min-height:42px;overflow:hidden;padding:5px 19px 8px;position:relative;text-shadow:0 0 14px #ffffff0a;transition:color .24s ease,opacity .24s ease,transform .24s ease}.portfolio-reload:hover{color:#f5f5effa;transform:translateY(-1px)}.portfolio-reload:before{content:none}.portfolio-reload:after{background:linear-gradient(90deg,#fff0,#7dd3fc38 24%,#4ec9b06b 50%,#d7ba7d3d 76%,#fff0);bottom:2px;content:"";height:1px;left:50%;opacity:.72;pointer-events:none;position:absolute;transform:translateX(-50%);transition:width .28s ease,opacity .28s ease;width:68%}.portfolio-reload:focus-visible:after,.portfolio-reload:hover:after{opacity:1;width:100%}.portfolio-reload-core,.portfolio-reload-reveal{align-items:center;display:inline-flex;gap:0;white-space:nowrap}.portfolio-reload-reveal{margin-left:.18em;max-width:0;opacity:0;overflow:hidden;transform:translateX(-12px);transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .42s cubic-bezier(.22,1,.36,1)}.portfolio-reload:focus-visible .portfolio-reload-reveal,.portfolio-reload:hover .portfolio-reload-reveal{max-width:240px;opacity:1;transform:translateX(0)}.portfolio-reload-type{color:#4ec9b0e6}.portfolio-reload-paren,.portfolio-reload-scope{color:#f5f5ef85}.portfolio-reload-method{color:#7dd3fce6;text-shadow:0 0 18px #7dd3fc14}.portfolio-reload-action{color:#d7ba7deb;text-shadow:0 0 18px #d7ba7d14}.App.is-reloading .portfolio-reload-core{animation:portfolio-reload-pulse .9s cubic-bezier(.22,1,.36,1)}.portfolio-reload-scan{background:linear-gradient(180deg,#7dd3fc14,#7dd3fc00);filter:blur(28px);height:24vh;inset:-10% 0 auto;opacity:0;pointer-events:none;position:fixed;z-index:3}.App.is-reloading .portfolio-reload-icon{animation:portfolio-reload-spin .9s cubic-bezier(.22,1,.36,1)}.App.is-reloading .portfolio-reload-scan{animation:portfolio-reload-scan 1.15s cubic-bezier(.22,1,.36,1)}.ambient-bubbles{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.ambient-bubble{animation:ambient-rise linear infinite;border-radius:50%;bottom:-12vh;filter:blur(12px);opacity:.025;position:absolute}.bubble-1{animation-duration:24s;background:#ffffff1f;height:180px;left:6%;width:180px}.bubble-2{animation-delay:-6s;animation-duration:18s;background:#4f7cff24;height:88px;left:22%;width:88px}.bubble-3{animation-delay:-9s;animation-duration:28s;background:#ffffff14;height:136px;left:48%;width:136px}.bubble-4{animation-delay:-4s;animation-duration:20s;background:#12766e29;height:108px;right:20%;width:108px}.bubble-5{animation-delay:-12s;animation-duration:30s;background:#ffffff17;height:220px;right:8%;width:220px}.bubble-6{animation-delay:-3s;animation-duration:16s;background:#b453092e;height:72px;left:72%;width:72px}@keyframes ambient-rise{0%{opacity:0;transform:translateZ(0) scale(.82)}15%{opacity:.025}70%{opacity:.018}to{opacity:0;transform:translate3d(0,-120vh,0) scale(1.28)}}@keyframes portfolio-reload-spin{0%{transform:rotate(0deg) scale(1)}55%{transform:rotate(220deg) scale(1.12)}to{transform:rotate(1turn) scale(1)}}@keyframes portfolio-reload-scan{0%{opacity:0;transform:translate3d(0,-18vh,0)}18%{opacity:1}to{opacity:0;transform:translate3d(0,118vh,0)}}@keyframes portfolio-reload-pulse{0%{opacity:.72;transform:translateZ(0)}45%{opacity:1;transform:translate3d(0,1px,0)}to{opacity:.82;transform:translateZ(0)}}.site-copyright{padding:0 24px 34px}.site-copyright .section-shell{border-top:1px solid #ffffff24;padding-top:16px;text-align:center}.site-copyright p{color:#f5f5ef94;font-size:.78rem;letter-spacing:.04em}@media (max-width:768px){.portfolio-topbar{padding:16px 16px 0}.portfolio-topbar:after{height:38px;width:148px}.portfolio-reload{font-size:.72rem;min-height:32px;padding:4px 10px 6px}.portfolio-reload:focus-visible .portfolio-reload-reveal,.portfolio-reload:hover .portfolio-reload-reveal{max-width:170px}.portfolio-locale-toggle{padding:2px;right:0;top:0}.portfolio-locale-option{font-size:.62rem;letter-spacing:.04em;min-width:30px;padding:4px 7px 5px}.site-copyright{padding:0 16px 26px}.site-copyright .section-shell{padding-top:12px}.site-copyright p{font-size:.72rem}}.hero{align-items:stretch;background:#0000;display:flex;min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);overflow:hidden;padding:16px 24px 44px;position:relative}.hero:after,.hero:before{content:none}.hero-shell{align-items:stretch;display:flex;flex:1 1;min-height:0;position:relative;width:100%;z-index:1}.hero-orb{border-radius:50%;filter:blur(80px);opacity:.34;pointer-events:none;position:absolute}.hero-orb-one{animation:hero-orb-float 12s ease-in-out infinite;background:#ffffff1f;height:280px;right:16%;top:8%;width:280px}.hero-orb-two{animation:hero-orb-float 14s ease-in-out infinite reverse;background:#8c8c8c1f;bottom:10%;height:240px;left:10%;width:240px}.hero-code-bg{animation:hero-code-drift 18s ease-in-out infinite alternate;color:hsla(0,0%,100%,.085);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.84rem;line-height:1.86;pointer-events:none;position:absolute;right:0;text-align:left;top:42px;white-space:pre-wrap;width:min(34vw,420px)}.hero-copy{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;min-height:100%;padding:0;position:relative;text-align:center;width:100%}.hero-copy.is-terminal-focus,.hero-primary{justify-content:center}.hero-primary{align-items:center;display:flex;flex:1 1 auto;min-height:clamp(420px,58vh,620px);padding-top:0;transform:none;width:100%}.hero-primary.is-expanded{min-height:100%;transform:none}.hero-secondary{align-items:center;flex:0 0 auto;margin-top:auto;padding-bottom:clamp(18px,2.8vh,34px);padding-top:0;position:static}.hero-scroll-stage,.hero-secondary{display:flex;justify-content:center;min-height:clamp(150px,20vh,240px);width:100%}.hero-scroll-stage{align-items:flex-start;box-sizing:border-box;padding-top:clamp(12px,2.4vh,28px)}.hero-terminal{backdrop-filter:blur(22px) saturate(132%);-webkit-backdrop-filter:blur(22px) saturate(132%);background:linear-gradient(180deg,#18181a29,#0a0a0c14);border:1px solid #ffffff0f;border-radius:30px;box-shadow:0 28px 80px #0000002e,inset 0 1px 0 #ffffff0f;min-height:clamp(188px,19vw,236px);overflow:hidden;padding:18px 24px 26px;position:relative;transform:translateZ(0);transition:width .4s ease,transform .35s ease,border-color .35s ease,box-shadow .35s ease,background .35s ease;width:min(1140px,100%);will-change:transform,opacity}.hero-terminal.is-expanded{background:linear-gradient(180deg,#18181a38,#09090b1f);border-color:#ffffff1a;box-shadow:0 36px 108px #00000038,0 0 0 1px #ffffff0a,inset 0 1px 0 #ffffff14;min-height:clamp(320px,46vh,420px);padding-bottom:12px;width:min(1180px,100%)}.hero-terminal:before{background:radial-gradient(circle at 18% 16%,#ffffff14 0,#fff0 28%),linear-gradient(180deg,#ffffff08,#fff0 46%);content:"";inset:0;pointer-events:none;position:absolute}.hero-terminal.is-close-error{animation:hero-terminal-close-error .8s ease}.hero-terminal.is-minimize{animation:hero-terminal-minimize 1.18s cubic-bezier(.4,0,.2,1)}.hero-terminal.is-expand{animation:hero-terminal-expand .92s ease}.hero-terminal.is-restore{animation:hero-terminal-restore .82s ease}.hero-terminal-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.hero-terminal-control{border:0;border-radius:50%;cursor:pointer;height:12px;transition:transform .2s ease,filter .2s ease;width:12px}.hero-terminal-control:hover{filter:brightness(1.08);transform:scale(1.08)}.hero-terminal-control.is-red{background:#ff5f56eb}.hero-terminal-control.is-yellow{background:#ffbd2eeb}.hero-terminal-control.is-green{background:#27c93feb}.hero-terminal-label{color:#ffffff61;letter-spacing:.12em;margin-left:10px}.hero-terminal-label,.hero-terminal-note{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.82rem;text-transform:uppercase}.hero-terminal-note{background:#0000;border:0;color:#ffffff8f;letter-spacing:.08em;margin-left:auto;padding:0;transition:color .25s ease,opacity .25s ease}.hero-terminal-note.is-error{color:#ff948efa}.hero-terminal-note.is-warning{color:#ffd07af5}.hero-terminal-note.is-success{color:#94f1aafa}.hero-terminal-body{display:flex;flex-direction:column;gap:14px}.hero-terminal-body.is-default-stage{min-height:clamp(132px,12vw,160px);position:relative}.hero-terminal.is-intro-booting .hero-terminal-body{min-height:clamp(132px,12vw,160px)}.hero-terminal.is-expanded .hero-terminal-body{gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.hero-terminal.is-expanded .hero-terminal-body::-webkit-scrollbar{display:none}.hero-terminal-expanded{border-top:0;display:flex;flex-direction:column;gap:6px;margin-top:0;min-width:100%;padding-top:0;width:max-content}.hero-terminal.is-expanded .hero-terminal-expanded{margin-top:0}.hero-code-row{grid-gap:18px;align-items:flex-start;display:grid;gap:18px;grid-template-columns:56px minmax(0,1fr)}.hero-code-row-intro,.hero-code-row-output{align-items:center}.hero-code-row-intro .hero-code-line{white-space:nowrap}.hero-code-row-main{transition:gap .45s ease}.hero-terminal-body.is-default-stage .hero-code-row-intro{inset-inline:0;position:absolute;top:50%;transform:translateY(-50%)}.hero-terminal-body.is-default-stage .hero-code-row-output{inset-inline:0;position:absolute;top:calc(50% + clamp(30px, 3vw, 42px))}.hero-terminal.is-intro-booting .hero-code-row-intro{min-height:0}.hero-terminal.is-intro-booting .hero-code-row-intro .hero-line-number{visibility:hidden}.hero-terminal.is-intro-booting .hero-code-row-main:not(.hero-code-row-intro){display:none}.hero-code-row-muted{opacity:.8}.hero-line-number{color:#ffffff42;display:inline-flex;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.98rem;justify-content:flex-end;line-height:1.6;transition:color .35s ease,opacity .35s ease,transform .5s ease}.hero-code-row-intro .hero-line-number,.hero-code-row-output .hero-line-number{align-self:center;line-height:1.24;padding-top:0}.hero-code-line{color:var(--text-strong);display:block;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:clamp(1.22rem,3.2vw,3.5rem);font-weight:600;letter-spacing:-.045em;line-height:1.08;margin:0;transition:transform .56s cubic-bezier(.22,1,.36,1),font-size .48s ease,line-height .48s ease,letter-spacing .48s ease,opacity .35s ease;white-space:pre-wrap}.hero-code-line,.hero-terminal.is-intro-booting .hero-code-row-intro .hero-code-line{text-align:center}.hero-code-keyword{color:#7dd3fc}.hero-code-type{color:#4fc1ff}.hero-code-class{color:#4ec9b0}.hero-code-variable{color:#f5f5ef}.hero-code-operator{color:#f5f5effa;font-weight:700}.hero-code-tail{color:#f5f5ef;font-weight:800}.hero-code-semicolon{margin-right:.08em}.hero-code-brace,.hero-code-semicolon{color:#f5f5ef;display:inline-block;font-weight:800;margin-left:.01em;position:relative;text-shadow:0 0 10px #ffffff14;top:-.02em}.hero-code-function{color:#d7ba7d}.hero-code-property{color:#9cdcfe}.hero-code-string{color:#86efac}.hero-code-comment{color:#fff6;font-size:clamp(.92rem,1.08vw,1rem);letter-spacing:.04em;transition:color .35s ease,font-size .45s ease,letter-spacing .45s ease}.hero-code-line-output{font-size:clamp(.78rem,1.7vw,1rem);letter-spacing:0;line-height:1.45}.hero-code-output{color:#7dd3fce6}.hero-code-line-output.is-error,.hero-code-output.is-error{color:#ff948efa}.hero-code-line-output.is-warning,.hero-code-output.is-warning{color:#ffd07af5}.hero-code-line-output.is-success,.hero-code-output.is-success{color:#94f1aafa}.hero-code-line-cpp{font-size:clamp(.92rem,1.05vw,1rem);font-weight:500;letter-spacing:-.01em;line-height:1.7;text-align:left}.hero-code-plain{color:#f4f4f1e0}.hero-terminal.is-expanded .hero-code-row-main .hero-line-number{align-self:flex-start;color:#ffffff70;line-height:1.6;opacity:1;transform:translateZ(0)}.hero-terminal.is-expanded .hero-code-row{align-items:flex-start;min-width:max-content}.hero-terminal.is-expanded .hero-code-row-main .hero-code-line{animation:hero-code-dock .56s cubic-bezier(.22,1,.36,1) both}.hero-terminal.is-expanded .hero-code-row-cpp .hero-code-line,.hero-terminal.is-expanded .hero-code-row-main .hero-code-line{font-size:clamp(.9rem,1vw,.96rem);font-weight:500;letter-spacing:-.01em;line-height:1.6;text-align:left;transform:translateZ(0);white-space:pre}.hero-terminal.is-expanded .hero-code-row-muted .hero-code-line{animation-delay:.04s}.hero-terminal.is-expanded .hero-code-row-output .hero-code-line{animation-delay:.08s}.hero-terminal.is-expanded .hero-code-row-main .hero-code-comment{font-size:inherit;letter-spacing:0;line-height:inherit}.hero-terminal.is-expanded .hero-code-row-main .hero-code-line-output{font-size:clamp(.9rem,1vw,.96rem);line-height:1.6;white-space:pre}.hero-terminal.is-expanded .hero-code-row-output{margin-bottom:0}.hero-terminal.is-expanded .hero-code-output{color:#f4f4f1e0}.hero-terminal.is-expanded .hero-code-line-output.is-error,.hero-terminal.is-expanded .hero-code-output.is-error{color:#ff948efa}.hero-terminal.is-expanded .hero-code-line-output.is-warning,.hero-terminal.is-expanded .hero-code-output.is-warning{color:#ffd07af5}.hero-terminal.is-expanded .hero-code-line-output.is-success,.hero-terminal.is-expanded .hero-code-output.is-success{color:#94f1aafa}.hero-code-row-output{animation:hero-output-enter .24s ease both}.hero-code-row-output.is-hiding{animation:hero-output-exit .22s ease forwards}.hero-code-cursor{animation:hero-cursor-blink 1s steps(1) infinite;background:#f5f5efd6;border-radius:2px;display:inline-block;height:1.1em;margin-left:8px;width:10px}.hero-code-cursor.is-hidden{opacity:0}.hero-scroll-indicator{align-items:center;background:none;border:0;color:#f5f5efad;cursor:pointer;display:inline-flex;flex-direction:column;gap:14px;margin-top:8px;transition:transform .24s ease,color .24s ease}.hero-scroll-indicator:hover{color:#f5f5eff0;transform:translateY(2px)}.hero-scroll-label{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero-scroll-mouse{background:#ffffff05;border:1px solid #ffffff2e;border-radius:999px;height:48px;position:relative;width:30px}.hero-scroll-wheel{animation:hero-scroll-wheel 1.8s ease-in-out infinite;background:#ffffffb8;border-radius:999px;height:9px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:4px}.hero-scroll-line{background:linear-gradient(180deg,#fff3,#fff0);height:74px;width:1px}@keyframes hero-grid-shift{0%{transform:translateZ(0)}to{transform:translate3d(-18px,12px,0)}}@keyframes hero-code-drift{0%{transform:translateZ(0)}to{transform:translate3d(-18px,20px,0)}}@keyframes hero-orb-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}@keyframes hero-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes hero-code-dock{0%{opacity:.82;transform:translate3d(18px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hero-output-enter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hero-output-exit{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-8px,0)}}@keyframes hero-scroll-wheel{0%{opacity:0;transform:translateX(-50%) translateY(0)}20%{opacity:1}70%{opacity:1;transform:translateX(-50%) translateY(12px)}to{opacity:0;transform:translateX(-50%) translateY(16px)}}@keyframes hero-terminal-close-error{0%,to{box-shadow:0 28px 80px #00000047,inset 0 1px 0 #ffffff14;transform:translateZ(0)}18%{transform:translate3d(-7px,0,0)}34%{box-shadow:0 34px 90px #00000057,0 0 0 1px #ff5f5642,0 0 40px #ff5f561f;transform:translate3d(8px,0,0)}52%{transform:translate3d(-5px,0,0)}72%{transform:translate3d(4px,0,0)}88%{transform:translate3d(-1px,0,0)}}@keyframes hero-terminal-minimize{0%{opacity:1;transform:translateZ(0) scale(1)}28%{opacity:.72;transform:translate3d(0,44px,0) scale(.986)}44%{opacity:.18;transform:translate3d(0,54px,0) scale(.982)}62%{opacity:.42;transform:translate3d(0,34px,0) scale(.99)}82%{opacity:.82;transform:translate3d(0,10px,0) scale(.997)}94%{opacity:.98;transform:translate3d(0,2px,0) scale(1)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes hero-terminal-expand{0%{transform:scale(1)}45%{box-shadow:0 38px 114px #0006,0 0 0 1px #22c55e47,0 0 56px #22c55e29;transform:scale(1.018)}to{box-shadow:0 36px 108px #00000057,0 0 0 1px #ffffff0d,inset 0 1px 0 #ffffff1a;transform:scale(1)}}@keyframes hero-terminal-restore{0%{box-shadow:0 36px 108px #00000057,0 0 0 1px #22c55e3d,0 0 54px #22c55e29,inset 0 1px 0 #ffffff1a;transform:scale(1.02)}55%{box-shadow:0 22px 58px #0000003d,0 0 0 1px #22c55e29,0 0 32px #22c55e1a,inset 0 1px 0 #ffffff14;transform:scale(.988)}to{box-shadow:0 28px 80px #00000047,inset 0 1px 0 #ffffff14;transform:scale(1)}}@media (max-width:768px){.hero{min-height:calc(100vh - 56px);min-height:calc(100svh - 56px);padding:12px 16px 34px}.hero-scroll-line{height:38px}.hero-shell{min-height:0}.hero-copy{min-height:100%;padding:0}.hero-copy:not(.is-terminal-focus){justify-content:space-between}.hero-primary{min-height:clamp(300px,56vh,480px);padding-top:0}.hero-terminal{border-radius:24px;min-height:184px;padding:16px 16px 22px;width:100%}.hero-secondary{min-height:138px;padding-bottom:18px;padding-top:0}.hero-scroll-stage{min-height:138px;padding-top:18px}.hero-terminal-note{justify-content:center;margin-left:0;text-align:center;width:100%}.hero-code-row{gap:12px;grid-template-columns:32px minmax(0,1fr)}.hero-code-row-intro,.hero-code-row-output{gap:8px;grid-template-columns:24px minmax(0,1fr)}.hero-code-row-intro .hero-line-number,.hero-code-row-output .hero-line-number{font-size:.8rem}.hero-code-line{font-size:clamp(1.28rem,6vw,1.82rem);text-align:left}.hero-code-row-intro .hero-code-line{font-size:clamp(.92rem,4.3vw,1.36rem);letter-spacing:-.03em;white-space:nowrap}.hero-code-row-output .hero-code-line-output{font-size:clamp(.72rem,3.5vw,.96rem);line-height:1.42}.hero-terminal.is-expanded .hero-code-row,.hero-terminal.is-expanded .hero-code-row-intro{gap:10px;grid-template-columns:24px max-content}.hero-terminal.is-expanded .hero-code-row-intro .hero-line-number,.hero-terminal.is-expanded .hero-line-number{font-size:.76rem;line-height:1.55}.hero-terminal.is-expanded .hero-code-row-cpp .hero-code-line,.hero-terminal.is-expanded .hero-code-row-main .hero-code-line,.hero-terminal.is-expanded .hero-code-row-main .hero-code-line-output{font-size:.76rem;letter-spacing:-.01em;line-height:1.55;white-space:pre}.hero-terminal.is-expanded .hero-code-row-main .hero-code-comment,.hero-terminal.is-expanded .hero-code-row-main .hero-code-line-output{font-size:.76rem;line-height:1.55}.hero-terminal.is-intro-booting .hero-code-row-intro .hero-code-line{text-align:center}.hero-code-comment{font-size:.82rem}.hero-code-bg{font-size:.72rem;top:42px;width:min(72vw,320px)}.hero-terminal-label{display:none}}.quote-section{background:#0000;padding:20px 24px 40px;position:relative}.quote-section-shell{align-items:center;display:flex;justify-content:center;min-height:clamp(240px,30vh,360px)}.quote-section-content{display:flex;justify-content:center;text-align:center;width:100%}.quote-section-text{color:var(--text-muted);font-size:clamp(1.24rem,1.9vw,1.8rem);letter-spacing:-.02em;line-height:1.72;margin:0;max-width:860px}@media (max-width:768px){.quote-section{padding:8px 16px 24px}.quote-section-shell{min-height:200px}.quote-section-text{font-size:1rem}}.skills{align-items:center;background:#0000;display:flex;margin-top:-1px;min-height:100vh;min-height:100svh;overflow:visible;padding:clamp(96px,11vh,132px) 24px;position:relative}.skills-container{margin:0 auto;max-width:1240px;padding-top:0;position:relative;width:100%;z-index:1}.section-header-centered{justify-content:center;text-align:center}.skills-surface{background:none;overflow:hidden;padding:12px 0 0;position:relative}.skills-stage{overflow:hidden;pointer-events:none;position:absolute;right:0;top:10px;width:min(42vw,460px)}.skills-code-bg{animation:drift-code 18s ease-in-out infinite alternate;color:hsla(0,0%,100%,.035);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.78rem;line-height:1.82;transform:rotate(-7deg) translateZ(0);white-space:pre-wrap}.skills-list{grid-gap:0;display:grid;gap:0;padding:6px 0 0;position:relative;z-index:1}.skill-lane{grid-gap:28px;align-items:start;background:none;border-top:1px solid #ffffff12;display:grid;gap:28px;grid-template-columns:228px minmax(0,1fr);padding:24px 0;transition:border-color .24s ease,transform .24s ease}.skill-lane:hover{border-color:#ffffff29;transform:translateX(4px)}.skill-lane-meta{align-items:center;display:flex;gap:12px;min-height:36px;padding-top:2px}.skill-accent{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.7rem;font-weight:700;height:auto;justify-content:center;letter-spacing:.14em;opacity:.62;width:auto}.skill-category{color:var(--text-strong);font-size:1rem;font-weight:700;letter-spacing:-.035em}.skill-values{align-items:center;display:flex;flex-wrap:wrap;gap:10px 18px;min-height:36px}.skill-item{align-items:center;color:var(--text-default);display:inline-flex;font-size:clamp(1rem,1.28vw,1.26rem);font-weight:600;letter-spacing:-.03em;min-height:0;padding:0;position:relative;text-shadow:0 0 18px #ffffff08}.skill-item:not(:last-child):after{color:#ffffff2e;content:"/";margin-left:18px}@media (max-width:960px){.skill-lane{gap:12px;grid-template-columns:1fr}.skills-stage{width:min(62vw,340px)}}@media (max-width:768px){.skills{min-height:auto;padding:80px 16px 96px}.skills-container{padding-top:14px}.skills-surface{padding-top:10px}.skills-stage{right:0;top:10px;width:72vw}.skill-lane{gap:10px;padding:18px 0}.skill-item{font-size:.96rem}.skills-code-bg{font-size:.7rem}}.projects{padding:120px 24px 0;position:relative}.projects-container{padding-top:96px;width:100%}.projects-showcase{grid-gap:72px;align-items:center;display:grid;gap:72px;grid-template-columns:minmax(0,.72fr) minmax(460px,1fr);margin-bottom:56px}.projects-showcase-copy{max-width:520px}.projects-showcase-text{color:var(--text-muted);font-size:.9rem;line-height:1.86;margin-top:18px}.projects-showcase-current{grid-gap:10px;display:grid;gap:10px;margin-top:28px;max-width:440px}.projects-showcase-current span{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.projects-showcase-current strong{color:var(--text-strong);font-size:clamp(1.36rem,2vw,1.9rem);font-weight:800;letter-spacing:-.05em}.projects-showcase-current p{color:var(--text-muted);font-size:.86rem;line-height:1.7}.projects-phone-stage{align-items:center;display:flex;justify-content:center;min-height:640px;position:relative}.projects-device-aura{animation:phone-glow 9s ease-in-out infinite;background:radial-gradient(circle,#e2813d3d 0,#fff0 72%);border-radius:50%;filter:blur(48px);height:460px;position:absolute;width:460px}.projects-code-bg{animation:drift-code 16s ease-in-out infinite alternate;color:hsla(0,0%,100%,.065);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.84rem;line-height:1.85;position:absolute;right:8px;text-align:left;top:12px;transform:translateZ(0);white-space:pre-wrap;width:320px}.projects-device-shell{height:720px;overflow:visible;position:relative;transform-origin:50% 50%;transform-style:preserve-3d;width:min(460px,100%);z-index:2}.projects-device-shell.is-rotating{filter:saturate(1.04)}.projects-device-float,.projects-device-model{height:100%;position:relative;width:100%}.projects-device-float{--phone-roll:10deg;animation:showcase-phone-float 8s ease-in-out infinite;transform-style:preserve-3d}.projects-model-viewer{--poster-color:#0000;background:#0000;filter:drop-shadow(0 48px 88px rgba(0,0,0,.34));height:100%;pointer-events:none;width:100%}.projects-model-viewer::part(default-progress-bar),.projects-model-viewer::part(default-progress-bar-mask),.projects-model-viewer::part(default-progress-mask),.projects-model-viewer::part(default-progress-mask-text){display:none}.projects-device-body{--device-depth:34px;animation:device-spin 18s linear infinite;height:100%;position:relative;transform-style:preserve-3d;width:100%}.projects-device-face{backface-visibility:hidden;border-radius:52px;inset:0;position:absolute}.projects-device-face.is-front{transform:translateZ(calc(var(--device-depth)/2))}.projects-device-face.is-back{background:radial-gradient(circle at 28% 20%,#ffe9d661 0,#ffe9d600 24%),linear-gradient(160deg,#f7ba82,#d9773a 28%,#b9622e 58%,#733516);border:1px solid #ffffff38;box-shadow:inset 0 1px 0 #ffffff47,inset 0 -30px 44px #4e220d38,0 40px 100px #00000057;overflow:hidden;transform:rotateY(180deg) translateZ(calc(var(--device-depth)/2))}.projects-device-face.is-back:before{background:linear-gradient(135deg,#ffffff2e,#fff0 34%,#fff0 72%,#461b0629);content:"";inset:0;pointer-events:none;position:absolute}.projects-device-bezel{background:linear-gradient(150deg,#f5c18f,#df8a4d 16%,#c86f34 42%,#9c4f1f);border:1px solid #ffffff3d;border-radius:52px;box-shadow:inset 0 1px 0 #ffffff47,inset 0 -26px 34px #521f0642,0 40px 100px #0006;inset:0;padding:14px;position:absolute}.projects-device-screen{background:radial-gradient(circle at 24% 12%,#ffffff12 0,#fff0 24%),linear-gradient(180deg,#0b0b0c,#020203);border-radius:40px;box-shadow:inset 0 1px 0 #ffffff0d,inset 0 -28px 44px #0000003d;height:100%;overflow:hidden;position:relative;width:100%}.projects-device-screen:before{background:linear-gradient(135deg,#ffffff17,#fff0 30%),linear-gradient(180deg,#fff0 74%,#ffffff08);content:"";inset:0;pointer-events:none;position:absolute}.projects-device-screen-content{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.projects-device-screen-content.is-empty{background:linear-gradient(180deg,#00000047,#0000)}.projects-device-screen-content.is-logo{background:radial-gradient(circle at 50% 42%,#ffffff08 0,#fff0 30%),linear-gradient(180deg,hsla(0,0%,100%,.012),#fff0)}.projects-device-screen-logo{filter:drop-shadow(0 18px 34px rgba(0,0,0,.42));height:auto;max-width:172px;object-fit:contain;width:66%}.projects-device-screen-image{height:100%;object-fit:cover;width:100%}.projects-device-island{background:#000000e6;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff0d;height:26px;left:50%;position:absolute;top:16px;transform:translateX(-50%);width:126px;z-index:2}.projects-device-camera-cluster{grid-gap:10px;background:#53271033;border-radius:32px;box-shadow:inset 0 1px 0 #ffffff1f;display:grid;gap:10px;grid-template-columns:repeat(2,54px);left:32px;padding:14px;position:absolute;top:34px;width:128px}.projects-device-camera{background:radial-gradient(circle at 34% 30%,#ffffff2e 0,#fff0 22%),radial-gradient(circle,#1d1715 0,#090909 68%,#6e3415 100%);border-radius:50%;box-shadow:inset 0 2px 6px #ffffff0f,0 6px 14px #0000002e;display:block;height:54px;width:54px}.projects-device-camera.flash{background:radial-gradient(circle,#fff5e3 0,#ffd6a0e6 42%,#9d542547 100%);height:54px;width:54px}.projects-device-back-ring{border:1px solid #ffefe152;border-radius:50%;box-shadow:0 0 0 16px #fff4e90f,inset 0 0 0 1px #ffffff1f;height:104px;left:50%;position:absolute;top:50%;transform:translate(-50%,-28%);width:104px}.projects-device-edge{background:linear-gradient(180deg,#f0b47c,#c56d32 48%,#9f4f1e);box-shadow:inset 0 1px 0 #ffffff2e;position:absolute}.projects-device-edge.is-left,.projects-device-edge.is-right{bottom:18px;top:18px;width:var(--device-depth)}.projects-device-edge.is-left{border-radius:24px 0 0 24px;left:calc(var(--device-depth)*-.5);transform:rotateY(-90deg)}.projects-device-edge.is-right{border-radius:0 24px 24px 0;right:calc(var(--device-depth)*-.5);transform:rotateY(90deg)}.projects-device-edge.is-bottom,.projects-device-edge.is-top{height:var(--device-depth);left:18px;right:18px}.projects-device-edge.is-top{border-radius:24px 24px 0 0;top:calc(var(--device-depth)*-.5);transform:rotateX(90deg)}.projects-device-edge.is-bottom{border-radius:0 0 24px 24px;bottom:calc(var(--device-depth)*-.5);transform:rotateX(-90deg)}.projects-device-side-button{background:linear-gradient(180deg,#ffe4cad6,#d67c3beb);border-radius:999px;box-shadow:inset 0 1px 0 #ffffff24;position:absolute;z-index:3}.projects-device-side-button.action-button,.projects-device-side-button.volume-down,.projects-device-side-button.volume-up{left:-4px;width:5px}.projects-device-side-button.volume-up{height:44px;top:136px}.projects-device-side-button.volume-down{height:44px;top:194px}.projects-device-side-button.action-button{height:26px;top:88px}.projects-device-side-button.power-button{height:78px;right:-4px;top:154px;width:5px}.projects-phone-dots{bottom:8px;display:inline-flex;gap:7px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.projects-phone-dot{background:#ffffff2e;border-radius:50%;height:7px;transition:transform .3s ease,background .3s ease;width:7px}.projects-phone-dot.active{background:#ffffffc7;transform:scale(1.18)}.projects-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:26px}.projects-filters,.projects-header-side{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.project-archive-close,.project-archive-trigger,.projects-filter{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:8px;justify-content:center;min-height:36px;padding:0 14px;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.project-archive-close,.project-archive-trigger,.projects-filter.active{color:var(--text-strong)}.project-archive-close:hover,.project-archive-trigger:hover,.projects-filter:hover{background:#ffffff14;border-color:var(--border-strong);transform:translateY(-1px)}.project-archive-trigger span{color:var(--text-muted);font-size:1rem;line-height:1}.project-gallery{grid-gap:0;border-top:1px solid #ffffff12;display:grid;gap:0}.project-row{background:none;border-bottom:1px solid #ffffff12;isolation:isolate;overflow:visible;position:relative;transition:border-color .24s ease,transform .24s ease}.project-row-featured{border-color:#ffffff1a}.project-row:before{content:none}.project-row:hover{border-color:#ffffff29;transform:translateX(4px)}.project-card-trigger{grid-gap:28px;align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:grid;gap:28px;grid-template-columns:118px minmax(0,1fr);padding:26px 0;text-align:left;width:100%}.project-row-logo-stage{align-items:center;background:none;display:flex;justify-content:center;min-height:88px;overflow:visible;position:relative}.project-row-featured .project-row-logo-stage{min-height:88px}.project-row-logo-glow{background:color-mix(in srgb,var(--project-accent) 34%,#ffffff14);border-radius:50%;filter:blur(26px);height:78px;opacity:.2;position:absolute;transition:transform .3s ease,opacity .3s ease;width:78px}.project-row:hover .project-row-logo-glow{opacity:.34;transform:scale(1.08)}.project-row-logo{filter:drop-shadow(0 16px 28px rgba(0,0,0,.28));object-fit:contain;position:relative;transform:scale(1);transform:scale(var(--project-logo-scale,1));transition:transform .32s ease;z-index:1}.project-row-featured .project-row-logo,.project-row-logo{height:min(82px,100%);width:min(82px,100%)}.project-row:hover .project-row-logo{transform:scale(1.04);transform:scale(calc(var(--project-logo-scale, 1)*1.04))}.project-row-content{display:flex;flex-direction:column;gap:10px}.project-row-top{align-items:center;display:flex;gap:10px}.project-row-content h3{color:var(--text-strong);font-size:clamp(1.3rem,2.2vw,1.82rem);font-weight:800;letter-spacing:-.05em;line-height:.96}.project-archive-label,.project-card-category,.project-card-number,.project-card-year,.project-section-head span,.project-system-bridge span,.project-system-column-head span{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.project-archive-card p,.project-card-headline,.project-detail-summary{color:var(--text-muted);font-size:.82rem;line-height:1.7}.project-archive-card-meta,.project-archive-card-top,.project-archive-panel-actions,.project-card-meta,.project-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.project-archive-card-meta span,.project-archive-card-top span,.project-archive-featured,.project-archive-stat,.project-card-meta span{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;color:var(--text-default);display:inline-flex;font-size:.72rem;font-weight:700;min-height:30px;padding:0 12px}.project-detail-meta .project-detail-hashtag{align-items:center;background:linear-gradient(180deg,#ffffff14,#ffffff08),#ffffff05;border:1px solid #ffffff1f;border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.02em;min-height:30px;padding:0 12px}.project-card-meta span{background:none;border:0;color:var(--text-muted);min-height:0;padding:0}.project-card-meta span:not(:last-child):after{color:#ffffff2e;content:"/";margin-left:8px}.project-archive-overlay,.project-modal-overlay{align-items:center;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.project-archive-backdrop,.project-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000c7;border:0;cursor:pointer;inset:0;position:absolute}.project-archive-panel,.project-modal-panel{--modal-panel-padding:30px;background:var(--surface-soft);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-card);isolation:isolate;max-height:calc(100vh - 48px);overflow:hidden;position:relative;width:min(1200px,100%);z-index:1}.project-archive-panel,.project-modal-panel{display:flex;flex-direction:column;padding:0}.project-archive-panel-head,.project-modal-head{align-items:flex-end;background:var(--surface-soft);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:var(--modal-panel-padding) var(--modal-panel-padding) 18px;position:relative;z-index:2}.project-archive-content,.project-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:20px var(--modal-panel-padding) var(--modal-panel-padding)}.project-archive-panel-head h3,.project-modal-title{color:var(--text-strong);font-size:clamp(2rem,4vw,3.6rem);font-weight:800;letter-spacing:-.075em;line-height:.94}.project-detail-topbar{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.project-detail-meta{justify-content:flex-end;max-width:420px}.project-detail-period{color:var(--text-default);font-size:.8rem;gap:10px;letter-spacing:.01em}.project-detail-period,.project-detail-period span{align-items:center;display:inline-flex;font-weight:700}.project-detail-period span{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:var(--text-muted);font-size:.68rem;letter-spacing:.14em;min-height:26px;padding:0 10px;text-transform:uppercase}.project-slider-tabs{border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:24px;margin-bottom:18px;padding-bottom:14px}.project-slider-tab{align-items:center;background:none;border:0;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.84rem;font-weight:700;gap:8px;padding:0 0 10px;transition:color .2s ease,border-color .2s ease,transform .2s ease}.project-slider-tab:hover{color:var(--text-default);transform:translateY(-1px)}.project-slider-tab.active{border-color:var(--text-strong);color:var(--text-strong)}.project-slider-viewport{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.project-slider-track{display:flex;transition:transform .34s ease;will-change:transform}.project-slide{display:flex;flex-direction:column;min-height:320px;min-width:100%;padding:24px}.project-slide-architecture,.project-slide-prototype,.project-slide-video{min-height:380px}.project-section-head{align-items:center;display:flex;gap:10px;margin-bottom:18px}.project-section-head h4{color:var(--text-strong);font-size:.98rem;font-weight:700}.project-stack-groups{grid-gap:0;border-top:1px solid #ffffff12;display:grid;flex:1 1;gap:0;grid-template-columns:1fr}.project-system-column{background:#ffffff08;border:1px solid #ffffff14;border-radius:var(--radius-md)}.project-stack-group{grid-gap:24px;align-items:center;background:none;border-bottom:1px solid #ffffff12;display:grid;gap:24px;grid-template-columns:168px minmax(0,1fr);padding:clamp(18px,3.1vh,28px) 0}.project-stack-group strong{color:var(--text-default);display:inline-flex;font-size:.86rem;font-weight:700;letter-spacing:-.02em;margin-bottom:0}.project-chip-list,.project-system-items{display:flex;flex-wrap:wrap;gap:10px}.project-chip,.project-system-chip{align-items:center;background:#ffffff0d;border-radius:999px;color:var(--text-default);display:inline-flex;font-size:.78rem;font-weight:700;min-height:32px;padding:0 12px}.project-stack-group .project-chip{background:none;border-radius:0;color:var(--text-default);font-size:clamp(.96rem,1.22vw,1.18rem);letter-spacing:-.03em;min-height:auto;padding:0}.project-stack-group .project-chip:not(:last-child):after{color:#ffffff2e;content:"/";margin-left:10px}.project-contribution-list{border-top:1px solid #ffffff12;display:flex;flex:1 1;flex-direction:column;gap:0;list-style:none;max-height:clamp(260px,36vh,390px);overflow-y:auto;padding-right:8px;position:relative;scrollbar-color:#ffffff2e #0000;scrollbar-width:thin}.project-contribution-list li{grid-gap:18px;align-items:baseline;background:none;border:0;border-bottom:1px solid #ffffff12;border-radius:0;color:var(--text-default);display:grid;font-size:clamp(.92rem,1.14vw,1.08rem);gap:18px;grid-template-columns:76px minmax(0,1fr);letter-spacing:-.02em;line-height:1.65;min-height:auto;overflow:visible;padding:clamp(16px,2.4vh,22px) 0;position:relative;transition:border-color .24s ease,color .24s ease}.project-contribution-list li:after,.project-contribution-list li:before{content:none}.project-contribution-list li:hover{border-color:#ffffff24;color:var(--text-strong)}.project-contribution-index{color:#f5f5ef6b;display:inline-flex;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.76rem;font-weight:700;letter-spacing:.16em;margin-bottom:0}.project-contribution-item p{max-width:760px;position:relative;z-index:1}.project-system-diagram{grid-gap:12px;align-items:stretch;display:grid;flex:1 1;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}.project-architecture-image-stage{align-items:center;background:#ffffff0a;border-radius:var(--radius-md);display:flex;flex:1 1;justify-content:center;min-height:clamp(340px,48vh,520px);overflow:auto;padding:clamp(18px,2.6vw,30px);scrollbar-color:#ffffff2e #0000;scrollbar-width:thin}.project-architecture-image-stage.is-light{background:#f7f7f1}.project-architecture-image{display:block;max-height:clamp(300px,44vh,480px);object-fit:contain;width:100%}.project-system-column{display:flex;flex-direction:column;gap:12px;padding:16px}.project-system-column-head{display:flex;flex-direction:column;gap:8px}.project-system-column-head strong{color:var(--text-strong);font-size:.94rem;font-weight:700}.project-system-blocks{display:flex;flex-direction:column;gap:10px}.project-system-block{background:#ffffff0a;border-radius:14px;padding:14px}.project-system-block h5{color:var(--text-default);font-size:.84rem;font-weight:700;margin-bottom:10px}.project-system-bridge{align-items:center;display:flex;justify-content:center;min-width:92px;padding:0 6px;position:relative}.project-system-bridge:before{background:linear-gradient(90deg,#fff0,#f5f5ef57,#fff0);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.project-system-bridge:after{border-right:1px solid #f5f5ef57;border-top:1px solid #f5f5ef57;content:"";height:7px;position:absolute;right:-1px;top:50%;transform:translateY(-50%) rotate(45deg);width:7px}.project-system-bridge span{background:none;border:0;border-radius:0;color:#f5f5efb8;line-height:1.25;max-width:104px;padding:0;position:relative;text-align:center;transform:translateY(-18px);z-index:1}.project-prototype-gallery{grid-gap:22px 18px;align-items:start;display:grid;gap:22px 18px;grid-template-columns:repeat(12,minmax(0,1fr));max-height:clamp(360px,52vh,560px);overflow-y:auto;padding-right:8px;scrollbar-color:#ffffff2e #0000;scrollbar-width:thin}.project-prototype-card{display:flex;flex-direction:column;gap:10px;grid-column:span 6;min-width:0}.project-prototype-card.is-phone{grid-column:span 3}.project-prototype-card.is-phone-third{grid-column:span 4}.project-prototype-card.is-tall,.project-prototype-card.is-wide{grid-column:span 6}.project-prototype-card.is-full{grid-column:1/-1}.project-prototype-card.is-column-left{grid-column:1/span 6}.project-prototype-card.is-column-right{grid-column:7/span 6}.project-prototype-frame{align-items:center;display:flex;height:clamp(280px,37vh,360px);justify-content:center;min-height:0;overflow:hidden}.project-prototype-image{display:block;filter:drop-shadow(0 18px 34px rgba(0,0,0,.28));height:100%;object-fit:contain;transform:scale(1);transition:transform .35s ease,filter .35s ease;width:100%}.project-prototype-card:hover .project-prototype-image{filter:drop-shadow(0 22px 40px rgba(0,0,0,.34));transform:scale(1.018)}.project-prototype-card.is-phone .project-prototype-image,.project-prototype-card.is-phone-third .project-prototype-image,.project-prototype-card.is-tall .project-prototype-image{max-width:100%;width:auto}.project-prototype-gallery.single .project-prototype-card{grid-column:1/-1}.project-prototype-label{border-top:1px solid #ffffff14;color:var(--text-muted);font-size:.8rem;font-weight:700;padding-top:10px;text-align:left}.project-video-stage{align-items:center;display:flex;flex:1 1;justify-content:center}.project-video-card{display:flex;flex-direction:column;gap:10px;width:min(100%,760px)}.project-video-empty,.project-video-player{background:radial-gradient(circle at 50% 24%,#ffffff0f,#fff0 36%),#ffffff08;border:1px solid #ffffff14;border-radius:var(--radius-md);min-height:340px;width:100%}.project-video-player{display:block;max-height:430px;object-fit:contain}.project-video-empty{max-width:760px}.project-video-label{color:var(--text-muted);font-size:.8rem;font-weight:700;text-align:center}.project-archive-label{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.18em;margin-bottom:12px;text-transform:uppercase}.project-archive-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-archive-card{background:radial-gradient(circle at top right,color-mix(in srgb,var(--project-accent) 14%,#111) 0,#fff0 34%),var(--surface);border:1px solid #ffffff14;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;gap:16px;padding:22px;text-align:left;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.project-archive-card:hover{border-color:color-mix(in srgb,var(--project-accent) 22%,#ffffff24);box-shadow:0 22px 40px #0000003d;transform:translateY(-3px)}.project-archive-card-body{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(108px,.34fr)}.project-archive-card h4{color:var(--text-strong);font-size:1.46rem;font-weight:800;letter-spacing:-.05em;margin-bottom:8px}.project-archive-card-mark{align-items:center;display:flex;justify-content:flex-end;min-height:92px;padding-right:8px;position:relative;width:100%}.project-archive-card-mark:before{background:radial-gradient(circle at 30% 30%,#ffffff52 0,#fff0 42%),color-mix(in srgb,var(--project-accent) 26%,#ffffff0a);border:1px solid color-mix(in srgb,var(--project-accent) 36%,#ffffff29);border-radius:50%;content:"";height:88px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:88px}.project-archive-card-mark img{height:72px;object-fit:contain;object-position:right center;opacity:.94;position:relative;transform:translateX(0) scale(1);transform:translateX(var(--archive-logo-shift,0)) scale(var(--archive-logo-scale,1));transition:transform .3s ease,opacity .3s ease;width:72px;z-index:1}.project-archive-card:hover .project-archive-card-mark img{opacity:1;transform:translateX(0) scale(1.05);transform:translateX(var(--archive-logo-shift,0)) scale(calc(var(--archive-logo-scale, 1)*1.05))}.project-archive-card-foot{align-items:center;display:flex}@keyframes drift-code{0%{transform:translateZ(0)}to{transform:translate3d(-18px,14px,0)}}@keyframes showcase-phone-float{0%,to{transform:translateZ(0) rotate(var(--phone-roll)) rotateX(0deg)}50%{transform:translate3d(0,-14px,0) rotate(calc(var(--phone-roll) + 1.8deg)) rotateX(1.4deg)}}@keyframes device-spin{0%{transform:rotateX(15deg) rotateY(-26deg) rotate(-11deg) translateY(0)}to{transform:rotateX(15deg) rotateY(334deg) rotate(-11deg) translateY(-8px)}}@keyframes phone-glow{0%,to{opacity:.56;transform:scale(.96)}50%{opacity:.82;transform:scale(1.04)}}@media (max-width:960px){.projects-showcase{gap:28px;grid-template-columns:1fr}.projects-phone-stage{justify-content:center;min-height:560px}.projects-device-shell{height:640px;width:min(410px,100%)}.project-gallery{gap:16px}.project-archive-panel-head,.project-detail-topbar,.project-modal-head{align-items:flex-start;flex-direction:column}.project-detail-meta{justify-content:flex-start;max-width:100%}.project-archive-card-body,.project-archive-grid,.project-system-diagram{grid-template-columns:1fr}.project-prototype-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}.project-prototype-card.is-column-left,.project-prototype-card.is-column-right,.project-prototype-card.is-tall,.project-prototype-card.is-wide{grid-column:1/-1}.project-prototype-card.is-phone{grid-column:span 3}.project-prototype-card.is-phone-third{grid-column:span 2}.project-contribution-list li{gap:14px;grid-template-columns:54px minmax(0,1fr)}.project-stack-group{gap:12px;grid-template-columns:1fr}.project-system-bridge{min-height:64px;min-width:100%}.project-system-bridge:before{background:linear-gradient(180deg,#fff0,#f5f5ef57,#fff0);bottom:0;height:100%;left:50%;right:auto;top:0;width:1px}.project-system-bridge:after{bottom:0;left:50%;right:auto;top:auto;transform:translateX(-50%) rotate(135deg)}.project-system-bridge span{max-width:180px;padding-bottom:0;transform:none}}@media (max-width:768px){.projects{padding:88px 16px 0}.projects-container{padding-top:64px}.projects-showcase{margin-bottom:32px}.projects-showcase-text{font-size:.94rem}.projects-phone-stage{min-height:460px}.projects-device-shell{height:520px;width:320px}.projects-device-screen-logo{max-width:116px}.projects-code-bg{font-size:.74rem;width:250px}.project-archive-panel-actions,.projects-filters,.projects-header-side,.projects-toolbar{width:100%}.project-archive-close,.project-archive-trigger{justify-content:center;width:100%}.project-card-trigger{gap:16px;grid-template-columns:82px minmax(0,1fr);padding:18px 0}.project-row-featured .project-row-logo-stage,.project-row-logo-stage{min-height:76px}.project-row-featured .project-row-logo,.project-row-logo,.project-row-logo-glow{height:72px;width:72px}.project-row-content h3{font-size:1.18rem}.project-archive-overlay,.project-modal-overlay{padding:16px}.project-archive-panel,.project-modal-panel{--modal-panel-padding:20px}.project-slide{padding:18px}.project-prototype-frame{height:270px}.project-prototype-gallery{grid-template-columns:1fr;max-height:520px}.project-prototype-card,.project-prototype-card.is-column-left,.project-prototype-card.is-column-right,.project-prototype-card.is-phone,.project-prototype-card.is-phone-third,.project-prototype-card.is-tall,.project-prototype-card.is-wide{grid-column:1/-1}.project-video-empty,.project-video-player{min-height:260px}.project-archive-card-mark{min-height:76px;padding-right:4px}.project-archive-card-mark:before{height:72px;width:72px}.project-archive-card-mark img{height:56px;width:56px}.projects-code-bg{font-size:.76rem}}.experience{align-items:center;display:flex;min-height:100vh;min-height:100svh;padding:clamp(96px,11vh,132px) 24px}.experience-container{width:100%}.experience-section-header{margin-bottom:20px}.experience-section-intro{max-width:560px}.experience-meta-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.experience-meta-pills span{align-items:center;background:#0000;border:1px solid #ffffff1f;border-radius:999px;color:var(--text-muted);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.05em;min-height:28px;padding:0 10px}.experience-content-split{grid-gap:38px;align-items:stretch;display:grid;gap:38px;grid-template-columns:repeat(2,minmax(0,1fr))}.experience-pane{background:#0000;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;min-height:100%;padding:0}.experience-pane+.experience-pane{border-left:1px solid #ffffff1f;padding-left:32px}.experience-pane-head{margin-bottom:14px}.experience-pane-eyebrow,.experience-proof-label{color:var(--text-muted);display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.experience-pane-head h3{color:var(--text-strong);font-size:clamp(1.34rem,1.8vw,1.74rem);font-weight:780;letter-spacing:-.03em;margin-top:8px}.experience-credential-list,.experience-list{border-top:1px solid #ffffff24;display:flex;flex-direction:column}.experience-card,.experience-credential-item{border-bottom:1px solid #ffffff1a;overflow:hidden}.experience-credential-item-head,.experience-header{align-items:flex-start;background:#0000;border:0;color:inherit;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:20px 0;text-align:left;width:100%}.experience-credential-main,.experience-info{grid-gap:7px;display:grid;gap:7px}.experience-company,.experience-credential-title,.experience-proof-head h3{color:var(--text-strong);font-size:clamp(1.03rem,1.16vw,1.16rem);font-weight:780;letter-spacing:-.03em}.experience-position{color:var(--text-default);font-size:.84rem;font-weight:640}.experience-credential-date,.experience-period,.experience-proof-meta{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em}.experience-credential-toggle,.toggle-icon{color:var(--text-muted);font-size:.92rem;margin-top:5px;transition:transform .22s ease}.experience-credential-toggle.expanded,.toggle-icon.expanded{transform:rotate(180deg)}.experience-details{overflow:hidden;padding:0 0 18px}.experience-description{color:var(--text-muted);font-size:.84rem;line-height:1.7;margin-bottom:14px}.experience-achievements h4{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.16em;margin-bottom:10px;text-transform:uppercase}.experience-achievements ul{grid-gap:6px;display:grid;gap:6px;list-style:none}.experience-achievements li{background:#0000;border:0;border-radius:0;color:var(--text-default);font-size:.82rem;line-height:1.72;padding:2px 0 2px 18px;position:relative}.experience-achievements li:before{background:#7dd3fcd6;border-radius:50%;content:"";height:6px;left:2px;position:absolute;top:12px;width:6px}.experience-evidence-actions{display:flex;justify-content:flex-end;margin-top:12px}.experience-credential-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.experience-credential-kind{align-items:center;background:#0000;border:1px solid #ffffff52;border-radius:999px;color:var(--text-default);display:inline-flex;font-size:.66rem;font-weight:700;letter-spacing:.12em;min-height:24px;padding:0 9px;text-transform:uppercase}.experience-credential-kind.is-award{background:#0000;border-color:#fbbf2466;color:#fcd34d}.experience-credential-kind.is-certification{background:#0000;border-color:#60a5fa70;color:#93c5fd}.experience-credential-body{overflow:hidden}.experience-credential-body-inner{grid-gap:10px;display:grid;gap:10px;padding:0 0 18px}.experience-credential-description,.experience-credential-validity,.experience-proof-description,.experience-proof-validity{color:var(--text-default);font-size:.82rem;line-height:1.68}.experience-credential-foot{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:auto}.experience-credential-tags,.experience-proof-tags{display:flex;flex-wrap:wrap;gap:8px}.experience-credential-tags span,.experience-proof-tags span{align-items:center;background:#0000;border:1px solid #fff3;border-radius:999px;color:var(--text-default);display:inline-flex;font-size:.7rem;font-weight:700;min-height:24px;padding:0 10px}.experience-proof-trigger{background:#0000;border:1px solid #ffffff52;border-radius:999px;color:var(--text-strong);cursor:pointer;font-size:.74rem;font-weight:700;gap:8px;letter-spacing:.03em;min-height:32px;padding:0 12px 0 9px;transition:transform .2s ease,background .2s ease,border-color .2s ease}.experience-proof-trigger,.experience-proof-trigger-plus{align-items:center;display:inline-flex;justify-content:center}.experience-proof-trigger-plus{border-radius:50%;color:#f5f5eff0;font-size:.92rem;height:18px;line-height:1;transform:rotate(0deg);transform-origin:center;transition:transform .28s cubic-bezier(.22,1,.36,1),color .2s ease;width:18px}.experience-proof-trigger-text{transform:translateY(.3px)}.experience-proof-close{align-items:center;background:#0000;border:1px solid #ffffff52;border-radius:999px;color:var(--text-strong);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:700;justify-content:center;min-height:32px;padding:0 12px;transition:transform .2s ease,background .2s ease}.experience-proof-close:hover,.experience-proof-trigger:hover{background:#ffffff0a;transform:translateY(-1px)}.experience-proof-trigger:focus-visible,.experience-proof-trigger:hover{border-color:#7dd3fcb8}.experience-proof-trigger:focus-visible .experience-proof-trigger-plus,.experience-proof-trigger:hover .experience-proof-trigger-plus{color:#7dd3fc}.experience-proof-trigger.expanded .experience-proof-trigger-plus{transform:rotate(45deg)}.experience-proof-overlay{align-items:center;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1280}.experience-proof-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d1;border:0;inset:0;position:absolute}.experience-proof-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-card);max-height:calc(100vh - 48px);overflow-y:auto;padding:28px;position:relative;width:min(980px,100%);z-index:1}.experience-proof-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.experience-proof-validity{color:var(--text-muted);margin-top:8px}.experience-proof-gallery{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.experience-proof-card{background:#ffffff08;border:1px solid #ffffff17;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:12px}.experience-proof-card img{background:#00000042;border-radius:10px;max-height:340px;object-fit:contain;width:100%}@media (max-width:1180px){.experience-content-split{gap:30px;grid-template-columns:1fr}.experience-pane+.experience-pane{border-left:0;border-top:1px solid #ffffff1f;padding-left:0;padding-top:10px}}@media (max-width:768px){.experience{min-height:auto;padding:88px 16px 112px}.experience-meta-pills{margin-bottom:18px}.experience-pane{padding:0}.experience-credential-item-head,.experience-header{flex-direction:column;gap:10px;padding:16px 2px}.experience-proof-overlay{padding:14px}.experience-proof-panel{padding:18px}.experience-proof-head{flex-direction:column}.experience-proof-close,.experience-proof-trigger{width:100%}.experience-proof-gallery{grid-template-columns:1fr}}.contact{padding:clamp(96px,11vh,132px) 24px 132px;position:relative}.contact-container{width:100%}.contact-header{justify-content:center;margin-bottom:30px;text-align:center}.contact-header .section-title{align-items:center;color:#f5f5eff5;display:inline-flex;gap:12px;justify-content:center}.contact-heading-icon{color:currentColor;display:inline-flex;height:28px;width:28px}.contact-heading-icon svg{height:100%;width:100%}.contact-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(220px,280px));justify-content:center}.contact-link{--contact-accent-rgb:125,211,252;align-items:center;aspect-ratio:1/1;background:#0000;border:2px solid #f5f5efb8;color:#f5f5eff0;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;padding:30px 24px 20px;position:relative;transition:transform .22s ease,border-color .22s ease,color .22s ease;width:min(280px,100%)}.contact-link:after{background:linear-gradient(100deg,rgba(var(--contact-accent-rgb),0) 0,rgba(var(--contact-accent-rgb),.14) 50%,rgba(var(--contact-accent-rgb),0) 100%);content:"";height:100%;left:-120%;position:absolute;top:0;transition:transform .42s ease;width:80%}.contact-link.is-active,.contact-link:focus-visible,.contact-link:hover{border-color:rgba(var(--contact-accent-rgb),.98);color:#fff;transform:translateY(-3px)}.contact-link.is-active:after,.contact-link:focus-visible:after,.contact-link:hover:after{transform:translateX(260%)}.contact-link-head{align-items:center;display:flex;flex-direction:column;gap:18px;margin-top:6px;width:100%}.contact-link-mark{color:#f5f5eff2;height:66px;transition:transform .24s ease,color .24s ease;width:66px}.contact-link-mark svg{display:block;height:100%;width:100%}.contact-link.is-active .contact-link-mark,.contact-link:focus-visible .contact-link-mark,.contact-link:hover .contact-link-mark{color:rgba(var(--contact-accent-rgb),1);transform:scale(1.06)}.contact-link-title-wrap{align-items:center;display:flex;flex-direction:column;gap:12px;text-align:center;width:100%}.contact-link-title{color:#f5f5eff5;font-size:clamp(1.72rem,2vw,1.98rem);font-weight:800;letter-spacing:-.03em;line-height:1}.contact-link-accent{background:rgba(var(--contact-accent-rgb),.96);border-radius:2px;height:7px;width:min(132px,64%)}.contact-link-url{color:#f5f5ef9e;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.7rem;letter-spacing:.03em;line-height:1.4;margin-top:auto;text-align:center;width:100%;word-break:break-word}.contact-link.is-active .contact-link-url,.contact-link:focus-visible .contact-link-url,.contact-link:hover .contact-link-url{color:rgba(var(--contact-accent-rgb),.9)}.contact-event{color:#f5f5ef8c;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.75rem;letter-spacing:.16em;margin-top:18px;text-align:center}.contact-event.is-active{color:#7dd3fce6;color:rgba(var(--contact-accent-rgb,125,211,252),.9)}.contact-top-arrow-wrap{display:flex;justify-content:center;margin-top:24px}.contact-top-arrow{align-items:center;background:#0000;border:1px solid #f5f5ef6b;border-radius:999px;cursor:pointer;display:inline-flex;flex-direction:column;height:52px;justify-content:flex-start;padding-top:8px;transition:transform .2s ease,border-color .2s ease;width:34px}.contact-top-arrow:hover{border-color:#fff;transform:translateY(-2px)}.contact-top-arrow-head{border-left:1.8px solid #f5f5efeb;border-top:1.8px solid #f5f5efeb;height:9px;transform:rotate(45deg);width:9px}@media (max-width:1080px){.contact-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.contact-link{padding:24px 16px 16px;width:100%}.contact-link-title{font-size:clamp(1.24rem,2.1vw,1.62rem)}.contact-link-mark{height:52px;width:52px}.contact-link-accent{height:5px;width:min(100px,72%)}.contact-link-url{font-size:.64rem;letter-spacing:.02em}}@media (max-width:960px){.contact-grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.contact-link{padding:20px 10px 12px;width:100%}.contact-link-title{font-size:clamp(.94rem,2.8vw,1.2rem)}.contact-link-mark{height:36px;width:36px}.contact-link-accent{height:4px;width:min(64px,74%)}.contact-link-head{gap:12px;margin-top:2px}.contact-link-title-wrap{gap:9px}.contact-link-url{font-size:.58rem;line-height:1.3}}@media (max-width:768px){.contact{padding:84px 16px 104px}.contact-top-arrow-wrap{margin-top:18px}.contact-event{font-size:.7rem;margin-top:14px}.contact-grid{gap:8px}.contact-link{border-width:1.6px;padding:16px 8px 10px}.contact-link-title{font-size:clamp(.8rem,3.2vw,.98rem);letter-spacing:-.01em}.contact-link-mark{height:30px;width:30px}.contact-link-accent{height:3px;width:min(52px,76%)}.contact-link-url{font-size:.52rem;line-height:1.28}.contact-link-head{gap:9px}}
/*# sourceMappingURL=main.1ed54974.css.map*/