/* Sohbet — MO-68 modern görünüm katmanı (style.css'ten SONRA yüklenir; yalnız görünüm, davranış yok).
 * 1) Token ölçekleri: renk / yarıçap / gölge / tipografi / hareket
 * 2) Bileşen cilası: sunucu çubuğu, kanal listesi, mesajlar, giriş alanı, pencereler, ayarlar, giriş ekranı
 * 3) İndir sayfası (dl2-*)
 * 4) Açık tema düzeltmeleri · odak halkası · prefers-reduced-motion
 * KURAL: mobil MO-61/64 ölçüleri (≥44px hedefler, dvh, güvenli alan) BOZULMAZ; yapı ölçülerine dokunulmaz. */

/* ═══ 1) TOKENLAR ═══ */
:root,body{
  --font:system-ui,-apple-system,'Segoe UI Variable Text','Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  --fs-xs:11.5px;--fs-sm:13px;--fs-md:14.5px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:30px;
  --r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
  --e1:0 1px 2px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.03);
  --e2:0 8px 24px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.04);
  --e3:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06);
  --ease:cubic-bezier(.2,.8,.2,1);--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;
}
body{
  --border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.13);
  --hover:rgba(255,255,255,.045);--bubble:rgba(255,255,255,.028);
  --on-accent:#fff;
  --accent-fg:color-mix(in srgb,var(--accent) 58%,#fff);   /* koyu zeminde metin/bağlantı için AA'lı vurgu */
  --glow:color-mix(in srgb,var(--accent) 35%,transparent);
  font-family:var(--font);font-size:var(--fs-md);line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
html,body{font-family:var(--font)}
body.theme-forest,body.theme-crimson,body.theme-ocean{--on-accent:#07110b}
body.theme-light{
  --border:#e1e5ee;--border2:#cdd4e2;--hover:rgba(15,23,42,.05);--bubble:#fff;
  --e1:0 1px 2px rgba(15,23,42,.08),0 0 0 1px rgba(15,23,42,.05);
  --e2:0 8px 24px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.05);
  --e3:0 24px 64px rgba(15,23,42,.20),0 0 0 1px rgba(15,23,42,.06);
  --accent-fg:color-mix(in srgb,var(--accent) 80%,#000);
  --sh:var(--e1);--sh2:var(--e2);
}
body:not(.theme-light){--sh:var(--e1);--sh2:var(--e2)}
h1,h2,h3{letter-spacing:-.012em;line-height:1.25}

/* ═══ 2) BİLEŞENLER ═══ */
/* geçişler tek dilde */
.btn-accent,.btn-sm,.icon-btn,.hn-btn,.ch-item,.dms-item,.strip-srv,.strip-home,.strip-icon-btn,.msg,.set-btn,.set-tab,.srv-card,.input-wrap,.mb-item{
  transition-property:background-color,border-color,color,box-shadow,transform,filter,border-radius,opacity;
  transition-duration:var(--dur-1);transition-timing-function:var(--ease)}

/* butonlar */
.btn-accent{color:var(--on-accent);border-radius:var(--r-sm);box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 4px 14px var(--glow)}
.btn-accent:hover{filter:brightness(1.08);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 18px var(--glow)}
.btn-sm{border-radius:var(--r-sm)}
.icon-btn{border-radius:var(--r-sm)}
.icon-btn:hover{background:var(--hover)}
.hn-btn.active{color:var(--accent-fg)}
.msg-text a,.ch-hdr a{color:var(--accent-fg)}
input[type=text],input[type=password],textarea{border-radius:var(--r-sm);background:var(--bg3)}

/* sunucu çubuğu */
.srv-strip{background:linear-gradient(180deg,var(--bg0),color-mix(in srgb,var(--bg0) 90%,var(--accent)));border-right:1px solid var(--border)}
.strip-home,.strip-srv,.strip-icon-btn{box-shadow:var(--e1)}
.strip-home:hover,.strip-home.active,.strip-srv:hover,.strip-srv.active{box-shadow:0 6px 16px var(--glow)}
.strip-srv.active{background:var(--accent);color:#fff}
.strip-divider{background:var(--border2)}
.strip-srv::after{background:var(--text)}

/* kenar çubukları + kanal listesi */
.dm-sidebar,.ch-sidebar{background:var(--bg1);border-right:1px solid var(--border)}
.ch-srv-hdr,.dm-hdr{border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ch-srv-name{letter-spacing:-.01em}
.ch-section{font-size:var(--fs-xs);letter-spacing:.07em;color:var(--t3)}
.ch-item{border-radius:var(--r-sm);padding:7px 10px;color:var(--t2);font-size:var(--fs-sm)}
.ch-item:hover{background:var(--hover);color:var(--text)}
.ch-item.active{background:color-mix(in srgb,var(--accent) 16%,var(--bg3));color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}
.dms-item{border-radius:var(--r-sm)}
.dms-item:hover{background:var(--hover)}
.dms-item.active{background:color-mix(in srgb,var(--accent) 16%,var(--bg3))}
.me-bar{background:color-mix(in srgb,var(--bg2) 92%,var(--bg0));border-top:1px solid var(--border)}

/* üst başlık */
.ch-hdr{border-bottom:1px solid var(--border)}
.ch-hdr-name{letter-spacing:-.01em}

/* mesajlar: yumuşak balonlar */
.msg-feed{gap:4px;padding:12px 16px}
.msg{background:var(--bubble);border-radius:var(--r-md);padding:7px 12px;border:1px solid transparent}
.msg:hover{background:var(--hover);border-color:var(--border)}
.msg-ava{border-radius:var(--r-md);box-shadow:var(--e1)}
.msg-author{letter-spacing:-.005em}
.msg-time{color:var(--t3);font-variant-numeric:tabular-nums}
.msg-text{font-size:var(--fs-md);line-height:1.6;color:color-mix(in srgb,var(--text) 88%,transparent)}
.msg-img,.msg-file{border-radius:var(--r-md)}
.msg-actions-float{border-radius:var(--r-md);box-shadow:var(--e2)}
.sys-msg{color:var(--t3)}

/* mesaj giriş alanı */
.input-wrap{border-radius:var(--r-lg);background:var(--bg3);border:1px solid var(--border2);box-shadow:var(--e1)}
.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--al),var(--e1)}
.ib-send{border-radius:var(--r-md);color:var(--on-accent)}

/* pencereler */
.modal-overlay{background:rgba(6,8,14,.62);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}
body.theme-light .modal-overlay{background:rgba(15,23,42,.38)}
.modal{border-radius:var(--r-xl);box-shadow:var(--e3);border:1px solid var(--border2);animation:mo68-pop var(--dur-2) var(--ease)}
.modal-hd{border-bottom:1px solid var(--border);letter-spacing:-.01em}
@keyframes mo68-pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.toast{border-radius:var(--r-md);box-shadow:var(--e2)}

/* keşfet / sunucu kartları */
.srv-card{border-radius:var(--r-lg);border:1px solid var(--border2);box-shadow:var(--e1)}
.srv-card:hover{border-color:var(--ab);box-shadow:var(--e2);transform:translateY(-2px)}

/* profil / sunucu ayarları (MO-64/66) */
.set-ov{background:color-mix(in srgb,var(--bg1) 94%,var(--accent))}
.set-side{border-radius:var(--r-lg)}
.set-tab{border-radius:var(--r-sm)}
.set-tab.active{background:color-mix(in srgb,var(--accent) 18%,var(--bg3));box-shadow:inset 3px 0 0 var(--accent)}
.set-main-hd h2{letter-spacing:-.015em}
.set-in,.set-ta,.set-sel{border-radius:var(--r-sm);border-color:var(--border2)}
.set-btn{border-radius:var(--r-sm);transition-duration:var(--dur-1)}
.set-btn.pri{color:var(--on-accent);box-shadow:0 4px 14px var(--glow)}
.set-btn:hover{border-color:var(--accent)}
.pcard{border-radius:var(--r-lg);box-shadow:var(--e3);border-color:var(--border2)}

/* odak halkası: klavye kullanıcıları için tutarlı, her temada görünür */
:where(a,button,[role=button],[tabindex],summary,select,input,textarea):focus-visible{outline:2px solid var(--accent-fg);outline-offset:2px}
.input-wrap:focus-within :focus-visible{outline:none}

/* ═══ 3) İNDİR SAYFASI ═══ */
#view-download{overflow-y:auto}
.dl2-page{padding:28px 24px 56px;display:flex;flex-direction:column;gap:20px;min-height:100%}
.dl2{display:grid;gap:16px;width:100%;max-width:760px;margin:0 auto}
.dl2-card{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r-xl);padding:24px 26px;box-shadow:var(--e1)}
.dl2-hero{background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 58%),var(--bg2);padding:30px 30px 26px;display:grid;gap:18px}
.dl2-hero-top{display:flex;gap:18px;align-items:center}
.dl2-logo{width:64px;height:64px;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;flex-shrink:0;box-shadow:0 8px 24px var(--glow)}
.dl2-title{font-size:var(--fs-2xl);font-weight:800;margin:0 0 4px}
.dl2-sub{font-size:var(--fs-md);color:var(--t2);margin:0;max-width:46ch}
.dl2-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 32px;border:none;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:var(--fs-lg);font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 28px var(--glow);transition:transform var(--dur-1) var(--ease),filter var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);justify-self:start}
.dl2-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.dl2-cta:active{transform:translateY(0) scale(.99)}
.dl2-cta:focus-visible{outline:3px solid var(--accent-fg);outline-offset:3px}
.dl2-cta-sm{min-height:48px;font-size:var(--fs-md);padding:0 22px}
.dl2-cta:disabled,.dl2-cta-off{background:var(--bg4);color:var(--t2);box-shadow:none;border:1px solid var(--border2);cursor:not-allowed;filter:none;transform:none}
.dl2-fine{font-size:var(--fs-sm);color:var(--t2);margin:0;line-height:1.55}
.dl2-warn{padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--amber) 14%,transparent);border:1px solid color-mix(in srgb,var(--amber) 38%,transparent);color:var(--text)}
.dl2-meta{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0}
.dl2-meta li{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:var(--r-md);background:var(--bg3);border:1px solid var(--border)}
.dl2-k{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.dl2-v{font-size:var(--fs-md);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.dl2-fn{word-break:break-all;font-size:var(--fs-sm)}
.dl2-sha{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r-md);background:var(--bg3);border:1px solid var(--border)}
.dl2-sha-h{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:700;color:var(--text)}
.dl2-sha-row{display:flex;gap:10px;align-items:stretch}
.dl2-hash{flex:1;min-width:0;font-family:ui-monospace,'Cascadia Mono','SF Mono',Consolas,monospace;font-size:12.5px;line-height:1.5;word-break:break-all;padding:10px 12px;border-radius:var(--r-sm);background:var(--bg1);border:1px solid var(--border2);color:var(--text);user-select:all}
.dl2-copy{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--border2);background:var(--bg4);color:var(--text);font-family:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer;flex-shrink:0}
.dl2-copy:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg4))}
.dl2-copied{min-height:1.2em;font-size:var(--fs-sm);font-weight:700;color:var(--green)}
body.theme-light .dl2-copied{color:#15803d}
.dl2-h2{font-size:var(--fs-lg);font-weight:800;margin:0 0 12px}
.dl2-p{font-size:var(--fs-md);color:var(--t2);line-height:1.6;margin:0 0 10px}
.dl2-p:last-child{margin-bottom:0}
.dl2-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
.dl2-step{display:flex;gap:14px;align-items:flex-start}
.dl2-step strong{display:block;font-size:var(--fs-md);color:var(--text);margin-bottom:2px}
.dl2-step span:not(.dl2-num){display:block;font-size:var(--fs-sm);color:var(--t2);line-height:1.5}
.dl2-num{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--fs-sm);flex-shrink:0}
.dl2-ss{border-left:4px solid var(--amber)}
.dl2-mob-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--accent-fg)}
.dl2-mob-h .dl2-h2{margin:0;color:var(--text)}
.dl2-already{display:grid;gap:4px}
.dl2-already span{color:var(--t2);font-size:var(--fs-sm)}
.dl-admin-upload{max-width:760px;width:100%;margin:0 auto;border-radius:var(--r-xl)}
@media(max-width:700px){
  .dc-hero-btn-main{min-height:44px}
  .remember-row{min-height:44px;gap:10px}
  .remember-row input{-webkit-appearance:none;appearance:none;width:44px;height:44px;margin:0 -8px 0 -11px;background:transparent;border:0;padding:0;box-shadow:none;position:relative;border-radius:10px}
  .remember-row input::before{content:"";position:absolute;inset:11px;border:2px solid var(--t3);border-radius:6px;background:var(--bg3,transparent)}
  .remember-row input:checked::before{background:var(--accent);border-color:var(--accent)}
  .remember-row input:checked::after{content:"";position:absolute;left:17px;top:13px;width:6px;height:11px;border:solid var(--on-accent,#fff);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
  .remember-row label{min-height:44px;display:inline-flex;align-items:center;padding-right:6px}
  .msg-feed{padding:10px 8px}
  .msg{padding:6px 8px;gap:9px}
  .dl2-page{padding:16px 12px 40px}
  .dl2-card{padding:18px 16px;border-radius:var(--r-lg)}
  .dl2-hero{padding:22px 16px 18px}
  .dl2-hero-top{flex-direction:column;align-items:flex-start;gap:12px}
  .dl2-title{font-size:24px}
  .dl2-cta{width:100%;justify-self:stretch}
  .dl2-sha-row{flex-direction:column}
  .dl2-copy{justify-content:center}
}

/* ═══ 4) GİRİŞ EKRANI (login.html: body.mo68-login) ═══ */
body.mo68-login{--accent-fg:color-mix(in srgb,var(--accent) 58%,#fff);font-family:var(--font)}
.mo68-login .right{background:color-mix(in srgb,#0a0d14 62%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.mo68-login .card{background:color-mix(in srgb,var(--bg2) 82%,transparent);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-xl);padding:28px 26px;box-shadow:var(--e3)}
.mo68-login .card-title{font-size:var(--fs-xl);letter-spacing:-.02em}
.mo68-login input{min-height:46px;border-radius:var(--r-sm);font-size:15px}
.mo68-login input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}
.mo68-login .tabs{border-radius:var(--r-md);padding:4px}
.mo68-login .tab{border-radius:var(--r-sm);min-height:44px}
.mo68-login .btn-primary{min-height:48px;border-radius:var(--r-md);box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 8px 24px var(--glow)}
.mo68-login .btn-forgot{min-height:44px;color:var(--t2)}
.mo68-login .hero-title .highlight{color:var(--accent-fg)}
.mo68-login .feature{border-radius:var(--r-md)}
.mo68-login .pw-toggle{min-width:44px;min-height:44px;right:2px;display:flex;align-items:center;justify-content:center}
.mo68-login .remember-row{min-height:44px}
/* açık tema (giriş ekranı da seçili temayı izler) */
body.mo68-login.theme-light{background:#eef1f7;color:#111827;--bg1:#fff;--bg2:#f8f9fb;--bg3:#edf0f5;--border:#dde2ec;--border2:#c8d0df;--t2:#4b5563;--t3:#5b6371;--accent-fg:#4650bc}
body.mo68-login.theme-light input{color:#111827;background:#fff}
body.mo68-login.theme-light .bg-grad{opacity:.55}
body.mo68-login.theme-light .right{background:rgba(255,255,255,.7);border-left-color:rgba(15,23,42,.08)}
body.mo68-login.theme-light .card{background:rgba(255,255,255,.92);border-color:#dde2ec;box-shadow:var(--e2)}
body.mo68-login.theme-light .feature{background:rgba(255,255,255,.7);border-color:#dde2ec}
body.mo68-login.theme-light .tabs{background:#e5e9f0}
body.mo68-login.theme-light .tab.active{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(15,23,42,.18)}
body.mo68-login.theme-light .pw-toggle:hover,body.mo68-login.theme-light .btn-forgot:hover{color:#111827}
body.mo68-login.theme-light .toast{background:#111827;color:#f8fafc}

/* ═══ 5) HAREKETİ AZALT ═══ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .dl2-cta:hover,.srv-card:hover{transform:none}
  .orb{animation:none!important}
}

/* ── MO-68: WCAG AA kontrast düzeltmeleri (taramada çıkan gerçek bulgular) ──
   Rol/avatar renkleri veriden (satır içi stil) geldiği için sınıf kuralı yetmez; parlaklık filtresiyle
   koyu temada açılır, açık temada koyulaşır. Resimli avatarlar etkilenmez (:has(img)). */
.mb-section,.mb-role-badge,.mb-ava:not(:has(img)),.cvu-ava:not(:has(img)),.pcard-ava .in:not(:has(img)),.set-ava:not(:has(img)){filter:brightness(1.3)}
.mp-ava:not(:has(img)),.me-ava:not(:has(img)){filter:brightness(1.7)}
body.theme-light .mb-section,body.theme-light .mb-role-badge,body.theme-light .mb-ava:not(:has(img)),body.theme-light .me-ava:not(:has(img)),body.theme-light .cvu-ava:not(:has(img)),body.theme-light .mp-ava:not(:has(img)),body.theme-light .pcard-ava .in:not(:has(img)),body.theme-light .set-ava:not(:has(img)){filter:brightness(.5) saturate(1.1)}
.strip-me-btn:not(:has(img)){box-shadow:inset 0 0 0 40px rgba(0,0,0,.5)}
.me-tag,.dc-hero-badge{color:var(--accent-fg)!important}
body.theme-light .set-tab.danger,body.theme-light .set-btn.dng{color:#b4232a}

/* ═══ MO-70) PROFİL BALONU · SES PANELİ · TEK AYARLAR PENCERESİ ═══
 * Yalnız görünüm; ≥44px dokunma hedefleri, AA kontrast (açık temada koyulaştırılmış metin renkleri). */
.mp-ava{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;font-weight:700;flex-shrink:0;box-sizing:border-box}
.mp-ava img{width:100%;height:100%;object-fit:cover;display:block}

/* kenar çubuğu: avatar/isim alanı = profil balonu tetikleyicisi */
.me-who{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:44px;padding:2px 4px;margin:-2px -4px;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-1)}
.me-who:hover{background:var(--hover)}
.me-who:focus-visible,.strip-me-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.me-bar .icon-btn{min-width:36px;min-height:36px}
@media(max-width:768px){.me-bar .icon-btn,#btn-home-settings,#btn-srv-settings,#btn-srv-settings-open{min-width:44px;min-height:44px}}

/* profil balonu */
.mep{position:fixed;z-index:700;display:flex;flex-direction:column;background:var(--bg2);color:var(--text);border:1px solid var(--border2);border-radius:var(--r-lg);box-shadow:var(--e3);overflow-x:hidden;overflow-y:auto;outline:none;animation:mepIn var(--dur-2) var(--ease)}
@keyframes mepIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.mep-bn{height:72px;flex-shrink:0;position:relative;overflow:hidden}
.mep-bn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mep-ava{position:relative;width:max-content;margin:-38px 0 0 14px;border:4px solid var(--bg2);border-radius:50%;background:var(--bg2);flex-shrink:0}
.mep-dot{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;border:4px solid var(--bg2);box-sizing:border-box}
.mep-hd{padding:6px 16px 0}
.mep-nm{font-size:18px;font-weight:800;line-height:1.25;word-break:break-word}
.mep-tag{font-size:13px;color:var(--t2);word-break:break-all}
.mep-sec{padding:12px 16px 0}
.mep-lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--t2);margin-bottom:6px}
.mep-sts{display:flex;flex-direction:column;gap:2px}
.mep-st{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:var(--r-sm);border:1px solid transparent;background:none;color:var(--text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.mep-st:hover{background:var(--hover)}
.mep-st i{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.mep-st small{margin-left:auto;font-size:11px;font-weight:500;color:var(--t2)}
.mep-st.on{background:var(--al);border-color:var(--ab)}
.mep-st:disabled{opacity:.62;cursor:not-allowed}
.mep-st:focus-visible,.mep-link:focus-visible,.mep-in:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.mep-in{width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--border2);background:var(--bg3);color:var(--text);font:inherit;font-size:14px}
.mep-bio{font-size:13px;line-height:1.5;color:var(--t2);white-space:pre-wrap;word-break:break-word}
.mep-links{display:flex;flex-direction:column;margin-top:12px;padding:6px 8px 8px;border-top:1px solid var(--border)}
.mep-link{min-height:44px;padding:0 10px;border:none;border-radius:var(--r-sm);background:none;color:var(--text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.mep-link:hover{background:var(--hover)}
.mep-link.dng{color:var(--red)}

/* ses paneli (kenar çubuğunda tek kart) */
.vdock{margin:auto 6px 6px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r-md);box-shadow:var(--e1)}
.vdock + .me-bar{margin-top:0}
.vd-main{display:flex;flex-direction:column;gap:2px;min-width:0;padding:2px;margin:-2px;border-radius:var(--r-sm);cursor:pointer}
.vd-main:hover{background:var(--hover)}
.vd-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vd-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.vd-state{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800;color:var(--green)}
.vd-st-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);flex-shrink:0}
.vdock.connecting .vd-state{color:var(--amber)}
.vdock.connecting .vd-dot{background:var(--amber);box-shadow:0 0 6px var(--amber);animation:pulse 1.4s ease-in-out infinite}
.vd-q{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;font-weight:600;color:var(--t2)}
.vd-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
.vd-bars b{display:block;width:3px;border-radius:1px;background:var(--border2)}
.vd-bars b:nth-child(1){height:4px}.vd-bars b:nth-child(2){height:7px}.vd-bars b:nth-child(3){height:9px}.vd-bars b:nth-child(4){height:12px}
.vd-q[data-q=good] .vd-bars b.on{background:var(--green)}
.vd-q[data-q=mid] .vd-bars b.on{background:var(--amber)}
.vd-q[data-q=bad] .vd-bars b.on{background:var(--red)}
.vd-room{margin-top:4px;font-size:14px;font-weight:800;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-srv{font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-srv:empty{display:none}
.vd-avs{display:flex;align-items:center;gap:4px;margin-top:6px;overflow:hidden}
.vd-ava{transition:box-shadow var(--dur-1)}
.vd-ava.speaking{box-shadow:0 0 0 2px var(--green)}
.vd-ava.muted{opacity:.55}
.vd-more{font-size:11px;font-weight:700;color:var(--t2);margin-left:2px}
.vd-speak{min-height:16px;margin-top:4px;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-speak.on{color:var(--green);font-weight:700}
.vd-btns{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:4px}
.vd-btn{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border-radius:var(--r-sm);border:1px solid var(--border2);background:var(--bg4);color:var(--text);cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.vd-btn:hover{background:var(--hover);border-color:var(--accent)}
.vd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vd-btn svg{pointer-events:none}
.vd-slash{position:absolute;display:none}
.vd-btn.is-off{background:var(--rl);border-color:var(--rb);color:var(--red)}
.vd-btn.is-off .vd-slash{display:block}
.vd-btn.is-live{background:var(--al);border-color:var(--accent);color:var(--accent-fg)}
.vd-btn.leave{color:var(--red)}
.vd-btn.leave:hover{background:var(--red);border-color:var(--red);color:#fff}
html.no-screenshare #vd-screen{display:none!important}
html.no-screenshare .vd-btns{grid-template-columns:repeat(3,minmax(44px,1fr))}

/* ayarlar: yeni sekmeler */
.set-tab[data-tab=logout]{margin-top:auto;border-top:1px solid var(--border);border-radius:0 0 var(--r-sm) var(--r-sm);padding-top:2px}
.set-narrow{max-width:520px}
.set-sec{margin-bottom:22px}
.set-sec-h{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--t2)}
.set-hr{border:none;border-top:1px solid var(--border);margin:24px 0 16px}
.set-acct{max-width:560px}
.set-switch{display:flex;align-items:center;gap:14px;min-height:44px;padding:6px 0;cursor:pointer}
.set-switch-tx{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.set-switch-tx b{font-size:14px;font-weight:700}
.set-switch-tx small{font-size:12px;color:var(--t2);line-height:1.4}
.set-sw-in{appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:46px;height:26px;margin:0;border-radius:13px;border:1px solid var(--border2);background:var(--bg4);cursor:pointer;transition:background var(--dur-1)}
.set-sw-in::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--t2);transition:transform var(--dur-1),background var(--dur-1)}
.set-sw-in:checked{background:var(--accent);border-color:var(--accent)}
.set-sw-in:checked::after{transform:translateX(20px);background:var(--on-accent)}
.set-sw-in:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.set-sw-in:disabled{opacity:.5;cursor:not-allowed}
.set-seg{display:inline-flex;border:1px solid var(--border2);border-radius:var(--r-sm);overflow:hidden}
.set-seg-b{min-height:44px;min-width:88px;padding:0 16px;border:none;background:var(--bg3);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.set-seg-b + .set-seg-b{border-left:1px solid var(--border2)}
.set-seg-b.on{background:var(--al);box-shadow:inset 0 0 0 2px var(--accent)}
.set-seg-b:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.set-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.set-theme{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--border2);background:var(--bg3);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.set-theme.on{background:var(--al);box-shadow:inset 0 0 0 2px var(--accent)}
.set-theme:disabled{opacity:.5;cursor:not-allowed}
.set-theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.set-theme-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid var(--border2)}
.set-meter{height:10px;margin:10px 0 6px;border-radius:5px;background:var(--bg4);overflow:hidden}
.set-meter-fill{display:block;height:100%;width:0;background:var(--green);transition:width 80ms linear}

/* yazı boyutu / yoğunluk tercihleri (Ayarlar → Görünüm) */
html.fs-s .msg-text,html.fs-s .msg-author,html.fs-s .dms-item,html.fs-s .ch-item{font-size:12px}
html.fs-l .msg-text{font-size:16px}
html.fs-l .msg-author{font-size:15px}
html.fs-l .dms-item,html.fs-l .ch-item{font-size:15px}
html.dens-compact .msg{padding-top:1px;padding-bottom:1px;gap:8px}
html.dens-compact .msg-ava{width:28px;height:28px}
html.dens-compact .msg-feed{padding-top:6px;padding-bottom:6px}
html.dens-compact .ch-item,html.dens-compact .dms-item{padding-top:3px;padding-bottom:3px}

/* açık tema: metin renkleri AA için koyulaştırılır */
body.theme-light .vd-state,body.theme-light .vd-speak.on,body.theme-light .ch-item.voice-live,body.theme-light .ch-item.voice-live .ch-item-name,body.theme-light .sess-on{color:#166534}
.sess-badge{color:var(--accent-fg)}
body.theme-light .vdock.connecting .vd-state{color:#92400e}
body.theme-light .vd-btn.is-off,body.theme-light .vd-btn.leave,body.theme-light .mep-link.dng{color:#b4232a}
body.theme-light .vd-btn.is-live{color:var(--accent)}
body.theme-light .set-sw-in::after{background:#475569}

/* mobil */
@media (max-width:768px){
  .mep{max-width:calc(100vw - 16px)}
  .vdock{margin-left:6px;margin-right:6px}
  .vd-btn{min-height:48px}
  .set-tab[data-tab=logout]{margin-top:0;border-top:none;border-radius:8px 8px 0 0}
  .set-seg-b{min-width:0;flex:1}
  .set-seg{display:flex}
}
@media (prefers-reduced-motion:reduce){.mep{animation:none}.vdock.connecting .vd-dot{animation:none}}
.set-switch-ui{display:none}

.ch-item.vd-flash{animation:vdFlash 1.2s var(--ease)}
@keyframes vdFlash{0%,60%{box-shadow:0 0 0 2px var(--accent);background:var(--al)}100%{box-shadow:0 0 0 2px transparent}}
@media (prefers-reduced-motion:reduce){.ch-item.vd-flash{animation:none;box-shadow:0 0 0 2px var(--accent)}}
.set-content select + .set-btn{margin-top:10px}
