:root{--color-bg: #ffffff;--color-text: #1a1a2e;--color-muted: #555;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-border: #e2e8f0;--color-section-bg: #f8fafc;--color-tag-bg: #e2e8f0;--color-tag-text: #334155;--color-header-bg: #1e293b;--color-header-text: #f1f5f9}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--color-text);background:var(--color-bg);min-width:320px}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}#app{max-width:820px;margin:0 auto;padding:0}.desktop-only{display:flex!important}.mobile-only{display:none!important}@media(max-width:640px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(-10px);background:var(--color-header-bg);color:#fff;font-size:.85rem;font-weight:600;padding:.6rem 1.25rem;border-radius:8px;box-shadow:0 4px 16px #00000040;opacity:0;transition:opacity .3s,transform .3s;z-index:1000;pointer-events:none}.toast--visible{opacity:1;transform:translate(-50%) translateY(0)}.toast--local{position:fixed;bottom:auto;pointer-events:none;font-size:.75rem;padding:.4rem .8rem;background:var(--color-accent)}.cv-header{background:var(--color-header-bg);color:var(--color-header-text);padding:2.5rem 2rem 2.25rem;position:relative;text-align:left}.cv-header-main{display:flex;align-items:flex-start;gap:1.5rem}.cv-profile-image{flex-shrink:0;width:156px;height:156px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2);background:#ffffff0d}.cv-header-content{flex:1;min-width:0}.cv-header h1{font-size:2rem;font-weight:700;margin-bottom:.25rem;letter-spacing:-.01em}.cv-title{font-size:1.1rem;opacity:.85;margin-bottom:1rem;line-height:1.4}.cv-title small{display:block;font-size:.9rem;opacity:.7;font-weight:500;margin-top:.2rem}.cv-contact{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;opacity:.8;margin-bottom:1.25rem}.cv-contact a{color:inherit}.cv-contact a:hover{opacity:1;text-decoration:underline}.header-controls{position:absolute;top:1rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;z-index:10}.export-dropdown{position:relative}.export-btn,.compliance-btn,.coverletter-btn{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:600;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:#fff9;cursor:pointer;font-family:inherit;transition:all .2s ease}.export-btn:hover,.compliance-btn:hover,.coverletter-btn:hover{color:#ffffffe6;background:#ffffff14;border-color:var(--color-accent)}.export-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-header-bg);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.25rem 0;min-width:180px;box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:100}.export-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.export-option{display:block;width:100%;padding:.5rem 1rem;font-size:.82rem;font-weight:500;border:none;background:transparent;color:#ffffffbf;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s,color .1s}.export-option:hover{background:#ffffff1a;color:#fff}.profile-toggle--desktop{gap:.5rem;margin:1rem 0 1.25rem;display:flex!important}.profile-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.profile-btn:hover{background:#ffffff26}.profile-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 0 12px #6366f14d}.profile-toggle--mobile .profile-btn{padding:.3rem .65rem;font-size:.8rem;border-radius:6px;background:transparent;color:#fff9}.lang-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.lang-btn{padding:.3rem .75rem;font-size:.8rem;font-weight:600;border:none;background:transparent;color:#ffffff80;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.lang-btn.active{background:#ffffff26;color:#fff}.header-social-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.header-social{display:flex;gap:.75rem;align-items:center}.social-link{width:36px;height:36px;border-radius:50%;aspect-ratio:1 / 1;background:var(--color-header-bg);color:#ffffffbf;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-decoration:none}.social-link:hover{transform:scale(1.15);color:#fff}.social-link--calendly{background:#006bff!important}.social-link svg{width:20px;height:20px;display:block}.social-link:hover svg{filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}.social-link--email{border:none;cursor:pointer}.social-link--email.revealed{width:auto;border-radius:18px;padding:0 .75rem;background:var(--color-accent);color:#fff}.email-text{font-size:.82rem;font-weight:600;white-space:nowrap}.header-languages{display:flex;gap:.5rem;flex-wrap:wrap}.lang-tag{font-size:.72rem;font-weight:600;color:#ffffffe6;background:#ffffff1a;padding:.25rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.lang-tag:hover{background:#ffffff26;border-color:var(--color-accent);transform:translateY(-1px)}@media(max-width:640px){.cv-header{padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.header-controls{position:static;width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem;top:auto;right:auto}.cv-header-main{flex-direction:column;align-items:center;text-align:center}.cv-profile-image{width:130px;height:130px}.header-social-row{flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.mobile-email-row{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:1rem;font-size:.9rem;background:#ffffff0d;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);width:100%;max-width:280px}.email-label{font-weight:700;font-size:.75pt;text-transform:uppercase;color:var(--color-accent);letter-spacing:.05em}.skills-summary{margin-top:1.5rem;padding:1rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.skills-summary-row{font-size:.82rem;margin-bottom:.25rem;line-height:1.4}}.skills-summary{margin-top:1.25rem;display:flex;flex-direction:column;gap:.4rem}.skills-summary-row{font-size:.88rem;line-height:1.5;color:#ffffffd9}.skills-cat-label{font-weight:700;color:var(--color-accent);margin-right:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.skills-cat-items{font-weight:500}.cv-section{padding:1.5rem 2rem;border-bottom:1px solid var(--color-border)}.cv-section:last-child{border-bottom:none}.cv-section h2{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.cv-section>p,.about-text p{font-size:.95rem;color:var(--color-muted);line-height:1.7}.about-text p+p{margin-top:.5rem}.section-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-header-row h2{flex:1}.education-item{display:flex;gap:1rem;margin-bottom:.75rem;align-items:baseline}.edu-year{font-weight:600;font-size:.9rem;color:var(--color-accent);flex-shrink:0;min-width:3rem}.education-item strong{font-size:.95rem}.education-item p{font-size:.88rem;color:var(--color-muted)}@media(max-width:640px){.cv-section{padding:1.25rem}}.history{position:relative;padding:1rem 0}.history:before{content:"";position:absolute;top:0;bottom:0;left:190px;width:1px;background:var(--color-border);z-index:1}.entry.row{display:flex;align-items:flex-start;margin-bottom:2rem;position:relative;z-index:2}.timespan{width:150px;flex-shrink:0;text-align:right;font-size:.85rem;font-weight:500;color:var(--color-muted);padding-top:.5rem;margin-right:20px}.ico{width:40px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative}.entry-dot{width:10px;height:10px;background:var(--color-bg);border:2px solid var(--color-accent);border-radius:50%;margin-top:.4rem;z-index:3}.ico img{width:32px;height:32px;object-fit:contain;margin-top:.4rem;background:var(--color-bg);border-radius:4px;padding:2px;box-shadow:0 1px 3px #0000001a}.desc{flex:1;padding-left:20px}.timeline-header-karpathy h3{font-size:1.05rem;font-weight:600;color:var(--color-text);margin-bottom:.15rem}.timeline-header-karpathy .company{font-size:.9rem;color:var(--color-muted);margin-bottom:.5rem}.exp-description{margin-top:.5rem}.exp-description.collapsed{display:none!important}.exp-description ul{padding-left:1.25rem;list-style:disc}.exp-description li{font-size:.9rem;color:var(--color-muted);margin-bottom:.35rem;line-height:1.5}.exp-description code{font-size:.85rem;background:var(--color-tag-bg);padding:.1rem .35rem;border-radius:3px}.view-toggle{display:flex;gap:1rem;align-items:center}.view-toggle-group{display:flex;align-items:center;gap:.4rem}.exp-toggle-btn{display:flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;border:1px solid var(--color-border);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease}.exp-toggle-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(max-width:600px){.history:before{left:15px}.entry.row{flex-direction:column}.timespan{width:auto;text-align:left;margin:0 0 .25rem 35px;padding-top:0}.ico{position:absolute;left:0;top:0}.desc{padding-left:35px}.view-toggle{display:none}}.view-toggle{position:relative}.view-toggle--skills{display:flex!important}.stack-cards,.stack-hex,.stack-orbit{display:none}.stack-view--cards .stack-cards,.stack-view--hex .stack-hex,.stack-view--orbit .stack-orbit{display:block}.view-toggle-btn{display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;border:1px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-muted);cursor:pointer}.view-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:.25rem 0;min-width:130px;box-shadow:0 8px 24px #0000001f;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .15s;z-index:100}.view-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.view-option{display:block;width:100%;padding:.45rem .85rem;font-size:.8rem;border:none;background:transparent;cursor:pointer;text-align:left}.view-option.active{color:var(--color-accent);font-weight:600}.stack-category{margin-bottom:1.25rem}.stack-category h3{font-size:.85rem;font-weight:600;color:var(--color-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.stack-tags{display:flex;flex-wrap:wrap;gap:.4rem}.stack-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;background:var(--color-tag-bg);border-radius:4px}.stack-tag:hover{background:var(--color);color:#fff}.hex-category{margin-bottom:1.5rem}.hex-grid{display:flex;flex-wrap:wrap;gap:8px;padding-left:4px}.hex-cell{width:72px;height:80px;transition:transform .2s}.hex-cell:hover{transform:scale(1.1)}.hex-inner{width:100%;height:100%;background:var(--color, var(--color-header-bg));clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.hex-name{font-size:.55rem;color:#fff;text-align:center;white-space:nowrap;overflow:hidden}@media(max-width:640px){.stack-cards{display:block!important}.stack-hex,.stack-orbit{display:none!important}}.orbit-container{position:relative;width:700px;height:700px;margin:2rem auto}.orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#6366f1,#4f46e5);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #6366f166;z-index:10}.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px dashed var(--color-border)}.ring-label{position:absolute;top:0;left:50%;transform:translate(-50%,-100%);font-size:.75rem;font-weight:700;color:var(--color-muted);text-transform:uppercase}.orbit-ring.ring-1{--size: 160px;--speed: 80s}.orbit-ring.ring-2{--size: 280px;--speed: 70s}.orbit-ring.ring-3{--size: 420px;--speed: 60s}.orbit-ring.ring-4{--size: 560px;--speed: 50s}.orbit-ring.ring-5{--size: 700px;--speed: 40s}.orbit-ring{width:var(--size);height:var(--size);margin-left:calc(var(--size) / -2);margin-top:calc(var(--size) / -2);animation:orbit-spin var(--speed) linear infinite}.orbit-ring:nth-child(2n){animation-direction:reverse}@keyframes orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orbit-item{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;transform:rotate(var(--angle)) translate(calc(var(--size) / 2))}.orbit-icon{width:38px;height:38px;border-radius:50%;background:var(--color-header-bg);display:flex;align-items:center;justify-content:center;transform:rotate(calc(var(--angle) * -1));animation:counter-spin var(--speed) linear infinite}.orbit-ring:nth-child(2n) .orbit-icon{animation-direction:reverse}@keyframes counter-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.orbit-tooltip{position:absolute;bottom:110%;left:50%;transform:translate(-50%);background:var(--color-header-bg);color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:4px;opacity:0;transition:opacity .2s}.orbit-item:hover .orbit-icon{scale:1.3}.orbit-item:hover .orbit-tooltip{opacity:1}.orbit-view-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}.orbit-filter-btn{padding:.4rem .8rem;font-size:.75rem;border:1px solid var(--color-border);border-radius:20px;cursor:pointer}.orbit-filter-btn.active{background:var(--color);color:#fff;border-color:var(--color)}.orbit-ring.hidden{display:none}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);padding:1rem}.modal.visible{opacity:1;visibility:visible}.modal-content{background:#fffffff2;width:100%;max-width:650px;max-height:90vh;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;overflow-y:auto;transform:translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(255,255,255,.3)}.modal.visible .modal-content{transform:translateY(0)}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:#fff;position:sticky;top:0;z-index:10}.modal-header h2{font-size:1.25rem;color:var(--color-header-bg);margin:0;border:none!important;padding:0!important;text-transform:none!important}.close-modal{background:none;border:none;font-size:1.75rem;color:var(--color-muted);cursor:pointer;line-height:1}.modal-body{padding:1.5rem 2rem}.modern-textarea{width:100%;min-height:180px;padding:1rem;border:1.5px solid var(--color-border);border-radius:12px;font-family:inherit;font-size:.95rem;margin-bottom:1rem}.primary-btn{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.75rem;border-radius:10px;font-weight:600;cursor:pointer}.analysis-results{margin-top:2rem;padding-top:2rem;border-top:1.5px dashed var(--color-border)}.hidden{display:none!important}.analysis-loader{display:none;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.analysis-results.loading .analysis-loader{display:flex}.analysis-results.loading .results-content{display:none}.spinner{width:40px;height:40px;border:3px solid rgba(37,99,235,.1);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score-row{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.score-circle{width:100px;height:100px;flex-shrink:0}.circle-bg{fill:none;stroke:#eee;stroke-width:2.8}.circle{fill:none;stroke-width:2.8;stroke:var(--color-accent)}.percentage{fill:var(--color-header-bg);font-size:.55rem;font-weight:700;text-anchor:middle}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.analysis-col li{font-size:.88rem;line-height:1.4;padding:.6rem .8rem;border-radius:8px;margin-bottom:.5rem}.analysis-col:nth-child(1) li{background:#22c55e14;border-left:3px solid #22c55e}.analysis-col:nth-child(2) li{background:#ef444414;border-left:3px solid #ef4444}@media(max-width:600px){.score-row{flex-direction:column}.analysis-grid{grid-template-columns:1fr}}.modal-content-wide{max-width:800px}.model-select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;font-family:inherit;font-size:.95rem;font-weight:500;margin-bottom:1rem;background:#fff;cursor:pointer;transition:all .2s ease}.model-select:hover{border-color:var(--color-accent)}.model-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #6366f11a}.coverletter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1.5px solid var(--color-border)}.coverletter-header h3{font-size:1.15rem;color:var(--color-header-bg);margin:0;font-weight:700}.model-badge{font-size:.75rem;font-weight:600;color:var(--color-accent);background:#6366f11a;padding:.35rem .85rem;border-radius:6px;border:1px solid rgba(99,102,241,.2)}.coverletter-text{font-size:.95rem;line-height:1.7;color:var(--color-text);margin-bottom:1.5rem}.coverletter-text p{margin-bottom:1rem}.coverletter-text p:last-child{margin-bottom:0}.coverletter-actions{display:flex;gap:.75rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:1.5px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-header-bg);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:first-child{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.action-btn:first-child:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.action-btn:not(:first-child):hover{background:#00000008;border-color:var(--color-accent)}.modal-hint{font-size:.9rem;color:var(--color-muted);margin-bottom:.5rem;line-height:1.5}.modal-disclaimer{font-size:.85rem;color:#ef4444;background:#ef444414;border-left:3px solid #ef4444;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;line-height:1.5}.modal-disclaimer strong{font-weight:700;color:#dc2626}.turnstile-wrapper{margin-bottom:1.5rem;display:flex;justify-content:center}.modal-actions{display:flex;justify-content:flex-end}@media(max-width:600px){.coverletter-header{flex-direction:column;align-items:flex-start;gap:.75rem}.coverletter-actions{flex-direction:column}.action-btn{width:100%;justify-content:center}}@media print{@page{size:A4;margin:15mm 20mm}body{font-size:11pt;color:#000;background:#fff}.header-controls,.no-print,#compliance-modal,.social-bar,.view-toggle{display:none!important}.cv-header{background:#fff;color:#000;padding:.5rem 0;border-bottom:1px solid #eee;margin-bottom:1rem}.cv-profile-image{width:91px;height:91px;border-color:#ddd}.cv-section{padding:.5rem 0}.cv-section h2{page-break-after:avoid}.stack-cards{display:block!important}.stack-hex,.stack-orbit{display:none!important}.print-only{display:block!important}.skills-summary{margin-top:.75rem;padding-top:.5rem;border-top:1px dashed #eee}.skills-summary-row{font-size:8.5pt;margin-bottom:2pt}}
