/* MyFreedom Vision – Chrome & Glut: gemeinsame Basis fuer alle neuen Seiten.
   Urspruenglich aus design/generator/base.css (Generator am 24.10.2026 entfernt, steht in der Git-Geschichte); Akzentfarben kommen als CSS-Variablen aus rahmen.js. */
@font-face{font-family:Geist;src:url(fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
 --accent:#FF7A1A;--accent-glow:rgba(255,122,26,.55);--accent-glow-soft:rgba(255,122,26,.22);--accent-faint:rgba(255,122,26,.10);
 --accent-soft:rgba(255,122,26,.16);--accent-soft-low:rgba(255,122,26,.07);--accent-line:rgba(255,122,26,.5);
 --page:#050607;--text:#F2F3F5;--muted:#8A9099;--muted2:#A3A8B0;--line:rgba(255,255,255,.08);
 --mfv-surf:13 15 18;--mfv-surf-a:.74;
 --mono:"Geist Mono",ui-monospace,monospace;
 color-scheme:dark;scrollbar-gutter:stable
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--page);color:var(--text);font-family:Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body{min-height:100vh;min-height:100dvh}
a{color:#C9CDD3}a:hover{color:#FFFFFF}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:2px}
.ic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.chrome{background:linear-gradient(110deg,#FFFFFF 0%,#BFC3C9 30%,#6E737B 48%,#F4F5F7 62%,#9EA3AA 80%,#FFFFFF 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mfvShine 8s ease-in-out infinite}
.chromefill{background:linear-gradient(135deg,#FFFFFF 0%,#D5D8DD 35%,#8C9199 55%,#EEF0F2 76%,#B4B8BE 100%);color:#0A0B0D}
.glass{-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
/* Karten ohne Hintergrund-Unschaerfe: deutlich fluessiger, besonders mit vielen Karten */
.card{background:rgb(var(--mfv-surf) / .9);border:1px solid var(--line);border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 24px 60px rgba(0,0,0,.35);transition:border-color .3s ease,box-shadow .3s ease}
.card:hover{border-color:rgba(255,255,255,.16)}
.rise{animation:mfvRise .5s cubic-bezier(.2,.8,.2,1) both}
.navi{transition:background .25s,color .25s}
.navi:hover{color:#F2F3F5;background:rgba(255,255,255,.06)}
.ghost{cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.ghost:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#F2F3F5}
.btn{position:relative;overflow:hidden;cursor:pointer;border:0;transition:transform .15s,filter .2s,box-shadow .25s}
.btn:hover{filter:brightness(1.06);box-shadow:0 10px 34px rgba(255,255,255,.12)}
.btn:active{transform:scale(.97)}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:skewX(-20deg);transition:left .6s ease}
.btn:hover::after{left:130%}
.field{width:100%;height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:#F2F3F5;font:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .25s}
.field::placeholder{color:#6F757E}
.field:focus{border-color:rgba(255,255,255,.4);box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mono{font-family:var(--mono)}
.orb{animation:mfvBreathe 8s ease-in-out infinite}
.orb2{animation:mfvBreathe 11s ease-in-out infinite;animation-delay:-5s}
.toast{animation:mfvToast 2.8s cubic-bezier(.2,.8,.2,1) both}
.navdot{animation:mfvNavDot .5s .4s cubic-bezier(.2,.8,.2,1) both}
.scanline{animation:mfvScan 1.05s cubic-bezier(.45,0,.2,1) both}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes mfvShine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes mfvRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes mfvBreathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}
@keyframes mfvToast{0%{opacity:0;visibility:visible;transform:translate(-50%,12px)}10%,82%{opacity:1;visibility:visible;transform:translate(-50%,0)}100%{opacity:0;visibility:hidden;transform:translate(-50%,8px)}}
@keyframes mfvNavDot{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes mfvScan{0%{transform:translateY(-40px);opacity:0}12%{opacity:1}80%{opacity:.9}100%{transform:translateY(100vh);opacity:0}}
@media (prefers-reduced-motion: reduce){.chrome,.rise,.orb,.orb2,.navdot,.toast{animation:none}.btn::after,.scanline{display:none}}

/* Rechtstexte aus (06.11.2026), bis der echte Text da ist – Schalter in accounts/neu.cjs */
a[href="impressum.html"],a[href="datenschutz.html"],.mfv-pm-recht{display:none!important}
