@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Share+Tech+Mono&display=swap";.cvgen{--cvgen-paper: #f6f1e7;--cvgen-paper-raised: #ece3d1;--cvgen-ink: #24201a;--cvgen-ink-dim: #786e5c;--cvgen-ink-bright: #100d09;--cvgen-accent: #b1441f;--cvgen-accent-dim: rgba(177, 68, 31, .08);--cvgen-accent-glow: rgba(177, 68, 31, .28);--cvgen-border: rgba(36, 32, 26, .14);--cvgen-border-strong: rgba(36, 32, 26, .32);--cvgen-green: #3c6e4a;--cvgen-red: #9c2b1b;--cvgen-font-display: "Fraunces", Georgia, serif;--cvgen-font-mono: "IBM Plex Mono", monospace;min-height:100vh;background-color:var(--cvgen-paper);background-image:radial-gradient(var(--cvgen-border) 1px,transparent 1px);background-size:22px 22px;color:var(--cvgen-ink);font-family:var(--cvgen-font-mono);font-size:15px;line-height:1.7}.cvgen *,.cvgen *:before,.cvgen *:after{box-sizing:border-box}.cvgen button,.cvgen input{font-family:inherit}@keyframes cvgenFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cvgenFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvgenDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cvgen-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 48px;border-bottom:2px solid var(--cvgen-ink);background:var(--cvgen-paper);animation:cvgenFadeIn .5s ease both}.cvgen-brand{font-family:var(--cvgen-font-display);font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--cvgen-ink-bright);text-decoration:none}.cvgen-nav-links{display:flex;gap:28px;list-style:none}.cvgen-nav-item{opacity:0;animation:cvgenFadeUp .5s ease both}.cvgen-nav-link{color:var(--cvgen-ink-dim);text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:color .2s ease}.cvgen-nav-link:hover{color:var(--cvgen-accent)}.cvgen-nav-meta{display:flex;align-items:center;gap:16px}.cvgen-nav-email{font-size:12px;color:var(--cvgen-ink-dim)}.cvgen-logout-button{background:transparent;border:1px solid var(--cvgen-ink);color:var(--cvgen-ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;cursor:pointer;transition:background .2s ease,color .2s ease}.cvgen-logout-button:hover{background:var(--cvgen-ink);color:var(--cvgen-paper)}.cvgen-main{max-width:960px;margin:0 auto;padding:64px 48px}.cvgen-loading-shell{min-height:100vh;background:var(--cvgen-paper)}.cvgen-page{animation:cvgenFadeUp .5s ease both}.cvgen-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--cvgen-accent);margin-bottom:8px}.cvgen-page-title{font-family:var(--cvgen-font-display);font-weight:600;font-size:clamp(32px,5vw,48px);color:var(--cvgen-ink-bright);margin-bottom:20px;line-height:1.15}.cvgen-rule{width:56px;height:2px;background:var(--cvgen-accent);transform-origin:left;animation:cvgenDraw .6s cubic-bezier(.16,1,.3,1) .2s both;margin-bottom:28px}.cvgen-page-copy{max-width:620px;color:var(--cvgen-ink);margin-bottom:16px}.cvgen-placeholder{color:var(--cvgen-ink-dim);font-size:13px}.cvgen-auth-page{display:flex;align-items:center;justify-content:center;padding:48px 24px}.cvgen-auth-card{position:relative;width:100%;max-width:420px;background:var(--cvgen-paper-raised);border:1px solid var(--cvgen-border-strong);padding:48px 40px;animation:cvgenFadeUp .6s ease both}.cvgen-auth-card:before,.cvgen-auth-card:after{content:"";position:absolute;width:18px;height:18px}.cvgen-auth-card:before{top:-1px;left:-1px;border-top:2px solid var(--cvgen-accent);border-left:2px solid var(--cvgen-accent)}.cvgen-auth-card:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--cvgen-accent);border-right:2px solid var(--cvgen-accent)}.cvgen-auth-title{font-family:var(--cvgen-font-display);font-weight:600;font-size:30px;color:var(--cvgen-ink-bright);margin-bottom:4px}.cvgen-form{display:flex;flex-direction:column;gap:20px;margin-top:24px}.cvgen-field{display:flex;flex-direction:column;gap:6px}.cvgen-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cvgen-ink-dim)}.cvgen-input{background:var(--cvgen-paper);border:1px solid var(--cvgen-border-strong);color:var(--cvgen-ink-bright);padding:11px 14px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.cvgen-input:focus{outline:none;border-color:var(--cvgen-accent);box-shadow:0 0 0 1px var(--cvgen-accent)}.cvgen-error{font-size:13px;color:var(--cvgen-red);border-top:1px solid var(--cvgen-red);padding-top:8px}.cvgen-retry-button{background:transparent;border:1px solid var(--cvgen-border-strong);color:var(--cvgen-ink-dim);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:border-color .2s ease,color .2s ease;margin-top:8px}.cvgen-retry-button:hover{border-color:var(--cvgen-accent);color:var(--cvgen-accent)}.cvgen-button{background:var(--cvgen-ink);border:1px solid var(--cvgen-ink);color:var(--cvgen-paper);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:13px 20px;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}.cvgen-button:hover:not(:disabled){background:var(--cvgen-accent);border-color:var(--cvgen-accent);box-shadow:0 0 18px var(--cvgen-accent-glow)}.cvgen-button:disabled{opacity:.6;cursor:not-allowed}.cvgen-auth-switch{margin-top:24px;font-size:13px;color:var(--cvgen-ink-dim)}.cvgen-auth-switch a{color:var(--cvgen-accent);text-decoration:none;border-bottom:1px solid var(--cvgen-accent)}.cvgen-loading-status{color:var(--cvgen-ink-dim);font-size:13px}.cvgen-profile-form{display:flex;flex-direction:column;gap:48px;margin-top:8px}.cvgen-section{animation:cvgenFadeUp .5s ease both}.cvgen-section-title{font-family:var(--cvgen-font-display);font-weight:600;font-size:22px;color:var(--cvgen-ink-bright);margin-bottom:4px;padding-bottom:12px;border-bottom:1px solid var(--cvgen-border)}.cvgen-section-intro{font-size:13px;color:var(--cvgen-ink-dim);margin:12px 0 20px;max-width:560px}.cvgen-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cvgen-field-wide{grid-column:1 / -1}.cvgen-textarea{background:var(--cvgen-paper);border:1px solid var(--cvgen-border-strong);color:var(--cvgen-ink-bright);padding:11px 14px;font-size:14px;font-family:inherit;resize:vertical;min-height:96px;transition:border-color .2s ease,box-shadow .2s ease}.cvgen-textarea:focus{outline:none;border-color:var(--cvgen-accent);box-shadow:0 0 0 1px var(--cvgen-accent)}.cvgen-jd-textarea{min-height:280px}.cvgen-repeat-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.cvgen-repeat-item{position:relative;background:var(--cvgen-paper-raised);border:1px solid var(--cvgen-border);padding:24px;animation:cvgenFadeUp .35s ease both}.cvgen-repeat-item--active{border-color:var(--cvgen-accent);box-shadow:0 0 0 1px var(--cvgen-accent)}.cvgen-repeat-item-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.cvgen-repeat-item-actions{display:flex;align-items:center;gap:10px}.cvgen-repeat-index{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cvgen-accent)}.cvgen-remove-button{background:transparent;border:1px solid var(--cvgen-border-strong);color:var(--cvgen-ink-dim);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:border-color .2s ease,color .2s ease}.cvgen-remove-button:hover{border-color:var(--cvgen-red);color:var(--cvgen-red)}.cvgen-add-button{background:transparent;border:1px dashed var(--cvgen-border-strong);color:var(--cvgen-ink-dim);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:14px;width:100%;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.cvgen-add-button:hover{border-color:var(--cvgen-accent);color:var(--cvgen-accent);background:var(--cvgen-accent-dim)}.cvgen-empty-hint{font-size:13px;color:var(--cvgen-ink-dim);font-style:italic;margin-bottom:16px}.cvgen-skill-row{display:flex;gap:12px;align-items:flex-end}.cvgen-skill-field{flex:1}.cvgen-file-field{position:relative;margin-bottom:16px}.cvgen-file-input-label{display:flex;align-items:stretch;border:1px dashed var(--cvgen-border-strong);background:var(--cvgen-paper);cursor:pointer;transition:border-color .2s ease,background .2s ease}.cvgen-file-input-label:hover{border-color:var(--cvgen-accent);background:var(--cvgen-accent-dim)}.cvgen-file-input-button{flex-shrink:0;background:var(--cvgen-ink);color:var(--cvgen-paper);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:13px 18px}.cvgen-file-input-name{display:flex;align-items:center;padding:0 16px;font-size:13px;color:var(--cvgen-ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvgen-file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.cvgen-file-input:disabled{cursor:not-allowed}.cvgen-merge-picker{border:none;padding:0;margin:0 0 20px}.cvgen-merge-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.cvgen-merge-option{position:relative;display:flex;flex-direction:column;gap:6px;border:1px solid var(--cvgen-border-strong);background:var(--cvgen-paper);padding:14px 16px 14px 36px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.cvgen-merge-option:hover{border-color:var(--cvgen-accent)}.cvgen-merge-option-selected{border-color:var(--cvgen-accent);background:var(--cvgen-accent-dim);box-shadow:0 0 0 1px var(--cvgen-accent)}.cvgen-merge-option input[type=radio]{position:absolute;top:16px;left:14px;accent-color:var(--cvgen-accent)}.cvgen-merge-option-title{font-size:13px;font-weight:600;color:var(--cvgen-ink-bright);letter-spacing:.02em}.cvgen-merge-option-copy{font-size:12px;color:var(--cvgen-ink-dim);line-height:1.5}.cvgen-extract-button{width:auto}.cvgen-merge-options-single-column{grid-template-columns:1fr}.cvgen-result-panel{margin-top:8px}.cvgen-result-name{font-family:var(--cvgen-font-display);font-weight:600;font-size:26px;color:var(--cvgen-ink-bright);margin:16px 0 8px}.cvgen-result-summary{font-size:14px;color:var(--cvgen-ink);max-width:640px;margin-bottom:32px}.cvgen-result-subsection{margin-bottom:32px}.cvgen-result-subsection-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cvgen-accent);margin-bottom:12px}.cvgen-result-item-title{font-size:14px;font-weight:600;color:var(--cvgen-ink-bright);margin-bottom:4px}.cvgen-result-item-meta{font-size:12px;color:var(--cvgen-ink-dim);margin-bottom:8px}.cvgen-result-item-description{font-size:13px;color:var(--cvgen-ink);line-height:1.6}.cvgen-skill-pill-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none}.cvgen-skill-pill{background:var(--cvgen-accent-dim);border:1px solid var(--cvgen-border);color:var(--cvgen-ink-bright);font-size:12px;padding:6px 14px}.cvgen-save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:16px;padding:24px 0 4px;background:var(--cvgen-paper);border-top:2px solid var(--cvgen-ink)}.cvgen-success{font-size:13px;color:var(--cvgen-green);border-top:1px solid var(--cvgen-green);padding-top:8px}.cvgen-dirty-flag{font-size:12px;color:var(--cvgen-ink-dim);letter-spacing:.08em;text-transform:uppercase}@media (max-width: 720px){.cvgen-nav{flex-wrap:wrap;padding:16px 24px;gap:12px}.cvgen-nav-links{order:3;flex-basis:100%;gap:18px}.cvgen-main{padding:40px 24px}.cvgen-auth-card{padding:36px 24px}.cvgen-field-grid{grid-template-columns:1fr}.cvgen-skill-row{flex-direction:column;align-items:stretch}.cvgen-merge-options{grid-template-columns:1fr}.cvgen-file-input-label{flex-direction:column}.cvgen-nav-meta{flex-wrap:wrap;justify-content:flex-end;flex:1 1 auto;min-width:0}.cvgen-nav-email{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}}:root{--bg: #080f1c;--bg-raised: #0d1827;--grid-fine: rgba(72, 130, 210, .07);--grid-coarse: rgba(72, 130, 210, .14);--text: #9dbdd8;--text-dim: #3f6480;--text-bright: #ddeeff;--accent: #e8b84b;--accent-dim: rgba(232, 184, 75, .1);--accent-glow: rgba(232, 184, 75, .3);--green: #4ade80;--green-glow: rgba(74, 222, 128, .35);--red: #f87171;--red-glow: rgba(248, 113, 113, .35);--border: rgba(72, 130, 210, .18);--border-strong: rgba(72, 130, 210, .38);--font-display: "Bebas Neue", sans-serif;--font-mono: "Share Tech Mono", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background-color:var(--bg);background-image:linear-gradient(var(--grid-fine) 1px,transparent 1px),linear-gradient(90deg,var(--grid-fine) 1px,transparent 1px),linear-gradient(var(--grid-coarse) 1px,transparent 1px),linear-gradient(90deg,var(--grid-coarse) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;color:var(--text);font-family:var(--font-mono);font-size:var(--text-base);line-height:1.6;overflow-x:hidden}button{font-family:inherit}@keyframes scan{0%{transform:translateY(0);opacity:1}92%{opacity:.7}to{transform:translateY(101vh);opacity:0}}@keyframes revealUp{0%{clip-path:inset(105% 0 0 0)}to{clip-path:inset(0% 0 0 0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.1}}@keyframes drawRight{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.layout{display:flex;flex-direction:column;min-height:100vh}.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 48px;border-bottom:1px solid var(--border);animation:fadeIn .5s ease .1s both}.nav-brand{font-family:var(--font-display);font-size:20px;letter-spacing:.2em;color:var(--accent);text-decoration:none;-webkit-user-select:none;user-select:none}.nav-tag{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.scanline{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 20%,rgba(255,248,220,.9) 50%,var(--accent) 80%,transparent 100%);box-shadow:0 0 12px var(--accent-glow);animation:scan 1.4s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none;z-index:999}.hero{position:relative;min-height:calc(100vh - 58px);display:flex;flex-direction:column;justify-content:center;padding:72px 48px;overflow:hidden}.hero-watermark{position:absolute;bottom:-.12em;right:-.04em;font-family:var(--font-display);font-size:clamp(180px,26vw,400px);line-height:1;color:#4882d206;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;animation:fadeIn 1s ease .4s both}.hero-corner{position:absolute;width:20px;height:20px;animation:fadeIn .6s ease 1.4s both}.hero-corner--tl{top:32px;left:48px;border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong)}.hero-corner--tr{top:32px;right:48px;border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong)}.hero-corner--bl{bottom:32px;left:48px;border-bottom:1px solid var(--border-strong);border-left:1px solid var(--border-strong)}.hero-corner--br{bottom:32px;right:48px;border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-strong)}.hero-meta{display:flex;align-items:center;gap:40px;margin-bottom:52px;animation:fadeIn .5s ease .35s both}.hero-coord{font-size:var(--text-xs);letter-spacing:.18em;color:var(--text-dim);text-transform:uppercase}.hero-coord:before{content:"[ ";color:var(--accent)}.hero-coord:after{content:" ]";color:var(--accent)}.hero-build{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.hero-eyebrow{font-size:var(--text-sm);letter-spacing:.35em;color:var(--accent);text-transform:uppercase;margin-bottom:10px;animation:fadeIn .6s ease .55s both}.hero-rule{width:48px;height:1px;background:var(--accent);transform-origin:left;margin-bottom:20px;animation:drawRight .7s cubic-bezier(.16,1,.3,1) .65s both}.hero-title-clip{overflow:hidden;margin-bottom:28px}.hero-title{font-family:var(--font-display);font-size:clamp(80px,13vw,176px);line-height:.88;letter-spacing:.05em;color:var(--text-bright);animation:revealUp 1s cubic-bezier(.16,1,.3,1) .7s both}.hero-subtitle{max-width:460px;font-size:var(--text-base);line-height:1.9;color:var(--text-dim);margin-bottom:52px;animation:fadeUp .7s ease 1s both}.hero-cta{position:relative;display:inline-flex;align-items:center;gap:14px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-size:var(--text-sm);letter-spacing:.25em;text-transform:uppercase;padding:14px 32px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease;animation:fadeUp .7s ease 1.15s both}.hero-cta:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(232,184,75,.18);pointer-events:none;transition:border-color .2s ease}.hero-cta:hover{background:var(--accent-dim);color:var(--text-bright);box-shadow:0 0 20px var(--accent-glow)}.hero-cta:hover:before{border-color:#e8b84b66}.hero-cta-arrow{display:inline-block;transition:transform .25s ease}.hero-cta:hover .hero-cta-arrow{transform:translate(5px)}.health-status{position:fixed;bottom:28px;right:28px;display:flex;align-items:center;gap:9px;padding:9px 16px;background:#080f1cd9;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;animation:fadeIn .6s ease 1.5s both}.health-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.health-dot--checking{background:var(--text-dim);animation:blink 1.1s ease infinite}.health-dot--ok{background:var(--green);box-shadow:0 0 7px var(--green-glow)}.health-dot--error{background:var(--red);box-shadow:0 0 7px var(--red-glow)}.health-label{color:var(--text-dim)}.health-label--ok{color:var(--green)}.health-label--error{color:var(--red)}.nav-links{display:flex;align-items:center;gap:32px;list-style:none}.nav-link{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:0;transition:color .2s ease}.nav-link:hover{color:var(--accent)}.section-inner{max-width:1100px;margin:0 auto;padding:96px 48px}.section-header{margin-bottom:56px}.section-eyebrow{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.35em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.section-rule{width:48px;height:1px;background:var(--accent);transform-origin:left;animation:drawRight .7s cubic-bezier(.16,1,.3,1) both}.about{border-top:1px solid var(--border)}.about-body{display:flex;gap:32px}.about-accent-bar{flex-shrink:0;width:2px;background:linear-gradient(180deg,var(--accent) 0%,transparent 100%);border-radius:1px}.about-content{display:flex;flex-direction:column;gap:20px}.about-text{font-size:var(--text-base);line-height:1.9;color:var(--text);max-width:680px}.about-contact{display:flex;flex-wrap:wrap;gap:24px;margin-top:8px;padding-top:24px;border-top:1px solid var(--border)}.about-contact-item{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text)}.about-contact-label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--accent);background:var(--accent-dim);padding:2px 6px}.skills{border-top:1px solid var(--border);background:var(--bg-raised)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:32px}.skills-group{display:flex;flex-direction:column;gap:12px}.skills-group-label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase}.skills-tags{display:flex;flex-wrap:wrap;gap:8px}.skills-tag{font-size:var(--text-sm);color:var(--text);border:1px solid var(--border);padding:3px 10px;transition:border-color .2s ease,color .2s ease}.skills-tag:hover{border-color:var(--accent);color:var(--accent)}.exp{border-top:1px solid var(--border)}.exp-timeline{display:flex;flex-direction:column;gap:64px}.exp-entry{display:flex;flex-direction:column;gap:28px;padding-left:24px;border-left:1px solid var(--border-strong);position:relative}.exp-entry:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent-glow)}.exp-entry-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.exp-company{font-family:var(--font-display);font-size:22px;letter-spacing:.08em;color:var(--text-bright)}.exp-period{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.exp-role{display:flex;flex-direction:column;gap:14px}.exp-role-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exp-role-title{font-size:var(--text-base);color:var(--accent);letter-spacing:.05em}.exp-role-type{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;border:1px solid var(--border);padding:2px 8px}.exp-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;max-width:780px}.exp-bullet{font-size:var(--text-base);line-height:1.8;color:var(--text);padding-left:16px;position:relative}.exp-bullet:before{content:"›";position:absolute;left:0;color:var(--accent)}.edu{border-top:1px solid var(--border);background:var(--bg-raised)}.edu-card{position:relative;border:1px solid var(--border-strong);max-width:560px;padding:40px 48px}.edu-card-corner{position:absolute;width:12px;height:12px}.edu-card-corner--tl{top:-1px;left:-1px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.edu-card-corner--br{bottom:-1px;right:-1px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}.edu-degree{font-family:var(--font-display);font-size:28px;letter-spacing:.06em;color:var(--text-bright);margin-bottom:8px}.edu-university{font-size:var(--text-base);color:var(--accent);letter-spacing:.1em;margin-bottom:28px}.edu-meta{display:flex;gap:32px;flex-wrap:wrap}.edu-meta-item{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text)}.edu-meta-label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--accent);background:var(--accent-dim);padding:2px 6px}.cert{border-top:1px solid var(--border)}.cert-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px}@media (max-width: 720px){.cert-columns{grid-template-columns:1fr}}.cert-col-label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:28px;padding-bottom:12px;border-bottom:1px solid var(--border)}.cert-list{list-style:none;display:flex;flex-direction:column;gap:24px}.cert-item{display:flex;flex-direction:column;gap:6px;padding-bottom:24px;border-bottom:1px solid var(--border)}.cert-item:last-child{border-bottom:none;padding-bottom:0}.cert-item--award{flex-direction:row;gap:16px}.cert-award-badge{flex-shrink:0;font-size:var(--text-xs);letter-spacing:.2em;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);padding:3px 8px;height:fit-content;margin-top:2px}.cert-item-title{font-size:var(--text-base);color:var(--text-bright);line-height:1.4}.cert-item-meta{display:flex;gap:12px;align-items:center}.cert-item-issuer{font-size:var(--text-xs);color:var(--text-dim)}.cert-item-year{font-size:var(--text-xs);letter-spacing:.1em;color:var(--accent)}.cert-item-desc{font-size:var(--text-sm);line-height:1.7;color:var(--text-dim);margin-top:4px}.footer{border-top:1px solid var(--border);background:var(--bg-raised)}.footer-inner{max-width:1100px;margin:0 auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-brand{font-family:var(--font-display);font-size:18px;letter-spacing:.2em;color:var(--accent)}.footer-copy{font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.1em}.footer-tag{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.projects-grid{display:grid;grid-template-columns:1fr;gap:32px}.projects-empty{font-size:var(--text-base);color:var(--text-dim);letter-spacing:.1em}.project-card{position:relative;border:1px solid var(--border);padding:32px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s ease,box-shadow .2s ease}.project-card:before{content:"";position:absolute;top:-1px;left:-1px;width:12px;height:12px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);opacity:.5;transition:opacity .2s ease}.project-card:after{content:"";position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);opacity:.5;transition:opacity .2s ease}.project-card:hover{border-color:var(--border-strong);box-shadow:0 0 24px #4882d214}.project-card:hover:before,.project-card:hover:after{opacity:1}.project-card-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-card-status{font-size:var(--text-xs);letter-spacing:.2em;padding:2px 8px;border:1px solid;text-transform:uppercase;flex-shrink:0}.project-card-status--completed{color:var(--green);border-color:var(--green);background:#4ade8014}.project-card-status--wip{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.project-card-tech{display:flex;flex-wrap:wrap;gap:6px}.project-card-title{font-family:var(--font-display);font-size:28px;letter-spacing:.06em;color:var(--text-bright);line-height:1;margin-bottom:6px}.project-card-desc{font-size:var(--text-sm);color:var(--text-dim);line-height:1.6}.project-card-body{font-size:var(--text-sm);color:var(--text);line-height:1.8}.project-card-body p{margin-bottom:8px}.project-card-body p:last-child{margin-bottom:0}.project-card-image{margin:.75rem 0}.project-card-image img{max-width:100%;max-height:80px;object-fit:contain}.project-card-links{display:flex;gap:12px;margin-top:auto;padding-top:4px}.project-card-link{font-size:var(--text-xs);letter-spacing:.15em;color:var(--accent);text-decoration:none;text-transform:uppercase;border:1px solid var(--accent);padding:6px 14px;transition:background .2s ease,color .2s ease}.project-card-link:hover{background:var(--accent-dim);color:var(--text-bright)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px;background-color:var(--bg);background-image:linear-gradient(var(--grid-fine) 1px,transparent 1px),linear-gradient(90deg,var(--grid-fine) 1px,transparent 1px),linear-gradient(var(--grid-coarse) 1px,transparent 1px),linear-gradient(90deg,var(--grid-coarse) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px}.login-card{position:relative;width:100%;max-width:420px;background:var(--bg-raised);border:1px solid var(--border-strong);padding:48px 40px}.login-card:before{content:"";position:absolute;top:-1px;left:-1px;width:16px;height:16px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.login-card:after{content:"";position:absolute;bottom:-1px;right:-1px;width:16px;height:16px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}.login-header{margin-bottom:32px}.login-title{font-family:var(--font-display);font-size:32px;letter-spacing:.1em;color:var(--text-bright);margin-bottom:12px}.login-rule{width:48px;height:1px;background:var(--accent)}.login-form{display:flex;flex-direction:column;gap:24px}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.login-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:var(--text-base);padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.login-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.login-error{font-size:var(--text-sm);color:var(--red);padding:8px 0;border-top:1px solid var(--red)}.login-button{background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.2em;text-transform:uppercase;padding:14px 24px;margin-top:8px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.login-button:hover:not(:disabled){background:var(--accent-dim);color:var(--text-bright);box-shadow:0 0 16px var(--accent-glow)}.login-button:disabled{opacity:.6;cursor:not-allowed}.admin-page{min-height:100vh;background-color:var(--bg);background-image:linear-gradient(var(--grid-fine) 1px,transparent 1px),linear-gradient(90deg,var(--grid-fine) 1px,transparent 1px),linear-gradient(var(--grid-coarse) 1px,transparent 1px),linear-gradient(90deg,var(--grid-coarse) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;padding:48px 24px}.admin-container{max-width:1000px;margin:0 auto}.admin-header{margin-bottom:48px}.admin-title{font-family:var(--font-display);font-size:clamp(48px,8vw,72px);letter-spacing:.1em;color:var(--text-bright);margin-bottom:16px}.admin-rule{width:64px;height:2px;background:var(--accent)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:48px}.admin-stat-card{position:relative;background:var(--bg-raised);border:1px solid var(--border);padding:32px 24px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}.admin-stat-card:before{content:"";position:absolute;top:-1px;left:-1px;width:12px;height:12px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);opacity:.6}.admin-stat-card:hover{border-color:var(--border-strong);box-shadow:0 0 20px #4882d21a}.admin-stat-card:hover:before{opacity:1}.admin-stat-value{font-family:var(--font-display);font-size:28px;letter-spacing:.05em;color:var(--accent)}.admin-stat-label{font-size:var(--text-xs);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.admin-actions{display:flex;justify-content:flex-end}.admin-logout-button{background:transparent;border:1px solid var(--red);color:var(--red);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.2em;text-transform:uppercase;padding:12px 24px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.admin-logout-button:hover{background:#f871711a;color:var(--text-bright);box-shadow:0 0 16px var(--red-glow)}.generator-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.generator-form{display:flex;flex-direction:column;gap:20px}.generator-label{display:flex;flex-direction:column;gap:8px}.generator-textarea{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-bright);font-family:var(--font-mono);font-size:var(--text-sm);padding:12px 14px;resize:vertical;outline:none;transition:border-color .2s;width:100%}.generator-textarea:focus{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.generator-output{display:flex;flex-direction:column;gap:8px}.generator-result{background:var(--bg-raised);border:1px solid var(--border);min-height:320px;padding:16px;overflow-y:auto;flex:1}.generator-placeholder,.generator-cursor{color:var(--text-dim);font-size:var(--text-sm)}.generator-cursor:after{content:"";display:inline-block;width:8px;height:14px;background:var(--accent);margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}.generator-content{color:var(--text-bright);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word}.generator-error{color:var(--red);font-size:var(--text-sm);margin-top:8px}@media (max-width: 768px){.section-inner{padding:64px 24px}.hero{padding:48px 24px}.nav{padding:18px 24px}.nav-links{display:none}.exp-entry-head,.about-body{flex-direction:column}.about-accent-bar{width:100%;height:2px}.footer-inner{padding:24px}.projects-grid,.admin-stats{grid-template-columns:1fr}.login-card{padding:32px 24px}.generator-layout{grid-template-columns:1fr}}
