/* ============================================================
   PED MASTERCLASS — Review-Layer (Prüfen-Modus + Review-Center)
   ============================================================ */

/* ---------- Topbar-Steuerung ---------- */
.k-rev-toggle{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  border:1px solid var(--border);border-radius:6px;padding:8px 12px;cursor:pointer;color:var(--bright);background:transparent;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.k-rev-toggle:hover{border-color:var(--purple-200);color:#fff}
.k-rev-toggle .dot{width:8px;height:8px;border-radius:50%;background:var(--dim)}
.k-rev-toggle.on{border-color:var(--pink);color:#fff;background:rgba(236,30,128,.1)}
.k-rev-toggle.on .dot{background:var(--pink);box-shadow:0 0 8px var(--pink)}

/* ---------- Review-Modus-Banner ---------- */
.k-rev-banner{position:fixed;bottom:0;left:0;right:0;z-index:120;background:rgba(20,8,16,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--pink);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;flex-wrap:wrap}
.k-rev-banner .msg{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.5px;color:var(--pink-200)}
.k-rev-banner .msg b{color:#fff}
.k-rev-banner .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.k-rev-count{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--pink);letter-spacing:.5px}
body.k-review-on{padding-bottom:64px}

/* ---------- Editierbare Felder ---------- */
body.k-review-on [data-rev-edit]{outline:1px dashed rgba(185,104,227,.4);outline-offset:3px;border-radius:3px;transition:outline .15s;cursor:text}
body.k-review-on [data-rev-edit]:hover{outline-color:var(--purple-200)}
body.k-review-on [data-rev-edit]:focus{outline:2px solid var(--purple-200);background:rgba(139,47,201,.08)}
[data-rev-edit].k-rev-changed{outline:2px solid var(--gold) !important;background:rgba(244,160,36,.07)}

/* ---------- Quiz im Review-Modus ---------- */
.k-rev-qtools{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);display:none;flex-direction:column;gap:10px}
body.k-review-on .k-rev-qtools{display:flex}
.k-rev-answerpick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.k-rev-answerpick button{font-family:'Bebas Neue',sans-serif;font-size:16px;width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:var(--card2);color:var(--muted);cursor:pointer;transition:all .15s}
.k-rev-answerpick button.correct{border-color:var(--teal);background:rgba(46,196,182,.15);color:var(--teal)}
.k-rev-answerpick button:hover{border-color:var(--teal);color:#fff}
body.k-review-on .k-opt{cursor:default}
body.k-review-on .k-opt .mark{cursor:default}
.k-q.k-rev-changed-q{border-color:var(--gold) !important;box-shadow:0 0 0 1px rgba(244,160,36,.3)}

/* ---------- Kommentar-Affordance ---------- */
.k-rev-commentbtn{display:none;margin-top:8px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:var(--purple-200);background:transparent;border:1px solid rgba(185,104,227,.35);border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .15s}
body.k-review-on .k-rev-commentbtn{display:inline-flex;align-items:center;gap:6px}
.k-rev-commentbtn:hover{border-color:var(--pink);color:#fff}
.k-rev-commentbtn.has{border-color:var(--gold);color:var(--gold)}
.k-rev-commentbox{display:none;margin-top:8px}
.k-rev-commentbox.open{display:block}
.k-rev-commentbox textarea{width:100%;min-height:64px;background:var(--card);border:1px solid var(--border);border-radius:8px;
  color:var(--bright);font-family:'DM Sans',sans-serif;font-size:14px;padding:10px 12px;resize:vertical;line-height:1.5}
.k-rev-commentbox textarea:focus{outline:none;border-color:var(--purple-200)}
.k-rev-commentbox .save{margin-top:8px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;
  background:var(--grad-cta);color:#fff;border:0;border-radius:6px;padding:8px 14px;cursor:pointer}

/* Guide-Block Kommentar-Pin (inline an jedem Block) */
.k-rev-pin{display:none;margin-left:8px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(185,104,227,.45);
  background:var(--card);color:var(--purple-200);font-size:11px;line-height:1;vertical-align:middle;cursor:pointer;user-select:none;
  padding:0;transition:all .15s;flex-shrink:0}
body.k-review-on .k-rev-pin{display:inline-flex;align-items:center;justify-content:center}
.k-rev-pin:hover{border-color:var(--pink);color:#fff;transform:scale(1.1)}
.k-rev-pin.has{border-color:var(--gold);color:var(--gold);background:rgba(244,160,36,.12)}

/* Geänderten Block markieren + Original per Tooltip */
[data-rev-edit].k-rev-changed{outline:2px solid var(--gold) !important;background:rgba(244,160,36,.08)}
[data-rev-edit].k-rev-changed::after{content:"geändert";position:absolute;font-family:'Space Mono',monospace;font-size:8px;letter-spacing:1px;
  text-transform:uppercase;color:#0a0a0a;background:var(--gold);padding:1px 5px;border-radius:0 4px 0 4px;top:-1px;right:-1px;pointer-events:none;z-index:2}
body.k-review-on [data-rev-edit]{position:relative}

/* Quiz-Erklärung im Review-Modus sichtbar + editierbar */
body.k-review-on .k-explain{display:block !important;background:rgba(139,47,201,.05);border-left-color:var(--purple)}
body.k-review-on .k-explain::before{content:"Erklärung (editierbar):";display:block;font-family:'Space Mono',monospace;font-size:8.5px;
  letter-spacing:1px;text-transform:uppercase;color:var(--purple-200);margin-bottom:5px}

/* ---------- Btn util ---------- */
.k-rev-btn{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;
  border:0;border-radius:7px;padding:10px 16px;cursor:pointer;transition:all .18s;color:#fff;background:var(--grad-cta)}
.k-rev-btn:hover{filter:brightness(1.1)}
.k-rev-btn.ghost{background:transparent;border:1px solid var(--border);color:var(--bright)}
.k-rev-btn.ghost:hover{border-color:var(--pink);color:#fff}
.k-rev-btn.teal{background:var(--teal);color:#04110f}
.k-rev-btn.dim{background:var(--card2);color:var(--muted);border:1px solid var(--border)}

/* ============================================================
   ÄNDERUNGS-LEISTE (rechte Randspalte auf Modulseiten im Prüfen-Modus)
   ============================================================ */
body.k-review-on.k-rev-haspanel{padding-right:340px}
.k-rev-panel{position:fixed;top:56px;right:0;width:340px;height:calc(100vh - 56px);z-index:110;
  background:rgba(14,9,13,.975);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-left:1px solid var(--pink);display:flex;flex-direction:column;transition:transform .25s ease}
.k-rev-panel.collapsed{transform:translateX(340px)}
.k-rev-panel-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.k-rev-panel-head .t{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;letter-spacing:.5px;line-height:1}
.k-rev-panel-head .c{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--pink);margin-top:3px}
.k-rev-panel-body{flex:1;overflow-y:auto;padding:12px}
.k-rev-panel-foot{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap}
.k-rev-empty-panel{padding:26px 16px;text-align:center;font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);line-height:1.6}

.k-rev-entry{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:9px;padding:11px 12px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,transform .15s}
.k-rev-entry:hover{transform:translateX(-2px)}
.k-rev-entry.comment{border-left-color:var(--purple)}
.k-rev-entry.done{border-left-color:var(--teal);opacity:.72}
.k-rev-entry.rejected{border-left-color:var(--muted);opacity:.55}
.k-rev-entry .et{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--purple-200);margin-bottom:7px;display:flex;justify-content:space-between;gap:6px}
.k-rev-entry .et .st{color:var(--muted)}
.k-rev-entry .old{font-size:12px;color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(236,30,128,.5);margin-bottom:4px;line-height:1.45}
.k-rev-entry .new{font-size:12.5px;color:#fff;line-height:1.45}
.k-rev-entry .cm{font-size:12.5px;color:var(--bright);line-height:1.5}
.k-rev-entry .ea{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.k-rev-entry .ea button{font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:.5px;text-transform:uppercase;border:1px solid var(--border);background:transparent;color:var(--bright);border-radius:5px;padding:6px 8px;cursor:pointer;transition:all .15s}
.k-rev-entry .ea button:hover{border-color:var(--bright)}
.k-rev-entry .ea button.ok{border-color:var(--teal);color:var(--teal)}
.k-rev-entry .ea button.no{border-color:var(--pink);color:var(--pink-200)}

.k-rev-panel-tab{position:fixed;top:120px;right:0;z-index:109;background:var(--grad-cta);color:#fff;
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;writing-mode:vertical-rl;padding:14px 9px;
  border-radius:8px 0 0 8px;cursor:pointer;display:none;box-shadow:-4px 0 20px rgba(236,30,128,.3)}

.k-rev-flash{animation:kRevFlash 1.5s ease}
@keyframes kRevFlash{0%,100%{background:transparent;box-shadow:none}25%{background:rgba(244,160,36,.22);box-shadow:0 0 0 4px rgba(244,160,36,.22)}}

@media(max-width:1240px){
  body.k-review-on.k-rev-haspanel{padding-right:0}
  .k-rev-panel{width:90vw;max-width:360px;box-shadow:-10px 0 40px rgba(0,0,0,.5)}
}

/* ============================================================
   REVIEW-CENTER (review.html) — schlanker Hub
   ============================================================ */
.rc-hub{display:grid;grid-template-columns:1fr;gap:12px;margin:26px 0 0}
@media(min-width:640px){.rc-hub{grid-template-columns:1fr 1fr}}
.rc-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px 16px;transition:all .2s;border-left:3px solid var(--gold)}
.rc-card.clean{border-left-color:var(--border);opacity:.6}
.rc-card:hover{border-color:var(--pink);transform:translateX(3px)}
.rc-card .kn{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--dim);line-height:.8;min-width:34px}
.rc-card .cbody{flex:1;min-width:0}
.rc-card .ct{font-family:'Bebas Neue',sans-serif;font-size:20px;color:#fff;letter-spacing:.3px;line-height:1.05}
.rc-card .ck{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:3px}
.rc-card .cc{display:flex;gap:6px;margin-top:7px}
.rc-pill{font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:3px 9px;border:1px solid var(--border);color:var(--muted)}
.rc-pill.open{color:var(--gold);border-color:rgba(244,160,36,.4)}
.rc-pill.done{color:var(--teal);border-color:rgba(46,196,182,.4)}
.rc-card .go{font-family:'Space Mono',monospace;font-size:16px;color:var(--pink)}

/* ============================================================
   REVIEW-CENTER (Alt-Liste, weiterhin für Detailansicht nutzbar)
   ============================================================ */
.rc-hero{padding:64px 0 24px;text-align:center;background:radial-gradient(ellipse at top,rgba(236,30,128,.16) 0%,transparent 60%)}
.rc-hero .eb{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:4px;color:var(--pink);text-transform:uppercase;margin-bottom:16px}
.rc-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(46px,11vw,84px);line-height:.86;color:#fff;letter-spacing:-1px}
.rc-hero h1 .accent{background:var(--grad-cta);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rc-hero p{font-size:15px;color:var(--text);max-width:600px;margin:14px auto 0}

.rc-stats{display:flex;justify-content:center;gap:14px;margin:26px auto 0;flex-wrap:wrap;max-width:760px}
.rc-stat{flex:1;min-width:120px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
.rc-stat .n{font-family:'Bebas Neue',sans-serif;font-size:38px;line-height:1;color:#fff}
.rc-stat.open .n{color:var(--gold)}.rc-stat.done .n{color:var(--teal)}.rc-stat.rej .n{color:var(--muted)}
.rc-stat .l{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:6px}

.rc-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:26px 0 18px}
.rc-filter{display:flex;gap:6px;flex-wrap:wrap}
.rc-filter button{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--border);background:transparent;border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .15s}
.rc-filter button.active{border-color:var(--pink);color:#fff;background:rgba(236,30,128,.08)}
.rc-spacer{flex:1}

.rc-modblock{margin:26px 0 0}
.rc-modblock h2{font-family:'Bebas Neue',sans-serif;font-size:26px;color:#fff;letter-spacing:.4px;margin-bottom:4px;display:flex;align-items:center;gap:10px}
.rc-modblock h2 .badge{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:3px 10px}
.rc-modblock .kap{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--purple-200);margin-bottom:10px}

.rc-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:12px;border-left:3px solid var(--gold)}
.rc-item.done{border-left-color:var(--teal);opacity:.75}
.rc-item.rejected{border-left-color:var(--muted);opacity:.6}
.rc-item .type{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--purple-200);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.rc-item .type .where{color:var(--muted)}
.rc-item .type .st{margin-left:auto;padding:2px 8px;border-radius:20px;font-size:8.5px}
.rc-item .type .st.open{background:rgba(244,160,36,.15);color:var(--gold)}
.rc-item .type .st.done{background:rgba(46,196,182,.15);color:var(--teal)}
.rc-item .type .st.rejected{background:var(--card2);color:var(--muted)}
.rc-diff{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0}
.rc-old,.rc-new{font-size:13.5px;line-height:1.5;padding:9px 12px;border-radius:8px}
.rc-old{background:rgba(236,30,128,.06);border:1px solid rgba(236,30,128,.2);color:var(--text);text-decoration:line-through;text-decoration-color:rgba(236,30,128,.5)}
.rc-new{background:rgba(46,196,182,.06);border:1px solid rgba(46,196,182,.25);color:#fff}
.rc-lbl{font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.rc-comment{font-size:14px;color:var(--bright);line-height:1.55;background:var(--card2);border-radius:8px;padding:10px 12px;margin:6px 0}
.rc-comment::before{content:'💬 ';}
.rc-item .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.rc-item .meta{font-family:'Space Mono',monospace;font-size:9px;color:var(--dim);letter-spacing:.5px;margin-top:8px}
.rc-item .open-mod{margin-left:auto;font-family:'Space Mono',monospace;font-size:9px;color:var(--blue-200);letter-spacing:.5px}

.rc-empty{text-align:center;padding:60px 20px;color:var(--muted);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.5px}
.rc-empty .big{font-family:'Bebas Neue',sans-serif;font-size:40px;color:var(--teal);display:block;margin-bottom:10px}

.rc-io{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 60px;padding-top:24px;border-top:1px solid var(--border)}

/* ============================================================
   SAVE-TOAST (kleine Rückmeldung beim Speichern)
   ============================================================ */
.k-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:200;
  background:var(--card2,#161616);border:1px solid var(--teal,#2ec4b6);color:#fff;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.4px;padding:11px 18px;border-radius:10px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.k-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.k-toast.err{border-color:var(--gold,#f4a024);color:#ffe6bf}

/* ============================================================
   KONTROLL-CENTER — Tabelle
   ============================================================ */
.kc-tablewrap{border:1px solid var(--border,#1e1e1e);border-radius:12px;overflow:hidden;overflow-x:auto}
.kc-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.kc-table thead th{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:var(--muted,#777);text-align:left;padding:12px 14px;background:var(--card2,#161616);border-bottom:1px solid var(--border,#1e1e1e);white-space:nowrap}
.kc-table thead th:not(:first-child){text-align:center}
.kc-chaprow td{font-family:'Bebas Neue',sans-serif;letter-spacing:.5px;font-size:15px;color:var(--bright,#eee);
  background:rgba(255,255,255,.02);padding:9px 14px;border-top:1px solid var(--border,#1e1e1e)}
.kc-row td{padding:11px 14px;border-top:1px solid var(--border,#1e1e1e);vertical-align:middle}
.kc-row:hover{background:rgba(255,255,255,.02)}
.kc-mod{max-width:320px}
.kc-mod .kc-t{display:block;color:#fff;font-weight:600}
.kc-mod .kc-s{display:block;color:var(--muted,#777);font-size:11px;margin-top:2px}
.kc-num,.kc-c{text-align:center;font-family:'Space Mono',monospace;font-size:12px;color:var(--text,#ccc);white-space:nowrap}
.kc-dim{color:var(--dim,#444)}
.kc-yes{color:var(--teal,#2ec4b6);font-weight:700}
.kc-no{color:var(--gold,#f4a024);font-weight:700}
.kc-badge{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;
  padding:3px 9px;border-radius:20px;border:1px solid var(--border,#1e1e1e);color:var(--muted,#777);white-space:nowrap}
.kc-badge.ok{border-color:var(--teal,#2ec4b6);color:var(--teal,#2ec4b6);background:rgba(46,196,182,.1)}
.kc-badge.warn{border-color:var(--gold,#f4a024);color:var(--gold,#f4a024);background:rgba(244,160,36,.1)}
.kc-badge.none{opacity:.7}
.kc-row.warn td{background:rgba(244,160,36,.04)}
.kc-row.none{opacity:.6}
