@charset "UTF-8";.hero-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.hero-inner{max-width:820px;width:100%;display:flex;flex-direction:column;align-items:center}.hero-title{font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:clamp(2.75rem,8vw,5.5rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.5rem;color:#fff}.hero-title .hero-cursor{color:#9d4edd;font-weight:300;opacity:0;text-shadow:0 0 12px rgba(123,44,191,.7)}.hero-title .hero-cursor.visible{opacity:1}.hero-lead{max-width:620px;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:300;line-height:1.6;color:#e0e0e0;margin-bottom:3rem}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem}.hero-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:9999px;font-size:1rem;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1)}.hero-btn svg{width:18px;height:18px;stroke-linecap:round;stroke-linejoin:round}.hero-btn.primary{background:linear-gradient(135deg,#7b2cbf,#5a189a);color:#fff;box-shadow:0 6px 22px #7b2cbf66}.hero-btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #7b2cbf8c}.hero-btn.ghost{background:#ffffff0a;border:1px solid rgba(255,255,255,.15);color:#fff}.hero-btn.ghost:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px)}.hero-socials{display:flex;gap:1rem}.hero-social{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#fff;transition:all .4s cubic-bezier(.4,0,.2,1)}.hero-social svg{width:20px;height:20px;transition:transform .4s cubic-bezier(.4,0,.2,1)}.hero-social:hover{color:#9d4edd;background:#7b2cbf26;border-color:#7b2cbf66;transform:translateY(-3px)}.hero-social:hover svg{transform:scale(1.1)}.hero-scroll-hint{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#e0e0e0;font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero-scroll-hint svg{width:18px;height:18px;stroke-linecap:round;stroke-linejoin:round;animation:heroScrollBounce 1.8s ease-in-out infinite}.hero-scroll-hint:hover{color:#9d4edd}@media (max-width: 768px){.hero-scroll-hint{display:none}}@keyframes heroScrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.sites-section{padding-left:0;padding-right:0;background:#08080a}.sites-section .section-inner{padding-left:1.5rem;padding-right:1.5rem}@media (max-width: 768px){.sites-section .section-inner{padding-left:1rem;padding-right:1rem}}.sites-reveal{--reveal-runway: 100svh;position:relative}.sites-reveal-slide{position:relative;isolation:isolate}.sites-reveal-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:clip;pointer-events:none}.sites-reveal-bg-media{height:calc(100% + 2 * var(--reveal-runway));margin-top:calc(-1 * var(--reveal-runway));overflow:clip;isolation:isolate}.sites-reveal-bg-image{position:sticky;top:0;width:100%;height:max(var(--reveal-runway),100% - 2 * var(--reveal-runway));margin-bottom:0}.sites-reveal-media{width:100%;height:var(--reveal-runway)}.sites-reveal-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.sites-reveal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;height:var(--reveal-runway);background:linear-gradient(to bottom,#08080a8c,#08080ab8),radial-gradient(circle at 20% 20%,rgba(123,44,191,.15),transparent 55%)}.sites-reveal-content{position:relative;z-index:1;min-height:var(--reveal-runway);display:grid;place-items:center;pointer-events:none}.sites-reveal-caption{display:flex;justify-content:center;width:100%}.site-reveal-card{pointer-events:auto;width:min(100%,520px);padding:3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;transition:border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.site-reveal-card:hover{border-color:#7b2cbf59;box-shadow:0 8px 32px #7b2cbf4d,0 4px 16px #00000026}@media (max-width: 768px){.site-reveal-card{padding:2rem}}.site-reveal-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;color:#fff;margin:0 0 1rem}.site-reveal-description{font-size:1.125rem;font-weight:300;line-height:1.65;color:#e0e0e0;margin:0 0 2rem}.site-reveal-link{display:inline-flex;align-items:center;gap:.5rem;font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;color:#9d4edd;text-decoration:none;transition:color .2s cubic-bezier(.4,0,.2,1),gap .2s cubic-bezier(.4,0,.2,1)}.site-reveal-link svg{width:1rem;height:1rem}.site-reveal-link:hover{color:#fff;gap:1rem}@media (prefers-reduced-motion: reduce){.sites-reveal-bg-layer{position:relative;inset:auto;overflow:hidden;height:var(--reveal-runway)}.sites-reveal-bg-media{height:100%;margin-top:0}.sites-reveal-bg-image{position:relative;height:var(--reveal-runway);margin-bottom:0}.sites-reveal-content{position:absolute;top:0;right:0;bottom:0;left:0}}.work-section{background:#0c0c0f}.work-list{display:flex;flex-direction:column;gap:1.5rem}.work-card{display:grid;grid-template-columns:220px 1fr;gap:3rem;padding:3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:24px;transition:all .4s cubic-bezier(.4,0,.2,1)}.work-card:hover{background:#ffffff14;border-color:#7b2cbf59;box-shadow:0 8px 32px #7b2cbf4d,0 8px 32px #0003;transform:translateY(-4px)}@media (max-width: 1024px){.work-card{grid-template-columns:1fr;gap:1.5rem;padding:2rem}}.work-card-aside{display:flex;flex-direction:column;gap:1rem}.work-logo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.work-logo img{max-width:100%;max-height:100%;object-fit:contain}.work-period{font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.875rem;color:#9d4edd;letter-spacing:.01em}.work-position{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.25rem;color:#fff}.work-company{font-size:1rem;color:#e0e0e0;margin-bottom:1.5rem}.work-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.work-points li{position:relative;padding-left:1.5rem;color:#e0e0e0;line-height:1.6}.work-points li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:#9d4edd;box-shadow:0 0 8px #7b2cbf99}.skills-section{background:#08080a}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.skills-card{height:100%;padding:2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1)}.skills-card:hover{background:#ffffff14;border-color:#7b2cbf59;transform:translateY(-3px)}.skills-category{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem;color:#fff}.skills-pills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-pill{padding:.25rem 1rem;border-radius:9999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#e0e0e0;font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.skill-pill:hover{background:#7b2cbf2e;border-color:#7b2cbf66;color:#fff}.contact-section{background:#0c0c0f}.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:560px;margin:0 auto;padding:2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:16px}@media (max-width: 768px){.contact-form{padding:1.5rem}}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 768px){.contact-field-row{grid-template-columns:1fr}}.contact-field{display:flex;flex-direction:column;gap:.25rem}.contact-label{font-size:.875rem;font-weight:600;color:#e0e0e0}.contact-input{width:100%;padding:.5rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.contact-input::placeholder{color:#4a4a4a}.contact-input:focus{outline:none;border-color:#7b2cbf80;box-shadow:0 0 0 3px #7b2cbf26}.contact-textarea{resize:vertical;min-height:120px;line-height:1.5}.contact-turnstile{min-height:65px}.contact-submit{width:100%;padding:1rem 2rem;border:none;border-radius:9999px;background:linear-gradient(135deg,#7b2cbf,#5a189a);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 6px 22px #7b2cbf66;transition:all .4s cubic-bezier(.4,0,.2,1)}.contact-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #7b2cbf8c}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-feedback{margin:0;font-size:.875rem}.contact-feedback--success{color:#4ade80}.contact-feedback--error{color:#f87171}.bottom-dock{position:fixed;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));z-index:500;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#101014b3;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 12px 40px #00000073,inset 0 1px #ffffff0f}.dock-items{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.dock-item{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:4.25rem;padding:.5rem .5rem .25rem;border-radius:16px;color:#ffffff8c;font-size:.75rem;font-weight:500;line-height:1.2;transition:color .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.dock-item .dock-icon{display:inline-flex;position:relative;z-index:1}.dock-item .dock-icon svg{width:20px;height:20px;stroke-linecap:round;stroke-linejoin:round}.dock-item .dock-label{position:relative;z-index:1}.dock-item:hover{color:#ffffffd9}.dock-item.active{color:#fff}.dock-item:focus{outline:none}.dock-item-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:16px;background:#7b2cbf38;border:1px solid rgba(123,44,191,.4);box-shadow:0 0 18px #7b2cbf4d}.dock-divider{width:1px;align-self:stretch;margin:.25rem 0;background:#ffffff1f}.dock-shell-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;padding:0;border-radius:16px;background:linear-gradient(135deg,#7b2cbf,#5a189a);color:#fff;box-shadow:0 4px 16px #7b2cbf66;transition:all .2s cubic-bezier(.4,0,.2,1)}.dock-shell-btn .dock-shell-icon{display:inline-flex}.dock-shell-btn .dock-shell-icon svg{width:20px;height:20px;stroke-linecap:round;stroke-linejoin:round}.dock-shell-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px #7b2cbf8c}.dock-shell-btn.active{background:linear-gradient(135deg,#9d4edd,#7b2cbf)}.dock-shell-btn:focus{outline:none}@media (max-width: 768px){.bottom-dock{gap:2px;padding:.25rem .5rem}.dock-item{min-width:3.5rem;padding:.25rem 4px 4px;font-size:.65rem}.dock-item .dock-icon svg{width:18px;height:18px}.dock-shell-btn{width:2.5rem;height:2.5rem}.dock-shell-btn .dock-shell-icon svg{width:18px;height:18px}}.modal-header-actions{display:flex;align-items:center;gap:.5rem}.filters-dropdown-container{position:relative}.filters-toggle-btn{position:relative;padding:.5rem;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#e0e0e0;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.filters-toggle-btn svg{width:18px;height:18px}.filters-toggle-btn:hover{background:#7b2cbf26;border-color:#fff3;color:#9d4edd}.filters-toggle-btn.active{background:#7b2cbf33;border-color:#9d4edd;color:#9d4edd}.filter-badge{position:absolute;top:-4px;right:-4px;background:#9d4edd;color:#fff;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:9999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #7b2cbf66}.filters-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:400px;max-width:90vw;background:#1a1a1af2;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 16px 64px #0000004d,0 0 40px #00000080;z-index:1000;animation:slideDown .2s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.filters-dropdown{min-width:calc(100vw - 2rem);right:-1rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2);background:#0003}.filters-dropdown-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.close-filters-btn{padding:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;font-size:1.125rem;line-height:1;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}.close-filters-btn:hover{background:#ffffff26;color:#fff}.filters-dropdown-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;max-height:70vh;overflow-y:auto;background:#0000001a;scrollbar-width:thin;scrollbar-color:rgba(123,44,191,.5) rgba(0,0,0,.2)}.filters-dropdown-content::-webkit-scrollbar{width:6px}.filters-dropdown-content::-webkit-scrollbar-track{background:#0003}.filters-dropdown-content::-webkit-scrollbar-thumb{background:#7b2cbf80;border-radius:9999px}.filters-dropdown-content::-webkit-scrollbar-thumb:hover{background:#7b2cbfb3}.log-viewer-results{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.scroll-progress-container{width:100%;height:2px;background:#ffffff1f;margin-bottom:1.5rem;position:relative;overflow:hidden;flex-shrink:0}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,#9d4edd,#7b2cbfcc);transition:width .05s linear;box-shadow:0 0 8px #7b2cbf99;will-change:width}.control-group{display:flex;flex-direction:column;gap:.25rem}.control-group label{font-size:.875rem;color:#fff;font-weight:500}.control-group input,.control-group select{padding:.5rem 1rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-family:inherit;font-size:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.control-group input:focus,.control-group select:focus{outline:none;background:#00000080;border-color:#9d4edd;box-shadow:0 0 0 3px #7b2cbf4d,0 2px 8px #0000001a;transform:translateY(-1px)}.control-group select{cursor:pointer}.date-range-group{width:100%}.date-range-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.date-range-header>label{margin-bottom:0;color:#fff}.time-toggle-btn{padding:.25rem;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#e0e0e0;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.time-toggle-btn svg{width:14px;height:14px}.time-toggle-btn:hover{background:#7b2cbf26;border-color:#fff3;color:#9d4edd}.time-toggle-btn.active{background:#7b2cbf33;border-color:#9d4edd;color:#9d4edd}.date-range-inputs{display:flex;gap:.5rem;align-items:flex-start}@media (max-width: 768px){.date-range-inputs{flex-direction:column;align-items:stretch}}.date-input-wrapper{display:flex;flex-direction:column;gap:.25rem;flex:1}.date-input-wrapper label{font-size:.75rem;color:#fff;font-weight:500}.datetime-input-group{display:flex;gap:.25rem;align-items:stretch}.datetime-input-group input[type=date]{flex:1;padding:.5rem 1rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-family:inherit;font-size:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.datetime-input-group input[type=date]:focus{outline:none;background:#00000080;border-color:#9d4edd;box-shadow:0 0 0 3px #7b2cbf4d,0 2px 8px #0000001a;transform:translateY(-1px)}.datetime-input-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.8}.datetime-input-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.datetime-input-group .time-input-with-period{display:flex;gap:.25rem;align-items:stretch;flex:0 0 auto}@media (max-width: 768px){.datetime-input-group .time-input-with-period{width:100%}}.datetime-input-group .time-input{flex:1;min-width:100px;padding:.5rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-family:inherit;font-size:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.datetime-input-group .time-input:focus{outline:none;background:#00000080;border-color:#9d4edd;box-shadow:0 0 0 3px #7b2cbf4d,0 2px 8px #0000001a;transform:translateY(-1px)}.datetime-input-group .time-input::-webkit-calendar-picker-indicator{display:none}@media (max-width: 768px){.datetime-input-group .time-input{width:100%}}.datetime-input-group .time-period-select{flex:0 0 auto;width:60px;padding:.5rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.datetime-input-group .time-period-select:focus{outline:none;background:#00000080;border-color:#9d4edd;box-shadow:0 0 0 3px #7b2cbf4d,0 2px 8px #0000001a;transform:translateY(-1px)}.datetime-input-group .time-period-select option{background:#1a1a1af2;color:#fff}@media (max-width: 768px){.datetime-input-group{flex-direction:column}}.clear-filters-btn,.clear-all-btn{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;margin-top:.5rem}.clear-filters-btn:hover,.clear-all-btn:hover{background:#7b2cbf4d;border-color:#9d4edd;color:#fff}.clear-all-filters{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.clear-all-btn{background:#7b2cbf33;border-color:#7b2cbf80}.clear-all-btn:hover{background:#7b2cbf66;border-color:#9d4edd}.results-count{font-size:.875rem;color:#e0e0e0;padding:.5rem 1rem;background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.12)}.log-viewer-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.log-viewer-content::-webkit-scrollbar{display:none}@media (max-width: 768px){.log-viewer-content{max-height:50vh}}.no-results{text-align:center;padding:4rem;color:#2a2a2a;font-style:italic}.log-entries{display:flex;flex-direction:column;gap:.5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-size:1rem;font-weight:600;overflow-x:hidden}.log-entry{display:flex;gap:1rem;padding:1rem;background:#ffffff05;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:12px;transition:background .4s cubic-bezier(.4,0,.2,1);overflow-x:hidden;min-width:0;font-weight:600}.log-entry:hover{background:#7b2cbf26}@media (max-width: 768px){.log-entry{flex-direction:column;gap:.25rem}}.log-timestamp{color:#9d4edd;flex-shrink:0;min-width:200px;font-weight:600}@media (max-width: 768px){.log-timestamp{min-width:auto;font-size:.875rem}}.log-message{color:#e0e0e0;flex:1;word-break:break-word;overflow-wrap:break-word;min-width:0;font-weight:600}@keyframes bouncePurple{0%,to{left:0}50%{left:calc(100% - 120px)}}@keyframes bouncePurpleSection{0%,to{left:0}50%{left:calc(100% - 80px)}}.resume-viewer-content{max-width:1000px;max-height:90vh}.resume-viewer-body{overflow-y:auto!important;overflow-x:hidden!important;flex:1;min-height:0}.resume-header{border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:1.5rem;margin-bottom:3rem;position:relative}.resume-header:after{content:"";position:absolute;bottom:-1px;left:0;width:120px;height:2px;background:linear-gradient(90deg,rgba(123,44,191,.8),rgba(123,44,191,.4),transparent);border-radius:9999px;animation:bouncePurple 18s ease-in-out infinite;animation-delay:0s}.candidate-info{text-align:center}.candidate-info h1{font-size:2.25rem;margin-bottom:.5rem;color:#fff}.candidate-info .candidate-title{font-size:1.25rem;color:#9d4edd;margin-bottom:1rem}.candidate-info .contact-info{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;color:#e0e0e0;font-size:.875rem}.resume-section{margin-bottom:3rem}.resume-section h2{font-size:1.5rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.5rem;margin-bottom:1.5rem;font-weight:600;letter-spacing:-.01em;position:relative}.resume-section h2:after{content:"";position:absolute;bottom:-1px;left:0;width:80px;height:2px;background:linear-gradient(90deg,rgba(123,44,191,.8),rgba(123,44,191,.4),transparent);border-radius:9999px;animation:bouncePurpleSection 18s ease-in-out infinite}.resume-section h2:nth-child(1):after{animation-duration:16.5s;animation-delay:0s}.resume-section h2:nth-child(2):after{animation-duration:19s;animation-delay:2.5s}.resume-section h2:nth-child(3):after{animation-duration:17.5s;animation-delay:5.2s}.resume-section h2:nth-child(4):after{animation-duration:18.2s;animation-delay:1.8s}.resume-section h2:nth-child(5):after{animation-duration:19.5s;animation-delay:6.8s}.resume-section h2:nth-child(6):after{animation-duration:17.8s;animation-delay:3.9s}.experience-item{margin-bottom:2rem}.experience-item:last-child{margin-bottom:0}.experience-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.5rem}.company-logo,.cert-logo,.edu-logo{width:48px;height:48px;object-fit:contain;background-color:#fff;padding:.25rem;border-radius:4px;flex-shrink:0}.experience-details{flex:1}.experience-details h3{font-size:1.25rem;margin-bottom:.25rem;color:#fff}.experience-details .experience-meta{display:flex;gap:1rem;color:#e0e0e0;font-size:.875rem}.experience-details .experience-meta .company{font-weight:600}.experience-description{list-style:none;padding-left:0;margin-top:1rem}.experience-description li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:#e0e0e0;line-height:1.6}.experience-description li:before{content:"▸";position:absolute;left:0;color:#9d4edd}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr}}.skill-category h3{font-size:1.125rem;margin-bottom:1rem;color:#fff}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-block;padding:.5rem 1rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.875rem;border-radius:9999px;transition:all .4s cubic-bezier(.4,0,.2,1);font-weight:500}.skill-tag:hover{background:#7b2cbf26;border-color:#7b2cbf66;color:#9d4edd;transform:translateY(-2px);box-shadow:0 4px 12px #7b2cbf40}.certifications-list,.education-list{display:flex;flex-direction:column;gap:1.5rem}.certification-item,.education-item{display:flex;gap:1rem;align-items:flex-start}.cert-details,.edu-details{flex:1}.cert-details h3,.edu-details h3{font-size:1.125rem;margin-bottom:.25rem;color:#fff}.cert-details .cert-meta,.cert-details .edu-meta,.edu-details .cert-meta,.edu-details .edu-meta{display:flex;gap:1rem;color:#e0e0e0;font-size:.875rem}.resume-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}@media (max-width: 768px){.resume-actions{flex-direction:column}}.integrated-terminal{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.terminal{flex:1;display:flex;flex-direction:column;min-height:0;background:transparent;padding:0;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-size:.875rem;font-weight:450;color:#e0e0e0;overflow:hidden;position:relative}.terminal-body{flex:1;min-height:0;overflow-y:auto;padding:1.5rem;line-height:1.7;letter-spacing:.01em;font-weight:450;cursor:text}.terminal-body::-webkit-scrollbar{width:8px}.terminal-body::-webkit-scrollbar-track{background:#ffffff05;border-radius:9999px}.terminal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:9999px;transition:background .2s cubic-bezier(.4,0,.2,1)}.terminal-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (max-width: 768px){.terminal-body{padding:1rem}}.terminal-line{margin-bottom:.25rem;white-space:pre-wrap;word-break:break-word;line-height:1.7;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.terminal-line .prompt{color:#9d4edd;margin-right:.5rem;-webkit-user-select:none;user-select:none;text-shadow:0 0 10px rgba(123,44,191,.5);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-weight:600}.terminal-line .prompt-text{color:#9d4edd;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-weight:600;text-shadow:0 0 10px rgba(123,44,191,.5)}.terminal-line.command .command{color:#fff;font-weight:450}.terminal-line.output .output{color:#e0e0e0;font-weight:450}.terminal-line.error .error{color:#ff5f56;font-weight:450;text-shadow:0 0 8px rgba(255,95,86,.3)}.terminal-line.prompt .prompt-output{color:#e0e0e0;font-weight:450}.terminal-input-line{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;flex-shrink:0;background:#ffffff05;border-top:1px solid rgba(255,255,255,.08);position:relative}.terminal-input-line .prompt{color:#9d4edd;-webkit-user-select:none;user-select:none;text-shadow:0 0 10px rgba(123,44,191,.5);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-weight:600;flex-shrink:0}.terminal-input-line input{flex:1;background:transparent;border:none;color:#fff;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Menlo,Courier New,monospace;font-size:.875rem;font-weight:450;padding:0 0 0 2px;letter-spacing:.01em;caret-color:#9d4edd;line-height:1.7;min-width:0}.terminal-input-line input:focus{outline:none;box-shadow:none}.terminal-input-line input::placeholder{color:#ffffff4d}@media (max-width: 768px){.terminal{font-size:.75rem}.terminal-input-line{padding:1rem}.terminal-input-line input{font-size:1rem}}.cloud-shell-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:599}.cloud-shell-panel{position:fixed;left:0;right:0;bottom:0;z-index:600;display:flex;flex-direction:column;overflow:hidden;background:#0a0a0ed9;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-top:1px solid rgba(255,255,255,.12);border-radius:16px 16px 0 0;box-shadow:0 -16px 48px #00000080;will-change:transform,height}.cloud-shell-panel.closed{pointer-events:none}.cloud-shell-panel.minimized{cursor:pointer}.cloud-shell-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:44px;padding:0 1rem 0 1.5rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.cloud-shell-title{display:flex;align-items:center;gap:.5rem;min-width:0}.cloud-shell-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;background:#7b2cbf33;color:#9d4edd}.cloud-shell-icon svg{width:14px;height:14px;stroke-linecap:round;stroke-linejoin:round}.cloud-shell-label{font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.875rem;font-weight:600;letter-spacing:.02em;color:#fff}.cloud-shell-session{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.12);font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.75rem;color:#e0e0e0}.cloud-shell-session .session-dot{width:7px;height:7px;border-radius:50%;background:#27c93f;box-shadow:0 0 8px #27c93f99}@media (max-width: 768px){.cloud-shell-session{display:none}}.cloud-shell-controls{display:flex;align-items:center;gap:.25rem}.cloud-shell-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:#e0e0e0;background:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.cloud-shell-btn svg{width:16px;height:16px;stroke-linecap:round;stroke-linejoin:round}.cloud-shell-btn:hover{background:#ffffff14;color:#fff}.cloud-shell-btn.close:hover{background:#ff5f5633;color:#ff5f56}.cloud-shell-btn:focus-visible{outline:2px solid #7b2cbf;outline-offset:1px}.cloud-shell-body{flex:1;min-height:0;display:flex;overflow:hidden}@media (max-width: 768px){.cloud-shell-panel.open,.cloud-shell-panel.expanded{height:92vh!important;border-radius:16px 16px 0 0}}.app-shell{position:relative;min-height:100vh}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 20% 15%,rgba(123,44,191,.12),transparent 45%),radial-gradient(circle at 85% 85%,rgba(90,24,154,.1),transparent 50%),#08080a}.app-main{position:relative;z-index:1}.section{position:relative;padding:clamp(5rem,12vh,8.5rem) 1.5rem}@media (max-width: 768px){.section{padding:clamp(5rem,12vh,8.5rem) 1rem}}.section-inner{max-width:1200px;margin:0 auto;width:100%}.section-head{max-width:680px;margin-bottom:4rem}.section-kicker{display:inline-block;margin-bottom:1rem;font-family:SF Mono,Monaco,Menlo,JetBrains Mono,Fira Code,Courier New,Ubuntu Mono,monospace;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:#9d4edd}.section-title{font-size:clamp(1.875rem,4vw,3rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem;color:#fff}.section-subtitle{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:300;line-height:1.6;color:#e0e0e0;margin:0}.app-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;max-width:1200px;margin:0 auto;padding:3rem 1.5rem 10rem;border-top:1px solid rgba(255,255,255,.12);color:#4a4a4a;font-size:.875rem}@media (max-width: 768px){.app-footer{justify-content:center;text-align:center}}.app{min-height:100vh;position:relative}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;line-height:1.6;color:#fff;background:#08080a;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}@media (max-width: 768px){h1{font-size:1.875rem}}h2{font-size:2.25rem}@media (max-width: 768px){h2{font-size:1.5rem}}h3{font-size:1.875rem}@media (max-width: 768px){h3{font-size:1.25rem}}a{color:#fff;text-decoration:none;transition:color .2s cubic-bezier(.4,0,.2,1),text-shadow .2s cubic-bezier(.4,0,.2,1)}a:hover{color:#9d4edd;text-shadow:0 0 10px rgba(123,44,191,.4)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:transparent;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1)}button:focus{outline:2px solid #7b2cbf;outline-offset:2px}input,textarea{font-family:inherit;font-size:inherit;color:#fff;background:#ffffff0d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1)}input:focus,textarea:focus{outline:none;background:#ffffff14;border-color:#fff3;box-shadow:0 0 0 3px #ffffff1a,0 4px 16px #00000026;transform:translateY(-1px)}input::placeholder,textarea::placeholder{color:#fff6}textarea{resize:vertical;min-height:120px}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@media (max-width: 768px){.container{padding:0 1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:9999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}::-webkit-scrollbar-thumb:hover{background:#7b2cbf80}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;background:#ffffff0d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.btn:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.btn:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.btn.btn-primary{background:#ffffff0d;border-color:#7b2cbf4d}.btn.btn-primary:hover{background:#7b2cbf26;border-color:#7b2cbf80;box-shadow:0 0 20px #7b2cbf4d,0 4px 16px #00000026}.card{background:#ffffff0d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #00000026}.card:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 8px 32px #7b2cbf4d,0 8px 32px #0003;transform:translateY(-4px)}.glow-purple{text-shadow:0 0 10px rgba(123,44,191,.4),0 0 20px rgba(123,44,191,.4)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#ffffff0d;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:24px;max-width:900px;width:100%;max-height:90vh;min-height:500px;display:flex;flex-direction:column;box-shadow:0 16px 64px #0000004d,inset 0 1px #ffffff1a;animation:slideUp .4s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.12);background:#ffffff05}.modal-header h2{margin:0;padding:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.modal-header .close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px;cursor:pointer;padding:0;margin:0;width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;font-size:0;color:transparent;line-height:0}.modal-header .close-btn:before{content:"×";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;line-height:1;color:#fff;display:flex;align-items:center;justify-content:center}.modal-header .close-btn:hover{background:#7b2cbf33;border-color:#fff3;transform:rotate(90deg)}.modal-header .close-btn:hover:before{color:#9d4edd;transform:translate(-50%,-50%)}.modal-body{padding:2rem;overflow:hidden;flex:1;display:flex;flex-direction:column}
