/* ==========================================================================
   CPC Wiki Forum — Theme „cpc“ (Amstrad-Retro, dunkel)
   ========================================================================== */
:root{
  --bg:#0b1220; --bg2:#0e1728; --panel:#101a2e; --panel2:#0c1424;
  --line:#22314d; --line2:#2c3f63;
  --text:#d7e0ee; --muted:#7d8ca6; --muted2:#64789c;
  --accent:#4de1ff; --amber:#ffb000; --red:#d81b29; --green:#63e6a0;
  --hl:#16233d; --code:#0a101c;
  --radius:12px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1100px 520px at 80% -8%,#14223d 0%,transparent 60%) fixed,#0b1220;color:var(--text);font:15px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
img{max-width:100%}
a{color:#7fd6ff;text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;margin:14px 0 6px;color:#fff}
h2{font-size:16px;margin:0 0 10px;color:#ffd98a;letter-spacing:.01em}
.muted{color:var(--muted)}
.muted2{color:var(--muted2)}
.small{font-size:12.5px}
.skiplink{position:absolute;left:-9999px}
.skiplink:focus{left:8px;top:8px;background:#fff;color:#000;padding:6px 10px;z-index:99;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* ------------------------------------------------------------ Header */
.sitehead{background:linear-gradient(180deg,#0f1a30,#0c1424);border-bottom:1px solid var(--line2)}
.headtop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:10px;flex-wrap:wrap}
.brand{display:flex;gap:14px;align-items:center;text-decoration:none}
.brand:hover{text-decoration:none}
.logo-icon{height:44px;width:auto;max-width:100%;flex:0 0 auto;border-radius:4px;display:block}
.brandtext{display:flex;flex-direction:column}
.brandname{color:#fff;font-weight:900;font-size:clamp(19px,3vw,26px);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 0 #00000055}
.brandtag{color:var(--muted);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:560px){.logo-icon{height:30px}.brand{gap:10px}}
.headtools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.themebtn{width:30px;height:30px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:15px;line-height:1;cursor:pointer;padding:0}
.themebtn:hover{border-color:var(--amber)}
.langswitch{display:flex;gap:2px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:3px}
.langlink{color:var(--muted);font:700 11px/1 ui-monospace,monospace;padding:4px 6px;border-radius:6px;letter-spacing:.04em}
.langlink.on{background:var(--amber);color:#241a00}
.clock{color:var(--muted2);font:12px ui-monospace,monospace}
.headnav{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px}
.mainnav{display:flex;gap:2px;flex-wrap:wrap}
.mainnav a{color:#b9c8e0;padding:7px 13px;border-radius:8px;font-weight:600;font-size:14px}
.mainnav a:hover{background:var(--hl);text-decoration:none;color:#fff}
.mainnav a.active{background:var(--amber);color:#241a00}
.mainnav form.markform{display:inline-block;margin:0 0 0 10px}
.mainnav form.logoutform,.usernav form{display:inline-block;margin:0}
.usernav form{margin-left:0}
button.navlinkbtn{background:none;border:0;cursor:pointer;font-family:inherit;padding:6px 10px;border-radius:8px}
button.navlinkbtn:hover{text-decoration:underline}
.mainnav button.navlinkbtn{color:#b9c8e0;font-weight:600;font-size:14px;padding:7px 13px}
.mainnav button.navlinkbtn:hover{background:var(--hl);color:#fff;text-decoration:none}
.mainnav button.navlinkbtn.markread{margin:0;color:var(--muted);font-size:12.5px;font-weight:400}
.mainnav button.navlinkbtn.markread:hover{color:var(--amber);text-decoration:none}
.usernav button.navlinkbtn{color:#b9c8e0;font-size:13.5px;padding:6px 10px}
.usernav button.navlinkbtn:hover{background:var(--hl);color:#fff}
.usernav button.navlinkbtn.logout{color:#ff9a8f}
.usernav button.navlinkbtn.logout:hover{color:#ffb0a8}
.mainnav a.markread{margin-left:10px;color:var(--muted);font-size:12.5px;font-weight:400}
.mainnav a.markread:hover{color:var(--amber)}
.usernav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.usernav a{padding:6px 10px;border-radius:8px;font-size:13.5px;color:#b9c8e0}
.usernav a:hover{background:var(--hl);color:#fff;text-decoration:none}
.usernav .whoami{color:var(--muted);font-size:13px;padding:0 8px}
.usernav .whoami b{color:#fff}
.badge-pm{background:#122b45;border:1px solid #1d4a75;color:#7fd6ff!important;font-weight:800;padding:3px 9px!important;border-radius:999px}
.badge-pm.off{opacity:.5}
.badge-pm:hover{opacity:1;text-decoration:none}
.usernav a.logout{color:#ff9a8f}
/* Hauptbereich */
.pagebody{min-height:64vh;padding-top:18px;padding-bottom:30px}

/* ------------------------------------------------------------- Alerts */
.alert{border-radius:10px;padding:11px 15px;margin:0 0 14px;font-size:14px}
.alert.ok{background:#0d2a1c;border:1px solid #1e5a3a;color:#9fe8c0}
.alert.error{background:#3a0f12;border:1px solid #7c1f28;color:#ffb0a8}
.alert ul{margin:4px 0 2px;padding-left:18px}

/* ------------------------------------------------------------- Cards */
.card{background:linear-gradient(180deg,#12203c,#101a2e);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin:0 0 16px;box-shadow:0 4px 18px #00000033}
.card h1{margin-top:0}
.card.empty{color:var(--muted);text-align:center}
.error-card{border-color:#7c1f28}
.welcome.card h2{color:var(--amber)}

/* -------------------------------------------------------------- Crumb */
.crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:10px;color:var(--muted)}
.crumbs a{color:#7fd6ff}
.crumbs .here{color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}

/* ------------------------------------------------------------- Boardindex */
.boardgroup{margin-bottom:10px}
.catname{font:800 13px/1.4 ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:14px 2px 6px}
.boardlist{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.boardrow{display:grid;grid-template-columns:44px 1fr 190px 240px;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #1a2740}
.boardrow:last-child{border-bottom:0}
.boardrow:hover{background:#13213c}
.boardico{width:34px;height:34px;border-radius:9px;border:2px solid var(--line2);background:#0c1424;position:relative}
.boardico.unread{border-color:var(--amber);background:radial-gradient(circle at 40% 35%,#ffdf8a,#e8a400)}
.boardmain{display:flex;flex-direction:column;gap:2px}
.boardname{color:#fff;font-weight:700;font-size:16px}
.boardname.unread{color:var(--amber)}
.boarddesc{color:var(--muted);font-size:13px}
.unreadlink{color:var(--amber);font-size:12px;font-weight:700}
.boardstats{display:flex;flex-direction:column;color:var(--muted);font-size:13px}
.boardstats b{color:#fff}
.boardlast{font-size:13px;display:flex;flex-direction:column;gap:2px;min-width:0}
.lasttopic{color:#b9c8e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.lastmeta{color:var(--muted);font-size:12px}
/* Der Name kommt aus user_link() und trägt .uname (global 15px/800) — in
   dieser 12px-Zeile wäre er größer als der Thementitel darüber. */
.lastmeta .uname{font-size:12px;font-weight:700}
@media(max-width:900px){
  .boardrow{grid-template-columns:36px 1fr 120px}
  .boardstats{display:none}
}
@media(max-width:620px){
  .boardrow{grid-template-columns:36px 1fr}
  .boardlast{display:none}
}

/* ------------------------------------------------------ Forum (topics) */
.boardhead h1{margin-bottom:2px}
.boardhead{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin:4px 0 10px}
.boardhead .btn{margin:0}
.topichead-row{display:grid;grid-template-columns:1fr 130px 210px;gap:12px;padding:8px 16px;color:var(--muted2);font:700 11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#0d1730}
.topiclist{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);overflow:hidden}
.topicrow{display:grid;grid-template-columns:30px 1fr 130px 210px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #1a2740}
.topicrow:last-child{border-bottom:0}
.topicrow:hover{background:#13213c}
.topicrow .trico{font-size:16px;text-align:center;opacity:.9}
.trtitle{color:#e8eef8;font-weight:600}
.trtitle.unread{color:var(--amber);font-weight:800}
.trmeta{color:var(--muted);font-size:12.5px}
.gofirst{color:var(--amber);font-weight:900;text-decoration:none}
.trstats{color:var(--muted);font-size:13px;text-align:left}
.trlast{font-size:13px;display:flex;flex-direction:column;gap:1px;min-width:0}
.trlast a{color:#b9c8e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-row{padding:22px;color:var(--muted);text-align:center}
@media(max-width:820px){
  .topichead-row{grid-template-columns:1fr 110px;display:none}
  .topicrow{grid-template-columns:26px 1fr 90px}
  .trlast{display:none}
}

/* -------------------------------------------------------- Buttons */
.btn{display:inline-block;border:0;background:linear-gradient(#ffc21f,#eda300);color:#241a00;font-weight:800;padding:9px 18px;border-radius:9px;font-size:14px;cursor:pointer;text-decoration:none;line-height:1.4}
.btn:hover{filter:brightness(1.07);text-decoration:none}
.btn-sec{background:var(--panel2);border:1px solid var(--line2);color:#d7e0ee}
.btn-ghost{background:transparent;border:1px solid var(--line2);color:#b9c8e0}
.btn-danger{background:linear-gradient(#c0272f,#8f1620);color:#fff}
.btn-mini{padding:5px 12px;font-size:13px;border-radius:7px}
.btn-block{width:100%;text-align:center;margin-bottom:8px}
.smallbtn{display:inline-block;border:0;background:#14233f;border:1px solid var(--line2);color:#b9c8e0;padding:3px 9px;border-radius:7px;font-size:12px;cursor:pointer;text-decoration:none}
.smallbtn:hover{background:#1c3052;text-decoration:none;color:#fff}
.smallbtn.danger{color:#ff9a8f;border-color:#6b2a31}
.inlineform{display:inline}

/* --------------------------------------------------- Posts (viewtopic) */
.topicview .topicview-head{margin-bottom:4px}
.topicview-head h1{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.flagrow{font-size:12px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);padding:2px 10px;border-radius:999px;font-weight:400}
.topicmeta{font-size:13px;margin:2px 0 8px}
.topichead-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 14px}
.topichead-actions select{background:var(--panel2);border:1px solid var(--line2);color:#d7e0ee;border-radius:7px;padding:5px 8px;font-size:13px}
.post{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 14px;overflow:hidden}
.posthead{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 16px;background:#0d1730;border-bottom:1px solid var(--line);flex-wrap:wrap}
.postnum{font:800 12px ui-monospace,monospace;color:var(--amber);letter-spacing:.1em}
.postdate{color:var(--muted);font-size:12.5px;margin-left:auto}
.posthead-actions{display:flex;gap:6px;align-items:center}
.posthead-actions .inlineform{margin:0}
.postgrid{display:grid;grid-template-columns:190px 1fr}
.postuser{background:#0e1930;border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;color:#fff;background:linear-gradient(145deg,#26406e,#14264a);border:3px solid var(--line2);box-shadow:0 3px 10px #00000044;user-select:none}
.avatar.role-admin{background:linear-gradient(145deg,#d81b29,#7c0f18);border-color:#ff8f7a}
.avatar.role-moderator{background:linear-gradient(145deg,#b87400,#7a4c00);border-color:#ffd98a}
.avatar.big{width:84px;height:84px;font-size:38px}
.avatar.ghost{background:#333}
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar-preview{width:96px;height:96px;border-radius:12px;object-fit:cover;border:1px solid var(--line2);background:#0a101c}
.avatar-preview.none{display:grid;place-items:center;font-size:40px;background:#0d1526;border:1px dashed var(--line2)}
.avatarrow{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.avatarrow-forms{display:grid;gap:10px;max-width:420px}
.avatarrow-forms .btn-danger{color:#fff}
.uname{color:#fff;font-weight:800;font-size:15px;word-break:break-word}
.rolechip{font-size:10.5px;background:#1c3052;color:#9fb4d8;border-radius:999px;padding:2px 9px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.rolechip.moderator{background:#5d3c00;color:#ffd98a}
.rolechip.admin{background:#5a0e16;color:#ffb0a8}
.rolechip.banned{background:#2d0a0d;color:#ff8f7a}
.ustats{color:var(--muted);font-size:12px;display:flex;flex-direction:column;gap:2px;margin-top:4px}
.pmbtn{margin-top:8px;font-size:12px}
.postbody{padding:14px 18px 16px;min-width:0}
.postcontent{overflow-wrap:anywhere}
.postsig{margin-top:16px;padding-top:10px;border-top:1px dashed var(--line2);color:var(--muted);font-size:13px}
.edited{font-size:12px;margin-top:12px;font-style:italic}
.postattach{margin-top:12px}
.quickreply{margin-top:16px}
.backlink{margin:4px 0 14px}
@media(max-width:760px){
  .postgrid{grid-template-columns:1fr}
  .postuser{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:flex-start;gap:12px;text-align:left;flex-wrap:wrap}
  .ustats{flex-direction:row;gap:12px}
}

/* ------------------------------------------------------- Anhänge */
.attach-imgs{display:flex;flex-wrap:wrap;gap:8px}
.attach-img img{width:150px;height:112px;object-fit:cover;border-radius:9px;border:2px solid var(--line2);background:#0c1424;display:block}
.attach-img:hover img{border-color:var(--amber)}
.attach-list{list-style:none;margin:6px 0 0;padding:0}
.attach-list li{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px dashed #1d2c47;flex-wrap:wrap;font-size:14px}
.attach-list li:last-child{border:0}
.attach-list .att-meta{color:var(--muted);font-size:12px}
.attach-queue{list-style:none;margin:8px 0 0;padding:0}
.attach-queue{list-style:none;margin:8px 0 0;padding:0}
.attach-queue li{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:4px 0;font-size:13px}
.attach-queue .att-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.attach-queue .att-name{font-weight:600;color:#fff;word-break:break-all}
.attach-queue .att-status{color:var(--muted);font-size:12px}
.attach-queue .att-actions{margin-left:auto;display:flex;gap:6px}
.attach-queue .att-insert{margin-left:auto}
.att-emb{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px;display:flex;flex-direction:column;gap:6px}
.att-emb .att-cb{display:flex;align-items:center;gap:6px;font-weight:600;color:#9fe8c0;cursor:pointer}
.att-emb .att-emb-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.att-emb .att-emb-opts.att-off{opacity:.45;pointer-events:none}
.att-emb .att-fld{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}
.att-emb .att-fld select,.att-emb .att-fld input{border:1px solid var(--line);background:#0c1424;color:#e8eef8;border-radius:6px;padding:4px 6px;font-size:12px}
.att-emb .att-fld input{width:220px}
.att-emb .att-cmd-fld{flex:1;min-width:180px}
.attachbox h2{margin-top:8px}

/* ------------------------------------------------------------- Formulare */
.fld{display:block;margin:12px 0 4px;color:var(--muted);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.txt{width:100%;padding:9px 12px;background:var(--panel2);border:1px solid var(--line2);border-radius:8px;color:#e8eef8;font:inherit;margin:2px 0 4px}
.txt:focus,.rta:focus{outline:2px solid #4de1ff44;border-color:#4de1ff}
.txts{width:130px;display:inline-block;margin-left:6px}
.inline-fld{text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-weight:400}
.rta{width:100%;background:var(--code);border:1px solid var(--line2);border-radius:8px;color:#e8eef8;font:14px/1.55 ui-monospace,"Cascadia Mono",Consolas,monospace;padding:10px 12px;resize:vertical;min-height:120px}
textarea.rta{min-height:160px}
.formrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.formrow .btn{margin-top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}
.checkrow{display:flex;gap:8px;align-items:center;margin:8px 0}
.checkrow input{width:auto}
.checkcol .checkrow label{color:var(--text)}
.checkrow label{font-size:14px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.authcard{max-width:520px;margin:24px auto}
.previewcard .previewbody{border:1px dashed var(--line2);border-radius:10px;padding:14px;background:#0d1730}
.bbhelp{position:relative}
.bbhelp code{background:var(--code);border:1px solid var(--line);padding:1px 5px;border-radius:5px;color:#ffd98a}

/* BBCode-Toolbar */
.bb-toolbar{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0 4px;padding:6px;background:var(--panel2);border:1px solid var(--line);border-radius:9px}
.bb-btn{border:1px solid var(--line2);background:#14233f;color:#d7e0ee;border-radius:7px;padding:4px 9px;font-size:12.5px;cursor:pointer;font-weight:700;min-width:30px}
.bb-btn:hover{background:#1e3257;color:#fff}
.bb-btn.jamsi-btn{background:#0d2a1c;border-color:#1e5a3a;color:#9fe8c0}
/* Wortmarken für die Code-Tags: schmalere Schrift, damit <assembler> nicht
   die halbe Leiste einnimmt, und ein Hauch Farbe zur Abgrenzung. */
.bb-btn-tag{font:600 11.5px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  padding:4px 8px;letter-spacing:0;color:#9fd0ff;background:#122741;border-color:#24446e}
.bb-btn-tag:hover{background:#1b3a63;color:#dcefff}

/* ------------------------------------------------------------- Suche */
.searchform{margin:6px 0}
.searchform.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.searchform.inline .txt{width:240px}
.searchopts{display:flex;gap:10px;flex-wrap:wrap}
.searchresults{list-style:none;margin:0;padding:0}
.searchresults li{padding:10px 4px;border-bottom:1px dashed #1d2c47}
.sr-title{color:#fff;font-weight:700;font-size:16px}
.sr-snippet{color:var(--muted);font-size:13.5px;margin:2px 0}
.sr-meta{}

/* --------------------------------------------------------- Tabellen */
.tablewrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;color:var(--muted2);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;padding:8px 10px;border-bottom:2px solid var(--line2);white-space:nowrap}
.table td{padding:8px 10px;border-bottom:1px solid #1a2740;vertical-align:top}
.table tr:hover td{background:#0f1a2e}

/* ---------------------------------------------------------- Profil */
.profile-grid{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}
@media(max-width:820px){.profile-grid{grid-template-columns:1fr}}
.profcard{text-align:center}
.profcard .avatar{margin:0 auto}
.proflist{margin:12px 0 0;padding:0;text-align:left}
.proflist dt{color:var(--muted2);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:8px}
.proflist dd{margin:0 0 2px;font-size:14px}
.recentlist{list-style:none;margin:0;padding:0}
.recentlist li{padding:9px 0;border-bottom:1px dashed #1d2c47}
.recentlist .snippet{color:var(--muted);font-size:13px;display:block;margin-top:2px}

/* --------------------------------------------------------------- PM */
.pmgrid{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start}
@media(max-width:820px){.pmgrid{grid-template-columns:1fr}}
.pmlist ul{list-style:none;margin:8px 0 0;padding:0}
.pmlist li a{display:block;padding:7px 10px;border-radius:8px;color:#b9c8e0;font-size:14px}
.pmlist li a.on{background:var(--hl);color:#fff}
.pmlist li a.unread{color:var(--amber);font-weight:700}
.pmlist h2{margin-top:14px}
.convs{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.msgrow{display:flex}
.msgrow.mine{justify-content:flex-end}
.msgbubble{max-width:78%;background:#122a22;border:1px solid #1e5a3a;border-radius:14px 14px 4px 14px;padding:9px 13px}
.msgrow.theirs .msgbubble{background:#0e1930;border-color:var(--line2);border-radius:14px 14px 14px 4px}
.msghead{font-size:12px;color:var(--muted);margin-bottom:3px}
.msghead b{color:#fff}
.msgcontent{overflow-wrap:anywhere}
.msgcontent p{margin:.3em 0}

/* ---------------------------------------------------------- Admin */
.adminnav{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 16px;padding:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;width:max-content;max-width:100%}
.adminnav a{padding:6px 14px;border-radius:8px;color:#b9c8e0;font-weight:600;font-size:13.5px}
.adminnav a.on{background:var(--amber);color:#241a00}
.adminnav a:hover{background:var(--hl);text-decoration:none}
.subnav{display:flex;gap:8px;margin-bottom:14px}
.subnav a{padding:5px 14px;border:1px solid var(--line2);border-radius:999px;color:var(--muted);font-size:13px}
.subnav a.on{background:var(--amber);color:#241a00;border-color:var(--amber)}
.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:2px}
.stat-ic{font-size:22px}
.stat-v{font-size:22px;font-weight:900;color:#fff;font-family:ui-monospace,monospace}
.stat-l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.admintree{list-style:none;margin:0;padding:0}
.admintree li{padding:7px 4px;border-bottom:1px dashed #1d2c47;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admintree li.catrow{background:#0d1730;border-radius:8px;padding:9px 10px;margin-top:6px}
.admintree .boardname{font-weight:600;color:#fff}
.reporthead{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.reportactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.reportactions .btn{margin:0}

/* ----------------------------------------------------- BBCode-Render */
.bb-quote{margin:10px 0;padding:10px 14px;border-left:4px solid var(--amber);background:#0e1a2e;border-radius:0 8px 8px 0;color:#cdd9ea}
.bb-quote cite{display:block;color:var(--amber);font-size:12.5px;font-style:normal;margin-bottom:4px}
.bb-code{background:var(--code)!important;border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow:auto;display:block}
pre.bb-code{margin:10px 0}
.bb-list{margin:8px 0;padding-left:24px}
.bb-img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line2)}
.bb-video{position:relative;padding-top:56.25%;margin:12px 0;border-radius:10px;overflow:hidden;background:#000;border:1px solid var(--line2)}
.bb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bb-hr{border:0;border-top:1px dashed var(--line2);margin:14px 0}
.bb-spoiler{background:#0e1930;border:1px solid var(--line2);border-radius:9px;margin:8px 0;padding:6px 12px}
.bb-spoiler summary{cursor:pointer;color:#7fd6ff;font-weight:600;padding:6px 0}
.bb-align-center{text-align:center}
.bb-align-right{text-align:right}
.bb-align-left{text-align:left}
.bb-align-justify{text-align:justify}
/* JAMSI-BBCode-Embed — Start-Gate statt Sofortstart; max. 1 Instanz je Seite.
   Wichtig: Die Größen (768×544 / 384×272) gelten als content-box — ein um das
   Element gezogener Rahmen zählt AUSSEN dazu (768+2×4px = 776px, 544+2×4px =
   552px bei 4px Rahmen). Gate und iframe haben dadurch identische Außenmaße.
   Nur im fließenden Layout (<820px) gilt border-box + 100%, damit der Rahmen
   nicht über den Container hinausläuft. */
.bb-jamsi{position:relative;margin:12px 0}
.bb-jamsi iframe{width:768px;max-width:100%;height:544px;max-height:72vh;border:2px solid var(--line2);border-radius:10px;background:#000;display:block;box-sizing:content-box}
.bb-jamsi.bb-jamsi-sm iframe{width:384px;max-width:100%;height:272px;max-height:45vh}
.bb-jamsi-gate{width:768px;max-width:100%;height:544px;max-height:72vh;box-sizing:content-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(1200px 600px at 50% -10%,#12203c 0%,#0a101c 55%,#070b14 100%);border:2px dashed #2c4a78;border-radius:10px;color:#cfe3ff;cursor:pointer;user-select:none;text-align:center;transition:border-color .12s ease,background .12s ease}
.bb-jamsi-gate:hover,.bb-jamsi-gate:focus-visible{border-color:#ffb000;outline:none;background:radial-gradient(1200px 600px at 50% -10%,#17294d 0%,#0d1426 55%,#070b14 100%)}
.bb-jamsi.bb-jamsi-sm .bb-jamsi-gate{width:384px;height:272px;max-height:45vh}
.bb-jamsi-play{font-size:44px;line-height:1;filter:drop-shadow(0 0 10px #ffb00088)}
.bb-jamsi-label{font-weight:800;letter-spacing:.06em;font-size:15px}
.bb-jamsi-sub{font:11px/1.4 ui-monospace,monospace;color:#7f93b8;letter-spacing:.12em}
.bb-jamsi-gate[hidden],.bb-jamsi-note{display:block}
.bb-jamsi-gate[hidden]{display:none!important}
.bb-jamsi-note{font-size:12px;color:var(--muted);margin:4px 0 0;text-align:left}
.bb-jamsi-note a.bb-jamsi-stop{color:#ff9a8f;cursor:pointer}
@media(max-width:820px){.bb-jamsi iframe,.bb-jamsi-gate{box-sizing:border-box;width:100%;height:auto;aspect-ratio:768/544;max-height:72vh}.bb-jamsi.bb-jamsi-sm iframe{aspect-ratio:384/272;max-height:45vh}.bb-jamsi.bb-jamsi-sm .bb-jamsi-gate{aspect-ratio:384/272;max-height:45vh}}

/* ---------------------------------------------------------- Tools/Emu */
.toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:14px 0}
.toolcard{display:block;color:inherit;text-align:left;transition:transform .06s ease,border-color .06s ease}
.toolcard:hover{text-decoration:none;border-color:#2f6196;transform:translateY(-2px);color:inherit}
.toolcard h2{color:#fff}
.tool-ic{font-size:30px;display:block;margin-bottom:6px}
.toolcard p{color:var(--muted);font-size:13.5px;margin:0}
.emu-frame{margin:4px 0 18px}
.emu-frame iframe{width:100%;height:min(820px,78vh);border:2px solid var(--line2);border-radius:12px;background:#000;display:block}
.quickgames{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.qg-link{display:flex;flex-direction:column;gap:2px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:#e8eef8}
.qg-link:hover{border-color:var(--amber);text-decoration:none}
.qg-name{font-weight:700}
.qg-meta{color:var(--muted);font-size:11.5px;font-family:ui-monospace,monospace}
body.emupage{}

/* -------------------------------------------------------- Online/Stats */
.onlinecard h2{margin-bottom:8px}
.onlineusers{display:flex;gap:8px;flex-wrap:wrap;font-size:14px}
.online-user.role-admin{color:#ffb0a8;font-weight:700}
.online-user.role-moderator{color:#ffd98a}
.badge{font-size:9px;background:#5a0e16;color:#ffb0a8;border-radius:999px;padding:1px 6px;vertical-align:middle}

/* -------------------------------------------------------- Pagination */
.pagination{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:center;margin:14px 0}
.pagination a,.pagination span{padding:5px 11px;border-radius:8px;border:1px solid var(--line2);color:#b9c8e0;font-size:13.5px;min-width:32px;text-align:center}
.pagination a:hover{background:var(--hl);text-decoration:none;color:#fff}
.pagination a.active,.pagination span.active{background:var(--amber);border-color:var(--amber);color:#241a00;font-weight:800}
.pagination span.disabled{opacity:.35}
.pagination .dots{border:0;color:var(--muted2)}

/* ------------------------------------------------------------ Footer */
.sitefoot{margin-top:26px;background:linear-gradient(0deg,#0d1526,#0c1424);border-top:1px solid var(--line2)}
.sitefoot .wrap{padding-top:18px;padding-bottom:14px}
.footcols{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footstats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.footstats b{color:#fff}
.footlegal{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:10px;border-top:1px solid #1a2740;color:var(--muted2);font-size:12px}
.jamsi-credit{color:#3f6f63}

/* ------------------------------------------------ Nutzerseiten/Emu */
.emupage .pagebody{max-width:1280px}

/* ==========================================================================
   Helles Farbschema — aktiv über <html data-theme="light"> (Umschalter im
   Kopf, Wahl im Cookie cpcforum_theme). Basis bleiben die dunklen Regeln;
   hier werden die CSS-Variablen umgestellt und dunkle Literal-Farben der
   wichtigsten Komponenten überschrieben. Code-/Emulator-Flächen (pre, rta,
   bb-jamsi, .bb-code) bleiben bewusst dunkel wie ein Retro-Bildschirm.
   ========================================================================== */
[data-theme="light"]{
  --bg:#e9eef7; --bg2:#e2e9f3; --panel:#ffffff; --panel2:#f1f5fb;
  --line:#c6d3e5; --line2:#a9bcd8;
  --text:#1e2b42; --muted:#5a6a84; --muted2:#40526e;
  --accent:#0a6f9e; --amber:#d18a00; --red:#c01f2c; --green:#178a52;
  --hl:#e7eef9; --code:#f4f7fc;
  color-scheme:light;
}
[data-theme="light"] body{
  background:radial-gradient(1000px 480px at 80% -8%,#d9e6f8 0%,transparent 60%) fixed,#e9eef7;
}
[data-theme="light"] a{color:#0a63b0}
[data-theme="light"] h1{color:#12203a}
[data-theme="light"] h2{color:#a06a00}
[data-theme="light"] .muted2{color:var(--muted2)}

/* Kopf & Navigation */
[data-theme="light"] .sitehead{background:linear-gradient(180deg,#e3ebf6,#dce5f1);border-bottom-color:#a9bcd8}
[data-theme="light"] .brandname{color:#12203a;text-shadow:none}
[data-theme="light"] .mainnav a,[data-theme="light"] .usernav a{color:#33476b}
[data-theme="light"] .usernav .whoami b{color:#12203a}
[data-theme="light"] .badge-pm{background:#dcebfc;border-color:#9cc4ea;color:#0a63b0!important}
[data-theme="light"] button.navlinkbtn{color:#33476b}
[data-theme="light"] .mainnav button.navlinkbtn:hover,[data-theme="light"] .usernav button.navlinkbtn:hover{background:var(--hl);color:#12203a}
[data-theme="light"] .usernav button.navlinkbtn.logout{color:#b0202c}
[data-theme="light"] .usernav a.logout{color:#b0202c}
[data-theme="light"] .langlink.on,[data-theme="light"] .mainnav a.active{background:var(--amber);color:#241a00}

/* Alerts & Karten */
[data-theme="light"] .alert.ok{background:#e3f5ea;border-color:#93d3ad;color:#14602f}
[data-theme="light"] .alert.error{background:#fdeaea;border-color:#ef9aa2;color:#a11624}
[data-theme="light"] .card{background:linear-gradient(180deg,#ffffff,#f3f7fc);box-shadow:0 3px 12px #1c2f4e1f}

/* Board- & Themenlisten */
[data-theme="light"] .boardrow,[data-theme="light"] .topicrow{border-bottom-color:#dfe7f2}
[data-theme="light"] .boardrow:hover,[data-theme="light"] .topicrow:hover{background:#edf3fb}
[data-theme="light"] .boardico{background:#dbe6f3}
[data-theme="light"] .boardname,[data-theme="light"] .boardstats b{color:#12203a}
[data-theme="light"] .lasttopic,[data-theme="light"] .trlast a{color:#3a4d6d}
[data-theme="light"] .topichead-row{background:#e3ebf7}
[data-theme="light"] .trtitle{color:#16233c}
[data-theme="light"] .toolcard h2{color:#12203a}
[data-theme="light"] .qg-link{color:#1e2b42}

/* Buttons */
[data-theme="light"] .btn-sec{color:var(--text)}
[data-theme="light"] .btn-ghost{color:#3f5270}
[data-theme="light"] .smallbtn{background:#e4ecf7;border-color:#b9cae1;color:#33476b}
[data-theme="light"] .smallbtn:hover{background:#d6e3f5;color:#101c33}

/* Beiträge & Profile */
[data-theme="light"] .posthead{background:#e3ebf7}
[data-theme="light"] .postuser{background:#eef3fa}
[data-theme="light"] .uname{color:#12203a}
[data-theme="light"] .rolechip{background:#dbe7f5;color:#2c4a76}
[data-theme="light"] .rolechip.moderator{background:#f6e7c8;color:#7a4c00}
[data-theme="light"] .rolechip.admin{background:#fbdcdd;color:#8f1620}
[data-theme="light"] .rolechip.banned{background:#f6d9d6;color:#8f1620}
[data-theme="light"] .avatar-preview{background:#eef3fa}
[data-theme="light"] .avatar-preview.none{background:#e6edf7}
[data-theme="light"] .att-queue .att-name{color:#12203a}
[data-theme="light"] .att-cb{color:#178a52}

/* Formulare & Eingaben */
[data-theme="light"] .txt,[data-theme="light"] .rta{color:#1e2b42}
[data-theme="light"] .txt{background:#ffffff}
[data-theme="light"] .rta{background:#ffffff;border-color:#b9cae1}
[data-theme="light"] select{background:#ffffff;border-color:var(--line2);color:#1e2b42}
[data-theme="light"] .att-emb .att-fld select,[data-theme="light"] .att-emb .att-fld input{background:#ffffff;border-color:var(--line2);color:#1e2b42}
[data-theme="light"] .bb-btn{background:#e4ecf7;color:#2e4165}
[data-theme="light"] .bb-btn:hover{background:#d6e3f5;color:#101c33}
[data-theme="light"] .bb-btn.jamsi-btn{background:#e3f5ea;border-color:#93d3ad;color:#14602f}
[data-theme="light"] .bb-btn-tag{background:#e6eefb;border-color:#b9cce8;color:#1c4c85}
[data-theme="light"] .bb-btn-tag:hover{background:#d5e4f7;color:#0d2b52}
[data-theme="light"] .previewcard .previewbody{background:#eef3fa}
[data-theme="light"] .bbhelp code{color:#8a5a00}

/* Suche, Tabellen, PM, Admin */
[data-theme="light"] .sr-title{color:#12203a}
[data-theme="light"] .searchresults li,[data-theme="light"] .recentlist li,
[data-theme="light"] .attach-list li,[data-theme="light"] .admintree li{border-bottom-color:#dde6f1}
[data-theme="light"] .table td{border-bottom-color:#dfe7f2}
[data-theme="light"] .table tr:hover td{background:#edf3fb}
[data-theme="light"] .pmlist li a{color:#40536f}
[data-theme="light"] .pmlist li a.on{color:#101c33}
[data-theme="light"] .msgbubble{background:#e3f5ea;border-color:#7cc9a4}
[data-theme="light"] .msgrow.theirs .msgbubble{background:#eef3fa;border-color:var(--line2)}
[data-theme="light"] .msghead b{color:#12203a}
[data-theme="light"] .adminnav a{color:#40536f}
[data-theme="light"] .admintree li.catrow{background:#e3ebf7}
[data-theme="light"] .admintree .boardname{color:#12203a}
[data-theme="light"] .stat-v{color:#12203a}
[data-theme="light"] .pagination a,.pagination span{color:#40536f}
[data-theme="light"] .pagination a:hover{color:#101c33}
[data-theme="light"] .pagination a.active,[data-theme="light"] .pagination span.active{color:#241a00}

/* BBCode-Inhalte */
[data-theme="light"] .bb-quote{background:#fdf6e3;color:#3d3626}
[data-theme="light"] .bb-spoiler{background:#eef3fa}
[data-theme="light"] .bb-spoiler summary{color:#0a63b0}
[data-theme="light"] .bb-jamsi-sub{color:#7f93b8}

/* Fuß */
[data-theme="light"] .sitefoot{background:linear-gradient(0deg,#dde6f2,#e3ebf6)}
[data-theme="light"] .footlegal,[data-theme="light"] .sitefoot{border-top-color:#c4d2e6}
[data-theme="light"] .footstats b{color:#12203a}
[data-theme="light"] .jamsi-credit{color:#1f6b53}

/* Online-Liste */
[data-theme="light"] .online-user.role-admin{color:#a11624}
[data-theme="light"] .online-user.role-moderator{color:#8a5a00}
[data-theme="light"] .badge{background:#fbdcdd;color:#a11624}

/* ----------------------------------------------------- Captcha (Registrierung) */
.caprow{display:flex;align-items:center;gap:10px;margin:2px 0 6px;flex-wrap:wrap}
.caprow img{border:1px solid var(--line2);border-radius:8px;display:block;background:#fff}
.captxt{max-width:260px}

/* ============================================================ Bewertungen
   Like/Dislike-Leiste unter jedem Beitrag. Die Knöpfe sind einzelne
   Mini-Formulare (Fallback ohne JS), deshalb der Reset auf .voteform. */
.postfoot{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.votebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.voteform{display:inline;margin:0}
.votebtn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;line-height:1;
  padding:5px 11px;border-radius:999px;border:1px solid var(--line2);background:#14233f;color:#b9c8e0;
  cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .08s}
.votebtn:hover{background:#1c3052;color:#fff;border-color:#3a558a}
.votebtn:active{transform:scale(.96)}
.votebtn .votecount{font-weight:800;font-variant-numeric:tabular-nums;min-width:1ch;text-align:right}
.votebtn.up.on{background:#123a26;border-color:#2f7d54;color:#8ff0bb}
.votebtn.down.on{background:#3a1418;border-color:#8a3038;color:#ffa79c}
.votebtn.disabled{cursor:default;opacity:.55}
.votebtn.disabled:hover{background:#14233f;color:#b9c8e0;border-color:var(--line2)}
.votescore{font:800 12px ui-monospace,monospace;letter-spacing:.06em;color:var(--muted);
  padding:3px 8px;border-radius:7px;background:#101c33}
.votescore.pos{color:var(--green)}
.votescore.neg{color:#ff8f7a}
.votemsg{font-size:12px;color:#ffb0a8;background:#2d0a0d;border:1px solid #6b2a31;
  border-radius:7px;padding:3px 9px}

/* ================================================================== Karma */
.karmachip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;
  background:#1c3052;color:#9fb4d8;white-space:nowrap}
.karmachip b{font-variant-numeric:tabular-nums;font-size:11.5px}
.karmachip.kr0{background:#2d0a0d;color:#ff8f7a}
.karmachip.kr1{background:#1c3052;color:#9fb4d8}
.karmachip.kr2{background:#123a4a;color:#8fd8f0}
.karmachip.kr3{background:#123a26;color:#8ff0bb}
.karmachip.kr4{background:#3d3200;color:#ffdf8a}
.karmachip.kr5{background:#4a2a00;color:#ffc169}
.karmachip.kr6{background:#5a0e16;color:#ffb0a8;box-shadow:0 0 0 1px #8a3038 inset}
.ukarma{margin-top:6px}

.karmabox{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);text-align:center}
.karmabig{display:flex;flex-direction:column;gap:2px;align-items:center}
.karmabig .karmaval{font:900 30px/1 ui-monospace,monospace;color:var(--amber);font-variant-numeric:tabular-nums}
.karmabig.kr0 .karmaval{color:#ff8f7a}
.karmabig.kr6 .karmaval{text-shadow:0 0 14px #ffb00066}
.karmabig .karmalbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.karmarank{margin-top:8px;display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;border-radius:999px;padding:3px 12px;background:#1c3052;color:#9fb4d8}
.karmarank.kr0{background:#2d0a0d;color:#ff8f7a}
.karmarank.kr2{background:#123a4a;color:#8fd8f0}
.karmarank.kr3{background:#123a26;color:#8ff0bb}
.karmarank.kr4{background:#3d3200;color:#ffdf8a}
.karmarank.kr5{background:#4a2a00;color:#ffc169}
.karmarank.kr6{background:#5a0e16;color:#ffb0a8}
.karmabreak{display:flex;justify-content:center;gap:12px;margin-top:10px;font-variant-numeric:tabular-nums}
.karmaformula{margin-top:8px;line-height:1.4}

/* Sortierbare Spaltenköpfe (Mitgliederliste) */
.sortlink{color:inherit;text-decoration:none;border-bottom:1px dotted transparent}
.sortlink:hover{border-bottom-color:currentColor;text-decoration:none}
.sortlink.on{color:var(--amber)}
.sortlink.on::after{content:" ▾"}

/* Gruppenüberschrift im Admin-Formular */
.setgrp{margin:22px 0 10px;padding-top:16px;border-top:1px solid var(--line);
  font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--amber)}

/* ------------------------------------------------------------ helles Schema */
[data-theme="light"] .votebtn{background:#e4ecf7;border-color:#b9cae1;color:#33476b}
[data-theme="light"] .votebtn:hover{background:#d6e3f5;color:#101c33;border-color:#8fb0d8}
[data-theme="light"] .votebtn.up.on{background:#d9f2e3;border-color:#5cb383;color:#14602f}
[data-theme="light"] .votebtn.down.on{background:#fdeaea;border-color:#ef9aa2;color:#a11624}
[data-theme="light"] .votebtn.disabled:hover{background:#e4ecf7;color:#33476b;border-color:#b9cae1}
[data-theme="light"] .votescore{background:#e7eef9;color:#5a6a84}
[data-theme="light"] .votescore.pos{color:#178a52}
[data-theme="light"] .votescore.neg{color:#c01f2c}
[data-theme="light"] .votemsg{background:#fdeaea;border-color:#ef9aa2;color:#a11624}
[data-theme="light"] .karmachip,[data-theme="light"] .karmarank{background:#dcebfc;color:#0a63b0}
[data-theme="light"] .karmachip.kr0,[data-theme="light"] .karmarank.kr0{background:#fbdcdd;color:#a11624}
[data-theme="light"] .karmachip.kr2,[data-theme="light"] .karmarank.kr2{background:#d5eef8;color:#0a6f9e}
[data-theme="light"] .karmachip.kr3,[data-theme="light"] .karmarank.kr3{background:#dcf3e6;color:#178a52}
[data-theme="light"] .karmachip.kr4,[data-theme="light"] .karmarank.kr4{background:#fbeecd;color:#8a5a00}
[data-theme="light"] .karmachip.kr5,[data-theme="light"] .karmarank.kr5{background:#fae2c4;color:#94521a}
[data-theme="light"] .karmachip.kr6,[data-theme="light"] .karmarank.kr6{background:#fbdcdd;color:#8f1620;box-shadow:none}
[data-theme="light"] .karmabig .karmaval{color:#a06a00}
[data-theme="light"] .karmabig.kr0 .karmaval{color:#c01f2c}

/* ------------------------------------------- Wer hat bewertet („Paulemann und 2 weitere“)
   Bewusst deutlich kleiner als der Beitragstext (15px) — eine Nebeninfo,
   die nicht mit dem Inhalt konkurrieren soll.
   Aufklappbar über <details>/<summary>, funktioniert ohne JavaScript. */
.voters{margin-top:6px;display:flex;flex-direction:column;gap:2px}
.voterline{font-size:10.5px;line-height:1.5;color:var(--muted)}
.voterline > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;
  padding:1px 7px 1px 3px;border-radius:999px;transition:background .12s,color .12s}
.voterline > summary::-webkit-details-marker{display:none}
.voterline > summary:hover{background:#14233f;color:var(--text)}
.voterline > summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.voterline > summary .votersum{border-bottom:1px dotted currentColor}
.voterline[open] > summary .votersum{border-bottom-style:solid}
.voterline > summary::after{content:"▾";font-size:8px;opacity:.7;transition:transform .12s}
.voterline[open] > summary::after{transform:rotate(180deg)}
.voterico{font-size:10px;line-height:1}
.voterlabel{display:inline-flex;align-items:center;gap:5px;padding:1px 7px 1px 3px}
.voternames{margin:2px 0 2px;padding:5px 8px;border-left:2px solid var(--line2);
  background:#101c33;border-radius:0 7px 7px 0;line-height:1.75}
.voterlisthead{display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.09em;
  font-size:8.5px;font-weight:700}
/* Gilt für BEIDE Stellen: den einzelnen Namen im Zusammenzug und die
   Namen in der aufgeklappten Liste. Sonst zieht die globale .uname-Regel
   (15px/800) und der Einzelfall wird riesig. */
.voterline .uname{font-size:10.5px;font-weight:600}
.votersep{margin:0 5px;opacity:.45}

[data-theme="light"] .voterline > summary:hover{background:#e4ecf7;color:#101c33}
[data-theme="light"] .voternames{background:#eef3fa;border-left-color:#b9cae1}

/* ================================================================ ADMIN
   Seitenleiste links, Inhalt rechts. Ab 900px Breite klappt die Leiste
   zu einem Menüknopf zusammen. */
.adminpage .pagebody{max-width:1400px}
.adminshell{display:grid;grid-template-columns:228px minmax(0,1fr);gap:20px;align-items:start}

.adminside{position:sticky;top:14px;display:flex;flex-direction:column;gap:10px}
.adminside-toggle{display:none;align-items:center;gap:8px;background:var(--panel2);color:#cfe0f5;
  border:1px solid var(--line);border-radius:10px;padding:9px 13px;font:600 14px/1 inherit;cursor:pointer;width:100%}
.adminnav{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--panel2);
  border:1px solid var(--line);border-radius:12px}
.adminnav-grp{padding:11px 10px 4px;font-size:10px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:#6c7f9e}
.adminnav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;
  color:#b9c8e0;font-weight:600;font-size:13.5px;line-height:1.2}
.adminnav a:hover{background:var(--hl);text-decoration:none;color:#fff}
.adminnav a.on{background:var(--amber);color:#241a00}
.adminnav-ic{width:17px;text-align:center;font-size:13px;flex:none}
.adminnav-tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adminnav-badge{flex:none;background:#c8434c;color:#fff;font-size:10.5px;font-weight:800;
  border-radius:999px;padding:1px 6px;min-width:17px;text-align:center}
.adminnav a.on .adminnav-badge{background:#241a00;color:var(--amber)}
.adminside-back{font-size:12px;color:var(--muted);padding:0 4px}

.adminmain{min-width:0}
.adminhd{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.adminhd h1{margin:0;font-size:22px;letter-spacing:.2px}
.adminhd-sub{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.adminhd-act{display:flex;gap:6px;flex-wrap:wrap}

.admincard{padding:0;overflow:hidden}
.admincard-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:13px 18px;border-bottom:1px solid var(--line);background:#0e1a31}
.admincard-hd h2{margin:0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#9db1cf}
.admincard-hd h2:empty{display:none}
.admincard > *:not(.admincard-hd){padding:16px 18px}
.admincard > .tablewrap,.admincard.nopad > form{padding:0}
.admincard.nopad .tablewrap{padding:0}
.admincard.is-editing{border-color:var(--amber)}
.adminempty{margin:0;padding:18px;text-align:center;color:var(--muted);font-size:13px}
.admincols{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}
.admincols > .card{margin:0}

/* Handlungsbedarf */
.todolist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.todo{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;
  border:1px solid var(--line2);background:var(--panel);font-size:13.5px}
.todo.warn{border-color:#6a4a1e;background:#241d0e}
.todo.ok{border-color:#28503a;background:#12251a;color:#9fd8b4}
.todo-ic{flex:none;font-size:15px}
.todo-tx{flex:1;min-width:0}

/* Kennzahlen */
.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin-bottom:16px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 14px;
  display:flex;flex-direction:column;gap:1px}
a.stat:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}
a.stat{transition:border-color .12s,transform .12s}
.stat-ic{font-size:15px;opacity:.75}
.stat-v{font-size:21px;font-weight:800;color:#fff;line-height:1.2}
.stat-l{font-size:11.5px;color:var(--muted)}

/* Schnellzugriff */
.quickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.quickact{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:10px;
  background:var(--panel);border:1px solid var(--line2);color:#cfe0f5;font-weight:600;font-size:13.5px}
.quickact:hover{border-color:var(--accent);background:var(--hl);text-decoration:none}

/* -------------------------------------------------------- Board-Baum */
.admintree{list-style:none;margin:0;padding:0}
.treerow{display:grid;grid-template-columns:22px 22px minmax(0,1fr) auto auto auto auto;
  align-items:center;gap:9px;padding:9px 18px;border-bottom:1px solid #17253f}
.treerow:last-child{border-bottom:0}
.treerow.is-board{padding-left:46px;background:linear-gradient(90deg,#0e1a3100,#0e1a3155)}
.treerow.is-cat{background:#0d1730;border-top:1px solid var(--line)}
.treerow.is-cat .treename{font-weight:800;color:#fff}
.treerow.is-ghost{opacity:.72}
.treerow.editing{outline:2px solid var(--amber);outline-offset:-2px}
.treerow.dragging{opacity:.45}
.treerow.dropbefore{box-shadow:inset 0 2px 0 var(--accent)}
.treerow.dropafter{box-shadow:inset 0 -2px 0 var(--accent)}

.treegrip{cursor:grab;color:#5d708f;font-size:14px;text-align:center;user-select:none}
.treegrip.off{cursor:default;opacity:.3}
.treeic{text-align:center;font-size:12px;color:#7f93b5}
.treename{min-width:0;display:flex;flex-direction:column;gap:1px;font-weight:600;color:#dce8f8;font-size:14px}
.treedesc{font-weight:400;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.treemeta,.treeacc,.treeord,.treeact{display:flex;align-items:center;gap:5px;white-space:nowrap}
.ordbtn{background:var(--panel2);border:1px solid var(--line2);color:#b9c8e0;border-radius:6px;
  width:22px;height:22px;line-height:1;font-size:11px;cursor:pointer;padding:0}
.ordbtn:hover{background:var(--hl);color:#fff}
.ordbtn.off{opacity:.25;cursor:default;display:inline-flex;align-items:center;justify-content:center}
.reorderbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:11px 18px;
  border-top:1px solid var(--line);background:#241d0e}

/* --------------------------------------------------- Filter & Formular */
.filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:0 0 14px;
  padding:13px 15px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}
.fb-field{display:flex;flex-direction:column;gap:3px;min-width:130px}
.fb-field .fld{margin:0;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#7f93b5}
.fb-field .txt{margin:0}
.fb-grow{flex:1;min-width:190px}
.fb-btns{flex-direction:row;align-items:center;gap:6px}
.adminform .fld{display:block;margin:12px 0 4px;font-size:12px;font-weight:600;color:#a9bcd8}
.adminform .grid2 .fld:first-child{margin-top:0}
.adminform .hint{display:block;margin-top:4px;font-size:11.5px;color:var(--muted)}
.adminform .chk{display:inline-flex;align-items:center;gap:6px;margin:2px 14px 2px 0;font-size:13px}
.adminform .chkrow{display:flex;flex-wrap:wrap;gap:2px 4px}
.accfield{border:1px solid var(--line2);border-radius:10px;padding:10px 13px;margin:14px 0 0}
.accfield legend{padding:0 6px;font-size:12px;font-weight:700;color:#a9bcd8}
.accfield .hint{margin:0 0 7px}

/* ------------------------------------------------------ Sammelaktionen */
.admintable .c-chk{width:34px;text-align:center}
.admintable .cell-title{min-width:220px}
.admintable .cell-sub{display:block;margin-top:2px}
.admintable .cell-title > a{font-weight:600}
.admintable .tflag{margin-right:4px;font-size:11px}
.admintable .ta-r{text-align:right}
.admintable .nowrap{white-space:nowrap}
.bulkbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:11px 18px;border-top:1px solid var(--line);background:#0e1a31;position:sticky;bottom:0}
.bulkbar.armed{background:#241d0e;border-top-color:var(--amber)}
.bulkcount{font-size:12.5px;color:var(--muted)}
.bulkcount b{color:#fff;font-size:14px}
.bulkacts{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.bulkacts .txt{width:auto;margin:0;padding:5px 8px;font-size:12.5px}
.bulksep{width:1px;height:20px;background:var(--line2);margin:0 3px}
.bulkbar:not(.armed) .bulkacts{opacity:.45;pointer-events:none}

@media (max-width:900px){
  .adminshell{grid-template-columns:1fr}
  .adminside{position:static}
  .adminside-toggle{display:flex}
  .adminnav{display:none}
  .adminnav.open{display:flex}
  .treerow{grid-template-columns:20px 20px minmax(0,1fr);row-gap:6px}
  .treerow.is-board{padding-left:28px}
  .treemeta,.treeacc,.treeord,.treeact{grid-column:1/-1;padding-left:29px;flex-wrap:wrap}
}

[data-theme="light"] .adminnav{background:#fff}
[data-theme="light"] .adminnav a{color:#40536f}
[data-theme="light"] .adminnav a:hover{color:#0d1730}
[data-theme="light"] .admincard-hd{background:#eef3fa}
[data-theme="light"] .admincard-hd h2{color:#4a5f80}
[data-theme="light"] .treerow{border-bottom-color:#dde6f1}
[data-theme="light"] .treerow.is-cat{background:#e3ebf7}
[data-theme="light"] .treerow.is-cat .treename{color:#12203a}
[data-theme="light"] .treerow.is-board{background:none}
[data-theme="light"] .treename{color:#22334f}
[data-theme="light"] .stat-v{color:#12203a}
[data-theme="light"] .quickact{color:#22334f}
[data-theme="light"] .todo.warn{background:#fdf5e3;border-color:#e0c489}
[data-theme="light"] .todo.ok{background:#eaf7ef;border-color:#a9d7bb;color:#276c44}
[data-theme="light"] .bulkbar{background:#eef3fa}
[data-theme="light"] .bulkbar.armed{background:#fdf5e3}
[data-theme="light"] .reorderbar{background:#fdf5e3}

/* ================================== [basic] / [assembler]: Code + Emulator */
.bb-runnable{margin:12px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:#0a101c}
.bb-run-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:7px 12px;background:#101c33;border-bottom:1px solid var(--line)}
.bb-run-lang{font:700 10.5px/1 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;
  color:#8fa3c4}
.bb-run-tools{display:flex;align-items:center;gap:6px}
.bb-runnable > .bb-code{margin:0;border:0;border-radius:0;background:transparent;max-height:520px}
.bb-run-out{padding:10px 12px;background:#070c16;border-top:1px solid var(--line)}
.bb-run-frame{display:block;width:768px;max-width:100%;aspect-ratio:768/544;border:2px solid #22314d;
  border-radius:6px;margin:0 auto;background:#000}
.bb-run-status{margin:0;padding:7px 12px;font:12px/1.5 ui-monospace,monospace;color:#7f93b8;
  border-top:1px solid var(--line);min-height:1.2em}
.bb-run-status:empty{display:none}

/* Farben der Syntaxhervorhebung (Kürzel halten das HTML klein) */
.bb-hl code{color:#c8d6ea}
.bb-hl .hc{color:#6b7f9e;font-style:italic}   /* Kommentar */
.bb-hl .hs{color:#a8e08f}                      /* Zeichenkette */
.bb-hl .hn{color:#ffc06a}                      /* Zahl */
.bb-hl .hk{color:#5fd0ff;font-weight:600}      /* Befehl / Schlüsselwort */
.bb-hl .hd{color:#d99bff;font-weight:600}      /* Assembler-Anweisung */
.bb-hl .hr{color:#ff9ec0}                      /* Register */
.bb-hl .hl{color:#ffd75e;font-weight:600}      /* Sprungmarke */
.bb-hl .hz{color:#7f93b8}                      /* BASIC-Zeilennummer */
.bb-hl .ho{color:#93a7c4}                      /* Operator */

[data-theme="light"] .bb-runnable{background:#f7fafd}
[data-theme="light"] .bb-run-hd{background:#eef3fa}
[data-theme="light"] .bb-run-out{background:#e9eff7}
[data-theme="light"] .bb-hl code{color:#1d2b40}
[data-theme="light"] .bb-hl .hc{color:#6d7d92}
[data-theme="light"] .bb-hl .hs{color:#1f7a3d}
[data-theme="light"] .bb-hl .hn{color:#a15c00}
[data-theme="light"] .bb-hl .hk{color:#0b63b8}
[data-theme="light"] .bb-hl .hd{color:#7b32b5}
[data-theme="light"] .bb-hl .hr{color:#b3306b}
[data-theme="light"] .bb-hl .hl{color:#8a6100}
[data-theme="light"] .bb-hl .hz{color:#6d7d92}
[data-theme="light"] .bb-hl .ho{color:#42566f}

@media(max-width:840px){.bb-run-frame{width:100%}}
/* Startknopf unter dem eingebetteten Emulator */
.bb-run-start{display:block;margin:9px auto 0}

/* ------------------------------------------------- Wer ist online (Seite) */
.online-more{color:inherit;display:inline-flex;align-items:center;gap:6px}
.online-more:hover{text-decoration:none;color:var(--accent)}
.online-arrow{font-size:.85em;opacity:.6;transition:transform .12s}
.online-more:hover .online-arrow{transform:translateX(2px);opacity:1}
.onlinetable td{vertical-align:top}
.onlinetable .online-place{font-size:13px;line-height:1.5}
.onlinetable .online-user{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}

/* --------------------------------- Benutzernamen in Meta-Zeilen angleichen
   user_link() liefert .uname (global 15px/800). In den kleinen Meta-Zeilen
   wäre der Name größer als die eigentliche Überschrift daneben. Gleiche
   Korrektur wie bei .lastmeta auf der Startseite. */
.trmeta .uname{font-size:12.5px;font-weight:700}
.trlast .uname{font-size:12.5px;font-weight:700}
.sr-meta .uname{font-size:12.5px;font-weight:700}
.topicmeta .uname{font-size:13px;font-weight:700}

/* ---------------------------------------- Benachrichtigungen & Abo-Liste */
.tabbar{display:flex;gap:4px;margin:0 0 14px;padding:5px;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px;width:max-content;max-width:100%}
.tabbar a{padding:6px 14px;border-radius:7px;color:#b9c8e0;font-weight:600;font-size:13.5px}
.tabbar a.on{background:var(--amber);color:#241a00}
.tabbar a:hover{background:var(--hl);text-decoration:none}
.notilist{list-style:none;margin:0;padding:0}
.notirow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #17253f;font-size:13.5px}
.notirow:last-child{border-bottom:0}
.notirow.unread{background:#14233f33;border-left:3px solid var(--accent);padding-left:9px}
.notiic{flex:none;width:20px;text-align:center;opacity:.8}
.notitx{flex:1;min-width:0}
.notiwhen{flex:none}

/* ------------------------------------------------- Bearbeitungsverlauf */
.revlink{margin-left:8px;font-size:11.5px}
.revstep{border:1px solid var(--line2);border-radius:9px;margin:0 0 9px;background:var(--panel)}
.revstep > summary{cursor:pointer;padding:9px 12px;font-size:13px;list-style:none}
.revstep > summary::-webkit-details-marker{display:none}
.revstep > summary::before{content:"▸";margin-right:7px;opacity:.6;display:inline-block}
.revstep[open] > summary::before{transform:rotate(90deg)}
.revno{font-weight:800;color:#8fa3c4;margin-right:4px}
.diffbox{border-top:1px solid var(--line2);padding:8px 0;overflow:auto;max-height:460px}
.diffline{display:flex;font:12px/1.55 ui-monospace,monospace;white-space:pre-wrap;word-break:break-word}
.diffsign{flex:none;width:22px;text-align:center;opacity:.7;user-select:none}
.difftext{flex:1;min-width:0;padding-right:10px}
.diffline.add{background:#12331f;color:#a8e08f}
.diffline.del{background:#331416;color:#ff9a8f}
.diffline.ctx{color:#8fa3c4}

/* ------------------------------------------------------------ Entwürfe */
.draftbar{margin:6px 0 0;font-size:12px;color:var(--muted);min-height:1.2em}
.draftoffer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;
  background:#241d0e;border:1px solid #6a4a1e;border-radius:8px}
.draftok{color:#9fd8b4}

/* ------------------------------------------------------ Disketteninhalt */
.dskout{margin:8px 0 4px;padding:9px 11px;background:#0a101c;border:1px solid var(--line2);
  border-radius:8px;font-size:12.5px;flex-basis:100%}
.dskhead{font:12px ui-monospace,monospace;color:#9db1cf;margin-bottom:6px}
.dsktable{width:100%;border-collapse:collapse;font:12px ui-monospace,monospace}
.dsktable td{padding:2px 8px 2px 0;border-bottom:1px solid #17253f}
.dskname{color:#dce8f8;white-space:pre}
.dsksize{text-align:right;color:#ffc06a;width:52px}
.dsktype{width:90px}
.dskgo{text-align:right;width:80px}
.dskempty{color:var(--muted)}
.dskemu{margin-top:9px}
.dskstatus{margin:6px 0 0;font:12px ui-monospace,monospace;color:#7f93b8}
.dskstatus:empty{display:none}
.mention{font-weight:600}

[data-theme="light"] .tabbar a{color:#40536f}
[data-theme="light"] .notirow.unread{background:#eef3fa}
[data-theme="light"] .diffline.add{background:#e6f6e9;color:#1f7a3d}
[data-theme="light"] .diffline.del{background:#fdeaea;color:#a32b2b}
[data-theme="light"] .diffline.ctx{color:#4a5f80}
[data-theme="light"] .dskout{background:#eef3fa}
[data-theme="light"] .dskname{color:#22334f}
[data-theme="light"] .draftoffer{background:#fdf5e3;border-color:#e0c489}
.quota-over{color:#ff9a8f;font-weight:700}
.forum-attention{margin:0 0 24px;padding:22px 26px;border:3px solid #ffb341;border-left-width:9px;border-radius:12px;background:#321c0d;color:#fff3dc;box-shadow:0 6px 24px #0003;overflow-wrap:anywhere}
.forum-attention .forum-attention-title{margin:0 0 12px;color:#ffd17b;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:900;line-height:1.25}
.forum-attention-body{white-space:pre-wrap;font-size:1.15rem;font-weight:650;line-height:1.6}
[data-theme="light"] .forum-attention{background:#fff2d8;color:#492009;border-color:#b34d00;box-shadow:0 4px 16px #49200915}
[data-theme="light"] .forum-attention .forum-attention-title{color:#8b3400}
@media(max-width:600px){.forum-attention{padding:16px;margin-bottom:18px}.forum-attention-body{font-size:1rem}}
[data-theme="light"] .quota-over{color:#a32b2b}
