/* Automatisch erzeugt von tools/build_themes.py - nicht von Hand aendern. */
.theme-shader { --bg:#150c22; --bg-2:rgba(34,14,42,.74); --card:rgba(46,22,48,.88); --line:#5c2e4c; --gold:#ffb347; --gold-2:#ffd89a; --violet:#ff7a59; --violet-2:#ffa985; --accent-end:#ff7a2e; --on-accent:#2b1200; --nav-bg:rgba(24,10,32,.82); background: var(--bg); }

.theme-shader::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(1000px 560px at 80% 6%, rgba(255,190,90,.40), transparent 66%),
    linear-gradient(180deg, #170c26 0%, #2b1238 32%, #5a2140 58%, #8c3530 82%, #b2502a 100%); }
.theme-shader::after { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.9;
  background: repeating-conic-gradient(from 0deg at 80% 2%, rgba(255,206,120,.10) 0 3deg, transparent 3deg 10deg);
  -webkit-mask-image: radial-gradient(900px 900px at 80% 2%, #000 0%, transparent 70%);
  mask-image: radial-gradient(900px 900px at 80% 2%, #000 0%, transparent 70%);
  animation: rays 90s linear infinite; transform-origin: 80% 2%; }
@keyframes rays { to { transform: rotate(360deg); } }
.theme-shader .page-hero { position:relative; overflow:hidden; background:linear-gradient(180deg, rgba(0,0,0,.18), transparent); }
.theme-shader .page-hero::after { content:""; position:absolute; right:7%; top:46px; width:190px; height:190px; border-radius:50%;
  background: radial-gradient(circle, #fffbe8 0 20%, #ffd77a 36%, rgba(255,170,70,.45) 56%, transparent 72%);
  animation: sunpulse 6s ease-in-out infinite; }
@keyframes sunpulse { 50% { transform:scale(1.07); opacity:.92; } }

.theme-armor { --bg:#0a121b; --bg-2:rgba(14,26,40,.76); --card:rgba(20,34,52,.9); --line:#2f4864; --gold:#7fe8f0; --gold-2:#bff6fa; --violet:#b57bff; --violet-2:#d4adff; --accent-end:#3aa8d8; --on-accent:#04222a; --nav-bg:rgba(8,16,26,.84); background: var(--bg); }

.theme-armor::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cg fill='none' stroke='%237fe8f0' stroke-opacity='.13' stroke-width='1.2'%3E%3Ccircle cx='6' cy='6' r='5.2'/%3E%3Ccircle cx='19' cy='6' r='5.2'/%3E%3Ccircle cx='6' cy='19' r='5.2'/%3E%3Ccircle cx='19' cy='19' r='5.2'/%3E%3Ccircle cx='12.5' cy='12.5' r='5.2'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 26px 26px,
    radial-gradient(900px 600px at 15% 0%, rgba(127,232,240,.16), transparent 65%),
    radial-gradient(800px 600px at 95% 100%, rgba(181,123,255,.16), transparent 65%),
    linear-gradient(180deg, #0b1624 0%, #0d1b2a 100%); }
.theme-armor::after { content:""; position:fixed; inset:-20% -50%; z-index:-1; pointer-events:none;
  background: linear-gradient(105deg, transparent 42%, rgba(190,130,255,.14) 50%, rgba(160,240,250,.12) 54%, transparent 62%);
  animation: sheen 9s ease-in-out infinite; }
@keyframes sheen { 0% { transform:translateX(-40%); } 100% { transform:translateX(40%); } }
.theme-armor .page-hero { background:linear-gradient(180deg, rgba(0,0,0,.2), transparent); }

.theme-tiger { --bg:#0b160d; --bg-2:rgba(16,34,18,.74); --card:rgba(22,40,24,.9); --line:#36573b; --gold:#ff9a2e; --gold-2:#ffc27a; --violet:#8fd16a; --violet-2:#b5e68f; --accent-end:#e0601a; --on-accent:#2b1200; --nav-bg:rgba(8,20,10,.84); background: var(--bg); }

.theme-tiger::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340' viewBox='0 0 340 340'%3E%3Cg fill='%23000' fill-opacity='.42'%3E%3Cpath d='M77 163 Q86 202 48 240 Q56 202 77 163Z'/%3E%3Cpath d='M340 20 Q352 74 336 128 Q327 74 340 20Z'/%3E%3Cpath d='M65 138 Q71 175 32 213 Q49 175 65 138Z'/%3E%3Cpath d='M139 151 Q160 198 122 244 Q140 198 139 151Z'/%3E%3Cpath d='M21 98 Q40 144 10 190 Q12 144 21 98Z'/%3E%3Cpath d='M169 103 Q172 165 144 228 Q145 165 169 103Z'/%3E%3Cpath d='M322 73 Q344 114 327 154 Q311 114 322 73Z'/%3E%3Cpath d='M300 34 Q322 80 274 126 Q290 80 300 34Z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 340px 340px,
    radial-gradient(900px 520px at 85% 0%, rgba(255,170,60,.30), transparent 62%),
    linear-gradient(165deg, #7a3b0f 0%, #4a250c 40%, #1c1a0c 75%, #0c170d 100%); }
.theme-tiger::after { content:""; position:fixed; left:0; right:0; bottom:0; height:200px; z-index:-1; pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cg fill='%238fe3b0' fill-opacity='.20'%3E%3Cpath transform='translate%2840 50%29 rotate%2825%29' d='M0 30 C0 10 14 0 34 0 C34 20 22 30 0 30Z'/%3E%3Cpath transform='translate%28210 20%29 rotate%28-40%29' d='M0 24 C0 8 11 0 27 0 C27 16 17 24 0 24Z'/%3E%3Cpath transform='translate%28120 160%29 rotate%2870%29' d='M0 34 C0 12 16 0 38 0 C38 22 24 34 0 34Z'/%3E%3Cpath transform='translate%28290 190%29 rotate%28-10%29' d='M0 26 C0 9 12 0 29 0 C29 17 18 26 0 26Z'/%3E%3Cpath transform='translate%2860 280%29 rotate%28-60%29' d='M0 28 C0 10 13 0 31 0 C31 18 20 28 0 28Z'/%3E%3Cpath transform='translate%28220 310%29 rotate%2840%29' d='M0 22 C0 8 10 0 24 0 C24 14 15 22 0 22Z'/%3E%3C/g%3E%3C/svg%3E") 0 100% / 360px 360px repeat-x; opacity:.55;
  -webkit-mask-image: linear-gradient(0deg, #000, transparent); mask-image: linear-gradient(0deg, #000, transparent); }
.theme-tiger .page-hero { background:linear-gradient(180deg, rgba(0,0,0,.22), transparent); }

.theme-horned-helm { --bg:#0f1018; --bg-2:rgba(24,26,38,.78); --card:rgba(30,32,46,.9); --line:#3e4260; --gold:#e6d6a8; --gold-2:#f4ead0; --violet:#8c93b8; --violet-2:#b8bedd; --accent-end:#b9a46a; --on-accent:#241c08; --nav-bg:rgba(12,13,20,.86); background: var(--bg); }

.theme-horned-helm::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 560px at 50% 0%, rgba(232,220,192,.12), transparent 62%),
    radial-gradient(900px 600px at 100% 100%, rgba(120,130,190,.14), transparent 62%),
    linear-gradient(180deg, #14151f 0%, #0d0e15 100%); }
.theme-horned-helm::after { content:""; position:fixed; left:50%; top:70px; width:min(760px, 120vw); height:470px; transform:translateX(-50%);
  z-index:-1; pointer-events:none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='320' viewBox='0 0 520 320'%3E%3Cdefs%3E%3Cg id='h'%3E%3Cpath d='M250 300 C170 300 70 250 52 130 C46 80 70 36 112 8 C92 54 100 98 140 138 C168 166 214 184 250 184Z'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%23e8dcc0' fill-opacity='.13'%3E%3Cuse href='%23h'/%3E%3Cuse href='%23h' transform='translate%28520 0%29 scale%28-1 1%29'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; opacity:.55; }
.theme-horned-helm .page-hero { background:linear-gradient(180deg, rgba(0,0,0,.22), transparent); }

.theme-wind-whisper { --bg:#0a1819; --bg-2:rgba(14,36,36,.74); --card:rgba(18,46,46,.88); --line:#2d5e5a; --gold:#8fe3b0; --gold-2:#c7f5da; --violet:#6fc7e8; --violet-2:#a6e2f6; --accent-end:#3fb58a; --on-accent:#04231a; --nav-bg:rgba(7,22,22,.84); background: var(--bg); }

.theme-wind-whisper::before { content:""; position:fixed; inset:-10% 0; z-index:-2; pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='200' viewBox='0 0 420 200'%3E%3Cg fill='none' stroke='%23a6e2f6' stroke-opacity='.16' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M0 40 Q60 10 120 40 T240 40 T360 40'/%3E%3Cpath d='M40 100 Q110 70 180 100 T320 100 T420 100'/%3E%3Cpath d='M-20 160 Q50 130 120 160 T260 160 T400 160'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 420px 200px,
    radial-gradient(900px 560px at 20% 0%, rgba(111,199,232,.18), transparent 62%),
    radial-gradient(900px 600px at 90% 100%, rgba(143,227,176,.16), transparent 62%),
    linear-gradient(180deg, #0c2022 0%, #0a1819 100%);
  animation: windline 40s linear infinite; }
@keyframes windline { to { background-position: -420px 0, 0 0, 0 0, 0 0; } }
.theme-wind-whisper::after { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cg fill='%238fe3b0' fill-opacity='.20'%3E%3Cpath transform='translate%2840 50%29 rotate%2825%29' d='M0 30 C0 10 14 0 34 0 C34 20 22 30 0 30Z'/%3E%3Cpath transform='translate%28210 20%29 rotate%28-40%29' d='M0 24 C0 8 11 0 27 0 C27 16 17 24 0 24Z'/%3E%3Cpath transform='translate%28120 160%29 rotate%2870%29' d='M0 34 C0 12 16 0 38 0 C38 22 24 34 0 34Z'/%3E%3Cpath transform='translate%28290 190%29 rotate%28-10%29' d='M0 26 C0 9 12 0 29 0 C29 17 18 26 0 26Z'/%3E%3Cpath transform='translate%2860 280%29 rotate%28-60%29' d='M0 28 C0 10 13 0 31 0 C31 18 20 28 0 28Z'/%3E%3Cpath transform='translate%28220 310%29 rotate%2840%29' d='M0 22 C0 8 10 0 24 0 C24 14 15 22 0 22Z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 360px 360px; opacity:.7; animation: leaves 70s linear infinite; }
@keyframes leaves { to { background-position: 360px 360px; } }
.theme-wind-whisper .page-hero { background:linear-gradient(180deg, rgba(0,0,0,.2), transparent); }

.theme-gugur { --bg:#08080e; --bg-2:rgba(18,10,22,.8); --card:rgba(24,14,30,.92); --line:#4d2140; --gold:#ff4d6d; --gold-2:#ff94a8; --violet:#38e1ff; --violet-2:#8aeeff; --accent-end:#c4123a; --on-accent:#ffffff; --nav-bg:rgba(8,6,12,.88); background: var(--bg); }

.theme-gugur::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    linear-gradient(rgba(56,225,255,.07) 1px, transparent 1px) 0 0 / 46px 46px,
    linear-gradient(90deg, rgba(56,225,255,.07) 1px, transparent 1px) 0 0 / 46px 46px,
    radial-gradient(900px 540px at 85% 0%, rgba(255,77,109,.20), transparent 62%),
    radial-gradient(900px 600px at 0% 100%, rgba(56,225,255,.13), transparent 62%),
    linear-gradient(180deg, #0b0a14 0%, #07070c 100%);
  animation: gridmove 24s linear infinite; }
@keyframes gridmove { to { background-position: 0 46px, 46px 0, 0 0, 0 0, 0 0; } }
.theme-gugur::after { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.55;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.28) 0 1px, transparent 1px 4px); }
.theme-gugur .page-hero { background:linear-gradient(180deg, rgba(0,0,0,.3), transparent); }
.theme-gugur .page-hero h1 { text-shadow: 0 0 24px rgba(255,77,109,.55); }


/* Gemeinsame Hilfen fuer die Themen */
@media (prefers-reduced-motion: reduce) {
  body[class^="theme-"]::before, body[class^="theme-"]::after, .page-hero::after { animation: none !important; }
}
