body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-bg-color: #060c48;--header-bg-color: #282c34;--text-color-light: #fff;--text-color-dark: #111;--link-color: #61dafb;--accent-gradient: linear-gradient(90deg, #a8c8ee 0%, #f2f4f8 35%, #e8a8a8 70%, #a8c8ee 100%);--border-color: hwb(30 9% 3%);--footer-text-color: #ccc;--font-primary: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-monospace: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace}[data-theme=light]{--primary-bg-color: #eef2fb;--header-bg-color: #ffffff;--text-color-light: #1a1a2e;--text-color-dark: #111;--link-color: #0b6e99;--accent-gradient: linear-gradient(90deg, #4a6d96 0%, #8fa3bb 35%, #a86868 70%, #4a6d96 100%);--footer-text-color: #44506a}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;box-sizing:border-box;visibility:visible;opacity:1}body{color:var(--text-color-dark);font-family:var(--font-primary);font-display:swap}.App{background-color:var(--primary-bg-color);text-align:center;padding:1em;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;transition:background-color .3s ease}.App>*:not(#tsparticles){position:relative;z-index:1}.App-header{background-color:var(--header-bg-color);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2em;color:var(--text-color-light);border-radius:1em;border:1px solid var(--border-color);box-shadow:0 0 10px #efe9e980;margin:auto;padding:2em;box-sizing:border-box;width:90vw;max-width:640px;min-height:65vh;font-family:var(--font-monospace);font-weight:100;font-size:clamp(.8rem,2.5vw,1rem);position:relative}[data-theme=light] .App-header{box-shadow:0 0 14px #14182e2e}.App-logo-container{display:flex;justify-content:center;align-items:center;width:100%}.App-logo-container.fx-logo-motion{animation:App-logo-spin 2s linear infinite}.App-logo{height:20vmin;max-height:100px;pointer-events:none}.fx-logo-motion .App-logo{animation:App-logo-rainbow 6s linear infinite,App-logo-scale 4s ease-in-out infinite alternate;transition:filter .3s}.fx-logo-motion .App-logo-reverse{animation-name:App-logo-rainbow-reverse,App-logo-scale-reverse}.fx-logo-motion .App-logo:hover{filter:brightness(.3)}.App-link-container{margin-top:2em;margin-bottom:1em}.App-link{display:inline-block;transform:scale(2)}.App-link-button.fx-pulse{animation:brightnessPulse 3s linear infinite alternate}.App-logo-icon{height:20vmin;max-height:100px;width:auto;color:var(--link-color)}.App-identity{display:flex;flex-direction:column;gap:.2em;text-align:center}.App-name{margin:0;font-family:var(--font-primary);font-size:clamp(1.8rem,6vw,2.75rem);font-weight:800;letter-spacing:.01em;line-height:1.1;color:var(--text-color-light);background:var(--accent-gradient);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.App-name.fx-gradient-shift{animation:gradientShift 8s linear infinite}.App-name-last{white-space:nowrap}.App-title{margin:0;font-family:var(--font-monospace);font-size:clamp(.75rem,2.5vw,.95rem);font-weight:400;color:var(--link-color);text-transform:uppercase;letter-spacing:.12em}.App-intro-sub{font-size:clamp(.7rem,2vw,.85rem)!important;opacity:.92;max-width:560px}.App-intro-headline{font-weight:300;letter-spacing:.03em}.App-intro-note{opacity:.7;font-size:.75rem!important;font-style:italic;margin-top:.5em}.App-cta-group{display:flex;flex-direction:row;gap:.5em;flex-wrap:wrap;justify-content:center}.App-cta-group .fui-Button{white-space:nowrap;padding-left:1em;padding-right:1em;font-size:.875rem}.App-intro-text{margin:0;font-family:inherit;font-weight:200;font-size:clamp(1rem,4vw,1.5rem);text-align:center;line-height:1.2}.App-footer{font-family:var(--font-monospace);font-weight:300;font-size:.8em;color:var(--footer-text-color);padding:1em 0}.App-top-controls{position:fixed;top:12px;right:16px;z-index:1100;display:flex;align-items:center;gap:6px;opacity:.85}.App-bottom-area{background:transparent;overflow-anchor:none;color:var(--text-color-light);padding:2em 1em 80px;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:300;text-align:left;box-sizing:border-box;overflow-wrap:break-word;margin-top:2em}.App-bottom-content{max-width:900px;margin:0 auto}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes App-logo-rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes App-logo-rainbow-reverse{0%{filter:hue-rotate(360deg)}to{filter:hue-rotate(0deg)}}@keyframes App-logo-scale{0%{transform:scale(.5)}to{transform:scale(1.5)}}@keyframes App-logo-scale-reverse{0%{transform:scale(1.5)}to{transform:scale(.5)}}@keyframes brightnessPulse{0%{filter:brightness(.5)}to{filter:brightness(1.5)}}.spotlight-card{position:relative;overflow:hidden}.spotlight-card:before{content:"";position:absolute;inset:0;background:radial-gradient(340px circle at var(--mx, 50%) var(--my, 50%),rgba(97,218,251,.14),transparent 65%);opacity:0;transition:opacity .3s ease;pointer-events:none}[data-theme=light] .spotlight-card:before{background:radial-gradient(340px circle at var(--mx, 50%) var(--my, 50%),rgba(11,110,153,.12),transparent 65%)}.spotlight-card:hover:before{opacity:1}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.is-visible{opacity:1;transform:none}@keyframes gradientShift{0%{background-position:0% 50%}to{background-position:200% 50%}}@media(min-width:768px){.App{padding:3em}.App-header{border-width:2px}}.terminal-intro{width:100%;max-width:560px;border-radius:.6em;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#181818;color:#ccc;box-shadow:0 8px 32px #00000059;font-family:var(--font-monospace);text-align:left;font-size:clamp(.75rem,2.2vw,.95rem)}.terminal-intro-bar{display:flex;align-items:center;gap:.45em;padding:.5em .8em;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08)}.terminal-intro-dot{width:.7em;height:.7em;border-radius:50%;display:inline-block}.terminal-intro-dot-red{background:#ff5f57}.terminal-intro-dot-yellow{background:#febc2e}.terminal-intro-dot-green{background:#28c840}.terminal-intro-title{margin-left:auto;color:#9d9d9d;font-size:.8em;letter-spacing:.05em}.terminal-intro-body{padding:.9em 1em 1em;min-height:3.6em;max-height:14em;overflow-y:auto;cursor:text}.terminal-intro-hint{color:#8d8d8d;font-style:italic;margin-top:.5em;font-size:.85em}.terminal-intro-output{color:#ccc;white-space:pre-wrap}.terminal-intro-input{flex:1 1 auto;min-width:8em;background:transparent;border:none;outline:none;color:#3b8eea;font-family:var(--font-monospace);font-size:inherit;caret-color:#ccc;padding:0}.terminal-intro-line{display:flex;flex-wrap:wrap;align-items:baseline;line-height:1.7;word-break:break-word}.terminal-intro-prompt{color:#23d18b;font-weight:600}.terminal-intro-command{color:#3b8eea}.terminal-intro-role{color:#d7ba7d}.terminal-intro-cursor{display:inline-block;width:.55em;height:1.1em;margin-left:.15em;background:#ccc;vertical-align:text-bottom;animation:terminal-cursor-blink 1s steps(1) infinite}@keyframes terminal-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cv-print{display:none}@media print{@page{size:A4;margin:1.4cm 1.5cm}*,*:before,*:after{animation:none!important;transition:none!important;box-shadow:none!important}body{background:#fff!important;color:#111!important}.App>*:not(.cv-print){display:none!important}.App{background:#fff!important;padding:0!important;min-height:auto!important}.cv-print{display:block;background:#fff;color:#111;font-family:Segoe UI,Arial,sans-serif;font-size:9pt;line-height:1.4;width:100%}.cv-print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2.5px solid #0078d4;padding-bottom:.5cm;margin-bottom:.45cm}.cv-print-photo{width:2.4cm;height:2.4cm;border-radius:50%;object-fit:cover;object-position:center top;display:block;flex:0 0 auto;margin-right:.4cm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-print-identity h1{margin:0 0 .1cm;font-size:20pt;font-weight:700;color:#111;letter-spacing:-.01em;line-height:1.1}.cv-print-name-first,.cv-print-name-last{display:block}.cv-print-role{margin:0;font-size:9pt;color:#0078d4;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.cv-print-contacts{text-align:right;font-size:8pt;line-height:1.6}.cv-print-contact-row{display:block}.cv-print-contact-label{color:#666;margin-right:.15em}.cv-print-contact-note{color:#666;font-style:italic}.cv-print-contacts a,.cv-print-footer a{color:#0078d4;text-decoration:underline}.cv-print-remote{margin-top:.15cm}.cv-print-qr{display:flex;flex-direction:column;align-items:center;gap:.12cm;margin-left:.6cm;flex:0 0 auto}.cv-print-qr svg{width:2.4cm;height:2.4cm}.cv-print-qr-cta{font-size:7pt;color:#0078d4;font-weight:600;text-align:center;line-height:1.3;max-width:3.2cm}.cv-print-remote strong{color:#a80000}.cv-print-summary{margin:0 0 .45cm;font-size:9pt;line-height:1.5;color:#222}.cv-print-timeline{margin-bottom:.5cm}.cv-print-milestone{display:flex;gap:.35cm;margin-bottom:.12cm;break-inside:avoid;font-size:8.5pt;line-height:1.45}.cv-print-milestone-year{flex:0 0 1.6cm;font-weight:700;color:#0078d4;font-variant-numeric:tabular-nums}.cv-print-milestone-body{flex:1 1 auto}.cv-print-milestone-tags{color:#666;font-size:8pt}.cv-print-section-title{font-size:12pt;font-weight:700;color:#0078d4;margin:0 0 .35cm;padding-bottom:.1cm;border-bottom:1px solid #d0d0d0}.cv-print-category{margin-bottom:.45cm;break-inside:avoid}.cv-print-category-title{font-size:8.5pt;font-weight:700;color:#333;margin:0 0 .2cm;text-transform:uppercase;letter-spacing:.07em;border-left:3px solid #0078d4;padding-left:.2cm}.cv-print-skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2cm .6cm}.cv-print-skill{break-inside:avoid}.cv-print-skill-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.08cm}.cv-print-skill-name{font-weight:600;font-size:8pt;color:#111}.cv-print-skill-exp{font-size:7pt;color:#666;white-space:nowrap;margin-left:.2cm;flex-shrink:0}.cv-print-bar-track{height:5px;background:#e8e8e8;border-radius:3px;overflow:hidden;margin-bottom:.07cm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-print-bar-fill{height:100%;border-radius:3px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-print-bar-fill[data-level=expert]{background:#107c10}.cv-print-bar-fill[data-level=advanced]{background:#0078d4}.cv-print-bar-fill[data-level=intermediate]{background:#e07000}.cv-print-bar-fill[data-level=beginner]{background:#c50f1f}.cv-print-skill-meta{display:flex;justify-content:space-between;font-size:6.5pt;color:#666;margin-bottom:.06cm}.cv-print-skill-desc{margin:0;font-size:7pt;color:#555;line-height:1.3;text-align:left}.cv-print-footer{margin-top:.5cm;padding-top:.2cm;border-top:1px solid #d0d0d0;font-size:6.5pt;color:#999;text-align:center}}
