:root{--bg:#0d0f14;--card:#161a22;--muted:#9aa4b2;--text:#e7eaf0;--border:#2a3040;--accent:#d14a4a;--accent2:#3a81d6;--danger:#c43d3d;}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:linear-gradient(180deg,#0b0d12 0%, #0d0f14 60%);color:var(--text)}
.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);background:rgba(10,12,18,.8);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;color:inherit}
.banner{width:82px;height:82px;border-radius:14px;object-fit:cover;border:1px solid var(--border);background:#0b0d12}
.brandText{min-width:0}
.brandName{font-weight:800;letter-spacing:.2px}
.brandSub{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.actions{display:flex;gap:10px;align-items:flex-start}
.authStack{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.visitCounter{font-size:12px;color:var(--muted);border:1px solid var(--border);background:rgba(255,255,255,.04);padding:7px 10px;border-radius:999px;line-height:1;white-space:nowrap}
.container{max-width:1100px;margin:0 auto;padding:18px}
.section{margin:18px 0 26px 0}
.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sectionHeader h2{margin:0;font-size:18px}
.sectionTools{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}.brandSub{max-width:44vw}.banner{width:70px;height:70px}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cardImg{width:100%;height:160px;object-fit:cover;background:#0b0d12;border-bottom:1px solid var(--border)}
.cardBody{padding:12px 12px 10px 12px}
.cardTitle{margin:0 0 6px 0;font-size:16px;font-weight:700}
.cardText{margin:0;color:var(--text);opacity:.92;line-height:1.4;white-space:normal}
.cardText p,.cardText div{margin:0 0 8px 0}
.cardText p:last-child,.cardText div:last-child{margin-bottom:0}
.cardText ul,.cardText ol{margin:6px 0 6px 18px;padding:0}
.cardText li{margin:2px 0}
.cardText a{color:var(--accent2)}
.cardText a:hover{text-decoration:underline}
.cardMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:12px}
.cardBtns{display:flex;gap:8px}
.btn{appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.06);color:var(--text);padding:9px 12px;border-radius:12px;font-weight:650;cursor:pointer}
.btn:hover{background:rgba(255,255,255,.10)}
.btn.secondary{border-color:rgba(58,129,214,.55)}
.btn.danger{border-color:rgba(196,61,61,.75);background:rgba(196,61,61,.10)}
.btn.danger:hover{background:rgba(196,61,61,.18)}
.iconBtn{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);border-radius:10px;padding:7px 9px;cursor:pointer}
.iconBtn:hover{background:rgba(255,255,255,.10)}
.hidden{display:none !important}
.hint{margin-top:10px;color:var(--muted);font-size:12px}
.small{margin-top:10px;color:var(--muted);font-size:12px}
.error{color:#ff8e8e;font-size:12px;min-height:16px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding:16px;z-index:50;overflow:auto}
.modalCard{width:min(560px,100%);background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45);padding:14px;max-height:calc(100vh - 32px);overflow:auto;margin:16px auto}
.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.modalTitle{font-weight:800}
.form{display:flex;flex-direction:column;gap:10px}
label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}
input,textarea,select{border:1px solid var(--border);background:#0b0d12;color:var(--text);border-radius:12px;padding:10px 10px;font-size:14px;outline:none}
input:focus,textarea:focus,select:focus{border-color:rgba(209,74,74,.65)}
.rteToolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border:1px solid var(--border);background:#0b0d12;border-radius:12px;padding:8px}
.rteToolbar .btn{padding:7px 10px;border-radius:10px}
.rteSep{width:1px;height:26px;background:var(--border);opacity:.7}
.rteGrow{flex:1}
.rteColor{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.rteColor span{display:none}
.rteColor input{padding:0;width:34px;height:30px;border-radius:10px}
.rteEditor{border:1px solid var(--border);background:#0b0d12;color:var(--text);border-radius:12px;padding:10px;font-size:14px;min-height:120px;outline:none;max-height:40vh;overflow:auto}
.rteEditor:focus{border-color:rgba(209,74,74,.65)}
.rteEditor p,.rteEditor div{margin:0 0 8px 0}
.rteEditor p:last-child,.rteEditor div:last-child{margin-bottom:0}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#cardForm .row{position:sticky;bottom:0;background:var(--card);padding:10px 0 4px 0;z-index:3;box-shadow:0 -10px 20px rgba(0,0,0,.28)}

.embedWrap{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);margin-bottom:12px}
.embedWrap iframe{width:100%;height:520px;border:0}
.embedLink{padding:12px}
.quiz{border:1px solid var(--border);border-radius:16px;background:var(--card);padding:14px}
.quizTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--muted);font-size:12px}
.quizQ{font-size:15px;font-weight:700;margin:4px 0 10px 0}
.quizOpts{display:flex;flex-direction:column;gap:10px}
.opt{border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:14px;padding:10px 12px;cursor:pointer;text-align:left;color:var(--text)}
.opt:hover{background:rgba(255,255,255,.08)}
.opt.is-correct{background:rgba(46,204,113,.95);border-color:rgba(46,204,113,1);color:#071b0f}
.opt.is-wrong{background:rgba(231,76,60,.95);border-color:rgba(231,76,60,1);color:#230705}
.quizFeedback{margin-top:10px;font-weight:800;letter-spacing:.3px}
.quizFeedback.good{color:rgba(46,204,113,.95)}
.quizFeedback.bad{color:rgba(231,76,60,.95)}

.quizBottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}

/* Startseite Kategorien */
.hintInline{color:var(--muted);font-size:13px}
.homeGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:780px){.homeGrid{grid-template-columns:1fr}}

.bigTile{display:block;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.00));border:1px solid var(--border);border-radius:18px;overflow:hidden;min-height:300px;text-decoration:none;color:inherit;box-shadow:0 12px 34px rgba(0,0,0,.28)}
.bigTile:hover{border-color:rgba(58,129,214,.55);transform:translateY(-1px)}
.bigTile{transition:transform .12s ease,border-color .12s ease}

.tileTop{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:14px 14px 10px 14px;border-bottom:1px solid var(--border);background:rgba(10,12,18,.35)}
.tileTitle{font-weight:900;letter-spacing:.8px}
.tileCount{color:var(--muted);font-size:12px}

.tilePreview{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.miniRow{display:flex;gap:10px;align-items:center}
.miniImg{width:46px;height:46px;border-radius:12px;object-fit:cover;border:1px solid var(--border);background:#0b0d12;flex:0 0 auto}
.miniTitle{font-size:13px;font-weight:650;line-height:1.2;max-height:2.4em;overflow:hidden}
.miniEmpty{color:var(--muted);font-size:13px;line-height:1.35}

.sectionTitleRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.backLink{color:var(--accent2);text-decoration:none;font-size:13px}
.backLink:hover{text-decoration:underline}

#cardForm{padding-bottom:10px}

.opt:disabled{opacity:1;cursor:default}
.opt.is-correct:disabled,.opt.is-wrong:disabled{opacity:1}
