/* Design selection is available only within a confirmed member session. */
html:not([data-design-authenticated="true"]) [data-design-picker] { display:none!important; }
/* Treffpunkt: optional layout, deliberately isolated from the classic design.
   No remote font, image or analytics. Member/rank colours remain untouched. */
.cz-design-access { display:flex; justify-content:flex-end; padding:10px 4px; }
.cz-mosaik-only { display:none!important; }
.cz-design-trigger { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid var(--appearance-line,#596661); border-radius:12px; color:var(--appearance-text,#f6f3ef); background:var(--appearance-panel,#29292f); font:600 .85rem/1.3 system-ui,sans-serif; cursor:pointer; }
#cz-design-dialog { width:min(620px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:24px; border:1px solid var(--appearance-line); border-radius:24px; color:var(--appearance-text); background:var(--appearance-bg); box-shadow:0 24px 100px #0008; }
#cz-design-dialog::backdrop { background:#091916bf; backdrop-filter:blur(6px); }
#cz-design-dialog>form { display:flex; justify-content:flex-end; margin:0 0 14px; }
.cz-design-close { min-height:44px; padding:8px 14px; background:var(--appearance-panel); color:var(--appearance-text); border:1px solid var(--appearance-line); border-radius:12px; cursor:pointer; }
.cz-design-panel { margin:0 0 24px; font:400 1rem/1.5 system-ui,sans-serif; }
.cz-design-panel h3 { font-size:1.5rem; letter-spacing:-.035em; line-height:1.2; margin:12px 0; }
.cz-design-panel p,.cz-design-panel small { color:var(--appearance-muted); }
.cz-design-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; padding:0; min-width:0; border:0; }
.cz-design-options legend { padding:0 0 12px; }
.cz-design-options label { position:relative; display:grid; align-content:start; gap:8px; padding:14px; border:2px solid var(--appearance-line); border-radius:18px; background:var(--appearance-panel); cursor:pointer; }
.cz-design-options label:has(input:checked) { border-color:var(--appearance-orange-text); }
.cz-design-options input { width:20px!important; height:20px!important; min-height:20px!important; accent-color:var(--appearance-orange-text); }
.cz-design-options strong { font-size:1.1rem; }
.cz-design-options small { font-size:.82rem; }
.cz-design-options em { font:700 .6rem system-ui,sans-serif; vertical-align:middle; padding:3px 5px; border-radius:5px; background:#f4b18a; color:#142e2b; }
.cz-design-sample { height:70px; display:grid; grid-template-columns:1.5fr 1fr; gap:7px; padding:10px; border-radius:10px; background:#202026; }
.cz-design-sample i { border-radius:5px; background:#ff6600; }
.cz-design-sample i:first-child { grid-row:span 2; }
.cz-design-sample i:nth-child(2) { background:#9cff00; }
.cz-design-sample i:nth-child(3) { background:#55545e; }
.cz-design-sample[data-sample=mosaik] { background:#f4f3ee; border-radius:8px; grid-template-columns:1fr 3fr; }
.cz-design-sample[data-sample=mosaik] i:first-child { background:#18211d; }
.cz-design-sample[data-sample=mosaik] i:nth-child(2) { background:#f2763c; }
.cz-design-sample[data-sample=mosaik] i:nth-child(3) { background:#d8e6c4; }
/* TREFFPUNKT: a separate interface, not a recoloured legacy homepage. */
.tp-only,.tp-landing { display:none; }
:root[data-appearance][data-design="mosaik"] {
 color-scheme:light; --appearance-bg:#f4f3ee; --appearance-deep:#e8ebe4; --appearance-panel:#ffffff; --appearance-raised:#e8ede6; --appearance-input:#ffffff; --appearance-line:#87948b; --appearance-text:#18211d; --appearance-muted:#4b5d52; --appearance-orange:#f2763c; --appearance-orange-text:#873913; --appearance-green:#315f41; --appearance-mine:#dce6d7;
 --accent:#e76b32; --accent-2:#315f41; --cz-accent:#e76b32; --cz-link:#315f41; --y-orange:#e76b32; --y-lime:#315f41; --yu-orange:#e76b32; --yu-green:#315f41;
 --tp-paper:#f4f3ee; --tp-ink:#18211d; --tp-muted:#4b5d52; --tp-line:#d6ddd3; --tp-orange:#f2763c; --tp-green:#d8e6c4; --tp-nav:216px;
 background:var(--tp-paper);
}
:root[data-appearance][data-design="mosaik"].cz-high-contrast { --appearance-line:#445448; --appearance-text:#18211d; --appearance-muted:#263e2e; --tp-muted:#263e2e; }
html[data-appearance][data-design="mosaik"] body { background:var(--tp-paper)!important; color:var(--tp-ink); font-family:Inter,"Avenir Next",system-ui,sans-serif!important; }
html[data-appearance][data-design="mosaik"] body .cz-mosaik-only,html[data-appearance][data-design="mosaik"] body .cz-design-access { display:none!important; }
html[data-appearance][data-design="mosaik"] body .cz-design-sample[data-sample=mosaik] { background:#f4f3ee; border-radius:8px; grid-template-columns:1fr 3fr; }
html[data-appearance][data-design="mosaik"] body .cz-design-sample[data-sample=mosaik] i:first-child { background:#18211d; }
html[data-appearance][data-design="mosaik"] body .cz-design-sample[data-sample=mosaik] i:nth-child(2) { background:#f2763c; }
html[data-appearance][data-design="mosaik"] body .cz-design-sample[data-sample=mosaik] i:nth-child(3) { background:#d8e6c4; }
html[data-appearance][data-design="mosaik"] body.tp-auth :is(#cz-youth-top,#cz-youth-dock,#chat-navbar,#app-rail,#cz-mobile-header,#cz-mobile-bottom,#cz-floating-menu,#cz-side-menu) { display:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #home-screen>.home-inner { display:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #tp-home { display:block; }
html[data-appearance][data-design="mosaik"] body.tp-auth #home-screen { position:fixed!important; inset:70px 0 0 var(--tp-nav)!important; width:auto!important; height:auto!important; margin:0!important; padding:0!important; overflow:auto!important; background:var(--tp-paper)!important; }
html[data-appearance][data-design="mosaik"] body :is(#tp-home,#tp-navigation,#tp-top,#tp-room-rail,#tp-mobile-nav,#tp-room-dialog,.tp-landing) { font:400 15px/1.5 Inter,"Avenir Next",system-ui,sans-serif; color:var(--tp-ink); }
html[data-appearance][data-design="mosaik"] body :is(#tp-home,#tp-navigation,#tp-top,#tp-room-rail,#tp-mobile-nav,#tp-room-dialog,.tp-landing) *,html[data-appearance][data-design="mosaik"] body .tp-landing { box-sizing:border-box; min-width:0; }
html[data-appearance][data-design="mosaik"] body :is(#tp-home,#tp-navigation,#tp-top,#tp-room-rail,#tp-mobile-nav,#tp-room-dialog,.tp-landing) svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
html[data-appearance][data-design="mosaik"] body :is(#tp-home,#tp-navigation,#tp-top,#tp-room-rail,#tp-mobile-nav,#tp-room-dialog,.tp-landing) button { font:inherit; cursor:pointer; }
html[data-appearance][data-design="mosaik"] body.tp-auth #tp-navigation { display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; width:var(--tp-nav); z-index:2500; background:#18211d; color:#f6f5ec; padding:32px 16px 24px; }
.tp-wordmark { display:block; padding:0 16px 32px; text-decoration:none; color:inherit; font-size:37px; font-weight:850; line-height:1; letter-spacing:-2.5px; }
.tp-wordmark>span { color:#f2763c; }
.tp-wordmark>small { display:block; font-size:9px; font-weight:500; color:#bbc8be; letter-spacing:2px; margin-top:14px; }
#tp-navigation nav { display:grid; gap:5px; }
#tp-navigation [data-tp-nav] { display:flex; align-items:center; gap:13px; width:100%; padding:12px 16px; min-height:47px; border:0; border-radius:9px; text-align:left; background:transparent; color:#d5dfd5; font-size:14px!important; }
#tp-navigation [data-tp-nav][aria-current=page] { color:#18211d; background:#d8e6c4; font-weight:700; }
#tp-navigation [data-tp-nav]:hover { background:#344437; color:#fff; }
#tp-navigation [data-tp-nav][aria-current=page]:hover { background:#e3f0d0; color:#18211d; }
.tp-nav-bottom { margin-top:auto; border-top:1px solid #4a594d; padding-top:18px; }
.tp-nav-bottom p { margin:0 16px 20px; color:#b5c5b8; font-size:13px; line-height:1.7; }
#tp-navigation [data-design-picker] { padding:12px 16px; border:0; color:#b5c5b8; background:transparent; font-size:12px; }
html[data-appearance][data-design="mosaik"] body.tp-auth #tp-top { position:fixed; top:0; right:0; left:var(--tp-nav); height:70px; display:flex; align-items:center; gap:24px; padding:0 32px; background:var(--tp-paper); border-bottom:1px solid var(--tp-line); z-index:2490; }
.tp-location { font-size:13px; color:#526359; }
.tp-top-brand { display:none; }
#tp-top .tp-search { display:flex; align-items:center; gap:10px; border:0; background:transparent; color:#4b5d52; margin-left:auto; font-size:13px; }
.tp-top-actions { display:flex; gap:10px; align-items:center; }
.tp-top-actions button { display:grid; place-items:center; min-width:42px; min-height:42px; padding:8px; border:0; border-radius:50%; background:transparent; color:#18211d; }
.tp-top-actions button:first-child { font-size:13px; font-weight:700; border-right:1px solid var(--tp-line); border-radius:0; padding-right:18px; }
#tp-home { max-width:1500px; margin:0 auto; padding:38px clamp(20px,3vw,48px) 30px; }
.tp-welcome { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:40px; }
.tp-eyebrow { font-size:9px; font-weight:750; letter-spacing:1.6px; color:#4b5d52; line-height:1.5; }
.tp-welcome h1 { font-size:clamp(26px,3vw,39px)!important; font-weight:700; letter-spacing:-1.5px; text-transform:none!important; line-height:1.18!important; margin:10px 0 8px!important; color:#18211d!important; }
.tp-welcome>div>p:last-child { margin:0; color:#4b5d52; font-size:14px; }
html[data-appearance][data-design="mosaik"] body .tp-primary { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:46px; padding:13px 19px; background:#18211d!important; border:1px solid #18211d!important; border-radius:8px!important; color:#fff!important; text-decoration:none; font-size:13px!important; font-weight:650!important; flex-shrink:0; }
.tp-home-grid { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:32px; }
.tp-main-column { display:grid; gap:38px; align-content:start; }
.tp-side-column { display:grid; gap:24px; align-content:start; border-left:1px solid var(--tp-line); padding-left:26px; }
.tp-section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:18px; }
#tp-home h2 { font-size:22px; line-height:1.25; font-weight:680; letter-spacing:-.7px; margin:6px 0 0; text-transform:none; color:#18211d; }
.tp-section-heading button { border:0; padding:10px 0; min-height:44px; background:transparent; color:#4b5d52; font-size:12px!important; white-space:nowrap; }
.tp-room-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#tp-home .tp-room { display:flex; align-items:center; gap:14px; min-height:120px; padding:20px 16px; border:1px solid var(--tp-line); border-radius:12px; background:#fff; color:#18211d; text-align:left; transition:border-color .15s,transform .15s; }
#tp-home .tp-room:hover { border-color:#647661; transform:translateY(-2px); }
.tp-room-symbol { display:grid; place-items:center; width:45px; height:49px; flex:0 0 45px; border-radius:22px 22px 8px 8px; font-size:24px; font-weight:450; color:#18211d; background:#e4eccc; }
.tp-symbol-1 { background:#f5d5bd; }.tp-symbol-2 { background:#dbdcec; }.tp-symbol-3 { background:#cce4df; }
.tp-room-copy { display:grid; gap:4px; flex:1; }
.tp-room-copy small { font-size:8px; letter-spacing:1px; color:#4b5d52; }
.tp-room-copy strong { font-size:16px; font-weight:700; overflow-wrap:anywhere; }
.tp-room-copy>span { font-size:11px; color:#4b5d52; }
.tp-room-arrow { margin-left:auto; font-size:19px; }
.tp-fine { font-size:11px!important; line-height:1.65!important; color:#4b5d52!important; margin:14px 0 0; }
.tp-empty { font-size:13px; color:#4b5d52; padding:20px; margin:0; border:1px dashed #acb8aa; border-radius:10px; grid-column:1/-1; }
.tp-club-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tp-club { display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; text-align:left; padding:0 16px 18px; border:1px solid var(--tp-line); background:#fff; border-radius:12px; color:#18211d; }
.tp-club-art { display:grid; place-items:center; width:calc(100% + 32px); height:118px; margin:0 -16px 18px; background:#d9e4c2; font:80px/1 Georgia,serif; }
.tp-club-1 .tp-club-art { background:#efc5aa; }.tp-club-2 .tp-club-art { background:#d6d6e9; }
.tp-club>strong { font-size:17px; margin:8px 0; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.tp-club>span:not(.tp-club-art):not(.tp-eyebrow) { color:#4b5d52; font-size:12px; line-height:1.6; overflow-wrap:anywhere; flex:1; }
.tp-club>small { display:flex; justify-content:space-between; width:100%; color:#4b5d52; font-size:11px; padding-top:20px; }
.tp-club-empty { position:relative; padding:24px 28px; background:#dde8cf; border-radius:12px; grid-column:1/-1; overflow:hidden; }
.tp-club-empty>span { position:absolute; right:18px; top:0; font-size:110px; opacity:.15; pointer-events:none; }
.tp-club-empty h3 { margin:0 0 8px; font-size:21px; }.tp-club-empty p { font-size:13px; max-width:320px; }.tp-club-empty button { position:relative; border:0; padding:10px 0; color:#18211d; background:transparent; font-weight:650!important; min-height:44px; }
.tp-you { display:grid; justify-items:start; padding:22px; border-radius:100px 100px 12px 12px; text-align:center; background:#ece5d8; }
#tp-home .tp-you [data-tp-slot=avatar] { justify-self:center; margin:0 0 22px; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-profile-avatar { width:112px!important; height:112px!important; min-width:112px!important; flex:0 0 112px!important; padding:0!important; transform:none!important; border:4px solid #fff!important; border-radius:50%!important; box-shadow:none!important; background:#d8e6c4!important; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-profile-avatar :is(img,span) { border:0!important; border-radius:50%!important; width:100%!important; height:100%!important; object-fit:cover; font-size:30px; }
#tp-home .tp-you :is(h2,p,.tp-eyebrow,button) { justify-self:center; }
#tp-home .tp-you h2 { font-size:23px; margin:10px 0; }.tp-you p { font-size:12px; color:#4b5d52; line-height:1.7; margin:0 0 12px; }.tp-you button { border:0; border-bottom:1px solid #63705f; border-radius:0; padding:10px 0; min-height:44px; color:#18211d; background:transparent; font-size:12px!important; font-weight:650!important; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next { max-width:100%; background:transparent; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next>header { display:block; padding:0!important; border:0!important; background:transparent!important; margin:0 0 12px; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next h2 { font-size:20px!important; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next-grid { display:block; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next article { padding:14px 0; border:0; border-top:1px solid var(--tp-line); border-radius:0; background:transparent; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next h3 { font-size:14px; margin:5px 0 8px; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next :is(p,small) { font-size:12px; color:#4b5d52; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-next button { min-height:40px; border:0; border-bottom:1px solid #87948b; padding:8px 0; font-size:12px; background:transparent; border-radius:0; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-online-members { display:flex!important; flex-wrap:wrap; gap:9px; overflow:visible; padding:0; background:transparent; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-home-return-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-home-return-grid button { background:#fff!important; border:1px solid var(--tp-line)!important; border-radius:9px!important; padding:12px!important; color:#18211d!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-home-return-grid :is(i,b,span) { color:#18211d!important; background:transparent!important; font-size:12px!important; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz-home-return-grid b { font-size:22px!important; }
.tp-help-note { display:flex; gap:12px; color:#4b5d52; }.tp-help-note p { margin:0; font-size:12px; }.tp-help-note button { border:0; background:transparent; text-decoration:underline; color:#315f41; min-height:44px; padding:0; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-latest-posts { display:grid!important; gap:0!important; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-latest-posts>* { padding:18px 0!important; border:0!important; border-top:1px solid var(--tp-line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-latest-posts :is(b,strong,h3) { color:#18211d!important; text-transform:none!important; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-latest-posts :is(p,small) { color:#4b5d52!important; }
html[data-appearance][data-design="mosaik"] body #tp-home #home-all-posts-btn { border:0; color:#315f41; background:transparent; min-height:44px; padding:12px 0; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz22-discover { border:1px solid var(--tp-line)!important; border-radius:10px!important; padding:18px!important; background:#fff!important; color:#18211d!important; }
html[data-appearance][data-design="mosaik"] body #tp-home .cz22-discover summary :is(b,em,i) { color:#18211d!important; background:transparent!important; text-transform:none!important; }
.tp-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:40px; padding-top:24px; border-top:1px solid var(--tp-line); color:#4b5d52; font-size:11px; }
.tp-footer nav { display:flex; flex-wrap:wrap; gap:15px; }.tp-footer a { color:inherit; }.tp-footer button { border:0; background:transparent; color:inherit; padding:0; font-size:11px!important; }
/* Chat: room navigation | conversation | people. A real layout, with a compact menu. */
html[data-appearance][data-design="mosaik"] body.tp-auth #app:not(.hidden) { display:grid!important; position:fixed!important; inset:70px 0 0 var(--tp-nav)!important; width:auto!important; height:auto!important; padding:0!important; margin:0!important; grid-template-columns:210px minmax(0,1fr) 224px; background:#fff!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #tp-room-rail { display:block; grid-column:1; grid-row:1; padding:24px 14px; overflow:auto; border-right:1px solid var(--tp-line); background:#eef0e9; }
#tp-room-rail h2 { margin:8px 0 20px; font-size:24px; letter-spacing:-1px; }
.tp-room-search { display:flex; gap:8px; align-items:center; padding:9px 10px; border:1px solid #aab7a6; border-radius:8px; background:#fff; margin-bottom:16px; }
html[data-appearance][data-design="mosaik"] body :is(#tp-room-rail,#tp-room-dialog) .tp-room-search input { border:0!important; padding:0!important; height:28px; min-height:28px!important; width:100%; outline-offset:5px; border-radius:0!important; background:#fff!important; color:#18211d!important; font-size:13px!important; }
:is(#tp-room-rail,#tp-room-dialog) .tp-room { display:flex; gap:10px; align-items:center; border:0; border-radius:8px; background:transparent; color:#18211d; padding:12px 8px; width:100%; text-align:left; }
:is(#tp-room-rail,#tp-room-dialog) .tp-room-symbol { width:30px; height:35px; flex-basis:30px; font-size:19px; }
:is(#tp-room-rail,#tp-room-dialog) .tp-room-copy strong { font-size:13px; }
:is(#tp-room-rail,#tp-room-dialog) .tp-room-copy small { display:none; }
:is(#tp-room-rail,#tp-room-dialog) .tp-room.is-current { background:#d8e6c4; }
:is(#tp-room-rail,#tp-room-dialog) [data-tp-create-room] { padding:12px 8px; width:100%; text-align:left; border:0; background:transparent; color:#315f41; font-size:12px; margin-top:15px; min-height:44px; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app>.main { grid-column:2; grid-row:1; display:flex; flex-direction:column; height:100%!important; min-height:0!important; min-width:0!important; padding:0!important; overflow:hidden!important; --appearance-bg:#17241f; --appearance-deep:#14201b; --appearance-panel:#23342b; --appearance-input:#23342b; --appearance-line:#637565; --appearance-text:#f2f5ee; --appearance-muted:#c0cbbd; --appearance-orange-text:#ffb285; --appearance-green:#d8e6c4; --cz-link:#d8e6c4; color:#f2f5ee; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app .topbar { display:flex!important; flex-wrap:wrap; gap:10px; position:relative!important; inset:auto!important; flex:0 0 auto!important; padding:14px 18px!important; margin:0!important; border:0!important; border-bottom:1px solid #425647!important; border-radius:0!important; background:#17241f!important; color:#f2f5ee!important; min-height:66px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app .topbar-room { flex:1; font-size:17px; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #topbar-topic { width:100%; order:5; color:#c0cbbd; font-size:12px; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #topbar-rooms-btn { color:#d8e6c4!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #tp-chat-commandbar { display:flex; align-items:start; flex-wrap:wrap; position:relative; flex:0 0 auto; padding:6px 14px; gap:8px; background:#203329; border-bottom:1px solid #425647; color:#f2f5ee; }
#tp-chat-commandbar>button,#tp-chat-menu>summary { display:flex; align-items:center; gap:12px; cursor:pointer; min-height:40px; border:0; background:transparent; color:inherit; font:550 12px/1.4 system-ui; padding:8px; }
#tp-chat-menu { flex:1; min-width:0; border:0; background:transparent; }
#tp-chat-menu>summary { list-style:none; width:max-content; }#tp-chat-menu>summary::-webkit-details-marker { display:none; }
#tp-chat-menu[open] { flex-basis:100%; order:3; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #cz-chat-tools { position:static!important; inset:auto!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; padding:4px 0!important; margin:0!important; border:0!important; background:transparent!important; border-radius:0!important; width:100%!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #cz-chat-tools>button { background:#17241f!important; color:#f2f5ee!important; border:1px solid #637565!important; border-radius:6px!important; box-shadow:none!important; min-height:42px!important; font-size:12px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #cz-chat-tools>button>i { color:#d8e6c4!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #log { flex:1 1 auto!important; min-height:0!important; height:auto!important; margin:0!important; overflow-y:auto!important; background:#17241f!important; border:0!important; padding:18px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #composer { display:flex!important; position:relative!important; inset:auto!important; width:100%!important; max-width:none!important; min-height:66px!important; height:auto!important; padding:10px 14px!important; margin:0!important; flex:0 0 auto!important; border:0!important; border-top:1px solid #637565!important; border-radius:0!important; background:#203329!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #composer input { background:transparent!important; color:#f2f5ee!important; border:0!important; font-size:16px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #composer .composer-input-wrap { flex:1 1 auto!important; min-width:0!important; background:transparent!important; border:0!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #composer input::placeholder { color:#c0cbbd!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app :is(#typing-indicator,#composer-reply-preview,#cmd-autocomplete) { position:relative!important; inset:auto!important; width:100%!important; max-width:none!important; margin:0!important; flex:0 0 auto!important; border-radius:0!important; background:#203329!important; color:#c0cbbd!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #typing-indicator { height:auto!important; min-height:20px; padding:2px 16px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #typing-indicator:empty { display:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #composer-reply-preview { padding:9px 16px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #cmd-autocomplete { max-height:min(30dvh,180px)!important; overflow-y:auto!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app #chat-jump-latest { position:relative!important; inset:auto!important; align-self:center; flex:0 0 auto; margin:4px!important; min-height:32px; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app .composer-send-btn { background:#d8e6c4!important; color:#18211d!important; border-radius:8px!important; width:42px!important; min-width:42px!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #app>#chat-sidebar { display:flex!important; position:relative!important; grid-column:3; grid-row:1; inset:auto!important; width:auto!important; height:100%!important; transform:none!important; margin:0!important; padding:20px 12px!important; border:0!important; border-left:1px solid var(--tp-line)!important; background:#17241f!important; color:#f2f5ee!important; --appearance-panel:#17241f; --appearance-bg:#17241f; --appearance-text:#f2f5ee; --appearance-muted:#c0cbbd; --muted:#c0cbbd; box-shadow:none!important; overflow:auto!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #chat-sidebar :is(.presence-list,.sidebar-section) { background:transparent!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #chat-sidebar :is(.cz-room-sidebar-head b,.sidebar-label,.sidebar-section p) { color:#f2f5ee!important; }
#tp-room-dialog { width:min(520px,calc(100vw - 24px)); max-height:calc(100dvh - 40px); border:1px solid #87948b; border-radius:18px; padding:24px; background:#f4f3ee; color:#18211d; }
#tp-room-dialog::backdrop { background:#0e171bcc; backdrop-filter:blur(4px); }
#tp-room-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }#tp-room-dialog h2 { margin:6px 0 0; font-size:28px; letter-spacing:-1px; }#tp-room-dialog form button { min-width:44px; min-height:44px; border:0; background:transparent; color:#18211d; font-size:25px; }
/* Existing functional pages get a restrained document layout inside the new shell. */
html[data-appearance][data-design="mosaik"] body.tp-auth :is(#modal-overlay,#forum-overlay,#admin-overlay) { top:70px!important; left:var(--tp-nav)!important; right:0!important; bottom:0!important; width:auto!important; height:auto!important; padding:0!important; background:var(--tp-paper)!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth #modal-overlay .modal-card { width:100%!important; max-width:none!important; height:100%!important; max-height:none!important; margin:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth :is(#modal-overlay,#forum-overlay) :is(.modal-header,.forum-header) { display:flex!important; align-items:center; justify-content:space-between; flex:0 0 auto; position:relative!important; inset:auto!important; padding:18px 28px!important; min-height:64px; border-radius:0!important; border:0!important; border-bottom:1px solid var(--tp-line)!important; background:var(--tp-paper)!important; color:#18211d!important; }
html[data-appearance][data-design="mosaik"] body.tp-auth :is(.modal-body,.forum-body) { max-width:1180px; margin-inline:auto; width:100%; padding:28px!important; background:var(--tp-paper)!important; }
html[data-appearance][data-design="mosaik"] body .cz-next>header { padding:0 0 24px!important; border:0!important; border-bottom:1px solid var(--tp-line)!important; background:transparent!important; border-radius:0!important; }
html[data-appearance][data-design="mosaik"] body .cz-next h2 { font-size:clamp(25px,4vw,40px)!important; font-weight:650; letter-spacing:-1.3px; }
html[data-appearance][data-design="mosaik"] body .cz-next :is(article,details) { border-radius:10px!important; border-color:var(--tp-line)!important; box-shadow:none!important; background:#fff!important; }
html[data-appearance][data-design="mosaik"] body .cz-next :is(button[type=submit],button[aria-pressed=true]) { background:#18211d!important; color:#fff!important; border-color:#18211d!important; border-radius:7px!important; }
html[data-appearance][data-design="mosaik"] body #cz-youth-hub { border:1px solid #87948b!important; border-radius:18px!important; background:#f4f3ee!important; color:#18211d!important; box-shadow:0 24px 80px #0004!important; }
html[data-appearance][data-design="mosaik"] body #cz-youth-hub .cz-youth-hub-noise { display:none; }
html[data-appearance][data-design="mosaik"] body #cz-youth-hub :is(h2,h3,small,b,strong,span) { color:#18211d!important; }
html[data-appearance][data-design="mosaik"] body #cz-youth-hub .cz-youth-lane { border-color:var(--tp-line)!important; border-radius:8px!important; background:#fff!important; }
html[data-appearance][data-design="mosaik"] body #cz-youth-hub :is(button,a) { background:transparent!important; color:#315f41!important; border-color:#aab7a6!important; border-radius:6px!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.hero,.cz-info-hero) { background:transparent!important; border:0!important; border-bottom:1px solid var(--tp-line)!important; border-radius:0!important; padding-block:48px!important; box-shadow:none!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.hero h1,.cz-info-hero h1) { font-size:clamp(36px,7vw,68px)!important; font-weight:650!important; letter-spacing:-2px!important; color:#18211d!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.help-card,.cz-info-card,.cz-help-accordion,.cz-help-command-accordion) { background:#fff!important; border:1px solid var(--tp-line)!important; border-radius:8px!important; box-shadow:none!important; }
@media(min-width:901px) {
 html[data-appearance][data-design="mosaik"] body.tp-auth #cz-youth-hub.open { display:block!important; position:fixed!important; inset:80px 24px 24px auto!important; width:min(680px,calc(100vw - 264px))!important; overflow:auto!important; z-index:6000!important; padding:24px!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #cz-youth-hub-backdrop.open { display:block!important; position:fixed; inset:0; z-index:5900; background:#18211d99; }
}
@media(max-width:1200px) and (min-width:901px) {
 :root[data-appearance][data-design="mosaik"] { --tp-nav:180px; }
 .tp-home-grid { grid-template-columns:minmax(0,1fr) 230px; gap:22px; }.tp-side-column { padding-left:18px; }.tp-club-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.tp-club:nth-child(3) { grid-column:1/-1; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app:not(.hidden) { grid-template-columns:180px minmax(0,1fr); }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app>#chat-sidebar { display:none!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app>#chat-sidebar.sidebar-open { display:flex!important; position:absolute!important; inset:0 0 0 auto!important; width:260px!important; z-index:2600!important; }
}
@media(max-width:900px) {
 html[data-appearance][data-design="mosaik"] body.tp-auth #tp-navigation { display:none; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #tp-top { left:0; height:62px; padding:0 20px; gap:14px; }
 .tp-top-brand { display:inline; font-size:25px; font-weight:850; letter-spacing:-1.7px; }.tp-top-brand b { color:#e76b32; }.tp-location { display:none; }#tp-top .tp-search { margin-left:auto; }#tp-top .tp-search>span { display:none; }.tp-top-actions { gap:4px; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #tp-mobile-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; inset:auto 0 0; z-index:5000; padding:7px 10px calc(7px + env(safe-area-inset-bottom)); background:#f8f8f2; border-top:1px solid var(--tp-line); height:calc(70px + env(safe-area-inset-bottom)); }
 #tp-mobile-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:48px; border:0; border-radius:8px; background:transparent; color:#4b5d52; font-size:10px!important; }
 #tp-mobile-nav button[aria-current=page] { color:#18211d; background:#d8e6c4; font-weight:750; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #home-screen { inset:62px 0 calc(70px + env(safe-area-inset-bottom))!important; }
 #tp-home { padding:26px 20px 24px; }.tp-welcome { margin-bottom:30px; }.tp-welcome .tp-primary { display:none!important; }.tp-welcome h1 { font-size:32px!important; }
 .tp-home-grid { grid-template-columns:minmax(0,1fr) 250px; gap:24px; }.tp-side-column { padding-left:20px; }.tp-room-grid { grid-template-columns:1fr; }.tp-club-grid { grid-template-columns:1fr; }.tp-club { display:grid; grid-template-columns:72px minmax(0,1fr); column-gap:16px; padding:16px; }.tp-club-art { grid-column:1; grid-row:1/5; width:72px; height:100%; min-height:110px; margin:0; font-size:48px; border-radius:36px 36px 8px 8px; }.tp-club>small { padding-top:10px; }.tp-club>strong { margin:6px 0; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app:not(.hidden) { inset:0 0 auto 0!important; height:calc(var(--tp-vh,100dvh) - 70px - env(safe-area-inset-bottom))!important; grid-template-columns:minmax(0,1fr); }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app>.main { grid-column:1; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #tp-room-rail { display:none; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app>#chat-sidebar { display:none!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app>#chat-sidebar.sidebar-open { display:flex!important; position:absolute!important; inset:0 0 0 auto!important; width:min(300px,90vw)!important; z-index:3000!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth.cz-youth-chat #tp-top { display:none; }
 html[data-appearance][data-design="mosaik"] body.tp-auth.cz-keyboard-open #tp-mobile-nav { display:none; }
 html[data-appearance][data-design="mosaik"] body.tp-auth.cz-keyboard-open #app:not(.hidden) { height:var(--tp-vh,100dvh)!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app .topbar { padding:10px 14px!important; gap:8px; }
 html[data-appearance][data-design="mosaik"] body.tp-auth #app #log { padding:12px!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth :is(#modal-overlay,#forum-overlay,#admin-overlay) { top:62px!important; left:0!important; bottom:calc(70px + env(safe-area-inset-bottom))!important; }
 html[data-appearance][data-design="mosaik"] body.tp-auth :is(.modal-body,.forum-body) { padding:20px!important; }
}
@media(max-width:620px) {
 .tp-home-grid { display:flex; flex-direction:column; gap:30px; }.tp-side-column { display:grid; grid-template-columns:1fr; border:0; border-top:1px solid var(--tp-line); padding:26px 0 0; }.tp-main-column { gap:28px; }
 #tp-home h2 { font-size:23px; }.tp-section-heading { align-items:center; }.tp-section-heading button { font-size:11px!important; }.tp-room-grid { grid-template-columns:1fr; }#tp-home .tp-room { min-height:91px; padding:16px; }
 #tp-home .tp-you { grid-template-columns:112px minmax(0,1fr); gap:0 20px; text-align:left; border-radius:14px; padding:22px; }
 #tp-home .tp-you [data-tp-slot=avatar] { grid-column:1; grid-row:1/5; align-self:center; margin:0; }#tp-home .tp-you :is(h2,p,.tp-eyebrow,button) { justify-self:start; }#tp-home .tp-you h2 { font-size:20px; }
 .tp-your-day .cz-home-return-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tp-top-actions button:first-child { border:0; padding-right:8px; }
 .tp-footer { flex-direction:column; }.tp-footer nav :is(button,a) { min-height:36px; display:flex; align-items:center; }
}
@media(max-width:360px) {
 #tp-home { padding:22px 14px; }.tp-welcome h1 { font-size:28px!important; }#tp-home h2 { font-size:21px; }.tp-section-heading { align-items:start; flex-direction:column; gap:0; margin-bottom:12px; }.tp-section-heading button { padding-block:6px; min-height:36px; }
 #tp-home .tp-you { grid-template-columns:1fr; text-align:center; gap:8px; }#tp-home .tp-you [data-tp-slot=avatar] { grid-row:auto; }#tp-home .tp-you :is(h2,p,.tp-eyebrow,button) { justify-self:center; }
 .tp-room-copy strong { font-size:15px; }#tp-top { gap:8px; }.tp-top-actions { gap:0; }
}
@media(prefers-reduced-motion:reduce) {
 html[data-appearance][data-design="mosaik"] body *,html[data-appearance][data-design="mosaik"] body *::before,html[data-appearance][data-design="mosaik"] body *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* A completely new public entry; the existing secure login drawer is retained. */
html[data-appearance][data-design="mosaik"] body #login-screen { background:#f4f3ee!important; padding:0!important; }
html[data-appearance][data-design="mosaik"] body #login-screen .login-shell { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
html[data-appearance][data-design="mosaik"] body #login-screen .home-main { display:block!important; max-width:none!important; width:100%!important; padding:0!important; }
html[data-appearance][data-design="mosaik"] body #login-screen :is(.cz-login-header-v5,.cz-login-v7,.cz-design-access) { display:none!important; }
html[data-appearance][data-design="mosaik"] body .tp-landing { display:block; max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.tp-landing-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 0; border-bottom:1px solid #d6ddd3; }
.tp-landing-brand { color:#18211d; font-size:39px; font-weight:850; letter-spacing:-2.5px; text-decoration:none; line-height:1; }.tp-landing-brand>span { color:#e76b32; }
.tp-landing-nav>div { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }.tp-landing-nav button { border:0; background:transparent; min-height:44px; padding:10px 16px; color:#18211d; font-size:13px!important; }.tp-landing-nav button:last-child { border:1px solid #87948b; border-radius:6px; }
.tp-landing-hero { text-align:center; padding:66px 0 58px; }
html[data-appearance][data-design="mosaik"] body .tp-landing-hero h1 { position:relative; display:inline-block; font-size:clamp(62px,10vw,130px)!important; color:#18211d!important; letter-spacing:-.075em!important; font-weight:650!important; text-transform:none!important; line-height:.96!important; margin:20px 0 30px!important; }
.tp-landing-hero h1 em { color:#315f41; font:italic 1em/.95 Georgia,serif; letter-spacing:-.065em; }
.tp-hero-star { position:absolute; right:-.73em; top:-.06em; font:90px/1 Georgia,serif; color:#e76b32; transform:rotate(8deg); }
.tp-landing-hero>p:not(.tp-eyebrow) { font-size:16px; line-height:1.8; color:#4b5d52; margin:0; }
.tp-landing-actions { display:flex; gap:24px; justify-content:center; align-items:center; margin:27px 0 18px; }.tp-landing-actions>a { color:#315f41; font-size:13px; text-decoration:none; min-height:44px; display:flex; align-items:center; }
.tp-landing-hero>small { color:#4b5d52; font-size:11px; }
html[data-appearance][data-design="mosaik"] body .tp-landing-actions .tp-primary { background:#ed753b!important; color:#18211d!important; border:0!important; padding:15px 24px; font-size:14px!important; }
.tp-landing-feature { display:grid; grid-template-columns:1fr 1.05fr; gap:60px; padding:28px 0 70px; align-items:center; }
.tp-poster { padding:35px; background:#d8e6c4; aspect-ratio:1; border-radius:8px; overflow:hidden; position:relative; display:flex; flex-direction:column; }
.tp-poster>span { font-size:10px; font-weight:700; letter-spacing:1.5px; }.tp-poster strong { font-size:clamp(34px,4.2vw,60px); letter-spacing:-2.5px; font-weight:600; line-height:.98; margin-top:auto; position:relative; }.tp-poster>small { font-size:8px; letter-spacing:1.5px; margin-top:24px; }
.tp-poster>div { display:grid; position:absolute; grid-template-columns:1fr 1fr; width:58%; aspect-ratio:1; right:26px; top:42px; transform:rotate(-12deg); }
.tp-poster i { background:#315f41; border-radius:50% 50% 0 50%; }.tp-poster i:nth-child(2) { transform:rotate(90deg); background:#ed753b; }.tp-poster i:nth-child(3) { transform:rotate(-90deg); background:#ed753b; }.tp-poster i:nth-child(4) { transform:rotate(180deg); }
html[data-appearance][data-design="mosaik"] body .tp-feature-copy h2 { font-size:clamp(29px,3.5vw,43px)!important; line-height:1.08; letter-spacing:-1.6px; margin:15px 0 30px; color:#18211d!important; text-transform:none!important; }
.tp-feature-copy>button { display:flex; align-items:center; gap:20px; width:100%; text-align:left; background:transparent; border:0; border-top:1px solid #bdc8b6; border-radius:0; padding:20px 0; color:#18211d; }.tp-feature-copy>button>span { font-size:11px; color:#4b5d52; }.tp-feature-copy>button strong { font-size:16px; }.tp-feature-copy>button p { margin:5px 0 0; font-size:12px; color:#4b5d52; line-height:1.6; }.tp-feature-copy>button>b { margin-left:auto; font-size:20px; }
.tp-public-live { padding:15px 0 50px; }.tp-public-live h2 { font-size:35px; letter-spacing:-1.5px; margin:8px 0; }
html[data-appearance][data-design="mosaik"] body #login-screen .tp-public-live #v7-rooms { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0!important; background:transparent!important; border:0!important; }
html[data-appearance][data-design="mosaik"] body #login-screen .tp-public-live #v7-rooms>* { border:1px solid #c9d3c1!important; border-radius:8px!important; background:#fff!important; color:#18211d!important; padding:18px!important; }
html[data-appearance][data-design="mosaik"] body #login-screen .tp-public-live #v7-rooms :is(b,strong,span,i) { color:#18211d!important; }
.tp-public-trust { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:42px 0; border-top:1px solid #bdc8b6; }.tp-public-trust h2 { font-size:35px; font-weight:600; letter-spacing:-1.3px; line-height:1.15; margin:0; }.tp-public-trust p { font-size:14px; color:#4b5d52; margin:0 0 18px; }.tp-public-trust :is(button,a) { background:transparent; border:0; color:#315f41; margin:0 22px 0 0; padding:10px 0; min-height:44px; font-size:12px; }
html[data-appearance][data-design="mosaik"] body #login-screen>.login-shell>footer { max-width:1152px; margin-inline:auto!important; padding:24px!important; color:#4b5d52!important; }
@media(max-width:700px) {
 .tp-landing-nav { padding:20px 0; }.tp-landing-brand { font-size:33px; }.tp-landing-nav>div { gap:3px; }.tp-landing-nav button { font-size:11px!important; padding:8px!important; }.tp-landing-nav button:first-child { display:none; }
 .tp-landing-hero { padding:40px 0 36px; }.tp-hero-star { font-size:44px; right:-.35em; top:-.5em; }.tp-landing-hero>p:not(.tp-eyebrow) { font-size:14px; }.tp-landing-hero>p br { display:none; }
 .tp-landing-feature { grid-template-columns:1fr; gap:28px; padding-bottom:30px; }.tp-poster { aspect-ratio:1.35; padding:25px; }.tp-poster>div { width:42%; top:25px; }.tp-poster strong { font-size:41px; }
 .tp-feature-copy>button { padding:18px 0; }.tp-feature-copy>button strong { font-size:15px; }
 .tp-public-trust { grid-template-columns:1fr; gap:18px; }.tp-public-trust h2 { font-size:29px; }
 html[data-appearance][data-design="mosaik"] body #login-screen .tp-public-live #v7-rooms { grid-template-columns:1fr; }
}
@media(max-width:380px) {
 html[data-appearance][data-design="mosaik"] body .tp-landing-hero h1 { font-size:59px!important; }.tp-landing-actions { gap:13px; }.tp-landing-actions .tp-primary { padding:13px 14px!important; font-size:12px!important; }.tp-landing-actions>a { font-size:12px; }.tp-hero-star { font-size:35px; }
}

/* Personal Nickpages keep their own dark canvas and individual accent colours. */
html[data-appearance][data-design="mosaik"] body .cz30-profile { --appearance-bg:#202b25; --appearance-panel:#26372c; --appearance-raised:#304338; --appearance-input:#202b25; --appearance-text:#f2f5ee; --appearance-muted:#c0cbbd; --appearance-line:#728676; --yu-ink:#f2f5ee; --yu-muted:#c0cbbd; --yu-bg:#26372c; --yu-deep:#202b25; --yu-line:#728676; --cz-text:#f2f5ee; --cz-muted:#c0cbbd; --cz-card:#26372c; color:#f2f5ee; background:#202b25; padding:20px; border-radius:14px; }

/* Readable light surfaces: legacy pages also contain literal dark-theme colours.
   Keep text and its surface together; do not recolour user names or message markup. */
html[data-appearance][data-design="mosaik"] body.cz-public-page {
 --soft:var(--appearance-muted)!important; --light:var(--appearance-orange-text)!important; --amber2:var(--appearance-orange-text)!important;
 --czh-green:var(--appearance-green);
}
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.top,.cz-info-top) { background:var(--appearance-panel)!important; color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.hero h1 span,.cz-info-hero h1 span,.section-head h2 span,.group h2 span,.shell>.card,.cz-info-shell>.card,.command-group,.page-content,.legal-copy,#content,.privacy) { color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.hero p,.cz-info-hero p) { color:var(--appearance-muted)!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page :is(.back,.back-link,.page-back,.top>a,.cz-info-top>a,.grid .card strong,.facts b,.cta,.version,.command-group h3,.cz-help-command-accordion>summary,.cz-help-accordion>summary>i,.cz-help-accordion>summary small) { color:var(--appearance-orange-text)!important; }
html[data-appearance][data-design="mosaik"] body.cz-public-page .cz-help-overview-btn { color:#fff!important; background:#315f41!important; border-color:#315f41!important; }
/* Ordinary form headings and feedback must not inherit white legacy headings. */
html[data-appearance][data-design="mosaik"] body :is(.cz-next,.cz-support,.cz-privacy-editor,.cz-team-guide,.cz-personal-form,.cz-own-profile-editor,.cz-appearance-panel,.cz-design-panel) { color:var(--appearance-text); }
html[data-appearance][data-design="mosaik"] body :is(.cz-next,.cz-support,.cz-privacy-editor,.cz-team-guide,.cz-personal-form,.cz-own-profile-editor,.cz-appearance-panel,.cz-design-panel) :is(h2,h3,h4,legend) { color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body .cz-next small { color:var(--appearance-muted); opacity:1; }
html[data-appearance][data-design="mosaik"] body .cz-next [data-error] { color:#962e20!important; }
html[data-appearance][data-design="mosaik"] body :is(.dm-link,.dm-newer,.dm-older,.dm-message .read) { color:var(--appearance-green)!important; }
html[data-appearance][data-design="mosaik"] body .dm-shell :focus-visible { outline-color:var(--appearance-green)!important; }
html[data-appearance][data-design="mosaik"] body :is(.dm-status,.dm-head>button) { color:var(--appearance-orange-text)!important; }
html[data-appearance][data-design="mosaik"] body .dm-request { color:var(--appearance-text); background:var(--appearance-raised); }
html[data-appearance][data-design="mosaik"] body .dm-message blockquote { background:var(--appearance-panel); }
html[data-appearance][data-design="mosaik"] body :is(#login-drawer,.cz-design-panel,.cz-personal-form,.cz-own-profile-editor) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select) { color:var(--appearance-text)!important; background:var(--appearance-input)!important; border-color:var(--appearance-line)!important; }
html[data-appearance][data-design="mosaik"] body :is(#login-drawer,.cz-personal-form,.cz-own-profile-editor) :is(input,textarea)::placeholder { color:var(--appearance-muted)!important; opacity:1; }
/* Variables inherited from :root have already resolved there. Rebind them on
   the deliberately dark chat/Nickpage canvases to preserve readable defaults. */
html[data-appearance][data-design="mosaik"] body :is(#app>.main,#app>#chat-sidebar,.cz30-profile) {
 color-scheme:dark;
 --text:var(--appearance-text); --soft:var(--appearance-muted); --muted:var(--appearance-muted);
 --y-ink:var(--appearance-text); --y-muted:var(--appearance-muted);
 --yu-ink:var(--appearance-text); --yu-muted:var(--appearance-muted);
 --cz-white:var(--appearance-text); --cz-text:var(--appearance-text); --cz-muted:var(--appearance-muted);
 --panel:var(--appearance-panel); --panel-2:var(--appearance-input); --panel2:var(--appearance-raised);
 --yu-soft:var(--appearance-panel); --yu-raised:var(--appearance-raised);
 --cz-card:var(--appearance-panel); --cz-card-2:var(--appearance-raised);
}

/* Login, forum and administration still use the original functional elements. */
html[data-appearance][data-design="mosaik"] body #login-screen #login-drawer .login-card { background:var(--appearance-panel)!important; color:var(--appearance-text)!important; border-color:var(--appearance-line)!important; }
html[data-appearance][data-design="mosaik"] body #login-screen #login-drawer :is(.tabs,.tab-btn) { background:var(--appearance-raised)!important; color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body #login-screen #login-drawer .tab-btn.active { background:#18211d!important; color:#fff!important; }
html[data-appearance][data-design="mosaik"] body #login-screen #login-drawer :is(label,small,.cz-login-field-v6>span,.cz-login-field-v8>span) { color:var(--appearance-muted)!important; }
html[data-appearance][data-design="mosaik"] body #login-screen #login-drawer :is(#login-error,#reg-error) { color:#962e20!important; }
html[data-appearance][data-design="mosaik"] body :is(#forum-overlay,#admin-overlay) { color:var(--appearance-text)!important; --admin-line:var(--appearance-line); }
html[data-appearance][data-design="mosaik"] body #forum-overlay :is(.forum-category-title,.forum-header .area-badge,.forum-row-title) { color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body #forum-overlay :is(.forum-row,.forum-topic-row,.forum-post) { background:var(--appearance-panel)!important; color:var(--appearance-text)!important; border-color:var(--appearance-line)!important; }
html[data-appearance][data-design="mosaik"] body #forum-overlay :is(.forum-row-desc,.forum-row-stats,.forum-topic-meta) { color:var(--appearance-muted)!important; }
html[data-appearance][data-design="mosaik"] body :is(#forum-close,.forum-new-btn) { color:var(--appearance-orange-text)!important; background:var(--appearance-panel)!important; border-color:var(--appearance-orange-text)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay :is(.cz-admin-hero h1,.cz-admin-card h2,.cz-admin-card h3) { color:var(--appearance-text)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay :is(.cz-admin-hero p,.admin-stat-label,.cz-admin-quick button small) { color:var(--appearance-muted)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay :is(.admin-stat-value,.cz-admin-quick button span) { color:var(--appearance-orange-text)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay :is(.admin-tab-btn,.cz-admin-quick button,#admin-close) { color:var(--appearance-text)!important; background:var(--appearance-raised)!important; border-color:var(--appearance-line)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay .admin-tab-btn.active { color:#fff!important; background:#18211d!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay .admin-btn { color:var(--appearance-orange-text)!important; background:var(--appearance-panel)!important; }
html[data-appearance][data-design="mosaik"] body #admin-overlay .admin-btn.danger { color:#962e20!important; background:var(--appearance-panel)!important; }
