*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef1f5;color:#20242a}.topbar{background:#18202b;color:white;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;position:sticky;top:0;z-index:20;box-shadow:0 5px 18px rgba(0,0,0,.18)}.brand{font-weight:900;font-size:22px;color:white;text-decoration:none;letter-spacing:.2px}.topbar nav a{color:white;text-decoration:none;margin-left:8px;padding:8px 10px;border-radius:999px;font-size:14px}.topbar nav a:hover{background:#2d3745}.container{max-width:1180px;margin:22px auto;padding:0 14px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr) 260px;gap:18px}.columns{display:grid;grid-template-columns:280px 1fr;gap:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:white;border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(15,23,42,.08);margin-bottom:18px;border:1px solid rgba(148,163,184,.25)}.feed-card{padding:0;overflow:hidden}.feed-inner{padding:16px 18px}.composer{padding:16px}.composer-top{display:flex;gap:12px;align-items:flex-start}.composer textarea{min-height:62px;border-radius:18px;background:#f8fafc}.composer-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.muted{color:#68707d}.small{font-size:13px}.btn,button{border:0;background:#2563eb;color:white;padding:10px 14px;border-radius:11px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:700}.btn.secondary{background:#475569}.btn.danger,.danger{background:#dc2626!important}.btn.ghost{background:#f1f5f9;color:#172033}.btn.small,button.small{padding:6px 9px;font-size:13px}input,textarea,select{width:100%;padding:11px;border:1px solid #cdd4df;border-radius:10px;margin:7px 0 12px;background:white}textarea{min-height:90px;resize:vertical}.post-head{display:flex;gap:12px;align-items:center}.post-head a{color:#111827;text-decoration:none}.avatar,.ava{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#cbd5e1;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.avatar.big,.avatarbig{width:120px;height:120px}.avatar.sm{width:34px;height:34px}.post-content{font-size:16px;line-height:1.45;margin:14px 0 4px;white-space:normal}.post-img{width:100%;max-height:620px;object-fit:cover;display:block;margin-top:12px;background:#e5e7eb}.post-img.contain{object-fit:contain;background:#f8fafc}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;border-top:1px solid #eef2f7;padding-top:12px}.comment{background:#f2f5f9;padding:10px;border-radius:12px;margin-top:8px}.row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eef2f7;padding:10px 0}.row:last-child{border-bottom:0}.table,table{width:100%;border-collapse:collapse}.table th,.table td,td,th{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left}.notice{background:#fff7cc;border:1px solid #facc15;border-radius:12px;padding:12px;margin-bottom:14px}.alert{background:#e8fff0;border:1px solid #b7e5c7;color:#145b2c;padding:10px;border-radius:12px;margin-bottom:15px}.error{background:#ffecec;color:#a40000;padding:10px;border-radius:10px}.big{font-size:42px;font-weight:800;margin:10px 0}.profile{display:flex;gap:20px;align-items:center}.spacer{flex:1}.tag{background:#eef2ff;color:#1e3a8a;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px}.pill{display:inline-block;background:#f1f5f9;border-radius:999px;padding:7px 11px;margin:3px;text-decoration:none;color:#111827}.wide{min-height:400px}.chat{max-height:420px;overflow:auto;background:#f7f7f7;padding:10px;border-radius:12px;margin-bottom:12px}.msg{background:#fff;padding:10px;border-radius:12px;margin:8px 0;max-width:75%}.msg.mine{margin-left:auto;background:#e8f0ff}.search{display:flex;gap:8px}.foot{text-align:center;color:#777;padding:25px}.unread{border-left:5px solid #2563eb}.sidebar-card h3{margin:0 0 10px}.quick-profile{text-align:center}.quick-profile .avatar{width:86px;height:86px}.statline{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.stat{background:#f8fafc;border-radius:14px;padding:10px;flex:1;text-align:center}.stat b{display:block;font-size:20px}.empty{text-align:center;color:#64748b;padding:25px}.file-label{display:inline-block;background:#f1f5f9;color:#172033;padding:9px 12px;border-radius:999px;cursor:pointer}.file-label input{display:none}.preview{display:none;max-width:170px;border-radius:12px;margin-top:8px}.narrow{max-width:720px;margin-left:auto;margin-right:auto}@media(max-width:1050px){.layout{grid-template-columns:230px minmax(0,1fr)}.rightbar{display:none}}@media(max-width:760px){.layout,.columns{grid-template-columns:1fr}.topbar{display:block}.topbar nav{margin-top:10px}.topbar nav a{display:inline-block;margin:3px}.container{margin-top:14px}.profile{display:block}.table,table{font-size:13px}.composer-top{display:block}.post-img{max-height:none}.msg{max-width:92%}}

.albumgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:12px 0 24px}.albumgrid.compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:0}.albumcard{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px;text-decoration:none;color:#111;box-shadow:0 6px 18px rgba(0,0,0,.05)}.albumcard:hover{transform:translateY(-1px)}.albumcover{height:130px;border-radius:13px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px}.albumcover img{width:100%;height:100%;object-fit:cover}.albumcover span{font-size:42px}.albumcard small{display:block;color:#6b7280;margin-top:4px}.albumhead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.photocard{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 6px 18px rgba(0,0,0,.05)}.photocard img{width:100%;height:210px;object-fit:cover;border-radius:14px}.photocard p{margin:8px 0}.mini{display:inline-block;margin-top:8px;font-size:13px}.danger{color:#b91c1c!important}.btn.danger{border-color:#fecaca;background:#fff5f5}@media(max-width:750px){.albumhead{display:block}.photogrid{grid-template-columns:1fr}.albumcover{height:180px}}

.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.form-grid .wide{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn.secondary{background:#eef2ff;color:#1e293b}
.btn.danger{background:#dc2626;color:white}
.btn.small{padding:7px 10px;font-size:14px}
.muted{color:#64748b;font-size:14px}
.hero-event h1{margin-top:10px}

.tag{font-weight:700;text-decoration:none}.mention{font-weight:700;text-decoration:none}.tag-pill{display:inline-flex;gap:6px;align-items:center;margin:4px;padding:7px 10px;border-radius:999px;background:#f0f2f5;text-decoration:none}.tag-pill span{font-size:12px;opacity:.7}.shared-box{border:1px solid #d8dde6;border-radius:14px;margin:12px 16px;padding:12px;background:#fafbfc}.shared-text{margin:8px 0}.shared-img{max-width:100%;max-height:260px;border-radius:12px;margin-top:8px}.single-main{grid-template-columns:1fr}.small{font-size:12px}

.badge{display:inline-block;background:#f59e0b;color:#111827;padding:7px 10px;border-radius:999px;font-weight:800;margin-right:8px;font-size:13px}


/* Phase 12: Start- und Login-Design */
body{background:linear-gradient(135deg,#eaf1ff 0%,#f6f8fb 42%,#edf6f3 100%)}
body:has(.auth-hero) .container{max-width:1240px;margin-top:0}
.auth-hero{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(0,1.05fr) 430px;gap:34px;align-items:center;padding:38px 0 22px;position:relative;overflow:hidden}
.auth-hero:before{content:"";position:absolute;inset:20px auto auto -140px;width:360px;height:360px;border-radius:50%;background:rgba(37,99,235,.16);filter:blur(4px);z-index:-1}
.auth-hero:after{content:"";position:absolute;right:-130px;bottom:40px;width:300px;height:300px;border-radius:50%;background:rgba(16,185,129,.14);filter:blur(5px);z-index:-1}
.auth-hero.compact{grid-template-columns:minmax(0,.9fr) 430px;min-height:auto;padding-top:52px}
.auth-left{padding:28px 10px}.auth-logo-badge{width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0f172a);color:white;font-weight:900;font-size:26px;letter-spacing:.5px;box-shadow:0 18px 44px rgba(37,99,235,.33);margin-bottom:22px}.auth-left h1{font-size:clamp(38px,6vw,68px);line-height:.95;margin:0 0 18px;color:#0f172a;letter-spacing:-2px}.auth-subtitle{font-size:20px;line-height:1.5;color:#475569;max-width:680px;margin:0 0 24px}.auth-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:720px}.auth-feature-grid div{background:rgba(255,255,255,.74);border:1px solid rgba(148,163,184,.35);border-radius:20px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.07);backdrop-filter:blur(8px)}.auth-feature-grid strong{display:block;color:#0f172a;font-size:17px;margin-bottom:5px}.auth-feature-grid span{display:block;color:#64748b;font-size:14px;line-height:1.35}.auth-card-wrap{position:relative}.auth-card{border-radius:26px;padding:28px;box-shadow:0 24px 70px rgba(15,23,42,.16);border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}.auth-card h2,.auth-card h1{font-size:32px;margin:0 0 8px;color:#0f172a}.auth-card label{font-weight:800;color:#1f2937}.auth-card input{padding:14px 15px;border-radius:14px;background:#f8fafc;border:1px solid #d9e1ee;font-size:15px}.auth-card input:focus{outline:3px solid rgba(37,99,235,.15);border-color:#2563eb;background:white}.auth-submit,.btn.full{width:100%;text-align:center;padding:14px 16px;border-radius:14px;font-size:16px}.auth-submit{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 12px 24px rgba(37,99,235,.25)}.auth-divider{display:flex;align-items:center;gap:12px;color:#64748b;font-size:13px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}.auth-links{text-align:center;color:#64748b;margin-top:12px}.auth-links a{color:#475569;text-decoration:none}.auth-checks{margin:12px 0 0;padding:0;list-style:none}.auth-checks li{margin:10px 0;padding-left:28px;position:relative;color:#334155;font-weight:700}.auth-checks li:before{content:"✓";position:absolute;left:0;top:-1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#166534;font-size:13px}.register-info .auth-subtitle{max-width:560px}.footer{background:transparent;text-align:center;color:#64748b;padding:28px 12px}.footer a{color:#475569;text-decoration:none;font-weight:700}
@media(max-width:900px){.auth-hero,.auth-hero.compact{grid-template-columns:1fr;gap:16px;padding:20px 0}.auth-left{text-align:center}.auth-logo-badge{margin-left:auto;margin-right:auto}.auth-subtitle{margin-left:auto;margin-right:auto}.auth-feature-grid{grid-template-columns:1fr}.auth-card{padding:22px}.auth-left h1{letter-spacing:-1px}}
@media(max-width:560px){.auth-hero{padding-top:10px}.auth-left h1{font-size:38px}.auth-subtitle{font-size:17px}.auth-feature-grid{display:none}.auth-logo-badge{width:68px;height:68px;border-radius:20px;font-size:22px}.auth-card h2,.auth-card h1{font-size:27px}}


/* Phase 12d: Herz-Like unter Beiträgen */
.actions .heart-like{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;display:inline-flex;align-items:center;gap:7px}
.actions .heart-like:hover{background:#ffe4e6;color:#9f1239}
.actions .heart-like .heart{font-size:20px;line-height:1;font-weight:900}
.actions .heart-like.liked{background:#be123c;color:#fff;border-color:#be123c}
.actions .heart-like.liked .heart{color:#fff}

/* Phase 13: Reaktionen und Kommentar-Antworten */
.reaction-wrap{margin-top:10px;border-top:1px solid #eef2f7;padding-top:10px}
.reaction-buttons{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.reaction-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:7px 10px;text-decoration:none;color:#334155;font-size:13px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.reaction-btn span{font-size:18px;line-height:1}.reaction-btn b{font-weight:800}.reaction-btn em{font-style:normal;background:#f1f5f9;border-radius:999px;padding:2px 6px;color:#475569;font-size:12px}
.reaction-btn:hover{background:#f8fafc;transform:translateY(-1px)}.reaction-btn.active{background:#fff7ed;border-color:#fdba74;color:#9a3412}.reaction-btn.active em{background:#fed7aa;color:#9a3412}
.reaction-summary{margin-top:8px;color:#64748b;font-size:13px}.comment-main{border:1px solid #e5e7eb;background:#fff;border-radius:16px;margin:12px 0;padding:12px}.comment.reply{background:#f8fafc;border:1px solid #e2e8f0;margin:10px 0 0 32px}.comment-text{margin-top:8px;line-height:1.42}.comment-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.comment-actions a{text-decoration:none}.comment-replies{margin-top:10px;border-left:3px solid #e2e8f0;padding-left:10px}@media(max-width:650px){.reaction-btn b{display:none}.comment.reply{margin-left:10px}.reaction-buttons{gap:5px}.reaction-btn{padding:7px 8px}}

/* Phase 14 Medien */
.video-input{max-width:260px;margin:0}
.media-grid{display:grid;gap:4px;margin-top:12px;background:#e5e7eb}
.media-grid.media-count-2{grid-template-columns:1fr 1fr}.media-grid.media-count-3{grid-template-columns:2fr 1fr}.media-grid.media-count-4{grid-template-columns:1fr 1fr}
.media-grid.media-count-3 .media-tile:first-child{grid-row:span 2}
.media-tile{position:relative;display:block;min-height:180px;overflow:hidden;background:#dbe2ea}.media-tile img{width:100%;height:100%;object-fit:cover;display:block}.hidden-media{display:none}.media-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.48);color:#fff;font-size:42px;font-weight:900}
.video-box{position:relative;width:100%;padding-top:56.25%;background:#111;margin-top:12px;border-radius:0;overflow:hidden}.video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lightbox-overlay{position:fixed;inset:0;background:rgba(2,6,23,.92);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-overlay img{max-width:96vw;max-height:90vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.45)}.lightbox-close{position:fixed;top:14px;right:18px;background:#fff;color:#111;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}
@media(max-width:760px){.media-grid,.media-grid.media-count-2,.media-grid.media-count-3,.media-grid.media-count-4{grid-template-columns:1fr}.media-grid.media-count-3 .media-tile:first-child{grid-row:auto}.media-tile{min-height:220px}.video-input{max-width:100%}}

/* Phase 15: öffentliche Startseite / Landingpage */
.public-landing{padding:18px 0 34px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.1fr) 390px;gap:30px;align-items:center;padding:42px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.92));overflow:hidden;position:relative}.landing-hero:before{content:"";position:absolute;right:-100px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(37,99,235,.13)}.landing-copy{position:relative;z-index:1}.eyebrow{display:inline-block;margin:0 0 12px;padding:8px 12px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:900;font-size:13px}.landing-copy h1{font-size:clamp(38px,6vw,68px);line-height:.95;margin:0 0 16px;color:#0f172a;letter-spacing:-2px}.lead{font-size:20px;line-height:1.5;color:#475569;max-width:760px}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.hero-btn{font-size:17px;padding:14px 19px;border-radius:15px}.landing-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px;max-width:720px}.landing-stats div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.landing-stats b{display:block;font-size:28px;color:#0f172a}.landing-stats span{display:block;color:#64748b;font-weight:700;font-size:13px}.landing-panel{position:relative;z-index:1}.phone-card{background:#0f172a;border-radius:32px;padding:16px;box-shadow:0 28px 70px rgba(15,23,42,.3);border:8px solid #1e293b}.phone-top{display:flex;gap:6px;margin:4px 0 16px}.phone-top span{width:9px;height:9px;border-radius:999px;background:#94a3b8}.fake-post{background:#fff;border-radius:19px;padding:16px;margin-bottom:12px;color:#0f172a}.fake-post p{margin:6px 0 0;color:#64748b}.fake-post.small{padding:13px}.landing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.feature-card{padding:22px}.feature-icon{font-size:34px;margin-bottom:10px}.feature-card h3{margin:0 0 8px}.feature-card p{color:#64748b;line-height:1.45;margin:0}.landing-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.public-box{padding:22px}.public-item{display:flex;gap:12px;align-items:center;border-top:1px solid #eef2f7;padding:13px 0}.public-item:first-of-type{border-top:0}.public-item img,.public-thumb{width:62px;height:62px;border-radius:16px;object-fit:cover;flex:0 0 auto}.public-thumb{background:#eef2ff;display:grid;place-items:center;font-size:28px}.public-item p{margin:4px 0 0;color:#64748b;font-size:14px}.btn.hero-btn.secondary{background:#eef2ff;color:#1e293b}
@media(max-width:980px){.landing-hero{grid-template-columns:1fr;padding:28px}.landing-panel{display:none}.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-two{grid-template-columns:1fr}.landing-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-copy h1{letter-spacing:-1px}}
@media(max-width:560px){.public-landing{padding-top:4px}.landing-hero{padding:22px;border-radius:22px}.landing-copy h1{font-size:38px}.lead{font-size:17px}.landing-actions .btn{width:100%;text-align:center}.landing-grid{grid-template-columns:1fr}.landing-stats{grid-template-columns:1fr 1fr}.auth-logo-badge{margin-bottom:14px}.public-item{align-items:flex-start}}

/* Phase 16 Admin Design */
.admin-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,#111827,#243b72);color:#fff;border-radius:22px;padding:28px;margin:0 0 18px;box-shadow:0 18px 45px rgba(17,24,39,.25)}
.admin-hero h1{margin:.1rem 0 .4rem;font-size:2rem}.admin-hero p{margin:0;color:rgba(255,255,255,.82)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:#bcd3ff!important}.admin-quick{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-quick .btn{white-space:nowrap}.admin-metrics .card{border:1px solid rgba(29,78,216,.08)}.admin-metrics.compact .card{min-height:150px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-row,.moderation-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-top:1px solid #eef2f7;padding:13px 0}.mini-row:first-child,.moderation-row:first-child{border-top:0}.moderation-row p{margin:.35rem 0}.mod-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:155px}.btn.danger,button.danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn.danger:hover,button.danger:hover{filter:brightness(.95)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-tabs a{display:inline-block;padding:9px 12px;border-radius:999px;background:#f1f5f9;color:#334155;text-decoration:none;font-weight:700}.admin-tabs a.active{background:#1d4ed8;color:#fff}.moderation-thumb{max-width:140px;max-height:90px;border-radius:12px;object-fit:cover;display:block;margin-top:8px}.photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.photo-admin-card{border:1px solid #e5e7eb;border-radius:16px;padding:10px;background:#fff}.photo-admin-card img{width:100%;height:130px;object-fit:cover;border-radius:12px}.photo-admin-card p{font-size:.9rem}.badge{display:inline-block;background:#f59e0b;color:#111827;border-radius:999px;padding:5px 9px;font-weight:800;font-size:.8rem}@media(max-width:800px){.admin-hero{display:block}.admin-quick{justify-content:flex-start;margin-top:14px}.two-col{grid-template-columns:1fr}.moderation-row,.mini-row{display:block}.mod-actions{justify-content:flex-start;margin-top:10px}.admin-hero h1{font-size:1.45rem}}

/* Phase 17 Messenger */
.messenger-page{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}.messenger-list{padding:0;overflow:hidden}.messenger-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px;border-bottom:1px solid #eef2f7}.messenger-head h1{margin:0 0 3px}.new-chat-form{padding:14px 18px;border-bottom:1px solid #eef2f7}.new-chat-form label{font-weight:800}.messenger-list h2{font-size:16px;margin:14px 18px 8px}.conversation-list{max-height:620px;overflow:auto}.conversation{display:flex;gap:11px;align-items:flex-start;padding:12px 18px;text-decoration:none;color:#111827;border-top:1px solid #f1f5f9;position:relative}.conversation:hover,.conversation.active{background:#eff6ff}.conversation.has-unread{background:#f8fbff}.conv-main{min-width:0;display:block;flex:1}.conv-main strong,.conv-main small,.conv-main em{display:block}.conv-main small{color:#64748b;font-size:12px;margin:2px 0}.conv-main em{font-style:normal;color:#475569;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot{min-width:24px;height:24px;border-radius:999px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:12px;padding:0 7px}.messenger-chat{min-height:680px;padding:0;overflow:hidden;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid #eef2f7}.chat-header h2{margin:0}.chat-header .btn{margin-left:auto}.chat-modern{background:linear-gradient(180deg,#f8fafc,#eef2f7);border-radius:0;max-height:none;min-height:460px;flex:1;margin:0;padding:18px;overflow:auto}.chat-modern .msg{background:transparent;box-shadow:none;padding:0;margin:10px 0;max-width:78%;display:flex}.chat-modern .msg.mine{margin-left:auto;justify-content:flex-end}.chat-modern .msg.theirs{margin-right:auto}.msg-bubble{background:#fff;padding:11px 13px;border-radius:16px;box-shadow:0 5px 16px rgba(15,23,42,.07);min-width:160px}.msg.mine .msg-bubble{background:#dbeafe}.msg-bubble p{margin:0 0 6px;white-space:pre-wrap;line-height:1.45}.msg-meta{display:flex;gap:10px;align-items:center;justify-content:flex-end;color:#64748b}.link-button{background:transparent!important;color:#64748b!important;padding:0!important;border-radius:0!important;font-size:12px;font-weight:600}.link-button:hover{text-decoration:underline}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;padding:14px 18px;border-top:1px solid #eef2f7;background:#fff}.chat-compose textarea{min-height:54px;max-height:150px;margin:0}.chat-compose button{height:54px}.messenger-empty{padding:80px 20px}@media(max-width:850px){.messenger-page{grid-template-columns:1fr}.messenger-chat{min-height:520px}.conversation-list{max-height:360px}.chat-modern{min-height:360px}.chat-compose{grid-template-columns:1fr}.chat-compose button{height:auto}.chat-modern .msg{max-width:92%}}

/* Phase 18: Handy-App-Optik */
.mobile-menu-toggle{display:none;border:1px solid rgba(255,255,255,.18);background:#263241;color:#fff;border-radius:999px;padding:9px 12px;font-weight:900}
.mobile-bottom-nav{display:none}
.touch-card{transition:transform .15s ease,box-shadow .15s ease}.touch-card:active{transform:scale(.99)}
@media(max-width:760px){
  body{padding-bottom:78px;background:#f3f6fb;-webkit-tap-highlight-color:transparent}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
  .brand{font-size:20px;max-width:62%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-toggle{display:inline-flex;align-items:center;gap:6px;width:auto;margin:0}
  .topbar nav{display:none;position:absolute;left:10px;right:10px;top:58px;margin:0;background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;box-shadow:0 18px 45px rgba(0,0,0,.32);max-height:74vh;overflow:auto}
  .topbar nav.open{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .topbar nav a,.topbar nav .badge{display:block;margin:0;text-align:center;border-radius:13px;background:#1f2937;padding:11px 8px;font-size:13px}
  .container{padding:0 10px;margin:12px auto}
  .card{border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 5px 18px rgba(15,23,42,.07)}
  .feed-inner{padding:13px}.composer{padding:13px}.composer-actions{gap:8px}.composer-actions .btn,.composer-actions button{width:100%;text-align:center}
  .post-head{gap:10px}.avatar,.ava{width:42px;height:42px}.post-content{font-size:15.5px;line-height:1.48}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.actions a,.actions button,.actions .btn{width:100%;text-align:center;padding:10px 8px}
  .grid{grid-template-columns:1fr}.row{align-items:flex-start}.search{display:block}.search .btn,.search button{width:100%}
  input,textarea,select{font-size:16px;border-radius:13px}button,.btn{border-radius:13px;min-height:42px}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #dbe3ee;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -10px 30px rgba(15,23,42,.12)}
  .mobile-bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#334155;font-size:11px;font-weight:800;min-height:52px;border-radius:14px}
  .mobile-bottom-nav a:active,.mobile-bottom-nav a:hover{background:#eef2ff;color:#1d4ed8}.mobile-bottom-nav span{font-size:21px;line-height:1}.mobile-bottom-nav b{font-size:11px}.mobile-bottom-nav em{position:absolute;right:18%;top:4px;background:#dc2626;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:11px;font-style:normal;padding:0 5px}
  .messenger-page{gap:12px}.messenger-head,.chat-header{padding:13px}.conversation{padding:12px}.messenger-chat{border-radius:18px}.chat-modern{padding:12px}.msg-bubble{border-radius:17px}.chat-compose{position:sticky;bottom:70px;z-index:10;padding:10px;background:#fff}
  .landing-hero,.auth-hero{border-radius:20px}.landing-copy h1{font-size:34px;letter-spacing:-.5px}.lead{font-size:16px}.landing-stats div{padding:10px}.landing-stats b{font-size:22px}
  .admin-hero{border-radius:18px;padding:18px}.admin-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.admin-tabs a{white-space:nowrap}
}


/* Phase 19 Profilseite Pro */
.profile-pro{padding:0;overflow:hidden}.profile-cover{height:260px;background:linear-gradient(135deg,#1d4ed8,#111827);background-size:cover;background-position:center;position:relative}.profile-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.05),rgba(15,23,42,.34))}.profile-cover-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.45);font-weight:900;font-size:44px;letter-spacing:-1px}.profile-pro-main{display:flex;gap:18px;align-items:flex-end;padding:0 22px 18px;margin-top:-58px;position:relative;z-index:2}.profile-avatar-pro{width:128px;height:128px;border-radius:50%;object-fit:cover;background:#cbd5e1;border:5px solid #fff;box-shadow:0 10px 28px rgba(15,23,42,.22)}.profile-title-block{min-width:0;flex:1}.profile-title-block h1{margin:0 0 4px;font-size:34px;line-height:1.05}.profile-meta{margin:6px 0 0;color:#334155;font-weight:700}.profile-actions-pro{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-stats-pro{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #eef2f7}.profile-stats-pro div{text-align:center;padding:16px 8px;border-left:1px solid #eef2f7}.profile-stats-pro div:first-child{border-left:0}.profile-stats-pro b{display:block;font-size:25px;color:#0f172a}.profile-stats-pro span{display:block;color:#64748b;font-weight:700;font-size:13px}.profile-layout-pro{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.section-head-pro{display:flex;align-items:center;justify-content:space-between;gap:10px}.interest-list{display:flex;gap:7px;flex-wrap:wrap}.interest-list span{background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px}.friend-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.friend-mini-grid a{text-decoration:none;color:#111827;text-align:center;min-width:0}.friend-mini-grid img{width:76px;height:76px;border-radius:16px;object-fit:cover;background:#e5e7eb;display:block;margin:0 auto 6px}.friend-mini-grid span{display:block;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.edit-preview-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;margin:4px 0 10px;border:3px solid #fff;box-shadow:0 6px 16px rgba(15,23,42,.14)}.edit-preview-cover{width:100%;height:110px;border-radius:14px;object-fit:cover;display:block;margin:4px 0 10px;background:#e5e7eb}@media(max-width:850px){.profile-cover{height:190px}.profile-pro-main{display:block;text-align:center;margin-top:-54px;padding:0 14px 14px}.profile-avatar-pro{width:116px;height:116px}.profile-title-block h1{font-size:28px}.profile-actions-pro{justify-content:center;margin-top:12px}.profile-stats-pro{grid-template-columns:repeat(2,1fr)}.profile-stats-pro div:nth-child(3){border-left:0;border-top:1px solid #eef2f7}.profile-stats-pro div:nth-child(4){border-top:1px solid #eef2f7}.profile-layout-pro{grid-template-columns:1fr}.edit-preview-grid{grid-template-columns:1fr}.friend-mini-grid{grid-template-columns:repeat(3,1fr)}}

/* Phase 20 Freunde Pro */
.friends-pro-head h1{margin-bottom:6px}.friend-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.friend-tabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:#f3f4f6;color:#111;text-decoration:none;font-weight:700}.friend-tabs a.active{background:#111827;color:#fff}.friend-tabs b{background:rgba(255,255,255,.28);padding:2px 7px;border-radius:999px;font-size:12px}.friend-pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.friend-pro-card{border:1px solid #e5e7eb;border-radius:18px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.friend-pro-main{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.friend-pro-main img{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#f3f4f6}.friend-pro-main span{display:flex;flex-direction:column;gap:2px}.friend-pro-main small{color:#6b7280}.friend-pro-main em{font-style:normal;color:#2563eb;font-size:12px}.friend-pro-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-stats-pro{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}@media(max-width:720px){.friend-pro-grid{grid-template-columns:1fr}.friend-tabs a{flex:1;justify-content:center}.friend-pro-card{border-radius:14px}.friend-pro-actions .btn{flex:1;text-align:center}}

/* Phase 21 Benachrichtigungen Pro */
.notif-wrap{position:relative;display:inline-block;margin-left:8px}.notif-toggle{position:relative;border:0;background:#263241;color:#fff;padding:8px 12px;border-radius:999px;font-size:14px;font-weight:800;min-height:auto}.notif-toggle em{position:absolute;right:-6px;top:-8px;background:#dc2626;color:#fff;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:12px;font-style:normal;padding:0 5px}.notif-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:365px;max-width:calc(100vw - 24px);background:#fff;color:#111827;border:1px solid #dbe3ee;border-radius:18px;box-shadow:0 22px 60px rgba(15,23,42,.28);overflow:hidden;z-index:100}.notif-wrap.open .notif-dropdown{display:block}.notif-head,.notif-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:#f8fafc}.notif-head a,.notif-foot a{color:#2563eb!important;background:transparent!important;padding:0!important;margin:0!important;font-size:13px}.notif-item{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:10px;margin:0!important;padding:11px 14px!important;border-top:1px solid #eef2f7;border-radius:0!important;color:#111827!important;text-decoration:none!important;background:#fff!important;text-align:left!important}.notif-item.is-new{background:#eff6ff!important}.notif-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;font-weight:900}.notif-item b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item small{display:block;color:#475569;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item em{display:block;color:#94a3b8;font-size:12px;font-style:normal;margin-top:2px}.notif-empty{padding:18px;margin:0;color:#64748b}.notif-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.notif-tabs{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.notif-tab{display:inline-flex;gap:7px;align-items:center;background:#f1f5f9;color:#111827;text-decoration:none;border-radius:999px;padding:9px 12px;font-weight:800}.notif-tab.active{background:#111827;color:#fff}.notif-tab b{background:rgba(255,255,255,.45);border-radius:999px;padding:2px 7px;font-size:12px}.notif-list-pro{display:flex;flex-direction:column;gap:10px}.notif-row{display:grid;grid-template-columns:46px 48px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:0}.notif-row.unread{background:#f8fbff}.notif-row-icon{width:46px;height:46px;border-radius:16px;background:#eef2ff;display:grid;place-items:center;font-size:22px}.notif-row-body p{margin:4px 0}.notif-row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.notif-wrap{display:none}.notif-page-head{display:block}.notif-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.notif-tab{white-space:nowrap}.notif-row{grid-template-columns:40px minmax(0,1fr);align-items:start}.notif-row-icon{width:40px;height:40px;border-radius:14px;font-size:20px}.notif-row>.avatar{display:none}.notif-row-actions{grid-column:1/-1;justify-content:stretch}.notif-row-actions .btn{flex:1;text-align:center}.notif-dropdown{display:none!important}}

/* Phase 22b: robuster Fix für Handy-Menü und Glocke */
@media(max-width:760px){
  .topbar #topnav.open{display:flex!important;max-height:calc(100vh - 78px);overflow:auto;}
}
.notif-wrap.open .notif-dropdown{display:block!important;}
.notif-toggle{cursor:pointer;}
.mobile-menu-toggle{cursor:pointer;}
.badge.ok{background:#dcfce7;color:#166534;border:1px solid #86efac;padding:4px 8px;border-radius:999px;font-weight:700}.badge.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:4px 8px;border-radius:999px;font-weight:700}.ready-ok{border:2px solid #86efac}.ready-warn{border:2px solid #fca5a5}.checklist li{margin:8px 0}

/* Phase 25 public pages / SEO / share links */
.public-head{margin-bottom:18px;text-align:left}
.public-head h1{margin-bottom:8px}
.public-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.public-card{overflow:hidden}
.public-card h2{font-size:1.25rem;margin:10px 0 6px}
.public-card-icon{height:140px;border-radius:16px;background:linear-gradient(135deg,rgba(60,90,180,.12),rgba(180,60,120,.12));display:flex;align-items:center;justify-content:center;font-size:54px;margin-bottom:10px}
.public-detail{margin-bottom:18px}
.share-box{margin-top:16px;padding:12px;border-radius:14px;background:rgba(0,0,0,.035)}
.share-box label{display:block;font-weight:700;margin-bottom:8px}
.share-row{display:flex;gap:8px;align-items:center}
.share-row input{flex:1;min-width:0}
.public-more{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.share-row{display:block}.share-row .btn,.share-row button{width:100%;margin-top:8px}.public-card-icon{height:110px}}
/* Phase 25b Glocke-Fix */
.notif-toggle{display:inline-flex;align-items:center;gap:6px;text-decoration:none;line-height:1;}
.notif-toggle:focus{outline:3px solid rgba(37,99,235,.35);outline-offset:2px;}

/* Phase 26 Performance/Aufräumen */
.load-more-card{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;}
.cleanup-stats{flex-wrap:wrap;gap:10px;}
.cleanup-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.cleanup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08);}
.ok-box{padding:12px;border-radius:12px;background:rgba(46,160,67,.12);border:1px solid rgba(46,160,67,.25);}
@media(max-width:720px){.cleanup-row{align-items:flex-start;flex-direction:column}.load-more-card{flex-direction:column}}


/* Phase 26b: stabile Glocke per Klick, kein Hover-Flackern */
.notif-wrap{position:relative}
.notif-wrap:hover .notif-dropdown{display:none}
.notif-wrap.open .notif-dropdown{display:block!important}
.notif-toggle{cursor:pointer;user-select:none}
.notif-dropdown{pointer-events:auto}

/* Phase 27: Admin-Theme / Designsteuerung */
body{background:var(--theme-bg,#eef1f5)!important}
.topbar{background:var(--theme-secondary,#18202b)!important}
.brand{display:inline-flex;align-items:center;gap:9px}.brand-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;background:white}.btn,button,.auth-submit{background:var(--theme-primary,#2563eb)}.btn.secondary{background:var(--theme-secondary,#475569);color:#fff}.btn.ghost{background:#f1f5f9;color:#172033}.tag,.badge,.auth-logo-badge{background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-accent,#10b981))!important}.card,.albumcard,.photocard,.auth-card{border-radius:var(--theme-radius,18px)}.topbar nav a:hover,.mobile-bottom-nav a.has-count em,.notif-toggle em{background:var(--theme-primary,#2563eb)}
.auth-hero{position:relative}.auth-hero[style*="--hero-image"]:before{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.70)),var(--hero-image);background-size:cover;background-position:center;filter:none;width:auto;height:auto;z-index:-2}.auth-logo-img{width:92px;height:92px;object-fit:cover;border-radius:24px;box-shadow:0 16px 32px rgba(15,23,42,.18);background:white;padding:6px}.theme-admin-layout{align-items:start}.theme-preview-card{position:sticky;top:88px}.theme-preview-top{display:flex;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#f8fafc}.theme-preview-top img,.theme-preview-top span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;object-fit:cover;background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-accent,#10b981));color:white;font-weight:900}.theme-preview-top small{display:block;color:#64748b;margin-top:4px}.theme-preview-hero{width:100%;max-height:250px;object-fit:cover;border-radius:18px;margin:14px 0;background:#f1f5f9}.theme-preview-hero.empty{height:180px;display:grid;place-items:center;color:#64748b;border:1px dashed #cbd5e1}.theme-preview-actions{display:flex;gap:10px;flex-wrap:wrap}.theme-hero-admin{background:linear-gradient(135deg,var(--theme-secondary,#18202b),var(--theme-primary,#2563eb));color:white;border-radius:22px;padding:22px;margin-bottom:18px}.theme-hero-admin .btn.secondary{background:rgba(255,255,255,.18);color:white}.form-grid input[type=color]{height:48px;padding:3px}
@media(max-width:760px){.brand-logo{width:30px;height:30px}.theme-preview-card{position:static}.auth-logo-img{width:78px;height:78px}}
.landing-hero[style*="--hero-image"]{position:relative;overflow:hidden}.landing-hero[style*="--hero-image"]:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.66)),var(--hero-image);background-size:cover;background-position:center;z-index:0}.landing-hero[style*="--hero-image"]>*{position:relative;z-index:1}

/* Phase 28 Spiele */
.games-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.game-card{text-align:center;}
.game-icon{font-size:44px;margin:8px 0 4px;}
.game-layout{align-items:start;}
.game-stage{text-align:center;overflow:hidden;}
.game-stats{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:12px 0;font-size:18px;}
.dart-board{position:relative;margin:18px auto 0;width:min(440px,90vw);height:min(440px,90vw);border-radius:50%;background:radial-gradient(circle,#111 0 8%,#fef3c7 8% 17%,#ef4444 17% 28%,#111 28% 39%,#f8fafc 39% 51%,#2563eb 51% 64%,#111 64% 100%);box-shadow:inset 0 0 0 12px rgba(0,0,0,.22),0 16px 40px rgba(0,0,0,.18);}
.dart-target{position:absolute;width:54px;height:54px;border-radius:999px;border:3px solid #fff;background:var(--theme-accent);font-weight:900;font-size:26px;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);display:none;}
.reaction-box{height:220px;border-radius:var(--theme-radius);display:flex;align-items:center;justify-content:center;background:#e5e7eb;font-size:32px;font-weight:900;margin:16px 0;user-select:none;cursor:pointer;}
.reaction-box.ready{background:#fee2e2}.reaction-box.go{background:#bbf7d0}.reaction-box.tooSoon{background:#fecaca}
.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:420px;margin:18px auto 0;}
.memory-card{aspect-ratio:1;border:0;border-radius:14px;background:#dbeafe;font-size:30px;cursor:pointer;font-weight:900;box-shadow:0 6px 14px rgba(0,0,0,.12);}
.memory-card.open,.memory-card.done{background:#fff;}
.leaderboard{padding-left:22px;}
.leaderboard li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);}
@media(max-width:700px){.memory-grid{grid-template-columns:repeat(4,1fr);gap:7px}.memory-card{font-size:23px}.reaction-box{height:170px}.dart-target{width:48px;height:48px}}

/* Phase 29 Marktplatz / Kleinanzeigen */
.market-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(16,185,129,.10));}
.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;}
.market-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.market-cover{height:190px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;position:relative;color:#64748b;text-decoration:none;}
.market-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.market-cover span{font-size:54px;}
.market-card-body{padding:14px 16px 16px;}
.market-card h2{font-size:20px;margin:8px 0 4px;line-height:1.2;}
.market-card h2 a{color:#111827;text-decoration:none;}
.market-price{font-weight:900;color:var(--theme-primary,#2563eb);font-size:20px;margin:6px 0;}
.big-price{font-size:34px;margin:4px 0 8px;}
.sold-badge{position:absolute;right:10px;top:10px;background:#111827;color:#fff;border-radius:999px;padding:7px 10px;font-weight:900;font-size:13px;}
.sold-badge.big{position:static;display:inline-block;align-self:flex-start;font-size:15px;}
.market-card.sold{opacity:.78;}
.market-card.sold .market-cover img{filter:grayscale(.45);}
.market-detail-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;}
.market-detail-main{overflow:hidden;}
.market-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-top:14px;}
.market-img.empty{height:320px;border-radius:18px;background:#f1f5f9;display:grid;place-items:center;font-size:70px;color:#64748b;}
.market-gallery{display:grid;gap:8px;margin:-18px -18px 18px;}
.market-gallery.market-count-1{display:block;}
.market-gallery.market-count-1 .market-tile{height:auto;max-height:620px;}
.market-gallery.market-count-2{grid-template-columns:1fr 1fr;}
.market-gallery.market-count-3,.market-gallery.market-count-4{grid-template-columns:repeat(2,1fr);}
.market-tile{display:block;position:relative;min-height:180px;background:#e5e7eb;overflow:hidden;}
.market-tile img{width:100%;height:100%;object-fit:cover;display:block;}
.market-gallery.market-count-1 img{max-height:620px;object-fit:contain;background:#f8fafc;}
.market-tile.hidden-media{display:none;}
.market-card .pill,.market-detail-head .pill{background:#ecfeff;color:#155e75;}
@media(max-width:800px){.market-hero,.market-detail-head{display:block}.market-detail-layout{grid-template-columns:1fr}.market-gallery{margin:-18px -18px 14px}.market-cover{height:220px}.market-tile{min-height:145px}.big-price{font-size:28px}}

/* Phase 31 Spiele Pro */
.answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0}.checkout-rest{font-size:2rem;text-align:center;background:#f4f7fb;border-radius:var(--theme-radius);padding:18px;margin:14px 0}.field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.field-btn{border:0;border-radius:16px;padding:18px;font-weight:800;background:#f3f6fb;cursor:pointer}.field-btn:hover{background:var(--theme-primary);color:#fff}.iframe-wrap{position:relative;width:100%;height:680px;border-radius:var(--theme-radius);overflow:hidden;border:1px solid #dbe3ef;background:#111}.iframe-wrap iframe{width:100%;height:100%;border:0}.game-admin-row{border:1px solid #e5eaf2;border-radius:var(--theme-radius);padding:14px;margin:12px 0;background:#fff}.game-admin-row input,.game-admin-row textarea,.game-admin-row select{width:100%;box-sizing:border-box}.badge{display:inline-block;background:#eef2ff;border-radius:999px;padding:2px 8px;font-size:.8rem}.external-game .btn{margin:8px 0}@media(max-width:700px){.field-grid{grid-template-columns:repeat(3,1fr)}.iframe-wrap{height:520px}}


/* Phase 32 Videos */
.video-grid{align-items:stretch}.video-card{overflow:hidden}.video-preview{display:block;position:relative;min-height:170px;border-radius:var(--theme-radius);background:linear-gradient(135deg,#111827,#374151);overflow:hidden;text-decoration:none;margin-bottom:12px}.video-preview img{width:100%;height:190px;object-fit:cover;display:block}.video-placeholder{display:flex;align-items:center;justify-content:center;height:190px;font-size:4rem;color:#fff}.video-preview em{position:absolute;top:10px;left:10px;background:#dc2626;color:white;border-radius:999px;padding:5px 10px;font-style:normal;font-weight:800;font-size:.78rem}.video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:var(--theme-radius);overflow:hidden;background:#111827;margin:1rem 0}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-thumb{position:relative;display:block;border-radius:var(--theme-radius);overflow:hidden;background:#111827;margin:1rem 0;color:white;text-decoration:none}.video-thumb img{width:100%;max-height:520px;object-fit:cover;display:block}.video-thumb span{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.65);padding:10px 14px;border-radius:999px}.video-linkbox{padding:2rem;border:1px dashed #94a3b8;border-radius:var(--theme-radius);background:#f8fafc;margin:1rem 0}.reaction-row{display:flex;gap:8px;flex-wrap:wrap;margin:1rem 0}.report-box{margin-top:1rem;padding:1rem;border-radius:var(--theme-radius);background:#f8fafc}.comment{border-top:1px solid #e5e7eb;padding:12px 0}.video-view h1{margin-bottom:.25rem}@media(max-width:760px){.video-preview,.video-preview img,.video-placeholder{height:auto;min-height:150px}.video-placeholder{height:150px}.reaction-row .btn{padding:8px 10px}}

/* Phase 35 Mobile-App-Feinschliff */
:root{--mobile-nav-h:72px;--safe-bottom:env(safe-area-inset-bottom,0px)}
.mobile-fab-wrap,.mobile-top-button{display:none}
.topbar .brand{display:inline-flex;align-items:center;gap:9px;min-height:36px}.brand-logo{flex:none}.topbar nav a.active,.mobile-bottom-nav a.active{background:rgba(255,255,255,.16);font-weight:900}.mobile-bottom-nav a.active{color:var(--theme-primary,#2563eb)}
@media(max-width:860px){
  html{scroll-behavior:smooth} body{padding-bottom:calc(var(--mobile-nav-h) + var(--safe-bottom) + 10px);-webkit-tap-highlight-color:transparent}.container{padding:0 10px;margin-top:12px}.topbar{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.brand{max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px!important}.mobile-menu-toggle{display:inline-flex!important;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 12px;min-height:42px}.topbar nav{position:fixed;left:10px;right:10px;top:62px;max-height:calc(100vh - 150px);overflow:auto;background:rgba(24,32,43,.98);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:10px;box-shadow:0 22px 60px rgba(0,0,0,.35);display:none;margin:0;z-index:90}.topbar nav.open{display:grid;grid-template-columns:1fr 1fr;gap:7px}.topbar nav a,.topbar nav .badge,.topbar nav .notif-wrap{display:block;margin:0;width:100%;text-align:left}.topbar nav a{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.06);min-height:44px}.notif-wrap{position:relative}.notif-dropdown{position:fixed!important;left:10px!important;right:10px!important;top:74px!important;width:auto!important;max-height:70vh;overflow:auto;border-radius:20px;z-index:120}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + var(--safe-bottom));padding:6px 7px calc(6px + var(--safe-bottom));display:flex!important;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(148,163,184,.35);box-shadow:0 -10px 30px rgba(15,23,42,.12);z-index:75}.mobile-bottom-nav a{position:relative;flex:0 0 68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#334155;border-radius:18px;min-height:58px;padding:5px 3px}.mobile-bottom-nav a span{font-size:21px;line-height:1}.mobile-bottom-nav a b{font-size:11px;line-height:1.05}.mobile-bottom-nav a em{position:absolute;right:8px;top:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-fab-wrap{display:block;position:fixed;right:14px;bottom:calc(var(--mobile-nav-h) + var(--safe-bottom) + 14px);z-index:86}.mobile-fab{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;font-size:30px;line-height:1;background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-accent,#10b981));box-shadow:0 16px 34px rgba(37,99,235,.34)}.mobile-fab-menu{display:none;position:absolute;right:0;bottom:66px;min-width:190px;background:#fff;border:1px solid #dbe3ef;border-radius:20px;box-shadow:0 22px 60px rgba(15,23,42,.22);padding:8px}.mobile-fab-wrap.open .mobile-fab-menu{display:block}.mobile-fab-menu a{display:block;color:#111827;text-decoration:none;padding:12px;border-radius:14px;font-weight:800}.mobile-fab-menu a:hover{background:#f1f5f9}.mobile-top-button{position:fixed;left:14px;bottom:calc(var(--mobile-nav-h) + var(--safe-bottom) + 14px);z-index:86;width:46px;height:46px;border-radius:999px;background:#111827;box-shadow:0 12px 26px rgba(15,23,42,.25);opacity:0;pointer-events:none;transition:.18s}.mobile-top-button.visible{display:grid;place-items:center;opacity:1;pointer-events:auto}.card{border-radius:18px;padding:14px;margin-bottom:13px}.feed-inner,.composer{padding:14px}.post-head{gap:10px}.post-content{font-size:15px;line-height:1.5}.actions{gap:7px}.actions .btn,.actions button,.reaction-row .btn{flex:1 1 auto;text-align:center;min-height:42px;padding:10px 11px}.grid,.games-grid,.market-grid,.video-grid{grid-template-columns:1fr!important;gap:12px}.layout,.columns,.market-detail-layout,.game-layout{grid-template-columns:1fr!important}.leftbar,.rightbar{display:none!important}.search,.composer-actions,.market-hero,.albumhead,.market-detail-head{display:block}.search .btn,.composer-actions .btn{width:100%;margin-top:6px}.row{align-items:flex-start}.avatar,.ava{width:42px;height:42px}.avatar.big,.avatarbig{width:108px;height:108px}.profile{display:block;text-align:center}.profile .actions{justify-content:center}.post-img{border-radius:0;max-height:none}.media-grid,.market-gallery{border-radius:16px;overflow:hidden}.table,table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.table th,.table td,td,th{padding:9px}.form-grid{grid-template-columns:1fr!important}.form-grid .wide{grid-column:auto}.photogrid,.albumgrid{grid-template-columns:1fr 1fr}.photocard img,.albumcover{height:150px}.iframe-wrap{height:430px}.dart-board{width:min(330px,88vw);height:min(330px,88vw)}.auth-hero,.landing-hero{border-radius:0}.footer,.foot{padding-bottom:calc(var(--mobile-nav-h) + var(--safe-bottom) + 28px)}
}
@media(max-width:460px){.topbar nav.open{grid-template-columns:1fr}.brand{max-width:62vw}.mobile-bottom-nav a{flex-basis:62px}.photogrid,.albumgrid{grid-template-columns:1fr}.auth-card{padding:18px}.big{font-size:34px}.btn,button{width:auto}.actions .btn,.actions button{font-size:13px}.market-cover{height:180px}.video-preview img,.video-placeholder{height:165px}.field-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:861px){.mobile-menu-toggle{display:none!important}.mobile-bottom-nav{display:none!important}.topbar nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end}.notif-wrap{position:relative}.notif-dropdown{right:0;top:42px}}


/* Phase 39 Verifizierung */
.verify-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1;background:#eef2ff;color:#1d4ed8;border:1px solid rgba(37,99,235,.25);vertical-align:middle;margin-left:4px;white-space:nowrap}
.verify-badge.verify-email{background:#ecfdf5;color:#047857;border-color:rgba(16,185,129,.25)}
.verify-panel{border:1px solid rgba(0,0,0,.08);border-radius:var(--theme-radius);padding:14px;margin:12px 0;background:rgba(255,255,255,.55)}
.action-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.action-stack form{margin:0}.settings-grid{display:grid;gap:10px}.checkline{display:inline-flex;gap:8px;align-items:center;margin:6px 10px 6px 0}.checkline input{width:auto}

/* Phase 40b: Online-Status */
.online-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#64748b;vertical-align:middle;white-space:nowrap}
.online-badge i{width:8px;height:8px;border-radius:999px;background:#94a3b8;display:inline-block}
.online-badge.is-online{background:#dcfce7;color:#166534}
.online-badge.is-online i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.online-badge.is-offline{background:#f1f5f9;color:#64748b}
.online-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:14px}
.online-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:var(--theme-radius);background:#fff;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.online-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.online-avatar-wrap{position:relative;display:inline-block}
.online-avatar-wrap .ava.big{width:72px;height:72px;border-radius:999px;object-fit:cover}
.online-avatar-wrap i{position:absolute;right:4px;bottom:4px;width:15px;height:15px;border-radius:999px;background:#22c55e;border:3px solid #fff;box-shadow:0 0 0 2px rgba(34,197,94,.18)}
.row .online-badge{margin-left:6px}
@media(max-width:700px){.online-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-card{padding:12px}.online-avatar-wrap .ava.big{width:58px;height:58px}}
