*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:var(--line-height-base);transition:background-color var(--transition-slow) var(--ease-in-out),color var(--transition-slow) var(--ease-in-out);overflow-x:hidden;position:relative}.section-title,.entry-title,.entry-meta,.entry-description,.contact-title,.contact-meta,.contact-description,.tech-tag,.checksum,a{transition:color var(--transition-slow) var(--ease-in-out),border-color var(--transition-slow) var(--ease-in-out),background-color var(--transition-slow) var(--ease-in-out)}body.theme-changing{position:relative}body.theme-changing:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;pointer-events:none;z-index:9999;animation:themeFlash .6s ease-out}@keyframes themeFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.container,.entry,.contact-card,.project-card,.skill-item{transition:all var(--transition-slow) var(--ease-in-out),box-shadow var(--transition-slower) var(--ease-in-out)}body.digital-view:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(0,255,65,.08) var(--border-width-thin),transparent var(--border-width-thin)) 0 0 / var(--grid-background-size) var(--grid-background-size),linear-gradient(0deg,rgba(0,255,65,.06) var(--border-width-thin),transparent var(--border-width-thin)) 0 0 / var(--grid-background-size) var(--grid-background-size);pointer-events:none;z-index:var(--z-base);opacity:.25}body.digital-view{background:var(--background-digital);color:var(--foreground-digital)}body.print-view{background:var(--background-print);color:var(--foreground-print)}.container{max-width:var(--container-lg);margin:0 auto;padding:var(--space-4xl) var(--space-lg) var(--space-2xl);position:relative;z-index:var(--z-base);padding-top:calc(var(--space-4xl) + var(--safe-area-inset-top));padding-left:calc(var(--space-lg) + var(--safe-area-inset-left));padding-right:calc(var(--space-lg) + var(--safe-area-inset-right));padding-bottom:calc(var(--space-2xl) + var(--safe-area-inset-bottom))}.page{min-height:100vh;min-height:100dvh}@media (max-width: 1024px){.container{padding:var(--space-3xl) var(--space-lg) var(--space-2xl)}}@media (max-width: 768px){.container{padding:var(--space-3xl) var(--space-md) var(--space-2xl);padding-left:calc(var(--space-md) + var(--safe-area-inset-left));padding-right:calc(var(--space-md) + var(--safe-area-inset-right))}}@media (max-width: 480px){.container{padding:var(--space-3xl) var(--space-sm) var(--space-2xl);padding-left:calc(var(--space-sm) + var(--safe-area-inset-left));padding-right:calc(var(--space-sm) + var(--safe-area-inset-right))}}@media (max-width: 360px){.container{padding:var(--space-2xl) var(--space-xs) var(--space-lg);padding-left:calc(var(--space-xs) + var(--safe-area-inset-left));padding-right:calc(var(--space-xs) + var(--safe-area-inset-right))}}@media (prefers-reduced-motion: reduce){.section-title,.entry-title,.entry-meta,.entry-description,.contact-title,.contact-meta,.contact-description,.tech-tag,.checksum,a{transition:none!important}body.digital-view:before{animation:none!important}}@media (prefers-contrast: high){body.digital-view:before{opacity:.5}.section-title,.entry-title{font-weight:var(--font-weight-bold)}}@media print{.digital-only{display:none!important}}.container-fluid{width:100%;max-width:none;padding-left:var(--space-lg);padding-right:var(--space-lg)}.container-constrained{max-width:var(--container-lg);margin:0 auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}.space-y-sm>*+*{margin-top:var(--space-sm)}.space-y-md>*+*{margin-top:var(--space-md)}.space-y-lg>*+*{margin-top:var(--space-lg)}.space-y-xl>*+*{margin-top:var(--space-xl)}.space-x-sm>*+*{margin-left:var(--space-sm)}.space-x-md>*+*{margin-left:var(--space-md)}.space-x-lg>*+*{margin-left:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(var(--min-column-width),1fr))}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min-column-width),1fr));gap:var(--space-lg)}@media (max-width: 768px){.responsive-grid{grid-template-columns:1fr;gap:var(--space-md)}}@media (max-width: 480px){.responsive-grid{gap:var(--space-sm)}}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-base{line-height:var(--line-height-base)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-digital{color:var(--foreground-digital)}.text-muted{color:var(--muted-digital)}.text-accent{color:var(--accent-digital)}.bg-digital{background-color:var(--background-digital)}.bg-accent{background-color:var(--accent-digital)}.border-digital{border-color:var(--border-digital)}.border-accent{border-color:var(--accent-digital)}body.print-view .text-digital{color:var(--foreground-print)!important}body.print-view .text-muted{color:var(--muted-print)!important}body.print-view .bg-digital{background-color:var(--background-print)!important}body.print-view .border-digital{border-color:var(--border-print)!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.select-none{user-select:none}.select-text{user-select:text}.select-all{user-select:all}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.touch-target-comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}@media (hover: none){.touch-feedback{-webkit-tap-highlight-color:rgba(0,255,65,.2);tap-highlight-color:rgba(0,255,65,.2)}.touch-feedback:active{background:#00ff411a;transform:scale(.98);transition:all .1s ease-out}}.transition-fast{transition:all var(--transition-fast) var(--ease-in-out)}.transition-base{transition:all var(--transition-base) var(--ease-in-out)}.transition-slow{transition:all var(--transition-slow) var(--ease-in-out)}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.transition-fast,.transition-base,.transition-slow,.animate-pulse,.animate-fade-in{transition:none!important;animation:none!important}.touch-feedback:active{transform:none!important}}.hidden-mobile,.hidden-tablet,.hidden-desktop{display:block}.show-mobile,.show-tablet,.show-desktop{display:none}@media (max-width: 768px){.hidden-mobile{display:none}.show-mobile{display:block}}@media (min-width: 769px) and (max-width: 1024px){.hidden-tablet{display:none}.show-tablet{display:block}}@media (min-width: 1025px){.hidden-desktop{display:none}.show-desktop{display:block}}.border{border:1px solid var(--border-digital)}.border-t{border-top:1px solid var(--border-digital)}.border-r{border-right:1px solid var(--border-digital)}.border-b{border-bottom:1px solid var(--border-digital)}.border-l{border-left:1px solid var(--border-digital)}.border-none{border:none}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}body.print-view .border,body.print-view .border-t,body.print-view .border-r,body.print-view .border-b,body.print-view .border-l{border-color:var(--border-print)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-base{z-index:var(--z-base)}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.z-top{z-index:var(--z-top)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}:root{--space-2xs: clamp(1px, .2vw, 3px);--space-xs: clamp(2px, .5vw, 6px);--space-sm: clamp(4px, 1vw, 12px);--space-md: clamp(8px, 2vw, 20px);--space-lg: clamp(12px, 3vw, 32px);--space-xl: clamp(16px, 4vw, 48px);--space-2xl: clamp(24px, 5vw, 64px);--space-3xl: clamp(32px, 6vw, 80px);--space-4xl: clamp(40px, 8vw, 120px);--space-static-2xs: 2px;--space-static-xs: 4px;--space-static-sm: 8px;--space-static-md: 16px;--space-static-lg: 24px;--space-static-xl: 32px;--space-static-2xl: 40px;--space-static-3xl: 56px;--space-static-4xl: 64px;--breakpoint-2xs: 320px;--breakpoint-xs: 360px;--breakpoint-sm: 375px;--breakpoint-md: 414px;--breakpoint-lg: 480px;--breakpoint-xl: 768px;--breakpoint-2xl: 1024px;--breakpoint-3xl: 1280px;--breakpoint-4xl: 1440px;--breakpoint-5xl: 1920px;--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1280px;--container-xs: 320px;--container-sm: 480px;--container-md: 640px;--container-lg: 768px;--container-xl: 1024px;--font-size-2xs: clamp(7px, 1.5vw, 8px);--font-size-xs: clamp(8px, 1.8vw, 10px);--font-size-sm: clamp(9px, 2vw, 11px);--font-size-base: clamp(10px, 2.2vw, 13px);--font-size-md: clamp(11px, 2.4vw, 14px);--font-size-lg: clamp(12px, 2.6vw, 15px);--font-size-xl: clamp(14px, 3vw, 17px);--font-size-2xl: clamp(16px, 3.5vw, 20px);--font-size-3xl: clamp(18px, 4vw, 24px);--font-size-4xl: clamp(20px, 5vw, 32px);--font-size-static-2xs: 8px;--font-size-static-xs: 9px;--font-size-static-sm: 10px;--font-size-static-base: 12px;--font-size-static-md: 13px;--font-size-static-lg: 14px;--font-size-static-xl: 16px;--font-size-static-2xl: 18px;--line-height-tight: 1.2;--line-height-base: 1.4;--line-height-relaxed: 1.6;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.05em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--letter-spacing-widest: .15em;--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--transition-slower: .5s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-base: 0 4px 8px rgba(0, 0, 0, .15);--shadow-md: 0 6px 12px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .25);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .3);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--z-toast: 700;--z-top: 9999;--grid-columns: 12;--grid-gap-mobile: var(--space-md);--grid-gap-tablet: var(--space-lg);--grid-gap-desktop: var(--space-xl);--container-sm: 640px;--container-md: 768px;--container-lg: 980px;--container-xl: 1280px;--duration-instant: 50ms;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .5s;--duration-slower: 1s;--touch-target-min: 44px;--touch-target-comfortable: 48px;--safe-area-inset-top: env(safe-area-inset-top);--safe-area-inset-right: env(safe-area-inset-right);--safe-area-inset-bottom: env(safe-area-inset-bottom);--safe-area-inset-left: env(safe-area-inset-left);--grid-background-size: 40px;--border-width-thin: 1px;--border-width-thick: 2px;--min-column-width: 280px;--transform-lift: -1px;--transform-small: -2px}:root{--background-digital: #0a0a0a;--foreground-digital: #00ff41;--muted-digital: #888888;--border-digital: #333333;--accent-digital: #101010;--background-print: #ffffff;--foreground-print: #000000;--muted-print: #666666;--border-print: #000000;--accent-print: #000000;--font-body: "JetBrains Mono", "Courier New", monospace;--font-accent: "Space Mono", monospace;--transition-speed: var(--transition-base)}body.scheme-matrix{--foreground-digital: #00ff41;--background-digital: #0a0a0a;--muted-digital: #004d1a;--border-digital: #00ff41;--accent-digital: #003d14}body.scheme-blockchain{--foreground-digital: #f7931a;--background-digital: #1a1a1a;--muted-digital: #4d2e0a;--border-digital: #f7931a;--accent-digital: #3d240a}body.scheme-trading{--foreground-digital: #ff6b6b;--background-digital: #0f0f0f;--muted-digital: #4d1a1a;--border-digital: #ff6b6b;--accent-digital: #3d1414}body.scheme-encryption{--foreground-digital: #4ecdc4;--background-digital: #0a1a1a;--muted-digital: #1a4d4a;--border-digital: #4ecdc4;--accent-digital: #143d3a}body.scheme-ledger{--foreground-digital: #45b7d1;--background-digital: #0a1520;--muted-digital: #1a3a4d;--border-digital: #45b7d1;--accent-digital: #142e3d}body.scheme-swift{--foreground-digital: #96ceb4;--background-digital: #0f1a15;--muted-digital: #2a4d3a;--border-digital: #96ceb4;--accent-digital: #1e3d2a}body.scheme-risk{--foreground-digital: #feca57;--background-digital: #1a1510;--muted-digital: #4d3e1a;--border-digital: #feca57;--accent-digital: #3d3114}body.scheme-compliance{--foreground-digital: #ff9ff3;--background-digital: #1a0f1a;--muted-digital: #4d2a4d;--border-digital: #ff9ff3;--accent-digital: #3d1e3d}body.scheme-settlement{--foreground-digital: #54a0ff;--background-digital: #0f1520;--muted-digital: #1a3a4d;--border-digital: #54a0ff;--accent-digital: #142e3d}body.scheme-gruvbox{--foreground-digital: #ebdbb2;--background-digital: #282828;--muted-digital: #504945;--border-digital: #ebdbb2;--accent-digital: #3c3836}body.scheme-gruvbox-visual{--foreground-digital: #fe8019;--background-digital: #282828;--muted-digital: #504945;--border-digital: #fe8019;--accent-digital: #3c3836}body.scheme-gruvbox-syntax{--foreground-digital: #458588;--background-digital: #fbf1c7;--muted-digital: #bdae93;--border-digital: #458588;--accent-digital: #ebdbb2}[data-theme=light]{--bg-color: #ffffff;--text-color: #333333;--text-secondary: #666666;--border-color: rgba(0, 0, 0, .1);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--shadow-color: rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-color: #1a1a1a;--text-color: #ffffff;--text-secondary: #cccccc;--border-color: rgba(255, 255, 255, .1);--glass-bg: rgba(0, 0, 0, .3);--glass-border: rgba(255, 255, 255, .1);--shadow-color: rgba(0, 0, 0, .3)}:root{--color-success: #00ff88;--color-warning: #ffa726;--color-error: #ff4444;--color-info: #64ffda;--color-hover: var(--foreground-digital);--color-active: var(--accent-digital);--color-disabled: var(--muted-digital);--color-link: var(--foreground-digital);--color-link-hover: var(--foreground-digital);--color-focus-ring: rgba(0, 255, 65, .3)}.digital-only{display:block}.print-only,body.print-view .digital-only{display:none}body.print-view .print-only{display:block}.section{margin-bottom:var(--space-2xl)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--foreground-digital);margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}body.print-view .section-title{color:var(--foreground-print)}.entry{margin-bottom:var(--space-lg);padding:var(--space-md) 0;border-bottom:var(--border-width-thin) solid var(--border-digital)}body.print-view .entry{border-bottom-color:var(--border-print)}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}.entry-title{font-weight:var(--font-weight-bold);color:var(--foreground-digital);font-size:var(--font-size-md)}body.print-view .entry-title{color:var(--foreground-print)}.entry-meta{font-size:var(--font-size-sm);color:var(--muted-digital);white-space:nowrap}body.print-view .entry-meta{color:var(--muted-print)}.entry-description{font-size:var(--font-size-base);color:var(--muted-digital);line-height:var(--line-height-relaxed);margin-bottom:var(--space-sm)}body.print-view .entry-description{color:var(--muted-print)}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.tech-tag{background:var(--accent-digital);color:var(--foreground-digital);padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-sm);border:var(--border-width-thin) solid var(--border-digital);font-family:var(--font-body);border-radius:var(--radius-sm)}body.print-view .tech-tag{background:var(--background-print);color:var(--foreground-print);border-color:var(--border-print)}a{color:var(--foreground-digital);text-decoration:none;border-bottom:var(--border-width-thin) dotted var(--muted-digital)}body.print-view a{color:var(--foreground-print);border-bottom-color:var(--muted-print)}a:hover{border-bottom-style:solid}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min-column-width),1fr));gap:var(--space-lg);margin-top:var(--space-sm)}.contact-item{margin-bottom:var(--space-md);position:relative;padding:var(--space-md) 0;border-bottom:var(--border-width-thin) solid var(--border-digital)}body.print-view .contact-item{border-bottom-color:var(--border-print)}.contact-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}.contact-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--foreground-digital)}body.print-view .contact-title{color:var(--foreground-print)}.contact-meta{font-size:var(--font-size-sm);color:var(--muted-digital);white-space:nowrap}body.print-view .contact-meta{color:var(--muted-print)}.contact-description{font-size:var(--font-size-base);color:var(--muted-digital);line-height:var(--line-height-relaxed);margin-bottom:var(--space-sm)}body.print-view .contact-description{color:var(--muted-print)}.contact-description a{text-decoration:none;border-bottom:var(--border-width-thin) dotted var(--muted-digital);color:var(--foreground-digital)}body.print-view .contact-description a{color:var(--foreground-print);border-bottom-color:var(--muted-print)}.contact-description a:hover{border-bottom-style:solid}.footer-info{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-sm);font-size:var(--font-size-2xs);gap:var(--space-md)}.checksum{font-style:italic;color:var(--muted-digital)}.color-scheme{color:var(--foreground-digital);font-weight:var(--font-weight-normal);padding:1px var(--space-xs);border:var(--border-width-thin) solid var(--border-digital);border-radius:var(--radius-sm);opacity:.8}body.print-view .checksum{color:var(--muted-print)}body.print-view .color-scheme{color:var(--muted-print);border-color:var(--border-print)}@media (max-width: 768px){.footer-info{flex-direction:column;gap:var(--space-xs);align-items:flex-start}}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr}.entry-header{flex-direction:column;align-items:flex-start}}@media print{body{background:#fff!important;color:#000!important;font-size:9pt!important}.section-title{color:#000!important;font-size:12pt!important}.entry-title{color:#000!important}.entry-meta,.entry-description,.contact-meta,.contact-description{color:#666!important}.tech-tag{background:#fff!important;color:#000!important;border-color:#000!important}a{color:#000!important;border-bottom-color:#666!important}}.action-btn{background:transparent;border:var(--border-width-thin) solid var(--border-digital);color:var(--foreground-digital);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:flex;align-items:center;gap:var(--space-xs);position:relative;overflow:hidden;border-radius:var(--radius-sm)}.action-btn:not(.disabled):hover{background:var(--accent-digital);transform:translateY(var(--transform-lift));box-shadow:var(--shadow-sm)}.action-btn:not(.disabled):active{transform:translateY(0)}.demo-btn:not(.disabled):hover{border-color:#00ff41;color:#00ff41;box-shadow:0 2px 8px #00ff4133}.github-btn:not(.disabled):hover{border-color:#64ffda;color:#64ffda;box-shadow:0 2px 8px #64ffda33}.case-study-btn:not(.disabled):hover{border-color:#ffa726;color:#ffa726;box-shadow:0 2px 8px #ffa72633}.action-btn.primary{border-width:var(--border-width-thick);font-weight:var(--font-weight-semibold)}.action-btn.primary:not(.disabled):hover{background:var(--foreground-digital);color:var(--background-digital)}.action-btn.disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.action-btn.disabled:hover{background:transparent;transform:none;box-shadow:none}.action-icon{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.action-label{font-size:var(--font-size-xs);font-weight:inherit}.stat-item{font-family:var(--font-body);transition:all var(--transition-base) var(--ease-in-out)}.github-stats.loaded .stat-item{opacity:1}.github-stats.loaded .stat-item:hover{color:var(--foreground-digital);transform:translateY(var(--transform-lift))}.github-stats.error .stat-item{color:#ff6b6b;opacity:.7}.entry-description.comment{font-family:var(--font-body);color:var(--muted-digital);font-size:var(--font-size-base)}body.print-view .action-btn{background:transparent!important;border-color:var(--border-print)!important;color:var(--foreground-print)!important;transform:none!important;box-shadow:none!important}@media (max-width: 768px){.action-btn{font-size:var(--font-size-2xs);padding:var(--space-2xs) var(--space-xs)}.action-icon{font-size:var(--font-size-xs)}.action-label{font-size:var(--font-size-2xs)}}body.print-view{position:relative}.page-break-line{position:absolute;left:50%;transform:translate(-50%);width:90%;max-width:210mm;height:2px;background:linear-gradient(90deg,transparent 0%,#ff6b6b 10%,#ff6b6b 90%,transparent 100%);border-top:1px dashed #ff6b6b;z-index:100;pointer-events:none}.page-break-line:nth-child(2){background-color:#ff9800;border-color:#ff9800}.page-break-line:nth-child(3){background-color:#4caf50;border-color:#4caf50}.page-break-line:nth-child(4){background-color:#2196f3;border-color:#2196f3}.page-break-line:nth-child(5){background-color:#9c27b0;border-color:#9c27b0}.page-indicator{position:absolute;left:50%;transform:translate(-50%);font-size:10px;color:#333;background:#fffffff2;padding:3px 8px;border-radius:4px;font-family:var(--font-body);border:1px solid #ccc;z-index:101;font-weight:700;box-shadow:0 2px 4px #0000001a;display:none}@media print{body.print-view{background-image:none!important}body.print-view .page-indicator{display:none!important}}html{scroll-behavior:smooth;scroll-padding-top:2rem}.section{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.section:hover{transform:translateY(-1px)}.entry:focus-within,.skill-item:focus-within,.project-card:focus-within,.education-card:focus-within{outline:1px solid rgba(0,255,65,.3);outline-offset:2px}.entry{position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);padding:var(--space-lg) 0;border-bottom:1px solid var(--border-digital);opacity:0;transform:translateY(10px)}.entry.animate-in{opacity:1;transform:translateY(0)}.entry:last-child{border-bottom:none}.entry:hover{background:#00ff4105;padding-left:var(--space-sm);border-left:2px solid rgba(0,255,65,.2)}.entry-title,.entry-meta,.entry-description{transition:color .3s cubic-bezier(.4,0,.2,1)}[data-theme=MATRIX] .entry:hover .entry-title{color:#00ff41}[data-theme=TRADING] .entry:hover .entry-title{color:#ff0}[data-theme=BLOCKCHAIN] .entry:hover .entry-title{color:#64ffda}[data-theme=ENCRYPTION] .entry:hover .entry-title{color:#ff6b6b}.tech-tag{background:#0000001a;border:1px solid var(--border-digital);border-radius:4px;padding:2px 6px;font-size:10px;color:var(--foreground-digital);margin-right:6px;margin-bottom:4px;display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tech-tag:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.entry:nth-child(1){animation-delay:0s}.entry:nth-child(2){animation-delay:.05s}.entry:nth-child(3){animation-delay:.1s}.entry:nth-child(4){animation-delay:.15s}.entry:nth-child(5){animation-delay:.2s}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.entry:hover{background:#ffffff1a;border-left-color:currentColor}.tech-tag{border-width:2px;font-weight:700}}@media (prefers-color-scheme: dark){.entry:hover{background:#00ff4108}}@media (hover: none) and (pointer: coarse){.entry:hover{transform:none;padding-left:0;border-left:none}.entry:active{transform:scale(.99);background:#00ff410d}.tech-tag:hover{transform:none}.tech-tag:active{transform:scale(.95)}}body.print-view .entry{opacity:1;transform:none;transition:none;animation:none}body.print-view .entry:hover{background:transparent;padding-left:0;border-left:none;transform:none}.progress-bar[data-astro-cid-jx4nc67j]{position:fixed;top:0;left:0;right:0;height:3px;background:var(--muted-digital);z-index:var(--z-toast)}.progress-bar[data-astro-cid-jx4nc67j] .progress[data-astro-cid-jx4nc67j]{height:100%;width:0%;background:var(--foreground-digital);box-shadow:0 0 12px var(--color-focus-ring);transition:width var(--transition-fast) var(--ease-out)}.status-bar[data-astro-cid-fab2rga2]{position:fixed;bottom:0;left:0;right:0;height:32px;display:flex;align-items:center;justify-content:space-between;z-index:var(--z-sticky);backdrop-filter:blur(8px);background:var(--background-digital);border-top:1px solid var(--border-digital);box-shadow:var(--shadow-lg);font-family:var(--font-body);font-size:var(--font-size-sm);padding:0 var(--space-md)}body.print-view .status-bar[data-astro-cid-fab2rga2]{background:var(--background-print);border-top:1px solid var(--border-print);color:var(--foreground-print);box-shadow:var(--shadow-sm)}body.print-view .status-mode[data-astro-cid-fab2rga2],body.print-view .status-help[data-astro-cid-fab2rga2],body.print-view .status-position[data-astro-cid-fab2rga2],body.print-view .status-progress-container[data-astro-cid-fab2rga2],body.print-view .status-left[data-astro-cid-fab2rga2]{display:none}body.print-view .status-center[data-astro-cid-fab2rga2]{flex:1;justify-content:center}body.print-view .status-right[data-astro-cid-fab2rga2]{display:flex}body.print-view .status-item[data-astro-cid-fab2rga2]{color:var(--muted-print)}body.print-view .status-item[data-astro-cid-fab2rga2]:hover{color:var(--foreground-print);background:var(--accent-print)}body.print-view .status-item[data-astro-cid-fab2rga2].active{color:var(--background-print);background:var(--foreground-print);box-shadow:var(--shadow-sm)}body.print-view .status-separator[data-astro-cid-fab2rga2]{color:var(--muted-print);opacity:.8}.status-left[data-astro-cid-fab2rga2]{display:flex;align-items:center;gap:var(--space-sm);color:var(--foreground-digital)}.status-mode[data-astro-cid-fab2rga2]{background:var(--foreground-digital);color:var(--background-digital);padding:var(--space-2xs) var(--space-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:all var(--transition-base) var(--ease-in-out);min-width:85px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Courier New,Consolas,Lucida Console,monospace}.status-mode[data-astro-cid-fab2rga2].insert{background:var(--color-success);color:var(--background-digital)}.status-mode[data-astro-cid-fab2rga2].visual{background:var(--color-info);color:var(--background-digital)}.status-mode[data-astro-cid-fab2rga2].command{background:var(--color-error);color:var(--background-print)}.status-file[data-astro-cid-fab2rga2]{color:var(--muted-digital);font-weight:var(--font-weight-medium)}.status-center[data-astro-cid-fab2rga2]{display:flex;align-items:center;gap:var(--space-sm);flex:1;justify-content:center}.status-item[data-astro-cid-fab2rga2]{color:var(--muted-digital);text-decoration:none;font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-base);transition:all var(--transition-fast) var(--ease-in-out);display:flex;align-items:center;gap:var(--space-xs);font-weight:var(--font-weight-medium)}.status-text[data-astro-cid-fab2rga2]{font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.status-separator[data-astro-cid-fab2rga2]{color:var(--muted-digital);font-weight:var(--font-weight-normal);opacity:.6}.status-item[data-astro-cid-fab2rga2]:hover{color:var(--foreground-digital);background:var(--accent-digital)}.status-item[data-astro-cid-fab2rga2].active{color:var(--background-digital);background:var(--foreground-digital);box-shadow:0 2px 8px var(--color-focus-ring)}.status-right[data-astro-cid-fab2rga2]{display:flex;align-items:center;gap:var(--space-sm);color:var(--muted-digital);font-size:var(--font-size-sm)}.status-position[data-astro-cid-fab2rga2]{color:var(--foreground-digital);font-weight:var(--font-weight-semibold)}.status-progress-container[data-astro-cid-fab2rga2]{display:flex;align-items:center;gap:var(--space-xs);color:var(--muted-digital);font-weight:var(--font-weight-medium)}.status-progress-container[data-astro-cid-fab2rga2] svg[data-astro-cid-fab2rga2]{width:16px;height:16px}.status-progress-container[data-astro-cid-fab2rga2] .progress-percentage[data-astro-cid-fab2rga2]{font-size:var(--font-size-sm);color:var(--muted-digital)}.progress-ring[data-astro-cid-fab2rga2]{stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset var(--transition-base) var(--ease-out)}.status-button[data-astro-cid-fab2rga2]{background:transparent;border:none;color:var(--muted-digital);height:24px;width:24px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast) var(--ease-in-out);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0}.status-button[data-astro-cid-fab2rga2] svg[data-astro-cid-fab2rga2]{width:16px;height:16px;transition:all var(--transition-fast) var(--ease-in-out)}body.digital-view .icon-print[data-astro-cid-fab2rga2],body.print-view .icon-digital[data-astro-cid-fab2rga2]{display:none}body.digital-view .icon-digital[data-astro-cid-fab2rga2]{stroke:var(--muted-digital);stroke-width:1.5;fill:none}body.digital-view .status-button[data-astro-cid-fab2rga2]:hover{color:var(--foreground-digital);background:var(--accent-digital)}body.digital-view .status-button[data-astro-cid-fab2rga2]:hover .icon-digital[data-astro-cid-fab2rga2]{stroke:var(--foreground-digital);stroke-width:2}body.digital-view .status-button[data-astro-cid-fab2rga2]:active{color:var(--background-digital);background:var(--foreground-digital);box-shadow:0 2px 8px var(--color-focus-ring)}body.print-view .status-button[data-astro-cid-fab2rga2]{color:var(--muted-print)}body.print-view .icon-print[data-astro-cid-fab2rga2]{stroke:var(--muted-print);stroke-width:1.5;fill:none}body.print-view .status-button[data-astro-cid-fab2rga2]:hover{color:var(--foreground-print);background:var(--accent-print)}body.print-view .status-button[data-astro-cid-fab2rga2]:hover .icon-print[data-astro-cid-fab2rga2]{stroke:var(--foreground-print);stroke-width:2}.scroll-to-top-btn[data-astro-cid-fab2rga2]{opacity:0;visibility:hidden;transform:scale(.8);transition:all var(--transition-base) var(--ease-in-out)}.scroll-to-top-btn[data-astro-cid-fab2rga2].visible{opacity:1;visibility:visible;transform:scale(1)}.scroll-to-top-btn[data-astro-cid-fab2rga2]:hover{transform:scale(1.1)}@media (max-width: 768px){.status-bar[data-astro-cid-fab2rga2]{height:clamp(32px,6vw,40px);padding:0 var(--space-sm);font-size:var(--font-size-sm);min-height:var(--touch-target-min)}.status-left[data-astro-cid-fab2rga2]{gap:var(--space-sm)}.status-mode[data-astro-cid-fab2rga2]{padding:var(--space-2xs) var(--space-xs);font-size:var(--font-size-xs);min-height:var(--touch-target-min);min-width:70px}.status-center[data-astro-cid-fab2rga2]{gap:var(--space-xs)}.status-item[data-astro-cid-fab2rga2]{font-size:var(--font-size-xs);padding:var(--space-2xs) var(--space-xs);min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.status-right[data-astro-cid-fab2rga2]{gap:var(--space-sm);font-size:var(--font-size-xs)}.status-button[data-astro-cid-fab2rga2]{height:clamp(20px,4vw,24px);width:clamp(20px,4vw,24px);min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.status-button[data-astro-cid-fab2rga2] svg[data-astro-cid-fab2rga2]{width:clamp(12px,3vw,16px);height:clamp(12px,3vw,16px)}}@media (max-width: 414px){.status-bar[data-astro-cid-fab2rga2]{height:clamp(28px,5vw,36px);padding:0 var(--space-xs);font-size:var(--font-size-xs)}.status-left[data-astro-cid-fab2rga2]{gap:var(--space-xs)}.status-mode[data-astro-cid-fab2rga2]{padding:var(--space-2xs) var(--space-2xs);font-size:var(--font-size-2xs);min-width:55px}.status-center[data-astro-cid-fab2rga2]{gap:var(--space-2xs)}.status-item[data-astro-cid-fab2rga2]{font-size:var(--font-size-2xs);padding:var(--space-2xs) var(--space-xs)}.status-right[data-astro-cid-fab2rga2]{gap:var(--space-xs);font-size:var(--font-size-2xs)}}@media (max-width: 375px){.status-file[data-astro-cid-fab2rga2],.status-text[data-astro-cid-fab2rga2],.status-help[data-astro-cid-fab2rga2]{display:none}body.print-view .status-text[data-astro-cid-fab2rga2]{display:inline}.status-button[data-astro-cid-fab2rga2]{height:clamp(18px,4vw,22px);width:clamp(18px,4vw,22px)}.status-button[data-astro-cid-fab2rga2] svg[data-astro-cid-fab2rga2]{width:clamp(10px,2.5vw,14px);height:clamp(10px,2.5vw,14px)}}@media (max-width: 320px){.status-bar[data-astro-cid-fab2rga2]{height:clamp(24px,4vw,32px);padding:0 var(--space-2xs)}.status-left[data-astro-cid-fab2rga2]{gap:var(--space-2xs);flex:0 1 auto;overflow:hidden}.status-center[data-astro-cid-fab2rga2]{gap:var(--space-2xs);flex:1 1 0;justify-content:center}.status-right[data-astro-cid-fab2rga2]{gap:var(--space-2xs);flex:0 1 auto}.status-mode[data-astro-cid-fab2rga2]{font-size:var(--font-size-2xs);padding:1px var(--space-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:45px;max-width:45px;width:45px}}.ascii-canvas-container[data-astro-cid-h7yrd7og]{position:relative;width:100%;height:clamp(80px,15vw + 2rem,200px);margin-bottom:clamp(12px,2vw,24px);will-change:transform;contain:layout style paint;aspect-ratio:6 / 1;max-height:25vh}body.print-view .ascii-canvas-container[data-astro-cid-h7yrd7og]{height:180px;margin-bottom:20px;display:block!important}canvas[data-astro-cid-h7yrd7og]{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;object-position:center;text-rendering:geometricPrecision}@media (max-width: 768px){.ascii-canvas-container[data-astro-cid-h7yrd7og]{aspect-ratio:5 / 1;opacity:.95}}@media (max-width: 480px){.ascii-canvas-container[data-astro-cid-h7yrd7og]{aspect-ratio:4 / 1;max-height:20vh;opacity:.9}}@media (max-width: 375px){.ascii-canvas-container[data-astro-cid-h7yrd7og]{aspect-ratio:3.5 / 1;max-height:18vh;opacity:.85}}@media (min-width: 1440px){.ascii-canvas-container[data-astro-cid-h7yrd7og]{aspect-ratio:8 / 1;max-height:220px}}@media (hover: none){.ascii-canvas-container[data-astro-cid-h7yrd7og]{will-change:auto;contain:layout}canvas[data-astro-cid-h7yrd7og]{filter:none!important}}@media (prefers-reduced-motion: reduce){.ascii-canvas-container[data-astro-cid-h7yrd7og]{opacity:1;will-change:auto}canvas[data-astro-cid-h7yrd7og]{animation:none!important}}@media (prefers-contrast: high){canvas[data-astro-cid-h7yrd7og]{filter:contrast(1.2)}}body.print-view canvas[data-astro-cid-h7yrd7og]{filter:none!important;opacity:1!important;display:block!important}body.digital-view,body.digital-view.vim-normal{cursor:crosshair}body.digital-view.vim-insert{cursor:text}body.digital-view.vim-visual{cursor:cell}body.digital-view.vim-command{cursor:help}body.print-view .digital-only[data-astro-cid-h7yrd7og]{display:none}.system-info[data-astro-cid-v74t6v4i]{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted-digital);margin-top:20px;font-family:var(--font-body)}body.print-view .system-info[data-astro-cid-v74t6v4i]{color:var(--muted-print)}.system-info[data-astro-cid-v74t6v4i] span[data-astro-cid-v74t6v4i]{letter-spacing:.5px;text-transform:uppercase}@media (max-width: 768px){.system-info[data-astro-cid-v74t6v4i]{font-size:11px;gap:4px;margin-top:15px}}@media (prefers-contrast: high){.system-info[data-astro-cid-v74t6v4i]{color:var(--foreground-digital);font-weight:600}body.print-view .system-info[data-astro-cid-v74t6v4i]{color:var(--foreground-print)}}.header[data-astro-cid-3ef6ksr2]{position:relative;margin-bottom:40px}@media (max-width: 768px){.header[data-astro-cid-3ef6ksr2]{margin-bottom:30px}}.section-header[data-astro-cid-sh445jdo]{margin-bottom:var(--space-lg)}.section-title[data-astro-cid-sh445jdo]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground-digital);margin:0;padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-digital);display:inline-block}body.print-view .section-title[data-astro-cid-sh445jdo]{color:var(--foreground-print);border-bottom-color:var(--border-print)}
