4288 lines
135 KiB
CSS
4288 lines
135 KiB
CSS
/* Shop Orders (Profil) */
|
|
.wbf-shop-orders-list {
|
|
margin-top: 1.2rem;
|
|
}
|
|
.wbf-shop-orders-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
background: var(--c-surface);
|
|
border-radius: var(--radius-sm);
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
font-size: .97em;
|
|
}
|
|
.wbf-shop-orders-table th, .wbf-shop-orders-table td {
|
|
padding: .65em 1em;
|
|
border-bottom: 1px solid var(--c-border);
|
|
}
|
|
.wbf-shop-orders-table th {
|
|
background: var(--c-surface2);
|
|
color: var(--c-text-dim);
|
|
font-weight: 600;
|
|
font-size: .93em;
|
|
text-transform: uppercase;
|
|
letter-spacing: .04em;
|
|
}
|
|
.wbf-shop-orders-table tr:last-child td { border-bottom: none; }
|
|
.wbf-shop-order-row {
|
|
cursor: pointer;
|
|
transition: background .15s;
|
|
}
|
|
.wbf-shop-order-row:hover {
|
|
background: var(--c-primary-l);
|
|
}
|
|
.wbf-shop-order-details-inner {
|
|
background: var(--c-bg2);
|
|
border-radius: var(--radius-sm);
|
|
padding: 1em 1.2em;
|
|
margin: .2em 0 .5em 0;
|
|
box-shadow: 0 2px 8px rgba(0,0,0,.08);
|
|
color: var(--c-text);
|
|
font-size: .98em;
|
|
}
|
|
.wbf-shop-order-cancelled td, .wbf-shop-order-cancelled .wbf-shop-order-details-inner {
|
|
color: var(--c-danger);
|
|
text-decoration: line-through;
|
|
opacity: .7;
|
|
}
|
|
.wbf-shop-order-details {
|
|
background: var(--c-surface2);
|
|
transition: display .2s;
|
|
}
|
|
.wbf-shop-order-toggle {
|
|
background: var(--c-surface2);
|
|
border: 1px solid var(--c-border);
|
|
color: var(--c-muted);
|
|
border-radius: 6px;
|
|
padding: 2px 10px;
|
|
font-size: 1em;
|
|
cursor: pointer;
|
|
transition: background .15s, color .15s;
|
|
}
|
|
.wbf-shop-order-toggle:hover {
|
|
background: var(--c-primary-l);
|
|
color: var(--c-primary);
|
|
}
|
|
/* ═══════════════════════════════════════════════════════════
|
|
WP Business Forum — Minecraft Modern Dark Theme
|
|
═══════════════════════════════════════════════════════════ */
|
|
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
|
|
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');
|
|
|
|
/* ── CSS Variables — Dark Gaming ────────────────────────────── */
|
|
.wbf-wrap {
|
|
--c-primary: #00b4d8;
|
|
--c-primary-d: #0096c7;
|
|
--c-primary-l: rgba(0,180,216,.12);
|
|
--c-accent: #48cae4;
|
|
--c-green: #56cf7e;
|
|
--c-success: #56cf7e;
|
|
--c-danger: #f05252;
|
|
--c-warning: #f59e0b;
|
|
|
|
--c-bg: #111318;
|
|
--c-bg2: #161a22;
|
|
--c-surface: #1e2330;
|
|
--c-surface2: #252c3d;
|
|
--c-border: rgba(255,255,255,.08);
|
|
--c-border-d: rgba(255,255,255,.14);
|
|
--c-text: #e8eaf0;
|
|
--c-text-dim: #b0b8cc;
|
|
--c-muted: #6b7a99;
|
|
--c-topbar: #0d1117;
|
|
|
|
--c-hero-from: #0d1117;
|
|
--c-hero-to: #161a22;
|
|
--c-glow: 0 0 18px rgba(0,180,216,.25);
|
|
|
|
--radius: 10px;
|
|
--radius-sm: 7px;
|
|
--shadow-sm: 0 2px 8px rgba(0,0,0,.35);
|
|
--shadow-md: 0 6px 20px rgba(0,0,0,.45);
|
|
--shadow-lg: 0 16px 40px rgba(0,0,0,.6);
|
|
--transition: .2s ease;
|
|
|
|
font-family: 'Inter', -apple-system, sans-serif;
|
|
font-size: 15px;
|
|
color: var(--c-text);
|
|
background: var(--c-bg);
|
|
line-height: 1.6;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
.wbf-wrap *, .wbf-wrap *::before, .wbf-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
.wbf-wrap a { color: var(--c-primary); text-decoration: none; }
|
|
.wbf-wrap a:hover { color: var(--c-accent); text-decoration: none; }
|
|
.wbf-muted { color: var(--c-muted); font-size: .875rem; }
|
|
.wbf-mt { margin-top: 1.5rem; }
|
|
|
|
/* ── Topbar ─────────────────────────────────────────────────── */
|
|
.wbf-topbar {
|
|
background: var(--c-topbar);
|
|
border-bottom: 1px solid rgba(0,180,216,.18);
|
|
position: sticky; top: 0; z-index: 200;
|
|
}
|
|
.wbf-topbar__inner {
|
|
max-width: 1200px; margin: 0 auto;
|
|
padding: .7rem 1.5rem;
|
|
display: flex; align-items: center; justify-content: space-between;
|
|
}
|
|
.wbf-topbar__brand {
|
|
color: var(--c-primary);
|
|
font-weight: 700; font-size: 1.05rem;
|
|
display: flex; align-items: center; gap: .5rem;
|
|
letter-spacing: .01em;
|
|
}
|
|
.wbf-topbar__brand:hover { color: var(--c-accent); }
|
|
.wbf-topbar__right { display: flex; align-items: center; gap: .75rem; }
|
|
.wbf-topbar__user {
|
|
color: var(--c-text-dim);
|
|
display: flex; align-items: center; gap: .5rem;
|
|
font-size: .875rem;
|
|
}
|
|
.wbf-topbar__user:hover { color: var(--c-text); }
|
|
|
|
/* ── Hero ───────────────────────────────────────────────────── */
|
|
.wbf-hero {
|
|
background: linear-gradient(160deg, #0d1117 0%, #161a22 50%, #0a1628 100%);
|
|
border-bottom: 1px solid rgba(0,180,216,.15);
|
|
padding: 3rem 1.5rem;
|
|
text-align: center;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-hero::before {
|
|
content: '';
|
|
position: absolute; inset: 0;
|
|
background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(0,180,216,.1) 0%, transparent 70%);
|
|
pointer-events: none;
|
|
}
|
|
.wbf-hero__inner { position: relative; z-index: 1; }
|
|
.wbf-hero__title {
|
|
color: #fff;
|
|
font-size: clamp(1.5rem, 4vw, 2rem);
|
|
font-weight: 700;
|
|
margin-bottom: .5rem;
|
|
text-shadow: 0 0 30px rgba(0,180,216,.4);
|
|
}
|
|
.wbf-hero__title i { color: var(--c-primary); }
|
|
.wbf-hero__sub { color: var(--c-text-dim); font-size: 1rem; }
|
|
.wbf-stats {
|
|
display: flex; justify-content: center; gap: 3rem;
|
|
margin-top: 2rem; position: relative; z-index: 1;
|
|
}
|
|
.wbf-stat { text-align: center; }
|
|
.wbf-stat__num {
|
|
display: block; font-size: 1.8rem; font-weight: 700;
|
|
color: var(--c-primary);
|
|
text-shadow: var(--c-glow);
|
|
line-height: 1;
|
|
}
|
|
.wbf-stat span:last-child {
|
|
font-size: .72rem; color: var(--c-muted);
|
|
text-transform: uppercase; letter-spacing: .07em;
|
|
display: block; margin-top: .25rem;
|
|
}
|
|
|
|
/* ── Container / Grid ───────────────────────────────────────── */
|
|
.wbf-container { max-width: 1200px; margin: 0 auto; padding: 1.5rem 1.5rem 3rem; }
|
|
.wbf-grid { display: grid; grid-template-columns: 1fr 290px; gap: 1.5rem; align-items: start; }
|
|
@media (max-width: 900px) { .wbf-grid { grid-template-columns: 1fr; } }
|
|
|
|
/* ── Sidebar — sticky + flex column ────────────────────────── */
|
|
.wbf-sidebar { position: sticky; top: 58px; display: flex; flex-direction: column; gap: 0; }
|
|
|
|
/* ── Section header ─────────────────────────────────────────── */
|
|
.wbf-section-header {
|
|
display: flex; align-items: center; justify-content: space-between;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.wbf-section-header h2 {
|
|
font-size: .85rem; font-weight: 700; color: var(--c-text-dim);
|
|
text-transform: uppercase; letter-spacing: .08em;
|
|
}
|
|
|
|
/* ── Buttons ────────────────────────────────────────────────── */
|
|
.wbf-btn {
|
|
display: inline-flex; align-items: center; gap: .4rem;
|
|
padding: .5rem 1rem; border-radius: var(--radius-sm);
|
|
font-size: .83rem; font-weight: 600; cursor: pointer;
|
|
border: 1.5px solid transparent; transition: var(--transition);
|
|
font-family: inherit;
|
|
background: var(--c-surface2); color: var(--c-text-dim);
|
|
border-color: var(--c-border-d);
|
|
}
|
|
.wbf-btn:hover { background: var(--c-surface); color: var(--c-text); border-color: var(--c-primary); }
|
|
.wbf-btn--primary,
|
|
a.wbf-btn--primary {
|
|
background: var(--c-primary); color: #fff !important;
|
|
border-color: var(--c-primary);
|
|
box-shadow: 0 0 12px rgba(0,180,216,.3);
|
|
}
|
|
.wbf-btn--primary:hover,
|
|
a.wbf-btn--primary:hover {
|
|
background: var(--c-primary-d); border-color: var(--c-primary-d);
|
|
box-shadow: 0 0 20px rgba(0,180,216,.45);
|
|
color: #fff !important;
|
|
}
|
|
.wbf-btn--outline {
|
|
background: transparent; border-color: rgba(255,255,255,.18);
|
|
color: var(--c-text-dim);
|
|
}
|
|
.wbf-btn--outline:hover { border-color: var(--c-primary); color: var(--c-primary); }
|
|
.wbf-btn--outline-poll {
|
|
background: rgba(251,191,36,.08);
|
|
border-color: rgba(251,191,36,.35);
|
|
color: #fbbf24;
|
|
}
|
|
.wbf-btn--outline-poll:hover {
|
|
background: rgba(251,191,36,.18);
|
|
border-color: #fbbf24;
|
|
color: #fbbf24;
|
|
box-shadow: 0 0 12px rgba(251,191,36,.25);
|
|
}
|
|
.wbf-btn--sm { padding: .35rem .75rem; font-size: .78rem; }
|
|
.wbf-btn--full { width: 100%; justify-content: center; padding: .7rem; }
|
|
.wbf-btn:disabled { opacity: .45; cursor: not-allowed; }
|
|
|
|
/* ── Category cards ─────────────────────────────────────────── */
|
|
.wbf-categories { display: flex; flex-direction: column; gap: .6rem; }
|
|
.wbf-cat-card {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1rem 1.25rem;
|
|
display: flex; align-items: center; gap: 1rem;
|
|
transition: var(--transition);
|
|
box-shadow: var(--shadow-sm);
|
|
position: relative; overflow: hidden;
|
|
}
|
|
.wbf-cat-card::before {
|
|
content: ''; position: absolute; left: 0; top: 0; bottom: 0;
|
|
width: 3px; background: transparent; transition: var(--transition);
|
|
}
|
|
.wbf-cat-card:hover {
|
|
border-color: rgba(0,180,216,.35);
|
|
box-shadow: var(--shadow-md);
|
|
transform: translateY(-1px);
|
|
}
|
|
.wbf-cat-card:hover::before { background: var(--c-primary); }
|
|
.wbf-cat-icon {
|
|
width: 44px; height: 44px; border-radius: var(--radius-sm);
|
|
background: var(--c-primary-l);
|
|
color: var(--c-primary);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 1.1rem; flex-shrink: 0;
|
|
border: 1px solid rgba(0,180,216,.2);
|
|
}
|
|
.wbf-cat-body { flex: 1; min-width: 0; }
|
|
.wbf-cat-name { font-weight: 700; font-size: .95rem; color: var(--c-text); }
|
|
.wbf-cat-name:hover { color: var(--c-primary); }
|
|
.wbf-cat-desc { color: var(--c-muted); font-size: .78rem; margin-top: .15rem; }
|
|
.wbf-cat-meta { display: flex; gap: 1rem; margin-top: .35rem; font-size: .75rem; color: var(--c-muted); }
|
|
.wbf-cat-meta span { display: flex; align-items: center; gap: .3rem; }
|
|
.wbf-cat-last { flex-shrink: 0; text-align: right; min-width: 160px; }
|
|
.wbf-cat-last__label { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: var(--c-muted); }
|
|
.wbf-cat-last__title { display: block; font-size: .8rem; font-weight: 600; color: var(--c-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
|
|
.wbf-cat-last__author { display: block; font-size: .72rem; color: var(--c-muted); }
|
|
@media (max-width: 640px) { .wbf-cat-last { display: none; } }
|
|
|
|
/* ── Thread List ────────────────────────────────────────────── */
|
|
.wbf-thread-list { display: flex; flex-direction: column; gap: .45rem; }
|
|
.wbf-thread-row {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
padding: .85rem 1.1rem;
|
|
display: flex; align-items: center; gap: 1rem;
|
|
box-shadow: var(--shadow-sm); transition: var(--transition);
|
|
}
|
|
.wbf-thread-row:hover { border-color: rgba(0,180,216,.3); box-shadow: var(--shadow-md); }
|
|
.wbf-thread-row--pinned { border-left: 3px solid var(--c-green); }
|
|
.wbf-thread-row__body { flex: 1; min-width: 0; }
|
|
.wbf-thread-row__top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
|
|
.wbf-thread-row__title { font-weight: 600; color: var(--c-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 400px; font-size: .9rem; }
|
|
.wbf-thread-row__title:hover { color: var(--c-primary); }
|
|
.wbf-thread-row__meta { font-size: .75rem; color: var(--c-muted); margin-top: .2rem; display: flex; gap: .75rem; }
|
|
.wbf-thread-row__stats { display: flex; align-items: center; gap: .85rem; font-size: .78rem; color: var(--c-muted); flex-shrink: 0; }
|
|
.wbf-thread-row__stats span { display: flex; align-items: center; gap: .3rem; }
|
|
.wbf-pin { color: var(--c-green); font-size: .82rem; }
|
|
.wbf-pin-icon { color: var(--c-green); margin-right: .4rem; }
|
|
|
|
/* ── Thread single ──────────────────────────────────────────── */
|
|
.wbf-thread-header {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1.25rem 1.5rem;
|
|
margin-bottom: 1.25rem;
|
|
box-shadow: var(--shadow-sm);
|
|
border-left: 3px solid var(--c-primary);
|
|
}
|
|
.wbf-thread-title { font-size: 1.35rem; font-weight: 700; color: var(--c-text); margin-bottom: .75rem; }
|
|
.wbf-thread-header-meta { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; color: var(--c-muted); font-size: .875rem; }
|
|
|
|
/* ── Posts ──────────────────────────────────────────────────── */
|
|
.wbf-posts { display: flex; flex-direction: column; gap: .75rem; }
|
|
.wbf-post {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
display: flex; gap: 1.1rem;
|
|
padding: 1.1rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.wbf-post--op {
|
|
border-top: 2px solid var(--c-primary);
|
|
background: linear-gradient(180deg, rgba(0,180,216,.04) 0%, var(--c-surface) 80px);
|
|
}
|
|
.wbf-post__sidebar {
|
|
width: 86px; flex-shrink: 0; text-align: center;
|
|
display: flex; flex-direction: column; align-items: center; gap: .3rem;
|
|
}
|
|
.wbf-post__sidebar strong { font-size: .82rem; color: var(--c-text); word-break: break-word; }
|
|
.wbf-post__meta-small { font-size: .7rem; color: var(--c-muted); }
|
|
.wbf-post__body { flex: 1; min-width: 0; }
|
|
.wbf-post__content { line-height: 1.75; color: var(--c-text); word-break: break-word; }
|
|
.wbf-post__content p { margin-bottom: .75rem; }
|
|
.wbf-post__footer {
|
|
display: flex; align-items: center; justify-content: space-between;
|
|
margin-top: 1rem; padding-top: .75rem;
|
|
border-top: 1px solid var(--c-border);
|
|
}
|
|
.wbf-post__date { font-size: .75rem; color: var(--c-muted); }
|
|
@media (max-width: 600px) { .wbf-post { flex-direction: column; } .wbf-post__sidebar { flex-direction: row; width: auto; } }
|
|
|
|
/* ── Reply box ──────────────────────────────────────────────── */
|
|
.wbf-reply-box {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1.25rem 1.5rem;
|
|
margin-top: 1.5rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.wbf-reply-box__title { font-size: .8rem; font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: .06em; color: var(--c-text-dim); }
|
|
.wbf-reply-form { display: flex; gap: 1rem; }
|
|
.wbf-reply-form__input { flex: 1; }
|
|
.wbf-reply-form__input textarea {
|
|
width: 100%;
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .75rem;
|
|
font-family: inherit; font-size: .88rem;
|
|
color: var(--c-text);
|
|
resize: vertical; transition: var(--transition);
|
|
}
|
|
.wbf-reply-form__input textarea::placeholder { color: var(--c-muted); }
|
|
.wbf-reply-form__input textarea:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,180,216,.1); }
|
|
.wbf-reply-form__actions { display: flex; justify-content: space-between; align-items: center; margin-top: .75rem; }
|
|
.wbf-reply-counter { font-size: .75rem; color: var(--c-muted); }
|
|
|
|
/* ── Likes ──────────────────────────────────────────────────── */
|
|
.wbf-like-btn {
|
|
background: none;
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: 20px;
|
|
padding: .28rem .7rem;
|
|
font-size: .78rem; cursor: pointer;
|
|
display: inline-flex; align-items: center; gap: .35rem;
|
|
color: var(--c-muted); font-family: inherit;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-like-btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
|
|
.wbf-like-btn.wbf-liked {
|
|
background: var(--c-primary-l);
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
box-shadow: 0 0 8px rgba(0,180,216,.2);
|
|
}
|
|
|
|
/* ── Badges ─────────────────────────────────────────────────── */
|
|
.wbf-badge { display: inline-block; padding: .12rem .45rem; border-radius: 4px; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
|
|
.wbf-badge--admin { background: rgba(240,82,82,.15); color: #f05252; border: 1px solid rgba(240,82,82,.3); }
|
|
.wbf-badge--mod { background: rgba(245,158,11,.12); color: #f59e0b; border: 1px solid rgba(245,158,11,.25); }
|
|
.wbf-badge--member { background: rgba(0,180,216,.12); color: var(--c-primary); border: 1px solid rgba(0,180,216,.25); }
|
|
.wbf-badge--closed { background: rgba(255,255,255,.05); color: var(--c-muted); border: 1px solid var(--c-border); }
|
|
|
|
/* ── Avatar ─────────────────────────────────────────────────── */
|
|
.wbf-avatar { border-radius: 50%; object-fit: cover; background: var(--c-surface2); border: 2px solid var(--c-border); }
|
|
|
|
/* ── Sidebar widgets ────────────────────────────────────────── */
|
|
.wbf-widget {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1.25rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
|
|
.wbf-sidebar .wbf-auth-tabs { margin-bottom: 1.25rem; }
|
|
.wbf-sidebar .wbf-auth-tab { padding: .6rem .5rem; font-size: .85rem; }
|
|
.wbf-widget__title {
|
|
font-size: .7rem; font-weight: 700; margin-bottom: .85rem;
|
|
display: flex; align-items: center; gap: .45rem;
|
|
color: var(--c-muted); text-transform: uppercase; letter-spacing: .08em;
|
|
}
|
|
.wbf-widget__title i { color: var(--c-primary); }
|
|
.wbf-recent-list { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
|
|
.wbf-recent-list li { border-bottom: 1px solid var(--c-border); padding-bottom: .55rem; }
|
|
.wbf-recent-list li:last-child { border-bottom: none; padding-bottom: 0; }
|
|
.wbf-recent-list a { display: block; font-size: .8rem; font-weight: 600; color: var(--c-text-dim); line-height: 1.4; }
|
|
.wbf-recent-list a:hover { color: var(--c-primary); }
|
|
.wbf-recent-list span { display: block; font-size: .7rem; color: var(--c-muted); margin-top: .12rem; }
|
|
|
|
/* ── Profile widget ─────────────────────────────────────────── */
|
|
.wbf-profile-widget { text-align: center; }
|
|
.wbf-profile-widget__avatar { margin-bottom: .6rem; }
|
|
.wbf-profile-widget__info { display: flex; flex-direction: column; align-items: center; gap: .3rem; margin-bottom: .85rem; }
|
|
.wbf-profile-widget__info strong { color: var(--c-text); }
|
|
.wbf-profile-widget__posts { font-size: .75rem; color: var(--c-muted); }
|
|
.wbf-profile-widget__actions { display: flex; gap: .5rem; justify-content: center; }
|
|
|
|
/* ── Profile page ───────────────────────────────────────────── */
|
|
.wbf-profile-page { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
|
|
.wbf-profile-page__header {
|
|
background: linear-gradient(135deg, #0d1117 0%, #161d2e 100%);
|
|
border-bottom: 1px solid rgba(0,180,216,.15);
|
|
padding: 2rem; display: flex; gap: 1.75rem; align-items: flex-start;
|
|
}
|
|
.wbf-profile-page__avatar-wrap { position: relative; flex-shrink: 0; }
|
|
.wbf-profile-page__avatar { width: 96px; height: 96px; border-radius: 50%; border: 3px solid rgba(0,180,216,.4); object-fit: cover; box-shadow: 0 0 20px rgba(0,180,216,.2); }
|
|
.wbf-avatar-upload-btn { position: absolute; bottom: 0; right: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--c-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .72rem; cursor: pointer; }
|
|
.wbf-profile-page__info h2 { color: #fff; font-size: 1.25rem; display: flex; align-items: center; gap: .5rem; }
|
|
.wbf-profile-page__info .wbf-muted { color: rgba(255,255,255,.45); }
|
|
.wbf-profile-page__info p { color: rgba(255,255,255,.7); margin-top: .5rem; font-size: .875rem; }
|
|
.wbf-profile-stats { display: flex; gap: 2rem; margin-top: 1rem; }
|
|
.wbf-profile-stats div { text-align: center; }
|
|
.wbf-profile-stats span { display: block; font-size: 1.5rem; font-weight: 700; color: var(--c-primary); text-shadow: var(--c-glow); }
|
|
.wbf-profile-stats em { font-style: normal; font-size: .7rem; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .05em; }
|
|
.wbf-profile-edit { padding: 1.5rem 2rem; }
|
|
.wbf-profile-edit h3 { font-size: .85rem; font-weight: 700; margin-bottom: 1.1rem; display: flex; align-items: center; gap: .4rem; text-transform: uppercase; letter-spacing: .06em; color: var(--c-text-dim); }
|
|
|
|
/* ── NEW Profile Layout ──────────────────────────────────── */
|
|
.wbf-profile-layout {
|
|
display: grid;
|
|
grid-template-columns: 260px 1fr;
|
|
gap: 1.25rem;
|
|
align-items: start;
|
|
}
|
|
|
|
/* Sidebar */
|
|
.wbf-profile-sidebar {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
}
|
|
|
|
/* Banner */
|
|
.wbf-profile-banner {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 120px;
|
|
overflow: hidden;
|
|
background: linear-gradient(135deg, #0a1628 0%, #162040 50%, #0d1a30 100%);
|
|
}
|
|
.wbf-profile-banner__img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
display: block;
|
|
}
|
|
.wbf-profile-banner__placeholder {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(135deg, #0a1628 0%, #162040 50%, #0d1a30 100%);
|
|
}
|
|
.wbf-banner-upload-btn {
|
|
position: absolute;
|
|
bottom: 8px;
|
|
right: 8px;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background: rgba(0,0,0,.55);
|
|
backdrop-filter: blur(6px);
|
|
color: #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: background .2s, transform .15s;
|
|
font-size: .8rem;
|
|
border: 1px solid rgba(255,255,255,.15);
|
|
}
|
|
.wbf-banner-upload-btn:hover {
|
|
background: rgba(0,180,216,.5);
|
|
transform: scale(1.1);
|
|
}
|
|
|
|
.wbf-profile-sidebar__avatar-wrap {
|
|
position: relative;
|
|
padding: 0 0 1.25rem;
|
|
margin-top: -45px;
|
|
width: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
z-index: 2;
|
|
}
|
|
.wbf-profile-sidebar__avatar {
|
|
width: 100px; height: 100px;
|
|
border-radius: 50%;
|
|
border: 3px solid rgba(0,180,216,.5);
|
|
object-fit: cover;
|
|
box-shadow: 0 0 24px rgba(0,180,216,.25);
|
|
}
|
|
.wbf-profile-sidebar__identity {
|
|
padding: 1rem 1.25rem .75rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
width: 100%;
|
|
border-bottom: 1px solid var(--c-border);
|
|
}
|
|
.wbf-profile-sidebar__identity h2 {
|
|
font-size: 1.05rem;
|
|
font-weight: 700;
|
|
color: var(--c-text);
|
|
margin: 0;
|
|
}
|
|
.wbf-profile-sidebar__username {
|
|
font-size: .78rem;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-profile-sidebar__stats {
|
|
display: flex;
|
|
width: 100%;
|
|
border-bottom: 1px solid var(--c-border);
|
|
}
|
|
.wbf-profile-sidebar__stat {
|
|
flex: 1;
|
|
padding: .85rem .5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: .2rem;
|
|
}
|
|
.wbf-profile-sidebar__stat:first-child {
|
|
border-right: 1px solid var(--c-border);
|
|
}
|
|
.wbf-profile-sidebar__stat span {
|
|
font-size: 1.3rem;
|
|
font-weight: 700;
|
|
color: var(--c-primary);
|
|
text-shadow: var(--c-glow);
|
|
line-height: 1;
|
|
}
|
|
.wbf-profile-sidebar__stat em {
|
|
font-style: normal;
|
|
font-size: .65rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: .06em;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-profile-sidebar__section {
|
|
width: 100%;
|
|
padding: .85rem 1.25rem;
|
|
text-align: left;
|
|
border-bottom: 1px solid var(--c-border);
|
|
}
|
|
.wbf-profile-sidebar__section:last-child { border-bottom: none; }
|
|
.wbf-profile-sidebar__section-label {
|
|
display: block;
|
|
font-size: .68rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: .07em;
|
|
color: var(--c-primary);
|
|
margin-bottom: .4rem;
|
|
}
|
|
.wbf-profile-sidebar__section p {
|
|
margin: 0;
|
|
font-size: .82rem;
|
|
color: var(--c-text-dim);
|
|
line-height: 1.55;
|
|
}
|
|
.wbf-profile-sidebar__sig {
|
|
font-style: italic;
|
|
color: var(--c-muted) !important;
|
|
}
|
|
|
|
/* Main content area */
|
|
.wbf-profile-main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
}
|
|
.wbf-profile-card {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
overflow: hidden;
|
|
}
|
|
.wbf-profile-card__header {
|
|
padding: .75rem 1.25rem;
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: .06em;
|
|
color: var(--c-text-dim);
|
|
border-bottom: 1px solid var(--c-border);
|
|
background: rgba(255,255,255,.02);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .5rem;
|
|
}
|
|
.wbf-profile-card__header i { color: var(--c-primary); }
|
|
.wbf-profile-card__count {
|
|
margin-left: auto;
|
|
font-size: .72rem;
|
|
font-weight: 600;
|
|
background: rgba(0,180,216,.12);
|
|
color: var(--c-primary);
|
|
padding: 1px 8px;
|
|
border-radius: 20px;
|
|
}
|
|
.wbf-profile-card__body { padding: 1.25rem; }
|
|
.wbf-profile-card__body--posts {
|
|
padding: .5rem 0;
|
|
max-height: 560px;
|
|
overflow-y: auto;
|
|
}
|
|
.wbf-profile-card__footer {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
margin-top: 1rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid var(--c-border);
|
|
}
|
|
/* ── Verbindungen / Connection Cards ────────────────────────────────────── */
|
|
.wbf-connection-card {
|
|
display: grid;
|
|
grid-template-columns: 56px 1fr;
|
|
grid-template-rows: auto auto;
|
|
gap: 0 1.1rem;
|
|
padding: 1.4rem 1.25rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
transition: background .15s;
|
|
}
|
|
.wbf-connection-card:last-child { border-bottom: none; }
|
|
.wbf-connection-card:hover { background: rgba(255,255,255,.025); }
|
|
|
|
.wbf-connection-card__icon {
|
|
grid-column: 1;
|
|
grid-row: 1 / 3;
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 12px;
|
|
border: 1px solid transparent;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1.35rem;
|
|
align-self: center;
|
|
}
|
|
|
|
/* Titelzeile — rechts oben */
|
|
.wbf-connection-card__head {
|
|
grid-column: 2;
|
|
grid-row: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .6rem;
|
|
margin-bottom: .5rem;
|
|
}
|
|
|
|
.wbf-connection-card__body {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.wbf-connection-card__title {
|
|
font-weight: 700;
|
|
font-size: .92rem;
|
|
color: var(--c-text);
|
|
line-height: 1;
|
|
}
|
|
|
|
.wbf-connection-card__desc {
|
|
font-size: .82rem;
|
|
color: var(--c-muted);
|
|
line-height: 1.55;
|
|
margin-bottom: .85rem;
|
|
}
|
|
|
|
/* Content-Bereich — grid row 2, rechte Spalte */
|
|
.wbf-connection-card__content {
|
|
grid-column: 2;
|
|
grid-row: 2;
|
|
}
|
|
|
|
/* Plugin-Output normalisieren */
|
|
.wbf-connection-card__content p {
|
|
font-size: .8rem;
|
|
color: var(--c-muted);
|
|
line-height: 1.5;
|
|
margin: 0 0 .7rem;
|
|
font-weight: 400 !important;
|
|
}
|
|
.wbf-connection-card__content label {
|
|
display: block;
|
|
font-size: .75rem;
|
|
font-weight: 600;
|
|
color: var(--c-text-dim);
|
|
text-transform: uppercase;
|
|
letter-spacing: .04em;
|
|
margin-bottom: .35rem;
|
|
}
|
|
.wbf-connection-card__content .wbf-mc-row,
|
|
.wbf-connection-card__content > form,
|
|
.wbf-connection-card__content > div {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .55rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
/* Input + Button auf einer Linie halten */
|
|
.wbf-connect-row {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: .55rem !important;
|
|
flex-wrap: nowrap !important;
|
|
}
|
|
.wbf-connect-row input[type="text"] {
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
max-width: none !important;
|
|
}
|
|
.wbf-connect-row button,
|
|
.wbf-connect-row .wbf-btn {
|
|
flex-shrink: 0;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Alle Verknüpfen-Buttons in Connection-Cards vereinheitlichen */
|
|
.wbf-connection-card__content .wbf-btn,
|
|
.wbf-connection-card__content button:not(.wbf-bb-spoiler__btn) {
|
|
padding: .5rem 1rem !important;
|
|
font-size: .83rem !important;
|
|
font-weight: 600 !important;
|
|
height: 2.25rem !important;
|
|
line-height: 1 !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: .4rem !important;
|
|
border-radius: var(--radius-sm) !important;
|
|
border: 1.5px solid transparent !important;
|
|
cursor: pointer !important;
|
|
font-family: inherit !important;
|
|
transition: var(--transition) !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
/* Primär (Verknüpfen / Code senden) */
|
|
.wbf-connection-card__content .wbf-btn--primary,
|
|
.wbf-connection-card__content button.wbf-btn--primary {
|
|
background: var(--c-primary) !important;
|
|
color: #fff !important;
|
|
border-color: var(--c-primary) !important;
|
|
box-shadow: 0 0 10px rgba(0,180,216,.25) !important;
|
|
}
|
|
.wbf-connection-card__content .wbf-btn--primary:hover {
|
|
background: var(--c-primary-d) !important;
|
|
border-color: var(--c-primary-d) !important;
|
|
}
|
|
/* Ghost (Zurück / Trennen) */
|
|
.wbf-connection-card__content .wbf-btn--ghost,
|
|
.wbf-connection-card__content button.wbf-btn--ghost {
|
|
background: transparent !important;
|
|
color: var(--c-text-dim) !important;
|
|
border-color: var(--c-border-d) !important;
|
|
}
|
|
.wbf-connection-card__content .wbf-btn--ghost:hover {
|
|
border-color: var(--c-primary) !important;
|
|
color: var(--c-primary) !important;
|
|
}
|
|
/* MC-Plugin: dessen Button via content selector normalisieren */
|
|
.wbf-connection-card__content input[type="submit"],
|
|
.wbf-connection-card__content .mc-connect-btn {
|
|
padding: .5rem 1rem !important;
|
|
height: 2.25rem !important;
|
|
font-size: .83rem !important;
|
|
font-weight: 600 !important;
|
|
background: var(--c-primary) !important;
|
|
color: #fff !important;
|
|
border: 1.5px solid var(--c-primary) !important;
|
|
border-radius: var(--radius-sm) !important;
|
|
cursor: pointer !important;
|
|
font-family: inherit !important;
|
|
white-space: nowrap !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
}
|
|
.wbf-connection-card__content input[type="text"] {
|
|
flex: 1;
|
|
min-width: 160px;
|
|
max-width: 280px;
|
|
padding: .45rem .75rem;
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm, 6px);
|
|
background: var(--c-bg);
|
|
color: var(--c-text);
|
|
font-size: .88rem;
|
|
}
|
|
.wbf-connection-card__content input[type="text"]:focus {
|
|
outline: none;
|
|
border-color: var(--c-primary);
|
|
box-shadow: 0 0 0 3px rgba(0,180,216,.15);
|
|
}
|
|
.wbf-connection-card__content button,
|
|
.wbf-connection-card__content .wbf-btn {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Status-Badge in der Card (verbunden / nicht verbunden) */
|
|
.wbf-connection-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
font-size: .78rem;
|
|
font-weight: 600;
|
|
padding: .25rem .65rem;
|
|
border-radius: 20px;
|
|
}
|
|
.wbf-connection-badge--connected {
|
|
color: #16a34a;
|
|
background: rgba(22,163,74,.12);
|
|
border: 1px solid rgba(22,163,74,.25);
|
|
}
|
|
.wbf-connection-badge--disconnected {
|
|
color: var(--c-muted);
|
|
background: rgba(148,163,184,.08);
|
|
border: 1px solid var(--c-border);
|
|
}
|
|
|
|
/* Discord-spezifische Farben */
|
|
.wbf-connection-card--discord .wbf-connection-card__icon {
|
|
background: rgba(88,101,242,.15);
|
|
border-color: rgba(88,101,242,.3);
|
|
}
|
|
.wbf-connection-card--discord .wbf-connection-card__icon i {
|
|
color: #5865f2;
|
|
}
|
|
|
|
/* Verbunden-Info */
|
|
.wbf-discord-linked-name {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
font-weight: 700;
|
|
font-size: .92rem;
|
|
color: var(--c-text);
|
|
padding: .35rem .75rem;
|
|
background: rgba(88,101,242,.1);
|
|
border: 1px solid rgba(88,101,242,.25);
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.wbf-profile-edit-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 0 1rem;
|
|
}
|
|
.wbf-profile-empty {
|
|
color: var(--c-muted);
|
|
font-size: .85rem;
|
|
padding: .5rem 1.25rem;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Post items in profile */
|
|
.wbf-profile-post-item {
|
|
padding: .7rem 1.25rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
transition: background .15s;
|
|
}
|
|
.wbf-profile-post-item:last-child { border-bottom: none; }
|
|
.wbf-profile-post-item:hover { background: rgba(255,255,255,.025); }
|
|
.wbf-profile-post-item__top {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
flex-wrap: wrap;
|
|
margin-bottom: .3rem;
|
|
}
|
|
.wbf-profile-post-item__type {
|
|
flex-shrink: 0;
|
|
font-size: .66rem;
|
|
font-weight: 700;
|
|
padding: 1px 7px;
|
|
border-radius: 3px;
|
|
}
|
|
.wbf-profile-post-item__type--thread {
|
|
background: rgba(0,180,216,.14);
|
|
color: var(--c-primary);
|
|
}
|
|
.wbf-profile-post-item__type--reply {
|
|
background: rgba(148,163,184,.1);
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-profile-post-item__title {
|
|
font-size: .83rem;
|
|
font-weight: 600;
|
|
color: var(--c-primary);
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
max-width: 340px;
|
|
}
|
|
.wbf-profile-post-item__title:hover { text-decoration: underline; }
|
|
.wbf-profile-post-item__cat {
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.wbf-profile-post-item__time {
|
|
margin-left: auto;
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
.wbf-profile-post-item__preview {
|
|
margin: 0;
|
|
font-size: .79rem;
|
|
color: var(--c-text-dim);
|
|
line-height: 1.45;
|
|
}
|
|
|
|
/* ── Forms ──────────────────────────────────────────────────── */
|
|
.wbf-form-row { margin-bottom: .8rem; }
|
|
.wbf-form-row label { display: block; font-size: .72rem; font-weight: 700; margin-bottom: .3rem; color: var(--c-text-dim); text-transform: uppercase; letter-spacing: .05em; }
|
|
.wbf-form-row input[type="text"],
|
|
.wbf-form-row input[type="email"],
|
|
.wbf-form-row input[type="password"],
|
|
.wbf-form-row input[type="url"],
|
|
.wbf-form-row input[type="number"],
|
|
.wbf-form-row input[type="datetime-local"],
|
|
.wbf-form-row textarea,
|
|
.wbf-form-row select {
|
|
width: 100%;
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .6rem .85rem;
|
|
font-family: inherit; font-size: .875rem;
|
|
color: var(--c-text);
|
|
transition: var(--transition);
|
|
box-sizing: border-box;
|
|
color-scheme: dark;
|
|
}
|
|
.wbf-form-row input[type="datetime-local"]::-webkit-calendar-picker-indicator {
|
|
filter: invert(1) opacity(.5);
|
|
cursor: pointer;
|
|
}
|
|
.wbf-form-row input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
|
|
filter: invert(1) opacity(1);
|
|
}
|
|
.wbf-form-row input::placeholder,
|
|
.wbf-form-row textarea::placeholder { color: var(--c-muted); }
|
|
.wbf-form-row input:focus,
|
|
.wbf-form-row textarea:focus,
|
|
.wbf-form-row select:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,180,216,.12); background: var(--c-bg); }
|
|
.wbf-form-row select option { background: var(--c-surface2); color: var(--c-text); }
|
|
/* Custom profile field inputs */
|
|
.wbf-cf-input {
|
|
display: block;
|
|
width: 100%;
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .6rem .85rem;
|
|
font-family: inherit; font-size: .875rem;
|
|
color: var(--c-text);
|
|
transition: var(--transition);
|
|
box-sizing: border-box;
|
|
}
|
|
.wbf-cf-input::placeholder { color: var(--c-muted); }
|
|
.wbf-cf-input:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,180,216,.12); background: var(--c-bg); }
|
|
select.wbf-cf-input option { background: var(--c-surface2); color: var(--c-text); }
|
|
|
|
/* ── Auth tabs ──────────────────────────────────────────────── */
|
|
.wbf-auth-tabs { display: flex; gap: .4rem; margin-bottom: 1rem; }
|
|
.wbf-auth-tab {
|
|
flex: 1; padding: .5rem;
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
background: var(--c-bg2); cursor: pointer;
|
|
font-family: inherit; font-size: .82rem; font-weight: 600;
|
|
color: var(--c-muted); transition: var(--transition);
|
|
}
|
|
.wbf-auth-tab.active { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-l); }
|
|
.wbf-auth-panel { display: none; }
|
|
.wbf-auth-panel.active { display: block; }
|
|
|
|
/* ── Modal ──────────────────────────────────────────────────── */
|
|
/* Modals are teleported to <body> by JS — so no stacking-context issues */
|
|
.wbf-modal {
|
|
position: fixed; inset: 0;
|
|
background: rgba(0,0,0,.82);
|
|
backdrop-filter: blur(6px);
|
|
-webkit-backdrop-filter: blur(6px);
|
|
z-index: 999999;
|
|
display: flex; align-items: center; justify-content: center;
|
|
opacity: 0; pointer-events: none;
|
|
transition: opacity .22s ease;
|
|
padding: 1rem;
|
|
}
|
|
.wbf-modal.active { opacity: 1; pointer-events: all; }
|
|
.wbf-modal__box {
|
|
background: var(--c-surface, #1e2330);
|
|
border: 1px solid rgba(0,180,216,.3);
|
|
border-radius: var(--radius, 10px);
|
|
padding: 1.75rem;
|
|
width: 100%; max-width: 440px;
|
|
box-shadow: 0 24px 60px rgba(0,0,0,.8), 0 0 0 1px rgba(0,180,216,.1);
|
|
position: relative;
|
|
transform: translateY(18px) scale(.97);
|
|
transition: transform .22s ease;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-modal__box::before {
|
|
content: '';
|
|
position: absolute; top: 0; left: 0; right: 0;
|
|
height: 2px;
|
|
background: linear-gradient(90deg, transparent, #00b4d8, transparent);
|
|
}
|
|
.wbf-modal.active .wbf-modal__box { transform: translateY(0) scale(1); }
|
|
.wbf-modal__box--lg { max-width: 680px; }
|
|
.wbf-modal__close {
|
|
position: absolute; top: .75rem; right: .9rem;
|
|
background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
|
|
border-radius: 6px; font-size: 1.1rem;
|
|
cursor: pointer; color: var(--c-muted); line-height: 1;
|
|
padding: .25rem .5rem; transition: all .15s;
|
|
}
|
|
.wbf-modal__close:hover { background: rgba(255,255,255,.12); color: var(--c-text); }
|
|
|
|
/* ── Misc ───────────────────────────────────────────────────── */
|
|
.wbf-msg { font-size: .8rem; margin-left: .6rem; }
|
|
.wbf-notice { background: var(--c-primary-l); color: var(--c-primary); border: 1px solid rgba(0,180,216,.2); border-radius: var(--radius-sm); padding: .75rem 1rem; font-size: .875rem; display: flex; align-items: center; gap: .5rem; margin: 1rem 0; }
|
|
.wbf-notice--info { background: rgba(0,180,216,.06); color: var(--c-accent); border-color: rgba(0,180,216,.18); }
|
|
.wbf-notice--warning { background: rgba(245,158,11,.08); color: #f59e0b; border-color: rgba(245,158,11,.2); }
|
|
.wbf-empty { text-align: center; padding: 3rem 1rem; color: var(--c-muted); }
|
|
.wbf-empty i { font-size: 2.5rem; margin-bottom: .75rem; display: block; color: var(--c-border-d); }
|
|
.wbf-breadcrumb { display: flex; align-items: center; gap: .5rem; font-size: .8rem; margin-bottom: 1.1rem; color: var(--c-muted); }
|
|
.wbf-breadcrumb a { color: var(--c-primary); }
|
|
.wbf-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 1.5rem; }
|
|
.wbf-page-btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: var(--radius-sm); border: 1.5px solid var(--c-border); background: var(--c-surface2); color: var(--c-text-dim); font-size: .82rem; font-weight: 600; text-decoration: none; transition: var(--transition); }
|
|
.wbf-page-btn:hover, .wbf-page-btn.active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; box-shadow: 0 0 10px rgba(0,180,216,.3); }
|
|
|
|
/* ── Custom scrollbar ───────────────────────────────────────── */
|
|
.wbf-wrap ::-webkit-scrollbar { width: 6px; }
|
|
.wbf-wrap ::-webkit-scrollbar-track { background: var(--c-bg2); }
|
|
.wbf-wrap ::-webkit-scrollbar-thumb { background: var(--c-surface2); border-radius: 3px; }
|
|
.wbf-wrap ::-webkit-scrollbar-thumb:hover { background: var(--c-primary); }
|
|
|
|
/* ── Responsive ─────────────────────────────────────────────── */
|
|
@media (max-width: 480px) {
|
|
.wbf-topbar__right { gap: .35rem; }
|
|
.wbf-hero { padding: 1.75rem 1rem; }
|
|
.wbf-stats { gap: 1.5rem; }
|
|
.wbf-container { padding: 1rem; }
|
|
.wbf-profile-page__header { flex-direction: column; }
|
|
}
|
|
|
|
|
|
/* ── Hide WordPress page title on forum page ────────────────── */
|
|
.wbf-forum-page .entry-title,
|
|
.wbf-forum-page .page-title,
|
|
.wbf-forum-page h1.entry-title,
|
|
.wbf-forum-page h1.page-title,
|
|
.wbf-forum-page .page-header,
|
|
.wbf-forum-page .post-title {
|
|
display: none !important;
|
|
}
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
ELTERN-KIND HIERARCHIE
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
/* ── Kategorie-Gruppen Liste ────────────────────────────────── */
|
|
.wbf-cat-group-list { display: flex; flex-direction: column; gap: 1rem; }
|
|
|
|
/* ── Elternkategorie-Header ─────────────────────────────────── */
|
|
.wbf-cat-group {
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.wbf-cat-parent {
|
|
background: var(--c-surface2);
|
|
padding: .9rem 1.25rem;
|
|
display: flex; align-items: center; gap: 1rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
position: relative;
|
|
}
|
|
.wbf-cat-parent::before {
|
|
content: '';
|
|
position: absolute; left: 0; top: 0; bottom: 0;
|
|
width: 3px; background: var(--c-primary);
|
|
}
|
|
.wbf-cat-parent__icon {
|
|
width: 38px; height: 38px; flex-shrink: 0;
|
|
border-radius: var(--radius-sm);
|
|
background: var(--c-primary-l);
|
|
color: var(--c-primary);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 1rem;
|
|
border: 1px solid rgba(0,180,216,.2);
|
|
}
|
|
.wbf-cat-parent__body { flex: 1; min-width: 0; }
|
|
.wbf-cat-parent__name {
|
|
font-weight: 700; font-size: .95rem; color: var(--c-text);
|
|
display: block;
|
|
}
|
|
.wbf-cat-parent__name:hover { color: var(--c-primary); }
|
|
.wbf-cat-parent__desc { font-size: .78rem; color: var(--c-muted); margin-top: .1rem; }
|
|
.wbf-cat-parent__stats {
|
|
display: flex; gap: 1rem; flex-shrink: 0;
|
|
font-size: .78rem; color: var(--c-muted);
|
|
}
|
|
.wbf-cat-parent__stats span { display: flex; align-items: center; gap: .3rem; }
|
|
|
|
/* ── Kindkategorien (eingerückt, kompakt) ───────────────────── */
|
|
.wbf-cat-children {
|
|
background: var(--c-surface);
|
|
}
|
|
|
|
.wbf-cat-child {
|
|
display: flex; align-items: center; gap: .85rem;
|
|
padding: .7rem 1.25rem .7rem 2.5rem; /* links eingerückt */
|
|
border-bottom: 1px solid var(--c-border);
|
|
transition: background var(--transition);
|
|
position: relative;
|
|
}
|
|
.wbf-cat-child:last-child { border-bottom: none; }
|
|
.wbf-cat-child:hover { background: rgba(255,255,255,.025); }
|
|
|
|
/* Vertikale Verbindungslinie */
|
|
.wbf-cat-child::before {
|
|
content: '';
|
|
position: absolute; left: 1.35rem; top: 50%;
|
|
width: .6rem; height: 1px;
|
|
background: var(--c-border-d);
|
|
}
|
|
|
|
.wbf-cat-child__icon {
|
|
width: 30px; height: 30px; flex-shrink: 0;
|
|
border-radius: var(--radius-sm);
|
|
background: rgba(0,180,216,.07);
|
|
color: var(--c-primary);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: .8rem;
|
|
border: 1px solid rgba(0,180,216,.12);
|
|
}
|
|
.wbf-cat-child__body { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
|
|
.wbf-cat-child__name { font-weight: 600; font-size: .875rem; color: var(--c-text-dim); }
|
|
.wbf-cat-child__name:hover { color: var(--c-primary); }
|
|
.wbf-cat-child__desc { font-size: .75rem; color: var(--c-muted); }
|
|
.wbf-cat-child__meta {
|
|
display: flex; align-items: center; gap: .75rem; flex-shrink: 0;
|
|
font-size: .75rem; color: var(--c-muted);
|
|
}
|
|
.wbf-cat-child__meta span { display: flex; align-items: center; gap: .25rem; }
|
|
.wbf-cat-child__last {
|
|
font-size: .72rem; color: var(--c-primary);
|
|
white-space: nowrap; overflow: hidden;
|
|
text-overflow: ellipsis; max-width: 160px;
|
|
display: flex; align-items: center; gap: .3rem;
|
|
}
|
|
|
|
/* ── Subkategorie-Karten (in der Kategorie-Ansicht) ─────────── */
|
|
.wbf-subcat-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
|
gap: .6rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
.wbf-subcat-card {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
padding: .85rem 1rem;
|
|
display: flex; align-items: center; gap: .75rem;
|
|
text-decoration: none; transition: var(--transition);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.wbf-subcat-card:hover {
|
|
border-color: rgba(0,180,216,.35);
|
|
background: var(--c-surface2);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-md);
|
|
text-decoration: none;
|
|
}
|
|
.wbf-subcat-card__icon {
|
|
width: 34px; height: 34px; flex-shrink: 0;
|
|
border-radius: var(--radius-sm);
|
|
background: var(--c-primary-l);
|
|
color: var(--c-primary);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: .9rem;
|
|
border: 1px solid rgba(0,180,216,.2);
|
|
}
|
|
.wbf-subcat-card__body { flex: 1; min-width: 0; }
|
|
.wbf-subcat-card__name { display: block; font-weight: 600; font-size: .85rem; color: var(--c-text); }
|
|
.wbf-subcat-card__desc { display: block; font-size: .72rem; color: var(--c-muted); margin-top: .1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
.wbf-subcat-card__stats { font-size: .72rem; color: var(--c-muted); flex-shrink: 0; }
|
|
|
|
/* ── Hide WP page title on forum page ───────────────────────── */
|
|
.wbf-forum-page .entry-title,
|
|
.wbf-forum-page .page-title,
|
|
.wbf-forum-page h1.entry-title,
|
|
.wbf-forum-page h1.page-title,
|
|
.wbf-forum-page .page-header,
|
|
.wbf-forum-page .post-title { display: none !important; }
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
ROLLEN-BADGES
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-badge--owner { background:rgba(124,58,237,.18); color:#a78bfa; border:1px solid rgba(124,58,237,.35); }
|
|
.wbf-badge--admin { background:rgba(220,38,38,.15); color:#f87171; border:1px solid rgba(220,38,38,.3); }
|
|
.wbf-badge--mod { background:rgba(217,119,6,.14); color:#fbbf24; border:1px solid rgba(217,119,6,.3); }
|
|
.wbf-badge--vip { background:rgba(14,165,233,.14); color:#38bdf8; border:1px solid rgba(14,165,233,.3); }
|
|
.wbf-badge--member { background:rgba(0,180,216,.12); color:var(--c-primary); border:1px solid rgba(0,180,216,.25); }
|
|
.wbf-badge--banned { background:rgba(55,65,81,.3); color:#9ca3af; border:1px solid rgba(55,65,81,.4); }
|
|
.wbf-badge--closed { background:rgba(255,255,255,.05);color:var(--c-muted); border:1px solid var(--c-border); }
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
SIGNATUR
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-signature {
|
|
margin-top: .85rem;
|
|
padding-top: .6rem;
|
|
}
|
|
.wbf-signature__divider {
|
|
height: 1px;
|
|
background: linear-gradient(to right, var(--c-primary-l), transparent);
|
|
margin-bottom: .55rem;
|
|
}
|
|
.wbf-signature {
|
|
font-size: .78rem;
|
|
color: var(--c-muted);
|
|
font-style: italic;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
/* Signatur-Vorschau im Profil */
|
|
.wbf-profile-sig-preview {
|
|
margin-top: .75rem;
|
|
padding: .6rem .85rem;
|
|
background: rgba(0,180,216,.06);
|
|
border-left: 2px solid var(--c-primary);
|
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
font-size: .82rem; color: var(--c-text-dim); font-style: italic;
|
|
}
|
|
.wbf-profile-sig-preview__label {
|
|
display: block; font-size: .7rem; font-style: normal;
|
|
font-weight: 700; color: var(--c-primary);
|
|
text-transform: uppercase; letter-spacing: .05em;
|
|
margin-bottom: .3rem;
|
|
}
|
|
|
|
/* Signatur Zeichenzähler */
|
|
.wbf-sig-counter {
|
|
font-size: .75rem; color: var(--c-muted);
|
|
text-align: right; margin-top: .3rem;
|
|
}
|
|
#wbfSigCount { color: var(--c-primary); font-weight: 600; }
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
MOD-TOOLBAR
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-mod-bar {
|
|
display: flex; align-items: center; gap: .5rem;
|
|
padding: .6rem 1rem;
|
|
background: rgba(217,119,6,.06);
|
|
border: 1px solid rgba(217,119,6,.2);
|
|
border-radius: var(--radius-sm);
|
|
margin-bottom: 1rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.wbf-mod-bar__label {
|
|
font-size: .72rem; font-weight: 700;
|
|
color: #fbbf24;
|
|
text-transform: uppercase; letter-spacing: .06em;
|
|
margin-right: .25rem;
|
|
}
|
|
.wbf-mod-btn {
|
|
background: var(--c-surface2);
|
|
border: 1px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .3rem .75rem;
|
|
font-size: .78rem; font-weight: 600;
|
|
color: var(--c-text-dim); cursor: pointer;
|
|
font-family: inherit; display: flex; align-items: center; gap: .35rem;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-mod-btn:hover { border-color: #fbbf24; color: #fbbf24; }
|
|
.wbf-mod-btn--danger { color: var(--c-danger); border-color: rgba(240,82,82,.3); }
|
|
.wbf-mod-btn--danger:hover { background: rgba(240,82,82,.1); border-color: var(--c-danger); }
|
|
.wbf-mod-btn--sm { padding: .2rem .5rem; font-size: .72rem; }
|
|
.wbf-mod-btn--archive { color: #a78bfa; border-color: rgba(167,139,250,.3); }
|
|
.wbf-mod-btn--archive:hover { background: rgba(167,139,250,.1); border-color: #a78bfa; color: #a78bfa; }
|
|
.wbf-mod-btn--move { color: var(--c-primary); border-color: rgba(0,180,216,.3); }
|
|
.wbf-mod-btn--move:hover { background: rgba(0,180,216,.1); border-color: var(--c-primary); color: var(--c-primary); }
|
|
|
|
/* ── Archived Badge ──────────────────────────────────────── */
|
|
.wbf-badge--archived {
|
|
background: rgba(167,139,250,.12);
|
|
color: #a78bfa;
|
|
border: 1px solid rgba(167,139,250,.3);
|
|
}
|
|
.wbf-thread-row--archived { opacity: .7; }
|
|
.wbf-thread-row--archived:hover { opacity: 1; }
|
|
|
|
/* ── Archive Section (Kategorie-Ansicht) ─────────────────── */
|
|
.wbf-archive-section {
|
|
border: 1px solid rgba(167,139,250,.2);
|
|
border-radius: var(--radius);
|
|
overflow: hidden;
|
|
}
|
|
.wbf-archive-section__toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .6rem;
|
|
padding: .75rem 1.1rem;
|
|
background: rgba(167,139,250,.06);
|
|
color: #a78bfa;
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
letter-spacing: .03em;
|
|
transition: background .15s;
|
|
}
|
|
.wbf-archive-section__toggle:hover { background: rgba(167,139,250,.12); }
|
|
.wbf-archive-section__toggle .fa-chevron-down {
|
|
transition: transform .25s;
|
|
}
|
|
.wbf-archive-section__toggle.open .fa-chevron-down {
|
|
transform: rotate(180deg);
|
|
}
|
|
.wbf-archive-section__count {
|
|
font-size: .72rem;
|
|
background: rgba(167,139,250,.18);
|
|
color: #a78bfa;
|
|
padding: 1px 8px;
|
|
border-radius: 20px;
|
|
}
|
|
.wbf-archive-list {
|
|
display: none;
|
|
border-top: 1px solid rgba(167,139,250,.15);
|
|
}
|
|
.wbf-archive-list.open { display: block; }
|
|
|
|
/* Kategorie Schloss-Label */
|
|
.wbf-cat-lock {
|
|
font-size: .7rem; color: #fbbf24;
|
|
display: flex; align-items: center; gap: .25rem;
|
|
}
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
DYNAMISCHE ROLLEN-BADGES (inline styles vom PHP gesetzt)
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-role-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
padding: .12rem .5rem;
|
|
border-radius: 4px;
|
|
border: 1px solid;
|
|
font-size: .68rem;
|
|
font-weight: 700;
|
|
letter-spacing: .04em;
|
|
text-transform: uppercase;
|
|
white-space: nowrap;
|
|
}
|
|
.wbf-role-badge i { font-size: .7rem; }
|
|
/* ════════════════════════════════════════════════════════════
|
|
FEATURE: Ungelesene Beiträge
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
/* Thread-Liste — "Neu"-Badge neben dem Titel */
|
|
.wbf-new-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .25rem;
|
|
padding: 1px 8px;
|
|
background: rgba(0,180,216,.18);
|
|
color: var(--c-primary);
|
|
border: 1px solid rgba(0,180,216,.35);
|
|
border-radius: 30px;
|
|
font-size: .68rem;
|
|
font-weight: 700;
|
|
letter-spacing: .04em;
|
|
text-transform: uppercase;
|
|
vertical-align: middle;
|
|
margin-left: .4rem;
|
|
animation: wbf-pulse 2s infinite;
|
|
}
|
|
@keyframes wbf-pulse {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: .6; }
|
|
}
|
|
|
|
/* Thread-Zeile mit neuen Antworten */
|
|
.wbf-thread-row--has-new {
|
|
border-left: 3px solid var(--c-primary) !important;
|
|
}
|
|
.wbf-thread-row--has-new .wbf-thread-row__title {
|
|
color: var(--c-primary);
|
|
}
|
|
|
|
/* Einzelner Post — neu (highlight) */
|
|
.wbf-post--new {
|
|
background: linear-gradient(135deg, rgba(0,180,216,.06) 0%, transparent 60%);
|
|
border-color: rgba(0,180,216,.25) !important;
|
|
box-shadow: 0 0 0 1px rgba(0,180,216,.12), var(--shadow-sm);
|
|
}
|
|
.wbf-post--new::before {
|
|
content: '';
|
|
position: absolute;
|
|
left: 0; top: 0; bottom: 0;
|
|
width: 3px;
|
|
background: var(--c-primary);
|
|
border-radius: 3px 0 0 3px;
|
|
}
|
|
/* "Neu"-Label im Post selbst */
|
|
.wbf-post__new-label {
|
|
display: none;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
font-size: .7rem;
|
|
font-weight: 700;
|
|
color: var(--c-primary);
|
|
text-transform: uppercase;
|
|
letter-spacing: .06em;
|
|
margin-bottom: .5rem;
|
|
padding: 3px 10px;
|
|
background: rgba(0,180,216,.1);
|
|
border: 1px solid rgba(0,180,216,.22);
|
|
border-radius: 4px;
|
|
width: fit-content;
|
|
}
|
|
.wbf-post--new .wbf-post__new-label {
|
|
display: inline-flex;
|
|
}
|
|
/* Sicherstellen dass .wbf-post position:relative hat */
|
|
.wbf-post { position: relative; }
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
FEATURE: Beitrag melden
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
/* Report-Button im Post-Footer */
|
|
.wbf-report-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px; height: 30px;
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
background: transparent;
|
|
color: var(--c-muted);
|
|
font-size: .8rem;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-report-btn:hover {
|
|
border-color: var(--c-danger);
|
|
color: var(--c-danger);
|
|
background: rgba(240,82,82,.08);
|
|
}
|
|
.wbf-report-btn:active {
|
|
transform: scale(.92);
|
|
}
|
|
|
|
/* "Bereits gemeldet" Label */
|
|
.wbf-reported-label {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px; height: 30px;
|
|
border: 1.5px solid rgba(240,82,82,.25);
|
|
border-radius: var(--radius-sm);
|
|
color: rgba(240,82,82,.45);
|
|
font-size: .8rem;
|
|
cursor: default;
|
|
}
|
|
|
|
/* Danger-Button im Modal */
|
|
.wbf-btn--danger {
|
|
background: var(--c-danger);
|
|
color: #fff;
|
|
border: none;
|
|
}
|
|
.wbf-btn--danger:hover {
|
|
background: #d93838;
|
|
}
|
|
/* ════════════════════════════════════════════════════════════
|
|
FEATURE: Editor-Toolbar (Bild + Smilies)
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
.wbf-editor-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .2rem;
|
|
padding: .4rem .6rem;
|
|
background: var(--c-surface2);
|
|
border: 1.5px solid var(--c-border);
|
|
border-bottom: none;
|
|
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
|
|
flex-wrap: wrap;
|
|
position: relative;
|
|
}
|
|
|
|
/* Toolbar direkt über Textarea → Textarea obere Ecken eckig */
|
|
.wbf-editor-toolbar + textarea {
|
|
border-top-left-radius: 0 !important;
|
|
border-top-right-radius: 0 !important;
|
|
border-top-color: transparent !important;
|
|
}
|
|
|
|
.wbf-tb-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: .3rem;
|
|
min-width: 30px;
|
|
height: 28px;
|
|
padding: 0 .55rem;
|
|
background: transparent;
|
|
border: 1.5px solid transparent;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-text-dim);
|
|
font-size: .82rem;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
white-space: nowrap;
|
|
font-family: inherit;
|
|
}
|
|
.wbf-tb-btn:hover {
|
|
background: rgba(255,255,255,.07);
|
|
border-color: var(--c-border-d);
|
|
color: var(--c-text);
|
|
}
|
|
.wbf-tb-btn:active { transform: scale(.93); }
|
|
.wbf-tb-btn--emoji { font-size: 1rem; padding: 0 .45rem; }
|
|
.wbf-tb-btn--loading { opacity: .5; pointer-events: none; }
|
|
|
|
.wbf-tb-divider {
|
|
width: 1px;
|
|
height: 18px;
|
|
background: var(--c-border-d);
|
|
margin: 0 .15rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── Emoji-Picker ──────────────────────────────────────────── */
|
|
.wbf-emoji-picker {
|
|
position: absolute;
|
|
top: calc(100% + 6px);
|
|
left: 0;
|
|
z-index: 500;
|
|
background: var(--c-surface);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow-md);
|
|
padding: .6rem;
|
|
width: 280px;
|
|
animation: wbfFadeIn .15s ease;
|
|
}
|
|
@keyframes wbfFadeIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
|
|
|
|
.wbf-emoji-picker__grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(10, 1fr);
|
|
gap: 2px;
|
|
}
|
|
.wbf-emoji-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
aspect-ratio: 1;
|
|
background: none;
|
|
border: 1.5px solid transparent;
|
|
border-radius: 5px;
|
|
font-size: 1.1rem;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
padding: 0;
|
|
line-height: 1;
|
|
}
|
|
.wbf-emoji-item:hover {
|
|
background: var(--c-surface2);
|
|
border-color: var(--c-border-d);
|
|
transform: scale(1.2);
|
|
}
|
|
|
|
/* ── Toolbar: Farb/Größen-Dropdowns ─────────────────────── */
|
|
.wbf-tb-dropdown__panel {
|
|
position: absolute;
|
|
top: calc(100% + 5px);
|
|
left: 0;
|
|
z-index: 600;
|
|
background: var(--c-surface);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow-md);
|
|
padding: .5rem;
|
|
min-width: 130px;
|
|
animation: wbfFadeIn .12s ease;
|
|
}
|
|
.wbf-tb-color-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, 1fr);
|
|
gap: 4px;
|
|
}
|
|
.wbf-tb-color-swatch {
|
|
width: 22px; height: 22px;
|
|
border-radius: 4px;
|
|
border: 2px solid transparent;
|
|
cursor: pointer;
|
|
transition: transform .12s, border-color .12s;
|
|
padding: 0;
|
|
}
|
|
.wbf-tb-color-swatch:hover {
|
|
transform: scale(1.2);
|
|
border-color: rgba(255,255,255,.5);
|
|
}
|
|
.wbf-tb-dropdown__item {
|
|
display: block;
|
|
width: 100%;
|
|
text-align: left;
|
|
padding: .35rem .65rem;
|
|
background: none;
|
|
border: none;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-text-dim);
|
|
font-size: .82rem;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
transition: background .1s;
|
|
}
|
|
.wbf-tb-dropdown__item:hover {
|
|
background: rgba(255,255,255,.07);
|
|
color: var(--c-text);
|
|
}
|
|
|
|
/* ══════════════════════════════════════════════════════════
|
|
BBCode — gerenderter Inhalt (.wbf-post__content)
|
|
══════════════════════════════════════════════════════════ */
|
|
|
|
/* Zitat */
|
|
.wbf-bb-quote {
|
|
margin: .65rem 0;
|
|
padding: .55rem .9rem;
|
|
border-left: 3px solid var(--c-primary);
|
|
background: rgba(0,180,216,.06);
|
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
color: var(--c-muted);
|
|
font-size: .88rem;
|
|
line-height: 1.55;
|
|
}
|
|
.wbf-bb-quote__author {
|
|
display: block;
|
|
margin-bottom: .3rem;
|
|
color: var(--c-primary);
|
|
font-size: .78rem;
|
|
}
|
|
/* Nested quotes */
|
|
.wbf-bb-quote .wbf-bb-quote {
|
|
margin-top: .4rem;
|
|
border-left-color: rgba(0,180,216,.4);
|
|
background: rgba(0,180,216,.03);
|
|
}
|
|
|
|
/* Code-Block */
|
|
.wbf-bb-code {
|
|
margin: .6rem 0;
|
|
padding: .75rem 1rem;
|
|
background: rgba(0,0,0,.35);
|
|
border: 1px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
font-family: 'Fira Code', 'Courier New', monospace;
|
|
font-size: .82rem;
|
|
line-height: 1.65;
|
|
overflow-x: auto;
|
|
color: #e2e8f0;
|
|
white-space: pre;
|
|
}
|
|
.wbf-bb-icode {
|
|
display: inline;
|
|
padding: 1px 5px;
|
|
background: rgba(0,0,0,.3);
|
|
border: 1px solid var(--c-border-d);
|
|
border-radius: 3px;
|
|
font-family: 'Fira Code', 'Courier New', monospace;
|
|
font-size: .83em;
|
|
color: #93c5fd;
|
|
}
|
|
|
|
/* Spoiler */
|
|
.wbf-bb-spoiler {
|
|
margin: .65rem 0;
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
overflow: hidden;
|
|
}
|
|
.wbf-bb-spoiler__btn {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .5rem;
|
|
width: 100%;
|
|
padding: .5rem .85rem;
|
|
background: rgba(255,255,255,.04);
|
|
border: none;
|
|
color: var(--c-text-dim);
|
|
font-size: .82rem;
|
|
font-weight: 600;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
transition: background .15s;
|
|
}
|
|
.wbf-bb-spoiler__btn:hover { background: rgba(255,255,255,.08); }
|
|
.wbf-bb-spoiler__body {
|
|
padding: .65rem .9rem;
|
|
border-top: 1px solid var(--c-border-d);
|
|
font-size: .88rem;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
/* Liste */
|
|
.wbf-bb-list {
|
|
margin: .5rem 0 .5rem 1.4rem;
|
|
padding: 0;
|
|
font-size: .9rem;
|
|
line-height: 1.7;
|
|
color: var(--c-text);
|
|
}
|
|
.wbf-bb-list li { margin-bottom: .15rem; }
|
|
|
|
/* Link */
|
|
.wbf-bb-link {
|
|
color: var(--c-primary);
|
|
text-decoration: underline;
|
|
text-underline-offset: 2px;
|
|
word-break: break-word;
|
|
}
|
|
.wbf-bb-link:hover { opacity: .8; }
|
|
|
|
/* Bild */
|
|
.wbf-bb-img {
|
|
display: block;
|
|
max-width: 100%;
|
|
max-height: 480px;
|
|
height: auto;
|
|
border-radius: var(--radius-sm);
|
|
margin: .4rem 0;
|
|
cursor: zoom-in;
|
|
}
|
|
|
|
/* Überschriften */
|
|
.wbf-bb-h2 {
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
color: var(--c-text);
|
|
margin: .9rem 0 .4rem;
|
|
padding-bottom: .3rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
}
|
|
.wbf-bb-h3 {
|
|
font-size: .95rem;
|
|
font-weight: 700;
|
|
color: var(--c-text);
|
|
margin: .75rem 0 .3rem;
|
|
}
|
|
|
|
/* Ausrichtung */
|
|
.wbf-bb-center { text-align: center; }
|
|
.wbf-bb-right { text-align: right; }
|
|
|
|
/* Trennlinie */
|
|
.wbf-bb-hr {
|
|
border: none;
|
|
border-top: 1px solid var(--c-border-d);
|
|
margin: .75rem 0;
|
|
}
|
|
|
|
/* ══════════════════════════════════════════════════════════
|
|
TAGS & HASHTAGS
|
|
══════════════════════════════════════════════════════════ */
|
|
|
|
/* Tag-Chip (überall verwendet) */
|
|
.wbf-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
padding: 3px 9px;
|
|
background: rgba(0,180,216,.08);
|
|
border: 1.5px solid rgba(0,180,216,.25);
|
|
border-radius: 20px;
|
|
color: var(--c-primary);
|
|
font-size: .75rem;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
transition: background .15s, border-color .15s;
|
|
line-height: 1;
|
|
}
|
|
.wbf-tag i { font-size: .6rem; opacity: .75; }
|
|
.wbf-tag:hover {
|
|
background: rgba(0,180,216,.16);
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
}
|
|
.wbf-tag--sm {
|
|
font-size: .68rem;
|
|
padding: 2px 7px;
|
|
}
|
|
.wbf-tag--active {
|
|
background: rgba(0,180,216,.2);
|
|
border-color: var(--c-primary);
|
|
}
|
|
.wbf-tag__count {
|
|
margin-left: 2px;
|
|
opacity: .6;
|
|
font-weight: 400;
|
|
}
|
|
|
|
/* Tag-Liste (unter Thread-Titel / Rows) */
|
|
.wbf-tag-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .3rem;
|
|
margin-top: .4rem;
|
|
}
|
|
|
|
/* Tag-Cloud (Sidebar + Tag-Seite) */
|
|
.wbf-tag-cloud {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .35rem;
|
|
padding: .15rem 0;
|
|
}
|
|
|
|
/* ── Tag-Input Widget (New Thread Modal) ─────────────────── */
|
|
.wbf-tag-input-wrap {
|
|
position: relative;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
padding: .4rem .6rem;
|
|
background: var(--c-surface2);
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
cursor: text;
|
|
min-height: 38px;
|
|
transition: border-color .15s;
|
|
}
|
|
.wbf-tag-input-wrap:focus-within {
|
|
border-color: var(--c-primary);
|
|
box-shadow: 0 0 0 3px rgba(0,180,216,.12);
|
|
}
|
|
.wbf-tag-pills {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .25rem;
|
|
align-items: center;
|
|
}
|
|
.wbf-tag-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
background: rgba(0,180,216,.15);
|
|
border: 1px solid rgba(0,180,216,.35);
|
|
border-radius: 20px;
|
|
color: var(--c-primary);
|
|
font-size: .75rem;
|
|
font-weight: 600;
|
|
padding: 2px 8px 2px 9px;
|
|
line-height: 1;
|
|
}
|
|
.wbf-tag-pill button {
|
|
background: none;
|
|
border: none;
|
|
color: var(--c-primary);
|
|
opacity: .65;
|
|
cursor: pointer;
|
|
font-size: .9rem;
|
|
line-height: 1;
|
|
padding: 0 1px;
|
|
margin-left: 1px;
|
|
transition: opacity .1s;
|
|
}
|
|
.wbf-tag-pill button:hover { opacity: 1; }
|
|
.wbf-tag-pill-hint {
|
|
font-size: .68rem;
|
|
color: var(--c-muted);
|
|
font-style: italic;
|
|
padding: 0 4px;
|
|
}
|
|
.wbf-tag-input-wrap input[type="text"] {
|
|
flex: 1;
|
|
min-width: 120px;
|
|
background: none;
|
|
border: none;
|
|
outline: none;
|
|
color: var(--c-text);
|
|
font-size: .85rem;
|
|
font-family: inherit;
|
|
padding: 0;
|
|
}
|
|
.wbf-tag-input-wrap input[type="text"]::placeholder {
|
|
color: var(--c-muted);
|
|
opacity: .7;
|
|
}
|
|
|
|
/* Autocomplete-Dropdown */
|
|
.wbf-tag-suggest {
|
|
position: absolute;
|
|
top: calc(100% + 5px);
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 700;
|
|
background: var(--c-surface);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow-md);
|
|
overflow: hidden;
|
|
animation: wbfFadeIn .12s ease;
|
|
}
|
|
.wbf-tag-suggest-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
padding: .5rem .85rem;
|
|
font-size: .83rem;
|
|
color: var(--c-text-dim);
|
|
cursor: pointer;
|
|
transition: background .1s;
|
|
}
|
|
.wbf-tag-suggest-item i { color: var(--c-primary); font-size: .65rem; }
|
|
.wbf-tag-suggest-item:hover { background: rgba(255,255,255,.05); color: var(--c-text); }
|
|
.wbf-tag-suggest-count {
|
|
margin-left: auto;
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
font-weight: 400;
|
|
}
|
|
.wbf-post__content img,
|
|
.wbf-post--op .wbf-post__content img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-radius: var(--radius-sm);
|
|
border: 1px solid var(--c-border);
|
|
margin: .5rem 0;
|
|
display: block;
|
|
cursor: zoom-in;
|
|
transition: opacity var(--transition);
|
|
}
|
|
.wbf-post__content img:hover { opacity: .9; }
|
|
|
|
/* ── Bild-Lightbox ─────────────────────────────────────────── */
|
|
.wbf-lightbox {
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(0,0,0,.88);
|
|
backdrop-filter: blur(8px);
|
|
z-index: 99999;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1.5rem;
|
|
cursor: zoom-out;
|
|
animation: wbfFadeIn .2s ease;
|
|
}
|
|
.wbf-lightbox img {
|
|
max-width: 92vw;
|
|
max-height: 88vh;
|
|
border-radius: var(--radius);
|
|
box-shadow: 0 24px 60px rgba(0,0,0,.7);
|
|
cursor: default;
|
|
}
|
|
.wbf-lightbox__close {
|
|
position: fixed;
|
|
top: 1.2rem;
|
|
right: 1.4rem;
|
|
background: rgba(255,255,255,.12);
|
|
border: none;
|
|
color: #fff;
|
|
font-size: 1.4rem;
|
|
width: 38px;
|
|
height: 38px;
|
|
border-radius: 50%;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-lightbox__close:hover { background: rgba(255,255,255,.25); }
|
|
|
|
/* ── Upload-Fortschrittsanzeige im Toolbar ─────────────────── */
|
|
.wbf-tb-upload-progress {
|
|
font-size: .72rem;
|
|
color: var(--c-primary);
|
|
display: none;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
margin-left: .2rem;
|
|
}
|
|
.wbf-tb-upload-progress.active { display: inline-flex; }
|
|
/* ── Beitrag bearbeiten — Edit-Button & Inline-Bereich ─────── */
|
|
.wbf-edit-post-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
background: none;
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-muted);
|
|
font-size: .8rem;
|
|
padding: 3px 8px;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-edit-post-btn:hover {
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
background: rgba(0,180,216,.07);
|
|
}
|
|
|
|
/* ── Level-Badges ────────────────────────────────────────── */
|
|
.wbf-level-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: .72rem;
|
|
font-weight: 700;
|
|
color: var(--lc, #94a3b8);
|
|
border: 1.5px solid var(--lc, #94a3b8);
|
|
background: rgba(148,163,184,.1); /* fallback */
|
|
background: color-mix(in srgb, var(--lc, #94a3b8) 10%, transparent);
|
|
padding: 2px 8px;
|
|
border-radius: 20px;
|
|
white-space: nowrap;
|
|
letter-spacing: .02em;
|
|
}
|
|
.wbf-level-badge i { font-size: .68rem; }
|
|
|
|
/* ── Level-Fortschrittsbalken (Profil-Sidebar) ───────────── */
|
|
.wbf-level-progress { padding: 0; }
|
|
.wbf-level-progress__labels {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: .5rem;
|
|
gap: .5rem;
|
|
}
|
|
.wbf-level-progress__hint {
|
|
font-size: .68rem;
|
|
color: var(--c-muted);
|
|
text-align: right;
|
|
line-height: 1.3;
|
|
}
|
|
.wbf-level-progress__bar {
|
|
height: 5px;
|
|
background: rgba(255,255,255,.08);
|
|
border-radius: 99px;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-level-progress__fill {
|
|
height: 100%;
|
|
border-radius: 99px;
|
|
transition: width .4s ease;
|
|
min-width: 4px;
|
|
}
|
|
.wbf-quote-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
background: none;
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-muted);
|
|
font-size: .8rem;
|
|
padding: 3px 8px;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-quote-btn:hover {
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
background: rgba(0,180,216,.07);
|
|
}
|
|
.wbf-quote-btn:active,
|
|
.wbf-edit-post-btn:active { transform: scale(.92); }
|
|
|
|
/* ── Profil-Layout responsive ───────────────────────────── */
|
|
@media (max-width: 860px) {
|
|
.wbf-profile-layout {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.wbf-profile-sidebar {
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
text-align: left;
|
|
}
|
|
.wbf-profile-sidebar__avatar-wrap {
|
|
padding: 0 0 1rem;
|
|
margin-top: -45px;
|
|
width: auto;
|
|
border-bottom: none;
|
|
border-right: none;
|
|
}
|
|
.wbf-profile-banner {
|
|
height: 100px;
|
|
width: 100%;
|
|
}
|
|
.wbf-profile-sidebar__identity {
|
|
align-items: flex-start;
|
|
flex: 1;
|
|
}
|
|
.wbf-profile-edit-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
SUCHE — Topbar-Suchfeld + Dropdown + Ergebnisseite
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
.wbf-search-form {
|
|
position: relative;
|
|
flex: 1;
|
|
max-width: 380px;
|
|
margin: 0 1rem;
|
|
}
|
|
.wbf-search-input-wrap {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.wbf-search-icon {
|
|
position: absolute;
|
|
left: .75rem;
|
|
color: var(--c-muted);
|
|
font-size: .8rem;
|
|
pointer-events: none;
|
|
}
|
|
.wbf-search-form input {
|
|
width: 100%;
|
|
background: rgba(255,255,255,.06);
|
|
border: 1px solid rgba(255,255,255,.1);
|
|
border-radius: 20px;
|
|
color: #fff;
|
|
font-size: .85rem;
|
|
padding: .42rem .9rem .42rem 2.1rem;
|
|
outline: none;
|
|
transition: border-color .2s, background .2s;
|
|
}
|
|
.wbf-search-form input:focus {
|
|
border-color: var(--c-primary);
|
|
background: rgba(0,180,216,.07);
|
|
}
|
|
.wbf-search-form input::placeholder { color: var(--c-muted); }
|
|
|
|
/* Live-Dropdown */
|
|
.wbf-search-dropdown {
|
|
position: absolute;
|
|
top: calc(100% + 6px);
|
|
left: 0; right: 0;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
box-shadow: 0 8px 24px rgba(0,0,0,.35);
|
|
z-index: 9999;
|
|
overflow: hidden;
|
|
max-height: 420px;
|
|
overflow-y: auto;
|
|
}
|
|
.wbf-search-dd-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .15rem;
|
|
padding: .7rem 1rem;
|
|
border-bottom: 1px solid rgba(255,255,255,.04);
|
|
text-decoration: none;
|
|
transition: background .15s;
|
|
cursor: pointer;
|
|
}
|
|
.wbf-search-dd-item:hover { background: rgba(0,180,216,.08); }
|
|
.wbf-search-dd-item:last-child { border-bottom: none; }
|
|
.wbf-search-dd-title {
|
|
font-size: .85rem;
|
|
font-weight: 600;
|
|
color: var(--c-primary);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.wbf-search-dd-meta {
|
|
display: flex;
|
|
gap: .6rem;
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
flex-wrap: wrap;
|
|
}
|
|
.wbf-search-dd-preview {
|
|
font-size: .78rem;
|
|
color: var(--c-muted);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.wbf-search-dd-empty {
|
|
padding: 1rem;
|
|
text-align: center;
|
|
color: var(--c-muted);
|
|
font-size: .85rem;
|
|
}
|
|
.wbf-search-dd-footer {
|
|
padding: .55rem 1rem;
|
|
background: rgba(0,180,216,.06);
|
|
text-align: center;
|
|
font-size: .78rem;
|
|
color: var(--c-primary);
|
|
cursor: pointer;
|
|
border-top: 1px solid var(--c-border);
|
|
}
|
|
.wbf-search-dd-footer:hover { background: rgba(0,180,216,.12); }
|
|
|
|
/* Ergebnisseite */
|
|
.wbf-search-results { display: flex; flex-direction: column; gap: .75rem; }
|
|
.wbf-search-result-item {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1rem 1.25rem;
|
|
transition: border-color .15s;
|
|
}
|
|
.wbf-search-result-item:hover { border-color: rgba(0,180,216,.4); }
|
|
.wbf-search-result__meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .6rem;
|
|
margin-bottom: .4rem;
|
|
flex-wrap: wrap;
|
|
font-size: .75rem;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-search-result__type {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .25rem;
|
|
padding: 2px 8px;
|
|
border-radius: 3px;
|
|
font-weight: 600;
|
|
font-size: .7rem;
|
|
}
|
|
.wbf-search-result__type--thread { background: rgba(0,180,216,.12); color: var(--c-primary); }
|
|
.wbf-search-result__type--post { background: rgba(148,163,184,.1); color: var(--c-muted); }
|
|
.wbf-search-result__author { display: flex; align-items: center; gap: .3rem; }
|
|
.wbf-search-result__author img { border-radius: 50%; }
|
|
.wbf-search-result__title {
|
|
display: block;
|
|
font-size: .95rem;
|
|
font-weight: 700;
|
|
color: #e2e8f0;
|
|
text-decoration: none;
|
|
margin-bottom: .3rem;
|
|
}
|
|
.wbf-search-result__title:hover { color: var(--c-primary); }
|
|
.wbf-search-result__preview {
|
|
margin: 0;
|
|
font-size: .83rem;
|
|
color: var(--c-muted);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
BENACHRICHTIGUNGEN — Glocke + Dropdown
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
.wbf-notif-wrap {
|
|
position: relative;
|
|
}
|
|
.wbf-notif-btn {
|
|
position: relative;
|
|
background: none;
|
|
border: 1px solid rgba(255,255,255,.12);
|
|
border-radius: 50%;
|
|
width: 34px; height: 34px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
color: var(--c-muted);
|
|
cursor: pointer;
|
|
transition: border-color .2s, color .2s;
|
|
font-size: .9rem;
|
|
}
|
|
.wbf-notif-btn:hover {
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
}
|
|
.wbf-notif-badge {
|
|
position: absolute;
|
|
top: -4px; right: -4px;
|
|
background: var(--c-danger);
|
|
color: #fff;
|
|
font-size: .6rem;
|
|
font-weight: 700;
|
|
min-width: 16px; height: 16px;
|
|
border-radius: 8px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
padding: 0 3px;
|
|
border: 2px solid var(--c-bg);
|
|
}
|
|
.wbf-notif-dropdown {
|
|
position: absolute;
|
|
top: calc(100% + 8px);
|
|
right: 0;
|
|
width: 340px;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
box-shadow: 0 8px 28px rgba(0,0,0,.4);
|
|
z-index: 9999;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-notif-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: .75rem 1rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
font-size: .85rem;
|
|
font-weight: 600;
|
|
color: #e2e8f0;
|
|
}
|
|
.wbf-notif-mark-read {
|
|
background: none;
|
|
border: none;
|
|
color: var(--c-primary);
|
|
font-size: .75rem;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
}
|
|
.wbf-notif-mark-read:hover { text-decoration: underline; }
|
|
.wbf-notif-list { max-height: 380px; overflow-y: auto; }
|
|
.wbf-notif-loading {
|
|
padding: 1.5rem;
|
|
text-align: center;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-notif-item {
|
|
display: flex;
|
|
gap: .75rem;
|
|
padding: .75rem 1rem;
|
|
border-bottom: 1px solid rgba(255,255,255,.04);
|
|
text-decoration: none;
|
|
transition: background .15s;
|
|
align-items: flex-start;
|
|
cursor: pointer;
|
|
}
|
|
.wbf-notif-item:hover { background: rgba(0,180,216,.06); }
|
|
.wbf-notif-item:last-child { border-bottom: none; }
|
|
.wbf-notif-item--unread { background: rgba(0,180,216,.05); }
|
|
.wbf-notif-item--unread .wbf-notif-item__text { color: #e2e8f0; }
|
|
.wbf-notif-item__avatar img { width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; }
|
|
.wbf-notif-item__body { flex: 1; min-width: 0; }
|
|
.wbf-notif-item__text {
|
|
font-size: .82rem;
|
|
color: var(--c-muted);
|
|
line-height: 1.4;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.wbf-notif-item__text strong { color: var(--c-primary); }
|
|
.wbf-notif-item__time {
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
margin-top: .15rem;
|
|
}
|
|
.wbf-notif-dot {
|
|
width: 7px; height: 7px;
|
|
border-radius: 50%;
|
|
background: var(--c-primary);
|
|
flex-shrink: 0;
|
|
margin-top: 5px;
|
|
}
|
|
.wbf-notif-empty {
|
|
padding: 2rem 1rem;
|
|
text-align: center;
|
|
color: var(--c-muted);
|
|
font-size: .85rem;
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.wbf-search-form { max-width: 140px; margin: 0 .5rem; }
|
|
.wbf-notif-dropdown { width: 290px; right: -60px; }
|
|
}
|
|
/* ══════════════════════════════════════════════════════════
|
|
REAKTIONEN
|
|
══════════════════════════════════════════════════════════ */
|
|
.wbf-reaction-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
flex-wrap: wrap;
|
|
margin-top: .35rem;
|
|
}
|
|
.wbf-reaction-summary { display: flex; gap: .3rem; flex-wrap: wrap; }
|
|
.wbf-reaction-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
padding: 2px 8px;
|
|
background: rgba(255,255,255,.06);
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: 20px;
|
|
font-size: .85rem;
|
|
cursor: pointer;
|
|
transition: background .12s, border-color .12s;
|
|
color: var(--c-text-dim);
|
|
line-height: 1.4;
|
|
}
|
|
.wbf-reaction-pill span { font-size: .72rem; font-weight: 700; }
|
|
.wbf-reaction-pill:hover,
|
|
.wbf-reaction-pill.wbf-reaction-active {
|
|
background: rgba(0,180,216,.1);
|
|
border-color: var(--c-primary);
|
|
}
|
|
.wbf-reaction-wrap { position: relative; }
|
|
.wbf-reaction-trigger {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
padding: 2px 8px;
|
|
background: transparent;
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: 20px;
|
|
font-size: .82rem;
|
|
cursor: pointer;
|
|
color: var(--c-muted);
|
|
transition: border-color .12s, background .12s;
|
|
line-height: 1.4;
|
|
}
|
|
.wbf-reaction-trigger:hover {
|
|
border-color: var(--c-primary);
|
|
background: rgba(0,180,216,.07);
|
|
}
|
|
.wbf-reaction-picker {
|
|
position: absolute;
|
|
bottom: calc(100% + 6px);
|
|
left: 0;
|
|
z-index: 600;
|
|
display: none;
|
|
background: var(--c-surface);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: 30px;
|
|
padding: 5px 8px;
|
|
box-shadow: var(--shadow-md);
|
|
display: none;
|
|
gap: 2px;
|
|
animation: wbfFadeIn .12s ease;
|
|
}
|
|
.wbf-reaction-picker[style*="display: block"],
|
|
.wbf-reaction-picker:not([style*="display: none"]) {
|
|
display: flex;
|
|
}
|
|
.wbf-reaction-btn {
|
|
background: none;
|
|
border: 2px solid transparent;
|
|
border-radius: 50%;
|
|
width: 34px; height: 34px;
|
|
font-size: 1.15rem;
|
|
cursor: pointer;
|
|
transition: transform .12s, background .1s;
|
|
display: flex; align-items: center; justify-content: center;
|
|
}
|
|
.wbf-reaction-btn:hover { transform: scale(1.3); background: rgba(255,255,255,.08); }
|
|
.wbf-reaction-btn.wbf-reaction-active { background: rgba(0,180,216,.12); border-color: var(--c-primary); }
|
|
|
|
/* ══════════════════════════════════════════════════════════
|
|
ONLINE-STATUS
|
|
══════════════════════════════════════════════════════════ */
|
|
.wbf-avatar-wrap { position: relative; display: inline-block; }
|
|
.wbf-online-dot {
|
|
position: absolute;
|
|
bottom: 1px; right: 1px;
|
|
width: 10px; height: 10px;
|
|
background: #22c55e;
|
|
border: 2px solid var(--c-surface, #1e2736);
|
|
border-radius: 50%;
|
|
}
|
|
.wbf-profile-sidebar__avatar-wrap .wbf-online-dot {
|
|
width: 14px; height: 14px;
|
|
bottom: 4px; right: 4px;
|
|
}
|
|
|
|
/* ══════════════════════════════════════════════════════════
|
|
@ERWÄHNUNGEN
|
|
══════════════════════════════════════════════════════════ */
|
|
.wbf-mention {
|
|
color: var(--c-primary);
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
background: rgba(0,180,216,.08);
|
|
border-radius: 4px;
|
|
padding: 0 3px;
|
|
}
|
|
.wbf-mention:hover { background: rgba(0,180,216,.18); }
|
|
.wbf-mention-dropdown {
|
|
position: absolute;
|
|
bottom: calc(100% + 4px);
|
|
left: 0;
|
|
z-index: 700;
|
|
background: var(--c-surface);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow-md);
|
|
overflow: hidden;
|
|
min-width: 220px;
|
|
animation: wbfFadeIn .12s ease;
|
|
}
|
|
.wbf-mention-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .5rem;
|
|
padding: .45rem .85rem;
|
|
cursor: pointer;
|
|
font-size: .84rem;
|
|
color: var(--c-text-dim);
|
|
transition: background .1s;
|
|
}
|
|
.wbf-mention-item:hover { background: rgba(255,255,255,.06); color: var(--c-text); }
|
|
.wbf-mention-item small { color: var(--c-muted); font-size: .73rem; margin-left: auto; }
|
|
|
|
/* ══════════════════════════════════════════════════════════
|
|
PRIVATE NACHRICHTEN (DM)
|
|
══════════════════════════════════════════════════════════ */
|
|
.wbf-dm-layout {
|
|
display: grid;
|
|
grid-template-columns: 280px 1fr;
|
|
gap: 0;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
overflow: hidden;
|
|
min-height: 580px;
|
|
}
|
|
/* Sidebar */
|
|
.wbf-dm-sidebar {
|
|
border-right: 1px solid var(--c-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.wbf-dm-sidebar__header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: .9rem 1rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
background: rgba(255,255,255,.02);
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
color: var(--c-text-dim);
|
|
text-transform: uppercase;
|
|
letter-spacing: .06em;
|
|
}
|
|
.wbf-dm-sidebar__header i { color: var(--c-primary); }
|
|
.wbf-dm-close-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 28px;
|
|
height: 28px;
|
|
border-radius: 50%;
|
|
color: var(--c-muted);
|
|
text-decoration: none;
|
|
font-size: .95rem;
|
|
transition: background .15s, color .15s;
|
|
}
|
|
.wbf-dm-close-btn:hover {
|
|
background: rgba(240,82,82,.15);
|
|
color: #f05252;
|
|
}
|
|
.wbf-dm-inbox { flex: 1; overflow-y: auto; }
|
|
.wbf-dm-inbox-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .65rem;
|
|
padding: .75rem 1rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
text-decoration: none;
|
|
color: var(--c-text-dim);
|
|
transition: background .12s;
|
|
}
|
|
.wbf-dm-inbox-item:hover { background: rgba(255,255,255,.04); }
|
|
.wbf-dm-inbox-item--unread { background: rgba(0,180,216,.05); }
|
|
.wbf-dm-inbox-item--unread .wbf-dm-inbox-item__name { color: var(--c-text); font-weight: 700; }
|
|
.wbf-dm-inbox-item__avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
|
|
.wbf-dm-inbox-item__body { flex: 1; min-width: 0; display: flex; align-items: center; gap: .5rem; }
|
|
.wbf-dm-inbox-item__name { font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
.wbf-dm-inbox-item__badge {
|
|
flex-shrink: 0;
|
|
background: #22c55e;
|
|
color: #fff;
|
|
font-size: .68rem;
|
|
font-weight: 700;
|
|
padding: 1px 6px;
|
|
border-radius: 20px;
|
|
}
|
|
/* Main conversation area */
|
|
.wbf-dm-main { display: flex; flex-direction: column; }
|
|
.wbf-dm-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .65rem;
|
|
padding: .75rem 1.1rem;
|
|
border-bottom: 1px solid var(--c-border);
|
|
background: rgba(255,255,255,.02);
|
|
font-weight: 600;
|
|
font-size: .9rem;
|
|
color: var(--c-text);
|
|
}
|
|
.wbf-dm-back-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px;
|
|
height: 30px;
|
|
border-radius: 50%;
|
|
color: var(--c-muted);
|
|
text-decoration: none;
|
|
flex-shrink: 0;
|
|
transition: background .15s, color .15s;
|
|
}
|
|
.wbf-dm-back-btn:hover {
|
|
background: rgba(255,255,255,.08);
|
|
color: var(--c-text);
|
|
}
|
|
.wbf-dm-messages {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1rem 1.1rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .5rem;
|
|
max-height: 440px;
|
|
}
|
|
.wbf-dm-no-msgs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--c-muted);
|
|
font-size: .9rem;
|
|
gap: .5rem;
|
|
padding: 2rem 0;
|
|
}
|
|
.wbf-dm-no-msgs i { font-size: 2rem; opacity: .4; }
|
|
.wbf-dm-msg { display: flex; align-items: flex-end; gap: .5rem; }
|
|
.wbf-dm-msg--out { flex-direction: row-reverse; }
|
|
.wbf-dm-msg__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
|
|
.wbf-dm-msg__bubble { max-width: 70%; }
|
|
.wbf-dm-msg__text {
|
|
padding: .55rem .85rem;
|
|
border-radius: 16px;
|
|
font-size: .875rem;
|
|
line-height: 1.5;
|
|
word-break: break-word;
|
|
}
|
|
.wbf-dm-msg--in .wbf-dm-msg__text { background: rgba(255,255,255,.07); border-bottom-left-radius: 4px; color: var(--c-text); }
|
|
.wbf-dm-msg--out .wbf-dm-msg__text { background: var(--c-primary); color: #fff; border-bottom-right-radius: 4px; }
|
|
.wbf-dm-msg__time { font-size: .68rem; color: var(--c-muted); margin-top: 3px; padding: 0 4px; display: flex; align-items: center; gap: 6px; }
|
|
.wbf-dm-msg--out .wbf-dm-msg__time { justify-content: flex-end; }
|
|
.wbf-dm-msg__del {
|
|
background: none; border: none; cursor: pointer; padding: 0;
|
|
color: var(--c-muted); font-size: .65rem; opacity: 0;
|
|
transition: opacity .15s, color .15s; line-height: 1;
|
|
}
|
|
.wbf-dm-msg:hover .wbf-dm-msg__del { opacity: 1; }
|
|
.wbf-dm-msg__del:hover { color: #f05252; }
|
|
.wbf-dm-compose {
|
|
display: flex;
|
|
gap: .65rem;
|
|
padding: .85rem 1rem;
|
|
border-top: 1px solid var(--c-border);
|
|
background: rgba(255,255,255,.02);
|
|
align-items: flex-end;
|
|
}
|
|
.wbf-dm-compose textarea {
|
|
flex: 1;
|
|
resize: none;
|
|
background: var(--c-surface2);
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-text);
|
|
font-family: inherit;
|
|
font-size: .875rem;
|
|
padding: .5rem .75rem;
|
|
min-height: 42px;
|
|
max-height: 120px;
|
|
transition: border-color .15s;
|
|
}
|
|
.wbf-dm-compose textarea:focus { border-color: var(--c-primary); outline: none; }
|
|
.wbf-dm-empty {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--c-muted);
|
|
gap: .75rem;
|
|
padding: 2rem;
|
|
}
|
|
.wbf-dm-empty i { font-size: 3rem; opacity: .25; }
|
|
.wbf-dm-empty p { font-size: .9rem; text-align: center; margin: 0; }
|
|
.wbf-dm-conversation { display: flex; flex-direction: column; height: 100%; }
|
|
|
|
@media (max-width: 680px) {
|
|
.wbf-dm-layout { grid-template-columns: 1fr; }
|
|
.wbf-dm-sidebar { border-right: none; border-bottom: 1px solid var(--c-border); max-height: 220px; }
|
|
}
|
|
/* ════════════════════════════════════════════════════════════
|
|
FEHLENDE KLASSEN — KOMPLETTER NACHTRAG
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
/* ── Layout ─────────────────────────────────────────────────── */
|
|
.wbf-main { min-width: 0; }
|
|
.wbf-thread-row__avatar { flex-shrink: 0; }
|
|
.wbf-reply-form__avatar { flex-shrink: 0; margin-top: .2rem; }
|
|
|
|
/* ── Auth-Links im Forum-Text ───────────────────────────────── */
|
|
.wbf-login-link,
|
|
.wbf-register-link { color: var(--c-primary); font-weight: 600; }
|
|
.wbf-login-link:hover,
|
|
.wbf-register-link:hover { color: var(--c-accent); }
|
|
|
|
/* ── Like-Count ─────────────────────────────────────────────── */
|
|
.wbf-like-count { font-variant-numeric: tabular-nums; min-width: 1ch; display: inline-block; }
|
|
|
|
/* ── DM-Button ──────────────────────────────────────────────── */
|
|
.wbf-dm-btn {
|
|
display: inline-flex; align-items: center; gap: .4rem;
|
|
padding: .4rem .9rem; border-radius: var(--radius-sm);
|
|
background: var(--c-primary-l); color: var(--c-primary);
|
|
border: 1.5px solid rgba(0,180,216,.25);
|
|
font-size: .82rem; font-weight: 600; cursor: pointer;
|
|
font-family: inherit; transition: var(--transition);
|
|
}
|
|
.wbf-dm-btn:hover { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
|
|
|
|
/* ── Toolbar Dropdown (BBCode-Editor) ───────────────────────── */
|
|
.wbf-tb-dropdown {
|
|
position: absolute; z-index: 200;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
box-shadow: var(--shadow-md);
|
|
padding: .5rem;
|
|
display: none;
|
|
min-width: 140px;
|
|
}
|
|
.wbf-tb-dropdown.open { display: block; }
|
|
.wbf-tb-dropdown button {
|
|
display: block; width: 100%; text-align: left;
|
|
padding: .4rem .7rem; border: none; background: none;
|
|
color: var(--c-text-dim); font-size: .8rem; cursor: pointer;
|
|
border-radius: 4px; font-family: inherit;
|
|
}
|
|
.wbf-tb-dropdown button:hover { background: var(--c-surface2); color: var(--c-text); }
|
|
.wbf-color-panel-wrap,
|
|
.wbf-size-panel-wrap { position: relative; display: inline-block; }
|
|
|
|
/* ── Post bearbeiten ────────────────────────────────────────── */
|
|
.wbf-post__edit-wrap {
|
|
margin-top: .75rem;
|
|
display: none;
|
|
}
|
|
.wbf-post__edit-wrap.active { display: block; }
|
|
.wbf-edit-textarea {
|
|
width: 100%;
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .75rem;
|
|
font-family: inherit; font-size: .88rem;
|
|
color: var(--c-text);
|
|
resize: vertical; min-height: 80px;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-edit-textarea:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,180,216,.1); }
|
|
|
|
.wbf-save-edit-btn,
|
|
.wbf-cancel-edit-btn,
|
|
.wbf-save-thread-btn,
|
|
.wbf-cancel-thread-btn {
|
|
padding: .35rem .85rem; border-radius: var(--radius-sm);
|
|
font-size: .8rem; font-weight: 600; cursor: pointer;
|
|
font-family: inherit; border: 1.5px solid transparent;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-save-edit-btn,
|
|
.wbf-save-thread-btn {
|
|
background: var(--c-primary); color: #fff;
|
|
border-color: var(--c-primary);
|
|
}
|
|
.wbf-save-edit-btn:hover,
|
|
.wbf-save-thread-btn:hover { background: var(--c-primary-d); }
|
|
.wbf-cancel-edit-btn,
|
|
.wbf-cancel-thread-btn {
|
|
background: var(--c-surface2); color: var(--c-text-dim);
|
|
border-color: var(--c-border-d);
|
|
}
|
|
.wbf-cancel-edit-btn:hover,
|
|
.wbf-cancel-thread-btn:hover { border-color: var(--c-danger); color: var(--c-danger); }
|
|
|
|
.wbf-edit-msg {
|
|
font-size: .75rem; font-style: italic;
|
|
color: var(--c-muted); margin-left: .5rem;
|
|
}
|
|
|
|
/* ── Post-Content / Thread-Content (dynamische IDs) ─────────── */
|
|
[class^="wbf-post-content-"],
|
|
[class^="wbf-thread-content-"] { transition: opacity .2s; }
|
|
[class^="wbf-post-edit-"],
|
|
[class^="wbf-thread-edit-"] { margin-top: .5rem; }
|
|
|
|
/* ── Thread bearbeiten ──────────────────────────────────────── */
|
|
.wbf-edit-thread-btn {
|
|
background: none; border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm); padding: .3rem .7rem;
|
|
font-size: .78rem; font-weight: 600; color: var(--c-text-dim);
|
|
cursor: pointer; font-family: inherit; display: inline-flex;
|
|
align-items: center; gap: .35rem; transition: var(--transition);
|
|
}
|
|
.wbf-edit-thread-btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
|
|
|
|
/* ── Suche: Result-Karten ───────────────────────────────────── */
|
|
.wbf-search-result__cat {
|
|
font-size: .72rem; color: var(--c-primary);
|
|
display: inline-flex; align-items: center; gap: .3rem;
|
|
background: var(--c-primary-l);
|
|
padding: .1rem .5rem; border-radius: 4px;
|
|
}
|
|
.wbf-search-result__date {
|
|
font-size: .72rem; color: var(--c-muted);
|
|
display: flex; align-items: center; gap: .3rem;
|
|
}
|
|
|
|
/* ── Bild-Upload im Post ────────────────────────────────────── */
|
|
.wbf-img-file-input { display: none; }
|
|
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
MITGLIEDER-LISTE
|
|
════════════════════════════════════════════════════════════ */
|
|
|
|
/* Stat-Zahl als klickbarer Link */
|
|
.wbf-stat__num--link {
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-stat__num--link:hover {
|
|
text-shadow: 0 0 24px rgba(0,180,216,.8);
|
|
opacity: .85;
|
|
}
|
|
|
|
/* Filter-Leiste */
|
|
.wbf-members-filter {
|
|
display: flex; align-items: center; gap: .6rem;
|
|
flex-wrap: wrap; margin-bottom: 1.5rem;
|
|
}
|
|
.wbf-members-search {
|
|
flex: 1; min-width: 180px;
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .55rem .85rem;
|
|
font-family: inherit; font-size: .875rem;
|
|
color: var(--c-text);
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-members-search:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0,180,216,.1); }
|
|
.wbf-members-search::placeholder { color: var(--c-muted); }
|
|
.wbf-members-sort {
|
|
background: var(--c-bg2);
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
padding: .55rem .75rem;
|
|
font-family: inherit; font-size: .82rem;
|
|
color: var(--c-text);
|
|
cursor: pointer;
|
|
}
|
|
.wbf-members-sort option { background: var(--c-surface2); }
|
|
|
|
/* Mitglieder-Grid */
|
|
.wbf-members-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* Mitglieder-Karte */
|
|
.wbf-member-card {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1.25rem 1rem;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
display: flex; flex-direction: column; align-items: center; gap: .4rem;
|
|
transition: var(--transition);
|
|
box-shadow: var(--shadow-sm);
|
|
position: relative;
|
|
}
|
|
.wbf-member-card:hover {
|
|
border-color: rgba(0,180,216,.4);
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-md);
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Avatar + Online-Dot */
|
|
.wbf-member-card__avatar-wrap {
|
|
position: relative; display: inline-block; margin-bottom: .25rem;
|
|
}
|
|
.wbf-member-card__avatar-wrap .wbf-avatar { width: 64px; height: 64px; }
|
|
.wbf-member-card__online-dot {
|
|
position: absolute; bottom: 2px; right: 2px;
|
|
width: 12px; height: 12px; border-radius: 50%;
|
|
background: var(--c-success);
|
|
border: 2px solid var(--c-surface);
|
|
box-shadow: 0 0 6px rgba(86,207,126,.5);
|
|
}
|
|
|
|
.wbf-member-card__name {
|
|
font-size: .9rem; font-weight: 700; color: var(--c-text);
|
|
line-height: 1.3; word-break: break-word;
|
|
}
|
|
.wbf-member-card__username {
|
|
font-size: .75rem; color: var(--c-muted);
|
|
}
|
|
.wbf-member-card__badge { margin: .15rem 0; }
|
|
.wbf-member-card__stats {
|
|
display: flex; gap: .75rem; font-size: .72rem; color: var(--c-muted);
|
|
margin-top: .2rem;
|
|
}
|
|
.wbf-member-card__stats span { display: flex; align-items: center; gap: .25rem; }
|
|
|
|
@media (max-width: 480px) {
|
|
.wbf-members-grid { grid-template-columns: repeat(2, 1fr); }
|
|
}
|
|
/* ════════════════════════════════════════════════════════════
|
|
THREAD HOVER PREVIEW TOOLTIP
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-thread-preview-tip {
|
|
position: absolute;
|
|
z-index: 9999;
|
|
max-width: 360px;
|
|
padding: .6rem .85rem;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
box-shadow: 0 8px 24px rgba(0,0,0,.35);
|
|
font-size: .8rem;
|
|
line-height: 1.55;
|
|
color: var(--c-text-dim);
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transform: translateY(4px);
|
|
transition: opacity .15s ease, transform .15s ease;
|
|
white-space: normal;
|
|
word-break: break-word;
|
|
}
|
|
.wbf-thread-preview-tip.visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* ════════════════════════════════════════════════════════════
|
|
REGISTRIERUNG — DEAKTIVIERTER TAB
|
|
════════════════════════════════════════════════════════════ */
|
|
.wbf-auth-tab--muted {
|
|
opacity: .45;
|
|
cursor: not-allowed !important;
|
|
}
|
|
.wbf-auth-tab--muted:hover { opacity: .45; }
|
|
/* ── Forum-Regeln Seite ─────────────────────────────────── */
|
|
.wbf-rules-body { line-height: 1.75; }
|
|
.wbf-rules-section { display: flex; align-items: center; gap: .75rem; margin: 2rem 0 .6rem; }
|
|
.wbf-rules-num {
|
|
width: 32px; height: 32px; border-radius: 50%;
|
|
background: var(--c-primary-l); color: var(--c-primary);
|
|
border: 1.5px solid rgba(0,180,216,.3);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: .8rem; font-weight: 800; flex-shrink: 0;
|
|
}
|
|
.wbf-rules-heading { font-size: 1rem; font-weight: 700; color: var(--c-text); margin: 0; }
|
|
.wbf-rules-para { color: var(--c-text-dim); margin: 0 0 .9rem; padding-left: .25rem; }
|
|
.wbf-rules-para strong { color: var(--c-text); }
|
|
|
|
/* ── Umfragen (Polls) ───────────────────────────────────── */
|
|
.wbf-poll {
|
|
background: var(--c-surface);
|
|
border: 1px solid rgba(0,180,216,.2);
|
|
border-radius: var(--radius);
|
|
margin-bottom: 1.5rem;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-poll__header {
|
|
display: flex; align-items: center; gap: .6rem;
|
|
padding: .85rem 1.1rem;
|
|
background: rgba(0,180,216,.07);
|
|
border-bottom: 1px solid rgba(0,180,216,.15);
|
|
font-size: .88rem;
|
|
}
|
|
.wbf-poll__header i { color: var(--c-primary); }
|
|
.wbf-poll__title { font-weight: 700; color: var(--c-text); flex: 1; }
|
|
.wbf-poll__badge {
|
|
font-size: .68rem; font-weight: 700; padding: 2px 8px;
|
|
border-radius: 20px;
|
|
background: rgba(0,180,216,.15); color: var(--c-primary);
|
|
border: 1px solid rgba(0,180,216,.25);
|
|
}
|
|
.wbf-poll__badge--ended {
|
|
background: rgba(148,163,184,.12); color: var(--c-muted);
|
|
border-color: rgba(148,163,184,.2);
|
|
}
|
|
.wbf-poll__body { padding: 1rem 1.1rem; }
|
|
/* Voting form */
|
|
.wbf-poll__option {
|
|
display: flex; align-items: center; gap: .6rem;
|
|
padding: .6rem .75rem; margin-bottom: .4rem;
|
|
border: 1.5px solid var(--c-border-d);
|
|
border-radius: var(--radius-sm);
|
|
cursor: pointer; font-size: .875rem;
|
|
transition: border-color .15s, background .15s;
|
|
}
|
|
.wbf-poll__option:hover { border-color: var(--c-primary); background: var(--c-primary-l); }
|
|
/* Results */
|
|
.wbf-poll__result {
|
|
position: relative; overflow: hidden;
|
|
border-radius: var(--radius-sm); margin-bottom: .4rem;
|
|
border: 1.5px solid var(--c-border-d);
|
|
background: var(--c-bg2);
|
|
min-height: 40px;
|
|
}
|
|
.wbf-poll__result--mine { border-color: rgba(0,180,216,.4); }
|
|
.wbf-poll__result-bar {
|
|
position: absolute; top: 0; left: 0; bottom: 0;
|
|
background: var(--c-primary-l);
|
|
transition: width .5s ease;
|
|
border-radius: var(--radius-sm);
|
|
}
|
|
.wbf-poll__result--mine .wbf-poll__result-bar { background: rgba(0,180,216,.18); }
|
|
.wbf-poll__result-content {
|
|
position: relative; z-index: 1;
|
|
display: flex; align-items: center;
|
|
justify-content: space-between;
|
|
padding: .55rem .85rem; font-size: .875rem;
|
|
}
|
|
.wbf-poll__result-label { color: var(--c-text); }
|
|
.wbf-poll__result-pct { font-weight: 700; color: var(--c-primary); font-size: .82rem; white-space: nowrap; }
|
|
.wbf-poll__footer {
|
|
margin-top: .75rem; font-size: .78rem;
|
|
color: var(--c-muted); display: flex; align-items: center; gap: .4rem;
|
|
}
|
|
/* Poll option builder rows in modal */
|
|
.wbf-poll-opt-row {
|
|
display: flex; gap: .4rem; margin-bottom: .4rem;
|
|
}
|
|
.wbf-poll-opt-row input { flex: 1; }
|
|
/* ── Forum-Regeln ────────────────────────────────────────────── */
|
|
.wbf-rule-item {
|
|
display: flex;
|
|
gap: .6rem;
|
|
margin-bottom: .9rem;
|
|
padding: .6rem .85rem;
|
|
background: var(--c-bg2);
|
|
border-radius: var(--radius-sm);
|
|
border-left: 3px solid var(--c-primary);
|
|
line-height: 1.6;
|
|
}
|
|
.wbf-rule-num {
|
|
color: var(--c-primary);
|
|
font-weight: 800;
|
|
flex-shrink: 0;
|
|
min-width: 1.5rem;
|
|
}
|
|
/* ── Thread-Präfixe ──────────────────────────────────────────── */
|
|
.wbf-prefix-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 1px 8px;
|
|
border-radius: 4px;
|
|
font-size: .7rem;
|
|
font-weight: 800;
|
|
letter-spacing: .04em;
|
|
text-transform: uppercase;
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── Lesezeichen-Button ─────────────────────────────────────── */
|
|
.wbf-bookmark-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px; height: 30px;
|
|
border: 1.5px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
background: transparent;
|
|
color: var(--c-muted);
|
|
font-size: .85rem;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
flex-shrink: 0;
|
|
}
|
|
.wbf-bookmark-btn:hover {
|
|
border-color: #fbbf24;
|
|
color: #fbbf24;
|
|
background: rgba(251,191,36,.08);
|
|
}
|
|
.wbf-bookmark-btn.wbf-bookmarked {
|
|
border-color: #fbbf24;
|
|
color: #fbbf24;
|
|
background: rgba(251,191,36,.12);
|
|
}
|
|
|
|
/* ── Ignore / Block ────────────────────────────────────────────────────────── */
|
|
|
|
/* Eingeklappter Post-Wrapper */
|
|
.wbf-post--ignored {
|
|
background: transparent;
|
|
border: 1px solid rgba(148,163,184,.15);
|
|
border-radius: var(--radius-sm);
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Info-Bar die anstelle des Posts erscheint */
|
|
.wbf-ignored-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: .75rem;
|
|
padding: .6rem 1rem;
|
|
background: rgba(71,85,105,.18);
|
|
color: var(--c-muted);
|
|
font-size: .8rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.wbf-ignored-bar span {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
}
|
|
.wbf-ignored-bar strong {
|
|
color: var(--c-text-dim);
|
|
}
|
|
|
|
/* "Trotzdem anzeigen"-Button in der ignored-bar */
|
|
.wbf-show-ignored-btn {
|
|
background: none;
|
|
border: 1px solid rgba(148,163,184,.3);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--c-muted);
|
|
font-size: .75rem;
|
|
padding: 2px 8px;
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
.wbf-show-ignored-btn:hover {
|
|
border-color: var(--c-primary);
|
|
color: var(--c-primary);
|
|
}
|
|
|
|
/* Ignore-Button in Post-Footer */
|
|
.wbf-ignore-btn {
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
color: var(--c-muted);
|
|
padding: 2px 6px;
|
|
border-radius: 4px;
|
|
font-size: .82rem;
|
|
transition: var(--transition);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
}
|
|
.wbf-ignore-btn:hover {
|
|
color: #f97316;
|
|
background: rgba(249,115,22,.08);
|
|
}
|
|
/* Profil-Button-Variante (mit Border via wbf-btn--sm) */
|
|
.wbf-btn.wbf-ignore-btn {
|
|
border: 1.5px solid rgba(148,163,184,.3);
|
|
padding: .35rem .75rem;
|
|
}
|
|
.wbf-btn.wbf-ignore-btn:hover,
|
|
.wbf-btn.wbf-ignore-btn[data-ignored="1"] {
|
|
border-color: #f97316;
|
|
color: #f97316;
|
|
background: rgba(249,115,22,.08);
|
|
}
|
|
|
|
/* Ignorierte-Nutzer-Liste im Profil */
|
|
.wbf-ignore-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .5rem;
|
|
}
|
|
.wbf-ignore-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .75rem;
|
|
padding: .6rem .75rem;
|
|
border-radius: var(--radius-sm);
|
|
background: rgba(255,255,255,.03);
|
|
border: 1px solid var(--c-border);
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-ignore-item:hover {
|
|
background: rgba(255,255,255,.05);
|
|
}
|
|
.wbf-ignore-item__avatar {
|
|
flex-shrink: 0;
|
|
text-decoration: none;
|
|
}
|
|
.wbf-ignore-item__info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .15rem;
|
|
min-width: 0;
|
|
}
|
|
.wbf-ignore-item__name {
|
|
font-size: .88rem;
|
|
font-weight: 600;
|
|
color: var(--c-text);
|
|
text-decoration: none;
|
|
}
|
|
.wbf-ignore-item__name:hover {
|
|
color: var(--c-primary);
|
|
}
|
|
.wbf-ignore-item__since {
|
|
font-size: .73rem;
|
|
color: var(--c-muted);
|
|
}
|
|
|
|
|
|
/* ── Profil-Tabs ─────────────────────────────────────────────────────────── */
|
|
.wbf-profile-tabs {
|
|
display: flex;
|
|
gap: 0;
|
|
margin-bottom: 1.5rem;
|
|
border-bottom: 2px solid var(--c-border);
|
|
padding: 0;
|
|
overflow-x: auto;
|
|
scrollbar-width: none;
|
|
}
|
|
.wbf-profile-tabs::-webkit-scrollbar { display: none; }
|
|
|
|
.wbf-profile-tab {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .45rem;
|
|
padding: .7rem 1.1rem;
|
|
font-size: .88rem;
|
|
font-weight: 600;
|
|
color: var(--c-muted);
|
|
text-decoration: none;
|
|
border-bottom: 2px solid transparent;
|
|
margin-bottom: -2px;
|
|
transition: color .15s, border-color .15s;
|
|
white-space: nowrap;
|
|
letter-spacing: .01em;
|
|
}
|
|
.wbf-profile-tab:hover {
|
|
color: var(--c-text);
|
|
border-bottom-color: rgba(255,255,255,.2);
|
|
}
|
|
.wbf-profile-tab.active {
|
|
color: var(--c-primary);
|
|
border-bottom-color: var(--c-primary);
|
|
}
|
|
.wbf-profile-tab i {
|
|
font-size: .8rem;
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
.wbf-profile-tab {
|
|
padding: .6rem .75rem;
|
|
font-size: .82rem;
|
|
}
|
|
}
|
|
|
|
|
|
/* ── Notification Preferences ────────────────────────────────────────────── */
|
|
.wbf-notif-pref-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .5rem;
|
|
}
|
|
.wbf-notif-pref {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
padding: .75rem 1rem;
|
|
background: rgba(255,255,255,.03);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
cursor: pointer;
|
|
transition: var(--transition);
|
|
}
|
|
.wbf-notif-pref:hover {
|
|
background: rgba(255,255,255,.05);
|
|
}
|
|
.wbf-notif-pref__info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .2rem;
|
|
}
|
|
.wbf-notif-pref__info span {
|
|
font-size: .88rem;
|
|
font-weight: 600;
|
|
color: var(--c-text);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
}
|
|
.wbf-notif-pref__info span i {
|
|
color: var(--c-primary);
|
|
font-size: .78rem;
|
|
}
|
|
.wbf-notif-pref__info small {
|
|
font-size: .75rem;
|
|
color: var(--c-muted);
|
|
}
|
|
|
|
/* ── Toggle-Switch ───────────────────────────────────────────────────────── */
|
|
.wbf-toggle {
|
|
position: relative;
|
|
width: 42px;
|
|
height: 24px;
|
|
background: rgba(148,163,184,.25);
|
|
border-radius: 12px;
|
|
transition: background .2s;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
border: 1px solid rgba(148,163,184,.2);
|
|
}
|
|
.wbf-toggle--on {
|
|
background: var(--c-primary);
|
|
border-color: var(--c-primary);
|
|
}
|
|
.wbf-toggle__knob {
|
|
position: absolute;
|
|
top: 2px;
|
|
left: 2px;
|
|
width: 18px;
|
|
height: 18px;
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
transition: transform .2s;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,.3);
|
|
}
|
|
.wbf-toggle--on .wbf-toggle__knob {
|
|
transform: translateX(18px);
|
|
}
|
|
|
|
|
|
/* ── Profil-Sidebar: Online-Status & Zuletzt aktiv ──────────────────────── */
|
|
.wbf-profile-online-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
font-size: .75rem;
|
|
font-weight: 700;
|
|
color: #22c55e;
|
|
margin-top: .25rem;
|
|
letter-spacing: .02em;
|
|
}
|
|
.wbf-profile-online-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: #22c55e;
|
|
box-shadow: 0 0 6px #22c55e;
|
|
animation: wbf-pulse-green 2s infinite;
|
|
flex-shrink: 0;
|
|
}
|
|
@keyframes wbf-pulse-green {
|
|
0%, 100% { opacity: 1; box-shadow: 0 0 6px #22c55e; }
|
|
50% { opacity: .7; box-shadow: 0 0 10px #22c55e; }
|
|
}
|
|
.wbf-profile-lastseen {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
font-size: .73rem;
|
|
color: var(--c-muted);
|
|
margin-top: .25rem;
|
|
}
|
|
.wbf-profile-lastseen i {
|
|
font-size: .68rem;
|
|
opacity: .7;
|
|
}
|
|
/* ════════════════════════════════════════════════════════════════════
|
|
PROFIL v3 — Sidebar-Links Layout (wbf-prof)
|
|
════════════════════════════════════════════════════════════════════ */
|
|
|
|
.wbf-prof {
|
|
display: grid;
|
|
grid-template-columns: 260px 1fr;
|
|
gap: 1.5rem;
|
|
align-items: start;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
/* ── SIDEBAR ─────────────────────────────────────────────────────── */
|
|
.wbf-prof__sidebar {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius);
|
|
padding: 1.75rem 1.25rem 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
gap: .75rem;
|
|
position: sticky;
|
|
top: 80px;
|
|
}
|
|
|
|
/* Avatar */
|
|
.wbf-prof__av-wrap {
|
|
position: relative;
|
|
width: 110px;
|
|
height: 110px;
|
|
margin-bottom: .25rem;
|
|
}
|
|
.wbf-prof__av-ring {
|
|
position: absolute;
|
|
inset: -4px;
|
|
border-radius: 50%;
|
|
background: conic-gradient(from 0deg, var(--c-primary), #6366f1, var(--c-primary));
|
|
opacity: .6;
|
|
animation: wbf-spin 8s linear infinite;
|
|
}
|
|
@keyframes wbf-spin { to { transform: rotate(360deg); } }
|
|
.wbf-prof__av {
|
|
position: relative;
|
|
width: 110px;
|
|
height: 110px;
|
|
border-radius: 50%;
|
|
border: 3px solid var(--c-surface);
|
|
object-fit: cover;
|
|
display: block;
|
|
background: var(--c-bg2);
|
|
box-shadow: 0 0 28px rgba(0,180,216,.25);
|
|
}
|
|
.wbf-prof__av-online {
|
|
position: absolute;
|
|
bottom: 5px; right: 5px;
|
|
width: 16px; height: 16px;
|
|
border-radius: 50%;
|
|
background: #22c55e;
|
|
border: 3px solid var(--c-surface);
|
|
box-shadow: 0 0 8px rgba(34,197,94,.7);
|
|
}
|
|
.wbf-prof__av-camera {
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: 50%;
|
|
background: rgba(0,0,0,.6);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #fff;
|
|
font-size: 1.1rem;
|
|
cursor: pointer;
|
|
opacity: 0;
|
|
transition: opacity .18s;
|
|
}
|
|
.wbf-prof__av-wrap:hover .wbf-prof__av-camera { opacity: 1; }
|
|
|
|
/* Identity */
|
|
.wbf-prof__sb-name {
|
|
font-size: 1.1rem;
|
|
font-weight: 800;
|
|
color: var(--c-text);
|
|
letter-spacing: -.01em;
|
|
}
|
|
.wbf-prof__sb-role { margin-top: -.15rem; }
|
|
.wbf-prof__sb-status {
|
|
font-size: .75rem;
|
|
color: var(--c-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
justify-content: center;
|
|
}
|
|
.wbf-prof__sb-status--online { color: #22c55e; font-weight: 600; }
|
|
.wbf-prof__dot {
|
|
width: 7px; height: 7px;
|
|
border-radius: 50%;
|
|
background: #22c55e;
|
|
box-shadow: 0 0 6px rgba(34,197,94,.8);
|
|
animation: wbf-pulse 2s infinite;
|
|
}
|
|
|
|
/* Stats grid */
|
|
.wbf-prof__sb-stats {
|
|
display: grid;
|
|
grid-template-columns: repeat(3,1fr);
|
|
gap: .5rem;
|
|
width: 100%;
|
|
margin: .25rem 0;
|
|
border-top: 1px solid var(--c-border);
|
|
border-bottom: 1px solid var(--c-border);
|
|
padding: .9rem 0;
|
|
}
|
|
.wbf-prof__sb-stat {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: .2rem;
|
|
}
|
|
.wbf-prof__sb-stat span {
|
|
font-size: 1.15rem;
|
|
font-weight: 700;
|
|
color: var(--c-text);
|
|
line-height: 1;
|
|
}
|
|
.wbf-prof__sb-stat em {
|
|
font-style: normal;
|
|
font-size: .65rem;
|
|
color: var(--c-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: .06em;
|
|
}
|
|
|
|
/* Level progress */
|
|
.wbf-prof__sb-level {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .35rem;
|
|
}
|
|
.wbf-prof__sb-level-labels {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: .75rem;
|
|
font-weight: 600;
|
|
}
|
|
.wbf-prof__sb-level-xp {
|
|
color: var(--c-muted);
|
|
font-weight: 400;
|
|
}
|
|
.wbf-prof__sb-level-bar {
|
|
height: 6px;
|
|
background: rgba(255,255,255,.07);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-prof__sb-level-bar > div {
|
|
height: 100%;
|
|
border-radius: 6px;
|
|
transition: width .6s ease;
|
|
}
|
|
.wbf-prof__sb-level-next {
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
text-align: center;
|
|
}
|
|
|
|
/* Meta */
|
|
.wbf-prof__sb-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .45rem;
|
|
font-size: .78rem;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-prof__sb-meta i { color: var(--c-primary); }
|
|
|
|
/* Sidebar custom field blocks */
|
|
.wbf-prof__sb-block {
|
|
width: 100%;
|
|
border-top: 1px solid var(--c-border);
|
|
padding-top: .85rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .5rem;
|
|
text-align: left;
|
|
}
|
|
.wbf-prof__sb-block-title {
|
|
font-size: .65rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: .09em;
|
|
color: var(--c-primary);
|
|
margin-bottom: .15rem;
|
|
}
|
|
.wbf-prof__sb-field { display: flex; flex-direction: column; gap: .1rem; }
|
|
.wbf-prof__sb-field-lbl {
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
font-weight: 600;
|
|
}
|
|
.wbf-prof__sb-field-lbl i { margin-right: .25rem; }
|
|
.wbf-prof__sb-field-val {
|
|
font-size: .82rem;
|
|
color: var(--c-text-dim);
|
|
word-break: break-all;
|
|
}
|
|
.wbf-prof__sb-field-val--link {
|
|
color: var(--c-primary);
|
|
text-decoration: none;
|
|
}
|
|
.wbf-prof__sb-field-val--link:hover { text-decoration: underline; }
|
|
|
|
/* ── MAIN ────────────────────────────────────────────────────────── */
|
|
.wbf-prof__main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* Header card */
|
|
.wbf-prof__header-card {
|
|
position: relative;
|
|
border-radius: var(--radius) var(--radius) 0 0;
|
|
overflow: hidden;
|
|
border: 1px solid var(--c-border);
|
|
border-bottom: none;
|
|
}
|
|
.wbf-prof__header-card-bg {
|
|
position: absolute; inset: 0;
|
|
background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 50%, #061218 100%);
|
|
}
|
|
.wbf-prof__header-card-bg::after {
|
|
content: '';
|
|
position: absolute; inset: 0;
|
|
background: radial-gradient(ellipse 70% 120% at 85% 50%, rgba(0,180,216,.2) 0%, transparent 65%);
|
|
}
|
|
.wbf-prof__header-card-inner {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
padding: 1.5rem 1.75rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.wbf-prof__header-name {
|
|
font-size: 1.5rem;
|
|
font-weight: 800;
|
|
color: #fff;
|
|
margin: 0 0 .35rem;
|
|
letter-spacing: -.02em;
|
|
}
|
|
.wbf-prof__header-sub {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .6rem;
|
|
margin-bottom: .5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.wbf-prof__header-online {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
font-size: .72rem;
|
|
font-weight: 700;
|
|
color: #22c55e;
|
|
background: rgba(34,197,94,.12);
|
|
border: 1px solid rgba(34,197,94,.25);
|
|
border-radius: 20px;
|
|
padding: .15rem .65rem;
|
|
}
|
|
.wbf-prof__header-online span {
|
|
width: 6px; height: 6px;
|
|
border-radius: 50%;
|
|
background: #22c55e;
|
|
box-shadow: 0 0 5px rgba(34,197,94,.8);
|
|
animation: wbf-pulse 2s infinite;
|
|
}
|
|
.wbf-prof__header-bio {
|
|
font-size: .85rem;
|
|
color: rgba(255,255,255,.6);
|
|
margin: 0;
|
|
max-width: 420px;
|
|
}
|
|
.wbf-prof__header-btns {
|
|
display: flex;
|
|
gap: .6rem;
|
|
flex-wrap: wrap;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Tabs */
|
|
.wbf-prof__tabs {
|
|
display: flex;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-top: none;
|
|
padding: 0 .75rem;
|
|
overflow-x: auto;
|
|
scrollbar-width: none;
|
|
}
|
|
.wbf-prof__tabs::-webkit-scrollbar { display: none; }
|
|
.wbf-prof__tab {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
padding: .85rem 1rem;
|
|
font-size: .82rem;
|
|
font-weight: 600;
|
|
color: var(--c-muted);
|
|
text-decoration: none;
|
|
border-bottom: 2px solid transparent;
|
|
margin-bottom: -1px;
|
|
white-space: nowrap;
|
|
transition: color .15s, border-color .15s;
|
|
}
|
|
.wbf-prof__tab:hover { color: var(--c-text); }
|
|
.wbf-prof__tab.active { color: var(--c-primary); border-bottom-color: var(--c-primary); }
|
|
.wbf-prof__tab i { font-size: .8rem; }
|
|
|
|
/* Tab body */
|
|
.wbf-prof__tab-body {
|
|
background: var(--c-bg);
|
|
border: 1px solid var(--c-border);
|
|
border-top: none;
|
|
border-radius: 0 0 var(--radius) var(--radius);
|
|
padding: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
/* Section headers */
|
|
.wbf-prof__section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: .75rem;
|
|
}
|
|
.wbf-prof__section-header > span {
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: .07em;
|
|
color: var(--c-text-dim);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .45rem;
|
|
}
|
|
.wbf-prof__section-header > span i { color: var(--c-primary); }
|
|
.wbf-prof__section-more {
|
|
font-size: .75rem;
|
|
color: var(--c-primary);
|
|
text-decoration: none;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
opacity: .8;
|
|
transition: opacity .15s;
|
|
}
|
|
.wbf-prof__section-more:hover { opacity: 1; }
|
|
|
|
/* Post cards */
|
|
.wbf-prof__posts {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .6rem;
|
|
}
|
|
.wbf-prof__post-card {
|
|
display: block;
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
text-decoration: none;
|
|
transition: border-color .15s, transform .12s;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-prof__post-card:hover {
|
|
border-color: rgba(0,180,216,.4);
|
|
transform: translateX(3px);
|
|
}
|
|
.wbf-prof__post-card-inner {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: .9rem;
|
|
padding: .9rem 1.1rem;
|
|
}
|
|
.wbf-prof__post-card-icon { flex-shrink: 0; }
|
|
.wbf-prof__post-card-type-icon {
|
|
width: 36px; height: 36px;
|
|
border-radius: 8px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: .85rem;
|
|
}
|
|
.wbf-prof__post-card-type-icon--thread { background: rgba(0,180,216,.15); color: var(--c-primary); }
|
|
.wbf-prof__post-card-type-icon--reply { background: rgba(99,102,241,.15); color: #818cf8; }
|
|
.wbf-prof__post-card-body { flex: 1; min-width: 0; }
|
|
.wbf-prof__post-card-title {
|
|
font-size: .88rem;
|
|
font-weight: 600;
|
|
color: var(--c-text);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-bottom: .2rem;
|
|
}
|
|
.wbf-prof__post-card-preview {
|
|
font-size: .78rem;
|
|
color: var(--c-muted);
|
|
line-height: 1.4;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
margin-bottom: .35rem;
|
|
}
|
|
.wbf-prof__post-card-meta {
|
|
display: flex;
|
|
gap: .75rem;
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
.wbf-prof__post-card-meta i { margin-right: .2rem; }
|
|
.wbf-prof__post-card-type { font-weight: 600; }
|
|
.wbf-prof__post-card-type--thread { color: var(--c-primary); }
|
|
.wbf-prof__post-card-type--reply { color: #818cf8; }
|
|
.wbf-prof__post-card-time {
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .4rem;
|
|
margin-top: .2rem;
|
|
}
|
|
|
|
/* Overview 2-col grid */
|
|
.wbf-prof__overview-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 1.5rem;
|
|
align-items: start;
|
|
}
|
|
|
|
/* Stat cards */
|
|
.wbf-prof__stat-cards {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: .65rem;
|
|
}
|
|
.wbf-prof__stat-card {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
padding: .9rem 1rem;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-prof__stat-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
left: 0; top: 0; bottom: 0;
|
|
width: 3px;
|
|
}
|
|
.wbf-prof__stat-card--blue::before { background: var(--c-primary); }
|
|
.wbf-prof__stat-card--pink::before { background: #ec4899; }
|
|
.wbf-prof__stat-card--gold::before { background: #fbbf24; }
|
|
.wbf-prof__stat-card-icon {
|
|
font-size: 1rem;
|
|
margin-bottom: .3rem;
|
|
}
|
|
.wbf-prof__stat-card--blue .wbf-prof__stat-card-icon { color: var(--c-primary); }
|
|
.wbf-prof__stat-card--pink .wbf-prof__stat-card-icon { color: #ec4899; }
|
|
.wbf-prof__stat-card--gold .wbf-prof__stat-card-icon { color: #fbbf24; }
|
|
.wbf-prof__stat-card-val {
|
|
font-size: 1.4rem;
|
|
font-weight: 800;
|
|
color: var(--c-text);
|
|
line-height: 1.1;
|
|
}
|
|
.wbf-prof__stat-card-lbl {
|
|
font-size: .72rem;
|
|
color: var(--c-muted);
|
|
margin-top: .15rem;
|
|
}
|
|
.wbf-prof__stat-card-sub {
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
margin-top: .3rem;
|
|
}
|
|
.wbf-prof__stat-card-bar {
|
|
height: 3px;
|
|
background: rgba(255,255,255,.07);
|
|
border-radius: 3px;
|
|
margin-top: .6rem;
|
|
overflow: hidden;
|
|
}
|
|
.wbf-prof__stat-card--blue .wbf-prof__stat-card-bar > div { background: var(--c-primary); height: 100%; border-radius: 3px; }
|
|
.wbf-prof__stat-card--pink .wbf-prof__stat-card-bar > div { background: #ec4899; height: 100%; border-radius: 3px; }
|
|
|
|
/* Badges */
|
|
.wbf-prof__badges {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
|
|
gap: .65rem;
|
|
}
|
|
.wbf-prof__badge {
|
|
background: var(--c-surface);
|
|
border: 1px solid var(--c-border);
|
|
border-radius: var(--radius-sm);
|
|
padding: .75rem .5rem;
|
|
text-align: center;
|
|
opacity: .45;
|
|
transition: opacity .15s;
|
|
}
|
|
.wbf-prof__badge--active { opacity: 1; }
|
|
.wbf-prof__badge-icon {
|
|
width: 40px; height: 40px;
|
|
border-radius: 50%;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 1rem;
|
|
margin: 0 auto .5rem;
|
|
}
|
|
.wbf-prof__badge-name {
|
|
font-size: .72rem;
|
|
font-weight: 700;
|
|
color: var(--c-text);
|
|
}
|
|
.wbf-prof__badge-sub {
|
|
font-size: .62rem;
|
|
color: var(--c-muted);
|
|
margin-top: .1rem;
|
|
}
|
|
|
|
/* Activity list */
|
|
.wbf-prof__activity-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
}
|
|
.wbf-prof__activity-item {
|
|
display: flex;
|
|
gap: .75rem;
|
|
align-items: flex-start;
|
|
padding: .75rem 0;
|
|
border-bottom: 1px solid rgba(255,255,255,.04);
|
|
}
|
|
.wbf-prof__activity-item:last-child { border-bottom: none; }
|
|
.wbf-prof__activity-av { flex-shrink: 0; }
|
|
.wbf-prof__activity-body { flex: 1; min-width: 0; }
|
|
.wbf-prof__activity-title {
|
|
display: block;
|
|
font-size: .82rem;
|
|
font-weight: 600;
|
|
color: var(--c-text);
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-bottom: .2rem;
|
|
}
|
|
.wbf-prof__activity-title:hover { color: var(--c-primary); }
|
|
.wbf-prof__activity-meta {
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
}
|
|
.wbf-prof__activity-meta i { margin-right: .2rem; }
|
|
.wbf-prof__activity-time {
|
|
font-size: .7rem;
|
|
color: var(--c-muted);
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Settings grid */
|
|
.wbf-prof__settings-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 1.25rem;
|
|
align-items: start;
|
|
}
|
|
|
|
/* Mobile */
|
|
@media (max-width: 900px) {
|
|
.wbf-prof { grid-template-columns: 1fr; }
|
|
.wbf-prof__sidebar { position: static; }
|
|
.wbf-prof__overview-grid,
|
|
.wbf-prof__settings-grid { grid-template-columns: 1fr; }
|
|
}
|
|
@media (max-width: 600px) {
|
|
.wbf-prof__tab-body { padding: 1rem; }
|
|
.wbf-prof__header-card-inner { padding: 1.1rem; }
|
|
.wbf-prof__stat-cards { flex-direction: column; }
|
|
.wbf-prof__badges { grid-template-columns: repeat(3,1fr); }
|
|
}
|
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
2FA — Zwei-Faktor-Authentifizierung
|
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
|
|
/* Badge im Profil-Card-Header */
|
|
.wbf-2fa-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: .72rem;
|
|
font-weight: 600;
|
|
padding: 2px 8px;
|
|
border-radius: 20px;
|
|
margin-left: auto;
|
|
letter-spacing: .02em;
|
|
}
|
|
.wbf-2fa-badge--on {
|
|
background: rgba(34,197,94,.15);
|
|
color: #16a34a;
|
|
border: 1px solid rgba(34,197,94,.3);
|
|
}
|
|
.wbf-2fa-badge--off {
|
|
background: rgba(156,163,175,.12);
|
|
color: var(--c-muted);
|
|
border: 1px solid rgba(156,163,175,.2);
|
|
}
|
|
|
|
/* QR-Code Container */
|
|
/* QR-Code — QRCode.js erzeugt img UND canvas; img ausblenden, nur canvas zeigen */
|
|
#wbf2faQr {
|
|
display: inline-block;
|
|
padding: 12px;
|
|
background: #fff;
|
|
border-radius: 8px;
|
|
line-height: 0;
|
|
box-shadow: 0 1px 6px rgba(0,0,0,.15);
|
|
align-self: flex-start;
|
|
flex-shrink: 0;
|
|
}
|
|
/* Das leere Duplikat-img von QRCode.js komplett verstecken */
|
|
#wbf2faQr img {
|
|
display: none !important;
|
|
}
|
|
/* Nur das canvas anzeigen — exakte quadratische Größe erzwingen */
|
|
#wbf2faQr canvas {
|
|
display: block !important;
|
|
width: 200px !important;
|
|
height: 200px !important;
|
|
}
|
|
|
|
/* Secret-Code (manuelle Eingabe) */
|
|
#wbf2faSecret {
|
|
display: inline-block;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: .9rem;
|
|
letter-spacing: .12em;
|
|
background: var(--c-bg-2, rgba(255,255,255,.05));
|
|
border: 1px solid rgba(255,255,255,.1);
|
|
padding: 5px 12px;
|
|
border-radius: 6px;
|
|
user-select: all;
|
|
cursor: text;
|
|
word-break: break-all;
|
|
}
|
|
|
|
/* 2FA-Login-Step (im Auth-Modal) */
|
|
.wbf-2fa-login-step {
|
|
animation: wbfFadeIn .2s ease;
|
|
}
|
|
.wbf-2fa-login-step input {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
font-family: monospace;
|
|
text-align: center;
|
|
font-size: 1.4rem;
|
|
letter-spacing: .3em;
|
|
padding: 10px 14px;
|
|
border: 1px solid rgba(234,179,8,.4);
|
|
border-radius: 7px;
|
|
background: var(--c-bg, #1e2535);
|
|
color: var(--c-text, #e2e8f0);
|
|
transition: border-color .15s;
|
|
}
|
|
.wbf-2fa-login-step input:focus {
|
|
outline: none;
|
|
border-color: #eab308;
|
|
box-shadow: 0 0 0 2px rgba(234,179,8,.2);
|
|
}
|
|
|
|
/* Verify-Code-Input im Profil */
|
|
#wbf2faVerifyCode {
|
|
font-family: monospace;
|
|
letter-spacing: .25em;
|
|
font-size: 1.3rem;
|
|
text-align: center;
|
|
transition: border-color .15s;
|
|
}
|
|
#wbf2faVerifyCode:focus {
|
|
border-color: var(--c-primary) !important;
|
|
box-shadow: 0 0 0 2px rgba(var(--c-primary-rgb, 99,102,241), .2);
|
|
}
|
|
|
|
/* Schritt-3-Erfolgs-Animation */
|
|
#wbf2faStep3 {
|
|
animation: wbfFadeIn .3s ease;
|
|
}
|
|
|
|
@keyframes wbfFadeIn {
|
|
from { opacity: 0; transform: translateY(6px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
/* ── 2FA Login Modal ─────────────────────────────────────────────────────── */
|
|
.wbf-2fa-modal-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 99999;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: rgba(0, 0, 0, 0);
|
|
backdrop-filter: blur(0px);
|
|
transition: background .25s ease, backdrop-filter .25s ease;
|
|
padding: 16px;
|
|
}
|
|
.wbf-2fa-modal-overlay.wbf-2fa-modal--visible {
|
|
background: rgba(0, 0, 0, .65);
|
|
backdrop-filter: blur(4px);
|
|
}
|
|
.wbf-2fa-modal-box {
|
|
background: var(--c-bg-2, #1e2535);
|
|
border: 1px solid rgba(234,179,8,.35);
|
|
border-radius: 14px;
|
|
padding: 28px 28px 24px;
|
|
width: 100%;
|
|
max-width: 380px;
|
|
box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(234,179,8,.1);
|
|
transform: translateY(20px) scale(.97);
|
|
opacity: 0;
|
|
transition: transform .25s cubic-bezier(.34,1.3,.64,1), opacity .2s ease;
|
|
}
|
|
.wbf-2fa-modal--visible .wbf-2fa-modal-box {
|
|
transform: translateY(0) scale(1);
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Modal Header */
|
|
.wbf-2fa-modal-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.wbf-2fa-modal-icon {
|
|
font-size: 1.8rem;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
}
|
|
.wbf-2fa-modal-title {
|
|
display: block;
|
|
font-size: 1rem;
|
|
font-weight: 700;
|
|
color: var(--c-text, #e2e8f0);
|
|
margin-bottom: 3px;
|
|
}
|
|
.wbf-2fa-modal-sub {
|
|
margin: 0;
|
|
font-size: .82rem;
|
|
color: var(--c-muted, #94a3b8);
|
|
line-height: 1.4;
|
|
}
|
|
|
|
/* Code-Eingabe im Modal */
|
|
.wbf-2fa-modal-box .wbf-2fa-code-input {
|
|
display: block;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 12px 16px;
|
|
font-size: 1.6rem;
|
|
letter-spacing: .35em;
|
|
text-align: center;
|
|
font-family: 'Courier New', monospace;
|
|
font-weight: 600;
|
|
background: var(--c-bg, #141928);
|
|
color: var(--c-text, #e2e8f0);
|
|
border: 2px solid rgba(234,179,8,.3);
|
|
border-radius: 10px;
|
|
outline: none;
|
|
transition: border-color .15s, box-shadow .15s;
|
|
margin-bottom: 16px;
|
|
}
|
|
.wbf-2fa-modal-box .wbf-2fa-code-input:focus {
|
|
border-color: #eab308;
|
|
box-shadow: 0 0 0 3px rgba(234,179,8,.2);
|
|
}
|
|
.wbf-2fa-modal-box .wbf-2fa-code-input::placeholder {
|
|
color: rgba(148,163,184,.35);
|
|
letter-spacing: .25em;
|
|
}
|
|
|
|
/* Buttons im Modal */
|
|
.wbf-2fa-modal-actions {
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
.wbf-2fa-modal-actions .wbf-btn--primary {
|
|
flex: 1;
|
|
}
|
|
.wbf-2fa-modal-actions .wbf-2fa-cancel-btn {
|
|
font-size: .83rem;
|
|
padding: 7px 14px;
|
|
opacity: .65;
|
|
transition: opacity .15s;
|
|
}
|
|
.wbf-2fa-modal-actions .wbf-2fa-cancel-btn:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Fehlermeldung */
|
|
.wbf-2fa-modal-box .wbf-2fa-msg {
|
|
display: block;
|
|
min-height: 1.2em;
|
|
margin-top: 10px;
|
|
font-size: .82rem;
|
|
text-align: center;
|
|
} |