@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";:root{--color-paper:oklch(98.5% .006 240);--color-paper-2:oklch(96.5% .008 240);--color-paper-3:oklch(94% .01 240);--color-rule:oklch(89% .008 240);--color-rule-subtle:oklch(93% .006 240);--color-neutral:oklch(52% .015 240);--color-muted:oklch(68% .012 240);--color-ink:oklch(18% .02 240);--color-ink-subtle:oklch(34% .018 240);--color-accent:oklch(56% .2 250);--color-accent-subtle:oklch(56% .2 250/.08);--color-focus:oklch(56% .2 250);--bg:var(--color-paper);--card-bg:var(--color-paper-2);--text-primary:var(--color-ink);--text-secondary:var(--color-neutral);--text-muted:var(--color-muted);--border:var(--color-rule);--border-hover:var(--color-ink);--accent:var(--color-accent);--accent-light:var(--color-accent-subtle);--header-bg:oklch(98.5% .006 240/.88);--scrollbar-thumb:oklch(72% .015 240);--scrollbar-thumb-hover:oklch(48% .02 240);--scrollbar-track:transparent;--font-display:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"IBM Plex Sans", "Pretendard Variable", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-sans:var(--font-body);--font-title:var(--font-display);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--container-max-width:1240px;--radius:2px;--radius-lg:6px;--shadow-sm:0 1px 2px oklch(18% .02 240/.04);--shadow-md:0 4px 16px -2px oklch(18% .02 240/.06), 0 1px 3px oklch(18% .02 240/.02);--shadow-lg:0 12px 32px -4px oklch(18% .02 240/.08);--transition:all .18s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--color-paper:oklch(14% .015 240);--color-paper-2:oklch(18% .018 240);--color-paper-3:oklch(23% .02 240);--color-rule:oklch(28% .015 240);--color-rule-subtle:oklch(22% .012 240);--color-neutral:oklch(74% .012 240);--color-muted:oklch(55% .01 240);--color-ink:oklch(95% .008 240);--color-ink-subtle:oklch(84% .01 240);--color-accent:oklch(64% .17 250);--color-accent-subtle:oklch(64% .17 250/.12);--color-focus:oklch(64% .17 250);--bg:var(--color-paper);--card-bg:var(--color-paper-2);--text-primary:var(--color-ink);--text-secondary:var(--color-neutral);--text-muted:var(--color-muted);--border:var(--color-rule);--border-hover:var(--color-ink);--accent:var(--color-accent);--accent-light:var(--color-accent-subtle);--header-bg:oklch(14% .015 240/.88);--scrollbar-thumb:oklch(35% .018 240);--scrollbar-thumb-hover:oklch(48% .022 240);--scrollbar-track:transparent;--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 4px 16px -2px oklch(0% 0 0/.4);--shadow-lg:0 12px 32px -4px oklch(0% 0 0/.5)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000;border-radius:9999px;transition:background-color .2s cubic-bezier(.16,1,.3,1)}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.625}body{overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{font-family:var(--font-title);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}h1{margin-bottom:1rem;font-size:3rem;line-height:1.15}h2{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700}.section-header-editorial{width:100%;margin-bottom:3rem}@media (width<=768px){.section-header-editorial{margin-bottom:2.25rem}}.section-title{font-family:var(--font-title);color:var(--text-primary);letter-spacing:-.03em;text-transform:uppercase;cursor:default;line-height:1.1;display:inline-block;position:relative;border-bottom:none!important;margin-bottom:0!important;padding-bottom:.75rem!important;font-size:3.5rem!important;font-weight:800!important}.section-title:after{content:"";background-color:var(--color-accent);border-radius:2px;width:50px;height:4px;transition:width .4s cubic-bezier(.25,1,.5,1);position:absolute;bottom:0;left:0}.section-title.in-view:after{animation:.8s cubic-bezier(.25,1,.5,1) forwards load-bar-anim}@keyframes load-bar-anim{0%{width:0}to{width:50px}}@media (width<=768px){.section-title{font-size:2.5rem!important}}h3{font-size:1.25rem;font-weight:600}p{color:var(--text-secondary)}a{color:inherit;transition:var(--transition);text-decoration:none}.section{box-sizing:border-box;flex-direction:column;justify-content:center;min-height:100dvh;padding:6.5rem 0 7rem;display:flex}@media (width<=1024px){.section{justify-content:flex-start;padding:5.5rem 0 5rem;min-height:auto!important}}@media (width<=768px){html,body{scroll-behavior:smooth;overflow-x:hidden;height:auto!important}.section{padding:4.5rem 0 calc(3.75rem + env(safe-area-inset-bottom,0px) + 2rem);justify-content:flex-start;min-height:auto!important}}.pc-only{display:flex!important}.mobile-only{display:none!important}@media (width<=1024px){.pc-only{display:none!important}}@media (width<=768px){.mobile-only{display:flex!important}}.grid-2{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.grid-2{grid-template-columns:1fr 1fr}}.btn{border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.btn-primary{background:var(--text-primary);color:var(--bg);border-color:var(--text-primary)}.btn-primary:hover{background:var(--text-secondary);border-color:var(--text-secondary);color:var(--bg)}.border-top{border-top:1px solid var(--border)}.mb-4{margin-bottom:1rem}.floating-top-brand{z-index:100;position:fixed;top:1.5rem;left:2rem}.floating-top-controls{z-index:100;position:fixed;top:1.5rem;right:2rem}.logo{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;background:var(--color-paper-2);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);transition:var(--transition);border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.logo:hover{border-color:var(--border-hover);transform:translateY(-1px)}.logo-symbol{font-family:var(--font-mono);color:var(--color-accent);margin-right:.1rem;font-size:1.25rem;font-weight:700}.logo-text{letter-spacing:-.01em;font-size:.92rem;font-weight:700}.theme-toggle-btn{background:var(--color-paper-2);border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);transition:var(--transition);border-radius:9999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}@media (width<=768px){.floating-top-brand{top:max(.85rem, env(safe-area-inset-top,0px));left:max(1rem, env(safe-area-inset-left,0px))}.floating-top-controls{top:max(.85rem, env(safe-area-inset-top,0px));right:max(1rem, env(safe-area-inset-right,0px))}}.quick-nav{z-index:90;pointer-events:auto;position:fixed;top:50%;left:2rem;transform:translateY(-50%)}.quick-nav-list{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.quick-nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:.75rem;padding:.25rem 0;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.quick-nav-indicator{background-color:var(--color-rule);border-radius:1px;width:20px;height:2px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative}.quick-nav-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-secondary);opacity:.45;white-space:nowrap;font-size:.65rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);transform:translate(0)}.quick-nav-item:hover .quick-nav-indicator{background-color:var(--color-accent);width:28px}.quick-nav-item:hover .quick-nav-label{opacity:.85;color:var(--text-primary)}.quick-nav-item.active .quick-nav-indicator{background-color:var(--color-accent);width:34px;height:3px;box-shadow:0 0 12px var(--color-accent)}.quick-nav-item.active .quick-nav-label{opacity:1;color:var(--color-accent)}@media (width<=1200px){.quick-nav{left:1rem}}@media (width<=1024px){.quick-nav{display:none!important}}.hero-section{flex-direction:column;justify-content:center;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.floating-shape-wrapper.shape-1{animation:22s ease-in-out infinite float-shape-1;top:45px;left:30px}.floating-shape-wrapper.shape-2{animation:26s ease-in-out infinite float-shape-2;bottom:50px;right:40px}.floating-shape-wrapper.shape-3{animation:18s ease-in-out infinite float-shape-3;top:70px;right:50px}.floating-shape-wrapper.shape-4{animation:24s ease-in-out infinite float-shape-4;bottom:140px;left:30px}.floating-shape-wrapper.shape-5{animation:16s ease-in-out infinite float-shape-5;top:55px;left:55%}.floating-shape-wrapper.shape-6{top:50%;right:20px;transform:translateY(-50%)}.floating-shape-wrapper.shape-6 .floating-shape{animation:15s ease-in-out infinite float-shape-6}.parallax-light{transform:translate3d(calc(var(--mx,0) * 35px), calc(var(--my,0) * 35px), 0);transition:transform 80ms ease-out}.parallax-medium{transform:translate3d(calc(var(--mx,0) * 75px), calc(var(--my,0) * 75px), 0);transition:transform 80ms ease-out}.parallax-deep{transform:translate3d(calc(var(--mx,0) * 120px), calc(var(--my,0) * 120px), 0);transition:transform 80ms ease-out}.glow-sphere{background:radial-gradient(circle, var(--color-accent) 0%, transparent 70%);opacity:.25;filter:blur(10px);border-radius:50%;width:90px;height:90px}@keyframes float-shape-1{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-18px)rotate(24deg)}}@keyframes float-shape-2{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-15px)scale(1.06)}}@keyframes float-shape-3{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(-28deg)}}@keyframes float-shape-4{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-16px)rotate(18deg)}}@keyframes float-shape-5{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(-35deg)}}@keyframes float-shape-6{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(20deg)}}.hero-antigravity-layout{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;display:flex;position:relative;overflow:hidden}.antigravity-canvas{pointer-events:none;z-index:0;width:100vw;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.floating-shape-wrapper{pointer-events:none;z-index:1;will-change:transform;position:absolute}.hero-content-left{z-index:2;text-align:left;flex-direction:column;align-items:flex-start;width:100%;max-width:820px;margin-top:0;padding:0;display:flex;position:relative}.hero-eyebrow-badge{margin-bottom:.5rem;display:inline-block}.hero-eyebrow-text{font-family:var(--font-title);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding-bottom:.15rem;font-size:.85rem;font-weight:700;display:inline-block;position:relative}.hero-eyebrow-text:after{content:"";background-color:var(--color-accent);border-radius:1px;width:22px;height:2px;position:absolute;bottom:0;left:0}.hero-title-left{letter-spacing:-.04em;text-align:left;min-height:2.25em;margin-bottom:1rem;font-size:clamp(2.1rem,6.5vw,4.8rem);font-weight:800;line-height:1.12}.hero-title-first{color:var(--text-primary)}.hero-title-second{color:var(--color-accent)}.typing-cursor{background-color:var(--color-accent);vertical-align:-.05em;border-radius:1px;width:4px;height:.85em;margin-left:6px;animation:.8s infinite cursor-blink-anim;display:inline-block}@keyframes cursor-blink-anim{0%,to{opacity:0}50%{opacity:1}}.hero-subtitle-left{color:var(--text-secondary);text-align:left;max-width:55ch;min-height:1.65em;margin:0;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.65}@media (width<=768px){.hero-title-left{min-height:auto;margin-bottom:.75rem;line-height:1.18}.hero-subtitle-left{max-width:100%;min-height:auto;line-height:1.5}.floating-shape-wrapper{opacity:.45;transform:scale(.62)}.floating-shape-wrapper.shape-1{top:20px;left:-20px}.floating-shape-wrapper.shape-2{bottom:20px;right:-20px}.floating-shape-wrapper.shape-3{top:35px;right:-20px}.floating-shape-wrapper.shape-4{bottom:70px;left:-20px}.floating-shape-wrapper.shape-5,.floating-shape-wrapper.shape-6{display:none!important}}.fade-in-target{opacity:0;pointer-events:none;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(12px)}.fade-in-target.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.fade-in-target.stagger-1.visible{transition-delay:.1s}.fade-in-target.stagger-2.visible{transition-delay:.4s}.fade-in-target.stagger-3.visible{transition-delay:.75s}.scroll-indicator.global-fixed{color:var(--text-secondary);z-index:90;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),color .2s,visibility .75s;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(12px)}.scroll-indicator.global-fixed.visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.75s;transform:translate(-50%)translateY(0)}.scroll-indicator.global-fixed.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition-duration:.3s!important;transition-delay:0s!important;transform:translate(-50%)translateY(8px)!important}.scroll-indicator:hover{color:var(--color-accent)}.scroll-indicator-pc{flex-direction:column;align-items:center;gap:.5rem;display:flex}.scroll-text{font-family:var(--font-mono);letter-spacing:.18em;color:inherit;font-size:.65rem;font-weight:600;transition:color .2s}.scroll-line-wrapper{background-color:var(--color-rule);border-radius:1px;width:1px;height:32px;position:relative;overflow:hidden}.scroll-line-bar{background:linear-gradient(to bottom, transparent, var(--color-accent), transparent);width:100%;height:100%;animation:2s cubic-bezier(.65,0,.35,1) infinite scroll-line-flow;position:absolute;top:0;left:0}@keyframes scroll-line-flow{0%{transform:translateY(-100%)}50%,to{transform:translateY(100%)}}.scroll-indicator-mobile{color:var(--text-secondary);justify-content:center;align-items:center;display:none}.chevron-icon{width:28px;height:28px;stroke:var(--text-secondary);animation:1.8s ease-in-out infinite chevron-bounce}@keyframes chevron-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;stroke:var(--color-accent);transform:translateY(6px)}}@media (width<=768px){.scroll-indicator.global-fixed{bottom:calc(3.75rem + env(safe-area-inset-bottom,0px) + .85rem)!important}.scroll-indicator-pc{display:none!important}.scroll-indicator-mobile{display:flex!important}}@media (height<=550px){.scroll-indicator.global-fixed{display:none!important}}.about-profile-grid{z-index:2;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:1fr;gap:2rem;padding:0;display:grid;position:relative}@media (width>=768px){.about-profile-grid{grid-template-columns:230px 1fr;gap:3.5rem}}.profile-photo-wrapper{justify-content:center;align-items:flex-start;padding:10px;display:flex;position:relative}.profile-photo-wrapper:before,.profile-photo-wrapper:after{content:"";pointer-events:none;z-index:3;width:12px;height:12px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s;position:absolute}.profile-photo-wrapper:before{border-top:2px solid var(--color-accent);border-left:2px solid var(--color-accent);top:0;left:0}.profile-photo-wrapper:after{border-bottom:2px solid var(--color-accent);border-right:2px solid var(--color-accent);bottom:0;right:0}.profile-photo-container{background:var(--color-paper-2);border:1px solid var(--border);z-index:1;border-radius:0;width:100%;max-width:230px;height:300px;padding:5px;position:relative;box-shadow:0 4px 20px oklch(18% .02 240/.04)}@media (width<=768px){.profile-photo-wrapper{margin:0 auto .5rem;padding:6px}.profile-photo-container{max-width:170px;height:220px}.profile-photo-container:before{width:10px;height:10px;top:-6px;right:-6px}.profile-photo-container:after{width:10px;height:10px;bottom:-6px;left:-6px}.profile-photo-wrapper:before{width:10px;height:10px;top:0;left:0}.profile-photo-wrapper:after{width:10px;height:10px;bottom:0;right:0}}.profile-photo-container:before,.profile-photo-container:after{content:"";pointer-events:none;z-index:3;width:12px;height:12px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s;position:absolute}.profile-photo-container:before{border-top:2px solid var(--color-accent);border-right:2px solid var(--color-accent);top:-10px;right:-10px}.profile-photo-container:after{border-bottom:2px solid var(--color-accent);border-left:2px solid var(--color-accent);bottom:-10px;left:-10px}.profile-photo-wrapper:hover:before{transform:translate(-2px,-2px)}.profile-photo-wrapper:hover:after{transform:translate(2px,2px)}.profile-photo-wrapper:hover .profile-photo-container:before{transform:translate(2px,-2px)}.profile-photo-wrapper:hover .profile-photo-container:after{transform:translate(-2px,2px)}.profile-photo{object-fit:cover;border:1px solid var(--color-rule-subtle);filter:contrast(1.02);width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.profile-photo-placeholder{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg, var(--card-bg) 0%, var(--bg) 100%);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.profile-photo-placeholder svg{opacity:.4;width:48px;height:48px;color:var(--accent)}.placeholder-text{letter-spacing:.05em;text-transform:uppercase;opacity:.5;font-size:.8125rem;font-weight:600}.profile-info-wrapper{flex-direction:column;justify-content:center;display:flex}.profile-info-header{flex-direction:row;align-items:baseline;margin-bottom:1rem;display:flex}.profile-name{color:var(--text-primary);margin:0;font-size:2.25rem;font-weight:800;line-height:1.2}.profile-name-separator{color:var(--border);font-family:var(--font-sans);margin:0 .75rem;font-weight:300}.profile-eng-name{color:var(--accent);opacity:.8;font-size:1.125rem;font-weight:500}.profile-bio{font-family:var(--font-sans);color:var(--text-secondary);border-left:none;margin:0 0 2rem;padding-left:0;font-size:1.0625rem;font-style:italic;font-weight:400;line-height:1.7}.profile-meta-list{border-top:1px solid var(--border);flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding-top:1.5rem;display:flex}.profile-meta-item{align-items:center;gap:1.5rem;min-height:20px;font-size:.9375rem;display:flex}.meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0;align-items:center;width:100px;font-size:.75rem;font-weight:700;display:flex}.meta-value{color:var(--text-primary);font-weight:500}.nickname-row{align-items:center}.nickname-toggle-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-family:inherit;display:inline-flex}.nickname-value{color:var(--text-primary);border-bottom:1px dashed var(--border);transition:var(--transition);padding-bottom:1px;font-size:.9375rem;font-weight:600}.nickname-toggle-btn:hover .nickname-value{color:var(--accent);border-bottom-color:var(--accent)}.nickname-toggle-icon{color:var(--accent);background:var(--accent-light);width:18px;height:18px;transition:var(--transition);opacity:.8;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.nickname-toggle-btn:hover .nickname-toggle-icon{background:var(--accent);color:var(--bg);opacity:1;transform:scale(1.08)}.nickname-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;background:#0006;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s forwards modalFadeIn;display:flex;position:fixed;top:0;left:0}.nickname-modal-overlay.closing{animation:.3s forwards modalFadeOut}.nickname-modal-content.closing{animation:.3s cubic-bezier(.25,.46,.45,.94) forwards modalSlideDown}.modal-chip-navigation{border-top:1px dashed var(--border);background:var(--card-bg);flex-shrink:0;justify-content:center;gap:1.25rem;padding:1.25rem 2.25rem 1.5rem;display:flex}.modal-nav-chip{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.25rem .5rem;font-size:.875rem;font-weight:500;position:relative}.modal-nav-chip:hover{color:var(--text-primary)}.modal-nav-chip.active{color:var(--accent);font-weight:700}.modal-nav-chip.active:after{content:"";background-color:var(--accent);border-radius:2px;width:100%;height:2px;position:absolute;bottom:-2px;left:0}@media (width<=768px){.modal-chip-navigation{gap:.5rem;margin-top:1.25rem;padding-top:1rem}.modal-nav-chip{padding:.25rem .35rem;font-size:.8125rem}}.nickname-modal-content{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:min(92%,560px);max-height:85dvh;padding:0;animation:.35s cubic-bezier(.25,.46,.45,.94) forwards modalSlideUp;display:flex;position:relative;box-shadow:0 20px 50px #00000026}.modal-style-nickname{max-width:540px;padding:5.25rem 0 2.25rem!important}@media (width<=768px){.nickname-modal-content{width:94%;max-height:88dvh}.modal-style-nickname{padding:3.8rem 0 1.25rem!important}}.modal-style-keyword{max-width:600px;overflow:hidden;padding:0!important}.modal-avatar-header{text-align:left;flex-direction:column;align-items:flex-start;margin-bottom:1rem;padding:0 2.25rem;display:flex}.modal-avatar-container{border:3px solid var(--card-bg);background:var(--bg);z-index:10;border-radius:50%;width:100px;height:100px;position:absolute;top:-52px;left:2.25rem;right:auto;overflow:hidden;box-shadow:0 10px 25px #00000026}@media (width<=768px){.modal-avatar-header{padding:0 1.5rem}.modal-avatar-container{width:76px;height:76px;top:-36px;left:1.5rem}}.modal-avatar-img{object-fit:cover;width:100%;height:100%}.modal-avatar-fallback{background:var(--bg);width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.modal-avatar-fallback svg{opacity:.5;width:32px;height:32px}.modal-banner-header{width:100%;position:relative}.modal-banner-container{aspect-ratio:16/4;background:var(--bg);width:100%;position:relative;overflow:hidden}.modal-banner-img{object-fit:cover;width:100%;height:100%}.modal-banner-overlay-gradient{background:linear-gradient(to top, var(--card-bg) 0%, transparent 100%);width:100%;height:40%;position:absolute;bottom:0;left:0}.modal-banner-text-wrapper{padding:1.5rem 2.25rem .25rem}.modal-body-content{flex:auto;overflow-y:auto}.modal-body-content::-webkit-scrollbar{width:5px}.modal-body-content::-webkit-scrollbar-track{background:0 0}.modal-body-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal-style-nickname .modal-body-content{padding:.5rem 2.25rem}.modal-style-keyword .modal-body-content{padding:1rem 2.25rem 1.5rem}@keyframes modal-tab-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-tab-transition{animation:.35s cubic-bezier(.215,.61,.355,1) forwards modal-tab-fade-in}.modal-style-keyword .modal-close-btn{color:#fff;text-shadow:0 2px 8px #00000080;z-index:10;background:#0003;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0 0 4px;font-size:1.5rem;display:flex;top:1rem;right:1rem}.modal-style-keyword .modal-close-btn:hover{color:var(--accent);background:#0006}.modal-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.25rem;font-size:1.75rem;line-height:1;position:absolute;top:1rem;right:1.25rem}.modal-close-btn:hover{color:var(--text-primary)}.modal-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.8125rem;font-weight:700;display:inline-block}.modal-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:2rem;font-weight:700}.modal-quote{color:var(--text-primary);border-left:2.5px solid var(--accent);margin:0 0 1.25rem;padding-left:1rem;font-size:1.125rem;font-weight:600;line-height:1.6}.modal-desc-container{flex-direction:column;gap:1rem;display:flex}.modal-desc{color:var(--text-secondary);white-space:pre-wrap;text-indent:1rem;text-align:justify;word-break:keep-all;margin:0;font-size:1rem;line-height:1.75}.modal-blog-link-wrapper{border-top:1px dashed var(--border);margin-top:1.5rem;padding-top:1.25rem}.modal-blog-link{color:var(--accent);transition:var(--transition);border-bottom:1px dashed #0000;align-items:center;gap:.25rem;padding-bottom:1px;font-size:.9375rem;font-weight:600;display:inline-flex}.modal-blog-link:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.profile-values-row{align-items:center}.profile-values-list{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.value-chip-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg,6px);cursor:pointer;align-items:center;gap:.4rem;padding:.25rem .65rem;font-family:inherit;line-height:1.2;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 3px #00000008}.value-chip-keyword{color:var(--text-primary);letter-spacing:-.01em;font-size:.875rem;font-weight:600;transition:color .2s}.value-chip-icon{color:var(--accent);background:var(--accent-light);opacity:.85;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:inline-flex}.value-chip-btn:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1.5px);box-shadow:0 4px 12px #2563eb1f}.value-chip-btn:hover .value-chip-keyword{color:var(--accent)}.value-chip-btn:hover .value-chip-icon{background:var(--accent);color:#fff;opacity:1;transform:scale(1.1)}.value-chip-btn.active{border-color:var(--accent);background:var(--accent);box-shadow:0 4px 12px #2563eb33}.value-chip-btn.active .value-chip-keyword{color:#fff}.value-chip-btn.active .value-chip-icon{color:#fff;opacity:1;background:#ffffff40}.skills-section{position:relative}.skills-header{flex-direction:column;gap:1rem;display:flex}@media (width>=768px){.skills-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.skills-legend{font-family:var(--font-mono);color:var(--color-neutral);flex-wrap:wrap;align-items:center;gap:.5rem .85rem;font-size:.68rem;display:flex}.legend-item{align-items:center;gap:.45rem;display:flex}.legend-indicator{background:var(--color-paper-2);border-radius:0;width:14px;height:8px;display:inline-block}.legend-indicator.indicator-senior{border:1.5px solid var(--color-ink);background:var(--color-paper-3)}.legend-indicator.indicator-prod{border:1.5px solid var(--color-rule)}.legend-indicator.indicator-personal{border:1.5px dashed var(--color-muted);background:0 0}.legend-sep{color:var(--color-rule)}.skills-matrix-wrapper{flex-direction:column;gap:1.25rem;width:100%;display:flex}.skill-category-row{grid-template-columns:1fr;align-items:center;gap:.65rem;display:grid}@media (width>=768px){.skills-matrix-wrapper{gap:1.4rem}.skill-category-row{grid-template-columns:210px 1fr;gap:1.5rem}}.skill-category-header{align-items:baseline;gap:.45rem;display:flex}.skill-category-name{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.skill-category-count{font-family:var(--font-mono);color:var(--color-muted);opacity:.75;font-size:.65rem}.skill-chips-group{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.skill-chip{background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-body);box-sizing:border-box;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:0;outline:none;align-items:center;gap:.5rem;padding:.38rem .78rem;font-size:.8125rem;font-weight:500;line-height:1.2;transition:transform .15s cubic-bezier(.16,1,.3,1),background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.skill-chip.chip-level-senior{border:1.5px solid var(--color-ink);font-weight:600}.skill-chip.chip-level-prod{border:1.5px solid var(--color-rule)}.skill-chip.chip-level-personal{border:1.5px dashed var(--color-muted);color:var(--color-ink-subtle)}.skill-chip:hover{transform:translateY(-1px)}.skill-chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.skill-chip.chip-level-senior:hover,.skill-chip.chip-level-senior:focus-visible{background:var(--color-accent-subtle)!important;border-color:var(--color-accent)!important}.skill-chip.chip-level-senior.active{box-shadow:0 0 0 1px var(--color-accent);background:var(--color-accent-subtle)!important;border-color:var(--color-accent)!important}.skill-chip.chip-level-prod:hover,.skill-chip.chip-level-prod:focus-visible{background:var(--color-paper-3)!important;border-color:var(--color-accent)!important}.skill-chip.chip-level-prod.active{box-shadow:none;background:var(--color-paper-3)!important;border-color:var(--color-accent)!important}.skill-chip.chip-level-personal:hover,.skill-chip.chip-level-personal:focus-visible{background:var(--color-paper-3)!important;border:1.5px dashed var(--color-accent)!important}.skill-chip.chip-level-personal.active{background:var(--color-paper-3)!important;border:1.5px dashed var(--color-accent)!important;box-shadow:none!important}.skill-chip-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.skill-chip-logo{object-fit:contain;width:15px;height:15px}.skill-chip-name{white-space:nowrap}.skills-ambient-glass-panel{background:var(--color-paper-2);border:1.5px solid var(--color-rule-subtle);box-sizing:border-box;-webkit-backdrop-filter:blur(16px);border-radius:0;flex-direction:column;justify-content:center;min-height:96px;margin-top:2.25rem;padding:1.25rem 1.65rem;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px -4px oklch(18% .02 240/.04)}@media (width<=768px){.skills-ambient-glass-panel{min-height:80px;margin-top:1.5rem;padding:.85rem 1.15rem}}.skills-ambient-glass-panel:hover{border-color:var(--color-rule)}.ambient-glass-watermark{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;opacity:.12;filter:grayscale()contrast(1.15);justify-content:center;align-items:center;width:135px;height:135px;animation:.25s cubic-bezier(.16,1,.3,1) forwards watermark-fade;display:flex;position:absolute;bottom:-22px;right:-10px}@media (width<=768px){.ambient-glass-watermark{opacity:.08;width:80px;height:80px;bottom:-15px;right:-5px}}.ambient-watermark-img{object-fit:contain;width:100%;height:100%}@keyframes watermark-fade{0%{opacity:0;transform:rotate(-18deg)scale(.92)}to{opacity:.12;transform:rotate(-13deg)scale(1)}}.ambient-glass-body{z-index:1;width:100%;position:relative}.inspector-fade-in{animation:.18s cubic-bezier(.16,1,.3,1) forwards inspector-fade}@keyframes inspector-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.ambient-glass-meta-row{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.45rem;display:flex}.ambient-glass-title-group{align-items:center;gap:.55rem;display:flex}.ambient-glass-icon-wrap,.ambient-glass-icon-fallback{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.ambient-glass-icon-fallback{color:var(--color-muted)}.ambient-glass-logo{object-fit:contain;width:16px;height:16px}.ambient-glass-name{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.skills-ambient-glass-panel.inspector-border-senior{border:1.5px solid var(--color-ink)}.skills-ambient-glass-panel.inspector-border-prod{border:1.5px solid var(--color-rule)}.skills-ambient-glass-panel.inspector-border-personal{border:1.5px dashed var(--color-muted)}.skills-ambient-glass-panel.inspector-border-overview{border:1.5px solid var(--color-rule-subtle)}.ambient-glass-desc{color:var(--color-neutral);letter-spacing:-.005em;margin:0;font-size:.84rem;line-height:1.6}.ambient-glass-desc-guide{color:var(--color-muted)}.experience-hallmark-section{flex-direction:column;justify-content:center;display:flex}.experience-hallmark-grid{grid-template-columns:1fr;align-items:start;gap:2.5rem;margin-top:1.5rem;display:grid}@media (width>=1024px){.experience-hallmark-grid{grid-template-columns:1.8fr 1fr;gap:3.5rem}}@media (width<=1024px){.experience-hallmark-grid{grid-template-columns:1fr;gap:2.5rem}.chrono-timeline-list,.cert-spec-ledger{padding-right:0;max-height:none!important;overflow-y:visible!important}}@media (width<=768px){.chrono-rail-item{grid-template-columns:20px 1fr;gap:.65rem}.chrono-header-btn{padding:.35rem .25rem}.chrono-company-name{font-size:.95rem}.chrono-role-title{font-size:.825rem}.chrono-desc-item{font-size:.8125rem}}.hallmark-subheading{font-family:var(--font-display);color:var(--text-primary);border-bottom:1px solid var(--border);letter-spacing:-.01em;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.05rem;font-weight:700}.experience-chrono-column{width:100%}.chrono-timeline-list{flex-direction:column;gap:0;max-height:440px;padding-right:.5rem;display:flex;overflow-y:auto}.chrono-timeline-list::-webkit-scrollbar{width:3px}.cert-spec-ledger::-webkit-scrollbar{width:3px}.chrono-timeline-list::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:2px}.cert-spec-ledger::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:2px}.chrono-rail-item{grid-template-columns:24px 1fr;gap:1rem;transition:all .2s;display:grid;position:relative}.chrono-node-track{flex-direction:column;align-items:center;padding-top:.55rem;display:flex;position:relative}.chrono-node-dot{background:var(--bg);border:2px solid var(--border);z-index:2;border-radius:50%;width:11px;height:11px;transition:all .25s cubic-bezier(.16,1,.3,1)}.chrono-node-dot.active-pulse{border-color:var(--color-accent);background:var(--bg);box-shadow:0 0 0 3px var(--color-accent-subtle)}.chrono-rail-line{background:var(--border);z-index:1;width:1.5px;position:absolute;top:1.15rem;bottom:0;left:50%;transform:translate(-50%)}.chrono-item-content{flex-direction:column;padding-bottom:1.25rem;display:flex}.chrono-header-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:.4rem .6rem;transition:background-color .2s;display:flex}.chrono-header-btn:hover{background-color:var(--color-paper-2)}.chrono-meta-head{flex-direction:column;flex:1;gap:.35rem;display:flex}.chrono-time-badge{align-items:center;gap:.6rem;display:flex}.chrono-period{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem;font-weight:600}.chrono-type-tag{font-family:var(--font-mono);letter-spacing:.03em;border-radius:3px;padding:.12rem .48rem;font-size:.65rem;font-weight:700}.chrono-type-tag.career{background:var(--color-accent-subtle);color:var(--color-accent);border:1px solid var(--color-accent)}.chrono-type-tag.education{background:var(--color-paper-3);color:var(--text-secondary);border:1px solid var(--border)}.chrono-title-group{align-items:center;gap:.5rem;display:flex}.chrono-company-logo{object-fit:contain;border-radius:3px;width:18px;height:18px}.chrono-company-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.chrono-outlink{color:var(--text-muted);align-items:center;transition:color .2s,transform .2s;display:inline-flex}.chrono-outlink:hover{color:var(--color-accent);transform:translateY(-1px)}.chrono-role-title{color:var(--text-secondary);font-size:.84rem;font-weight:500}.chrono-chevron{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-left:.75rem;transition:transform .25s cubic-bezier(.16,1,.3,1),color .2s;display:flex}.chrono-header-btn:hover .chrono-chevron{color:var(--color-accent)}.chrono-chevron.rotate{color:var(--color-accent);transform:rotate(180deg)}.chrono-body-wrap{padding:.75rem .5rem .25rem;animation:.25s ease-out forwards chrono-fade}@keyframes chrono-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chrono-desc-list{flex-direction:column;gap:.45rem;margin:0;padding-left:0;list-style-type:none;display:flex}.chrono-desc-item{color:var(--text-secondary);padding-left:1.1rem;font-size:.82rem;line-height:1.55;position:relative}.chrono-desc-item:before{content:"—";color:var(--color-accent);position:absolute;left:0}.experience-cert-column{width:100%}.cert-spec-ledger{flex-direction:column;gap:0;max-height:440px;padding-right:.5rem;display:flex;overflow-y:auto}.cert-spec-row{border-bottom:1px solid var(--color-rule-subtle);justify-content:space-between;align-items:baseline;padding:.85rem 0;transition:border-color .2s;display:flex}.cert-spec-row:hover{border-bottom-color:var(--border-hover)}.cert-spec-main{flex-direction:column;gap:.15rem;display:flex}.cert-spec-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:.92rem;font-weight:700}.cert-spec-issuer{color:var(--text-secondary);margin:0;font-size:.78rem}.cert-spec-date{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;margin-left:1rem;font-size:.72rem;font-weight:600}.projects-accordion-section{flex-direction:column;justify-content:center;display:flex}.projects-accordion-header{flex-direction:column;align-items:flex-start;gap:1.25rem;width:100%;margin-bottom:2rem;display:flex}@media (width>=768px){.projects-accordion-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.projects-filter-bar{background:var(--color-paper-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem;display:flex}.mono-archive-section{background:var(--color-paper);position:relative}.projects-mono-header{flex-direction:column;gap:1.25rem;display:flex}@media (width>=768px){.projects-mono-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.mono-filter-strip{font-family:var(--font-mono);align-items:center;gap:.75rem;font-size:.75rem;display:flex}.mono-filter-btn{font-family:var(--font-mono);color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:500;transition:color .15s;position:relative}.mono-filter-btn:hover{color:var(--color-ink)}.mono-filter-btn.active{color:var(--color-accent);font-weight:700}.mono-filter-divider{color:var(--color-rule);-webkit-user-select:none;user-select:none}@media (width<=768px){.mono-filter-strip{white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:.35rem;overflow-x:auto}}.mono-archive-grid{grid-template-columns:1fr;align-items:start;gap:2.5rem;display:grid}@media (width>=1024px){.mono-archive-grid{grid-template-columns:290px 1fr;gap:3.5rem;min-height:400px}}.mono-index-rail{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--color-rule-subtle);flex-direction:row;gap:.75rem;padding-bottom:.75rem;display:flex;overflow-x:auto}@media (width>=1024px){.mono-index-rail{scroll-snap-type:none;border-bottom:none;flex-direction:column;gap:0;padding-bottom:0;position:sticky;top:5.5rem;overflow-x:visible}}.mono-index-item{border:none;border-left:2px solid #0000;border-bottom:1px solid var(--color-rule-subtle);cursor:pointer;text-align:left;scroll-snap-align:start;background:0 0;flex-shrink:0;align-items:flex-start;gap:.85rem;min-width:200px;padding:.85rem .65rem;transition:border-color .15s,transform .15s,background-color .15s;display:flex}@media (width>=1024px){.mono-index-item{flex-shrink:1;width:100%;min-width:0;padding:.95rem .65rem}}.mono-index-item:hover{background:var(--color-paper-2);border-left-color:var(--color-rule)}.mono-index-item.is-selected{background:var(--color-paper-2);border-left-color:var(--color-accent)}.mono-item-num{font-family:var(--font-mono);color:var(--color-muted);font-size:.75rem;font-weight:700;transition:color .15s}.mono-index-item.is-selected .mono-item-num{color:var(--color-accent)}.mono-item-meta{flex-direction:column;flex:1;gap:.2rem;display:flex}.mono-item-headline{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.mono-item-title{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.01em;font-size:.98rem;font-weight:700;line-height:1.2}.mono-item-type-text{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.05em;font-size:.58rem;font-weight:700}.mono-item-desc{color:var(--color-neutral);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;line-height:1.3;overflow:hidden}.mono-item-period{font-family:var(--font-mono);color:var(--color-muted);margin-top:.1rem;font-size:.65rem}.mono-doc-sheet{flex-direction:column;gap:1.25rem;min-height:380px;animation:.18s cubic-bezier(.16,1,.3,1) forwards mono-sheet-fade;display:flex}@keyframes mono-sheet-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mono-doc-header{border-bottom:1px solid var(--color-rule);flex-direction:column;gap:.55rem;padding-bottom:1.15rem;display:flex}.mono-doc-kicker-row{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.68rem;display:flex}.mono-doc-scope{color:var(--color-accent);font-weight:700}.mono-doc-sep{color:var(--color-rule)}.mono-doc-title-row{flex-direction:column;gap:.5rem;display:flex}@media (width>=640px){.mono-doc-title-row{flex-direction:row;justify-content:space-between;align-items:baseline}}.mono-doc-title{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.025em;margin:0;font-size:clamp(1.25rem,3.5vw,1.68rem);font-weight:800;line-height:1.25}.mono-doc-links{flex-shrink:0;align-items:center;gap:1rem;display:flex}.mono-text-link{font-family:var(--font-mono);color:var(--color-neutral);border-bottom:1px solid var(--color-rule);padding-bottom:1px;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.mono-text-link:hover{color:var(--color-ink);border-color:var(--color-ink)}.mono-text-link.primary{color:var(--color-accent);border-color:var(--color-accent)}.mono-text-link.primary:hover{filter:brightness(1.15)}.mono-doc-summary{color:var(--color-neutral);margin:0;font-size:.92rem;font-weight:400;line-height:1.55}.mono-doc-tech-icons{border-top:1px dashed var(--color-rule-subtle);align-items:center;gap:.75rem;margin-top:.4rem;padding-top:.5rem;display:flex}.mono-tech-label{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.05em;-webkit-user-select:none;user-select:none;font-size:.65rem;font-weight:700}.mono-tech-icon-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mono-tech-icon-item{cursor:default;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .15s;display:flex}.mono-tech-icon-item:hover{transform:translateY(-2px)}.mono-tech-img{object-fit:contain;width:18px;height:18px}.mono-tech-fallback{font-family:var(--font-mono);color:var(--color-muted);font-size:.62rem;font-weight:700}.mono-doc-section{flex-direction:column;gap:.65rem;padding-top:.25rem;display:flex}.mono-sec-label{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:700}.mono-deliverable-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.mono-deliverable-item{align-items:flex-start;gap:.6rem;display:flex}.mono-bullet{font-family:var(--font-mono);color:var(--color-accent);-webkit-user-select:none;user-select:none;font-weight:700;line-height:1.5}.mono-bullet.perf{font-size:.75rem;line-height:1.6}.mono-deliverable-text{color:var(--color-ink);font-size:.85rem;line-height:1.55}.mono-deliverable-item.highlight-perf{border-top:1px dashed var(--color-rule-subtle);margin-top:.2rem;padding-top:.4rem}.mono-deliverable-item.highlight-perf .mono-deliverable-text strong{color:var(--color-ink)}.tech-icon-tooltip-wrapper{cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.tech-spec-icon{object-fit:contain;opacity:.9;width:18px;height:18px;transition:var(--transition)}.tech-spec-icon-fallback{background-color:var(--border);width:18px;height:18px;color:var(--text-secondary);font-family:var(--font-title);text-transform:uppercase;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:.5625rem;font-weight:700;display:flex}.tech-icon-tooltip-wrapper:hover .tech-spec-icon{opacity:1;transform:translateY(-2px)}.tech-icon-tooltip-wrapper:hover .tech-spec-icon-fallback{background-color:var(--text-primary);color:var(--bg);transform:translateY(-2px)}.tech-tooltip{background-color:var(--text-primary);color:var(--bg);font-family:var(--font-title);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-sm);z-index:10;border-radius:4px;padding:.25rem .5rem;font-size:.6875rem;font-weight:700;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);position:absolute;bottom:125%;left:50%;transform:translate(-50%)translateY(4px)}.tech-tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--text-primary);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tech-icon-tooltip-wrapper:hover .tech-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.trouble-accordion{border:none;border-left:2px solid var(--border);transition:var(--transition);background:0 0;border-radius:0;margin-bottom:2rem;overflow:hidden}.trouble-accordion.open{border-left-color:var(--accent)}.accordion-trigger{cursor:pointer;text-align:left;width:100%;transition:var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.accordion-trigger:hover{background-color:var(--accent-light)}.trigger-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:inline-flex}.trigger-icon{width:1rem;height:1rem;color:var(--text-secondary);transition:transform .2s}.trouble-accordion.open .trigger-icon{color:var(--accent);transform:rotate(180deg)}.accordion-content{background:0 0;max-height:0;transition:max-height .2s ease-out;overflow:hidden}.trouble-accordion.open .accordion-content{max-height:1000px}.accordion-body{padding:1.25rem 1.25rem 1.25rem 2.25rem}.trouble-grid{flex-direction:column;gap:1.25rem;display:flex}.trouble-item{flex-direction:column;display:flex}.trouble-label{text-transform:uppercase;color:var(--accent);letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:800}.trouble-text{color:var(--text-secondary);font-size:.875rem;line-height:1.55}.highlight-result{color:var(--text-primary);font-weight:700}.contact-section{text-align:center;padding-bottom:3rem}.contact-container{flex-direction:column;align-items:center;width:100%;display:flex}.contact-grid{grid-template-columns:1fr;gap:1.5rem;width:100%;margin-bottom:4rem;display:grid}@media (width>=640px){.contact-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.contact-card{text-align:left;border:1px solid var(--border);background:var(--card-bg);border-radius:var(--radius);min-height:150px;transition:var(--transition);cursor:pointer;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.contact-card.card-gmail:hover{border-color:#ea4335;transform:translateY(-3px);box-shadow:0 10px 25px #ea43350f}.contact-card.card-github:hover{border-color:#24292e;transform:translateY(-3px);box-shadow:0 10px 25px #24292e0f}.contact-card.card-tistory:hover{border-color:#fc4c4e;transform:translateY(-3px);box-shadow:0 10px 25px #fc4c4e0f}.contact-card-header{justify-content:space-between;align-items:center;width:100%;display:flex}.contact-logo-wrapper{background-color:var(--bg);border:1px solid var(--border);width:38px;height:38px;transition:var(--transition);border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.contact-card.card-gmail:hover .contact-logo-wrapper{background-color:#ea433505;border-color:#ea433533}.contact-card.card-github:hover .contact-logo-wrapper{background-color:#24292e05;border-color:#24292e33}.contact-card.card-tistory:hover .contact-logo-wrapper{background-color:#fc4c4e05;border-color:#fc4c4e33}.contact-card-logo{object-fit:contain;max-width:100%;max-height:100%}.contact-card-arrow{color:var(--text-muted);transition:var(--transition);font-size:1.125rem;font-weight:500}.contact-card:hover .contact-card-arrow{transform:translate(4px)}.contact-card.card-gmail:hover .contact-card-arrow{color:#ea4335}.contact-card.card-github:hover .contact-card-arrow{color:#24292e}.contact-card.card-tistory:hover .contact-card-arrow{color:#fc4c4e}.btn-card-copy{border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:4px;padding:.25rem .625rem;font-size:.6875rem;font-weight:600}.btn-card-copy:hover{border-color:var(--text-primary);color:var(--text-primary)}.btn-card-copy.copied{color:#fff;background:#ea4335;border-color:#ea4335}.contact-card-body{flex-direction:column;margin-top:1.25rem;display:flex}.contact-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.contact-value{color:var(--text-primary);word-break:break-all;transition:var(--transition);margin-top:.25rem;font-size:.9375rem;font-weight:600}.contact-card.card-gmail:hover .contact-value{color:#ea4335}.contact-card.card-github:hover .contact-value{color:#24292e}.contact-card.card-tistory:hover .contact-value{color:#fc4c4e}.copyright{color:var(--text-muted);font-size:.75rem}.contact-section-dark-fixed .card-github .contact-card-logo{filter:invert()brightness(1.5)}.contact-section-dark-fixed .contact-card.card-github:hover .contact-value,.contact-section-dark-fixed .contact-card.card-github:hover .contact-card-arrow{color:#fff}.contact-section-dark-fixed .contact-card.card-github:hover .contact-logo-wrapper{background-color:#ffffff05;border-color:#fff}.mobile-bottom-nav{display:none}@media (width<=768px){.site-header .nav-menu{display:none}.header-container{padding:0 1rem}.mobile-bottom-nav{height:calc(3.75rem + env(safe-area-inset-bottom,0px));background-color:var(--header-bg);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-secondary);height:100%;transition:var(--transition);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1875rem;font-size:.65rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav-icon{color:inherit;transition:var(--transition);justify-content:center;align-items:center;display:flex}.bottom-nav-item:hover{color:var(--text-primary)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)}body{padding-bottom:0!important}}.contact-section-dark-fixed{--contact-bg:#0a0a0a;--contact-card-bg:#ffffff08;--contact-card-border:#ffffff14;--contact-card-border-hover:#ffffff40;--contact-text-primary:#fff;--contact-text-secondary:#a3a3a3;--contact-text-muted:#525252;--contact-border-top:#ffffff0d;overflow:hidden;background-color:var(--contact-bg)!important;color:var(--contact-text-primary)!important;border-top:1px solid var(--contact-border-top)!important;padding-bottom:0!important}:root[data-theme=dark] .contact-section-dark-fixed{--contact-bg:var(--bg);--contact-card-bg:var(--card-bg);--contact-card-border:var(--border);--contact-card-border-hover:var(--border-hover);--contact-text-primary:var(--text-primary);--contact-text-secondary:var(--text-secondary);--contact-text-muted:var(--text-muted);--contact-border-top:var(--border)}.contact-slogan-wrapper{text-align:left;width:100%;margin-bottom:4rem}.contact-slogan{font-family:var(--font-title);flex-direction:column;line-height:1.15;display:flex;border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important}.contact-slogan .highlight-white{color:var(--contact-text-primary);font-size:clamp(2rem,5.5vw,3.5rem);font-weight:700}.contact-slogan .highlight-muted{color:var(--contact-text-secondary);font-size:clamp(2rem,5.5vw,3.5rem);font-weight:400}@media (width<=768px){.contact-slogan .highlight-white,.contact-slogan .highlight-muted{font-size:clamp(1.85rem,6.5vw,2.5rem)}}.contact-section-dark-fixed .contact-card{background:var(--contact-card-bg)!important;border-color:var(--contact-card-border)!important}.contact-section-dark-fixed .contact-card:hover{background:#ffffff0d!important}.contact-section-dark-fixed .contact-card .contact-label{color:var(--contact-text-muted)!important}.contact-section-dark-fixed .contact-card .contact-value{color:var(--contact-text-primary)!important}.contact-section-dark-fixed .contact-card .contact-card-arrow{color:var(--contact-text-muted)!important}.contact-section-dark-fixed .contact-card.card-gmail:hover{border-color:#ea4335!important;box-shadow:0 10px 25px #ea433526!important}.contact-section-dark-fixed .contact-card.card-github:hover{border-color:#fff!important;box-shadow:0 10px 25px #ffffff26!important}.contact-section-dark-fixed .contact-card.card-tistory:hover{border-color:#fc4c4e!important;box-shadow:0 10px 25px #fc4c4e26!important}.contact-section-dark-fixed .contact-logo-wrapper{border-color:var(--contact-card-border)!important;background-color:#ffffff05!important}.contact-section-dark-fixed .btn-card-copy{border-color:var(--contact-card-border)!important;color:var(--contact-text-secondary)!important;background-color:#ffffff0d!important}.contact-section-dark-fixed .btn-card-copy:hover{border-color:var(--contact-card-border-hover)!important;color:var(--contact-text-primary)!important}.contact-section-dark-fixed .btn-card-copy.copied{color:#fff!important;background:#ea4335!important;border-color:#ea4335!important}.contact-footer-divider{background-color:var(--contact-card-border);width:100%;height:1px;margin:3rem 0 2rem}.contact-footer-meta{flex-direction:column;align-items:center;gap:1.5rem;width:100%;margin-bottom:3rem;display:flex}@media (width>=768px){.contact-footer-meta{flex-direction:row;justify-content:space-between;align-items:center}}.contact-status-text{color:var(--contact-text-secondary);letter-spacing:.01em;margin:0;font-size:.8125rem;font-weight:500}.contact-section-dark-fixed .copyright{margin:0;font-size:.8125rem;color:var(--contact-text-muted)!important}.contact-giant-name-wrapper{justify-content:center;width:100%;margin-top:1rem;line-height:.75;display:flex;overflow:hidden}.contact-giant-name{font-size:15vw;font-weight:900;font-family:var(--font-title);color:#ffffff09;letter-spacing:-.05em;white-space:nowrap;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .contact-giant-name{color:#ffffff04!important}@media (width<=768px){.contact-section-dark-fixed{padding-bottom:calc(3.75rem + env(safe-area-inset-bottom,0px) + 1.5rem)!important}}@media (width<=360px){.container{padding:0 1rem}.section-title{font-size:2.1rem!important}.hero-title-left{font-size:1.95rem!important}.profile-name{font-size:1.6rem}.profile-photo-container{max-width:145px;height:190px}.mono-index-item{min-width:180px;padding:.75rem .5rem}.bottom-nav-label{font-size:.6rem}}@media (height<=500px) and (orientation:landscape){.section{padding:3.5rem 0 4rem;min-height:auto!important}.hero-section{padding:4rem 0 3rem;min-height:auto!important}.floating-shape-wrapper,.scroll-indicator.global-fixed{display:none!important}.profile-photo-container{max-width:140px;height:180px}}
