:root{--bg: #09090b;--bg-soft: #18181b;--text: #f8fafc;--muted: #a1a1aa;--accent: #38bdf8;--accent-strong: #818cf8;--panel: rgba(24, 24, 27, .6);--panel-border: rgba(255, 255, 255, .08)}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at top,#1e1b4b,var(--bg) 60%);color:var(--text);font-family:Inter,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.brand-link,.site-nav-link,.hero-cta,.site-lang-dropdown-btn{font-family:Outfit,sans-serif}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(148,163,184,.18);background:#020617c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-nav{width:100%;margin:0;min-height:64px;display:flex;align-items:center;gap:.7rem;padding:.7rem clamp(.9rem,3vw,2rem);overflow:visible}.brand-link{flex-shrink:0;margin-right:auto;font-weight:700;letter-spacing:.1em;font-size:.76rem;text-transform:uppercase;color:#e2e8f0;padding:.36rem .1rem;white-space:nowrap}.site-nav-links{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.site-nav-link{color:var(--muted);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.38rem .62rem;border-radius:7px;position:relative;border:1px solid transparent;transition:color .22s ease,background .22s ease,border-color .22s ease}.site-nav-link:hover{color:#f8fafc;background:#94a3b814;border-color:#94a3b829}.site-nav-link.active{color:#e0f2fe;background:#38bdf81a;border-color:#38bdf83d;box-shadow:inset 0 1px #e0f2fe1f}.site-lang-dropdown{margin-left:auto;position:relative;flex-shrink:0}.site-lang-dropdown-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(148,163,184,.22);background:#0f172a80;color:var(--text);padding:.4rem .62rem;border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:border-color .2s ease,background .2s ease}.site-lang-dropdown-btn:hover{border-color:#38bdf859;background:#1e293b99}.site-lang-dropdown-btn:active{transform:translateY(0)}.site-lang-dropdown-label{line-height:1.2}.site-lang-icon{color:#7dd3fc;opacity:.95;flex-shrink:0}.site-lang-chevron{opacity:.65;transition:transform .2s ease;font-size:.8rem}.site-lang-dropdown.open .site-lang-chevron{transform:rotate(180deg)}.site-lang-dropdown-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:170px;display:flex;flex-direction:column;background:#020617f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.26);border-radius:12px;box-shadow:0 14px 34px #0206178f;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;overflow:hidden;z-index:50}.site-lang-dropdown.open .site-lang-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.site-lang-option{padding:.58rem .78rem;font-size:.88rem;color:var(--muted);transition:background .2s ease,color .2s ease}.site-lang-option:hover{background:#94a3b824;color:var(--text)}.site-lang-option.active{color:#e0f2fe;background:#38bdf829}body.route-resume .cv-cms .app-header{top:64px}main{flex:1}.site-footer{width:min(1200px,94%);margin:0 auto;padding:1.5rem 0;color:var(--muted)}.hero-section{position:relative;min-height:calc(100vh - 128px);display:grid;place-items:center;overflow:hidden}.hero-scene{position:absolute;inset:0;z-index:1}.scene-fallback{display:grid;place-items:center;height:100%;color:var(--muted)}.hero-content{z-index:2;width:min(1100px,94%);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;gap:1rem;min-height:calc(100vh - 180px);padding:clamp(2.5rem,6vh,4.5rem) 1rem 2.5rem}.hero-content h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1;text-wrap:balance;text-shadow:0 4px 20px rgba(0,0,0,.5)}.hero-content>p{color:var(--muted);max-width:680px;font-size:clamp(1.1rem,2vw,1.25rem)}.hero-cta{margin-top:1rem;padding:.9rem 1.6rem;border-radius:999px;border:1px solid rgba(56,189,248,.4);background:linear-gradient(120deg,#38bdf833,#818cf833);font-weight:700;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;transition:all .3s ease;cursor:pointer;box-shadow:0 0 20px #38bdf81a}.hero-cta:hover{transform:translateY(-2px);background:linear-gradient(120deg,#38bdf859,#818cf859);box-shadow:0 8px 25px #38bdf84d;border-color:#38bdf8cc}.feature-grid{margin-top:auto;margin-bottom:clamp(.5rem,3vh,2rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(980px,100%)}.feature-card{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;padding:1.5rem;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-4px);background:#27272ab3;border-color:#38bdf84d;box-shadow:0 12px 30px #0006,0 0 20px #38bdf81a}.feature-card:hover:before{opacity:1}.feature-card h3{margin-bottom:.75rem;font-size:1.2rem;color:#fff}.feature-card p{color:var(--muted);line-height:1.5;font-size:.95rem}.resume-shell{width:min(1200px,94%);margin:1.5rem auto 2rem;display:flex;flex-direction:column;gap:1rem}body.route-resume .resume-shell{width:100%;max-width:none;margin:0;gap:0}body.route-resume .resume-header{width:min(1200px,94%);margin:1rem auto}body.route-resume .cv-cms{width:100%}.resume-header p{color:var(--muted);margin-top:.4rem}.cv-cms-placeholder{border:1px dashed var(--panel-border);border-radius:16px;background:var(--panel);min-height:420px;display:grid;place-items:center;color:var(--muted);font-weight:600}.contact-page{width:min(1200px,94%);margin:2rem auto 2.4rem;min-height:calc(100vh - 210px);display:flex;flex-direction:column;gap:1rem;align-content:start}.contact-hero{border:1px solid rgba(148,163,184,.2);background:#0f172a8f;border-radius:14px;padding:clamp(1.1rem,2.2vw,1.6rem);position:relative}.contact-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#93c5fd;margin-bottom:.3rem}.contact-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#67e8f9,#38bdf8)}.contact-hero h1{font-size:clamp(1.55rem,3.2vw,2.15rem);margin-bottom:.35rem;font-weight:600;letter-spacing:.01em}.contact-hero>p{color:var(--muted);max-width:820px;line-height:1.5;font-size:.98rem}.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:.9rem}.contact-form-card,.contact-info-card{border:1px solid rgba(148,163,184,.18);background:#02061780;border-radius:12px;padding:.95rem 1rem}.contact-form-card{display:flex;flex-direction:column;gap:.9rem;transition:border-color .2s ease,background .2s ease}.contact-form-card:hover,.contact-info-card:hover{border-color:#38bdf84d;background:#0206178f}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.contact-field{display:flex;flex-direction:column;gap:.42rem}.contact-field>span,.contact-info-head{display:inline-flex;align-items:center;gap:.42rem;color:#94a3b8;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.contact-field input,.contact-field textarea{width:100%;border:1px solid rgba(148,163,184,.18);background:#0f172ad1;color:#e2e8f0;border-radius:10px;padding:.8rem .9rem;font:inherit;line-height:1.45}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#38bdf873;box-shadow:0 0 0 3px #38bdf81f}.contact-field textarea{resize:vertical;min-height:180px}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.contact-form-actions{display:flex;align-items:center;justify-content:flex-start}.contact-submit{border-radius:8px;padding:.72rem 1rem;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.contact-submit--hybrid{border:1px solid rgba(148,163,184,.24);background:linear-gradient(135deg,#38bdf814,#22d3ee0a),#0f172a94;color:var(--text);box-shadow:0 10px 24px #0f172a29}.contact-submit--hybrid:hover{border-color:#38bdf86b;background:linear-gradient(135deg,#38bdf829,#22d3ee14),#1e293bb8;box-shadow:0 12px 30px #0891b229;transform:translateY(-1px)}.contact-submit--hybrid:focus-visible{outline:none;border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf824,0 12px 30px #0891b229}.contact-submit:disabled{opacity:.72;cursor:wait;transform:none}.contact-feedback{margin:0;padding:.8rem .9rem;border-radius:10px;font-size:.94rem}.contact-feedback.success{background:#22c55e29;color:#bbf7d0;border:1px solid rgba(34,197,94,.26)}.contact-feedback.error{background:#f871711f;color:#fecaca;border:1px solid rgba(248,113,113,.24)}.contact-aside{display:flex;flex-direction:column;gap:.75rem}.contact-info-card{min-height:116px;display:flex;flex-direction:column;gap:.6rem;justify-content:flex-start}.contact-value{color:#e2e8f0;display:inline-block;font-size:.98rem;line-height:1.4;font-weight:500;word-break:break-word}.contact-info-value{display:block;margin-top:.1rem;font-size:1.08rem;line-height:1.5;font-weight:600}.contact-value[href]:hover{color:#bae6fd;text-decoration:underline;text-underline-offset:2px}@media(max-width:860px){.site-header{top:0}.hero-content{min-height:auto;padding:2rem 1rem 3rem}.feature-grid{grid-template-columns:1fr;margin-top:1.5rem;margin-bottom:0}.site-nav{gap:.55rem;min-height:60px;padding:.55rem .7rem;justify-content:space-between}.brand-link{font-size:.72rem;margin-right:.25rem}.site-nav-links{width:auto;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.site-nav-link{text-align:left;font-size:.72rem;padding:.34rem .5rem;white-space:nowrap}.contact-layout,.contact-form-grid{grid-template-columns:1fr}body.route-resume .cv-cms .app-header{top:60px}}@media(max-width:680px){.contact-form-actions{align-items:stretch}.contact-submit{width:100%}}@media print{body.route-resume{background:#fff!important}body.route-resume .site-header,body.route-resume .site-footer,body.route-resume .resume-header{display:none!important}body.route-resume main{margin:0!important;padding:0!important}body.route-resume .resume-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}}.cv-cms{--bg-dark: #1a1a29;--bg-gradient: linear-gradient(145deg, #0e0e16 0%, #161625 40%, #1a1a2e 100%);--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--surface-border: rgba(255, 255, 255, .08);--surface-glow: rgba(108, 99, 255, .06);--text-primary: #e8e8f0;--text-secondary: #9595a8;--text-muted: #5c5c72;--accent: #6c63ff;--accent-light: #8b83ff;--accent-glow: rgba(108, 99, 255, .25);--accent-gradient: linear-gradient(135deg, #6c63ff 0%, #4f46e5 100%);--danger: #ef4444;--danger-glow: rgba(239, 68, 68, .2);--radius: 12px;--radius-sm: 8px;--transition: .22s cubic-bezier(.4, 0, .2, 1);--shadow-card: 0 2px 12px rgba(0, 0, 0, .25), 0 0 1px rgba(255, 255, 255, .05);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 255, 255, .06);--shadow-a4: 0 4px 24px rgba(0, 0, 0, .35), 0 12px 48px rgba(0, 0, 0, .2);--paper: #ffffff;--ink: #101010;--a4-w: 210mm;--a4-h: 297mm;--ui-font: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--cv-font-heading: "Orbitron", "Bebas Neue", "Oswald", "Arial Narrow", Impact, sans-serif;--cv-font-body: "Nunito Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--cv-font-scale: 1.18;--cv-accent: #f17f21;--cv-sidebar-bg: linear-gradient(180deg, #3a3b40 0%, #3f4147 100%);--cv-font-xs: calc(9px * var(--cv-font-scale));--cv-font-sm: calc(9.9px * var(--cv-font-scale));--cv-font-sidebar: calc(10px * var(--cv-font-scale));--cv-font-label: calc(10px * var(--cv-font-scale));--cv-font-md: calc(10px * var(--cv-font-scale));--cv-font-lg: calc(10px * var(--cv-font-scale));--cv-font-icon: calc(13px * var(--cv-font-scale));--cv-font-body-main: calc(12px * var(--cv-font-scale));--cv-font-section: calc(14px * var(--cv-font-scale));--cv-font-name: calc(10mm * var(--cv-font-scale));--cv-font-name-sm: calc(8mm * var(--cv-font-scale))}.cv-cms *{box-sizing:border-box}body.route-resume .cv-cms{margin:0;font-family:var(--ui-font);color:var(--text-primary);background:var(--bg-gradient);min-height:100vh}.cv-cms .material-symbols-rounded{font-size:20px;vertical-align:middle;line-height:1}.cv-cms .app-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 24px;background:#0e0e16d1;border-bottom:1px solid var(--surface-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cv-cms .app-brand{flex-shrink:0}.cv-cms .app-header h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.02em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.cv-cms .brand-icon{font-size:24px;color:var(--accent)}.cv-cms .app-header p{margin:3px 0 0;color:var(--text-muted);font-size:12px;letter-spacing:.04em}.cv-cms .toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cv-cms button,.cv-cms .file-label{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text-secondary);padding:7px 13px;margin:0;font-size:13px;font-weight:500;font-family:inherit;line-height:1.2;box-sizing:border-box;vertical-align:middle;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition);-webkit-user-select:none;user-select:none}.cv-cms button:hover,.cv-cms .file-label:hover{background:var(--surface-hover);border-color:#ffffff24;color:var(--text-primary);transform:translateY(-1px)}.cv-cms button:active,.cv-cms .file-label:active{transform:translateY(0)}.cv-cms button .material-symbols-rounded,.cv-cms .file-label .material-symbols-rounded{font-size:18px}.cv-cms button.primary{background:var(--accent-gradient);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 12px var(--accent-glow)}.cv-cms button.primary:hover{box-shadow:0 4px 20px var(--accent-glow);filter:brightness(1.12);transform:translateY(-2px)}.cv-cms button.ghost{background:transparent;border-color:#ffffff0f;color:var(--text-muted)}.cv-cms button.ghost:hover{background:var(--danger-glow);border-color:#ef44444d;color:var(--danger)}.cv-cms #importJsonInput,.cv-cms #signatureInput,.cv-cms #photoInput,.cv-cms .photo-btns input[type=file]{display:none}.cv-cms .lang-dropdown{position:relative}body.route-resume .cv-cms .lang-dropdown{display:none!important}.cv-cms .lang-dropdown-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text-secondary);padding:7px 13px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition);white-space:nowrap}.cv-cms .lang-dropdown-btn:hover{background:var(--surface-hover);border-color:#ffffff24;color:var(--text-primary);transform:translateY(-1px)}.cv-cms .lang-chevron{font-size:16px!important;transition:transform var(--transition);opacity:.6}.cv-cms .lang-dropdown.open .lang-chevron{transform:rotate(180deg)}.cv-cms .lang-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:160px;background:#161628f5;border:1px solid var(--surface-border);border-radius:var(--radius-sm);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-elevated);overflow:hidden;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);z-index:100}.cv-cms .lang-dropdown.open .lang-dropdown-menu{opacity:1;pointer-events:all;transform:translateY(0)}.cv-cms .lang-option{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:0;cursor:pointer;text-align:left;transition:background var(--transition),color var(--transition);transform:none;box-shadow:none}.cv-cms .lang-option:hover{background:var(--surface-hover);color:var(--text-primary);transform:none}.cv-cms .lang-option.active{color:var(--accent-light);background:#6c63ff14}.cv-cms .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--accent);color:#fff;padding:10px 22px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--ui-font);box-shadow:0 4px 20px var(--accent-glow);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:1000}.cv-cms .toast.show{opacity:1;transform:translate(-50%) translateY(0)}.cv-cms .layout{display:grid;grid-template-columns:minmax(380px,520px) 1fr;min-height:calc(100vh - 65px)}.cv-cms .editor-pane{border-right:1px solid var(--surface-border);overflow-y:auto;overflow-x:hidden;padding:16px;background:#10101c8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.cv-cms .editor-pane::-webkit-scrollbar{width:6px}.cv-cms .editor-pane::-webkit-scrollbar-track{background:transparent}.cv-cms .editor-pane::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.cv-cms .editor-pane::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.cv-cms .preview-pane{overflow:auto;padding:24px;background:#111119}.cv-cms .card{border:1px solid var(--surface-border);background:var(--surface);border-radius:var(--radius);padding:0;margin-bottom:12px;box-shadow:var(--shadow-card);transition:border-color var(--transition),box-shadow var(--transition);overflow:hidden}.cv-cms .card:hover{border-color:#ffffff1f}.cv-cms .card h2{margin:0;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.cv-cms .card-toggle{display:flex;align-items:center;gap:8px;padding:13px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition);border-bottom:1px solid transparent}.cv-cms .card-toggle:hover{background:var(--surface-hover)}.cv-cms .card-icon{font-size:20px;color:var(--accent);flex-shrink:0}.cv-cms .chevron{margin-left:auto;font-size:22px;color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.cv-cms .card.collapsed .chevron{transform:rotate(-90deg)}.cv-cms .card-body{padding:14px 16px 16px;max-height:100000px;overflow:hidden;transition:max-height .35s ease,padding .35s ease,opacity .25s ease;opacity:1}.cv-cms .card.collapsed .card-body{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.cv-cms .card.collapsed .card-toggle{border-bottom-color:transparent}.cv-cms .card:not(.collapsed) .card-toggle{border-bottom-color:var(--surface-border)}.cv-cms .photo-editor{display:flex;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--surface-border)}.cv-cms .photo-preview-wrap{flex-shrink:0}.cv-cms .photo-preview{width:120px;height:120px;border-radius:50%;border:2px solid var(--surface-border);overflow:hidden;position:relative;cursor:pointer;background:#ffffff08;transition:border-color var(--transition)}.cv-cms .photo-preview:hover{border-color:var(--accent)}.cv-cms .photo-preview.has-photo{cursor:grab}.cv-cms .photo-preview.has-photo:active{cursor:grabbing}.cv-cms .photo-preview img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;display:none;-webkit-user-select:none;user-select:none}.cv-cms .photo-preview.has-photo img{display:block}.cv-cms .photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);font-size:11px;gap:4px;text-align:center}.cv-cms .photo-placeholder .material-symbols-rounded{font-size:32px;color:var(--text-muted)}.cv-cms .photo-preview.has-photo .photo-placeholder{display:none}.cv-cms .signature-editor{display:flex;align-items:flex-start;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--surface-border)}.cv-cms .signature-preview-wrap{flex-shrink:0}.cv-cms .signature-preview{width:180px;height:72px;border-radius:var(--radius-sm);border:2px dashed var(--surface-border);overflow:hidden;position:relative;cursor:pointer;background:#ffffff05;transition:border-color var(--transition)}.cv-cms .signature-preview:hover{border-color:var(--accent)}.cv-cms .signature-preview img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;display:none}.cv-cms .signature-preview.has-photo{border-style:solid;cursor:grab}.cv-cms .signature-preview.has-photo:active{cursor:grabbing}.cv-cms .signature-preview.has-photo img{display:block}.cv-cms .signature-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;color:var(--text-muted);font-size:11px;gap:4px}.cv-cms .signature-placeholder .material-symbols-rounded{font-size:22px}.cv-cms .signature-preview.has-photo .signature-placeholder{display:none}.cv-cms .signature-btns{display:flex;gap:8px}.cv-cms .photo-controls{flex:1;display:none;flex-direction:column;gap:10px}.cv-cms .photo-controls.visible{display:flex}.cv-cms .photo-zoom-label{display:flex;align-items:center;gap:8px;margin-bottom:0;text-transform:none;letter-spacing:0}.cv-cms .photo-zoom-label .material-symbols-rounded{font-size:18px;color:var(--text-muted)}.cv-cms .photo-zoom-label input[type=range]{flex:1;margin:0;padding:0;height:4px;border:none;border-radius:2px;background:#ffffff1a;-webkit-appearance:none;appearance:none;cursor:pointer}.cv-cms .photo-zoom-label input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-dark);cursor:pointer;box-shadow:0 0 6px var(--accent-glow)}.cv-cms .photo-zoom-label input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-dark);cursor:pointer;box-shadow:0 0 6px var(--accent-glow)}.cv-cms .photo-zoom-label input[type=range]:focus{box-shadow:none}.cv-cms .photo-btns{display:flex;gap:6px}.cv-cms .photo-btn{font-size:11px;padding:5px 10px}.cv-cms #photoInput{display:none}.cv-cms label{display:block;font-size:11px;font-weight:600;margin-bottom:9px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.cv-cms input,.cv-cms textarea{width:100%;margin-top:4px;font:inherit;font-size:14px;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text-primary);background:#ffffff0a;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.cv-cms input::placeholder,.cv-cms textarea::placeholder{color:var(--text-muted)}.cv-cms input:hover,.cv-cms textarea:hover{border-color:#ffffff24}.cv-cms input:focus,.cv-cms textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff0f}.cv-cms .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cv-cms .hint{margin:4px 0 0;font-size:11px;color:var(--text-muted);font-style:italic}.cv-cms .row-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:12px;text-transform:none;letter-spacing:0;color:var(--text-secondary);cursor:pointer}.cv-cms .row-checkbox input{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin:0;border:2px solid var(--surface-border);border-radius:5px;background:var(--surface);cursor:pointer;position:relative;transition:background var(--transition),border-color var(--transition)}.cv-cms .row-checkbox input:checked{background:var(--accent);border-color:var(--accent)}.cv-cms .row-checkbox input:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;color:#fff;font-weight:700}.cv-cms .skill-bars-section{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.1)}.cv-cms .skill-bars-title{font-size:13px;color:var(--text-primary);margin:0 0 12px;font-weight:600}.cv-cms .skill-bar-edit-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;background:#0000001a;padding:8px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05)}.cv-cms .skill-bar-edit-row input[type=text]{flex:1;min-width:0;padding:6px;height:28px;margin-bottom:0}.cv-cms .skill-bar-edit-row input[type=range]{width:80px;flex-shrink:0;margin:0}.cv-cms .skill-bar-level-label{width:35px;font-size:11px;color:var(--text-secondary);text-align:right;flex-shrink:0}.cv-cms .skill-bar-edit-row button{padding:4px;height:28px;flex-shrink:0}.cv-cms .section-card{border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;background:#ffffff06;transition:border-color var(--transition)}.cv-cms .section-card:hover{border-color:#ffffff1f}.cv-cms .section-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}.cv-cms .section-head input{flex:1}.cv-cms .entry-card{border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;background:#ffffff05;transition:border-color var(--transition)}.cv-cms .entry-card:hover{border-color:#ffffff1a}.cv-cms .entry-tools,.cv-cms .section-tools{display:flex;gap:4px}.cv-cms .entry-tools button,.cv-cms .section-tools button{padding:4px 8px;font-size:11px}.cv-cms .preview-pages{display:flex;flex-direction:column;align-items:center;gap:28px;padding-bottom:40px}.cv-cms .a4-page{width:var(--a4-w);height:var(--a4-h);background:var(--paper);box-shadow:var(--shadow-a4);position:relative;overflow:hidden;border-radius:2px}.cv-cms .page-number{position:absolute;right:8mm;bottom:6mm;font-size:10px;color:#8a8a8a}.cv-cms .cv-page.first{display:grid;grid-template-columns:57mm 1fr}.cv-cms .cv-sidebar{background:var(--cv-sidebar-bg);color:#f2f2f2;padding:6mm 5mm 10mm;display:flex;flex-direction:column;gap:7mm}.cv-cms .avatar-ring{width:40mm;height:40mm;border-radius:50%;margin:0 auto;border:4px solid rgba(255,255,255,.4);background:#2a2a2a}.cv-cms .side-group{position:relative}.cv-cms .side-group h4{margin:0 0 2.5mm;text-transform:uppercase;font-size:var(--cv-font-section);letter-spacing:.04em;font-family:var(--cv-font-heading);min-height:18px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:1.5mm;color:var(--cv-accent)}.cv-cms .side-group p,.cv-cms .side-group ul{margin:0 0 1.25mm;font-size:var(--cv-font-sidebar);line-height:1.45;font-family:var(--cv-font-body)}.cv-cms .side-group ul{padding-left:4.5mm}.cv-cms .side-group p:last-child{margin-bottom:0}.cv-cms .contact-item-row{display:flex;align-items:center;gap:2mm;margin-bottom:2mm}.cv-cms .contact-item-row:last-child{margin-bottom:0}.cv-cms .contact-icon{font-size:var(--cv-font-icon);color:var(--cv-accent)}.cv-cms .contact-text{font-size:var(--cv-font-md);word-break:break-word;line-height:1.2}.cv-cms .focus-card{display:flex;align-items:center;gap:2.5mm;background:#ffffff0d;border-radius:4px;padding:1.5mm;margin-bottom:2mm;border:1px solid rgba(255,255,255,.05)}.cv-cms .focus-card:last-child{margin-bottom:0}.cv-cms .focus-ring{width:13mm;height:13mm;flex-shrink:0}.cv-cms .circular-chart{display:block;margin:0;max-width:100%;max-height:250px}.cv-cms .circle-bg{fill:none;stroke:#ffffff1a;stroke-width:3.5}.cv-cms .circle{fill:none;stroke-width:3.5;stroke-linecap:round;stroke:var(--cv-accent)}.cv-cms .focus-text{flex:1;min-width:0}.cv-cms .focus-text strong{display:block;font-size:var(--cv-font-sm);margin-bottom:.5mm;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--cv-font-body)}.cv-cms .focus-text span{display:block;font-size:var(--cv-font-xs);color:#aaa;line-height:1.2}.cv-cms .skill-bar-row{margin-bottom:2.2mm}.cv-cms .skill-bar-row:last-child{margin-bottom:0}.cv-cms .skill-bar-label{display:block;font-size:var(--cv-font-label);margin-bottom:1mm;font-weight:600;letter-spacing:.02em;font-family:var(--cv-font-body)}.cv-cms .skill-bar-track{height:2.4mm;background:#ffffff26;border-radius:1.2mm;overflow:hidden}.cv-cms .skill-bar-fill{height:100%;background:var(--cv-accent);border-radius:1.2mm}.cv-cms .learning-chart{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:1.5mm}.cv-cms .learning-chart svg{width:100%;height:auto;display:block}.cv-cms .learning-line{fill:none;stroke:var(--cv-accent);stroke-width:2;stroke-linejoin:round}.cv-cms .learning-text{margin-top:1.5mm;font-size:var(--cv-font-xs);color:#aaa;text-align:center;font-style:italic}.cv-cms .cv-main{background:#fff;color:#111;padding:10mm 11mm 12mm;display:flex;flex-direction:column;min-height:0;min-width:0}.cv-cms .cv-header{margin-bottom:9mm;text-align:center}.cv-cms .cv-header h2{margin:0;font-size:var(--cv-font-name);text-transform:uppercase;letter-spacing:.035em;font-family:var(--cv-font-heading);line-height:1.05;color:var(--ink)}.cv-cms .cv-header p{margin:1.5mm 0 0;text-transform:uppercase;letter-spacing:.21em;font-size:var(--cv-font-md);color:#3a3a3a;font-family:var(--cv-font-body)}.cv-cms .cv-flow{flex:1;min-height:0;overflow:hidden}.cv-cms .cv-page.continuation{display:grid;grid-template-columns:57mm 1fr}.cv-cms .cv-page.continuation .cv-main{padding-top:10mm}.cv-cms .section{margin-bottom:4.2mm}.cv-cms .section-title{margin:0 0 2.4mm;font-size:var(--cv-font-section);text-transform:uppercase;letter-spacing:.025em;font-family:var(--cv-font-heading);color:var(--ink);display:flex;align-items:center;gap:3mm}.cv-cms .section-title:after{content:"";flex:1;height:0;border-bottom:3px solid #2f3033}.cv-cms .entry{display:grid;grid-template-columns:22mm 1fr;gap:2.8mm;border-bottom:1px solid #dfdfdf;padding:1.8mm 0 2mm}.cv-cms .entry:last-child{border-bottom:0;padding-bottom:0}.cv-cms .period{font-size:var(--cv-font-md);color:#3f3f3f;font-weight:700;font-family:var(--cv-font-body)}.cv-cms .entry h5{margin:0;font-size:var(--cv-font-lg);text-transform:uppercase;letter-spacing:.018em;font-family:var(--cv-font-body);color:var(--ink)}.cv-cms .entry p{margin:1.2mm 0 0;font-size:var(--cv-font-body-main);line-height:1.42;color:#232323;font-family:var(--cv-font-body);white-space:pre-line}.cv-cms .letter-page{display:flex;flex-direction:column;padding:0 30mm 12mm}.cv-cms .letter-bar{height:4.5mm;background:#2f3033;margin:0 -50mm 7mm}.cv-cms .letter-top{text-align:center;margin-bottom:5mm}.cv-cms .letter-top h2{margin:0;text-transform:uppercase;font-family:var(--cv-font-heading);letter-spacing:.025em;font-size:var(--cv-font-name-sm);color:var(--ink)}.cv-cms .letter-top p{margin:1.3mm 0 0;letter-spacing:.14em;text-transform:uppercase;font-size:var(--cv-font-sm);font-family:var(--cv-font-body);color:var(--ink)}.cv-cms .letter-contact{font-size:var(--cv-font-md);white-space:pre-line;text-align:right;line-height:1.3;font-family:var(--cv-font-body);color:var(--ink)}.cv-cms .letter-meta{margin-top:6mm;margin-bottom:4mm;border-bottom:1px solid #c9c9c9;padding-bottom:2mm}.cv-cms .letter-meta p{margin:0;font-size:var(--cv-font-lg);line-height:1.5;font-family:var(--cv-font-body);color:var(--ink)}.cv-cms .letter-meta-row{display:flex;justify-content:space-between;align-items:flex-start;gap:4mm}.cv-cms .letter-date{text-align:right;white-space:nowrap;color:#555;flex-shrink:0}.cv-cms .letter-meta .subject{margin-top:10mm;font-size:var(--cv-font-section);text-transform:uppercase;letter-spacing:.03em;font-weight:700;font-family:var(--cv-font-heading)}.cv-cms .letter-flow{flex:1;min-height:0}.cv-cms .letter-paragraph{font-size:var(--cv-font-body-main);line-height:1.58;margin:0;padding:0 0 3.2mm;font-family:var(--cv-font-body);color:#232323}.cv-cms .letter-sign-block{margin-top:5mm}.cv-cms .letter-regards{font-size:var(--cv-font-body-main);color:#232323;font-family:var(--cv-font-body);margin:0 0 3mm}.cv-cms .letter-sig-wrap{width:55mm;height:30mm;overflow:hidden;margin-bottom:1mm;position:relative}.cv-cms .letter-sig-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transform-origin:center center}.cv-cms .letter-sig-name{font-size:calc(var(--cv-font-lg) * 1.25);font-weight:700;color:#111;font-family:var(--cv-font-body);margin:0 0 1.5mm 2mm}.cv-cms .letter-footer{position:absolute;bottom:10mm;left:11mm;right:11mm;text-align:center;font-size:var(--cv-font-md);color:#888;font-family:var(--cv-font-body);margin:0;border-top:.5px solid #d0d0d0;padding-top:2mm}.cv-cms .measure-root{position:fixed;left:-99999px;top:0;visibility:hidden;pointer-events:none}@media(max-width:1280px){.cv-cms .layout{grid-template-columns:1fr}.cv-cms .editor-pane{border-right:0;border-bottom:1px solid var(--surface-border);max-height:55vh}}@media print{@page{size:A4;margin:0}.cv-cms *{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.route-resume .cv-cms{background:#fff}.cv-cms .app-header,.cv-cms .editor-pane{display:none!important}.cv-cms .layout{display:block}.cv-cms .preview-pane{padding:0;overflow:visible;background:#fff}.cv-cms .preview-pages{gap:0;padding:0}.cv-cms .a4-page{box-shadow:none;margin:0;page-break-after:always;border-radius:0}.cv-cms .cv-sidebar{background:#2d2e33!important}.cv-cms .letter-bar{background:#2f3033!important}.cv-cms .a4-page:last-child{page-break-after:auto}}
