/* Clip-Seite – gemeinsames Design (10.11.2026). Schriften liegen lokal unter /fonts (keine Daten an Google). */
@font-face{font-family:"Bricolage";src:url(/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --bg:#08080d;--bg2:#0e0e15;--surface:rgba(255,255,255,.045);--surface2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --text:#f3f3f7;--muted:#9c9cb0;--dim:#6d6d82;
  --gold:#3ddc97;--gold2:#7eecbe;--tag:#f2c230;--tag2:#f6d56b;--violet:#a0a0b2;--pink:#d9534f;--ok:#35d07f;--bad:#ff5a5f;
  --r:18px;--r2:12px;
  --display:"Bricolage",ui-sans-serif,system-ui,sans-serif;--ui:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--ui);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}
a{color:inherit}
::selection{background:var(--gold);color:#111}

/* Hintergrund-Szene (Anmeldung + dezent in der App) */
.scene{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:
  radial-gradient(1000px 650px at 85% -15%,rgba(61,220,151,.10),transparent 60%),
  radial-gradient(800px 600px at -10% 110%,rgba(61,220,151,.06),transparent 60%),var(--bg)}
.blob{display:none;position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen;animation:float 18s ease-in-out infinite alternate}
.blob.b1{width:46vmax;height:46vmax;left:-12vmax;top:-14vmax;background:radial-gradient(circle,var(--violet),transparent 65%)}
.blob.b2{width:40vmax;height:40vmax;right:-10vmax;bottom:-16vmax;background:radial-gradient(circle,var(--gold),transparent 65%);animation-duration:22s}
.blob.b3{width:28vmax;height:28vmax;left:45%;top:35%;background:radial-gradient(circle,var(--pink),transparent 65%);opacity:.35;animation-duration:26s}
@keyframes float{to{transform:translate(6vmax,4vmax) scale(1.12)}}
.grain{position:absolute;inset:-50%;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}
.gridlines{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 40%,#000 10%,transparent 70%);opacity:.25}

/* Wand aus schraegen Clip-Karten (nur Deko, keine echten Bilder) */
.wall{position:absolute;inset:-20% -10%;display:flex;gap:22px;justify-content:center;transform:rotate(-14deg) skewX(4deg);opacity:.45}
.col{display:flex;flex-direction:column;gap:22px;animation:rise 60s linear infinite}
.col:nth-child(2n){animation-duration:75s;animation-direction:reverse;margin-top:-180px}
.col:nth-child(3n){animation-duration:90s}
@keyframes rise{to{transform:translateY(-50%)}}
.fake{flex:none;width:150px;aspect-ratio:9/16;border-radius:16px;border:1px solid var(--line2);position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--c1),var(--c2));box-shadow:0 20px 60px -20px #000}
.fake::before{content:"";position:absolute;left:12%;right:12%;top:9%;height:7%;border-radius:4px;background:rgba(255,255,255,.85);opacity:.25}
.fake::after{content:"";position:absolute;left:12%;right:30%;top:18%;height:6%;border-radius:4px;background:var(--gold);opacity:.55}
.fake i{position:absolute;left:50%;top:58%;width:44px;height:44px;margin:-22px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35)}
.fake i::after{content:"";position:absolute;left:17px;top:13px;border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.fake b{position:absolute;left:10%;right:10%;bottom:8%;height:4px;border-radius:2px;background:rgba(255,255,255,.25)}
.fake b::after{content:"";position:absolute;inset:0 calc(100% - var(--p,40%)) 0 0;background:var(--gold);opacity:.7;border-radius:2px}
.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(8,8,13,.35) 20%,rgba(8,8,13,.8) 70%),linear-gradient(90deg,rgba(8,8,13,.9),rgba(8,8,13,.2) 60%)}
@media (prefers-reduced-motion:reduce){.blob,.grain,.col{animation:none}}

/* Bausteine */
.logo{display:inline-flex;align-items:center;gap:10px;font:800 20px/1 var(--display);letter-spacing:-.02em;text-decoration:none}
.logo .mark{width:34px;height:34px;border-radius:10px;background:var(--gold);display:grid;place-items:center}
.logo .mark::after{content:"";margin-left:3px;border-left:11px solid #111;border-top:7px solid transparent;border-bottom:7px solid transparent}
.logo span em{font-style:normal;color:var(--gold)}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--line2);border-radius:var(--r);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line2);background:var(--surface);border-radius:12px;padding:9px 14px;cursor:pointer;font-size:14px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;white-space:nowrap}
.btn:hover{background:var(--surface2);border-color:rgba(255,255,255,.28)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:default}
.btn.gold{background:var(--gold);color:#14110a;border-color:transparent;font-weight:700}
.btn.gold:hover{filter:brightness(1.06)}
.btn.bad{color:var(--bad);border-color:rgba(255,90,95,.35)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--surface)}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:500}
.field input,.field textarea,.input{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;font-size:16px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field textarea:focus,.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(61,220,151,.18)}
.field textarea{min-height:80px;resize:vertical}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;background:var(--surface2);border:1px solid var(--line)}
.pill.gold{background:rgba(242,194,48,.12);color:var(--tag2);border-color:rgba(242,194,48,.3)}
.pill.ok{background:rgba(53,208,127,.14);color:#7fe7b0;border-color:rgba(53,208,127,.3)}
.pill.bad{background:rgba(255,90,95,.14);color:#ff9a9d;border-color:rgba(255,90,95,.3)}
.pill.violet{background:var(--surface2);color:#d4d4de;border-color:var(--line)}
.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--tag);color:#111;color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#fff;color:#111;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;transition:.25s;pointer-events:none;z-index:100;box-shadow:0 10px 40px -10px #000}
#toast.show{opacity:1;transform:translate(-50%,0)}
