/* backup4mail.app.robspace.de – Web-Pendant zu Backup4Mail/Design (docs/design.md, Lumi: „Umlauf und Lade“).
   Ausgeliefert als /assets/backup4mail.<sha256[:10]>.css (build.py). CSP style-src 'self': kein Inline-CSS.
   Licht-Disziplin: Ruhe ist unbeleuchtet (Silber/Graphit), Cyan nur für „was sich bewegt / jetzt“, Bernstein = wartet
   (hier: „In development“). Hell = „Tinte bei Tag“: Frost-Grund, Petrol statt Neon, kein Glühen. */

/* Schriften lokal (SIL OFL 1.1, Lizenzen unter /fonts/). Apple-Geräte nehmen SF Pro / New York (siehe .apple). */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('/fonts/archivo-var-latin.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 600;font-display:swap;src:url('/fonts/newsreader-italic-var-latin.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jetbrains-mono-400-latin.woff2') format('woff2')}

:root{
  /* Dunkel (Standard): Nacht-Navy, Graphit, Elektro-Cyan */
  --ground-1:#070B16; --ground-2:#0B1222;
  --metal:#161E2E; --metal-2:#111827; --edge:#2A3550; --edge-soft:rgba(42,53,80,.6);
  --ink:#E9F0FA; --ink-2:rgba(233,240,250,.70); --ink-3:rgba(233,240,250,.50);
  --pulse:#2BD4FF; --pulse-soft:rgba(43,212,255,.14); --glow:0 0 18px rgba(43,212,255,.55);
  --brand:#2F7BFF; --brand-2:#1F5FD6; --amber:#FFB23E; --amber-soft:rgba(255,178,62,.12); --alert:#FF5A6A;
  --silver:linear-gradient(180deg,#F4F7FB 0%,#AEB8C8 48%,#E3E8F0 100%);
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --wrap:1120px; --gutter:clamp(16px,4vw,40px); --r:14px;
  color-scheme:dark light;
}
@media (prefers-color-scheme: light){
  :root{
    --ground-1:#F6F8FC; --ground-2:#E9EFF7;
    --metal:#FFFFFF; --metal-2:#F1F4F9; --edge:#C9D3E1; --edge-soft:rgba(201,211,225,.8);
    --ink:#0C1424; --ink-2:rgba(12,20,36,.72); --ink-3:rgba(12,20,36,.56);
    --pulse:#0079C2; --pulse-soft:rgba(0,121,194,.10); --glow:none;
    --brand:#1F5FD6; --brand-2:#174BB0; --amber:#B26A00; --amber-soft:rgba(178,106,0,.10); --alert:#C8283A;
    --silver:linear-gradient(180deg,#5B6B84 0%,#273246 55%,#4A5870 100%);
  }
}
/* Apple: SF Pro trägt die Breitenachse, New York die Zeitstimme, SF Mono die Zahlen (.apple setzt assets/lang.js) */
:root.apple{--sans:system-ui,-apple-system,'Archivo',sans-serif;--serif:ui-serif,'New York','Newsreader',Georgia,serif;--mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace}
@supports (font:-apple-system-body){:root{--sans:system-ui,-apple-system,'Archivo',sans-serif;--serif:ui-serif,'New York','Newsreader',Georgia,serif;--mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace}}

*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--ground-2);scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:linear-gradient(180deg,var(--ground-1) 0,var(--ground-2) 1400px);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:var(--pulse);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--pulse);outline-offset:3px;border-radius:4px}
code{font-family:var(--mono);font-size:.88em;overflow-wrap:anywhere}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:300;background:var(--brand);color:#fff;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}

/* Rollen (Typografie der App) */
.title,.hero h1,.legal h1{font-weight:700;font-stretch:125%;letter-spacing:-.015em;line-height:1.12}
.label,.feat-num,.formats thead th,.dev-badge,.nav-dev{font-family:var(--sans);font-stretch:75%;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem}
.voice,.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:500;font-stretch:100%;letter-spacing:0}

/* ---------- Kopf ---------- */
.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--ground-1) 84%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--edge-soft)}
.nav-inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);height:62px;display:flex;align-items:center;gap:14px}
.nav-brand{display:flex;align-items:center;gap:9px;font-weight:700;font-stretch:125%;font-size:1.02rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav-dev{color:var(--amber);border:1px dashed var(--amber);border-radius:999px;padding:2px 9px;font-size:.64rem;white-space:nowrap}
.nav-links{display:flex;gap:2px;margin-left:auto}
.nav-links a{color:var(--ink-2);text-decoration:none;font-size:.86rem;padding:6px 10px;border-radius:8px;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink);background:var(--pulse-soft)}
.lang-switch{display:inline-flex;border:1px solid var(--edge);border-radius:9px;overflow:hidden;background:var(--metal);flex-shrink:0}
.lang-switch a,.lang-switch span{font-family:var(--mono);font-size:.7rem;padding:5px 8px;text-decoration:none;color:var(--ink-2)}
.lang-switch span{color:var(--pulse);background:var(--pulse-soft)}
.lang-switch a:hover{color:var(--ink)}
@media (max-width:900px){.nav-links{display:none}.lang-switch{margin-left:auto}}
@media (max-width:480px){.nav-dev{display:none}.nav-inner{gap:8px}.lang-switch a,.lang-switch span{padding:5px 6px}}

main{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
section{padding:72px 0}
.label{display:block;color:var(--pulse);margin-bottom:10px}
.title{font-size:clamp(1.65rem,4.2vw,2.5rem);margin-bottom:16px;max-width:820px}
.lead{color:var(--ink-2);max-width:720px;font-size:1.08rem;margin-bottom:34px}
.lead.voice{font-size:1.28rem;color:var(--ink-2)}

/* ---------- Hero ---------- */
.hero{padding:64px 0 24px;text-align:center}
.hero-icon img{width:120px;height:120px;margin:0 auto 22px}
.dev-badge{display:inline-flex;align-items:center;gap:10px;color:var(--amber);background:var(--amber-soft);border:1px dashed var(--amber);border-radius:999px;padding:6px 14px 6px 10px;margin-bottom:18px;font-size:.8rem}
.dev-slot{display:inline-block;width:26px;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--amber) 0 5px,transparent 5px 8px);flex-shrink:0}
.by-label{display:block;color:var(--ink-3);font-family:var(--mono);font-size:.82rem;margin-bottom:10px}
.hero h1{font-size:clamp(2.2rem,6.4vw,4.1rem);max-width:900px;margin:0 auto 20px}
.hero h1 em{display:block;color:var(--pulse);font-size:.92em;text-shadow:var(--glow)}
.hero-sub{color:var(--ink-2);max-width:720px;margin:0 auto 14px;font-size:1.1rem}
.hero-platform{font-family:var(--mono);font-size:.85rem;color:var(--ink-3);margin-bottom:26px}
.hero-cta{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
.store-soon{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:11px;border:1px solid var(--edge);background:var(--metal);color:var(--ink-2);font-weight:600;font-size:.92rem}
.store-soon::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--amber)}
.btn{display:inline-flex;align-items:center;height:46px;padding:0 20px;border-radius:11px;font-weight:600;font-size:.94rem;text-decoration:none;color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-2));border:1px solid var(--pulse);box-shadow:0 6px 22px rgba(47,123,255,.28)}
.btn:hover{color:#fff;filter:brightness(1.08)}
.hero-media{position:relative;margin:84px auto 80px;max-width:1080px}
.orbit{position:absolute;left:50%;top:50%;width:min(110%,100vw);height:124%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;overflow:visible}
.orbit *{vector-effect:non-scaling-stroke}
.orbit-track{fill:none;stroke:var(--edge-soft);stroke-width:1;stroke-dasharray:2 6}
.orbit-arc{fill:none;stroke:var(--pulse);stroke-width:2;opacity:.55}
.orbit-comet{fill:none;stroke:var(--pulse);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:45 1400;stroke-dashoffset:45;filter:drop-shadow(0 0 6px var(--pulse));animation:comet 7s linear infinite}
@keyframes comet{from{stroke-dashoffset:45}to{stroke-dashoffset:-1400}}
/* Startbild: MacBook Pro vorn, iMac dahinter (ein transparentes Bild mit eigenen Kontaktschatten, build.py make_hero) */
.devices{position:relative;z-index:1;margin:0}
.devices img{width:100%}
@media (prefers-color-scheme: light){.feat-media img{filter:drop-shadow(0 22px 44px rgba(12,20,36,.28))}.orbit-comet{filter:none}}
.shot-note{position:relative;z-index:1;margin-top:14px;font-size:.82rem;color:var(--ink-3);text-align:center}
.hero>.shot-note{margin:-36px 0 40px}
.dev-note{display:flex;gap:14px;align-items:flex-start;text-align:left;max-width:680px;margin:30px auto 0;padding:16px 20px;border:1px dashed var(--amber);border-radius:var(--r);background:var(--amber-soft);color:var(--ink-2);font-size:.95rem}
.dev-note .dev-slot{margin-top:.6em}
.dev-note strong{color:var(--amber)}

/* Zeitring als Trenner: Rasten nach außen = neu, nach innen = gelöscht, „Jetzt“ leuchtet */
.ring-band{margin:24px auto 0;max-width:var(--wrap);padding:0 var(--gutter)}
.ring{display:block;width:100%;height:56px}
.ring-base{stroke:var(--edge);stroke-width:1}
.tick{stroke:var(--ink-3);stroke-width:2}
.tick-del{stroke:var(--alert);stroke-width:2;opacity:.75}
.ring-now{fill:var(--pulse);filter:drop-shadow(0 0 6px var(--pulse))}

/* ---------- So funktioniert's: drei Stationen auf dem Bogen ---------- */
.steps{list-style:none;display:grid;gap:18px;position:relative}
.step{position:relative;padding:26px 24px;border:1px solid var(--edge);border-radius:var(--r);background:linear-gradient(180deg,var(--metal),var(--metal-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.step-icon{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--edge);background:var(--ground-1);margin-bottom:16px}
.step-icon svg{width:30px;height:30px}
.ln{fill:none;stroke:var(--ink-2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ln.lit{stroke:var(--pulse);filter:drop-shadow(0 0 4px var(--pulse))}
.ln.slot{stroke:var(--ink-3)}
.step h3{font-stretch:125%;font-size:1.1rem;margin-bottom:8px}
.step p{color:var(--ink-2);font-size:.97rem}
@media (min-width:860px){
  .steps{grid-template-columns:repeat(3,1fr);gap:26px;padding-top:6px}
  .steps::before{content:'';position:absolute;left:8%;right:8%;top:32px;height:60px;border:2px solid var(--pulse);border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.35;z-index:0}
  .step{z-index:1}
}

/* ---------- Funktionen ---------- */
.feat{display:grid;gap:26px;align-items:center;padding:44px 0;border-top:1px solid var(--edge-soft)}
.feat-num{display:block;font-family:var(--mono);color:var(--pulse);letter-spacing:.06em;margin-bottom:8px}
.feat-text h3{font-stretch:125%;font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.22;margin-bottom:12px}
.feat-text p{color:var(--ink-2)}
.feat-media{margin:0}
.feat-media img{width:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5)) drop-shadow(0 0 1px rgba(160,190,230,.3))}
@media (min-width:900px){
  .feat{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px}
  .feat:nth-of-type(even) .feat-media{order:-1}
  .feat:nth-of-type(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.beta{display:inline-block;vertical-align:.12em;margin:0 .2em;padding:0 7px;border-radius:999px;border:1px solid var(--amber);color:var(--amber);font-family:var(--sans);font-stretch:75%;font-weight:700;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}

/* Schrank: bündige Laden mit 1-px-Fugen und Griffschlitz (keine Karten) */
.cabinet-title{font-stretch:125%;font-size:1.25rem;margin:40px 0 16px}
.cabinet{list-style:none;border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--edge)}
.drawer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 22px;background:linear-gradient(180deg,var(--metal),var(--metal-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.drawer+.drawer{margin-top:1px}
.drawer h3{font-stretch:125%;font-size:1.02rem;margin-bottom:4px}
.drawer p{color:var(--ink-2);font-size:.95rem;max-width:780px}
.handle{flex-shrink:0;width:54px;height:8px;border-radius:4px;background:var(--ground-1);box-shadow:inset 0 1px 2px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.08)}
.drawer:hover .handle{background:var(--pulse);box-shadow:var(--glow)}
@media (max-width:560px){.handle{display:none}}

/* ---------- Formate ---------- */
.plate{border:1px solid var(--edge);border-radius:var(--r);background:linear-gradient(180deg,var(--metal),var(--metal-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(0,0,0,.25)}
.table-wrap{overflow-x:auto}
.formats{width:100%;border-collapse:collapse;font-size:.95rem}
.formats th,.formats td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--edge-soft);vertical-align:top}
.formats tbody tr:last-child th,.formats tbody tr:last-child td{border-bottom:none}
.formats thead th{color:var(--ink-3)}
.formats td{text-align:center;width:13%;font-family:var(--mono)}
.formats thead th:not(:first-child){text-align:center}
.formats tbody th strong{display:block;font-stretch:125%;font-size:1rem}
.formats tbody th .fd{display:block;color:var(--ink-2);font-weight:400;font-size:.9rem;margin-top:2px}
.yes{color:var(--pulse);font-weight:700}
.no{color:var(--ink-3)}
@media (max-width:600px){.formats th,.formats td{padding:12px 10px}.formats tbody th .fd{display:none}}

/* ---------- Preis ---------- */
.price{list-style:none;display:grid;gap:14px}
.price li{padding:24px;border:1px solid var(--edge);border-radius:var(--r);background:linear-gradient(180deg,var(--metal),var(--metal-2))}
.price li:last-child{border-color:var(--pulse);box-shadow:0 0 0 1px var(--pulse-soft) inset}
.price h3{font-stretch:125%;font-size:1.15rem;margin-bottom:6px}
.price p{color:var(--ink-2);font-size:.97rem}
@media (min-width:800px){.price{grid-template-columns:repeat(3,1fr)}}

/* ---------- Datenschutz kurz ---------- */
.pv{list-style:none;display:grid;gap:12px;margin-bottom:28px}
.pv li{padding:16px 18px 16px 46px;position:relative;border:1px solid var(--edge-soft);border-radius:12px;color:var(--ink-2);font-size:.97rem}
.pv li::before{content:'✓';position:absolute;left:18px;top:15px;color:var(--pulse);font-weight:700}
.pv strong{color:var(--ink)}
@media (min-width:800px){.pv{grid-template-columns:1fr 1fr}}

/* ---------- FAQ, Support ---------- */
.faq{display:flex;flex-direction:column;gap:1px;border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--edge)}
.faq details{background:linear-gradient(180deg,var(--metal),var(--metal-2));padding:0 20px}
.faq summary{cursor:pointer;font-weight:600;padding:17px 0;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);color:var(--pulse);font-size:1.15rem;line-height:1.3}
.faq details[open] summary::after{content:'\2212'}
.faq details p{color:var(--ink-2);padding:0 0 18px;max-width:820px}
.support-text{color:var(--ink-2);font-size:1.05rem}

/* ---------- Rechtstexte ---------- */
.legal{padding:56px 0 24px;max-width:860px}
.legal h1{font-size:clamp(1.8rem,5vw,2.6rem);margin-bottom:10px}
.legal-content{padding:36px 40px;margin-top:22px;overflow-wrap:break-word}
.legal-content h2{font-stretch:112%;font-size:1.22rem;margin:32px 0 10px;line-height:1.35}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{color:var(--ink-2);font-size:.98rem}
.legal-content p{margin-bottom:12px}
.legal-content ul{margin:0 0 14px 22px}
.legal-content li{margin-bottom:6px}
.legal-content strong{color:var(--ink)}
.legal-meta{color:var(--ink-3);font-size:.95rem}
.nf h2{font-size:1.4rem;margin-top:28px}
.imp-personal{margin-top:28px;padding-top:20px;border-top:1px solid var(--edge-soft);color:var(--ink-3);font-size:.92rem}
@media (max-width:640px){.legal-content{padding:24px 18px}}

/* ---------- Fuß ---------- */
footer{border-top:1px solid var(--edge-soft);margin-top:48px;padding:34px var(--gutter) 44px;text-align:center}
.ft-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;list-style:none;margin-bottom:12px}
.ft-links a{color:var(--ink-2);text-decoration:none;font-size:.9rem}
.ft-links a:hover{color:var(--pulse)}
.ft-copy{color:var(--ink-3);font-size:.84rem}

@media (max-width:640px){section{padding:52px 0}.hero{padding-top:40px}.hero-media{margin:48px auto 40px}.devices{margin:0 calc(-1 * var(--gutter))}.orbit{width:108%;height:120%}.hero>.shot-note{margin:-4px 0 28px}.lead.voice{font-size:1.15rem}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.orbit-comet{animation:none;stroke-dasharray:none;opacity:0}}
@media (prefers-contrast: more) and (prefers-color-scheme: dark){:root{--edge:#8A9AB8;--ink-2:rgba(233,240,250,.86);--ink-3:rgba(233,240,250,.74);--glow:none}}
@media (prefers-contrast: more) and (prefers-color-scheme: light){:root{--edge:#6B7A93;--ink-2:rgba(12,20,36,.86);--ink-3:rgba(12,20,36,.74)}}
