
:root{
  --bg:#0f1318; --panel:#161c24; --panel2:#1d2530; --line:#26303c;
  --text:#e6ebf2; --muted:#93a0b2; --accent:#1F4873;--accent-t:#6aa6e0; --accent-ink:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Bahnschrift","Segoe UI",system-ui,sans-serif;font-size:15px;min-width:320px}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1272px;margin:0 auto;padding:0 16px}

/* Kopf */
.top{border-bottom:1px solid var(--line);background:#0b0f14}
.top .wrap{display:flex;align-items:center;gap:36px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:.3px}
.logo i{width:30px;height:30px;border-radius:7px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);font-style:normal;font-size:17px;font-weight:800}
.logo span b{color:var(--accent-t);font-weight:700}
.search{flex:1;max-width:460px;height:42px;border-radius:21px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;padding:0 18px;color:var(--muted);justify-content:space-between}
.top .right{margin-left:auto;display:flex;align-items:center;gap:12px}
.btn{height:40px;padding:0 18px;border-radius:20px;display:inline-flex;align-items:center;font-weight:600}
.btn.ghost{border:1px solid var(--line);color:var(--text)}
.btn.main{background:var(--accent);color:var(--accent-ink)}
.nav{background:#0b0f14;border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;gap:30px;height:50px;align-items:center;font-weight:600;color:var(--muted)}
.nav a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent-t);height:50px;display:flex;align-items:center}
.nav .sp{margin-left:auto;font-weight:500;font-size:14px}


.filters{background:var(--bg);border-bottom:1px solid var(--line)}
.filters .wrap{display:flex;gap:10px;align-items:center;height:62px}
.chip{height:34px;padding:0 15px;border-radius:17px;display:inline-flex;align-items:center;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:14px}
.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-t)}
.sel{height:34px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;border:1px solid var(--line);color:var(--text);font-size:14px;background:var(--panel)}
.chip~.sel:first-of-type{margin-left:auto}

/* Highlights */
.hero{display:grid;grid-template-columns:1.55fr 1fr 1fr;grid-template-rows:200px 200px;gap:14px;margin-top:26px}
.tile{position:relative;border-radius:12px;overflow:hidden;background:var(--panel2)}
.tile.big{grid-row:span 2}
.tile .sc{position:absolute;inset:0}
.tile::after{content:"";position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(to top,rgba(10,9,6,.86),rgba(10,9,6,0))}
.tile .info{position:absolute;left:18px;right:18px;bottom:14px;z-index:2}
.tile .t{font-weight:700;font-size:19px;margin-bottom:6px}
.tile.big .t{font-size:28px}
.meta{display:flex;gap:14px;align-items:center;font-size:13.5px;color:#c9d3df}
.tag{position:absolute;top:14px;left:14px;z-index:2;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12.5px;padding:4px 10px;border-radius:6px;letter-spacing:.3px}
.ver{position:absolute;top:14px;right:14px;z-index:2;background:rgba(11,15,20,.78);border:1px solid rgba(255,255,255,.16);font-weight:700;font-size:12px;padding:3px 8px;border-radius:6px}
.star{color:var(--accent-t);letter-spacing:1px}

/* Bereiche */
h2{font-size:26px;font-weight:700;margin:42px 0 16px;display:flex;align-items:center;gap:12px}
h2::before{content:"";width:5px;height:26px;background:var(--accent);border-radius:3px}
h2 small{margin-left:auto;font-size:14px;font-weight:600;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.card .th{position:relative;height:150px}
.card .th .sc{position:absolute;inset:0}
.card .b{padding:13px 15px 14px}
.card .n{font-weight:700;font-size:16.5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .a{font-size:13px;color:var(--muted);margin-bottom:10px}
.card .m{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.card .m b{color:var(--text);font-weight:600}
.dlbtn{position:absolute;right:10px;bottom:10px;z-index:3;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:7px}

/* Kategorien */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px}
.cat .c{font-weight:700;font-size:16px}
.cat .z{color:var(--muted);font-size:13px;margin-top:4px}
.cat .bar{height:3px;border-radius:2px;background:var(--panel2);margin-top:12px;overflow:hidden}
.cat .bar i{display:block;height:100%;background:var(--accent)}

/* Zwei Spalten unten */
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}
.list{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .no{width:22px;color:var(--muted);font-weight:700}
.row .th{width:84px;height:52px;border-radius:7px;position:relative;overflow:hidden;flex:0 0 84px}
.row .th .sc{position:absolute;inset:0}
.row .tx{flex:1;min-width:0}
.row .tx b{display:block;font-size:15px}
.row .tx span{font-size:12.5px;color:var(--muted)}
.row .dl{font-size:13px;color:var(--muted);text-align:right}
.row .dl b{color:var(--text);display:block;font-size:15px}
.note{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.note h3{font-size:18px;margin-bottom:8px}
.note p{color:var(--muted);line-height:1.5;margin-bottom:14px}
.step{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}
.step i{flex:0 0 26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-style:normal;font-weight:800;display:grid;place-items:center;font-size:13px}
.step span{color:var(--text);line-height:1.4}

footer{margin-top:48px;border-top:1px solid var(--line);background:#0b0f14;padding:26px 0;color:var(--muted);font-size:13.5px}
footer .wrap{display:flex;gap:26px;align-items:center}
footer .sp{margin-left:auto}

.bar{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}
.bar .cnt{font-size:17px;font-weight:700}.bar .cnt span{color:var(--muted);font-weight:500}
.views{display:flex;gap:8px}
.vb{width:38px;height:36px;border-radius:6px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.vb.on{background:var(--accent);border-color:var(--accent-t);color:var(--accent-ink)}
.vb svg{width:18px;height:18px;fill:currentColor}
.chips2{display:flex;gap:8px;margin-bottom:16px;align-items:center}
.chip2{height:30px;padding:0 12px;border-radius:4px;display:inline-flex;align-items:center;gap:8px;background:rgba(106,166,224,.14);border:1px solid var(--accent-t);color:var(--accent-t);font-weight:600;font-size:13.5px}
.chip2.rm{background:none;border:1px dashed #3a4655;color:var(--muted)}
.layout{display:grid;grid-template-columns:230px 1fr;gap:22px}
.side{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px;align-self:start}
.side h4{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.side .g{margin-bottom:18px}
.side label{display:flex;justify-content:space-between;padding:6px 0;font-size:14.5px}
.side label span{color:var(--muted);font-size:13px}
.side label span.t{color:var(--text);font-size:14.5px}
.side .cb{display:inline-block;width:15px;height:15px;border:1px solid #3a4655;border-radius:3px;margin-right:9px;vertical-align:-3px}
.side .cb.on{background:var(--accent);border-color:var(--accent-t)}
.side .rng{height:4px;background:var(--panel2);border-radius:2px;margin:12px 0 6px;position:relative}
.side .rng i{position:absolute;left:0;top:0;bottom:0;width:55%;background:var(--accent);border-radius:2px}
.side .rl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}

.list2{display:grid;gap:14px}
.item{display:grid;grid-template-columns:230px 1fr;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--cat,var(--accent-t));border-radius:6px;overflow:hidden}
.item .im{position:relative;min-height:230px}
.item .im .sc{position:absolute;inset:0}
.au{position:absolute;left:0;bottom:0;right:0;z-index:3;background:rgba(11,15,20,.84);padding:7px 12px;font-size:12.5px;font-weight:600;display:flex;justify-content:space-between}
.au span{color:var(--muted);font-weight:500}
.item .co{display:flex;flex-direction:column;min-width:0;padding:16px 20px 16px}
.hd{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}
.tt{font-size:22px;font-weight:700}
.vt{font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 7px}
.ct{margin-left:auto;font-size:12.5px;color:var(--cat,var(--accent-t));font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.ds{color:#b4bfcc;line-height:1.5;font-size:14px;margin:6px 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spec{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:4px;background:#11161d}
.spec div{padding:8px 12px;border-right:1px solid var(--line)}
.spec div:last-child{border-right:0}
.spec small{display:block;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.spec b{font-size:14px;font-weight:600}
.ok{color:#8cc66a}.warn{color:#e0b24a}
.ft{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px}
.ft .st{font-size:13px;color:var(--muted);margin-right:auto}
.ft .st b{color:var(--text);font-weight:600}
.dlb{background:var(--accent);color:var(--accent-ink);font-weight:700;padding:9px 20px;border-radius:5px;font-size:14px}
.gh{border:1px solid #3a4655;color:var(--text);font-weight:600;padding:8px 14px;border-radius:5px;font-size:13.5px}

.list2.grid{grid-template-columns:repeat(3,1fr)}
.list2.grid .item,.list2.split .item{grid-template-columns:1fr;border-left-width:1px;border-top:4px solid var(--cat,var(--accent-t))}
.list2.split{grid-template-columns:repeat(2,1fr)}
.list2.grid .item .im,.list2.split .item .im{min-height:0;height:160px}
.list2.grid .spec,.list2.split .spec{grid-template-columns:repeat(2,1fr)}
.list2.grid .spec div:nth-child(n+3),.list2.split .spec div:nth-child(n+3){border-top:1px solid var(--line)}
.list2.grid .spec div:nth-child(2n),.list2.split .spec div:nth-child(2n){border-right:0}
.list2.grid .tt,.list2.split .tt{font-size:19px}
.list2.grid .ft .gh,.list2.split .ft .gh{display:none}

.item{grid-template-columns:230px 1fr}
.item .im{min-height:0;height:100%}
.item .co{padding:14px 20px}
.meta2{display:flex;flex-wrap:wrap;gap:6px 0;font-size:13px;color:var(--muted);margin:2px 0 8px}
.meta2 span+span::before{content:"\00b7";margin:0 8px;color:#4a5666}
.meta2 .ok{color:#8cc66a}.meta2 .warn{color:#e0b24a}
.item .ds{margin:0 0 4px}
.ft{padding-top:8px}
.ft .st{display:none}
.ft{justify-content:flex-end}
.dl2{margin-right:auto;font-size:13.5px;color:var(--muted)}.dl2 b{color:var(--text);font-weight:600}
.crumb{font-size:13.5px;color:var(--muted);margin:22px 0 14px}.crumb b{color:var(--text);font-weight:600}
.dgrid{display:grid;grid-template-columns:1fr 340px;gap:24px}
.shot{position:relative;height:430px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.shot .sc{position:absolute;inset:0}
.thumbs{display:flex;gap:10px;margin-top:10px}
.thumbs div{position:relative;width:118px;height:70px;border-radius:5px;overflow:hidden;border:1px solid var(--line)}
.thumbs div.on{border-color:var(--accent-t)}
.thumbs .sc{position:absolute;inset:0}
.box{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px}
.box h1{font-size:26px;margin:0 0 4px}
.box .by{color:var(--muted);font-size:14px;margin-bottom:14px}.box .by b{color:var(--text)}
.box .btns{display:grid;gap:9px;margin:14px 0 16px}
.box .btns .dlb{text-align:center;padding:12px;font-size:15.5px}
.box .btns .gh{text-align:center;padding:10px}
.spec2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;background:#11161d}
.spec2 div{padding:9px 12px;border-bottom:1px solid var(--line)}
.spec2 div:nth-child(odd){border-right:1px solid var(--line)}
.spec2 div:last-child,.spec2 div:nth-last-child(2):nth-child(odd):not(.wide){border-bottom:0}
.spec2 small{display:block;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.spec2 b{font-size:14px;font-weight:600}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:26px 0 18px}
.tabs span{padding:0 0 12px;font-weight:600;color:var(--muted)}
.tabs span.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent-t)}
.txt p{color:#bcc7d4;line-height:1.65;margin-bottom:12px;max-width:760px}
.txt h3{margin:18px 0 8px;font-size:17px}
.txt ul{margin:0 0 12px 20px;color:#bcc7d4;line-height:1.7}
.chg{border-left:2px solid var(--accent-t);padding:2px 0 2px 14px;margin-bottom:12px;max-width:760px}
.chg b{display:block;margin-bottom:2px}.chg span{color:var(--muted);font-size:13px}

.dlb,.btn.main{border:1px solid #3a76b4}
.logo i{border:1px solid #3a76b4}
.vb.on{border-color:#3a76b4}
.nav .sp{color:var(--muted)}


/* ---- Seitenrahmen ---- */
html{-webkit-text-size-adjust:100%}
body{line-height:1.45}
a:hover{text-decoration:none}
.muted{color:var(--muted)}
button{font:inherit;color:inherit}
.topbar{flex-wrap:nowrap}
.top .wrap.topbar{gap:24px}
.search{display:flex;position:relative}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--text);font:inherit;outline:none}
.search input::placeholder{color:var(--muted)}
.search button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px}
.search:focus-within{border-color:var(--accent-t)}
.logo{white-space:nowrap}
.navbar{overflow-x:auto;scrollbar-width:none}
.navbar::-webkit-scrollbar{display:none}
.navbar a{white-space:nowrap}
.btn{cursor:pointer;border:1px solid transparent;font-size:14.5px}
.btn.ghost{background:none;border-color:#3a4655}
.btn.danger{background:#7a2b2b;border-color:#a04545;color:#fff}
.danger-t{color:#f0a0a0}
.usermenu{position:relative}
.usermenu summary{list-style:none;cursor:pointer;height:40px;padding:0 16px;border:1px solid #3a4655;border-radius:20px;display:inline-flex;align-items:center;font-weight:600}
.usermenu summary::-webkit-details-marker{display:none}
.usermenu>div{position:absolute;right:0;top:46px;z-index:20;min-width:190px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.usermenu a,.usermenu button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:5px;background:none;border:0;cursor:pointer;font-size:14.5px}
.usermenu a:hover,.usermenu button:hover{background:var(--panel2)}
.flashes{margin-top:18px}
.flash{padding:11px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);margin-bottom:10px;line-height:1.5}
.flash.ok{border-color:#2f6b4a;background:rgba(60,140,100,.12)}
.flash.err{border-color:#8a3a3a;background:rgba(190,70,70,.14)}
.flash.info{border-color:#3a5f8a;background:rgba(80,130,200,.12)}
.foot{margin-top:56px;border-top:1px solid var(--line);background:#0b0f14;padding:24px 0;color:var(--muted);font-size:13.5px}
.footbar{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.footbar a:hover{color:var(--text)}
.footbar .sp{margin-left:auto}
.narrow{max-width:640px;padding-top:26px}
.narrow.wide{max-width:820px}
.narrow h1,.prose h1{font-size:30px;margin-bottom:8px}
.prose h2{font-size:19px;margin:26px 0 8px}
.prose p,.prose li{color:#bcc7d4;line-height:1.65}
.prose ul{margin:0 0 8px 20px}
.h2s{font-size:20px;margin:34px 0 12px;display:block}
.h2s::before{display:none}
.h3s{font-size:16px;margin:22px 0 8px}
.statline{text-align:center;margin-top:40px}
.empty,.empty-home{background:var(--panel);border:1px dashed #3a4655;border-radius:8px;padding:34px;text-align:center;line-height:1.7}
.empty-home{margin-top:40px}
.empty-home h1{font-size:30px;margin-bottom:10px}
h2 small a{color:var(--muted)}

/* ---- Formulare ---- */
.form{display:grid;gap:16px;margin:18px 0}
.form label{display:grid;gap:6px;font-weight:600;font-size:14.5px}
.form small{font-weight:400;color:var(--muted);font-size:12.5px}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.filterbar input,.filterbar select,.commentform textarea,.reportbox select,.reportbox textarea{width:100%;background:var(--panel);border:1px solid #33404f;border-radius:6px;color:var(--text);padding:10px 12px;font:inherit;font-weight:400}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent-t)}
.form input[type=file]{padding:9px}
.form textarea{resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}
.form .check input{margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.filterbar{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}
.filterbar input,.filterbar select{width:auto;min-width:200px}
.inline{display:inline}
.link{background:none;border:0;color:var(--accent-t);cursor:pointer;padding:0;font-size:13.5px}
.link:hover{text-decoration:underline}
.gh{cursor:pointer;background:none;display:inline-block}
.gh:hover{border-color:var(--accent-t)}
.dlb{cursor:pointer;display:inline-block;border:1px solid #3a76b4}
.dlb.off{background:var(--panel2);color:var(--muted);border-color:var(--line)}
.sel select,.sortform select{background:none;border:0;color:var(--text);font:inherit;font-weight:600;cursor:pointer}
.sel select option{background:var(--panel);color:var(--text)}
.sortform{margin-left:auto}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px;border:1px solid var(--line)}
.badge.ok{color:#8cc66a;border-color:#3f6a2f}
.badge.warn{color:#e0b24a;border-color:#7a6128}
.badge.err{color:#f0a0a0;border-color:#8a3a3a}
.badge.muted{color:var(--muted)}

/* ---- Liste ---- */
.chips2{flex-wrap:wrap}
.vb{background:var(--panel)}
.item .im{display:block}
.item .tt{color:var(--text)}
.item .tt:hover{color:var(--accent-t)}
.item .sc img,.card .sc img,.tile .sc img,.row .sc img{width:100%;height:100%;object-fit:cover;display:block}
.card{display:block}
.tile .meta .r{margin-left:auto}
.star.none{color:var(--muted);font-size:12px}
.pager{display:flex;gap:6px;justify-content:center;margin:28px 0 0;flex-wrap:wrap}
.pg{min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-weight:600}
.pg.on{background:var(--accent);border-color:#3a76b4;color:#fff}
.pg.off{opacity:.5}
a.pg:hover{border-color:var(--accent-t)}
.side input[type=radio],.side input[type=checkbox]{accent-color:#3a76b4;margin-right:6px}
.side label.stack{display:block}
.side input[type=range]{width:100%;accent-color:#3a76b4;margin-top:8px}
.side .t{cursor:pointer}

/* ---- Detailseite ---- */
.crumb a:hover{color:var(--text)}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs{flex-wrap:wrap}
.thumb{padding:0;position:relative;width:118px;height:70px;border-radius:5px;overflow:hidden;border:1px solid var(--line);background:none;cursor:pointer}
.thumb.on{border-color:var(--accent-t)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tabs{flex-wrap:wrap}
.tab{background:none;border:0;padding:0 0 12px;font-weight:600;color:var(--muted);cursor:pointer;font-size:15px}
.tab.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent-t)}
.tabpane[hidden]{display:none}
.box h1{overflow-wrap:anywhere}
.box .rate{margin:-6px 0 10px}
.box .btns form{display:contents}
.box .btns .gh{width:100%}
.brk{overflow-wrap:anywhere}
.boxh{font-size:15px;margin-bottom:10px}
.otherlist a{display:block;padding:6px 0;color:var(--muted)}
.otherlist a:hover{color:var(--text)}
.rateform{margin-top:14px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.rateform .muted{margin-right:8px;font-size:13.5px}
.starbtn{background:none;border:0;font-size:24px;color:#4a5666;cursor:pointer;padding:0 2px}
.starbtn.on,.starbtn:hover{color:var(--accent-t)}
.reportbox{margin-top:14px;font-size:13.5px}
.reportbox summary{cursor:pointer;color:var(--muted)}
.reportbox form{display:grid;gap:8px;margin-top:10px}
.chg.pend{opacity:.75}
.small{font-size:12.5px;font-weight:400;margin-left:8px}
.commentform{display:grid;gap:10px;margin-bottom:20px;max-width:760px}
.comment{padding:12px 0;border-bottom:1px solid var(--line);max-width:760px}
.comment.hidden-c{opacity:.55}
.comment .ch{margin-bottom:4px;font-weight:600}
.comment .ch .muted{font-weight:400;margin-left:8px;font-size:13px}
.comment .ca{margin-top:6px;display:flex;gap:14px}
.quote{border-left:2px solid var(--line);padding:4px 12px;margin:8px 0;color:var(--muted)}

/* ---- Profil, Tabellen, Verwaltung ---- */
.profile{display:flex;gap:20px;align-items:center;margin:26px 0 8px}
.avatar{width:72px;height:72px;border-radius:50%;background:var(--accent);border:1px solid #3a76b4;display:grid;place-items:center;font-size:30px;font-weight:700;color:#fff;flex:0 0 72px}
.profile h1{font-size:28px}
.bio{margin-top:8px;color:#bcc7d4;max-width:640px}
.tablewrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);background:#11161d}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl .r{text-align:right;white-space:nowrap}
.tbl .r>*{margin-left:6px}
.subnav{display:flex;gap:6px;margin:20px 0 4px;border-bottom:1px solid var(--line)}
.subnav a{padding:10px 16px;font-weight:600;color:var(--muted)}
.subnav a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent-t)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}
.stats div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.stats b{display:block;font-size:26px}
.stats span{color:var(--muted);font-size:13px}
.review{display:flex;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:12px}
.rv-img{position:relative;width:180px;height:112px;border-radius:6px;overflow:hidden;flex:0 0 180px}
.rv-img .sc{position:absolute;inset:0}
.rv-body{flex:1;min-width:0}
.rv-body .ds{margin:6px 0}
.rv-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.rv-act .rej{display:flex;gap:6px}
.rv-act .rej input{background:var(--bg);border:1px solid #33404f;border-radius:6px;color:var(--text);padding:8px 10px;min-width:220px;font:inherit}
.imggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.imgcell{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.imgcell img{width:100%;height:92px;object-fit:cover;display:block}
.imgact{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;gap:6px}

/* ---- Telefon und Tablet ---- */
@media (max-width:1000px){
  .hero{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .tile.big{grid-column:span 2;grid-row:auto;height:260px}
  .tile{height:180px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(3,1fr)}
  .two{grid-template-columns:1fr}
  .layout{grid-template-columns:1fr}
  .side{order:2}
  .dgrid{grid-template-columns:1fr}
  .list2.grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .top .wrap.topbar{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;gap:10px}
  .search{order:3;flex:1 1 100%;max-width:none}
  .top .right{margin-left:auto}
  .item{grid-template-columns:1fr}
  .item .im{height:170px;min-height:0}
  .item .ft{flex-wrap:wrap;gap:8px}
  .hero{grid-template-columns:1fr}
  .tile.big{grid-column:auto}
  .cards{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr 1fr}
  .list2.grid,.list2.split{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .shot{height:260px}
  .review{flex-direction:column}
  .rv-img{width:100%;flex:none}
  .chips2 .sortform{margin-left:0;width:100%}
  .spec{grid-template-columns:1fr 1fr}
  .logo span{font-size:18px}
  .footbar .sp{margin-left:0;width:100%}
}

/* Fußzeile bleibt immer unten, auch bei wenig Inhalt */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
.foot{margin-top:56px;flex-shrink:0}

/* Kategorien */
.catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.catcard{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,transform .15s,background .15s}
.catcard:hover{border-color:var(--c,var(--accent-t));background:#19212b;transform:translateY(-2px)}
.catcard .ci{flex:0 0 46px;height:46px;border-radius:10px;display:grid;place-items:center;color:var(--c,var(--accent-t));background:color-mix(in srgb,var(--c,#6aa6e0) 16%,transparent);border:1px solid color-mix(in srgb,var(--c,#6aa6e0) 35%,transparent)}
.catcard .ci svg{width:26px;height:26px}
.catcard .cn{flex:1;min-width:0;display:block}
.catcard .cn b{display:block;font-size:16px;font-weight:700}
.catcard .cn small{color:var(--muted);font-size:13px}
.catcard .ca{color:var(--muted);font-size:22px;line-height:1;transition:transform .15s,color .15s}
.catcard:hover .ca{color:var(--c,var(--accent-t));transform:translateX(3px)}
@media (max-width:1000px){.catgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.catgrid{grid-template-columns:1fr}}


/* Kopfzeile */
.top{border-top:2px solid #2f6aa8;background:linear-gradient(#0e141b,#0b0f14)}
.top .wrap.topbar{height:74px}
.logo i{width:34px;height:34px;font-size:19px;border-radius:8px}
.logo{font-size:23px}
.search{height:46px;border-radius:23px;background:#111820;border-color:#2a3644;max-width:520px}
.nav{position:relative;background:#0d1218}
.nav .navbar{height:52px;gap:6px;overflow:visible}
.nav .navbar>a,.catmenu summary{height:52px;display:flex;align-items:center;gap:8px;padding:0 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;border-top:2px solid transparent;cursor:pointer;list-style:none;white-space:nowrap}
.catmenu summary::-webkit-details-marker{display:none}
.catmenu summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .15s}
.catmenu[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.nav .navbar>a:hover,.catmenu summary:hover,.catmenu[open] summary{color:var(--text)}
.nav .navbar>a.on{color:var(--text);box-shadow:none;border-bottom-color:var(--accent-t)}
.qk .qi{width:18px;height:18px;color:var(--c,var(--accent-t));display:inline-grid}
.qk .qi svg{width:18px;height:18px}
.qk:hover{color:var(--text)}
.navstat{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.catmenu{display:flex}
.catpanel{position:absolute;left:16px;top:100%;z-index:30;width:min(780px,calc(100% - 32px));display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px;background:#121923;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.catitem{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px}
.catitem:hover{background:#19212b}
.catitem .ci{flex:0 0 38px;height:38px;border-radius:9px;display:grid;place-items:center;color:var(--c,var(--accent-t));background:color-mix(in srgb,var(--c,#6aa6e0) 16%,transparent);border:1px solid color-mix(in srgb,var(--c,#6aa6e0) 35%,transparent)}
.catitem .ci svg{width:21px;height:21px}
.catitem .cn b{display:block;font-weight:700;font-size:14.5px}
.catitem .cn small{color:var(--muted);font-size:12.5px}
@media (max-width:1100px){.navstat{display:none}.qk{display:none!important}}
@media (max-width:700px){.catpanel{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.catpanel{grid-template-columns:1fr}}
.catitem{color:var(--text)}

/* Technik-Wertung */
.tech{display:inline-block;font-weight:700;font-size:12px;padding:1px 7px;border-radius:4px;border:1px solid var(--line)}
.meta2 .tech::before{display:none}
.tech.t5{color:#8cc66a;border-color:#3f6a2f}
.tech.t4{color:#a6c96a;border-color:#58702f}
.tech.t3{color:#e0b24a;border-color:#7a6128}
.tech.t2,.tech.t1{color:#f0a0a0;border-color:#8a3a3a}
.techbox .tbar{height:6px;background:var(--panel2);border-radius:3px;overflow:hidden;margin:6px 0 4px}
.techbox .tbar i{display:block;height:100%;background:var(--accent-t)}
.techbox .trow{margin-bottom:14px}
.techbox .trow b{display:flex;justify-content:space-between;font-size:14.5px}
.techbox ul{margin:6px 0 0 18px;color:var(--muted);font-size:13.5px;line-height:1.5}
.techhead{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.techhead .big{font-size:34px;font-weight:800;line-height:1}
.techhead small{color:var(--muted);display:block;font-size:13px}
.okline{color:#8cc66a;font-size:13.5px}
.techline{margin:8px 0}.techline .tl{font-size:13px}
.spec2 .wide{grid-column:1/-1;border-right:0!important}

/* ---- Upload ---- */
.uploadpage{max-width:900px;padding-top:26px}
.ptitle{font-size:34px;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.ptitle::before{content:"";width:6px;height:34px;background:var(--accent-t);border-radius:3px}
.ucard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-bottom:18px}
.ucard h2{font-size:20px;margin-bottom:2px}
.ucard h2::before{display:none}
.uhint{color:var(--muted);font-size:13.5px;margin-bottom:18px}
.uploadpage .field{display:grid;gap:6px;margin-bottom:16px;align-content:start}
.uploadpage .fl{font-weight:600;font-size:14px}
.uploadpage .fl i{font-weight:400;color:var(--muted);font-style:normal}
.uploadpage .field small{color:var(--muted);font-size:12.5px}
.uploadpage input:not([type=checkbox]):not([type=radio]):not([type=file]),.uploadpage select,.uploadpage textarea{width:100%;background:#10161d;border:1px solid #2c3a49;border-radius:8px;color:var(--text);padding:11px 13px;font:inherit}
.uploadpage input:focus,.uploadpage select:focus,.uploadpage textarea:focus{outline:none;border-color:var(--accent-t)}
.uploadpage input.short{max-width:200px}
.uploadpage textarea{resize:vertical}
.grid3{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px}
.gamechip{display:inline-flex;align-items:baseline;gap:10px;background:#10161d;border:1px solid #2c3a49;border-radius:8px;padding:10px 14px;font-weight:700}
.gamechip small{color:var(--muted);font-weight:400}
.switch{display:flex;gap:14px;align-items:center;cursor:pointer;margin:6px 0 16px}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch .sl{flex:0 0 44px;height:24px;border-radius:12px;background:#2a3441;position:relative;transition:background .15s}
.switch .sl::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#c9d3df;transition:transform .15s}
.switch input:checked+.sl{background:var(--accent)}
.switch input:checked+.sl::after{transform:translateX(20px);background:#fff}
.switch input:focus-visible+.sl{outline:2px solid var(--accent-t);outline-offset:2px}
.switch b{display:block}
.switch small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.switch.big{background:#10161d;border:1px solid #2c3a49;border-radius:10px;padding:14px 16px;margin-bottom:18px}
.switch.small{margin:0}
.vcard{background:#10161d;border:1px solid #2c3a49;border-radius:10px;padding:18px}
.vhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.vlabel{font-weight:800;font-size:18px}
.seg{display:inline-flex;background:#0d1218;border:1px solid #2c3a49;border-radius:9px;padding:3px;gap:3px;flex-wrap:wrap}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg span{display:block;padding:8px 16px;border-radius:7px;font-weight:600;font-size:14px;color:var(--muted)}
.seg input:checked+span{background:var(--accent);color:#fff}
.dz{position:relative;border:2px dashed #34445a;border-radius:12px;padding:30px 20px;text-align:center;background:#0d1218;transition:border-color .15s,background .15s;margin-bottom:12px}
.dz.small{padding:16px}
.dz.over,.dz:hover{border-color:var(--accent-t);background:#101a26}
.dz input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dz b{display:block;font-size:15.5px;margin-bottom:4px}
.dz span{display:block;color:var(--muted);font-size:13px}
.zipstatus{font-size:13.5px;padding:8px 12px;border-radius:7px;margin-bottom:14px;border:1px solid var(--line)}
.zipstatus.ok{color:#8cc66a;border-color:#2f6b4a;background:rgba(60,140,100,.1)}
.zipstatus.warn{color:#e0b24a;border-color:#7a6128;background:rgba(200,160,60,.08)}
.previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.pv{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid #2c3a49}
.pv img{width:100%;height:100%;object-fit:cover;display:block}
.pvx{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(10,14,20,.85);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.pvt{position:absolute;left:6px;bottom:6px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px}
.btn.big{height:48px;padding:0 28px;font-size:16px;margin-top:6px}
.ucard .check{display:flex;gap:10px;align-items:flex-start;line-height:1.5;margin-bottom:6px}
.ucard .check input{margin-top:4px}
@media (max-width:700px){.grid3{grid-template-columns:1fr}.ucard{padding:18px 16px}}

/* ---- Mod-Seite: Zusatzangaben ---- */
.metarow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip3{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:5px;background:#1c3350;color:#cfe0f5;font-size:13px;border:1px solid #27466c}
.chip3.muted{background:transparent;color:var(--muted);border-color:var(--line)}
.beta{display:inline-block;font-size:11px;font-weight:800;padding:1px 6px;border-radius:4px;background:#7a6128;color:#fff;margin-left:6px}
.shopitem{background:#10161d;border:1px solid #2a3644;border-radius:12px;padding:20px;margin-bottom:16px}
.shopitem h3{font-size:22px;margin:0 0 10px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.shopitem .typedesc{color:var(--muted);font-style:italic;margin-bottom:12px}
.spectbl{width:100%;border-collapse:collapse;margin:8px 0 14px}
.spectbl td{padding:9px 6px;border-top:1px solid var(--line)}
.spectbl td:last-child{text-align:right;font-weight:700}
.spectbl td:first-child{color:var(--muted)}
.chipgroup{margin:10px 0}
.chipgroup>small{display:block;color:var(--muted);margin-bottom:6px;font-size:13px}
.funcs{margin:12px 0;line-height:1.6;color:#cbd5e1}
.curvebox{margin-top:14px}
.curvebox h4{font-size:15px;margin-bottom:8px}
.pc{width:100%;height:auto;display:block}
.pc .grid{stroke:#243040;stroke-width:1}
.pc .axis{fill:#8d9bad;font-size:11px}
.pc .line{fill:none;stroke:#3b82f6;stroke-width:2.5}
.pc .dot{fill:#3b82f6}
.credits{color:#bcc7d4;margin:12px 0}
.videolink{display:inline-flex;align-items:center;gap:8px;margin:6px 0 14px}
.uploadpage.inner{padding-top:0;max-width:none}
.ucard h2{margin:0 0 2px;display:block}

/* ---- Upload: eigener Ablauf mit Schritten und Vorschau ---- */
.uploadpage{max-width:1180px}
.upgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.steps{position:relative}
.ustep{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:26px}
.ustep::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:linear-gradient(#2c3a49,#1d2733)}
.ustep.last::before{display:none}
.ustep .num{width:44px;height:44px;border-radius:12px;background:#10161d;border:2px solid #2f6aa8;color:var(--accent-t);font-weight:800;font-size:19px;display:grid;place-items:center}
.ustep .ubody{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px;min-width:0}
.ustep h2{font-size:20px;margin:0 0 2px;display:block}
.ustep h2::before{display:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.betatag{display:inline-flex;align-items:center;gap:10px;background:#10161d;border:1px solid #2c3a49;border-radius:8px;padding:11px 14px;cursor:pointer;font-weight:600}
.betatag input{accent-color:#3a76b4}
.upreview{position:sticky;top:16px}
.uptitle{font-size:13px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:700}
.pvcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}
.pvimg{aspect-ratio:16/9;background:#10161d center/cover no-repeat;display:grid;place-items:center;color:var(--muted);font-size:13px}
.pvimg.has span{display:none}
.pvbody{padding:14px 16px}
.pvtitle{font-weight:700;font-size:18px;margin-bottom:4px;overflow-wrap:anywhere}
.pvmeta{color:var(--muted);font-size:13.5px;margin-bottom:8px}
.pvsrc{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-t);border:1px solid #27466c;border-radius:5px;padding:2px 8px}
.checklist{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 16px}
.checklist li{padding:9px 0 9px 28px;position:relative;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line)}
.checklist li:last-child{border-bottom:0}
.checklist li::before{content:"";position:absolute;left:0;top:11px;width:16px;height:16px;border-radius:50%;border:2px solid #3a4655}
.checklist li.ok{color:var(--text)}
.checklist li.ok::before{background:#2f8a55;border-color:#2f8a55}
.checklist li.ok::after{content:"";position:absolute;left:5px;top:15px;width:5px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-2px)}
.checklist li[hidden]{display:none}
@media (max-width:1000px){.upgrid{grid-template-columns:1fr}.upreview{position:static;order:-1}.grid2{grid-template-columns:1fr}}
@media (max-width:560px){.ustep{grid-template-columns:1fr}.ustep::before{display:none}.ustep .num{width:36px;height:36px;font-size:16px}}
.pv.auto{border-style:dashed;border-color:#3a76b4}
.pvt.soft{background:#33445a}

/* Titelbild der Mod-Seite im Format 16:9, nichts wird abgeschnitten */
.shot{height:auto;aspect-ratio:16/9;background:#10161d}
.shot img{object-fit:contain}
@media (max-width:700px){.shot{height:auto}}

/* Shop-Artikel: Bild links, Angaben rechts */
.shopitem{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.shopitem.noimg{grid-template-columns:1fr}
.shopimg{border-radius:10px;overflow:hidden;background:#141b24;border:1px solid #2a3644;position:sticky;top:16px}
.shopimg img{display:block;width:100%;height:auto}
.shopmain{min-width:0}
@media (max-width:760px){.shopitem{grid-template-columns:1fr}.shopimg{position:static;max-width:320px}}

/* Kacheln in Raster und zwei Spalten: Bild oben in festem Format, Inhalt direkt darunter */
.list2.grid .item,.list2.split .item{grid-template-rows:auto 1fr}
.list2.grid .item .im,.list2.split .item .im{height:auto;min-height:0;aspect-ratio:16/10}
.item .au span{display:none}
.list2.grid .au span,.list2.split .au span{display:inline}
.list2.grid .ct,.list2.split .ct{display:none}
.hd{flex-wrap:wrap}
.meta2 .tech{margin-left:10px}
.item .ft{flex-wrap:wrap;gap:10px}
.list2.grid .dl2,.list2.split .dl2{font-size:12.5px}

/* Liste: Bild links im festen Format, kein Balken über dem Bild */
.item{grid-template-columns:280px minmax(0,1fr)}
.item .im{min-height:0;height:auto;aspect-ratio:16/10;align-self:start}
.item .au{display:none}
.item .meta2 span:first-child{color:var(--cat,var(--accent-t));font-weight:600}
@media (max-width:700px){.item{grid-template-columns:1fr}.item .im{height:auto}}

/* Autorenleiste wieder am unteren Bildrand, aber durchsichtig: ein Verlauf statt eines Balkens */
.item .au{display:flex;justify-content:space-between;align-items:flex-end;left:0;right:0;bottom:0;padding:22px 12px 8px;background:linear-gradient(to top,rgba(8,11,16,.72),rgba(8,11,16,0));font-size:12.5px;font-weight:600;color:#f1f5fa;text-shadow:0 1px 3px rgba(0,0,0,.85)}
.item .au span{display:inline;color:#d5dde8;font-weight:500}
.item .meta2 span:first-child{color:inherit;font-weight:400}
.list2.grid .ct,.list2.split .ct{display:none}

/* Aufklappmenü der Kategorien folgt der zentrierten Seitenbreite statt dem Fensterrand */
.nav .navbar{position:relative}

/* Die Liste wird nicht auf die Höhe der Filterleiste gestreckt: Karten behalten ihre eigene Höhe */
.list2{align-content:start}
.layout{align-items:start}

/* Beschreibung im gleichen Kasten wie die Shop-Artikel */
#tab-beschreibung{background:#10161d;border:1px solid #2a3644;border-radius:12px;padding:20px}
#tab-beschreibung>p:first-of-type{margin-top:0}

/* Alle Reiter der Mod-Seite im gleichen Kasten (die Shop-Artikel haben ihre eigenen Kästen) */
.tabpane:not(#tab-shop){background:#10161d;border:1px solid #2a3644;border-radius:12px;padding:20px}
.tabpane:not(#tab-shop)>:first-child{margin-top:0}
.tabpane:not(#tab-shop)>:last-child{margin-bottom:0}
.tabpane[hidden]{display:none}

/* Kategorien-Menü: Gruppen mit ihren Unterkategorien in Spalten */
.catpanel{display:block;column-count:4;column-gap:22px;width:min(1180px,calc(100% - 32px));max-height:min(75vh,640px);overflow-y:auto;padding:18px 20px}
.cg{break-inside:avoid;margin-bottom:16px}
.cgh{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:7px;color:var(--text)}
.cgh:hover{background:#19212b}
.cgh .ci{flex:0 0 28px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--c,var(--accent-t));background:color-mix(in srgb,var(--c,#6aa6e0) 16%,transparent);border:1px solid color-mix(in srgb,var(--c,#6aa6e0) 35%,transparent)}
.cgh .ci svg{width:17px;height:17px}
.cgh b{flex:1;font-size:14.5px}
.cgh small,.cl small{color:var(--muted);font-size:12px}
.cl{display:flex;justify-content:space-between;gap:8px;padding:4px 8px 4px 43px;color:var(--muted);font-size:13.5px;border-radius:6px}
.cl:hover{background:#19212b;color:var(--text)}
@media (max-width:1100px){.catpanel{column-count:3}}
@media (max-width:760px){.catpanel{column-count:2}}
@media (max-width:480px){.catpanel{column-count:1}}

/* Filter: Kategorien als aufklappbare Gruppen */
.fgroup{border-top:1px solid var(--line);padding:2px 0}
.fgroup:first-of-type{border-top:0}
.fgroup summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-weight:600;font-size:14.5px}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);margin-right:9px;transition:transform .15s;flex:0 0 7px}
.fgroup[open] summary::before{transform:rotate(45deg)}
.fgroup .fgn{flex:1}
.fgroup .fgc{color:var(--muted);font-weight:400;font-size:13px}
.fgroup label{padding-left:16px}
.fgroup label.all{font-style:italic}
.catpanel{column-count:5;width:min(1240px,calc(100% - 32px));max-height:min(80vh,700px)}
@media (max-width:1250px){.catpanel{column-count:4}}
@media (max-width:1000px){.catpanel{column-count:3}}
@media (max-width:760px){.catpanel{column-count:2}}
@media (max-width:480px){.catpanel{column-count:1}}

/* Kategorien-Menü: jede Gruppe ist ein Eintrag, der sich einzeln aufklappen lässt */
.catpanel{column-count:4;column-gap:14px;padding:14px 16px;max-height:min(80vh,680px)}
.cg{break-inside:avoid;margin-bottom:6px;border:1px solid transparent;border-radius:9px}
.cg[open]{background:#161e29;border-color:#232f3d}
.cg>summary.cgh{list-style:none;cursor:pointer;padding:7px 8px;border-radius:9px}
.cg>summary.cgh::-webkit-details-marker{display:none}
.cg>summary.cgh::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);margin-left:4px;transition:transform .15s;flex:0 0 7px}
.cg[open]>summary.cgh::after{transform:rotate(45deg)}
.cg .cl{padding:5px 10px 5px 45px}
.cg .cl.all{font-style:italic;color:var(--accent-t)}
.cg[open]{padding-bottom:6px}
@media (max-width:1250px){.catpanel{column-count:3}}
@media (max-width:900px){.catpanel{column-count:2}}
@media (max-width:560px){.catpanel{column-count:1}}

/* Logo in der Kopfzeile: Symbol als Bild, Schriftzug daneben */
.logo .mark{width:36px;height:36px;display:block;flex:0 0 36px}
.logo{gap:11px}

/* Sprachwahl */
.langmenu{position:relative}
.langmenu summary{list-style:none;cursor:pointer;height:40px;min-width:48px;padding:0 12px;border:1px solid #3a4655;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:.5px}
.langmenu summary::-webkit-details-marker{display:none}
.langmenu>div{position:absolute;right:0;top:46px;z-index:25;min-width:150px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.langmenu a{display:block;padding:9px 12px;border-radius:5px;font-size:14.5px}
.langmenu a:hover{background:var(--panel2)}
.langmenu a.on{color:var(--accent-t);font-weight:700}

.trbox{border:1px solid var(--line);border-radius:4px;padding:8px 12px;margin:10px 0;background:#11161d}
.trbox summary{cursor:pointer;font-weight:600}
.trbox label{display:block;margin-top:10px}

/* Einheitliche Kopfzeile: gleiche Höhe mit oder ohne Schaltfläche */
.bar{min-height:40px;margin:20px 0 14px}
.bar .cnt{line-height:1.2}

/* Textfelder nur in der Höhe veränderbar */
.reportbox textarea,.commentform textarea,.form textarea,.uploadpage textarea{resize:vertical;min-height:90px;max-width:100%}

/* Kommentare */
.commentform{max-width:none;margin-bottom:22px}
.cf-box{position:relative;border:1px solid #33404f;border-radius:8px;background:var(--panel)}
.cf-box:focus-within{border-color:var(--accent-t)}
.commentform .cf-box textarea{border:0;background:none;border-radius:8px 8px 0 0;min-height:84px;box-shadow:none;outline:none}
.cf-bar{display:flex;align-items:center;gap:12px;padding:8px 10px;border-top:1px solid var(--line);flex-wrap:wrap}
.cf-bar .btn{margin-left:auto;height:34px;font-size:14px}
.cf-emo{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;font-size:18px;cursor:pointer;line-height:1}
.cf-emo:hover{border-color:var(--accent-t)}
.cf-count,.cf-hint{font-size:12.5px;color:var(--muted)}
.cf-pick{position:absolute;left:8px;bottom:52px;z-index:5;display:grid;grid-template-columns:repeat(8,34px);gap:2px;padding:8px;background:#161d26;border:1px solid #33404f;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.cf-pick[hidden]{display:none}
.cf-pick button{width:34px;height:34px;border:0;background:none;border-radius:6px;font-size:19px;cursor:pointer}
.cf-pick button:hover{background:#243040}
.comment{display:flex;gap:12px;max-width:none;padding:14px 0}
.comment .cav{flex:0 0 36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.comment .cmain{min-width:0;flex:1}
.comment .cbody{overflow-wrap:anywhere;line-height:1.5}
.comment .cbody a{color:var(--accent-t);text-decoration:underline}
.cbadge{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:1px 7px;border-radius:10px;background:#1f3b5c;color:#9cc7f0;margin-left:6px}
.cbadge.team{background:#3b2a52;color:#cdb2ee}
@media (max-width:600px){.cf-hint{display:none}.cf-pick{grid-template-columns:repeat(6,34px)}}

/* Antworten und Reaktionen */
.comment.reply{margin-left:48px;padding-top:10px;border-left:2px solid var(--line);padding-left:14px}
.comment .ca{align-items:center;flex-wrap:wrap;gap:8px 12px}
.comment .ca form.inline{display:inline}
.react{border:1px solid var(--line);background:none;color:var(--muted);border-radius:14px;padding:2px 9px;font-size:14px;cursor:pointer;line-height:1.5}
.react i{font-style:normal;font-size:12.5px;font-weight:600}
.react:hover{border-color:var(--accent-t)}
.react.on{background:#1f3b5c;border-color:#3a76b4;color:#cfe3f7}
.replybox{flex-basis:100%;order:9}
.replybox summary{cursor:pointer;display:inline-block;color:var(--muted);font-size:13.5px}
.replybox[open] summary{margin-bottom:8px}
.replyform{display:grid;gap:8px;max-width:620px}
.replyform textarea{width:100%;background:var(--panel);border:1px solid #33404f;border-radius:6px;color:var(--text);padding:9px 12px;font:inherit;min-height:60px}
.replyform .btn{justify-self:start;height:34px;font-size:14px}

/* Credits */
.creditbox{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid #2c4a6c;border-left:3px solid var(--accent-t);border-radius:6px;background:linear-gradient(90deg,#14243a,#111a26)}
.creditbox svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:var(--accent-t);stroke-width:1.7;stroke-linejoin:round}
.creditbox small{display:block;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.creditbox b{font-size:15px;font-weight:600;overflow-wrap:anywhere}

/* Link-Feld beim Upload auch ohne Skript sichtbar */
form:has(input[name=source][value=link]:checked) #pane-link{display:block!important}

/* Upload-Fortschritt */
.upprog{display:flex;align-items:center;gap:12px;flex:1;min-width:220px}
.upbar{flex:1;height:8px;border-radius:4px;background:#1b2531;overflow:hidden}
.upbar i{display:block;height:100%;width:0;background:var(--accent-t);transition:width .2s}
.uptxt{font-size:13px;color:var(--muted);white-space:nowrap}

/* Bilder sortieren */
.pv[draggable=true],.imgcell[draggable=true]{cursor:grab}
.pv.drag,.imgcell.drag{opacity:.45}
.pvm{position:absolute;bottom:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(10,14,20,.85);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.pvl{left:6px}.pvr{right:6px}
.pvm:hover,.pvx:hover{background:var(--accent)}

/* Galerie: Vorschaubilder über die volle Breite, Pfeile und Wischen */
.thumbs{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:8px}
.thumb{width:auto;height:auto;aspect-ratio:16/9}
.shot{touch-action:pan-y;cursor:grab;user-select:none}
.shot img{-webkit-user-drag:none;pointer-events:none}
.shotnav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(10,14,20,.7);color:#fff;font-size:28px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s}
.shot:hover .shotnav,.shotnav:focus-visible{opacity:1}
.shotnav:hover{background:var(--accent)}
.shotnav.prev{left:10px}.shotnav.next{right:10px}
@media (hover:none){.shotnav{opacity:.85}}

/* Listenkarte: Bild füllt immer die ganze Höhe, auch bei längerem Text */
.item{align-items:stretch}
.item .im{height:auto;align-self:stretch;min-height:130px}
.item .co{min-height:130px}
.item .ds{-webkit-line-clamp:2;max-height:3em}
.label.sel,.sel{gap:8px}

/* Lange Titel: nie ein einzelner Buchstabe in der letzten Zeile */
.box h1{overflow-wrap:break-word;word-break:normal;hyphens:auto;-webkit-hyphens:auto;text-wrap:balance}
.box h1.longword{font-size:21px;line-height:1.25}

/* Navigationsleiste bleibt beim Scrollen oben */
@media (min-width:701px){
  .nav{position:sticky;top:0;z-index:60;box-shadow:0 6px 14px rgba(0,0,0,.28)}
}

.nav .navlogo{display:flex;align-items:center;width:0;margin-right:-30px;overflow:hidden;opacity:0;transition:width .2s,margin .2s,opacity .2s}
.nav.stuck .navlogo{width:28px;margin-right:0;opacity:1}
.nav .navlogo img{display:block;flex:none}
@media (max-width:700px){.nav .navlogo{display:none}}

/* Aufklappmenüs der Kopfzeile liegen über der Navigationsleiste */
header.top{position:relative;z-index:70}

.favdel{margin-left:auto;margin-right:10px;display:inline-flex}
.favdel .gh{height:34px;padding:0 14px;border-radius:17px;border:1px solid #3a4655;background:none;color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.favdel .gh:hover{border-color:#c9605c;color:#f0a09c}

/* Merkliste: Knopf wie der Download-Knopf */
.favdel .gh{height:auto;padding:9px 20px;border-radius:5px;font-size:14px;font-weight:700;background:var(--panel2);border:1px solid #3a4655;line-height:inherit}
.favdel .gh:hover{background:var(--panel2);border-color:#c9605c;color:#f0a09c}

.nav .navlogo{height:50px;align-self:center;justify-content:center;box-shadow:none}
.nav .navlogo img{width:28px;height:28px;object-fit:contain}
.nav .navbar>a.navlogo{padding:0;border:0;height:52px;box-sizing:border-box}
.nav .navbar>a.navlogo img{margin:0 auto}

.search button{display:flex;align-items:center;padding:0}
.search button:hover{color:var(--text)}

/* Titelbild festlegen und Vorschau */
.pvc{position:absolute;top:6px;left:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(10,14,20,.85);color:#e0c36a;font-size:14px;line-height:1;cursor:pointer}
.pvc:hover{background:var(--accent);color:#fff}
.pvmodal{position:fixed;inset:0;z-index:200;background:rgba(5,8,12,.82);overflow:auto;padding:24px 16px}
.pvm-in{max-width:1180px;margin:0 auto;background:#0e141b;border:1px solid var(--line);border-radius:10px;padding:0 20px 24px}
.pvm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;margin-bottom:14px;border-bottom:1px solid var(--line);font-weight:700}
.pvm-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.pvm-x:hover{border-color:var(--accent-t)}
.pvm-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.pvm-in .tabs{display:flex;margin-top:14px;border-bottom:1px solid var(--line)}
.pvm-in .tab.on{color:var(--text);padding:10px 4px;border-bottom:2px solid var(--accent-t);font-weight:600}
.pvm-in .txt{padding:14px 0}
.pvm-in .dlb{display:block;text-align:center;padding:12px;font-size:15.5px;margin:12px 0}
.pvm-in .thumb{cursor:pointer}
@media (max-width:900px){.pvm-in .dgrid{grid-template-columns:1fr}}

/* Rasteransicht: Kategoriefarbe als Streifen oben statt links */
.list2.grid .item,.list2.split .item{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-top:4px solid var(--cat,var(--accent-t))}

/* Sterne: leere Sterne gedämpft, auch ohne Bewertung */
.star{letter-spacing:1px;font-size:13px}
.star i{font-style:normal;color:#38465a}
.star i.on{color:var(--accent-t)}
.star.none{font-size:13px}

/* Profil */
.pf{margin:22px 0 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.pf-cover{height:110px;background:radial-gradient(120% 160% at 15% 0%,#2f6aa8 0%,#1f4873 45%,#12202f 100%)}
.pf-head{display:flex;align-items:flex-end;gap:18px;padding:0 24px;margin-top:-44px;flex-wrap:wrap}
.pf-avatar{flex:0 0 92px;width:92px;height:92px;border-radius:50%;background:linear-gradient(145deg,#2f6aa8,#1f4873);border:4px solid var(--panel);display:grid;place-items:center;font-size:40px;font-weight:700;color:#fff}
.pf-id{flex:1;min-width:200px;padding-bottom:6px}
.pf-id h1{font-size:28px;margin:0 0 2px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.pf-act{display:flex;gap:10px;padding-bottom:8px;flex-wrap:wrap}
.pf-bio{margin:14px 24px 0;color:#c4cfdb;max-width:760px;line-height:1.55}
.pf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin-top:18px;background:var(--line);border-top:1px solid var(--line)}
.pf-stats>div{background:var(--panel);padding:14px 24px}
.pf-stats b{display:block;font-size:22px;font-weight:700}
.pf-stats b i{font-style:normal;color:var(--accent-t);font-size:17px}
.pf-stats small{display:block;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-top:2px}

/* Konto */
.ac-top{display:flex;align-items:center;gap:18px;margin:26px 0 18px;flex-wrap:wrap}
.ac-top .pf-avatar{flex-basis:72px;width:72px;height:72px;font-size:30px;border-width:2px;border-color:#3a76b4}
.ac-id{flex:1;min-width:220px}
.ac-id h1{font-size:26px;margin:0 0 2px}
.ac-top .pf-act{padding:0}
.ac-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:40px}
.ac-nav{position:sticky;top:74px;display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.ac-nav a{padding:9px 12px;border-radius:6px;color:var(--muted);font-weight:600;font-size:14.5px}
.ac-nav a:hover{background:#1a2430;color:var(--text)}
.ac-nav a.on{background:#1b2c40;color:var(--text);box-shadow:inset 3px 0 0 var(--accent-t)}
.ac-nav a.danger:hover{color:#f0a09c}
.ac-main{display:grid;gap:18px;min-width:0}
.ac-main .pf-stats{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ac-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:20px 24px;scroll-margin-top:80px}
.ac-card h2{font-size:18px;margin:0 0 4px}
.ac-card>.muted{margin:0 0 14px;font-size:14px}
.ac-card .form{max-width:none;display:grid;gap:14px}
.ac-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ac-row .btn{height:40px}
.ac-danger{border-color:#5a2f2f;background:linear-gradient(#1a1416,var(--panel))}
.ac-danger h2{color:#f0a09c}
.langpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.langpick label{display:block;cursor:pointer}
.langpick input{position:absolute;opacity:0;pointer-events:none}
.langpick span{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #33404f;border-radius:8px;background:#10161d;font-weight:600}
.langpick span b{display:inline-grid;place-items:center;min-width:30px;height:24px;border-radius:12px;background:#1b2c40;color:var(--accent-t);font-size:12px}
.langpick input:checked+span{border-color:var(--accent-t);background:#16273b}
.langpick input:focus-visible+span{outline:2px solid var(--accent-t)}
@media (max-width:820px){
  .ac-grid{grid-template-columns:1fr}
  .ac-nav{position:static;flex-direction:row;overflow-x:auto;white-space:nowrap}
  .pf-head{padding:0 16px}
  .pf-avatar{flex-basis:76px;width:76px;height:76px;font-size:32px}
}

.dli{display:inline-block;vertical-align:-2px;margin-right:2px;color:var(--accent-t)}

/* Profilbilder */
.pf-avatar,.cav{overflow:hidden}
.pf-avatar img,.cav img{width:100%;height:100%;object-fit:cover;display:block}
.avrow{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.avbig{flex:0 0 96px;width:96px;height:96px;border-width:2px;border-color:#3a76b4}
.avform{flex:1;min-width:240px;gap:10px}
.avform input[type=file]{padding:8px;border:1px dashed #3a4a5c;border-radius:8px;background:#10161d;color:var(--muted);width:100%}
.avdel .btn{height:40px}

/* Profil-Links und Unterstützer-Knopf */
.pf-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 24px 0}
.pf-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #33404f;border-radius:16px;background:#10161d;color:var(--text);font-size:13.5px;font-weight:600}
.pf-link:hover{border-color:var(--accent-t);color:#fff}
.pf-link.sup,.gh.sup{border-color:#7a3a55;color:#f0a7c4}
.pf-link.sup:hover,.gh.sup:hover{border-color:#d46a96;background:#2a1520;color:#ffd0e0}
.gh.sup{display:block;text-align:center}

/* Links im Konto: kompakte Liste statt vieler Felder */
.lk-list{display:flex;flex-direction:column;gap:6px}
.lk-list:empty{display:none}
.lk-item{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px;border:1px solid #2c3a49;border-radius:8px;background:#10161d}
.lk-name{flex:0 0 auto;font-weight:700;font-size:13.5px;min-width:96px}
.lk-url{flex:1;min-width:0;color:var(--muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-x{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.lk-x:hover{background:#2a1c1f;color:#f0a09c}
.lk-add{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:8px}
.lk-add select,.lk-add input{width:100%;height:40px;background:var(--panel);border:1px solid #33404f;border-radius:6px;color:var(--text);padding:0 12px;font:inherit}
.lk-add .btn{height:40px}
@media (max-width:620px){.lk-add{grid-template-columns:1fr}}

/* Profil-Links als kleine Symbole */
.lki{flex:0 0 auto}
.pf-link .lki{opacity:.85}
.lkicons{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.lkicon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid #2c3a49;background:#10161d;color:var(--muted)}
.lkicon:hover{border-color:var(--accent-t);color:var(--text)}

/* Anmelden und Registrieren */
.authwrap{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:40px;align-items:start;margin-top:36px;margin-bottom:50px;max-width:1000px}
.authcard{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:28px 30px}
.authhead{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.authhead img{flex:none;border-radius:12px}
.authhead h1{font-size:24px;margin:0 0 2px}
.authhead p{margin:0;font-size:14px}
.authform{display:grid;gap:16px}
.authform label{display:block;font-weight:600;font-size:14px}
.authform input:not([type=checkbox]){display:block;width:100%;margin-top:6px;height:44px;background:#10161d;border:1px solid #33404f;border-radius:8px;color:var(--text);padding:0 14px;font:inherit;font-weight:400}
.authform input:focus{outline:none;border-color:var(--accent-t);box-shadow:0 0 0 3px rgba(106,166,224,.15)}
.authform input[readonly]{opacity:.7}
.authform small{display:block;margin-top:5px;font-weight:400;font-size:12.5px;color:var(--muted)}
.authform small.okt{color:#8cc66a}.authform small.errt{color:#f0a09c}
.authform .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13.5px;color:var(--muted)}
.authform .check input{margin-top:3px;width:auto;height:auto}
.authform .big{height:46px;width:100%;justify-content:center;font-size:15.5px}
.authrow{text-align:right;margin-top:-6px;font-size:13.5px}
.pw{position:relative;display:block}
.pw input{padding-right:46px!important}
.pwt{position:absolute;right:6px;top:11px;width:34px;height:34px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:6px;display:grid;place-items:center}
.pwt:hover{color:var(--text);background:#1a2430}
.pwmeter{display:block;height:5px;margin-top:8px;border-radius:3px;background:#1b2531;overflow:hidden}
.pwmeter i{display:block;height:100%;width:0;border-radius:3px;background:#444;transition:width .2s,background .2s}
.pwmeter.weak i{background:#d0605c}.pwmeter.fair i{background:#e0b24a}.pwmeter.good i{background:#8cc66a}.pwmeter.strong i{background:#4fb27a}
.authsep{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.7px}
.authsep::before,.authsep::after{content:"";flex:1;height:1px;background:var(--line)}
.dcbtn{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;border-radius:8px;border:1px solid #3a4a78;background:#1c2340;color:#dfe5ff;font-weight:700;font-size:15px}
.dcbtn:hover{border-color:#6c7de0;background:#222b52;color:#fff}
.dcbtn .lki{width:20px;height:20px}
.authfoot{margin:20px 0 0;text-align:center;color:var(--muted);font-size:14px}
.authside{padding:10px 0 0}
.authside h2{font-size:17px;margin:0 0 14px;color:#cfd8e3}
.authside ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.authside li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);line-height:1.5}
.authside li b{color:var(--text)}
.authside .lki{flex:none;width:34px;height:34px;padding:8px;border-radius:9px;background:#14202e;color:var(--accent-t);margin-top:-2px}
@media (max-width:860px){.authwrap{grid-template-columns:1fr;gap:24px}.authside{order:2}}

.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:16px;border:1px solid #33404f;font-size:13.5px;font-weight:600}
.pill.ok{border-color:#3f6a2f;color:#8cc66a}
.pill .lki{width:16px;height:16px}

/* Anmelden und Registrieren: nur die Karte, mittig */
.authwrap{display:block;max-width:500px}

/* Passwortfeld: Knopf sauber im Feld, Browser-Autofill im dunklen Stil */
.authform .pw{margin-top:6px}
.authform .pw input{margin-top:0}
.pwt{top:5px;background:transparent;border:0;box-shadow:none;padding:0}
.pwt:hover{background:#1a2430}
.authform input:-webkit-autofill,.authform input:-webkit-autofill:hover,.authform input:-webkit-autofill:focus,.authform input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px #10161d inset;box-shadow:0 0 0 1000px #10161d inset;transition:background-color 9999s ease-out 0s}
.authform input:autofill{box-shadow:0 0 0 1000px #10161d inset;-webkit-text-fill-color:var(--text)}

/* Profilbanner */
.pf-cover.has{height:170px;background-size:cover;background-position:center}
.bnprev{height:120px;border-radius:8px;border:1px solid var(--line);margin-bottom:12px;background:radial-gradient(120% 160% at 15% 0%,#2f6aa8 0%,#1f4873 45%,#12202f 100%);background-size:cover;background-position:center}
.filein{width:100%;padding:8px;border:1px dashed #3a4a5c;border-radius:8px;background:#10161d;color:var(--muted)}
.ac-card .avdel{margin-top:10px}

/* Karten: Titel und Version immer in einer Zeile, alles darunter bleibt auf gleicher Höhe */
.item .hd{flex-wrap:nowrap;align-items:center;min-width:0}
.item .tt{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .vt{flex:0 1 auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .meta2{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-height:20px}
.item .ds{min-height:3em}

/* Karten: Version und Spielerzahl in der Meta-Zeile */
.item .mv{color:var(--accent-t);font-weight:700}
.item .mp{display:inline-flex;align-items:center}
.item .mp .lki{width:15px;height:15px}
.item .hd{display:block}
.item .tt{display:block}

/* Hinweis: E-Mail noch nicht bestätigt */
.verifybar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.verifybar .btn{height:36px;font-size:14px}

/* Mod bearbeiten */
.ed-top .ed-thumb{flex:0 0 132px;width:132px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#10161d;display:grid;place-items:center;font-size:30px;font-weight:700;color:var(--muted)}
.ed-top .ed-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ed-top .ac-id h1{font-size:24px}
.ac-card .imggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.ac-card .imgcell{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#10161d}
.ac-card .imgcell img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ac-card .imgact{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px}
.ac-card .imgact form{display:inline}
.ac-card .trbox{margin:6px 0}
.ac-card .uploadpage.inner{margin:0}
.ac-card .h3s{margin:22px 0 8px;font-size:15px}
.ac-card .form .btn{justify-self:start}

/* Lizenzen */
.licbox{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px 22px;line-height:1.6;margin:16px 0}
.licbox h2{font-size:18px;margin:0 0 10px}
.licform{display:grid;gap:16px}
.licform .check{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.licform .check input{margin-top:4px}
.licact{display:flex;gap:10px;flex-wrap:wrap}
.licact .big{height:46px;justify-content:center}
.licmods{padding-left:20px}
.lk-v{display:grid;place-items:center;text-decoration:none}
.ac-card .lk-item{margin-bottom:6px}
.lic-new{margin-top:14px}
.licfield select{width:100%}
#uploadform:has(input[name=source][value=link]:checked) #licfield{display:none}

/* Verwaltung: Besucher online */
.on-sec{margin:22px 0}
.on-sec h2{font-size:18px;margin:0 0 10px}
.on-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}
.on-item{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.on-item.bot{border-style:dashed;opacity:.9}
.on-av{flex:0 0 40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#2f6aa8,#1f4873);display:grid;place-items:center;font-weight:700;color:#fff}
.on-item.bot .on-av{background:#2b3541;color:var(--muted)}
.on-body{min-width:0;font-size:14px;line-height:1.45}
.on-body .small{font-size:12.5px;overflow-wrap:anywhere}

/* ===== Handy und Tablet ===== */
@media (max-width:700px){
  html{-webkit-text-size-adjust:100%}
  .wrap{padding-left:16px;padding-right:16px}
  /* Kopfzeile: Logo und Knöpfe in einer Zeile, Suche darunter */
  .top .wrap.topbar{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px 8px}
  .logo{font-size:20px;gap:8px}
  .logo .mark{width:32px;height:32px;flex-basis:32px}
  .top .right{margin-left:auto;gap:8px;flex-wrap:nowrap}
  .top .btn{height:36px;padding:0 14px;font-size:14px}
  .langmenu summary,.usermenu summary{height:36px;padding:0 12px;font-size:14px}
  .search{order:3;flex:1 1 100%;max-width:none;height:42px;padding:0 14px}
  /* Navigationsleiste ohne Überlagerung */
  .nav .navbar{height:46px;gap:0;padding-left:8px;padding-right:8px}
  .nav .navbar>a,.catmenu summary{height:46px;padding:0 12px;font-size:15px}
  .navstat,.qk{display:none!important}
  .catpanel{position:fixed;left:0;right:0;top:auto;width:auto;max-height:70vh;overflow-y:auto;border-radius:0 0 12px 12px}
  /* Inhalte */
  h1{font-size:24px}
  .tile .t,.tile.big .t{font-size:20px}
  .tile .info{left:14px;right:14px}
  .bar{flex-wrap:wrap;gap:10px}
  .tablewrap{overflow-x:auto}
  .pf-head{padding:0 14px;gap:12px}
  .pf-id h1{font-size:22px}
  .pf-act{width:100%}
  .pf-act .btn{flex:1;justify-content:center}
  .pf-stats>div{padding:12px 14px}
  .dgrid{grid-template-columns:1fr}
  .box h1{font-size:24px}
  .thumbs{gap:6px}
  .tabs{overflow-x:auto;white-space:nowrap}
  .footbar{gap:10px 16px;flex-wrap:wrap}
}
@media (max-width:480px){
  /* Sehr schmale Bildschirme: Gäste sehen nur das Logo-Zeichen, damit Anmelden und Registrieren Platz haben; Hochladen wird zum Plus */
  .top:has(.right .btn.main:not(.up)) .logo span{display:none}
  .top .right .btn.up{font-size:0;width:36px;padding:0;justify-content:center}
  .top .right .btn.up::before{content:"+";font-size:24px;line-height:1;font-weight:600}
  .logo span{font-size:19px}
}
@media (max-width:390px){
  .logo span{display:none}
  .top .right{gap:6px}
}

/* Filter: auf großen Bildschirmen immer sichtbar, auf kleinen einklappbar */
.sidefold>summary{display:none}
@media (max-width:1000px){
  .sidefold>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;list-style:none;padding:2px 0}
  .sidefold>summary::after{content:"BE";color:var(--muted)}
  .sidefold[open]>summary{margin-bottom:12px}
  .sidefold[open]>summary::after{transform:rotate(180deg)}
}
@media (max-width:700px){
  .comment.reply{margin-left:16px;padding-left:10px}
  .ac-card{padding:16px}
  .authcard{padding:22px 18px}
  .lk-name{min-width:70px}
  .spec2{grid-template-columns:1fr 1fr}
  .btns .dlb,.btns .gh{padding-top:12px;padding-bottom:12px}
  .pvmodal{padding:10px}
  .pvm-in{padding:0 12px 18px}
}

/* Handy: kein Wackeln zur Seite, Logo-Zeichen der Leiste nur am Rechner */
html,body{max-width:100%;overflow-x:clip}
@media (max-width:700px){
  .nav .navbar>a.navlogo{display:none}
  .tile::after{height:80%}
  .tile .info{text-shadow:0 1px 6px rgba(0,0,0,.7)}
  img,svg,video{max-width:100%}
  .wrap,.wrap>*{min-width:0}
}
@media (max-width:1000px){
  .two>*,.layout>*,.dgrid>*,.ac-grid>*,.cards>*,.hero>*,.list2>*,.upgrid>*,.authwrap>*{min-width:0}
  .pager{flex-wrap:wrap}
}

/* Verwaltung: Autor ändern */
.ownchg{margin-top:4px;font-size:13px}
.ownchg summary{cursor:pointer;color:var(--muted)}
.ownchg form{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.ownchg input{width:130px;height:32px;background:var(--panel);border:1px solid #33404f;border-radius:6px;color:var(--text);padding:0 8px;font:inherit}
.ownchg .gh{height:32px;padding:0 10px}
