/* Центр монтажу: стиль «скло» (матове скло над теплим розмитим простором).
   Кольори змінюються тут, в одному місці (блок :root). */
:root{
  color-scheme:dark;
  --grund:#0d0d11;
  --glas:rgba(255,255,255,.07); --glas2:rgba(255,255,255,.11); --glas3:rgba(255,255,255,.16);
  --kante:rgba(255,255,255,.14); --kante-hell:rgba(255,255,255,.28);
  --text:#f3f2ef; --leise:rgba(243,242,239,.66); --sehr-leise:rgba(243,242,239,.45);
  --akzent:#8ab8ff;            /* головний акцентний колір */
  --gruen:#7fd6a4; --rot:#ef8a7a; --gelb:#f2c46b; --lila:#b39cf0;
  --f:"Inter Tight",-apple-system,"SF Pro Display",system-ui,sans-serif;
  --f-zier:"Playfair Display","Times New Roman",serif;
  --unschaerfe:saturate(160%) blur(28px);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--grund);color:var(--text);font:400 14px/1.5 var(--f);min-height:100vh;overflow-x:hidden;
  padding:0 max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px));-webkit-font-smoothing:antialiased}
.raum{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(40% 50% at 80% 15%,rgba(140,180,255,.30),transparent 70%),
    radial-gradient(30% 40% at 10% 85%,rgba(110,90,70,.42),transparent 70%),
    radial-gradient(50% 30% at 50% 105%,rgba(50,48,60,.9),transparent 70%),
    radial-gradient(25% 35% at 30% 25%,rgba(255,200,150,.12),transparent 70%),
    linear-gradient(180deg,#1f2029 0%,#14141a 55%,#0c0c10 100%)}
.raum::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 40%,transparent 40%,rgba(0,0,0,.55))}
.glas{background:var(--glas);border:1px solid var(--kante);border-radius:22px;backdrop-filter:var(--unschaerfe);-webkit-backdrop-filter:var(--unschaerfe);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 50px rgba(0,0,0,.35)}
.app{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding-top:calc(env(safe-area-inset-top,0px) + 18px)}

/* Верхня панель */
.kopf{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:999px;position:sticky;top:12px;z-index:30;flex-wrap:wrap}
.marke{font:600 15px var(--f);display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--text);text-decoration:none}
.marke i{width:22px;height:22px;border-radius:7px;background:linear-gradient(140deg,var(--akzent),#3d5b8f);display:block}
.nav{display:flex;gap:2px;flex:1;justify-content:center;min-width:0}
.nav a,.nav button{all:unset;cursor:pointer;padding:8px 14px;border-radius:999px;font:500 13.5px var(--f);color:var(--leise)}
.nav a:hover,.nav button:hover{background:var(--glas2);color:var(--text)}
.nav a[aria-current="page"]{background:var(--text);color:#121216}
.rechts{display:flex;gap:8px;align-items:center}
.ich{min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:var(--glas2);display:grid;place-items:center;font:600 12.5px var(--f);border:1px solid var(--kante-hell)}

/* Кнопки та поля */
.btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:600 13px var(--f);padding:9px 15px;border-radius:999px;background:var(--glas2);border:1px solid var(--kante);color:var(--text);white-space:nowrap}
.btn:hover{background:var(--glas3)}
.btn.haupt{background:var(--text);color:#121216;border-color:transparent}
.btn.haupt:hover{background:#fff}
.btn.gruen{background:color-mix(in srgb,var(--gruen) 30%,transparent);border-color:color-mix(in srgb,var(--gruen) 55%,transparent)}
.btn.gelb{background:color-mix(in srgb,var(--gelb) 26%,transparent);border-color:color-mix(in srgb,var(--gelb) 55%,transparent)}
.btn.klein{padding:6px 11px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
input,textarea,select{font:400 14px var(--f);color:var(--text);background:rgba(0,0,0,.25);border:1px solid var(--kante);border-radius:12px;padding:10px 12px;width:100%}
textarea{resize:vertical;min-height:70px}
select{appearance:none;width:auto;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--leise) 50%),linear-gradient(135deg,var(--leise) 50%,transparent 50%);
  background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--akzent)}
label{display:block;font:600 12px var(--f);color:var(--leise);margin:12px 0 6px;letter-spacing:.02em}
:focus-visible{outline:2px solid var(--akzent);outline-offset:2px}

/* Привітання і картки */
.gruss{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:34px 4px 18px}
.gruss h1{font:400 clamp(28px,4.4vw,44px)/1.1 var(--f-zier);margin:0}
.gruss h1 em{color:var(--akzent)}
.gruss p{margin:6px 0 0;color:var(--leise)}
.raster{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.k{padding:18px;min-width:0}
.k h2{font:600 12px var(--f);letter-spacing:.06em;text-transform:uppercase;color:var(--sehr-leise);margin:0 0 10px;display:flex;justify-content:space-between;gap:8px}
.k .gross{font:600 34px/1 var(--f)}
.k .unter{color:var(--leise);font-size:13px;margin-top:6px}
.s3{grid-column:span 3}.s4{grid-column:span 4}.s8{grid-column:span 8}.s12{grid-column:span 12}
.akzent{background:linear-gradient(160deg,color-mix(in srgb,var(--akzent) 45%,transparent),color-mix(in srgb,var(--akzent) 12%,transparent));border-color:color-mix(in srgb,var(--akzent) 55%,white 10%)}

/* Фільтри */
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:22px 4px 12px}
.chips button{all:unset;cursor:pointer;padding:7px 13px;border-radius:999px;font:500 12.5px var(--f);color:var(--leise);background:var(--glas);border:1px solid var(--kante)}
.chips button[aria-pressed="true"]{background:var(--text);color:#121216}

/* Список відео */
.liste{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.zeile{display:grid;grid-template-columns:132px 1fr auto;gap:14px;align-items:center;padding:10px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.zeile:hover{background:rgba(255,255,255,.09)}
.vorschau{width:132px;aspect-ratio:16/9;border-radius:12px;background:#000 center/cover;overflow:hidden;display:grid;place-items:center;color:var(--sehr-leise);font-size:22px}
.vorschau video{width:100%;height:100%;object-fit:cover;display:block}
.zeile b{font:600 15px var(--f);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zeile b a{color:inherit;text-decoration:none}
.zeile b a:hover{text-decoration:underline}
.zeile small{color:var(--sehr-leise);display:block;margin-top:2px}
.zeile .aktionen{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tag{display:inline-block;font:600 11px var(--f);padding:3px 9px;border-radius:999px;background:var(--glas3);white-space:nowrap;margin-right:6px}
.tag.montazh{background:rgba(120,170,240,.32)}
.tag.perevirka{background:color-mix(in srgb,var(--lila) 38%,transparent)}
.tag.pravky{background:color-mix(in srgb,var(--gelb) 34%,transparent)}
.tag.zatverdzheno{background:color-mix(in srgb,var(--gruen) 34%,transparent)}
.leer{padding:34px;text-align:center;color:var(--leise)}

/* Вікно перевірки (review) */
.rv{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;margin-top:18px;align-items:start}
.spieler{padding:12px}
.spieler video{width:100%;max-height:68vh;border-radius:14px;background:#000;display:block}
.zeitleiste{position:relative;height:26px;margin:12px 4px 4px;border-radius:999px;background:rgba(255,255,255,.08);cursor:pointer}
.zeitleiste .fort{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:color-mix(in srgb,var(--akzent) 45%,transparent);pointer-events:none}
.zeitleiste .marke-k{position:absolute;top:3px;width:10px;height:20px;margin-left:-5px;border-radius:5px;background:var(--gelb);box-shadow:0 0 8px rgba(0,0,0,.5);border:0;padding:0;cursor:pointer}
.zeitleiste .marke-k.erledigt{background:var(--gruen);opacity:.6}
.steuer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 4px 0}
.steuer .zeit{font:600 13px var(--f);font-variant-numeric:tabular-nums;color:var(--leise);margin-right:auto}
.seite{padding:16px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 110px);position:sticky;top:84px}
.seite h2{font:600 12px var(--f);letter-spacing:.06em;text-transform:uppercase;color:var(--sehr-leise);margin:0;display:flex;justify-content:space-between;align-items:center}
.eingabe{display:grid;gap:8px}
.eingabe .bei{font:600 12px var(--f);color:var(--akzent)}
.kommentare{list-style:none;margin:0;padding:0;display:grid;gap:8px;overflow:auto;min-height:60px}
.kommentar{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:grid;gap:4px}
.kommentar.erledigt{opacity:.55}
.kommentar.erledigt p{text-decoration:line-through}
.kommentar .oben{display:flex;gap:8px;align-items:center}
.kommentar .zeitknopf{all:unset;cursor:pointer;font:600 12px var(--f);font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--gelb) 30%,transparent)}
.kommentar .wer{color:var(--sehr-leise);font-size:12px;margin-left:auto}
.kommentar p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.kommentar .unten{display:flex;gap:6px}
.kommentar .unten button{all:unset;cursor:pointer;font-size:12px;color:var(--leise);padding:2px 6px;border-radius:8px}
.kommentar .unten button:hover{background:var(--glas2);color:var(--text)}
.entscheid{display:flex;gap:8px;flex-wrap:wrap}
.titelzeile{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:30px 4px 0}
.titelzeile h1{font:400 clamp(24px,3.4vw,36px)/1.1 var(--f-zier);margin:0;flex:1;min-width:200px;overflow-wrap:anywhere}

/* Діалог */
dialog{border:0;padding:0;background:transparent;color:var(--text);max-width:min(520px,calc(100vw - 32px));width:100%}
dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
dialog .glas{padding:22px;background:rgba(30,30,38,.92)}
dialog h2{font:400 26px var(--f-zier);margin:0 0 4px}
dialog .knoepfe{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.fortschritt{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:12px;display:none}
.fortschritt i{display:block;height:100%;width:0;background:var(--akzent);transition:width .2s}
.hinweis{color:var(--sehr-leise);font-size:12.5px;margin:6px 0 0}
.banner{margin:14px 4px 0;padding:10px 16px;border-radius:16px;font-size:13px;color:var(--leise);background:color-mix(in srgb,var(--gelb) 12%,transparent);border:1px solid color-mix(in srgb,var(--gelb) 40%,transparent)}
.toast{position:fixed;left:50%;bottom:24px;translate:-50% 0;z-index:100;padding:11px 18px;border-radius:999px;background:rgba(20,20,26,.94);border:1px solid var(--kante-hell);font:500 13.5px var(--f);opacity:0;transition:opacity .2s;pointer-events:none;max-width:calc(100vw - 32px)}
.toast.an{opacity:1}

/* Вхід */
.anmeldung{max-width:420px;margin:12vh auto 0;padding:28px}
.anmeldung h1{font:400 34px var(--f-zier);margin:0 0 4px}

@media (max-width:980px){
  .rv{grid-template-columns:1fr}
  .seite{position:static;max-height:none}
  .s3,.s4{grid-column:span 6}.s8{grid-column:span 12}
}
@media (max-width:600px){
  .s3,.s4{grid-column:span 12}
  .zeile{grid-template-columns:88px 1fr}
  .vorschau{width:88px}
  .zeile .aktionen{grid-column:1 / -1;justify-content:flex-start}
  .nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto}
  .kopf{border-radius:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
