/* =========================================================
   VITARO – Lebenslauf-Generator
   ========================================================= */
:root{
  --ink:#0d0e12; --ink2:#17191f; --ink3:#22252d;
  --paper:#f6f5f1; --paper2:#fbfaf7; --line:#e4e2db; --line2:#d6d3ca;
  --text:#16171b; --muted:#6c6b66;
  --lime:#c8f65a; --lime-d:#a9d93a;
  --danger:#d64545;
  --r:14px;
  --ui:'Inter',system-ui,sans-serif;
  --display:'Bricolage Grotesque','Inter',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--ui);color:var(--text);background:var(--ink);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
.hidden{display:none!important}
a{color:inherit}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 18px;font-weight:600;font-size:14px;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-lg{padding:15px 26px;font-size:16px}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-lime:hover{background:#d6ff70;box-shadow:0 0 0 4px rgba(200,246,90,.18)}
.btn-ghost-dark{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.14)}
.btn-ghost-dark:hover{background:rgba(255,255,255,.12)}
.btn-dark-soft{background:var(--ink3);color:#e9e9e9;border:1px solid rgba(255,255,255,.08)}
.btn-dark-soft:hover{background:#2c3039}

.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;line-height:0}
.logo .lm{width:38px;height:38px;flex:0 0 auto}
.logo .wm{height:26px;width:auto;margin-top:2px}
.logo.small .lm{width:28px;height:28px}.logo.small .wm{height:19px}
.logo-btn{background:none;border:0;padding:0}

/* =========================================================
   STARTSEITE
   ========================================================= */
.gallery-sec{background:var(--paper);color:var(--text);padding:90px clamp(16px,5vw,64px) 100px;border-radius:36px 36px 0 0}
.gallery-head{max-width:1360px;margin:0 auto 40px}
.gallery-head h2{font-family:var(--display);font-size:clamp(34px,4.4vw,56px);letter-spacing:-.04em;margin:0 0 10px;line-height:1}
.gallery-head p{color:var(--muted);margin:0;font-size:17px}
.gallery{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.tcard{background:none;border:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:14px}
.thumb{position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 30px -12px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s}
.thumb>.cv{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.tcard:hover .thumb{transform:translateY(-6px);box-shadow:0 1px 2px rgba(0,0,0,.06),0 30px 50px -20px rgba(0,0,0,.3)}
.tcard .thumb::after{content:'Diese Vorlage nutzen';position:absolute;left:50%;bottom:18px;transform:translate(-50%,10px);background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:10px 16px;border-radius:99px;opacity:0;transition:.25s;white-space:nowrap}
.tcard:hover .thumb::after{opacity:1;transform:translate(-50%,0)}
.tcard.current .thumb{outline:3px solid var(--ink);outline-offset:3px}
.tmeta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.tmeta b{font-family:var(--display);font-size:20px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.badge{font-style:normal;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:0;background:var(--lime);color:var(--ink);padding:3px 8px;border-radius:99px;white-space:nowrap}
.tpl-mini .badge{display:none}
.tmeta span{font-size:13px;color:var(--muted)}
.l-foot{background:var(--paper);color:var(--muted);padding:30px clamp(16px,5vw,64px) 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line)}
.l-foot .logo{color:var(--text)}
.l-foot p{margin:0;font-size:13px}

/* =========================================================
   STARTSEITE (dunkel)
   ========================================================= */
#landing{--lp-bg:#0b0c0f;--lp-bg2:#131519;--lp-ink:#f3f2ee;--lp-mute:#8d8c87;--lp-body:#b0afa9;--lp-line:rgba(255,255,255,.09);background:var(--lp-bg);color:var(--lp-ink);min-height:100vh;overflow-x:clip}
html{scroll-behavior:smooth}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-xl{padding:16px 28px;font-size:16px}
.eyebrow4{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 14px}

/* Navigation: Links exakt mittig */
.lp-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px clamp(16px,4vw,40px);transition:background .3s,border-color .3s,padding .3s;border-bottom:1px solid transparent}
.lp-nav.scrolled{background:rgba(11,12,15,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--lp-line);padding-top:12px;padding-bottom:12px}
.lp-nav-l{justify-self:start}
.lp-nav-r{justify-self:end;display:flex;align-items:center;gap:18px}
.lp-logo{color:#fff!important}
.lp-links{display:flex;gap:32px}
.lp-links a,.lp-login,.lp-resume{color:var(--lp-ink);text-decoration:none;font-size:15px;font-weight:500;opacity:.7;transition:opacity .15s}
.lp-links a:hover,.lp-login:hover,.lp-resume:hover{opacity:1}
.lp-resume{background:none;border:0;padding:0}

/* Hero mit Lebenslauf-Fächer */
.h4{position:relative;height:100vh;min-height:760px;display:flex;flex-direction:column;align-items:center;padding:128px 20px 0;overflow:hidden;text-align:center;--cw:clamp(190px,19vw,290px)}
.h4-spot{position:absolute;width:900px;height:900px;border-radius:50%;left:calc(var(--mx,50%) - 450px);top:calc(var(--my,30%) - 450px);background:radial-gradient(circle,rgba(200,246,90,.13),transparent 60%);pointer-events:none;transition:left .6s ease-out,top .6s ease-out}
.h4::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(200,246,90,.12),transparent 70%);pointer-events:none}
.h4-text{position:relative;z-index:2;max-width:900px}
.h4-pill{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--lp-body);border:1px solid var(--lp-line);background:rgba(255,255,255,.03);padding:7px 14px;border-radius:99px;margin:0 0 28px;animation:fadeIn .8s both}
.h4-pill span{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(200,246,90,.6);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(200,246,90,0)}}
.h4-title{font-family:var(--display);font-weight:800;font-size:clamp(44px,6.3vw,94px);line-height:.98;letter-spacing:-.045em;margin:0 0 26px}
.h4-title .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.h4-title .ln>span{display:inline-block;transform:translateY(110%);animation:lineUp 1s cubic-bezier(.2,.8,.2,1) forwards}
.h4-title .ln:nth-child(2)>span{animation-delay:.12s}
.h4-title em{font-style:normal;color:var(--lime);position:relative}
.h4-title em::after{content:'';position:absolute;left:0;right:0;bottom:.04em;height:.07em;background:var(--lime);border-radius:9px;transform:scaleX(0);transform-origin:left;animation:markLine .8s 1s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes lineUp{to{transform:none}}
@keyframes markLine{to{transform:scaleX(1)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px)}}
.h4-sub{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--lp-body);max-width:600px;margin:0 auto 34px;animation:fadeIn .9s .45s both}
.h4-cta{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;animation:fadeIn .9s .6s both}
.h4-link{background:none;border:0;padding:0;font-weight:600;font-size:16px;color:var(--lp-ink);border-bottom:1.5px solid rgba(255,255,255,.4)}
.h4-link span{display:inline-block;transition:transform .2s}
.h4-link:hover span{transform:translateX(3px)}
.fan{position:absolute;z-index:1;left:0;right:0;bottom:0;height:1px}
.fan-card{position:absolute;left:50%;bottom:calc(var(--cw) * -0.62);width:var(--cw);aspect-ratio:210/297;margin-left:calc(var(--cw) / -2);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;transform-origin:50% 120%;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 40px 80px -30px rgba(0,0,0,.9);transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s;transform:translateY(60%) rotate(0deg);filter:brightness(.82)}
.fan-card .thumb{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.fan-card .layer{position:absolute;inset:0;transition:opacity .7s}
.fan-card .layer.hide{opacity:0}
.fan-card.c{filter:none;z-index:5}
.fan-card:hover{filter:none;box-shadow:0 0 0 2px var(--lime),0 50px 90px -30px rgba(0,0,0,.9)}
.fan-card .fan-label{position:absolute;right:10px;top:10px;transform:translateY(-6px);background:var(--ink);color:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;opacity:0;transition:.25s;white-space:nowrap;z-index:3}
.fan-card:hover .fan-label,.fan-card.c .fan-label{opacity:1;transform:none}
.fan-card.c .fan-label{background:var(--lime);color:var(--ink)}

/* Vorlagen: horizontal beim Scrollen */
.hs{position:relative;height:300vh}
.hs-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:60px;box-sizing:border-box}
.hs-head{max-width:1240px;width:100%;margin:0 auto 40px;padding:0 clamp(16px,4vw,40px);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.hs-head h2,.big3 h2,.price4 h2,.faq3 h2,.cta3 h2,.demo3 h2{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:0}
.hs-head h2{font-size:clamp(36px,4.6vw,64px)}
.hs-note{color:var(--lp-body);max-width:400px;margin:0;font-size:16px;line-height:1.6}
.hs-viewport{overflow:visible}
.hs-track{display:flex!important;gap:28px;padding:10px clamp(16px,4vw,40px) 10px max(clamp(16px,4vw,40px),calc((100vw - 1240px) / 2 + 40px));width:max-content;max-width:none!important;will-change:transform}
.hs-track .tcard{width:clamp(220px,21vw,300px);flex:0 0 auto;perspective:1000px}
.hs-track .thumb{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 20px 40px -20px rgba(0,0,0,.8);border-radius:8px;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s!important}
.hs-track .thumb::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(400px circle at var(--tx,50%) var(--ty,0%),rgba(255,255,255,.4),transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity .25s}
.hs-track .tcard:hover .thumb::before{opacity:1}
.hs-track .tcard:hover .thumb{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-10px) scale(1.03)!important;box-shadow:0 0 0 2px var(--lime),0 30px 60px -20px rgba(0,0,0,.9)!important}
.hs-track .tcard .thumb::after{background:var(--lime);color:var(--ink)}
.hs-track .tmeta b{color:var(--lp-ink)}
.hs-track .tmeta span{color:var(--lp-mute)}
.hs-track .badge{background:transparent;color:var(--lime);border:1px solid rgba(200,246,90,.35)}
.hs-bar{max-width:1240px;width:calc(100% - 2 * clamp(16px,4vw,40px));margin:34px auto 0;height:2px;background:var(--lp-line);border-radius:9px;overflow:hidden}
.hs-bar i{display:block;height:100%;width:0;background:var(--lime)}

/* Scroll-Demo */
.demo3{height:400vh;position:relative}
.demo3-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:70px;box-sizing:border-box}
.demo3-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center;width:100%}
.demo3 .eyebrow3{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 14px}
.demo3 h2{font-size:clamp(34px,3.8vw,54px);margin:0 0 36px}
.demo3-steps{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.demo3-steps li{display:flex;gap:18px;padding:16px 18px;border-radius:16px;opacity:.35;transition:opacity .4s,background .4s}
.demo3-steps li.on{opacity:1;background:rgba(255,255,255,.05)}
.demo3-steps .n{font-family:var(--display);font-weight:800;color:var(--lime);font-size:15px;padding-top:2px}
.demo3-steps b{font-size:18px;display:block}
.demo3-steps p{margin:4px 0 0;color:var(--lp-body);font-size:15px}
.demo3-progress{height:3px;border-radius:9px;background:rgba(255,255,255,.1);margin-top:26px;overflow:hidden}
.demo3-progress i{display:block;height:100%;width:0;background:var(--lime);border-radius:9px}
.demo3-stage{position:relative;height:min(72vh,700px);display:grid;place-items:center}
.demo3-glow{position:absolute;inset:10% 5%;border-radius:50%;background:radial-gradient(circle,var(--dg,rgba(200,246,90,.22)),transparent 65%);filter:blur(30px);transition:background .6s}
.demo3-paper{position:relative;height:100%;aspect-ratio:210/297;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 50px 100px -30px rgba(0,0,0,.85);will-change:transform}
.demo3-paper .thumb{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.demo3-pdf{position:absolute;left:50%;bottom:8%;transform:translate(-50%,30px);opacity:0;display:flex;align-items:center;gap:14px;background:#fff;color:var(--ink);padding:14px 18px;border-radius:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);white-space:nowrap}
.demo3-pdf b{display:block;font-size:15px}
.demo3-pdf div span{font-size:13px;color:#6c6b66}
.pdf-ic{width:42px;height:50px;border-radius:7px;background:#d64545;color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center}
.pdf-ok{width:30px;height:30px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-weight:800}

/* Drei große Aussagen */
.big3{padding:120px 0;border-top:1px solid var(--lp-line)}
.big3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.b3 b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(64px,8vw,120px);letter-spacing:-.05em;line-height:.9;background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.35));-webkit-background-clip:text;background-clip:text;color:transparent}
.b3 span{display:block;font-family:var(--display);font-weight:800;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;color:var(--lime);margin-top:10px}
.b3 p{color:var(--lp-body);line-height:1.6;margin:14px 0 0;font-size:16px;max-width:320px}

/* Preise */
.price4{padding:110px 0;background:var(--lp-bg2);border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line)}
.price4-head{text-align:center;margin-bottom:48px}
.price4 h2{font-size:clamp(36px,4.4vw,60px)}
.price4-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:0 auto}
.pc4{position:relative;border:1px solid var(--lp-line);border-radius:24px;padding:32px;display:flex;flex-direction:column;background:var(--lp-bg);transition:transform .3s,border-color .3s}
.pc4:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.2)}
.pc4 h3{margin:0;font-size:16px;font-weight:600}
.pc4-price{font-family:var(--display);font-size:52px;font-weight:800;letter-spacing:-.04em;margin-top:10px;line-height:1}
.pc4-note{color:var(--lp-mute);margin:8px 0 24px;font-size:14px}
.pc4 ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px;flex:1}
.pc4 li{padding-left:26px;position:relative;font-size:15.5px}
.pc4 li::before{content:'';position:absolute;left:3px;top:.42em;width:11px;height:6px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(-45deg)}
.pc4 .btn-ghost-dark{justify-content:center}
.pc4-pro{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.pc4-pro:hover{border-color:var(--lime)}
.pc4-pro .pc4-note{color:rgba(13,14,18,.6)}
.pc4-pro li::before{border-color:var(--ink)}
.pc4-badge{position:absolute;top:24px;right:24px;background:var(--ink);color:var(--lime);font-size:12px;font-weight:800;padding:4px 11px;border-radius:99px}

/* FAQ */
.faq3{padding:110px 0}
.faq3-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.faq3 h2{font-size:clamp(32px,3.6vw,48px)}
.faq3 .faq-list{max-width:none;padding:0;border-top:1px solid rgba(255,255,255,.4)}
.faq3 details{border-bottom:1px solid var(--lp-line)}
.faq3 summary{list-style:none;cursor:pointer;font-weight:600;font-size:18px;padding:22px 44px 22px 0;position:relative}
.faq3 summary::-webkit-details-marker{display:none}
.faq3 summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--lp-line);display:grid;place-items:center;font-size:18px;transition:transform .3s,background .3s,color .3s}
.faq3 details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--lime);color:var(--ink);border-color:var(--lime)}
.faq3 details p{margin:0 0 22px;color:var(--lp-body);line-height:1.65;font-size:16px;max-width:640px}

/* Abschluss-Block wächst */
.cta3{padding:40px 0 100px}
.cta3-box{margin:0 auto;width:calc(100% - 2 * var(--cin,140px));border-radius:var(--crad,40px);background:var(--lime);color:var(--ink);padding:110px 0}
.cta3-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta3 h2{font-size:clamp(36px,5vw,72px);max-width:860px;color:var(--ink)}
#landing .l-foot{background:var(--lp-bg);border-top:1px solid var(--lp-line);color:var(--lp-mute)}
#landing .l-foot .logo{color:#fff}
#landing .l-legal a{color:var(--lp-ink)}

/* dezentes Einblenden */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}

@media (max-width:1000px){
  .hs{height:auto}
  .hs-sticky{position:static;height:auto;padding:100px 0 60px}
  .hs-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .hs-track .tcard{scroll-snap-align:start}
  .demo3{height:auto}
  .demo3-sticky{position:static;height:auto;padding:90px 0}
  .demo3-grid{grid-template-columns:1fr}
  .demo3-stage{height:520px}
  .big3-grid{grid-template-columns:1fr;gap:56px}
  .faq3-grid{grid-template-columns:1fr;gap:28px}
  .cta3-box{width:calc(100% - 32px);border-radius:28px}
}
@media (max-width:760px){
  .lp-nav{grid-template-columns:1fr auto}
  .lp-links,.lp-login,.lp-resume{display:none}
  .lp-nav-r .btn{padding:9px 14px;font-size:13px}
  .h4{padding-top:110px;min-height:700px;--cw:170px}
  .price4-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}


/* =========================================================
   EDITOR
   ========================================================= */
#editor{height:100vh;display:flex;flex-direction:column;background:var(--paper)}
.topbar{height:62px;flex:0 0 62px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}
.tb-left,.tb-mid,.tb-right{display:flex;align-items:center;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--ink3);border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:99px;padding:7px 14px;font-size:13px}
.chip:hover{background:#2c3039}
.chip-label{color:#8d8f96}
.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:#c9cad0}
.icon-btn svg{width:18px;height:18px}
.icon-btn:hover:not(:disabled){background:var(--ink3);color:#fff}
.icon-btn:disabled{opacity:.3;cursor:default}
.save-state{font-size:12px;color:#7d8088;margin-left:4px;display:inline-flex;align-items:center;gap:6px}
.save-state::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--lime)}
.save-state.busy::before{background:#f0b443}

.score{position:relative;display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:99px;cursor:default;outline:none}
.score:hover,.score:focus{background:var(--ink3)}
.ring{width:32px;height:32px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3.4}
.ring-bg{stroke:#2c2f37}
.ring-fg{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:97.4;transition:stroke-dashoffset .5s}
.score-num{font-size:13px;font-weight:700}
.score-pop{position:absolute;top:calc(100% + 10px);right:0;width:300px;background:#fff;color:var(--text);border-radius:14px;padding:16px;box-shadow:0 20px 50px -10px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translateY(-6px);transition:.2s;z-index:50;font-size:13px}
.score:hover .score-pop,.score:focus .score-pop{opacity:1;pointer-events:auto;transform:none}
.score-pop h5{margin:0 0 10px;font-size:14px;font-family:var(--display)}
.score-pop ul{list-style:none;margin:0;padding:0}
.score-pop li{display:flex;gap:8px;padding:5px 0;color:var(--muted)}
.score-pop li.ok{color:var(--text)}
.score-pop li::before{content:'○';color:#bbb;flex:0 0 auto}
.score-pop li.ok::before{content:'●';color:#6bb52a}

.menu-wrap{position:relative}
.menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;color:var(--text);border-radius:12px;padding:6px;min-width:230px;box-shadow:0 20px 50px -10px rgba(0,0,0,.35);display:none;z-index:60}
.menu.open{display:block}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:8px;font-size:14px}
.menu button:hover{background:var(--paper)}
.menu .danger{color:var(--danger)}
.menu a{display:block;padding:9px 12px;border-radius:8px;font-size:13px;text-decoration:none;color:var(--muted)}
.menu a:hover{background:var(--paper);color:var(--text)}
.l-legal{display:flex;gap:18px}
.l-legal a{font-size:13px;color:var(--text);text-decoration:none;font-weight:600}
.l-legal a:hover{text-decoration:underline}
.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}

.workspace{flex:1;display:flex;min-height:0}
.panel{width:430px;flex:0 0 430px;background:var(--paper2);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.tabs{display:flex;padding:12px 14px 0;gap:4px;border-bottom:1px solid var(--line);background:var(--paper2)}
.tab{flex:1;background:none;border:0;padding:12px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.active{color:var(--text);border-color:var(--ink)}
.pane{display:none;overflow-y:auto;padding:14px 14px 80px;flex:1}
.pane.active{display:block}
.pane::-webkit-scrollbar{width:10px}.pane::-webkit-scrollbar-thumb{background:#d9d6cd;border-radius:9px;border:3px solid var(--paper2)}

.acc{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;overflow:hidden}
.acc summary{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 16px;font-weight:650;font-size:15px;cursor:pointer;user-select:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid #999;border-bottom:2px solid #999;transform:rotate(45deg);transition:transform .2s}
.acc[open] summary::after{transform:rotate(-135deg)}
.acc summary:hover{background:#fcfbf9}
.acc-ic{width:30px;height:30px;display:grid;place-items:center;background:var(--paper);border-radius:9px;font-size:15px}
.count{font-style:normal;font-size:12px;color:var(--muted);background:var(--paper);border-radius:99px;padding:2px 8px;font-weight:600}
.count:empty{display:none}
.acc-body{padding:4px 16px 18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.full{grid-column:1/-1}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.grid2 .f{margin-bottom:0}
.f>span{font-size:12px;font-weight:600;color:#55544f;display:flex;justify-content:space-between}
.f>span i{font-style:normal;font-weight:500;color:#a3a29c}
.f input:not([type=range]):not([type=checkbox]),.f textarea,.f select{width:100%;border:1px solid var(--line2);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;outline:none;transition:border .15s,box-shadow .15s}
.f textarea{resize:vertical;line-height:1.5;min-height:80px}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,14,18,.08)}
input[type=range]{width:100%;accent-color:var(--ink);height:22px}
.check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;margin:4px 0}
.check input{width:18px;height:18px;accent-color:var(--ink)}
.hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 0}
.hint.good{color:#4f8a1c}

.seg{display:flex;background:var(--paper);border-radius:11px;padding:3px;gap:2px}
.seg button{flex:1;border:0;background:none;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted)}
.seg button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.seg-wide{margin-bottom:14px}

.drop{display:flex;gap:16px;align-items:center;border:1.5px dashed var(--line2);border-radius:14px;padding:14px;margin-bottom:14px;transition:.15s}
.drop.over{border-color:var(--ink);background:var(--paper)}
.drop-prev{width:76px;height:76px;flex:0 0 76px;border-radius:12px;background:var(--paper) center/cover no-repeat;display:grid;place-items:center;color:#aaa;font-size:26px}
.drop-text{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);align-items:flex-start}
.drop-text b{color:var(--text);font-size:14px}
.link{background:none;border:0;padding:0;text-decoration:underline;font-weight:600;color:var(--text)}
.link.danger{color:var(--danger)}
.photo-tools.disabled{opacity:.4;pointer-events:none}

/* Abschnitte verschieben / entfernen */
.acc summary{gap:10px}
.acc-sec summary{padding-left:8px}
.grip-h,.grip-i{display:grid;place-items:center;color:#b5b3ab;cursor:grab;border-radius:7px;flex:0 0 auto}
.grip-h{width:26px;height:30px}
.grip-i{width:20px;height:26px;margin-left:-4px}
.grip-h:hover,.grip-i:hover{color:var(--text);background:var(--paper)}
.grip-h:active,.grip-i:active{cursor:grabbing}
.acc-t{flex:1}
.sec-del{order:3;width:30px;height:30px;border:0;background:none;border-radius:8px;color:#b5b3ab;display:grid;place-items:center;opacity:0;transition:opacity .15s}
.acc summary:hover .sec-del,.sec-del:focus{opacity:1}
.sec-del:hover{color:var(--danger);background:#fdecec}
.acc summary::after{order:4;margin-left:6px}
.acc summary .count{order:2}
.dragging{opacity:.35}
.drop-before{box-shadow:0 -3px 0 0 var(--ink)}
.drop-after{box-shadow:0 3px 0 0 var(--ink)}
.add-sec{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 12px}
.add-sec:empty{display:none}
.add-sec span{font-size:12px;font-weight:600;color:var(--muted);width:100%;margin-bottom:2px}
.add-sec button{border:1.5px dashed var(--line2);background:#fff;border-radius:99px;padding:7px 12px;font-size:13px;font-weight:600;color:#55544f}
.add-sec button:hover{border-color:var(--ink);color:var(--text)}

/* Listen-Einträge */
.item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.item-head{display:flex;align-items:center;gap:6px;padding:10px 10px 10px 14px;cursor:pointer}
.item-title{flex:1;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-title small{display:block;font-weight:500;color:var(--muted);font-size:12px}
.item-btn{width:28px;height:28px;border:0;background:none;border-radius:8px;color:#888;display:grid;place-items:center;font-size:14px}
.item-btn:hover:not(:disabled){background:var(--paper);color:var(--text)}
.item-btn:disabled{opacity:.25;cursor:default}
.item-btn.del:hover{color:var(--danger)}
.item-body{padding:4px 14px 14px;border-top:1px solid var(--line);display:none}
.item.open .item-body{display:grid}
.item.open .item-body.grid2{display:grid}
.item-body .f{margin-top:10px}
.item-compact{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px}
.item-compact input:not([type=range]),.item-compact select{flex:1;min-width:0;border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 8px;font-size:14px;outline:none}
.item-compact input:not([type=range]):hover,.item-compact select:hover{background:var(--paper)}
.item-compact input:not([type=range]):focus,.item-compact select:focus{border-color:var(--ink);background:#fff}
.item-compact input[type=range]{width:90px;flex:0 0 90px}
.lvl{font-size:11px;color:var(--muted);width:72px;flex:0 0 72px;text-align:right}
.add{width:100%;border:1.5px dashed var(--line2);background:none;border-radius:12px;padding:11px;font-weight:600;font-size:14px;color:#55544f}
.add:hover{border-color:var(--ink);color:var(--text);background:#fff}

/* Design-Tab */
.dz{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:10px}
.dz h4{margin:0 0 12px;font-size:14px}
.tpl-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tpl-mini .tcard{gap:6px}
.tpl-mini .thumb{border-radius:6px;box-shadow:0 0 0 1px var(--line)}
.tpl-mini .thumb::after{display:none}
.tpl-mini .tcard:hover .thumb{transform:translateY(-2px)}
.tpl-mini .tcard.current .thumb{outline:2.5px solid var(--ink);outline-offset:2px}
.tpl-mini .tmeta b{font-size:13px;font-family:var(--ui);font-weight:600}
.tpl-mini .tmeta span{display:none}
.swatches{display:flex;flex-wrap:wrap;gap:9px}
.sw{width:32px;height:32px;border-radius:50%;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);position:relative}
.sw.on::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--ink)}
.sw-custom{background:conic-gradient(red,#ff0,lime,cyan,blue,#f0f,red);overflow:hidden}
.sw-custom input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.fonts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.font-opt{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;text-align:left;display:flex;align-items:center;gap:10px}
.font-opt:hover{border-color:var(--line2)}
.font-opt.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.font-opt .aa{font-size:24px;line-height:1;width:34px}
.font-opt small{display:block;font-size:12px;color:var(--muted)}
.font-opt b{font-size:13px;font-weight:600}
.order-row{display:flex;align-items:center;gap:6px;padding:6px;border-radius:10px;border:1px solid var(--line);margin-bottom:6px;background:#fff}
.order-row.off{opacity:.5}
.order-row input{flex:1;min-width:0;border:1px solid transparent;border-radius:8px;padding:7px 8px;font-size:14px;outline:none;background:transparent}
.order-row input:hover{background:var(--paper)}
.order-row input:focus{border-color:var(--ink);background:#fff}
.order-row .grip{color:#bbb;font-size:12px;padding-left:4px}
.order-row.side-tag::after{content:attr(data-side);font-size:10px;color:var(--muted);background:var(--paper);padding:2px 6px;border-radius:6px;white-space:nowrap}

/* Bühne */
.stage{flex:1;position:relative;overflow:auto;background:#e8e6df;background-image:radial-gradient(#d3d0c6 1px,transparent 1px);background-size:22px 22px}
.page-holder{padding:48px 40px 90px;display:flex;justify-content:center;min-width:min-content}
.page-scale{position:relative;flex:0 0 auto}
.page-scale>.cv{position:absolute;top:0;left:0;transform-origin:0 0;box-shadow:0 2px 4px rgba(0,0,0,.05),0 30px 60px -20px rgba(0,0,0,.25)}
.pgbreak{position:absolute;left:-40px;right:-40px;height:26px;transform:translateY(-50%);z-index:5;pointer-events:none;background:#e8e6df;box-shadow:inset 0 8px 10px -8px rgba(0,0,0,.25),inset 0 -8px 10px -8px rgba(0,0,0,.25);display:grid;place-items:center}
.pgbreak span{background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.zoom{position:sticky;top:16px;float:right;margin-right:16px;z-index:10;display:flex;align-items:center;gap:2px;background:#fff;border-radius:12px;padding:4px;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.zoom .icon-btn{color:var(--text);width:32px;height:32px;font-size:18px}
.zoom .icon-btn:hover{background:var(--paper);color:var(--text)}
.zoom-val{border:0;background:none;font-size:13px;font-weight:600;width:56px;padding:6px 0;border-radius:8px}
.zoom-val:hover{background:var(--paper)}
.page-info{position:sticky;bottom:16px;margin:0 auto;width:max-content;background:var(--ink);color:#fff;font-size:12px;padding:8px 14px;border-radius:99px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.page-info button{border:0;background:var(--lime);color:var(--ink);font-weight:700;font-size:12px;padding:5px 11px;border-radius:99px}
.page-info button:hover{background:#d6ff70}
.mob-toggle{display:none}

/* Modal & Toast */
.modal{position:fixed;inset:0;background:rgba(13,14,18,.6);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;padding:20px}
.modal-box{background:var(--paper);border-radius:22px;width:min(1100px,100%);max-height:90vh;overflow:auto;padding:26px 30px 34px}
.modal-head{display:flex;justify-content:space-between;align-items:center}
.modal-head h3{font-family:var(--display);font-size:28px;margin:0;letter-spacing:-.03em}
.modal-head .icon-btn{color:var(--text)}
.modal-head .icon-btn:hover{background:#e9e7e0;color:var(--text)}
.gallery-modal{margin-top:22px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:99px;font-size:14px;font-weight:500;opacity:0;transition:.3s;z-index:200;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

#print-root{display:none}

/* Responsive */
@media (max-width:1100px){
  .hero{grid-template-columns:1fr}
  .hero-visual{height:440px;max-width:620px;width:100%;margin:0 auto}
  .hero-card{width:240px}
  .panel{width:380px;flex-basis:380px}
  .tb-mid .save-state{display:none}
}
@media (max-width:860px){
  .steps{grid-template-columns:1fr}
  .l-link{display:none}
  .hero-visual{height:360px}
  .hero-card{width:190px}
  .panel{width:100%;flex-basis:100%;border-right:0}
  .stage{display:none}
  #editor.show-preview .panel{display:none}
  #editor.show-preview .stage{display:block}
  .page-holder{padding:24px 12px 100px}
  .mob-toggle{display:block;position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;background:var(--ink);color:#fff;border:0;border-radius:99px;padding:13px 22px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3)}
  .chip-label,.tb-mid,.score-num{display:none}
  #pdfBtn{padding:10px 12px;font-size:0;gap:0}
  #pdfBtn svg{width:18px;height:18px}
  .topbar{padding:0 10px}
  .logo-btn .wm{display:none}
}

/* =========================================================
   MEIN KONTO
   ========================================================= */
#konto{min-height:100vh;background:var(--paper);color:var(--text)}
#konto .topbar{position:sticky;top:0;z-index:30}
.kwrap{max-width:1180px;margin:0 auto;padding:40px clamp(16px,4vw,40px) 100px;display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.knav{position:sticky;top:96px}
.kuser{display:flex;gap:12px;align-items:center;padding:0 0 22px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.kuser b{display:block;font-size:14px;word-break:break-all;line-height:1.3}
.kuser span{font-size:12.5px;color:var(--muted)}
.kav{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:800;font-size:17px}
#kNav{display:flex;flex-direction:column;gap:2px}
#kNav button{text-align:left;border:0;background:none;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted)}
#kNav button:hover{background:#ecebe5;color:var(--text)}
#kNav button.on{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06),inset 0 0 0 1px var(--line)}
.khead{margin-bottom:34px}
.khead h1{font-family:var(--display);font-size:clamp(34px,4vw,46px);letter-spacing:-.03em;margin:0;line-height:1.05}
.khead p{color:var(--muted);margin:8px 0 0;font-size:16px}
.ksec{padding-top:8px;margin-bottom:46px;scroll-margin-top:90px}
.ksec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.ksec-head h2{font-family:var(--display);font-size:24px;letter-spacing:-.02em;margin:0}
.ksec-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.kc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:12px}
.kc-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.kc-row b{font-size:16px}
.kc-btns{display:flex;gap:8px;flex-wrap:wrap}
.kc-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.kc-foot .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kmuted{color:var(--muted);font-size:14px;line-height:1.55;margin:4px 0 0}
.btn-sm{padding:8px 14px;font-size:13px}
.btn-danger-o{background:#fff;border:1px solid #f1c4c4;color:var(--danger)}
.btn-danger-o:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
.kdl{margin:0;display:grid;gap:0}
.kdl>div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #f0efea}
.kdl>div:first-child{padding-top:0}
.kdl dt{color:var(--muted);font-size:14px}
.kdl dd{margin:0;font-weight:500;font-size:14.5px;word-break:break-word}
.kform .f input{max-width:none}
.kmsg{font-size:13.5px;margin:4px 0 0;min-height:1em}
.kmsg.err{color:var(--danger)}.kmsg.ok{color:#3f7a12}
.kfacts{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.kfacts li{display:grid;grid-template-columns:150px 1fr;gap:16px;font-size:14.5px;line-height:1.55}
.kfacts span{color:#55544f}
.danger-zone{border-color:#f3d6d6}
.danger-zone h3{margin:0 0 6px;font-size:15px;color:var(--danger)}
.dz-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-top:1px solid #f6e6e6}
.dz-row:first-of-type{border-top:0}
.dz-row b{font-size:14.5px}
.pro-on .pro-top{display:flex;align-items:center;gap:10px}
.pro-days{font-size:15px;color:var(--muted);margin:16px 0 8px}
.pro-days b{font-family:var(--display);font-size:40px;color:var(--text);letter-spacing:-.03em;margin-right:4px}
.pro-bar{height:8px;border-radius:9px;background:#efeee9;overflow:hidden;margin-bottom:14px}
.pro-bar i{display:block;height:100%;background:var(--ink);border-radius:9px}

/* Lebenslauf-Karten */
.cv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.cvc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.cvc:hover{box-shadow:0 14px 34px -16px rgba(0,0,0,.22);transform:translateY(-2px)}
.cvc.is-active{border-color:var(--ink)}
.cvc-thumb{position:relative;border:0;padding:16px 16px 0;background:#f1f0eb;display:block;cursor:pointer}
.cvc-thumb .thumb{border-radius:4px 4px 0 0;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.cvc-flag{position:absolute;top:10px;left:10px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px}
.cvc-body{padding:14px 14px 14px}
.cvc-name{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px;cursor:text;min-height:26px}
.cvc-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvc-name svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:#aaa;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}
.cvc-name:hover svg{opacity:1}
.cvc-name input{width:100%;font:inherit;border:1px solid var(--ink);border-radius:7px;padding:3px 7px;outline:none}
.cvc-meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.cvc-actions{display:flex;gap:4px;align-items:center;margin-top:12px}
.cvc-actions .btn{margin-right:auto}
.icon-b{width:32px;height:32px;border:0;background:none;border-radius:8px;display:grid;place-items:center;color:#77766f}
.icon-b svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.icon-b:hover{background:var(--paper);color:var(--text)}
.icon-b.danger:hover{background:#fdecec;color:var(--danger)}
.cvc-new{border-style:dashed;border-width:1.5px;border-color:var(--line2);background:transparent;justify-content:center;min-height:330px}
.cvc-new:hover{transform:none;box-shadow:none;border-color:var(--ink)}
.cvc-new-in{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center}
.cvc-plus{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center}
.cvc-plus svg{width:20px;height:20px;fill:none;stroke:var(--text);stroke-width:2;stroke-linecap:round}
.cvc-new-in b{font-size:15px;margin-bottom:4px}
.cvc-new-in .link{font-size:13px;color:var(--muted)}
@media (max-width:860px){
  .kwrap{grid-template-columns:1fr;gap:20px;padding-top:24px}
  .knav{position:static}
  #kNav{flex-direction:row;overflow-x:auto;gap:4px}
  #kNav button{white-space:nowrap}
  .kdl>div,.kfacts li{grid-template-columns:1fr;gap:2px}
  .dz-row{flex-direction:column;align-items:flex-start}
}

/* =========================================================
   LEBENSLAUF – BASIS
   ========================================================= */
.cv{
  --accent:#2f5bff; --head:'Inter',sans-serif; --body:'Inter',sans-serif; --fs:1; --sp:1;
  --a-soft:color-mix(in srgb,var(--accent) 12%,#fff);
  --a-mid:color-mix(in srgb,var(--accent) 55%,#fff);
  --a-deep:color-mix(in srgb,var(--accent) 70%,#000);
  width:794px;min-height:1123px;background:#fff;color:#1f2330;
  font-family:var(--body);font-size:calc(12.6px * var(--fs));line-height:1.5;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:left;
}
.cv *{box-sizing:border-box}
.cv h1,.cv h2,.cv h3{font-family:var(--head);margin:0;font-weight:700}
.cv p{margin:0 0 .45em}
.cv p:last-child{margin-bottom:0}
.cv ul{margin:.3em 0 0;padding-left:1.15em}
.cv li{margin:.15em 0}
.cv li::marker{color:var(--accent)}
.cv .name{font-size:2.7em;line-height:1.02;letter-spacing:-.025em;font-weight:800}
.cv .role{font-size:1.12em;margin-top:.4em;color:#5a6070;font-weight:500}
.cv .sec{margin-bottom:calc(24px * var(--sp))}
.cv .sec:last-child{margin-bottom:0}
.cv .sec-title{font-size:.95em;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:calc(11px * var(--sp));font-weight:700}
.cv .entry{margin-bottom:calc(14px * var(--sp));break-inside:avoid;page-break-inside:avoid}
.cv .entry:last-child{margin-bottom:0}
.cv .entry-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.cv .entry-title{font-weight:700;font-size:1.06em;color:#161922}
.cv .entry-sub{color:#5d6372;font-weight:500}
.cv .entry-date{font-size:.88em;color:#7a7f8c;white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}
.cv .entry-desc{margin-top:.35em;color:#373b48}
.cv .entry-grid{display:grid;grid-template-columns:8.6em 1fr;gap:1.2em}
.cv .entry-grid .entry-date{padding-top:.12em}

.cv .contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55em}
.cv .contact li{display:flex;align-items:center;gap:.7em;margin:0;word-break:break-word}
.cv .contact svg{width:1.05em;height:1.05em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cv .contact-row{display:flex;flex-wrap:wrap;gap:.4em 1.4em}
.cv .contact-row span{display:inline-flex;align-items:center;gap:.5em}
.cv .contact-row svg{width:1em;height:1em;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.cv .photo{overflow:hidden;background:var(--a-soft);flex:0 0 auto}
.cv .photo img{width:100%;height:100%;object-fit:cover;display:block}
.cv .photo.gray img{filter:grayscale(1)}
.cv .shape-circle{border-radius:50%}
.cv .shape-rounded{border-radius:16%}
.cv .shape-square{border-radius:0}
.cv .photo-ph{display:grid;place-items:center;font-family:var(--head);font-weight:700;color:var(--accent);font-size:2.6em;letter-spacing:-.02em}

/* Kenntnisse */
.cv .skills-bars .skill{margin-bottom:.7em;break-inside:avoid}
.cv .skill-name{display:flex;justify-content:space-between;font-weight:500;margin-bottom:.3em}
.cv .bar{height:.42em;border-radius:9px;background:rgba(0,0,0,.08);overflow:hidden}
.cv .bar i{display:block;height:100%;border-radius:9px;background:var(--accent)}
.cv .skills-dots .skill{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:.5em}
.cv .dots{display:flex;gap:.3em;flex:0 0 auto}
.cv .dots i{width:.62em;height:.62em;border-radius:50%;background:rgba(0,0,0,.1)}
.cv .dots i.on{background:var(--accent)}
.cv .tags{display:flex;flex-wrap:wrap;gap:.4em}
.cv .tag{display:inline-block;padding:.28em .8em;border-radius:99px;background:var(--a-soft);color:var(--a-deep);font-size:.92em;font-weight:500}
.cv .lang{display:flex;justify-content:space-between;gap:10px;margin-bottom:.45em}
.cv .lang-name{font-weight:600}
.cv .lang-level{color:#6b7080;font-size:.94em}
.cv .cert{margin-bottom:.65em;break-inside:avoid}
.cv .cert-name{font-weight:600}
.cv .cert-meta{color:#6b7080;font-size:.92em}
.cv .plain{color:#373b48}

/* Unterschrift */
.cv .sig{margin-top:calc(34px * var(--sp));break-inside:avoid;width:max-content;min-width:15em;max-width:100%}
.cv .sig-place{color:#555b68;font-size:.95em}
.cv .sig-sign{white-space:nowrap;font-family:'Caveat',cursive;font-size:2.3em;line-height:1.1;color:#22263a;margin-top:.15em}
.cv .sig-line{border-top:1px solid #9aa0ad;margin-top:.1em}

/* =========================================================
   VORLAGE: BERLIN – dunkle Seitenleiste
   ========================================================= */
.t-berlin{--side:color-mix(in srgb,var(--accent) 20%,#10121a);display:grid;grid-template-columns:34% 1fr;background:linear-gradient(90deg,var(--side) 0 34%,#fff 34%)}
.t-berlin .col-side{color:#d9dce6;padding:46px 30px 46px 34px}
.t-berlin .col-main{padding:52px 46px 46px 42px}
.t-berlin .photo{width:150px;height:150px;margin:0 auto 34px;border:4px solid rgba(255,255,255,.1)}
.t-berlin .photo-ph{color:#fff;background:color-mix(in srgb,var(--accent) 45%,#10121a)}
.t-berlin .col-side .sec-title{color:#fff;letter-spacing:.18em;font-size:.86em;padding-bottom:.6em;border-bottom:1px solid rgba(255,255,255,.14);position:relative}
.t-berlin .col-side .sec-title::after{content:'';position:absolute;left:0;bottom:-1px;width:2.2em;height:2px;background:var(--a-mid)}
.t-berlin .col-side .bar{background:rgba(255,255,255,.14)}
.t-berlin .col-side .bar i,.t-berlin .col-side .dots i.on{background:var(--a-mid)}
.t-berlin .col-side .dots i{background:rgba(255,255,255,.16)}
.t-berlin .col-side .tag{background:rgba(255,255,255,.1);color:#fff}
.t-berlin .col-side .lang-level,.t-berlin .col-side .cert-meta{color:#a6abba}
.t-berlin .col-side .plain{color:#d9dce6}
.t-berlin .col-side .contact svg{stroke:var(--a-mid)}
.t-berlin .head{margin-bottom:calc(34px * var(--sp));padding-bottom:calc(26px * var(--sp));border-bottom:2px solid #eef0f4}
.t-berlin .name .ln{color:var(--accent)}
.t-berlin .role{text-transform:uppercase;letter-spacing:.2em;font-size:.95em;color:#6a7080}
.t-berlin .col-main .sec-title{display:flex;align-items:center;gap:.7em;color:#161922}
.t-berlin .col-main .sec-title::before{content:'';width:.75em;height:.75em;background:var(--accent);border-radius:2px;transform:rotate(45deg)}

/* =========================================================
   VORLAGE: ZÜRICH – Swiss Minimal
   ========================================================= */
.t-zurich{padding:58px 62px}
.t-zurich .head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.t-zurich .name{font-size:3.5em;letter-spacing:-.045em;line-height:.95}
.t-zurich .name .ln{display:block}
.t-zurich .role{font-size:1.2em;color:var(--accent);font-weight:600;margin-top:.6em}
.t-zurich .photo{width:124px;height:124px}
.t-zurich .contact-row{margin:calc(26px * var(--sp)) 0 calc(30px * var(--sp));padding:14px 0;border-top:2.5px solid #12141b;border-bottom:1px solid #e3e5ea;font-size:.95em}
.t-zurich .contact-row+.sec{border-top:0;padding-top:0}
.t-zurich .sec{display:grid;grid-template-columns:10.8em 1fr;gap:1.8em;padding-top:calc(16px * var(--sp));border-top:1px solid #e9ebef}
.t-zurich .sec-title{color:#12141b;font-size:.8em;letter-spacing:.12em;margin:0;padding-top:.2em;display:flex;gap:.6em;align-items:flex-start}
.t-zurich .sec-title::before{content:'';width:.6em;height:.6em;background:var(--accent);margin-top:.35em;flex:0 0 auto}
.t-zurich .skills-bars,.t-zurich .skills-dots,.t-zurich .langs{display:grid;grid-template-columns:1fr 1fr;gap:0 2em}

/* =========================================================
   VORLAGE: KOPENHAGEN – farbiger Kopf
   ========================================================= */
.t-kopenhagen{display:flex;flex-direction:column}
.t-kopenhagen .band{background:var(--accent);color:#fff;padding:46px 50px;display:flex;align-items:center;gap:30px;position:relative;overflow:hidden}
.t-kopenhagen .band::after{content:'';position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.t-kopenhagen .band::before{content:'';position:absolute;right:60px;bottom:-120px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.06)}
.t-kopenhagen .photo{width:132px;height:132px;border:4px solid rgba(255,255,255,.85);position:relative;z-index:1}
.t-kopenhagen .photo-ph{background:rgba(255,255,255,.18);color:#fff}
.t-kopenhagen .band .role{color:rgba(255,255,255,.85)}
.t-kopenhagen .band>div{position:relative;z-index:1}
.t-kopenhagen .cv-body{display:grid;grid-template-columns:1fr 35%;background:linear-gradient(90deg,#fff 0 65%,#f4f5f8 65%);flex:1}
.t-kopenhagen .col-main{padding:38px 34px 44px 50px}
.t-kopenhagen .col-side{padding:38px 40px 44px 30px}
.t-kopenhagen .sec-title{color:#161922;padding-bottom:.5em;border-bottom:2px solid var(--accent);display:inline-block;margin-bottom:calc(13px * var(--sp))}
.t-kopenhagen .sec-title-wrap{display:block}
.t-kopenhagen .contact svg{stroke:var(--accent)}

/* =========================================================
   VORLAGE: MAILAND – elegant zentriert
   ========================================================= */
.t-mailand{padding:60px 74px}
.t-mailand .head{text-align:center;margin-bottom:calc(30px * var(--sp))}
.t-mailand .photo{width:112px;height:112px;margin:0 auto 22px}
.t-mailand .name{font-weight:400;font-size:3.1em;letter-spacing:.01em}
.t-mailand .role{text-transform:uppercase;letter-spacing:.32em;font-size:.86em;color:var(--accent);margin-top:.9em;font-weight:600}
.t-mailand .contact-row{justify-content:center;margin-top:1.6em;font-size:.93em;color:#555b68;gap:.4em 1.6em}
.t-mailand .contact-row svg{display:none}
.t-mailand .contact-row span+span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);margin-right:1.1em;margin-left:-.4em}
.t-mailand .sec-title{display:flex;align-items:center;gap:1em;justify-content:center;color:#1d2030;letter-spacing:.28em;font-size:.85em;font-family:var(--body);margin-bottom:calc(16px * var(--sp))}
.t-mailand .sec-title::before,.t-mailand .sec-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--a-mid))}
.t-mailand .sec-title::after{background:linear-gradient(90deg,var(--a-mid),transparent)}
.t-mailand .sec-profile .sec-body{text-align:center;font-style:italic;color:#444a58;max-width:90%;margin:0 auto}
.t-mailand .entry-title{font-family:var(--head);font-size:1.18em;font-weight:600}
.t-mailand .skills-bars,.t-mailand .skills-dots,.t-mailand .langs{display:grid;grid-template-columns:1fr 1fr;gap:0 2.4em}
.t-mailand .tags{justify-content:center}
.t-mailand .sec-interests .sec-body{text-align:center}
.t-mailand .sig{margin-left:auto;margin-right:auto;text-align:center}
.cv .pg-spacer{display:block;width:100%;flex:0 0 auto}

/* =========================================================
   VORLAGE: TOKIO – Zeitstrahl & helle Spalte
   ========================================================= */
.t-tokio{display:grid;grid-template-columns:1fr 32%;background:linear-gradient(90deg,#fff 0 68%,var(--a-soft) 68%)}
.t-tokio .col-main{padding:54px 38px 48px 52px}
.t-tokio .col-side{padding:54px 36px 48px 30px}
.t-tokio .head{margin-bottom:calc(34px * var(--sp))}
.t-tokio .mark{display:block;width:52px;height:7px;background:var(--accent);margin-bottom:22px;border-radius:2px}
.t-tokio .name{font-size:2.9em}
.t-tokio .role{color:var(--accent);font-weight:600}
.t-tokio .photo{width:100%;aspect-ratio:1;height:auto;margin-bottom:28px}
.t-tokio .photo-ph{background:color-mix(in srgb,var(--accent) 22%,#fff)}
.t-tokio .sec-title{color:#161922}
.t-tokio .col-side .sec-title{color:var(--a-deep)}
.t-tokio .timeline{border-left:2px solid var(--a-soft);padding-left:22px;margin-left:5px}
.t-tokio .timeline .entry{position:relative}
.t-tokio .timeline .entry::before{content:'';position:absolute;left:-29px;top:.32em;width:8px;height:8px;border-radius:50%;background:#fff;border:2.5px solid var(--accent)}
.t-tokio .col-side .bar{background:rgba(255,255,255,.8)}
.t-tokio .col-side .dots i{background:rgba(255,255,255,.9)}
.t-tokio .col-side .dots i.on{background:var(--accent)}
.t-tokio .col-side .tag{background:#fff}
.t-tokio .contact svg{stroke:var(--accent)}

/* =========================================================
   VORLAGE: KLASSIK – tabellarisch (DE-Standard)
   ========================================================= */
.t-klassik{padding:56px 64px}
.t-klassik .head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:calc(30px * var(--sp));padding-bottom:calc(24px * var(--sp));border-bottom:1px solid #dfe2e8}
.t-klassik .head-text{flex:1}
.t-klassik .name{font-size:2.5em;letter-spacing:-.015em}
.t-klassik .role{color:var(--accent);font-weight:600;margin-bottom:1.1em}
.t-klassik .contact{display:grid;grid-template-columns:1fr 1fr;gap:.45em 1.4em;font-size:.95em}
.t-klassik .contact svg{stroke:var(--accent)}
.t-klassik .photo{width:118px;height:154px}
.t-klassik .photo.shape-circle{width:140px;height:140px}
.t-klassik .sec-title{text-transform:none;letter-spacing:-.005em;font-size:1.32em;color:var(--accent);font-family:var(--head);border-bottom:1.5px solid var(--accent);padding-bottom:.25em;margin-bottom:calc(14px * var(--sp))}
.t-klassik .skills-bars,.t-klassik .skills-dots,.t-klassik .langs{display:grid;grid-template-columns:1fr 1fr;gap:0 2.4em}

/* =========================================================
   VORLAGE: HARVARD – schlicht, einspaltig, ohne Foto
   ========================================================= */
.t-harvard{padding:52px 60px;color:#111;line-height:1.38}
.t-harvard .head{text-align:center;margin-bottom:calc(20px * var(--sp))}
.t-harvard .name{font-size:2em;text-transform:uppercase;letter-spacing:.02em;font-weight:700;color:#222}
.t-harvard .role{font-size:1em;color:#333;margin-top:.2em;font-weight:400}
.t-harvard .hv-contact{margin-top:.3em;color:#222}
.t-harvard .hv-contact .sep{font-style:normal;font-size:.65em;margin:0 .7em;vertical-align:.18em}
.t-harvard .sec{margin-bottom:calc(17px * var(--sp))}
.t-harvard .sec-title{color:var(--accent);font-size:1.1em;letter-spacing:.01em;border-bottom:1.2px solid #555;padding-bottom:.18em;margin-bottom:calc(9px * var(--sp))}
.t-harvard .entry{margin-bottom:calc(11px * var(--sp))}
.t-harvard .entry-title{font-size:1em;font-weight:700;color:#111}
.t-harvard .entry-sub{color:#222;font-weight:400}
.t-harvard .entry-date{color:#111;font-size:1em;font-weight:400}
.t-harvard .entry-desc{margin-top:.1em;color:#111}
.t-harvard ul{margin-top:.05em}
.t-harvard li{margin:.05em 0}
.t-harvard li::marker{color:#111}
.t-harvard .plain{color:#111}

/* =========================================================
   VORLAGE: NATUR – sanfte Töne, rundes Foto
   ========================================================= */
.t-natur{--side:color-mix(in srgb,var(--accent) 26%,#fff);display:grid;grid-template-columns:35% 1fr;background:linear-gradient(90deg,var(--side) 0 35%,#fff 35%);color:#34322e;font-variant-numeric:lining-nums}
.t-natur .col-side{padding:42px 28px 42px 32px}
.t-natur .col-main{padding:64px 40px 44px 34px}
.t-natur .photo{width:184px;height:184px;margin:0 auto 42px;border:5px solid #fff}
.t-natur .photo-ph{background:color-mix(in srgb,var(--accent) 45%,#fff);color:#fff}
.t-natur .head{margin-bottom:calc(40px * var(--sp))}
.t-natur .name{font-weight:300;font-size:2.9em;text-transform:uppercase;letter-spacing:.05em;line-height:1.08;color:#2a2926}
.t-natur .role{text-transform:uppercase;letter-spacing:.14em;font-size:1.02em;color:#55524b;margin-top:.8em;font-weight:400}
.t-natur .sec-title{color:#2f2d29;font-weight:500;letter-spacing:.12em}
.t-natur .col-main .sec-title{background:var(--side);text-align:center;padding:.32em .5em;font-size:.95em}
.t-natur .col-side .sec-title{font-size:1.02em;margin-bottom:.9em}
.t-natur .col-side .sec{margin-bottom:calc(32px * var(--sp))}
.t-natur .entry-title{text-transform:uppercase;font-weight:500;letter-spacing:.04em;font-size:.98em;color:#2a2926}
.t-natur .entry-sub,.t-natur .entry-date{color:#3f3c37;font-weight:400}
.t-natur .entry-desc{color:#3f3c37}
.t-natur li::marker{color:color-mix(in srgb,var(--accent) 80%,#000)}
.t-natur .pers{margin:0}
.t-natur .pers dt,.t-natur .lang-name{text-transform:uppercase;font-size:.9em;letter-spacing:.06em;font-weight:500;color:#3f3c37}
.t-natur .pers dd{margin:0 0 .85em;color:#55524b}
.t-natur .col-side .langs .lang{display:block;margin-bottom:.85em}
.t-natur .skill-lvl .lang-name{text-transform:none;letter-spacing:0;font-size:1em;font-weight:400}
.t-natur .col-side .langs .lang-level{display:block;color:#55524b;font-size:.95em}
.t-natur .contact svg{display:none}
.t-natur .contact li{gap:0}
.t-natur .bar{background:rgba(0,0,0,.08)}
.t-natur .bar i,.t-natur .dots i.on{background:color-mix(in srgb,var(--accent) 80%,#000)}
.t-natur .tag{background:var(--side);color:#3f3c37}

/* Persönliche Angaben (allgemein) */
.cv .pers{margin:0}
.cv .skill-list{margin:0;padding-left:1.15em}
.cv .skill-list li{margin:.12em 0}
.cv .pers dt{font-weight:600}
.cv .pers dd{margin:0 0 .55em}

/* =========================================================
   VORLAGE: KONTRAST – kräftige Seitenleiste
   ========================================================= */
.t-kontrast{--dark:var(--accent);--light:color-mix(in srgb,var(--accent) 72%,#fff);display:grid;grid-template-columns:24.5% 1fr;background:linear-gradient(90deg,var(--light) 0 24.5%,#fff 24.5%);position:relative;padding-bottom:22px}
.t-kontrast::after{content:'';position:absolute;left:0;right:0;bottom:0;height:22px;background:color-mix(in srgb,var(--accent) 78%,#000)}
.t-kontrast .col-side{display:flex;flex-direction:column;color:#fff;min-height:calc(1123px - 22px);font-size:.85em}
.t-kontrast .ks-name{background:var(--dark);padding:36px 20px 30px}
.t-kontrast .name{color:#fff;font-size:2.2em;text-transform:uppercase;line-height:1.1;letter-spacing:0;word-break:break-word}
.t-kontrast .name .fn,.t-kontrast .name .ln{display:block}
.t-kontrast .ks-name .role{color:rgba(255,255,255,.85);font-size:1em;margin-top:.6em}
.t-kontrast .ks-photo .photo{width:100%;height:auto;aspect-ratio:1/.9;border-radius:0!important}
.t-kontrast .ks-photo .photo-ph{background:color-mix(in srgb,var(--accent) 50%,#fff);color:#fff;font-size:3em}
.t-kontrast .ks-mid{padding:22px 16px 18px 18px;flex:1}
.t-kontrast .ks-low{background:var(--dark);padding:22px 16px 26px 18px}
.t-kontrast .col-side .sec-title{color:#fff;font-size:1.2em;letter-spacing:0;margin-bottom:.55em}
.t-kontrast .col-side .contact{gap:.4em}
.t-kontrast .col-side .contact svg{stroke:#fff}
.t-kontrast .col-side .pers dt{color:#fff}
.t-kontrast .col-side .pers dd{color:rgba(255,255,255,.88)}
.t-kontrast .col-side .bar{background:rgba(255,255,255,.25)}
.t-kontrast .col-side .bar i,.t-kontrast .col-side .dots i.on{background:#fff}
.t-kontrast .col-side .dots i{background:rgba(255,255,255,.25)}
.t-kontrast .col-side .tag{background:rgba(255,255,255,.16);color:#fff}
.t-kontrast .col-side .lang-level,.t-kontrast .col-side .cert-meta{color:rgba(255,255,255,.8)}
.t-kontrast .col-side .plain{color:#fff}
.t-kontrast .col-side .lang{display:flex;flex-wrap:wrap;gap:0 .3em;justify-content:flex-start;margin-bottom:.2em}
.t-kontrast .col-side .lang-name{font-weight:500}
.t-kontrast .col-side .lang-level{font-size:1em}
.t-kontrast .col-side .lang-level::before{content:'('}
.t-kontrast .col-side .lang-level::after{content:')'}
.t-kontrast .col-side .cert{margin-bottom:.4em}
.t-kontrast .col-side .sec{margin-bottom:calc(15px * var(--sp))}
.t-kontrast .col-side ul{margin:0;padding-left:1.1em}
.t-kontrast .col-side li::marker{color:#fff}
.t-kontrast .col-main{padding:46px 34px 40px 32px}
.t-kontrast .col-main .sec-title{color:#111;font-size:1.18em;letter-spacing:.01em}
.t-kontrast .col-main .sec+.sec{border-top:1.5px solid #222;padding-top:calc(18px * var(--sp))}
.t-kontrast .entry-title{color:#111}
.t-kontrast .entry-sub{color:#222;font-weight:400}
.t-kontrast .entry .entry-date{color:#222;font-size:1em;font-weight:400}
.t-kontrast .col-main li::marker{color:#222}
.t-kontrast .ks-name [data-e]:hover,.t-kontrast .ks-low [data-e]:hover,.t-kontrast .ks-mid [data-e]:hover{outline-color:rgba(255,255,255,.6)}
.t-kontrast .col-side [data-e]:focus{outline-color:#fff;background-color:rgba(255,255,255,.12)}

/* =========================================================
   DIREKT-BEARBEITUNG IN DER VORSCHAU
   ========================================================= */
.cv.editing [data-e]{cursor:text;outline:1.5px dashed transparent;outline-offset:2px;border-radius:2px;transition:outline-color .12s,background-color .12s}
.cv.editing [data-e]:hover{outline-color:color-mix(in srgb,var(--accent) 55%,transparent)}
.cv.editing [data-e]:focus{outline:2px solid var(--accent);background-color:color-mix(in srgb,var(--accent) 7%,transparent)}
.cv.editing [data-e]:empty::before{content:attr(data-ph);color:#a3a8b5;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.cv.editing .raw-mode{white-space:pre-wrap}
.cv.editing .raw-mode[data-multi]{display:block}
.t-kopenhagen .band [data-e]:hover,.t-berlin .col-side [data-e]:hover{outline-color:rgba(255,255,255,.55)}
.t-kopenhagen .band [data-e]:focus,.t-berlin .col-side [data-e]:focus{outline-color:#fff;background-color:rgba(255,255,255,.1)}
.t-kopenhagen .band [data-e]:empty::before,.t-berlin .col-side [data-e]:empty::before{color:rgba(255,255,255,.55)}
.cv.editing [data-photo]{cursor:pointer;position:relative}
.cv.editing [data-photo]::after{content:'Foto ändern';position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font:600 13px/1 var(--body);opacity:0;transition:opacity .15s;border-radius:inherit}
.cv.editing [data-photo]:hover::after{opacity:1}

/* =========================================================
   KONTO & PREMIUM
   ========================================================= */
.acc-btn{gap:8px;padding:6px 14px 6px 6px}
.acc-btn:not(:has(.acc-dot)){padding:10px 16px}
.acc-dot{width:26px;height:26px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800;font-size:13px}
.acc-label{font-size:13px}
.pro-badge{display:inline-block;background:var(--lime);color:var(--ink);font-family:var(--ui);font-size:12px;font-weight:800;letter-spacing:.02em;padding:3px 9px;border-radius:99px;vertical-align:middle}
.pro-badge.sm{font-size:10.5px;padding:2px 7px}
.modal-sm{width:min(440px,100%)}
.modal-md{width:min(640px,100%)}
.demo-note{background:#fff6cc;border:1px solid #f0e08a;border-radius:12px;padding:10px 14px;font-size:12.5px;line-height:1.5;margin:14px 0 4px}
.auth-tabs{margin:18px 0 6px}
.auth-lead{color:var(--muted);font-size:14px;line-height:1.55;margin:10px 0 16px}
#authForm{margin-top:14px}
.btn-block{width:100%;justify-content:center;padding:13px}
.btn-outline{background:#fff;border:1px solid var(--line2);color:var(--text)}
.btn-outline:hover{border-color:var(--ink)}
.btn:disabled{opacity:.6;cursor:wait}
.auth-msg{font-size:13px;line-height:1.5;margin:0 0 12px;min-height:0}
.auth-msg.err{color:var(--danger)}
.auth-msg.ok{color:#3f7a12;background:#eef9d6;padding:10px 12px;border-radius:10px}
.auth-foot{margin-top:14px;text-align:center}
.auth-legal{font-size:12px;color:var(--muted);line-height:1.55;margin:12px 0 0;text-align:left}
.perks{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:9px}
.perks li{display:flex;gap:10px;align-items:center;font-size:15px}
.perks svg{color:#5d9a1c;flex:0 0 auto}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.plan{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:20px 12px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:.15s}
.plan:hover{border-color:var(--ink);transform:translateY(-2px)}
.plan.hl{border-color:var(--ink);box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.plan em{position:absolute;top:-10px;background:var(--ink);color:var(--lime);font-style:normal;font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px}
.plan-name{font-weight:700;font-size:14px}
.plan-price{font-family:var(--display);font-size:28px;font-weight:800;letter-spacing:-.02em}
.plan-note{font-size:11.5px;color:var(--muted);text-align:center}
.plan-legal{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 6px}
.free-dl{display:block;margin:10px auto 0;font-size:13px;color:var(--muted)}
.acc-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px}
.acc-card b{display:block;font-size:15px;word-break:break-all}
.acc-card span{font-size:13px;color:var(--muted)}
.acc-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:800;font-size:18px}
.acc-actions{display:grid;gap:8px;margin-top:18px;justify-items:center}
@media (max-width:860px){ .plans{grid-template-columns:1fr} .acc-label{display:none} }
.wm-diag,.wm-foot{display:none}

/* Werkzeuge direkt im Lebenslauf (Vorschau) */
.cv.editing [data-sec],.cv.editing [data-item]{position:relative}
.cv .ed-tools{position:absolute;top:-2px;right:-4px;z-index:20;display:flex;gap:3px;background:#16171b;padding:3px;border-radius:9px;box-shadow:0 6px 16px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s;line-height:0}
.cv .ed-tools button{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.cv .ed-tools button:hover{background:rgba(255,255,255,.15)}
.cv .ed-tools button[data-tool="del"]:hover{background:#d64545}
.cv .ed-tools svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv.editing [data-sec]:hover>.ed-tools,.cv.editing [data-item]:hover>.ed-tools{opacity:1;pointer-events:auto;transform:none}
.cv.editing [data-item]:hover{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 6%,transparent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:4px}
.cv.editing [data-item] .ed-tools{top:-6px;right:-6px}
.cv.editing [data-sec]:has([data-item]:hover)>.ed-tools{opacity:0;pointer-events:none}

/* =========================================================
   DRUCK / PDF
   ========================================================= */
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important;height:auto}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block!important}
  #print-root .wm-diag{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-32deg);font:800 120px/1 Arial,sans-serif;letter-spacing:.12em;color:rgba(0,0,0,.06);z-index:10;pointer-events:none}
  #print-root .wm-foot{display:block;position:fixed;bottom:5mm;left:0;right:0;text-align:center;font:600 9pt Arial,sans-serif;color:rgba(0,0,0,.45);z-index:10}
  #print-root .cv{width:210mm;min-height:296.5mm;box-shadow:none;transform:none!important;position:static!important}
}
