:root{color:#e2e8f0;background:#07101f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}body{background:#07101f;color:#e2e8f0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1200px,calc(100% - 2rem));margin:0 auto}.container.full-width{width:calc(100% - 2rem);max-width:none}.nav-row{position:fixed;top:1rem;left:50%;transform:translate(-50%);width:75vw;max-width:1200px;display:flex;justify-content:space-between;align-items:center;gap:1rem;z-index:999;background:#070e1cf2;padding:.85rem 1.2rem;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 50px #00000040}.site-nav{flex:1;display:flex;justify-content:center;gap:1.25rem;flex-wrap:nowrap}.site-nav a{color:#e2e8f0d9;transition:color .2s ease}.site-nav a:hover{color:#fff}.nav-actions{display:flex;gap:.75rem;flex-wrap:nowrap;flex-shrink:0}.button{border:none;border-radius:999px;padding:.95rem 1.6rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:transform .2s ease,background-color .2s ease,color .2s ease}.button:hover{transform:translateY(-1px)}.primary{background:#7c3aed;color:#fff}.primary:hover{background:#6d28d9}.secondary{background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.12)}.secondary:hover{background:#f3f4f6}.nav-actions .button.secondary{padding:.75rem 1rem}.nav-actions .button.secondary.icon-button{width:48px;min-width:48px;padding:0}.nav-actions .button.secondary.icon-button svg,.nav-actions .button.secondary.mail-button svg{display:block;width:20px;height:20px}.nav-actions .button.secondary.mail-button{display:inline-flex;align-items:center;gap:.65rem;padding:.75rem 1rem}.site-header{position:relative;overflow:hidden;background:#0b1222;color:#fff;padding:4rem 0 3rem}.site-header:not(.hero){padding:1rem 0}.site-header:not(.hero) .nav-row{position:relative;top:auto;left:auto;transform:none;width:auto;max-width:1200px;margin:0 auto}.site-header>.container{position:relative;z-index:2}.site-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0c1222,#121a32 55%,#1f2a46);opacity:1;pointer-events:none;z-index:0}.site-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255) 2px,transparent 4px),radial-gradient(circle,rgba(255,255,255) 2px,transparent 4px),radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,1) 3px,transparent 5px);background-size:40px 40px,40px 40px,40px 40px;background-position:0 0,20px 20px,0 0;background-repeat:repeat,repeat,no-repeat;-webkit-mask-image:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,var(--mouse-active, 1)) 0%,rgba(255,255,255,0) 120px);mask-image:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,var(--mouse-active, 1)) 0%,rgba(255,255,255,0) 120px);mask-mode:alpha;-webkit-mask-mode:alpha;pointer-events:none;opacity:.95;z-index:1}.site-header.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-bottom:4rem}.hero-content{position:relative;z-index:10001;max-width:min(85vw,1300px);width:100%;margin:4rem auto 0;padding:0}.hero-body{display:flex;align-items:center;gap:4rem}.hero-text-col{flex:1;min-width:0}.hero-photo-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.hero-photo{width:260px;height:260px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid rgba(148,163,184,.25);box-shadow:0 0 40px #3b82f633;display:block}.hero-content .eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.24em;color:#e2e8f0bf;font-size:.85rem}.site-header h1,.hero-content h2{margin:0;line-height:1.05}.site-header h1{font-size:clamp(2rem,3vw,2.5rem)}.hero-content h2{margin-top:.75rem;margin-bottom:1.5rem;font-size:clamp(3rem,5vw,4.5rem)}.hero-text{margin:1.5rem 0 2rem;color:#e2e8f0cc;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-resume-btn{position:relative;z-index:10000;background:#7c3aed}.hero-resume-btn:hover{background:#6d28d9}.snake-dot{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:0;background-image:radial-gradient(circle,rgba(255,255,255,.95) 2px,transparent 4px),radial-gradient(circle,rgba(255,255,255,.95) 2px,transparent 4px);background-size:40px 40px,40px 40px;background-position:0 0,20px 20px;background-repeat:repeat}.panel{margin-top:1.75rem;background:#0f172af5;border:1px solid rgba(148,163,184,.12);border-radius:1.25rem;padding:2rem;box-shadow:0 30px 80px #00000040}.welcome-actions{margin-top:2rem}.section-intro{margin-bottom:1.5rem}.section-label{margin:0 0 .75rem;color:#94a3b8e6;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase}.section-intro h2{margin:0;font-size:clamp(1.75rem,3vw,2.5rem)}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.75rem}.about-card{background:#ffffff0a;border:1px solid rgba(148,163,184,.12);border-radius:1.25rem;padding:1.5rem;display:flex;flex-direction:column}.about-card h3{margin:0 0 .75rem;font-size:1.1rem;color:#fff}.about-card ul{margin:0;padding-left:1.25rem;color:#e2e8f0d9;line-height:1.75;flex:1}.about-card ul li{margin-bottom:.75rem}.about-card ul li:last-child{margin-bottom:0}.about-card{cursor:default;transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.about-card:hover{border-color:#94a3b847;background:#ffffff12;transform:translateY(-4px);box-shadow:0 12px 40px #00000059}.tool-bubbles{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto;padding:4px;opacity:.05;transition:opacity .3s ease}.about-card:hover .tool-bubbles{opacity:1}.tool-bubble{display:flex;flex-direction:column;align-items:center;gap:.3rem}.tool-bubble-icon{width:46px;height:46px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(148,163,184,.18);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease}.tool-bubble-icon:hover{background:#ffffff24;box-shadow:0 0 12px #ffffff26;border-color:#94a3b866}.tool-bubble-label{font-size:.65rem;color:#e2e8f08c;text-align:center;white-space:nowrap}.tech-grid,.badge-row,.project-links,.search-row,.form-actions{display:flex;gap:.75rem}.tech-grid,.badge-row{flex-wrap:wrap}.tech-grid{margin-top:1.5rem}.badge-row{gap:.5rem;margin-bottom:1.25rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.65rem .95rem;border-radius:999px;background:#ffffff0f;color:#e2e8f0;font-size:.9rem}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{background:#ffffff0a;border:1px solid rgba(148,163,184,.12);border-radius:1.25rem;padding:1.75rem}.card-screenshot{width:calc(100% + 3.5rem);margin:-1.75rem -1.75rem 1.5rem;display:block;border-radius:1.25rem 1.25rem 0 0;object-fit:cover;max-height:200px}.card h3{margin:0 0 1rem;color:#fff}.card p{margin:0 0 1.25rem;color:#e2e8f0cc;line-height:1.75}.inventory-table td:last-child{display:flex;gap:.4rem;align-items:center}.button.small{padding:.75rem 1.2rem;font-size:.95rem}.contact-details{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.contact-details a{color:#dbeafe}.search-row{align-items:center}.search-row input{flex:1 1 340px;min-width:0;border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:.95rem 1rem;background:#0f172ae6;color:#e2e8f0}.search-row input::placeholder{color:#e2e8f08c}.button-row{display:flex;justify-content:flex-start}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1.5rem}.ai-panel{margin-top:1.5rem}.ai-panel h3{margin:0 0 1rem;font-size:1.15rem;color:#fff}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-panel-header h3{margin:0 0 1rem}.ai-panel-actions{display:flex;gap:.5rem;align-items:center}.ai-panel-actions .button.flagged{background:#ef444426;border-color:#ef444466;color:#fca5a5;cursor:default}.ai-panel-flagged{border:2px solid #ef4444;border-radius:.9rem}.ai-chat{display:flex;flex-direction:column;gap:.75rem}.ai-chat .messages{max-height:320px;overflow:auto;padding:.75rem;background:#ffffff05;border:1px solid rgba(148,163,184,.06);border-radius:.75rem}.message{margin-bottom:.5rem;padding:.6rem .75rem;border-radius:.6rem}.message.user{background:#7c3aed1f;color:#f8fafc;align-self:flex-end}.message.assistant{background:#ffffff08;color:#e2e8f0;align-self:flex-start}.message .message-text{white-space:pre-wrap}.ai-results{margin-top:.5rem;display:flex;flex-direction:column;gap:.45rem}.ai-row{background:#ffffff05;padding:.55rem .75rem;border-radius:.5rem;font-size:.95rem;color:#dbeafe}.ai-form{display:flex;gap:.6rem;align-items:center;margin-top:.5rem}.ai-form input{flex:1;min-width:0;border:1px solid rgba(148,163,184,.12);border-radius:999px;padding:.8rem 1rem;background:#0f172ae6;color:#e2e8f0}.ai-form input::placeholder{color:#e2e8f080}.ai-form button{padding:.75rem 1rem;border-radius:999px}.chat-history-title{margin:0;font-size:1.15rem}.chat-history-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.chat-history-session{margin-top:0}.chat-history-session-flagged{border:2px solid #ef4444;box-shadow:0 0 0 1px #ef444440}.chat-history-session-meta{display:flex;align-items:center;gap:.6rem}.chat-history-flag-badge{font-size:.8rem;color:#fca5a5;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:999px;padding:.2rem .6rem}.chat-history-session-id{font-size:.8rem;color:#e2e8f080;font-family:monospace}.chat-history-messages{max-height:none}.geocode-status{display:flex;align-items:center;cursor:help;flex-shrink:0}.geocode-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(148,163,184,.2);border-top-color:#a78bfa;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.ai-chat .messages{max-height:220px}.hero-content h2{font-size:clamp(1.9rem,8vw,3rem)}.form-actions{flex-direction:column-reverse;gap:.5rem}.form-actions .button{width:100%;justify-content:center}}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message{animation:slideFadeIn .22s cubic-bezier(.2,.9,.2,1) both}.typing .dots{display:inline-flex;gap:6px;align-items:center}.typing .dots span{width:8px;height:8px;background:#e2e8f0e6;border-radius:50%;opacity:.35;transform:translateY(0);animation:typingBounce 1s infinite ease-in-out}.typing .dots span:nth-child(1){animation-delay:0s}.typing .dots span:nth-child(2){animation-delay:.12s}.typing .dots span:nth-child(3){animation-delay:.24s}@keyframes typingBounce{0%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}to{opacity:.35;transform:translateY(0)}}.inventory-table{width:100%;min-width:1100px;border-collapse:collapse}.inventory-table th,.inventory-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.16)}.inventory-table th{position:sticky;top:0;z-index:2;background:#0f172a;font-weight:700}.inventory-table tbody tr{transition:background-color .15s ease}.inventory-table tbody tr:hover{background:#ffffff0a}.empty-state{padding:2rem 0;color:#e2e8f0bf;text-align:center}.th-content{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.filter-toggle{flex-shrink:0;border:none;background:#94a3b826;color:#e2e8f0d9;border-radius:.35rem;width:1.4rem;height:1.4rem;line-height:1;font-size:.75rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.filter-toggle:hover{background:#94a3b84d}.filter-toggle.active{background:#7c3aed;color:#fff}.column-filter-menu{position:fixed;z-index:200;width:260px;background:#0f172a;border:1px solid rgba(148,163,184,.25);border-radius:.6rem;box-shadow:0 12px 32px #00000073;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.filter-menu-item{display:block;width:100%;text-align:left;padding:.5rem .6rem;border:none;background:transparent;color:#e2e8f0;border-radius:.4rem;cursor:pointer;font-size:.9rem}.filter-menu-item:hover{background:#94a3b826}.filter-menu-divider{height:1px;background:#94a3b833;margin:.25rem 0}.filter-search{width:100%;padding:.5rem .6rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.25);background:#0f172ae6;color:#e2e8f0}.filter-options{max-height:220px;overflow-y:auto;border:1px solid rgba(148,163,184,.15);border-radius:.4rem;padding:.35rem;display:flex;flex-direction:column;gap:.15rem}.filter-option{display:flex;align-items:center;gap:.5rem;padding:.25rem .3rem;border-radius:.3rem;font-size:.88rem;cursor:pointer}.filter-option:hover{background:#94a3b81f}.filter-option input{flex-shrink:0}.filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option-all{border-bottom:1px solid rgba(148,163,184,.2);margin-bottom:.15rem;padding-bottom:.4rem}.filter-empty{margin:.25rem 0;padding:.25rem .3rem;color:#e2e8f099;font-size:.85rem}.filter-menu-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.filter-menu-actions .button.small{padding:.45rem .9rem;font-size:.85rem}.hint{margin:.75rem 0 0;color:#94a3b8f2}.site-footer{padding:2rem 0 3rem;text-align:center;color:#94a3b8f2}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#07101fcc;padding:1rem;z-index:10}.modal-card{width:min(760px,100%);background:#0b1222;border:1px solid rgba(148,163,184,.14);border-radius:1.25rem;padding:1.75rem;box-shadow:0 30px 80px #00000059}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.close-button{background:transparent;border:none;font-size:1.75rem;cursor:pointer;color:#dbeafe}.record-form{margin-top:1.25rem}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:flex;flex-direction:column;gap:.55rem;font-size:.95rem;color:#cbd5e1}.form-grid input,.form-grid textarea{border:1px solid rgba(148,163,184,.24);border-radius:.85rem;padding:.95rem 1rem;background:#ffffff0a;color:#e2e8f0}.form-grid textarea{resize:vertical}.full-width{grid-column:1 / -1}.form-actions{justify-content:flex-end}@media (max-width: 1000px){.nav-actions .button.secondary.mail-button span{display:none}.nav-actions .button.secondary.mail-button{width:48px;min-width:48px;padding:0;gap:0}}@media (max-width: 980px){.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid,.form-grid{grid-template-columns:1fr}}@media (max-width: 780px){.nav-row{width:calc(100% - 1.5rem);border-radius:1.25rem;padding:.75rem 1rem;gap:.5rem}.brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1;font-size:clamp(.85rem,4vw,1.5rem)}.site-nav{font-size:.9rem}.hero-content{max-width:100%;padding:0 1.25rem;margin-top:2rem}.hero-body{flex-direction:column-reverse;gap:2rem;align-items:flex-start}.hero-photo{width:120px;height:120px}.site-header{padding:3rem 0 2rem}.panel{padding:1.25rem;border-radius:1rem}.modal{padding:1.5rem .75rem .75rem;align-content:start}.modal-card{max-height:90vh;overflow-y:auto;padding:1.25rem}.search-row{flex-wrap:wrap}.search-row input{flex:1 1 100%}}@media (max-width: 480px){.about-grid{grid-template-columns:1fr}}
