/* Let the document own page scroll; chat applies its own contained scroll rules below. */
html{min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:auto}
body{min-height:100%;height:auto;overflow-x:hidden;overflow-y:visible;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:auto}
:root{
  --bg:#09111b;
  --bg-soft:#101b2a;
  --bg-gradient:linear-gradient(180deg,#09111b 0%,#0d1624 40%,#08101a 100%);
  --panel:#101826;
  --panel-2:#172438;
  --panel-3:#1e2f49;
  --line:rgba(255,255,255,.08);
  --text:#f2f6fb;
  --muted:#9fb1c6;
  --accent:#33c7ff;
  --accent-2:#4fd66f;
  --danger:#ff6b6b;
  --warning:#ffbe4d;
  --topbar-bg:rgba(7,12,20,.86);
  --topbar-height:78px;
  --menu-panel-bg:rgba(8,14,24,.98);
  --drawer-bg:#0a111c;
  --popover-bg:#0f1826;
  --hero-overlay:linear-gradient(90deg,rgba(6,12,20,.92) 0%,rgba(9,16,26,.82) 45%,rgba(5,10,18,.66) 100%);
  --radius:24px;
  --shadow:0 22px 60px rgba(0,0,0,.28);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg-gradient);color:var(--text);font-family:"Manrope","Segoe UI",sans-serif}
body{padding-top:0;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.skip-link{position:fixed;left:calc(12px + var(--safe-left));top:calc(12px + var(--safe-top));z-index:3000;max-width:calc(100vw - 24px);padding:10px 14px;border:1px solid rgba(79,214,111,.58);border-radius:14px;background:#07111d;color:#fff;font-weight:900;box-shadow:0 16px 40px rgba(0,0,0,.32);transform:translateY(-140%);opacity:0;transition:transform .16s ease,opacity .16s ease}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);opacity:1;outline:none}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid rgba(79,214,111,.78);outline-offset:3px}
.btn:focus-visible,.chip:focus-visible,.icon-chip:focus-visible,.menu-toggle:focus-visible,.user-chip:focus-visible,.top-links a:focus-visible,.drawer-nav a:focus-visible{box-shadow:0 0 0 4px rgba(79,214,111,.16)}
.section:focus{outline:none}
.app-shell{min-height:100vh}
.app-shell--with-chrome{padding-top:0}
.topbar ~ main{padding-top:calc(var(--topbar-height) + var(--safe-top) + 22px)}
body:not(.drawer-open):not(.profile-drawer-open):not(.admin-nav-open):not(.chat-screen-open){overflow-y:visible!important;overflow-x:hidden!important}
.shell{width:min(1200px,calc(100% - 32px));margin:0 auto}
.topbar{position:fixed;left:0;right:0;top:0;width:100%;z-index:1600;padding-top:var(--safe-top);background:var(--topbar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 10px 28px rgba(3,10,22,.16)}
.topbar-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-left:var(--safe-left);padding-right:var(--safe-right)}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}
.top-chat-btn{font-weight:700}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{width:48px;height:48px;border-radius:16px;object-fit:contain;background:transparent}
.brand img,.admin-brand img{filter:none!important;-webkit-filter:none!important;mix-blend-mode:normal;background-color:transparent}
.brand .brand-logo--light,.admin-brand .brand-logo--light{display:none}
body[data-theme-mode="light"] .brand .brand-logo--dark,
body[data-theme-mode="light"] .admin-brand .brand-logo--dark{display:none}
body[data-theme-mode="light"] .brand .brand-logo--light,
body[data-theme-mode="light"] .admin-brand .brand-logo--light{display:block}
.brand span{display:grid;gap:2px}
.brand strong{font-size:15px;letter-spacing:-.03em;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{color:var(--muted);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-toggle,.chip,.icon-chip,.user-chip,.top-links a,.drawer-nav a,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);padding:12px 16px;transition:.18s ease;cursor:pointer}
.menu-toggle:hover,.chip:hover,.icon-chip:hover,.user-chip:hover,.top-links a:hover,.drawer-nav a:hover,.btn:hover{background:rgba(51,199,255,.10);border-color:rgba(51,199,255,.28)}
.chip-accent,.btn-primary{background:linear-gradient(135deg, rgba(51,199,255,.18), rgba(79,214,111,.18));border-color:rgba(79,214,111,.34)}
.icon-chip,.menu-toggle{width:46px;height:46px;padding:0;position:relative}
.icon-chip span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.user-chip img{width:36px;height:36px;border-radius:12px;object-fit:cover}
.user-chip--trigger{border:0;background:transparent;padding:0}
.user-chip--trigger:hover{border-color:transparent;background:transparent}
.top-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.top-links-spoiler,.top-links-spoiler__nested{position:relative}
.top-links-spoiler summary,.top-links-spoiler__nested summary{list-style:none;cursor:pointer;border-radius:18px;border:1px solid rgba(106,180,255,.28);background:linear-gradient(135deg,rgba(36,66,118,.68),rgba(12,30,62,.7));padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 28px rgba(0,0,0,.24);transform:translateY(0);transition:background .24s ease,border-color .24s ease,transform .16s ease,box-shadow .24s ease}
.top-links-spoiler summary::-webkit-details-marker,.top-links-spoiler__nested summary::-webkit-details-marker{display:none}
.top-links-spoiler summary:hover,.top-links-spoiler__nested summary:hover{background:rgba(51,199,255,.10);border-color:rgba(51,199,255,.28)}
.top-links-spoiler summary:active,.top-links-spoiler__nested summary:active{transform:translateY(1px) scale(.995)}
.top-links-spoiler[open] > summary,.top-links-spoiler__nested[open] > summary{background:rgba(51,199,255,.14);border-color:rgba(51,199,255,.32)}
.top-links-spoiler__menu{display:grid;gap:8px;position:absolute;top:calc(100% + 8px);right:0;min-width:220px;max-height:0;padding:0 10px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:var(--menu-panel-bg);box-shadow:var(--shadow);z-index:10;overflow:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:max-height .34s cubic-bezier(.22,.9,.26,1),padding .34s cubic-bezier(.22,.9,.26,1),opacity .24s ease,transform .24s ease}
.top-links-spoiler__menu--left{left:0;right:auto}
.top-links-spoiler[open] > .top-links-spoiler__menu{max-height:540px;padding:10px;opacity:1;transform:translateY(0);pointer-events:auto}
.top-links-spoiler__menu a{display:flex;align-items:center;justify-content:flex-start;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transform:translateY(0);transition:background .18s ease,border-color .18s ease,transform .14s ease}
.top-links-spoiler__menu a:active{transform:translateY(1px)}
.top-links-spoiler__nested{display:grid;gap:8px}
.top-links-spoiler__nested .top-links-spoiler__menu{position:static;min-width:0;box-shadow:none;background:rgba(255,255,255,.02)}
.top-links-spoiler__nested[open] > .top-links-spoiler__menu{max-height:520px;padding:10px;opacity:1;transform:translateY(0);pointer-events:auto}
.top-links-spoiler__menu--nested a{font-size:13px}
.hero-section,.section{padding:22px 0}
.hero-card,.card,.stat-card,.metric-card,.admin-card,.settings-card{background:linear-gradient(180deg,rgba(16,24,38,.95),rgba(11,18,29,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-card{padding:32px;position:relative;overflow:hidden}
.hero-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(51,199,255,.18), transparent 35%), radial-gradient(circle at bottom left, rgba(79,214,111,.16), transparent 25%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);font-size:13px;color:var(--muted)}
.hero-card h1{margin:0;font-size:clamp(38px,7vw,68px);line-height:.95;letter-spacing:-.05em;max-width:760px}
.hero-card p{margin:16px 0 0;color:var(--muted);line-height:1.7;font-size:16px;max-width:640px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.stats-grid,.cards-grid,.info-grid,.measure-grid,.admin-grid,.quick-grid,.profile-grid,.three-grid{display:grid;gap:16px}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards-grid,.three-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.measure-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.profile-grid{grid-template-columns:1.2fr .8fr}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.progress-grid{grid-template-columns:1fr 1fr;gap:16px}
.stat-card,.metric-card,.card,.admin-card,.settings-card{padding:22px}
.stat-card strong{display:block;font-size:34px;letter-spacing:-.05em}
.stat-card span,.card p,.meta,.hint,.muted{color:var(--muted)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.section-head h2,.card h2,.card h3,.admin-card h2,.admin-card h3,.settings-card h2{margin:0;letter-spacing:-.04em}
.section-head h2{font-size:clamp(28px,4vw,42px)}
.card-list{display:grid;gap:14px}
.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.list-row strong{display:block}
.list-row small,.list-row span{color:var(--muted)}
.notification-item.is-unread{border-color:rgba(79,214,111,.34);background:rgba(79,214,111,.08)}
.notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notification-actions form{display:inline-flex}
.outdoor-admin-spoiler{padding:0;overflow:hidden}
.outdoor-admin-spoiler > summary{list-style:none;cursor:pointer;padding:16px 18px;font-size:18px;font-weight:800;letter-spacing:-.02em;border-bottom:1px solid transparent;background:rgba(255,255,255,.02)}
.outdoor-admin-spoiler > summary::-webkit-details-marker{display:none}
.outdoor-admin-spoiler[open] > summary{border-bottom-color:rgba(255,255,255,.08);background:rgba(51,199,255,.08)}
.outdoor-admin-spoiler__body{padding:14px 14px 16px}
.oauth-link-row{align-items:flex-start}
.oauth-link-row__meta{min-width:0;flex:1 1 auto}
.oauth-link-row__meta .muted,.oauth-link-row__meta a{overflow-wrap:anywhere;word-break:break-word}
.oauth-link-row__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}
.oauth-link-row__actions .btn{max-width:100%;white-space:normal;word-break:break-word;text-align:center}
.oauth-link-row__form{display:inline-flex}
label{display:grid;gap:8px;font-weight:700}
input,textarea,select{width:100%;padding:14px 16px;border-radius:18px;background:rgba(4,10,18,.72);border:1px solid rgba(255,255,255,.08);color:var(--text)}
textarea{min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.full{grid-column:1/-1}
.profile-settings-sections{display:grid;gap:14px}
.profile-settings-section{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);display:grid;gap:10px}
.profile-settings-section h3{margin:0}
.profile-settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-setting-option{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);font-weight:600}
.profile-setting-option input[type="checkbox"]{width:18px;height:18px;padding:0;margin-top:2px}
.profile-setting-option strong{display:block}
.profile-setting-option small{display:block;line-height:1.45}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.08)}
table{width:100%;border-collapse:collapse;background:rgba(4,10,18,.68)}
th,td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#d6e7f8;background:rgba(255,255,255,.03)}
.flash{padding:14px 16px;border-radius:18px;border:1px solid rgba(79,214,111,.34);background:rgba(79,214,111,.08);margin-bottom:14px}
.flash.is-error{border-color:rgba(255,107,107,.34);background:rgba(255,107,107,.09)}
.empty{padding:22px;border-radius:18px;border:1px dashed rgba(255,255,255,.12);color:var(--muted);background:rgba(255,255,255,.02)}
.profile-hero{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}
.profile-avatar{width:160px;height:160px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0e1623}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-facts{display:flex;gap:10px;flex-wrap:wrap}
.profile-cube-nav-wrap{display:block}
.profile-cube-nav{width:100%;max-width:100%;margin:0;padding:14px;display:grid;gap:10px;position:static;top:auto;z-index:1}
.profile-cube-nav__trigger{display:grid;gap:2px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid rgba(106,180,255,.28);background:linear-gradient(135deg,rgba(36,66,118,.68),rgba(12,30,62,.7));color:var(--text);cursor:pointer}
.profile-cube-nav__trigger span{font-weight:800;letter-spacing:.01em}
.profile-cube-nav__trigger small{color:var(--muted);font-size:12px;line-height:1.35}
.profile-cube-nav__menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:0;overflow:hidden;opacity:0;transform:translateY(-8px);transition:max-height .28s ease,opacity .2s ease,transform .2s ease}
.profile-cube-nav.is-open .profile-cube-nav__menu{max-height:860px;opacity:1;transform:translateY(0)}
.profile-cube-nav__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;text-align:left}
.profile-cube-nav__item span{font-weight:700}
.profile-cube-nav__item strong{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.profile-cube-nav__item.is-open{border-color:rgba(79,214,111,.32);background:rgba(79,214,111,.1)}
.profile-cube-nav__item.is-open strong{color:#8fffb0}
.profile-collapsible-section{position:relative}
.profile-collapsible-section__panel{overflow:hidden;max-height:none;opacity:1;transform:translateY(0)}
.profile-collapsible-section.is-ready .profile-collapsible-section__panel{transition:max-height .3s ease,opacity .24s ease,transform .24s ease}
.fact-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--muted)}
.measure-bar{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.measure-bar .top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.measure-bar .track{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.measure-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.diff{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.08)}
.diff.is-up{color:#8fffb0;border-color:rgba(79,214,111,.3);background:rgba(79,214,111,.08)}
.diff.is-down{color:#ff9da0;border-color:rgba(255,107,107,.3);background:rgba(255,107,107,.08)}
.diff.is-neutral{color:var(--muted)}
.footer{padding:32px 0 46px;color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:1700}
.side-drawer{position:fixed;top:0;bottom:0;left:0;width:min(88vw,360px);padding-top:var(--safe-top);background:var(--drawer-bg);border-right:1px solid rgba(255,255,255,.08);transform:translateX(-104%);transition:transform .34s cubic-bezier(.22,.9,.26,1);z-index:1710;display:flex;flex-direction:column;box-shadow:18px 0 48px rgba(0,0,0,.32)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.drawer-close{width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text)}
.drawer-nav{display:grid;gap:10px;padding:16px}
.drawer-nav--groups{align-content:start;overflow:auto;flex:1 1 auto;min-height:0}
.drawer-android-link{margin:0 16px 10px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(79,214,111,.34);background:linear-gradient(135deg,rgba(37,82,58,.42),rgba(18,39,30,.58));font-weight:700;color:#d9f7e6;transition:background .2s ease,border-color .2s ease,transform .15s ease}
.drawer-android-link:hover,.drawer-android-link:focus-visible{background:linear-gradient(135deg,rgba(52,113,80,.58),rgba(22,52,39,.72));border-color:rgba(109,235,153,.56);outline:none}
.drawer-android-link:active{transform:translateY(1px)}
.drawer-android-link__icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(12,22,18,.62);border:1px solid rgba(123,228,160,.34)}
.drawer-android-link__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.drawer-app-version{margin:0 16px 16px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.drawer-app-version--interactive{cursor:pointer;user-select:none;transition:background .2s ease,border-color .2s ease,transform .15s ease}
.drawer-app-version--interactive:hover,
.drawer-app-version--interactive:focus-visible{background:rgba(78,173,255,.12);border-color:rgba(78,173,255,.42);outline:none}
.drawer-app-version--interactive:active{transform:translateY(1px)}
.drawer-nav-title{padding:2px 4px 8px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.drawer-subgroup{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}
.drawer-subgroup > summary{padding:12px 14px;font-weight:700}
.drawer-subgroup .drawer-subnav{padding:0 10px 10px}
.auth-popover{position:fixed;top:calc(84px + var(--safe-top));right:16px;background:var(--popover-bg);border:1px solid rgba(255,255,255,.08);border-radius:22px;box-shadow:var(--shadow);padding:12px;display:none;z-index:1720;width:min(92vw,320px)}
.auth-popover.is-open{display:grid;gap:10px}
.auth-popover a{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.auth-popover__primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.auth-popover__primary a{text-align:center;font-weight:700}
.auth-popover__divider{height:1px;background:rgba(255,255,255,.10);margin:2px 0}
.auth-popover__title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 2px}
.auth-popover__social{display:grid;gap:8px}
.auth-social{display:flex;align-items:center;gap:10px}
.auth-social__icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.02em;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}
.auth-social--vk .auth-social__icon{background:rgba(91,147,255,.18);border-color:rgba(91,147,255,.36)}
.auth-social--telegram .auth-social__icon{background:rgba(51,199,255,.18);border-color:rgba(51,199,255,.36)}
.auth-social--yandex .auth-social__icon{background:rgba(255,77,79,.16);border-color:rgba(255,77,79,.36)}
.auth-social--max .auth-social__icon{background:rgba(255,190,77,.18);border-color:rgba(255,190,77,.36)}
body.drawer-open{overflow:hidden}
body.drawer-open .drawer-overlay{display:block;opacity:1;visibility:visible;pointer-events:auto}
body.drawer-open .side-drawer{transform:translateX(0)}
body.admin-page{padding-top:0}
body.admin-page .app-shell{min-height:100vh}
body.admin-page main.section{width:100%;max-width:none;margin:0;padding:0}
.admin-shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh;background:#eef2f8;color:#1d2940}
.admin-sidebar{background:#eef2f8;border-right:1px solid #d7dfeb;padding:18px;position:relative;align-self:stretch;min-height:100vh;height:auto;overflow:visible}
.admin-sidebar-mobile-head{display:none;align-items:center;justify-content:space-between;margin-bottom:10px}
.admin-sidebar-overlay{display:none}
.admin-brand{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:#41659b;color:#fff}
.admin-brand img{width:40px;height:40px;border-radius:12px;object-fit:cover;border:0}
.admin-group{margin-top:14px;padding:10px;border-radius:16px;border:1px solid #d7dfeb;background:#f7f9fd;display:grid;gap:6px}
.admin-group h4{margin:0 0 4px;padding:0 8px;color:#667997;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.admin-group a{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:12px;color:#273654;background:#fff;border:1px solid #e1e8f2;cursor:grab}
.admin-group a:hover,.admin-group a.is-active{background:#dfe8f5;border-color:#c7d4e7}
.admin-group a.is-dragging{opacity:.5}
.admin-main{padding:26px;background:#f6f8fc;min-width:0;overflow-x:hidden}
.admin-main > *{max-width:100%;min-width:0}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;position:static;z-index:60;padding:10px 0 12px;background:rgba(246,248,252,.92);backdrop-filter:blur(8px);border-bottom:1px solid #dfe6f1}
.admin-topbar > div{min-width:0}
.admin-topbar h1{overflow-wrap:anywhere}
.admin-menu-toggle{display:none;margin-bottom:10px}
.admin-card,.settings-card{background:#fff;border:1px solid #dfe6f1;box-shadow:none;color:#1e2f49}
.admin-main .admin-card,.admin-main .settings-card,.admin-main .table-wrap,.admin-main form,.admin-main .card-list,.admin-main .list-row{max-width:100%;min-width:0}
.admin-main .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-main code,.admin-main small,.admin-main .muted,.admin-main .hint{overflow-wrap:anywhere;word-break:break-word}
.admin-card p,.settings-card p,.admin-card .hint,.settings-card .hint{color:#607086}
.settings-card .field-row{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;padding:18px 0;border-bottom:1px solid #edf1f7}
.settings-card .field-row:last-child{border-bottom:0}
.settings-card input,.settings-card textarea,.settings-card select,.admin-card input,.admin-card textarea,.admin-card select{background:#f8fbff;color:#20304b;border:1px solid #cfdae8}
.switch{display:inline-flex;align-items:center;gap:8px}
.admin-grid--dashboard{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);margin-top:16px}
.admin-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}
.admin-grid--split{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.admin-grid--analytics-bottom{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin-top:16px}
.admin-inline-grid{display:grid;gap:10px}
.admin-inline-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.admin-page:not([data-theme="light"]) .admin-shell{background:#08111d;color:#e7f2ff}
body.admin-page:not([data-theme="light"]) .admin-sidebar{background:#0f1a2a;border-right-color:rgba(255,255,255,.1)}
body.admin-page:not([data-theme="light"]) .admin-brand{background:linear-gradient(135deg,rgba(45,87,151,.9),rgba(26,57,102,.92));color:#fff}
body.admin-page:not([data-theme="light"]) .admin-group{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1)}
body.admin-page:not([data-theme="light"]) .admin-group h4{color:#8fa8c7}
body.admin-page:not([data-theme="light"]) .admin-group a{color:#d9e7f8;background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.1)}
body.admin-page:not([data-theme="light"]) .admin-group a:hover,
body.admin-page:not([data-theme="light"]) .admin-group a.is-active{background:rgba(123,175,255,.14);border-color:rgba(123,175,255,.3)}
body.admin-page:not([data-theme="light"]) .admin-main{background:#0b1524}
body.admin-page:not([data-theme="light"]) .admin-topbar{background:rgba(11,21,36,.92);border-bottom-color:rgba(255,255,255,.1)}
body.admin-page:not([data-theme="light"]) .admin-card,
body.admin-page:not([data-theme="light"]) .settings-card{background:linear-gradient(180deg,rgba(16,27,43,.96),rgba(11,20,33,.98));border-color:rgba(255,255,255,.1);color:#e7f2ff}
body.admin-page:not([data-theme="light"]) .admin-card p,
body.admin-page:not([data-theme="light"]) .settings-card p,
body.admin-page:not([data-theme="light"]) .admin-card .hint,
body.admin-page:not([data-theme="light"]) .settings-card .hint{color:#9eb3cd}
body.admin-page:not([data-theme="light"]) .settings-card .field-row{border-bottom-color:rgba(255,255,255,.08)}
body.admin-page:not([data-theme="light"]) .settings-card input,
body.admin-page:not([data-theme="light"]) .settings-card textarea,
body.admin-page:not([data-theme="light"]) .settings-card select,
body.admin-page:not([data-theme="light"]) .admin-card input,
body.admin-page:not([data-theme="light"]) .admin-card textarea,
body.admin-page:not([data-theme="light"]) .admin-card select{background:rgba(6,14,24,.82);border-color:rgba(255,255,255,.14);color:#e7f2ff}
body.admin-page:not([data-theme="light"]) .table-wrap{border-color:rgba(255,255,255,.12)}
body.admin-page:not([data-theme="light"]) table{background:rgba(8,15,26,.74)}
body.admin-page:not([data-theme="light"]) th{background:rgba(255,255,255,.06);color:#d9e8fb}
body.admin-page:not([data-theme="light"]) .flash{border-color:rgba(79,214,111,.38);background:rgba(79,214,111,.12)}
body.admin-page:not([data-theme="light"]) .flash.is-error{border-color:rgba(255,107,107,.4);background:rgba(255,107,107,.13)}
.desktop-only{display:flex}
.chat-mobile-only{display:none!important}
@media (max-width:1080px){
  .desktop-only{display:none}
  .hero-grid,.profile-grid,.info-grid,.cards-grid,.three-grid,.stats-grid,.measure-grid,.form-grid,.admin-shell{grid-template-columns:1fr}
  .profile-settings-list{grid-template-columns:1fr}
  .profile-cube-nav-wrap{display:block}
  .profile-cube-nav{position:static;width:100%;margin-left:0}
  .progress-grid{grid-template-columns:1fr!important}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-main .admin-grid{grid-template-columns:1fr!important}
  .admin-main [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .admin-sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;width:min(86vw,320px);z-index:130;transform:translateX(-105%);transition:.22s ease;box-shadow:0 24px 46px rgba(0,0,0,.24)}
  .admin-sidebar-mobile-head{display:flex}
  .admin-main{padding:18px}
  .admin-menu-toggle{display:inline-flex}
  .admin-sidebar-overlay{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.45);border:0;padding:0;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}
  body.admin-nav-open .admin-sidebar{transform:translateX(0)}
  body.admin-nav-open .admin-sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto;display:block}
}
@media (max-width:1080px){
  .chat-mobile-only{display:inline-flex!important}
}
@media (hover:none), (pointer:coarse){
  .chat-mobile-only{display:inline-flex!important}
}
@media (max-width:760px){
  :root{--topbar-height:72px}
  body{padding-top:0}
  .shell{width:min(100% - 24px, 1200px)}
  .topbar-inner{min-height:72px}
  .topbar-left{min-width:0;flex:1}
  .brand{flex:1;min-width:0}
  .topbar-actions{flex-shrink:0}
  .topbar-inner{gap:8px;padding-right:calc(var(--safe-right) + 4px)}
  .brand{gap:8px}
  .brand img{width:40px;height:40px;border-radius:12px}
  .brand strong{max-width:140px;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.1;font-size:13px}
  .brand small{display:none}
  .brand strong{display:none}
  .menu-toggle,.icon-chip{width:44px;height:44px}
  .chip,.btn{padding:10px 14px}
  .top-chat-btn{padding:10px 12px;border-radius:14px}
  .topbar-actions .user-chip span{display:none}
  .topbar-actions .user-chip--trigger{width:52px;height:52px;padding:0;border-radius:16px;overflow:visible;display:inline-flex;position:relative}
  .topbar-actions .user-chip--trigger img{width:100%;height:100%;border-radius:16px}
  .profile-hero{grid-template-columns:1fr}
  .profile-avatar{width:120px;height:120px}
  .profile-cube-nav{padding:12px}
  .profile-cube-nav__trigger{padding:11px 12px}
  .profile-cube-nav__item{padding:10px}
  .profile-cube-nav__menu{grid-template-columns:1fr}
  .settings-card .field-row{grid-template-columns:1fr}
  .quick-grid{grid-template-columns:1fr}
  .admin-main{padding:14px 12px 22px}
  .admin-topbar{gap:10px}
  .admin-topbar > div{width:100%}
  .admin-topbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .admin-topbar-actions .admin-topbar-extra-actions{display:contents}
  .admin-topbar .btn{max-width:100%}
  .admin-topbar-actions .btn{width:100%;justify-content:center;min-width:0;white-space:normal}
  .admin-main .list-row{flex-direction:column;align-items:flex-start;gap:6px}
  .admin-main .list-row small{width:100%;text-align:left}
  .admin-main [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .admin-main table{min-width:680px}
  .admin-main th,.admin-main td{padding:12px 10px}
  .admin-main td[style*="display:flex"]{align-items:flex-start}
  .admin-main td[style*="display:flex"] .btn{white-space:normal}
  .admin-inline-grid--2{grid-template-columns:1fr}
  .oauth-link-row{flex-direction:column;align-items:stretch}
  .oauth-link-row__actions{width:100%;justify-content:flex-start}
  .oauth-link-row__actions .btn{width:100%}
  .oauth-link-row__form{display:flex;width:100%}
  .oauth-link-row__form .btn{width:100%}
}
.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--danger);font-size:11px;color:#fff}
.chip-compact{padding-inline:12px}
.theme-toggle{min-width:46px}
.theme-toggle__icon{width:14px;height:14px;border-radius:999px;display:inline-block;border:1px solid rgba(255,255,255,.24);background:radial-gradient(circle at 35% 35%, #fff5b6 0%, #f0c24a 62%, #c58b28 100%);box-shadow:0 0 0 3px rgba(255,190,77,.12)}
body[data-theme-mode="dark"] .theme-toggle__icon{background:radial-gradient(circle at 65% 35%, #d7e6ff 0%, #8ca4cf 58%, #4f648e 100%);box-shadow:0 0 0 3px rgba(131,167,224,.16)}
.theme-toggle__text{display:none!important}
.btn-small{padding:10px 14px;border-radius:14px}
.badge-inline{margin-top:8px}
.drawer-group{border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.03);overflow:hidden}
.drawer-group summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px;transform:translateY(0);transition:background .22s ease,transform .16s ease,border-color .22s ease}
.drawer-group summary::-webkit-details-marker{display:none}
.drawer-group summary:active{transform:translateY(1px)}
.drawer-group summary::after{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .22s ease,opacity .22s ease;opacity:.8}
.drawer-group[open] > summary::after{transform:rotate(225deg)}
.drawer-subnav{display:grid;gap:8px;max-height:0;opacity:0;transform:translateY(-8px);overflow:hidden;padding:0 10px;transition:max-height .32s cubic-bezier(.22,.9,.26,1),padding .32s cubic-bezier(.22,.9,.26,1),opacity .24s ease,transform .24s ease}
.drawer-group[open] .drawer-subnav{max-height:min(72vh,980px);padding:0 10px 10px;opacity:1;transform:translateY(0);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.drawer-subnav a{transform:translateY(0);transition:background .18s ease,border-color .18s ease,transform .14s ease}
.drawer-subnav a:active{transform:translateY(1px)}
.nav-item-draggable{cursor:grab}
.nav-item-draggable.is-dragging{opacity:.46}
.hero-showcase{position:relative;min-height:calc(100vh - 130px);display:grid;align-items:center;padding:26px 0 34px;overflow:hidden;border-radius:40px;isolation:isolate}
.hero-showcase__backdrop{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(1.2px);transform:scale(1.04);border-radius:inherit}
.hero-showcase__backdrop::after{content:"";position:absolute;inset:0;background:var(--hero-overlay)}
.hero-showcase::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 0 120px rgba(7,12,20,.34)}
.hero-showcase::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(130% 92% at 50% 50%, rgba(7,12,20,0) 56%, rgba(7,12,20,.32) 74%, rgba(7,12,20,.76) 100%)}
.hero-showcase__content{position:relative;z-index:3;display:grid;grid-template-columns:1.14fr .86fr;gap:26px;align-items:center}
.hero-showcase__left{display:grid;gap:18px;padding-left:12px}
.hero-showcase__left h1{margin:0;font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-.05em;max-width:720px}
.hero-showcase__left p{margin:0;max-width:620px;color:#d8e3f1;font-size:18px;line-height:1.65}
.hero-kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#c8d7ea}
.hero-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}
.hero-benefit{padding:18px;border-radius:20px;background:rgba(10,22,42,.72);border:1px solid rgba(93,138,255,.22);box-shadow:0 18px 30px rgba(0,0,0,.22);font-weight:700}
.hero-showcase__right{justify-self:end;width:min(430px,100%)}
.hero-mobile-portrait{display:none;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(8,19,38,.74);box-shadow:0 20px 38px rgba(0,0,0,.26)}
.hero-mobile-portrait img{width:100%;height:280px;object-fit:cover}
.portrait-card{padding:14px;border-radius:24px;background:linear-gradient(180deg,rgba(116,74,150,.2),rgba(9,18,28,.95));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.3)}
.portrait-card img{width:100%;max-height:520px;object-fit:cover;border-radius:20px}
.portrait-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.portrait-stats div{padding:16px 10px;border-radius:18px;background:rgba(8,19,38,.84);border:1px solid rgba(255,255,255,.08);text-align:center}
.portrait-stats strong{display:block;font-size:24px}
.portrait-stats span{display:block;margin-top:6px;color:var(--muted);font-size:13px}
.about-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:center}
.about-split img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:24px}
.about-content{display:grid;gap:14px}
.about-heading{margin:0;font-size:clamp(30px,4.4vw,52px);line-height:1.05;letter-spacing:-.04em}
.about-lead{margin:0;color:var(--muted);line-height:1.75}
.about-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.about-facts{margin-top:-4px}
.about-column h4{margin:0 0 10px;font-size:24px;letter-spacing:-.02em}
.about-column ul{margin:0;padding-left:18px;display:grid;gap:10px;line-height:1.65;color:var(--text)}
.about-actions{margin-top:4px}
.about-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.direction-card img,.news-cover{width:100%;height:240px;object-fit:cover;border-radius:20px;margin-bottom:14px}
.news-cover{height:220px}
.results-preview-grid,.results-grid-page,.people-grid,.reviews-grid-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.result-card{display:grid;gap:14px}
.result-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.result-photo{width:100%;height:260px;object-fit:cover;border-radius:18px}
.schedule-table td,.schedule-table th{white-space:nowrap}
.schedule-table td:first-child,.schedule-table th:first-child{white-space:normal}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;align-items:start}
.schedule-layout--single{grid-template-columns:minmax(0,1fr)}
.trainer-signups-card{display:grid;gap:12px;align-content:start}
.trainer-signups-card h3{margin:0}
.trainer-signups-list{display:grid;gap:10px;max-height:560px;overflow:auto;padding-right:2px}
.trainer-signup-item{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.trainer-signup-item__meta{display:grid;gap:4px}
.trainer-signup-item__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.review-slider{overflow:hidden;padding:18px}
.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,1fr);gap:16px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:4px}
.review-slide,.review-card{display:grid;gap:12px;padding:18px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.review-slide__footer,.review-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-card{display:grid;gap:14px}
.news-article{display:grid;gap:18px}
.news-excerpt{font-size:18px;line-height:1.7;color:#d6e4f6}
.news-body{display:grid;gap:12px;line-height:1.8;color:#eff5fb}
.zoom-photo{width:100%;max-height:320px;object-fit:cover;border-radius:18px;cursor:zoom-in}
.people-card{display:grid;gap:14px;align-content:start;text-align:left}
.people-card__avatar{margin:0 auto 8px;width:120px;height:120px}
.price-card{display:grid;gap:10px}
.home-pricing-grid{align-items:stretch}
.home-price-card{position:relative;overflow:hidden;min-height:210px;align-content:start;border-color:rgba(81,234,153,.22);background:linear-gradient(145deg,rgba(11,24,38,.96),rgba(8,17,29,.98))}
.home-price-card:before{content:"";position:absolute;inset:auto -30% -45% 35%;height:150px;background:radial-gradient(circle,rgba(81,234,153,.24),transparent 65%);pointer-events:none}
.home-price-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.home-price-card__top strong{font-size:clamp(20px,2vw,28px);color:#7dffad;white-space:nowrap}
.home-price-card h3,.home-price-card p,.home-price-card .btn{position:relative;z-index:1}
.home-price-card h3{font-size:22px;margin:4px 0 0}
.home-price-card p{line-height:1.6;color:var(--muted);margin:0}
body[data-theme="light"] .home-price-card{background:linear-gradient(145deg,#ffffff,#effaf4);border-color:#a9dfbf}
body[data-theme="light"] .home-price-card__top strong{color:#0b8f4b}
@media (max-width:1080px){
  .hero-showcase__content,.about-split,.results-preview-grid,.results-grid-page,.people-grid,.reviews-grid-page,.news-grid{grid-template-columns:1fr}
  .hero-showcase__left{padding-left:8px}
  .hero-benefits{grid-template-columns:1fr}
  .about-columns{grid-template-columns:1fr}
  .schedule-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero-showcase{min-height:auto;padding-top:8px;border-radius:24px}
  .hero-showcase__left{padding-left:4px}
  .hero-showcase__left p{font-size:16px}
  .about-heading{font-size:34px}
  .portrait-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .portrait-stats strong{font-size:20px}
  .direction-card img,.news-cover,.result-photo{height:210px}
  .review-track{grid-auto-columns:85%}
  .result-compare{grid-template-columns:1fr}
}

body[data-theme="light"]{
  --bg:#f2f6fc;
  --bg-soft:#e6eef8;
  --bg-gradient:linear-gradient(180deg,#f6f9ff 0%,#edf3fb 45%,#e5edf8 100%);
  --panel:#ffffff;
  --panel-2:#f4f8ff;
  --panel-3:#ebf2fb;
  --line:rgba(18,43,77,.14);
  --text:#12243d;
  --muted:#5b6e86;
  --accent:#1f86ec;
  --accent-2:#17a66c;
  --danger:#d85463;
  --topbar-bg:rgba(247,251,255,.92);
  --menu-panel-bg:rgba(255,255,255,.98);
  --drawer-bg:#f7fbff;
  --popover-bg:#ffffff;
  --hero-overlay:linear-gradient(90deg,rgba(236,243,252,.88) 0%,rgba(229,238,250,.82) 45%,rgba(220,231,246,.74) 100%);
  --shadow:0 16px 44px rgba(16,41,74,.12);
}
body[data-theme="light"] .menu-toggle,
body[data-theme="light"] .chip,
body[data-theme="light"] .icon-chip,
body[data-theme="light"] .user-chip,
body[data-theme="light"] .top-links a,
body[data-theme="light"] .drawer-nav a,
body[data-theme="light"] .btn{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.14);color:var(--text)}
body[data-theme="light"] .drawer-app-version{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.14);color:#4e6581}
body[data-theme="light"] .drawer-app-version--interactive:hover,
body[data-theme="light"] .drawer-app-version--interactive:focus-visible{background:rgba(31,134,236,.12);border-color:rgba(31,134,236,.28)}
body[data-theme="light"] .drawer-android-link{color:#1c5634;border-color:rgba(35,135,78,.34);background:linear-gradient(135deg,rgba(71,173,112,.22),rgba(57,137,93,.16))}
body[data-theme="light"] .drawer-android-link:hover,
body[data-theme="light"] .drawer-android-link:focus-visible{background:linear-gradient(135deg,rgba(77,186,120,.3),rgba(52,153,97,.26));border-color:rgba(35,135,78,.48)}
body[data-theme="light"] .drawer-android-link__icon{background:rgba(255,255,255,.8);border-color:rgba(35,135,78,.28)}
body[data-theme="light"] .comment-editor-form.chat-form:not(.chat-form--sticky){background:rgba(255,255,255,.96)}
body[data-theme="light"] .auth-popover{background:rgba(255,255,255,.98);border-color:rgba(17,43,77,.16)}
body[data-theme="light"] .auth-popover a{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .auth-popover__divider{background:rgba(17,43,77,.14)}
body[data-theme="light"] .auth-social__icon{background:rgba(17,43,77,.08);border-color:rgba(17,43,77,.18)}
body[data-theme="light"] .menu-toggle:hover,
body[data-theme="light"] .chip:hover,
body[data-theme="light"] .icon-chip:hover,
body[data-theme="light"] .user-chip:hover,
body[data-theme="light"] .top-links a:hover,
body[data-theme="light"] .drawer-nav a:hover,
body[data-theme="light"] .btn:hover{background:rgba(31,134,236,.12);border-color:rgba(31,134,236,.28)}
body[data-theme="light"] .hero-card,
body[data-theme="light"] .card,
body[data-theme="light"] .stat-card,
body[data-theme="light"] .metric-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,255,.98));border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .hero-card::before{background:radial-gradient(circle at top right, rgba(31,134,236,.12), transparent 35%), radial-gradient(circle at bottom left, rgba(23,166,108,.12), transparent 25%)}
body[data-theme="light"] .hero-showcase__left p{color:#2f4866}
body[data-theme="light"] .hero-kicker{color:#4c6580}
body[data-theme="light"] .hero-showcase::after{background:radial-gradient(130% 92% at 50% 50%, rgba(247,251,255,0) 56%, rgba(233,240,250,.42) 76%, rgba(229,236,247,.92) 100%)}
body[data-theme="light"] .badge,
body[data-theme="light"] .fact-chip{background:rgba(17,43,77,.06);border-color:rgba(17,43,77,.14);color:var(--muted)}
body[data-theme="light"] .list-row,
body[data-theme="light"] .contact-row,
body[data-theme="light"] .measure-bar,
body[data-theme="light"] .review-slide,
body[data-theme="light"] .review-card{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .strength-progress-spoiler summary{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .strength-progress-item{background:rgba(17,43,77,.03);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .strength-progress-scale{background:rgba(17,43,77,.12)}
body[data-theme="light"] .strength-progress-empty{background:rgba(17,43,77,.03);border-color:rgba(17,43,77,.2)}
body[data-theme="light"] .strength-filter-pill.is-active{background:rgba(31,134,236,.16);border-color:rgba(31,134,236,.34)}
body[data-theme="light"] .profile-cube-nav__trigger{border-color:rgba(17,43,77,.2);background:linear-gradient(135deg,rgba(245,250,255,.98),rgba(235,243,254,.98))}
body[data-theme="light"] .profile-cube-nav__item{border-color:rgba(17,43,77,.14);background:rgba(17,43,77,.03)}
body[data-theme="light"] .profile-cube-nav__item.is-open{background:rgba(79,214,111,.12);border-color:rgba(58,168,88,.34)}
body[data-theme="light"] .admin-strength-focus-chip{border-color:rgba(17,43,77,.2);background:rgba(17,43,77,.04)}
body[data-theme="light"] .admin-strength-focus-chip:hover{background:rgba(17,43,77,.08)}
body[data-theme="light"] .admin-strength-focus-chip.is-active{border-color:rgba(31,134,236,.34);background:rgba(31,134,236,.14)}
body[data-theme="light"] input,
body[data-theme="light"] textarea,
body[data-theme="light"] select{background:#fff;border-color:rgba(17,43,77,.16);color:var(--text)}
body[data-theme="light"] table{background:#fff}
body[data-theme="light"] th{color:#2f4866;background:rgba(17,43,77,.06)}
body[data-theme="light"] .table-wrap{border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .top-links-spoiler summary,
body[data-theme="light"] .top-links-spoiler__nested summary{border-color:rgba(17,43,77,.22);background:linear-gradient(135deg,rgba(241,247,255,.98),rgba(231,241,253,.98));color:var(--text);box-shadow:0 12px 26px rgba(17,43,77,.12)}
body[data-theme="light"] .top-links-spoiler__menu a{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .hero-benefit{background:rgba(255,255,255,.86);border-color:rgba(31,134,236,.2);box-shadow:0 14px 24px rgba(17,43,77,.12)}
body[data-theme="light"] .portrait-card{background:linear-gradient(180deg,rgba(183,151,213,.26),rgba(236,244,255,.98));border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .portrait-stats div{background:rgba(255,255,255,.88);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .news-excerpt,
body[data-theme="light"] .news-body{color:var(--text)}
body[data-theme="light"] .empty{background:rgba(17,43,77,.03);border-color:rgba(17,43,77,.2)}
body[data-theme="light"] .comment-editor-form,
body[data-theme="light"] .comment-card,
body[data-theme="light"] .comment-card.is-child{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .comment-editor-tool{background:rgba(17,43,77,.06);border-color:rgba(17,43,77,.16)}
body[data-theme="light"] .emoji-picker{background:rgba(255,255,255,.96);border-color:rgba(17,43,77,.18)}
body[data-theme="light"] .emoji-picker__item{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .comment-code{background:#f2f6fd;border-color:rgba(17,43,77,.16)}
body[data-theme="light"] .media-lightbox__caption{background:rgba(248,252,255,.96);border-color:rgba(17,43,77,.16);color:var(--text)}
body[data-theme="light"] .footer-grid{background:rgba(17,43,77,.04);border-color:rgba(17,43,77,.12)}

body[data-theme="midnight"]{
  --bg:#09111b;
  --bg-soft:#101b2a;
  --panel:#101826;
  --panel-2:#172438;
  --panel-3:#1e2f49;
  --line:rgba(255,255,255,.08);
  --text:#f2f6fb;
  --muted:#9fb1c6;
  --accent:#33c7ff;
  --accent-2:#4fd66f;
  --danger:#ff6b6b;
}
body[data-theme="sunset"]{
  --bg:#1a0f0f;
  --bg-soft:#241515;
  --panel:#2b1818;
  --panel-2:#3a1f1e;
  --panel-3:#4a2624;
  --line:rgba(255,220,200,.10);
  --text:#fff1ea;
  --muted:#d9b6a5;
  --accent:#ff885b;
  --accent-2:#f7d154;
  --danger:#ff7c90;
}
body[data-theme="forest"]{
  --bg:#08120d;
  --bg-soft:#0f1b15;
  --panel:#122018;
  --panel-2:#173124;
  --panel-3:#20402f;
  --line:rgba(213,255,229,.08);
  --text:#eefcf4;
  --muted:#a8c8b4;
  --accent:#4dcf9c;
  --accent-2:#9fd36c;
  --danger:#ff8798;
}
body[data-theme="arctic"]{
  --bg:#0a1420;
  --bg-soft:#102033;
  --panel:#13253a;
  --panel-2:#1a3150;
  --panel-3:#234570;
  --line:rgba(255,255,255,.10);
  --text:#eff8ff;
  --muted:#a7c3dc;
  --accent:#59b9ff;
  --accent-2:#9de0ff;
  --danger:#ff8598;
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal-left{transform:translateX(-28px)}
.reveal-right{transform:translateX(28px)}
.reveal-scale{transform:translateY(16px) scale(.96)}
.reveal.is-visible.reveal-left,.reveal.is-visible.reveal-right,.reveal.is-visible.reveal-scale{transform:none}

.chat-thread-list{gap:12px}
.chat-thread-item{align-items:flex-start;min-width:0;max-width:100%;overflow:hidden}
.chat-thread-item__main{display:flex;gap:14px;align-items:flex-start;min-width:0}
.chat-thread-item__main > div{min-width:0}
.chat-thread-item__avatar{width:54px;height:54px;border-radius:16px;object-fit:cover;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.chat-thread-item__preview{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.5;
  overflow-wrap:anywhere;
  word-break:break-word;
  display:flex;
  align-items:center;
  gap:8px;
}
.chat-thread-item__preview-text{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.chat-thread-item__preview-text > span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.chat-thread-item__preview-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
}
.chat-thread-item__preview-thumb{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.chat-thread-item__preview-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.chat-thread-item__preview-thumb.is-video-note,
.chat-thread-item__preview-thumb.is-video{
  border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(89,185,255,.34), rgba(16,34,59,.95));
}
.chat-thread-item__preview-thumb-play{
  width:0;
  height:0;
  margin-left:2px;
  border-style:solid;
  border-width:6px 0 6px 9px;
  border-color:transparent transparent transparent rgba(255,255,255,.94);
}
.chat-thread-item__meta{display:grid;justify-items:end;gap:8px;flex:0 0 auto}
.chat-thread-item .muted{overflow-wrap:anywhere;word-break:break-word}
.chat-role-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.chat-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(51,199,255,.36);background:rgba(51,199,255,.14);color:#d9f1ff;font-size:12px;font-weight:800;line-height:1.2}
.chat-card{display:grid;gap:18px}
.chat-peer-head{display:flex;align-items:center;gap:12px;min-width:0}
.chat-peer-head__meta{display:grid;gap:3px;min-width:0}
.chat-peer-head h2{margin:0;font-size:clamp(20px,4vw,34px);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-peer-head p{margin:0;color:var(--muted)}
.chat-peer-head__username,.chat-peer-head__presence{font-size:13px}
.chat-box{display:grid;gap:12px;max-height:680px;overflow:auto;padding:14px;border-radius:22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.chat-card--pm{display:flex;flex-direction:column;gap:12px;min-height:calc(100dvh - 132px)}
.chat-card--pm .section-head{align-items:center;gap:10px;margin-bottom:6px}
.chat-card--pm .section-head .btn{padding:9px 12px;border-radius:14px}
.chat-peer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.chat-peer-call-btn{width:42px;min-width:42px;height:42px;padding:0!important;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
.chat-peer-actions .btn.is-active{border-color:rgba(79,214,111,.55);background:rgba(79,214,111,.2);color:#ecfff3}
.chat-peer-call-btn--hangup{order:3;border-color:rgba(255,102,132,.45)!important;background:rgba(201,52,72,.26)!important;color:#ffe8ed!important;font-size:0!important}
.chat-peer-call-btn--hangup::before{content:"📞✕";font-size:16px;line-height:1}
.chat-peer-call-btn--hangup:hover{background:rgba(201,52,72,.36)!important}
.section-head--call{align-items:center;gap:12px}
.chat-card--call{gap:10px}
.chat-thread-incoming-call{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(8,16,26,.95)}
.chat-thread-incoming-call[hidden]{display:none!important}
.chat-thread-incoming-call__avatar{width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03)}
.chat-thread-incoming-call__meta{display:grid;gap:2px;min-width:0;flex:1 1 auto}
.chat-thread-incoming-call__meta strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-thread-incoming-call__meta span{font-size:12px;color:var(--muted)}
.chat-thread-incoming-call__meta .chat-thread-incoming-call__network{font-size:11px;color:var(--muted);line-height:1.2}
.chat-thread-incoming-call__actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chat-thread-incoming-call__actions .btn{padding:7px 10px;border-radius:10px}
.global-incoming-call{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + var(--safe-bottom));z-index:1200;display:flex;align-items:center;gap:10px;width:min(560px,calc(100% - 20px));padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(8,16,26,.95);box-shadow:0 18px 34px rgba(0,0,0,.35)}
.global-incoming-call[hidden]{display:none!important}
.global-incoming-call__avatar{width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03)}
.global-incoming-call__meta{display:grid;gap:2px;min-width:0;flex:1 1 auto}
.global-incoming-call__meta strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-incoming-call__meta span{font-size:12px;color:var(--muted)}
.global-incoming-call__meta .global-incoming-call__network{font-size:11px;color:var(--muted);line-height:1.2}
.global-incoming-call__actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.global-incoming-call__actions .btn{padding:7px 10px;border-radius:10px}
.chat-card--call .chat-call-stage{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0}
.chat-call-stage__note{padding:10px 12px;border-radius:14px;border:1px solid rgba(51,199,255,.2);background:rgba(51,199,255,.08);color:#d9efff;font-size:13px;line-height:1.35}
.chat-call-stage__embed{flex:1 1 auto;min-height:clamp(360px,62dvh,760px);border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#02070f}
.chat-call-stage__embed iframe{width:100%!important;height:100%!important;border:0}
.chat-call-stage__fallback{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);display:grid;gap:10px}
.chat-call-stage__fallback[hidden]{display:none!important}
.chat-layout-shell--call .chat-card--call{min-height:calc(var(--chat-viewport-height,100dvh) - var(--chat-topbar-height,74px) - 20px)}
.chat-call-native{display:grid;gap:12px;min-height:0;flex:1 1 auto}
.chat-call-native__stage{position:relative;min-height:clamp(360px,62dvh,760px);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(51,199,255,.15),rgba(2,7,15,.95) 55%)}
.chat-call-native__remote-video{width:100%;height:100%;object-fit:cover;background:#030912}
.chat-call-native__local-video{position:absolute;right:12px;bottom:12px;width:min(34vw,220px);aspect-ratio:16/10;border-radius:14px;border:1px solid rgba(255,255,255,.28);background:#02070f;object-fit:cover;z-index:3}
.chat-call-native__audio-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;background:linear-gradient(180deg,rgba(5,14,26,.4),rgba(5,14,26,.92));z-index:2}
.chat-call-native__audio-placeholder img{width:96px;height:96px;border-radius:24px;object-fit:cover;border:1px solid rgba(255,255,255,.2)}
.chat-call-native__audio-placeholder strong{font-size:20px;line-height:1.2}
.chat-call-native__audio-placeholder span{color:var(--muted);font-size:13px}
.chat-call-native__incoming{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:grid;gap:10px;min-width:min(90%,320px);padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(6,14,24,.94);z-index:4}
.chat-call-native__incoming[hidden]{display:none!important}
.chat-call-native__incoming p{margin:0;text-align:center;font-weight:800}
.chat-call-native__incoming-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.chat-call-native__error{position:absolute;left:12px;right:12px;top:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,122,122,.45);background:rgba(56,9,12,.86);color:#ffd4d4;z-index:5}
.chat-call-native__controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.chat-call-native__controls .btn{min-width:56px;height:46px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;border-radius:14px}
.chat-call-native__btn-hangup{background:rgba(201,52,72,.26);border-color:rgba(255,102,132,.45)}
.chat-call-native__btn-hangup:hover{background:rgba(201,52,72,.36)}
.chat-call-native__controls .btn.is-hidden{display:none!important}
.chat-card--pm .chat-box{flex:1 1 auto;height:calc(100dvh - 300px);max-height:none;scrollbar-gutter:stable both-edges;overscroll-behavior:contain;gap:10px;padding:12px}
.chat-card--pm .chat-bubble{max-width:min(680px,84%);border-radius:18px 18px 18px 6px;padding:12px 14px}
.chat-card--pm .chat-bubble-row.is-mine .chat-bubble{border-radius:18px 18px 6px 18px}
.chat-card--pm .chat-bubble__author{display:none}
.chat-card--pm .chat-bubble__meta{text-align:right;margin-top:6px;font-size:11px}
.chat-card--pm .chat-message-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chat-card--pm .chat-message-actions .btn{padding:7px 11px;border-radius:11px;font-size:12px}
.chat-message-row{display:flex;align-items:flex-start;gap:10px}
.chat-message-row.is-mine{justify-content:flex-end;flex-direction:row-reverse}
.chat-message-row.is-peer{justify-content:flex-start}
.chat-message-author{width:78px;min-width:78px;display:grid;justify-items:center;gap:6px;padding-top:2px}
.chat-message-avatar{width:48px;height:48px;border-radius:14px}
.chat-message-role{font-size:11px;color:var(--muted);text-align:center;line-height:1.2}
.chat-bubble-row{display:flex}
.chat-bubble-row.is-mine{justify-content:flex-end}
.chat-bubble-row.is-peer{justify-content:flex-start}
.chat-system-event{align-self:center;display:inline-flex;align-items:center;gap:8px;max-width:min(720px,92%);margin:4px auto;padding:8px 12px;border:1px solid rgba(79,214,111,.22);border-radius:999px;background:linear-gradient(135deg,rgba(79,214,111,.12),rgba(51,199,255,.08));color:#d9ffe6;font-size:13px;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.chat-system-event__dot{width:8px;height:8px;border-radius:999px;background:#4fd66f;box-shadow:0 0 12px rgba(79,214,111,.65);flex:0 0 auto}
.chat-system-event small{color:rgba(217,255,230,.66);font-size:11px}
.chat-bubble-row.is-reply{position:relative;padding-left:calc(var(--thread-depth,0) * 22px)}
.chat-bubble-row.is-reply::before{content:"";position:absolute;left:calc((var(--thread-depth,0) * 22px) - 11px);top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(51,199,255,.55),rgba(79,214,111,.45))}
.chat-bubble-row.is-mine.is-reply{padding-left:0;padding-right:calc(var(--thread-depth,0) * 22px)}
.chat-bubble-row.is-mine.is-reply::before{left:auto;right:calc((var(--thread-depth,0) * 22px) - 11px)}
.chat-bubble{max-width:min(720px,88%);padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);box-shadow:0 12px 24px rgba(0,0,0,.14)}
.chat-message-row.is-mine .chat-bubble{background:linear-gradient(135deg,rgba(51,199,255,.16),rgba(79,214,111,.14));border-color:rgba(79,214,111,.24)}
.chat-bubble-row.is-mine .chat-bubble{background:linear-gradient(135deg,rgba(51,199,255,.16),rgba(79,214,111,.14));border-color:rgba(79,214,111,.24)}
.chat-bubble__author{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.chat-bubble__author-link{display:inline-flex;align-items:center;gap:8px;color:inherit}
.chat-bubble__author-avatar{width:28px;height:28px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.chat-bubble__presence-dot{width:9px;height:9px;border-radius:999px;display:inline-block;flex:0 0 auto;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 2px rgba(6,14,24,.85)}
.chat-bubble__presence-dot.is-online{background:#4fd66f}
.chat-bubble__presence-dot.is-offline{background:#ff6b6b}
.chat-bubble__author-meta{color:var(--muted)}
.chat-bubble__reply{display:grid;gap:4px;margin:0 0 10px;padding:9px 11px;border-left:3px solid rgba(51,199,255,.52);border-radius:12px;background:linear-gradient(135deg,rgba(51,199,255,.12),rgba(79,214,111,.08))}
.chat-bubble__reply strong{font-size:12px;line-height:1.2;color:#d8edff}
.chat-bubble__reply span{font-size:13px;line-height:1.35;color:var(--muted)}
.chat-bubble__reply a{color:#9ed9ff;text-decoration:none}
.chat-bubble__reply a:hover{text-decoration:underline}
.chat-bubble__body{line-height:1.7;white-space:normal;word-break:break-word}
.chat-bubble__body a{color:#7dd3fc;text-decoration:none;border-bottom:1px solid rgba(125,211,252,.34)}
.chat-bubble__body a:hover{color:#bbf7d0;border-color:rgba(187,247,208,.7)}
.chat-text-underline{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.chat-spoiler{display:inline;border-radius:8px;padding:0 5px;background:rgba(148,163,184,.28);color:transparent;text-shadow:0 0 8px rgba(226,232,240,.86);cursor:pointer;transition:color .18s ease,background .18s ease,text-shadow .18s ease}
.chat-spoiler:hover,.chat-spoiler:focus{color:inherit;text-shadow:none;background:rgba(34,197,94,.14)}
.chat-selection-popover{position:fixed;z-index:80;display:flex;gap:6px;align-items:center;padding:8px;border-radius:16px;border:1px solid rgba(148,163,184,.22);background:rgba(8,14,24,.96);box-shadow:0 20px 50px rgba(0,0,0,.34);backdrop-filter:blur(14px)}
.chat-selection-popover[hidden]{display:none}
.chat-selection-popover button{min-width:34px;height:34px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#e5f1ff;font-weight:900;cursor:pointer}
.chat-selection-popover button:hover{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.14);color:#f8fff9}
.chat-bubble__meta{margin-top:10px;font-size:12px;color:var(--muted)}
.chat-message-actions{margin-top:10px}
.chat-message-actions .btn{font-weight:800}
.chat-message-delete-form{display:inline-flex}
.chat-message-deleted{display:inline-flex;align-items:center;font-style:italic;color:var(--muted)}
.chat-form__actions{display:flex;justify-content:flex-end}
.chat-form--sticky{position:sticky;bottom:calc(8px + var(--safe-bottom));z-index:5;background:rgba(8,14,24,.94);backdrop-filter:blur(10px);box-shadow:0 16px 30px rgba(0,0,0,.24)}
.chat-composer{display:flex;align-items:flex-end;gap:10px}
.chat-composer__input{flex:1 1 auto;min-height:52px;max-height:180px;resize:none;overflow:auto;border-radius:16px}
.chat-composer__send{height:52px;padding:0 16px;border-radius:14px;white-space:nowrap}
.chat-composer__send.is-disabled{opacity:.6;pointer-events:none}
.chat-form--messenger{position:sticky;bottom:calc(4px + var(--safe-bottom));z-index:10;padding:8px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(8,14,24,.97)}
.chat-form--messenger .comment-editor-tools{display:none}
.chat-form--messenger .chat-composer__attach-input{
  position:fixed!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.chat-form--messenger .comment-editor-tool{width:44px;min-width:44px;height:44px;padding:0;border-radius:999px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:18px;flex:0 0 auto}
.chat-form--messenger .chat-composer{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:end;gap:7px}
.chat-form--messenger .chat-composer__input{min-height:46px;max-height:118px;padding:12px 14px;border-radius:18px;order:2}
.chat-form--messenger .chat-composer__emoji{order:1}
.chat-form--messenger .chat-composer__attach{order:3}
.chat-form--messenger .chat-composer__voice{order:4}
.chat-form--messenger .chat-composer__video{order:5}
.chat-form--messenger .chat-composer__send{order:6;width:44px;min-width:44px;height:44px;padding:0;border-radius:999px;font-size:18px}
.chat-form--messenger .chat-composer__file-label{font-size:11px;line-height:1.2;color:var(--muted);padding:0 2px}
.chat-form--messenger .chat-composer__file-label--stack{display:none!important}
.chat-form--messenger .chat-composer__file-label--stack > span{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.chat-form--messenger .emoji-picker{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px)}
.chat-form--messenger .chat-composer__attach-sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  border:0;
  background:rgba(4,8,14,.58);
  opacity:0;
  transition:opacity .2s ease;
}
.chat-form--messenger .chat-composer__attach-sheet-backdrop.is-open{opacity:1}
.chat-form--messenger .chat-composer__attach-sheet-backdrop[hidden]{display:none!important}
.chat-form--messenger .chat-composer__attach-sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:91;
  display:grid;
  gap:10px;
  padding:10px 12px calc(12px + var(--safe-bottom));
  border-top-left-radius:20px;
  border-top-right-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  border-bottom:0;
  background:linear-gradient(180deg,rgba(8,16,29,.985),rgba(6,12,24,.99));
  box-shadow:0 -16px 44px rgba(0,0,0,.45);
  transform:translateY(104%);
  transition:transform .22s cubic-bezier(.22,.9,.26,1);
}
.chat-form--messenger .chat-composer__attach-sheet.is-open{transform:translateY(0)}
.chat-form--messenger .chat-composer__attach-sheet[hidden]{display:none!important}
.chat-form--messenger .chat-composer__attach-sheet-handle{
  width:42px;
  height:4px;
  border-radius:999px;
  margin-inline:auto;
  background:rgba(182,210,238,.55);
}
.chat-form--messenger .chat-composer__attach-sheet-title{margin:0;font-size:15px;font-weight:800;letter-spacing:.01em;color:#eaf6ff}
.chat-form--messenger .chat-composer__attach-sheet-gallery{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px}
.chat-form--messenger .chat-composer__attach-sheet-camera,
.chat-form--messenger .chat-composer__attach-sheet-gallery-main{
  appearance:none;
  border:1px solid rgba(120,198,255,.42);
  background:rgba(32,95,141,.2);
  color:#ecf8ff;
  border-radius:14px;
}
.chat-form--messenger .chat-composer__attach-sheet-camera{
  min-height:100%;
  padding:10px 8px;
  display:grid;
  place-items:center;
  gap:4px;
}
.chat-form--messenger .chat-composer__attach-sheet-camera-icon{font-size:20px;line-height:1}
.chat-form--messenger .chat-composer__attach-sheet-camera-text{font-size:11px;font-weight:700;color:#c7e6ff}
.chat-form--messenger .chat-composer__attach-sheet-gallery-main{padding:10px 12px;display:grid;gap:6px;text-align:left}
.chat-form--messenger .chat-composer__attach-sheet-gallery-title{font-size:14px;font-weight:800}
.chat-form--messenger .chat-composer__attach-sheet-gallery-meta{font-size:12px;color:#b7d7f3}
.chat-form--messenger .chat-composer__attach-sheet-gallery-preview{
  width:100%;
  min-height:78px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.2);
  margin-top:2px;
  background:rgba(255,255,255,.05) center/cover no-repeat;
  overflow:hidden;
}
.chat-form--messenger .chat-composer__attach-sheet-gallery-video{
  display:block;
  width:100%;
  height:96px;
  object-fit:cover;
  background:#020712;
}
.chat-form--messenger .chat-composer__attach-sheet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chat-form--messenger .chat-composer__attach-sheet-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#e7f4ff;
  border-radius:12px;
  padding:10px 8px;
  text-align:left;
  display:grid;
  gap:4px;
}
.chat-form--messenger .chat-composer__attach-sheet-btn strong{font-size:13px;font-weight:800}
.chat-form--messenger .chat-composer__attach-sheet-btn span{font-size:11px;line-height:1.2;color:#b7d3eb}
.chat-form--messenger .chat-composer__attach-sheet-btn--accent{border-color:rgba(78,219,145,.46);background:rgba(29,113,77,.24)}
.chat-form--messenger .chat-composer__attach-sheet-btn:disabled{opacity:.58;filter:saturate(.75)}
.chat-form--messenger .chat-composer__attach-sheet-location{
  display:grid;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:8px;
}
.chat-form--messenger .chat-composer__attach-sheet-location[hidden]{display:none!important}
.chat-form--messenger .chat-composer__attach-sheet-location-image{
  width:100%;
  min-height:130px;
  max-height:160px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
}
.chat-form--messenger .chat-composer__attach-sheet-location-meta{margin:0;font-size:12px;color:#c8e3fa}
.chat-form--messenger .chat-composer__attach-sheet-location-map{
  width:100%;
  min-height:170px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(10,22,37,.78);
}
.chat-form--messenger .chat-composer__attach-sheet-location-map[hidden]{display:none!important}
.chat-form--messenger .chat-composer__attach-sheet-location-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chat-card--pm .chat-form--sticky{position:sticky;bottom:calc(2px + var(--safe-bottom));padding:8px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(8,14,24,.96);overflow:visible}
.chat-card--pm .chat-composer__send{font-weight:800}
.chat-card--pm .chat-form--messenger .chat-composer{
  position:relative;
  display:block;
  width:100%;
}
.chat-card--pm .chat-form--messenger .chat-composer__input{
  width:100%;
  min-height:56px;
  max-height:132px;
  padding:14px 108px 14px 56px;
  border-radius:22px;
  line-height:1.3;
}
.chat-card--pm .chat-form--messenger .comment-editor-tool,
.chat-card--pm .chat-form--messenger .chat-composer__send{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
}
.chat-card--pm .chat-form--messenger .chat-composer__emoji{left:8px}
.chat-card--pm .chat-form--messenger .chat-composer__attach{right:56px}
.chat-card--pm .chat-form--messenger .chat-composer__voice,
.chat-card--pm .chat-form--messenger .chat-composer__video{display:none!important}
.chat-card--pm .chat-form--messenger .chat-composer__send{right:8px}
.chat-presence-list{display:grid;gap:10px;margin-top:12px}
.chat-presence-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.chat-presence-item__main{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit}
.chat-presence-item__main img{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.chat-presence-item__main strong{display:block;line-height:1.2}
.chat-presence-item__main small{display:block;color:var(--muted);line-height:1.2}
.chat-presence-item__state{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.chat-presence-item__state.is-online{background:#e7f8ec;color:#207744;border:1px solid #b9ebc7}
.chat-presence-item__state.is-offline{background:#f5f7fb;color:#5f6f87;border:1px solid #d7dfeb}
.chat-room-membership{margin-top:12px;display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.chat-room-membership__status{margin:0;color:var(--muted);line-height:1.5}
.chat-room-membership__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-room-membership__interval{display:grid;gap:6px;min-width:180px}
.chat-room-membership__interval span{font-size:12px;color:var(--muted)}
.chat-room-membership__interval select{width:auto;min-width:180px;max-width:100%}
.chat-participants-spoiler summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}
.chat-participants-spoiler summary::-webkit-details-marker{display:none}
.chat-participants-spoiler[open] summary{margin-bottom:10px}
.chat-readonly-note{padding:14px;color:var(--muted)}
.chat-reaction-row{margin-top:10px}

.contact-list{display:grid;gap:10px}
.contact-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.contact-row__left{display:flex;align-items:center;gap:12px}
.contact-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-weight:800;letter-spacing:.04em}
.contact-icon.is-phone{background:rgba(79,214,111,.14)}
.contact-icon.is-tg{background:rgba(51,199,255,.16)}
.contact-icon.is-vk{background:rgba(91,147,255,.16)}
.contact-icon.is-max{background:rgba(255,190,77,.14)}

.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.achievement-card{display:grid;gap:10px;align-content:start}
.achievement-card__head{display:flex;align-items:center;gap:12px}
.achievement-card__head img{width:64px;height:64px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.achievement-medal-image{cursor:zoom-in}
.achievement-card__fallback{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,190,77,.22),rgba(255,140,91,.16));font-size:30px}
.achievement-card p{margin:0;color:var(--muted);line-height:1.6}

.media-lightbox{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(2,6,12,.88);backdrop-filter:blur(2px)}
.media-lightbox.is-open{display:flex}
.media-lightbox__panel{position:relative;max-width:min(96vw,1200px);max-height:92vh;display:grid;gap:10px}
.media-lightbox__img{max-width:min(96vw,1200px);max-height:82vh;border-radius:16px;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 48px rgba(0,0,0,.42);background:#050b14}
.media-lightbox__caption{padding:8px 10px;border-radius:10px;background:rgba(7,14,24,.78);border:1px solid rgba(255,255,255,.12);color:#dce8f8;font-size:14px}
.media-lightbox__close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(8,16,26,.94);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:230}
.media-lightbox__close:hover{background:rgba(13,26,42,.98);border-color:rgba(255,255,255,.42)}


.photo-upload-sets{display:grid;gap:12px}
.progress-upload-card{padding:16px}
.progress-upload-card h3{margin:0 0 10px}
.progress-phase-list{display:grid;gap:18px}
.progress-phase-block{display:grid;gap:10px}
.progress-phase-block h3{margin:0}
.progress-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.progress-photo-card{display:grid;gap:10px;align-content:start}
.progress-photo-card img{width:100%;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1);cursor:zoom-in}
.strength-filter-form{align-items:end}
.strength-filter-block{display:grid;gap:8px}
.strength-filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.strength-filter-pill{border-radius:999px;padding:10px 14px}
.strength-filter-pill.is-active{background:rgba(51,199,255,.16);border-color:rgba(51,199,255,.38)}
.strength-side-stack{display:grid;gap:16px}
.strength-progress-card{padding:16px}
.strength-progress-spoiler{display:grid;gap:10px}
.strength-progress-spoiler summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);font-weight:800;letter-spacing:.01em}
.strength-progress-spoiler summary::-webkit-details-marker{display:none}
.strength-progress-spoiler[open] summary{margin-bottom:4px}
.strength-progress-spoiler summary small{font-size:12px;color:var(--muted);font-weight:700}
.profile-progress-spoiler{padding:16px;min-width:0;max-width:100%;overflow-x:hidden}
.profile-progress-spoiler summary{margin:-2px;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:start;min-width:0;max-width:100%}
.profile-progress-spoiler summary > span,
.profile-progress-spoiler summary > small{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.profile-progress-spoiler__body{display:grid;gap:6px;min-width:0}
.profile-progress-spoiler__links{margin-top:6px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;width:100%;max-width:100%;min-width:0}
.profile-progress-spoiler__links > *{min-width:0;max-width:100%}
.profile-progress-spoiler__links .btn{display:flex!important;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;padding:10px 12px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-align:center;line-height:1.25;border-radius:16px}
.profile-progress-spoiler__body > .section{padding:10px 0}
.profile-progress-spoiler__body > .section .section-head{margin-bottom:10px}
.strength-progress-list{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:2px}
.strength-progress-item{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.strength-progress-item__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.strength-progress-item__top strong{font-size:15px;line-height:1.35}
.strength-progress-item__meta{font-size:13px;line-height:1.5}
.strength-progress-scale{height:10px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.strength-progress-scale span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.strength-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.strength-progress-empty{padding:12px;border-radius:12px;border:1px dashed rgba(255,255,255,.18);background:rgba(255,255,255,.02);color:var(--muted);line-height:1.5}
.body-health-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;align-items:start}
.body-health-gauge-card{display:grid;gap:12px;align-content:start}
.body-health-gauge{--gauge-value:0;--gauge-color:#42d884;width:176px;aspect-ratio:1;border-radius:50%;margin:0 auto;position:relative;background:conic-gradient(var(--gauge-color) calc(var(--gauge-value) * 1%),rgba(255,255,255,.12) 0)}
.body-health-gauge::before{content:"";position:absolute;inset:12px;border-radius:50%;background:linear-gradient(180deg,rgba(7,14,24,.96),rgba(10,18,30,.98));border:1px solid rgba(255,255,255,.08)}
.body-health-gauge__inner{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center;padding:18px}
.body-health-gauge__inner strong{display:block;font-size:36px;line-height:1;letter-spacing:-.04em}
.body-health-gauge__inner span{display:block;margin-top:6px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.body-health-gauge__meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.body-health-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.body-health-metric{display:grid;gap:8px;padding:16px}
.body-health-metric__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.body-health-metric__top strong{line-height:1.35}
.body-health-metric__value{font-size:28px;line-height:1;letter-spacing:-.04em}
.body-health-metric__value small{font-size:13px;color:var(--muted);margin-left:4px}
.body-health-compare{margin-top:14px;display:grid;gap:10px}
.body-health-compare h3{margin:0;font-size:24px;letter-spacing:-.04em}
.body-health-compare-spoiler{padding:0;overflow:hidden}
.body-health-compare-spoiler > summary{list-style:none;cursor:pointer;display:grid;gap:4px;padding:14px 16px;border-bottom:1px solid transparent;background:rgba(255,255,255,.03)}
.body-health-compare-spoiler > summary::-webkit-details-marker{display:none}
.body-health-compare-spoiler > summary span{font-size:22px;letter-spacing:-.04em;font-weight:800}
.body-health-compare-spoiler > summary small{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.body-health-compare-spoiler[open] > summary{border-bottom-color:rgba(255,255,255,.08);background:rgba(51,199,255,.08)}
.body-health-compare__content{padding:12px 16px 16px;display:grid;gap:10px}
.body-health-table .diff{white-space:nowrap}

.media-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(8,16,26,.92);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.media-lightbox__nav--prev{left:-16px}
.media-lightbox__nav--next{right:-16px}
.media-lightbox__nav:hover{background:rgba(13,26,42,.96);border-color:rgba(255,255,255,.35)}

@media (max-width:980px){
  .progress-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .body-health-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
  .profile-progress-spoiler__links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:760px){
  #progress-block{min-width:0;max-width:100%;overflow-x:hidden}
  #profileProgressLinks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .progress-phase-list{gap:12px}
  .progress-photo-grid{grid-template-columns:1fr}
  .progress-upload-card{padding:12px}
  .body-health-summary{grid-template-columns:1fr}
  .body-health-gauge{width:158px}
  .body-health-metric__value{font-size:24px}
  .strength-progress-item__top{flex-direction:column;align-items:flex-start}
  .strength-progress-foot{flex-direction:column;align-items:flex-start}
  .profile-progress-spoiler__links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .media-lightbox__nav{width:38px;height:38px;font-size:20px}
  .media-lightbox__nav--prev{left:-8px}
  .media-lightbox__nav--next{right:-8px}
  .media-lightbox__close{top:calc(env(safe-area-inset-top,0px) + 8px);right:8px;width:38px;height:38px;font-size:18px}
}

@media (max-width:420px){
  .profile-progress-spoiler__links,
  #profileProgressLinks{display:grid!important;grid-template-columns:1fr!important}
}

.locked-profile{display:grid;gap:18px;padding:28px}
.locked-profile__actions{display:flex;gap:12px;flex-wrap:wrap}
.closed-note{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,190,77,.14);border:1px solid rgba(255,190,77,.22);color:#ffd48d}

.reaction-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reaction-form{display:inline-flex}
.reaction-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.reaction-chip.is-like:hover{border-color:rgba(79,214,111,.3);background:rgba(79,214,111,.08)}
.reaction-chip.is-dislike:hover{border-color:rgba(255,107,107,.3);background:rgba(255,107,107,.08)}
.reaction-chip.is-like.is-active{border-color:rgba(79,214,111,.45);background:rgba(79,214,111,.16)}
.reaction-chip.is-dislike.is-active{border-color:rgba(255,107,107,.45);background:rgba(255,107,107,.16)}

.chat-message-reactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.chat-message-reaction-item{display:inline-grid;gap:3px;align-items:start}
.chat-message-reaction-form{display:inline-flex}
.chat-message-reaction-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#f4f8ff;font-size:13px;line-height:1.1}
.chat-message-reaction-chip span{display:inline-flex;align-items:center;font-size:12px;color:#c8d9ef}
.chat-message-reaction-chip.is-active{border-color:rgba(79,214,111,.42);background:rgba(79,214,111,.15)}
.chat-message-reaction-actors{
  font-size:11px;
  color:#9ac3e6;
  line-height:1.2;
  max-width:230px;
  overflow-wrap:anywhere;
}
.chat-bubble[data-chat-reactable="1"]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.chat-message-action-source{display:none!important}
.chat-reaction-picker-backdrop{position:fixed;inset:0;z-index:1120;background:transparent}
.chat-reaction-picker{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 76px);transform:translateX(-50%);z-index:1121;display:grid;gap:6px;padding:8px;max-width:calc(100vw - 16px);width:min(352px,calc(100vw - 16px));border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(7,14,25,.96);box-shadow:0 16px 30px rgba(0,0,0,.35)}
.chat-reaction-picker__emojis{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:1px}
.chat-reaction-picker__item{width:34px;height:34px;flex:0 0 34px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center}
.chat-reaction-picker__item:hover{background:rgba(51,199,255,.15);border-color:rgba(51,199,255,.4)}
.chat-reaction-picker__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.chat-reaction-picker__action{height:34px;padding:0 9px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#f3f8ff;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-reaction-picker__action:hover{background:rgba(51,199,255,.14);border-color:rgba(51,199,255,.4)}
.chat-reaction-picker__action.is-danger:hover{background:rgba(255,107,107,.14);border-color:rgba(255,107,107,.45)}
.chat-reaction-picker__action[hidden]{display:none!important}
.chat-stream .chat-reaction-picker{bottom:calc(var(--safe-bottom) + 84px)}
.chat-reaction-picker[hidden],
.chat-reaction-picker-backdrop[hidden]{display:none!important}
@media (min-width:1101px){
  .chat-stream .chat-reaction-picker{bottom:124px}
}
.chat-common-head--room .chat-common-head__room-title{display:none!important}
.chat-common-head--room > div > h2:not(.chat-common-head__room-title){display:none!important}

.theme-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.theme-swatch{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:grid;gap:10px}
.theme-swatch span{display:block;height:18px;border-radius:999px}
.theme-swatch strong{font-size:13px}

.schedule-signup-meta{display:grid;gap:4px}
.remaining-good{color:#8fffb0}
.remaining-bad{color:#ff9da0}

.result-admin-grid{display:grid;gap:16px}
.result-admin-card{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.result-admin-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.people-card__actions{display:flex;gap:10px;flex-wrap:wrap}
.people-card__closed{color:#ffd48d}

.admin-user-edit .table-wrap{overflow-x:auto}
.admin-user-edit table{min-width:920px}
.admin-user-edit th,.admin-user-edit td{vertical-align:top}
.admin-user-edit td input,.admin-user-edit td select,.admin-user-edit td textarea{min-width:92px}
.admin-user-edit .btn.btn-small{white-space:nowrap}
.admin-user-edit__quick-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.admin-strength-last-hint{font-size:12px;color:var(--muted);margin-top:-6px}
.admin-strength-base-pill{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:999px;background:rgba(255,190,77,.14);border:1px solid rgba(255,190,77,.34);color:#ffd58c;font-size:11px;font-weight:800;letter-spacing:.06em}
.admin-strength-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.admin-strength-week-card{display:grid;gap:6px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.admin-strength-week-card strong{font-size:14px;letter-spacing:.03em}
.admin-strength-week-card small{color:var(--muted);font-size:12px}
.admin-strength-week-tags{display:flex;flex-wrap:wrap;gap:6px}
.admin-strength-week-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;background:rgba(51,199,255,.12);border:1px solid rgba(51,199,255,.28)}
.admin-strength-focus-row{display:flex;flex-wrap:wrap;gap:8px}
.admin-strength-focus-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--text);font-weight:700;font-size:12px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}
.admin-strength-focus-chip:hover{background:rgba(255,255,255,.08)}
.admin-strength-focus-chip:active{transform:translateY(1px)}
.admin-strength-focus-chip.is-active{border-color:rgba(51,199,255,.48);background:rgba(51,199,255,.2)}
.admin-strength-focus-chip[data-filter-tone="chest_base"]{border-color:rgba(255,190,77,.42);background:rgba(255,190,77,.14)}
.admin-strength-focus-chip[data-filter-tone="chest_upper"]{border-color:rgba(127,199,255,.4);background:rgba(127,199,255,.12)}
.admin-strength-focus-chip[data-filter-tone="chest_lower"]{border-color:rgba(214,130,255,.38);background:rgba(214,130,255,.14)}
.admin-strength-focus-chip[data-filter-tone="legs"]{border-color:rgba(120,227,139,.42);background:rgba(120,227,139,.14)}
.admin-strength-focus-chip[data-filter-tone="back"]{border-color:rgba(255,149,113,.42);background:rgba(255,149,113,.14)}
.admin-strength-focus-chip[data-filter-tone="arms_shoulders"]{border-color:rgba(255,114,180,.42);background:rgba(255,114,180,.14)}
.admin-strength-focus-chip[data-filter-tone="base"]{border-color:rgba(255,217,111,.46);background:rgba(255,217,111,.18)}
.admin-strength-focus-chip.is-active[data-filter-tone]{box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}
.admin-strength-category-help{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}

@media (max-width:760px){
  .side-drawer .drawer-group[open] .drawer-subnav{max-height:2000px;overflow:visible}
  .chat-bubble{max-width:100%}
  .chat-bubble-row.is-reply{padding-left:calc(var(--thread-depth,0) * 12px)}
  .chat-bubble-row.is-mine.is-reply{padding-right:calc(var(--thread-depth,0) * 12px)}
  .chat-message-author{width:62px;min-width:62px}
  .chat-message-avatar{width:40px;height:40px;border-radius:12px}
  .chat-message-role{font-size:10px}
  .chat-composer{gap:8px}
  .chat-composer__send{height:46px;padding:0 12px}
  .chat-composer__input{min-height:46px}
  .chat-form--sticky{bottom:calc(4px + var(--safe-bottom))}
  .chat-form--messenger{left:4px;right:4px;bottom:calc(2px + var(--safe-bottom));padding:6px}
  .chat-form--messenger .comment-editor-tool{width:40px;min-width:40px;height:40px;font-size:16px}
  .chat-form--messenger .chat-composer{gap:6px;grid-template-columns:auto minmax(0,1fr) auto auto auto auto}
  .chat-form--messenger .chat-composer__send{width:40px;min-width:40px;height:40px}
  .chat-form--messenger .chat-composer__input{min-height:44px;max-height:96px;padding:11px 12px}
  .chat-form--messenger .chat-composer__file-label{font-size:10px}
  .chat-form--messenger .chat-composer__file-label--stack{gap:4px}
  .chat-card--pm{min-height:calc(100dvh - 116px)}
  .chat-card--pm .section-head{gap:8px}
  .chat-card--pm .section-head .btn{padding:8px 10px;font-size:12px}
  .chat-peer-actions{width:100%;justify-content:flex-start}
  .chat-peer-call-btn{width:40px;min-width:40px;height:40px}
  .chat-thread-incoming-call{flex-wrap:wrap}
  .chat-thread-incoming-call__actions{width:100%;justify-content:flex-start}
  .global-incoming-call{flex-wrap:wrap}
  .global-incoming-call__actions{width:100%;justify-content:flex-start}
  .chat-peer-head{gap:10px}
  .chat-peer-head .chat-thread-item__avatar{width:42px;height:42px;border-radius:12px}
  .chat-peer-head h2{font-size:18px}
  .chat-peer-head__username,.chat-peer-head__presence{font-size:12px}
  .chat-card--call .chat-call-stage__embed{min-height:calc(100dvh - 320px)}
  .chat-call-native__stage{min-height:calc(100dvh - 332px)}
  .chat-call-native__local-video{width:min(42vw,160px);right:8px;bottom:8px;border-radius:12px}
  .chat-call-native__audio-placeholder img{width:84px;height:84px;border-radius:20px}
  .chat-call-native__audio-placeholder strong{font-size:18px}
  .chat-call-native__controls .btn{min-width:104px}
  .chat-card--pm .chat-box{height:calc(100dvh - 248px)}
  .chat-card--pm .chat-bubble{max-width:92%}
  .chat-card--pm .chat-composer__input{min-height:44px;max-height:96px}
  .chat-card--pm .chat-composer__send{min-width:40px}
  .chat-role-badge{font-size:11px}
  .chat-thread-item{flex-direction:column;align-items:flex-start;gap:8px}
  .chat-thread-item__meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .chat-thread-item__meta small{min-width:0;overflow-wrap:anywhere;word-break:break-word;text-align:right}
  .chat-presence-item{align-items:flex-start;flex-direction:column}
  .chat-room-membership__controls{flex-direction:column;align-items:flex-start}
  .chat-room-membership__interval{width:100%;min-width:0}
  .chat-room-membership__interval select{width:100%;min-width:0}
  .contact-row{align-items:flex-start;flex-direction:column}
  .theme-preview{grid-template-columns:1fr 1fr}
  .achievement-grid{grid-template-columns:1fr}
  .admin-user-edit .admin-card{padding:14px}
  .admin-user-edit .admin-user-edit__two-col{grid-template-columns:1fr!important}
  .admin-user-edit table{min-width:680px}
  .admin-user-edit .three-grid{grid-template-columns:1fr}
  .admin-user-edit__quick-nav .btn{flex:1 1 calc(50% - 8px);justify-content:center}
  .admin-strength-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.user-chip--trigger{position:relative}
.user-chip--trigger.has-alert::after{content:"";position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:999px;background:var(--danger);border:2px solid rgba(6,14,24,.95);z-index:2}
.user-chip-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;z-index:3}

.profile-drawer{position:fixed;top:0;bottom:0;right:0;width:min(88vw,360px);padding-top:var(--safe-top);background:var(--drawer-bg);border-left:1px solid rgba(255,255,255,.08);transform:translateX(104%);transition:.22s ease;z-index:1710;display:flex;flex-direction:column}
.drawer-user{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,.06)}
.drawer-user img{width:46px;height:46px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.12)}
.drawer-user strong{display:block}
.drawer-user small{color:var(--muted)}
.drawer-user small+small{display:block;margin-top:2px}
.drawer-trainer{display:grid;gap:9px;margin:0 16px;padding:13px;border:1px solid rgba(43,221,130,.24);border-radius:16px;background:linear-gradient(140deg,rgba(30,121,75,.13),rgba(10,28,25,.32))}
.drawer-trainer>small{color:#52e698;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.drawer-trainer__person{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.drawer-trainer__person img{width:42px;height:42px;border-radius:13px;object-fit:cover;border:1px solid rgba(82,230,152,.28)}
.drawer-trainer__person span{display:grid;gap:2px;min-width:0}
.drawer-trainer__person em{font-style:normal;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-trainer__status{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.22);color:#ffe6a3;font-size:12px;font-weight:700}
.drawer-trainer__actions{display:flex;gap:7px}
.drawer-trainer__actions a{flex:1;padding:8px 11px;border:1px solid rgba(82,230,152,.2);border-radius:11px;color:var(--text);text-align:center;background:rgba(82,230,152,.06)}
.drawer-trainer__actions a:hover{border-color:rgba(82,230,152,.42);background:rgba(82,230,152,.12)}
.drawer-nav a{display:flex;align-items:center;justify-content:flex-start}
.drawer-nav a .count-badge{margin-left:auto}
.drawer-nav .drawer-trainer-link{gap:12px;border-color:rgba(82,230,152,.32);background:linear-gradient(140deg,rgba(30,121,75,.16),rgba(10,28,25,.36))}
.drawer-nav .drawer-trainer-link:hover{border-color:rgba(82,230,152,.52);background:linear-gradient(140deg,rgba(30,121,75,.27),rgba(10,28,25,.46))}
.drawer-trainer-link img{width:42px;height:42px;border-radius:13px;object-fit:cover;border:1px solid rgba(82,230,152,.34);flex:0 0 auto}
.drawer-trainer-link span{display:grid;gap:3px;min-width:0}
.drawer-trainer-link strong{font-size:14px;color:#e9fff2}
.drawer-trainer-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}
.drawer-nav .drawer-trainer-spoiler{display:block;min-height:auto;border:1px solid rgba(82,230,152,.32);border-radius:18px;background:linear-gradient(140deg,rgba(30,121,75,.13),rgba(10,28,25,.34));overflow:hidden}
.drawer-nav .drawer-trainer-spoiler__toggle,.drawer-nav .drawer-trainer-spoiler>summary.drawer-trainer-link{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:13px 14px;border:0;border-radius:0;background:transparent;color:var(--text);cursor:pointer;list-style:none;box-sizing:border-box;text-align:left;font:inherit}
.drawer-nav .drawer-trainer-spoiler__toggle::-webkit-details-marker,.drawer-nav .drawer-trainer-spoiler>summary.drawer-trainer-link::-webkit-details-marker{display:none}
.drawer-nav .drawer-trainer-spoiler__toggle:after,.drawer-nav .drawer-trainer-spoiler>summary.drawer-trainer-link:after{content:"";width:10px;height:10px;margin-left:auto;flex:0 0 auto;border-right:2px solid rgba(157,247,194,.9);border-bottom:2px solid rgba(157,247,194,.9);transform:rotate(45deg);transition:transform .18s ease}
.drawer-nav .drawer-trainer-spoiler.is-open .drawer-trainer-spoiler__toggle:after,.drawer-nav .drawer-trainer-spoiler[open]>summary.drawer-trainer-link:after{transform:rotate(225deg)}
.drawer-trainer-spoiler__actions{display:grid;grid-template-columns:1fr;gap:8px;max-height:0;padding:0 12px;overflow:hidden;opacity:0;transform:translateY(-6px);transition:max-height .34s cubic-bezier(.22,.9,.26,1),opacity .24s ease,transform .24s ease,padding .34s cubic-bezier(.22,.9,.26,1)}
.drawer-nav .drawer-trainer-spoiler.is-open .drawer-trainer-spoiler__actions,.drawer-nav .drawer-trainer-spoiler[open] .drawer-trainer-spoiler__actions{max-height:260px;padding:0 12px 12px;opacity:1;transform:translateY(0)}
.drawer-trainer-spoiler__actions a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:9px 10px;border:1px solid rgba(82,230,152,.24);border-radius:13px;background:rgba(82,230,152,.07);color:#eefcf4;text-decoration:none;font-weight:800;text-align:center}
.drawer-trainer-spoiler__actions a:hover{border-color:rgba(82,230,152,.54);background:rgba(82,230,152,.14)}
@media (max-width:560px){
  .drawer-nav .drawer-trainer-spoiler__toggle,.drawer-nav .drawer-trainer-spoiler>summary.drawer-trainer-link{min-height:76px;padding:14px}
  .drawer-trainer-spoiler__actions{grid-template-columns:1fr;padding:0 14px}
  .drawer-nav .drawer-trainer-spoiler.is-open .drawer-trainer-spoiler__actions,.drawer-nav .drawer-trainer-spoiler[open] .drawer-trainer-spoiler__actions{padding:0 14px 14px}
  .drawer-trainer-spoiler__actions a{min-height:44px}
}
.drawer-call-alert{display:grid;gap:5px;padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(10,24,38,.9);margin-bottom:8px}
.drawer-call-alert[hidden]{display:none!important}
.drawer-call-alert small{font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.drawer-call-alert strong{font-size:14px;line-height:1.2}
.drawer-call-alert span{font-size:12px;color:var(--muted)}
.drawer-call-alert__actions{display:flex;gap:7px;flex-wrap:wrap}
.drawer-call-alert__actions .btn{padding:7px 10px;border-radius:10px}

body.drawer-open,body.profile-drawer-open,body.admin-nav-open{overflow:hidden}
body.drawer-open .drawer-overlay,body.profile-drawer-open .drawer-overlay{display:block;opacity:1;visibility:visible;pointer-events:auto}
body.drawer-open .side-drawer{transform:translateX(0)}
body.profile-drawer-open .profile-drawer{transform:translateX(0)}

.friends-page{display:grid;gap:18px}
.friends-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(44,93,40,.22),rgba(9,20,36,.9))}
.friends-hero h1{margin:4px 0 8px;font-size:clamp(32px,4vw,54px);letter-spacing:-.04em}
.friends-stats{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;min-width:min(100%,520px)}
.friends-stats span{border:1px solid rgba(143,255,98,.22);border-radius:18px;padding:14px;background:rgba(255,255,255,.045);display:grid;gap:2px}
.friends-stats strong{font-size:28px;line-height:1;color:#9cff55}
.friends-stats small{color:var(--muted)}
.friends-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.friends-tabs{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 100%}
.friends-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text);background:rgba(255,255,255,.04);font-weight:800}
.friends-tabs a.is-active{background:linear-gradient(135deg,rgba(55,137,36,.9),rgba(22,90,42,.82));border-color:rgba(143,255,98,.45);box-shadow:0 12px 28px rgba(50,160,40,.18)}
.friends-filters label{display:grid;gap:6px;min-width:130px;color:var(--muted);font-size:13px}
.friends-filters select,.friends-filters input{border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.22);color:var(--text);padding:11px 12px}
.friends-list{display:grid;gap:12px}
.friend-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}
.friend-card__avatar{position:relative;display:inline-flex;width:72px;height:72px;text-decoration:none}
.friend-card__avatar img{width:72px;height:72px;border-radius:22px;object-fit:cover;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06)}
.friend-card__status{position:absolute;right:2px;bottom:2px;width:15px;height:15px;border-radius:999px;background:#64748b;border:3px solid #0b1625}
.friend-card__status.is-online{background:#49df62;box-shadow:0 0 0 4px rgba(73,223,98,.14)}
.friend-card__body{display:grid;gap:10px;min-width:0}
.friend-card__head{display:flex;align-items:start;justify-content:space-between;gap:10px}
.friend-card h2{margin:0;font-size:20px}
.friend-card p{margin:3px 0 0;color:var(--muted)}
.friend-card__relation{padding:7px 10px;border-radius:999px;border:1px solid rgba(143,255,98,.25);background:rgba(48,126,32,.16);color:#b8ff8f;font-size:12px;font-weight:900;white-space:nowrap}
.friend-card__meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.friend-card__meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}
.friend-card__actions{display:flex;gap:8px;flex-wrap:wrap}
.friend-card__actions form{margin:0;display:inline-flex}
.friends-empty{display:grid;gap:10px;justify-items:start}

@media (max-width:760px){
  .friends-hero{display:grid}
  .friends-stats{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .friends-filters{display:grid}
  .friends-filters label{min-width:0}
  .friend-card{grid-template-columns:1fr}
  .friend-card__avatar{width:86px;height:86px}
  .friend-card__avatar img{width:86px;height:86px;border-radius:26px}
  .friend-card__head{display:grid}
  .friend-card__actions .btn,.friend-card__actions button{width:100%;justify-content:center}
  .friend-card__actions form{width:100%}
}

@media (max-width:760px){
  .topbar-actions .user-chip--trigger span{display:none}
  .theme-toggle__text{display:none}
}

.schedule-guest-form{display:grid;gap:8px;min-width:220px}
.schedule-guest-form input{padding:10px 12px;border-radius:12px}
.schedule-bot-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.schedule-bot-check input{width:92px}

html[data-app-shell="android-webview"]{
  --safe-top:0px;
  --safe-bottom:0px;
}

.comment-editor-form{display:grid;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.comment-editor-form.chat-form:not(.chat-form--sticky){position:sticky;bottom:calc(8px + var(--safe-bottom));z-index:5;background:rgba(8,14,24,.94);backdrop-filter:blur(10px);box-shadow:0 16px 30px rgba(0,0,0,.24);padding:12px}
.comment-editor-form.chat-form:not(.chat-form--sticky) .comment-editor-title,
.comment-editor-form.chat-form:not(.chat-form--sticky) .comment-editor-tools,
.comment-editor-form.chat-form:not(.chat-form--sticky) .emoji-picker{display:none}
.comment-editor-form.chat-form:not(.chat-form--sticky) label.full{margin:0}
.comment-editor-form.chat-form:not(.chat-form--sticky) .js-comment-editor{min-height:52px;max-height:180px;resize:none;padding-right:132px}
.comment-editor-form.chat-form:not(.chat-form--sticky) .chat-form__actions{position:absolute;right:16px;bottom:16px;margin:0}
.comment-editor-form.chat-form:not(.chat-form--sticky) .chat-form__actions .btn{height:44px;padding:0 14px;border-radius:14px}
.comment-editor-title{font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:13px;color:#dceaff}
.comment-editor-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.comment-editor-tool{min-width:36px;height:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.comment-editor-tool:hover{background:rgba(51,199,255,.14);border-color:rgba(51,199,255,.32)}
.comment-editor-tool.is-active{background:rgba(51,199,255,.2);border-color:rgba(51,199,255,.42)}
.emoji-picker{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(6,14,24,.86);max-height:220px;overflow:auto}
.emoji-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:6px}
.emoji-picker__item{height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);font-size:20px;line-height:1;cursor:pointer}
.emoji-picker__item:hover{background:rgba(51,199,255,.16);border-color:rgba(51,199,255,.34)}
.comment-editor-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.comment-attach{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}
.comment-attach input[type=file]{padding:0;background:transparent;border:0}
.comment-reply-target{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:rgba(51,199,255,.10);border:1px solid rgba(51,199,255,.26)}
.comment-reply-target[hidden]{display:none!important}
.comment-reply-target [data-comment-reply-text]{flex:1;min-width:0}
.comment-reply-target [data-comment-reply-link]{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(51,199,255,.32);background:rgba(7,20,34,.55);color:#9ed9ff;font-size:12px;text-decoration:none;white-space:nowrap}
.comment-reply-target [data-comment-reply-link]:hover{background:rgba(24,66,104,.55);border-color:rgba(51,199,255,.52)}
.comment-reply-target__cancel{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#dbe9ff;font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto}
.comment-reply-target__cancel:hover{background:rgba(255,255,255,.1);border-color:rgba(51,199,255,.45)}

.comment-thread-list{display:grid;gap:12px;margin-top:14px}
.comment-card{display:grid;gap:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.comment-card.is-child{margin-left:22px;background:rgba(255,255,255,.02)}
.comment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.comment-author{display:flex;align-items:center;gap:10px}
.comment-author img{width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}
.comment-body{line-height:1.7;word-break:break-word}
.comment-actions{display:flex;gap:8px;flex-wrap:wrap}
.comment-children{display:grid;gap:10px}
.comment-image{width:100%;max-width:320px;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1);cursor:zoom-in;transition:transform .18s ease}
.comment-image:hover{transform:scale(1.02)}
.comment-media{margin:10px 0}
.comment-audio{width:min(100%,360px);height:40px}
/* Telegram-style waveform audio player */
.pm-audio-player{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:20px;background:rgba(58,130,220,.08);max-width:320px;width:100%}
.pm-audio-play{width:40px;height:40px;min-width:40px;border-radius:999px;border:none;cursor:pointer;background:#3390ec;color:#fff;display:grid;place-items:center;transition:background .15s;padding:0}
.pm-audio-play:hover{background:#2b7ed6}
.pm-audio-play:active{transform:scale(.95)}
.pm-audio-play svg{width:18px;height:18px;fill:currentColor}
.pm-audio-wave-wrap{flex:1;min-width:80px;display:flex;flex-direction:column;gap:4px}
.pm-audio-wave{display:flex;align-items:flex-end;gap:2px;height:30px;cursor:pointer;position:relative}
.pm-audio-wave-bar{display:block;width:3px;min-width:3px;min-height:4px;border-radius:2px;background:#7ba3c4;transition:background .15s,height .08s ease}
.pm-audio-wave-bar.is-active{background:#3390ec}
.pm-audio-time{font-size:12px;color:#6b8299;font-variant-numeric:tabular-nums;white-space:nowrap}
[data-theme="dark"] .pm-audio-player{background:rgba(60,120,200,.12)}
[data-theme="dark"] .pm-audio-wave-bar{background:rgba(160,195,230,.55)}
[data-theme="dark"] .pm-audio-wave-bar.is-active{background:#5eb5f7}
[data-theme="dark"] .pm-audio-play{background:#5eb5f7}
[data-theme="dark"] .pm-audio-time{color:#8fadc8}
.comment-video{width:min(100%,360px);max-height:320px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#050b14}
.comment-media--video-note{
  width:164px;
  height:164px;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border:1px solid rgba(255,255,255,.18);
  background:#050b14;
}
.comment-video--note{
  width:100%;
  height:100%;
  max-height:none;
  border:0;
  border-radius:999px;
  object-fit:cover;
  background:#050b14;
  cursor:pointer;
}
.comment-video-note-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(5,11,20,.64);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:opacity .2s ease,transform .2s ease,background .2s ease,border-color .2s ease;
}
.comment-video-note-play::before{
  content:"";
  width:0;
  height:0;
  margin-left:3px;
  border-style:solid;
  border-width:9px 0 9px 14px;
  border-color:transparent transparent transparent currentColor;
}
.comment-video-note-play:hover{
  background:rgba(31,76,130,.72);
  border-color:rgba(119,207,255,.52);
}
.comment-media--video-note.is-playing .comment-video-note-play{
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.92);
}
.comment-media--file{margin:10px 0}
.comment-file-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(21,36,58,.72);
  color:#d7ebff;
  text-decoration:none;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.comment-file-link:hover{
  border-color:rgba(77,213,255,.4);
  background:rgba(30,56,88,.84);
}
.comment-media--geo{display:grid;gap:8px;max-width:min(100%,360px)}
.comment-geo-thumb{display:inline-flex;max-width:100%}
.comment-geo-image{max-width:100%!important;width:100%!important}
.comment-geo-details{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.comment-geo-details > summary{
  list-style:none;
  cursor:pointer;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#d9ebff;
}
.comment-geo-details > summary::-webkit-details-marker{display:none}
.comment-geo-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:0 10px 10px;
}
.comment-geo-link{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(21,36,58,.72);
  color:#d7ebff;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}
.comment-geo-link:hover{
  border-color:rgba(77,213,255,.4);
  background:rgba(30,56,88,.84);
}
.comment-geo-link.is-muted{
  opacity:.75;
  cursor:default;
}
/* Geo map preview (new) */
.comment-geo-map-link{display:block;border-radius:12px;overflow:hidden}
.comment-geo-map{
  width:100%;
  aspect-ratio:650/320;
  object-fit:cover;
  display:block;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,rgba(20,43,58,.95),rgba(8,19,31,.98));
}
.comment-geo-actions{display:flex;gap:6px;flex-wrap:wrap}
.comment-geo-btn{
  font-size:12px;padding:4px 10px;border-radius:10px;
  background:rgba(58,130,220,.12);color:#3390ec;
  text-decoration:none;border:1px solid rgba(58,130,220,.2);
  transition:background .15s;
}
.comment-geo-btn:hover{background:rgba(58,130,220,.22)}
.comment-geo-label{font-size:11px;color:var(--muted,#8aa)}
/* Contact card */
.comment-media--contact{max-width:280px;margin:6px 0}
.comment-contact-card{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:14px;
  background:rgba(58,130,220,.1);
  border:1px solid rgba(58,130,220,.2);
}
.comment-contact-icon{
  width:40px;height:40px;min-width:40px;
  border-radius:50%;background:rgba(58,130,220,.15);
  display:grid;place-items:center;font-size:20px;
}
.comment-contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.comment-contact-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-contact-phone{font-size:12px;color:var(--muted,#8aa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-contact-call{
  width:36px;height:36px;min-width:36px;border-radius:50%;
  background:#4caf50;color:#fff;display:grid;place-items:center;
  font-size:18px;text-decoration:none;transition:background .15s;
}
.comment-contact-call:hover{background:#43a047}
.comment-geo-coords{
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
}
.comment-code{margin:10px 0;padding:10px 12px;border-radius:10px;background:#0b1220;border:1px solid rgba(255,255,255,.12);overflow:auto}
.comment-spoiler{margin:10px 0;border:1px dashed rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.03);overflow:hidden}
.comment-spoiler > summary{list-style:none;cursor:pointer;padding:9px 12px;color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.comment-spoiler > summary::-webkit-details-marker{display:none}
.comment-spoiler__body{padding:10px 12px;border-top:1px solid rgba(255,255,255,.08)}
.comment-edit-form{margin-top:10px}

@media (max-width:760px){
  .comment-card.is-child{margin-left:10px}
  .comment-card-head{flex-direction:column;align-items:flex-start}
  .comment-editor-meta{align-items:flex-start;flex-direction:column}
  .comment-editor-form.chat-form:not(.chat-form--sticky){bottom:calc(4px + var(--safe-bottom));padding:10px}
  .comment-editor-form.chat-form:not(.chat-form--sticky) .js-comment-editor{min-height:46px;padding-right:120px}
  .comment-editor-form.chat-form:not(.chat-form--sticky) .chat-form__actions{right:12px;bottom:12px}
  .comment-editor-form.chat-form:not(.chat-form--sticky) .chat-form__actions .btn{height:40px}
  .emoji-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .schedule-guest-form{min-width:0}
  html,body{overflow-x:hidden}
  .progress-grid{display:flex;flex-direction:column;gap:12px}
  .progress-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .progress-grid > *{width:100%!important;min-width:0}
  .progress-grid .table-wrap{overflow-x:auto}
  .progress-grid form,.progress-grid .card,.progress-grid .table-wrap,.progress-grid section{min-width:0;max-width:100%}
  .progress-grid input,.progress-grid select,.progress-grid textarea,.progress-grid button{max-width:100%}
  .progress-table thead{display:none}
  .progress-table,
  .progress-table tbody,
  .progress-table tr,
  .progress-table td{display:block;width:100%}
  .progress-table tr{margin:0 0 12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
  .progress-table tr:last-child{margin-bottom:0}
  .progress-table td{border-bottom:0;padding:8px 0;white-space:normal}
  .progress-table td{word-break:break-word}
  .progress-table td::before{content:attr(data-label);display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  .table-wrap--horizontal{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .progress-table.strength-table{min-width:560px}
  .progress-table.strength-table thead{display:table-header-group}
  .progress-table.strength-table{display:table;width:100%}
  .progress-table.strength-table tbody{display:table-row-group}
  .progress-table.strength-table tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;background:transparent}
  .progress-table.strength-table th,.progress-table.strength-table td{display:table-cell;width:auto;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;vertical-align:top}
  .progress-table.strength-table td{word-break:normal}
  .progress-table.strength-table td::before{display:none;content:none}
  .progress-table.strength-table .strength-col-exercise{min-width:180px;white-space:normal}
  .schedule-table-wrap{overflow-x:hidden!important;overflow-y:visible;max-width:100%}
  .schedule-table{min-width:0;display:block;width:100%;table-layout:auto;background:transparent}
  .schedule-table thead{display:none}
  .schedule-table tbody,
  .schedule-table tr,
  .schedule-table td{display:block;width:100%}
  .schedule-table tr{
    margin:0 0 12px;
    padding:12px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    min-width:0;
    max-width:100%;
  }
  .schedule-table tr:last-child{margin-bottom:0}
  .schedule-table th,
  .schedule-table td{
    padding:7px 0;
    border-bottom:0;
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    vertical-align:top;
    font-size:13px;
    line-height:1.35;
    min-width:0;
    max-width:100%;
  }
  .schedule-table td::before{
    content:attr(data-label);
    display:block;
    font-size:11px;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:4px;
  }
  .schedule-table td .badge-inline{margin-top:6px}
  .schedule-guest-form{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:12px}
  .schedule-bot-check{flex-wrap:wrap}
  .schedule-guest-form .btn{width:100%}
}
@media (max-width:760px){
  .hero-mobile-portrait{display:block}
  .hero-showcase__right{display:none}
}
.outdoor-page{display:grid;gap:12px}
.outdoor-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center;overflow:hidden}
.outdoor-hero h2{margin:8px 0 12px;font-size:clamp(30px,4.6vw,50px);line-height:1.02;letter-spacing:-.04em}
.outdoor-hero p{margin:0;color:var(--muted);line-height:1.7}
.outdoor-hero img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:20px;border:1px solid rgba(255,255,255,.1)}
.outdoor-activity-grid,.outdoor-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.outdoor-activity-card,.outdoor-team-card{display:grid;gap:12px;align-content:start}
.outdoor-activity-card img{width:100%;height:220px;object-fit:cover;border-radius:18px}
.outdoor-team-card img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:18px}
.outdoor-team-card .muted{font-weight:700}
.outdoor-team-name-link{color:inherit;text-decoration:none}
.outdoor-team-name-link:hover{text-decoration:underline}
.team-member-links{display:flex;gap:8px;flex-wrap:wrap}
.team-member-links .fact-chip{font-size:12px}
.team-photo-focus-tools{margin-top:12px;display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.team-photo-focus-tools.is-disabled{opacity:.72}
.team-photo-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-photo-focus-grid input[type=range]{width:100%}
.team-photo-focus-preview-wrap{position:relative}
.team-photo-focus-preview{width:100%;max-width:460px;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22)}
.team-photo-focus-empty{max-width:460px;aspect-ratio:16/9;display:grid;place-items:center;text-align:center;padding:10px;border-radius:14px;border:1px dashed rgba(255,255,255,.2);color:var(--muted);background:rgba(255,255,255,.02)}
.outdoor-telegram{display:grid;gap:10px}
.outdoor-telegram h3{margin:0}
.outdoor-telegram p{margin:0;color:var(--muted);line-height:1.7}
.outdoor-telegram a{color:var(--accent)}
.android-download-hero{display:grid;gap:16px}
.android-download-meta{display:flex;gap:10px;flex-wrap:wrap}
.android-feature-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.android-feature-card{display:grid;gap:10px;align-content:start}
.android-feature-head{display:flex;align-items:center;gap:12px}
.android-feature-head h3{margin:0}
.android-feature-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:rgba(31,134,236,.14);border:1px solid rgba(31,134,236,.34);color:#9ed2ff}
.android-feature-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
body[data-theme="light"] .android-feature-icon{background:rgba(31,134,236,.1);border-color:rgba(31,134,236,.24);color:#1f6ebf}

@media (max-width:980px){
  .outdoor-hero,.outdoor-activity-grid,.outdoor-team-grid{grid-template-columns:1fr}
  .outdoor-hero img{min-height:240px}
  .team-photo-focus-grid{grid-template-columns:1fr}
  .android-feature-grid{grid-template-columns:1fr}
}

/* APK lite image profile */
body[data-app-image-mode="lite"] .hero-showcase__backdrop{display:none!important;background-image:none!important}
body[data-app-image-mode="lite"] .hero-showcase::after{display:none!important}
body[data-app-image-mode="lite"] .hero-showcase::before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important}
body[data-app-image-mode="lite"] .hero-showcase{min-height:auto!important}
body[data-app-image-mode="lite"] .hero-showcase__right,
body[data-app-image-mode="lite"] .hero-mobile-portrait,
body[data-app-image-mode="lite"] .hero-benefits{display:none!important}
body[data-app-image-mode="lite"] .hero-card::before{display:none!important}
body[data-app-image-mode="lite"] .hero-card,
body[data-app-image-mode="lite"] .card,
body[data-app-image-mode="lite"] .stat-card,
body[data-app-image-mode="lite"] .metric-card{box-shadow:none!important}
body[data-app-image-mode="lite"] .direction-card img,
body[data-app-image-mode="lite"] .news-cover,
body[data-app-image-mode="lite"] .outdoor-hero img,
body[data-app-image-mode="lite"] .outdoor-activity-card img,
body[data-app-image-mode="lite"] .outdoor-team-card img,
body[data-app-image-mode="lite"] .result-photo{height:auto!important;max-height:180px!important;object-fit:cover!important}
body[data-app-image-mode="lite"] .about-split img{min-height:220px!important}

/* Telegram-style mobile chat layout */
:root{
  --chat-topbar-height:78px;
  --chat-viewport-height:100dvh;
}
@media (max-width:1100px){
  body.chat-screen-open:not(.drawer-open):not(.profile-drawer-open){overflow:hidden}
  body.chat-screen-open .app-shell{height:100dvh;overflow:hidden}
  body.chat-screen-open.chat-room-hub:not(.chat-room-open):not(.chat-composer-fixed){overflow-y:auto}
  body.chat-screen-open.chat-room-hub:not(.chat-room-open):not(.chat-composer-fixed) .app-shell{height:auto;overflow:visible}
}
@media (min-width:1101px){
  body.chat-screen-open{overflow:auto}
  body.chat-screen-open .app-shell{height:auto;overflow:visible}
  .chat-layout-shell.chat-no-room{
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .chat-layout-shell.chat-no-room .chat-card--common{
    overflow:visible;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:12px;
    align-content:start;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room{
    padding:10px;
    gap:6px;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room .muted{
    margin:0;
    font-size:13px;
    line-height:1.35;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room-actions{
    gap:8px;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room-actions .btn{
    padding:8px 12px;
  }
}
body.chat-screen-open .footer{display:none!important}
body.chat-screen-open main .chat-layout-shell ~ .section{display:none!important}
.chat-layout-shell{
  display:flex;
  flex-direction:column;
  height:calc(var(--chat-viewport-height,100dvh) - (var(--chat-topbar-height) + var(--safe-top)));
  min-height:calc(var(--chat-viewport-height,100dvh) - (var(--chat-topbar-height) + var(--safe-top)));
  overflow:hidden;
}
.chat-layout-shell,
.chat-layout-shell *{min-width:0}
.chat-layout-shell.section{padding:10px 0 8px}
.chat-card--full{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  gap:12px;
  overflow:hidden;
}
.chat-card--full.chat-card--pm{min-height:0}
.chat-card--full .section-head{margin-bottom:0;flex:0 0 auto}
.chat-common-head{align-items:flex-start;gap:10px}
.chat-common-head--room>div>h2:not(.chat-common-head__room-title),
.chat-common-head--room>div>p{display:none!important}
[data-chat-settings-toggle],
[data-chat-settings-drawer],
[data-chat-settings-backdrop],
.chat-common-settings-drawer,
.chat-common-drawer-backdrop--settings{display:none!important}
.chat-no-room [data-chat-online-toggle],
.chat-no-room [data-chat-online-drawer],
.chat-no-room [data-chat-online-backdrop]{display:none!important}
.chat-card--common>.card[style*="padding:14px"],
.chat-desktop-main>.card[style*="padding:14px"]{display:none!important}
.chat-common-head__room-title{margin:0;font-size:22px;line-height:1.1}
.chat-common-head__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chat-common-head__leave-form{margin:0;display:inline-flex}
.chat-common-head__leave-button{
  border-color:rgba(248,113,113,.32)!important;
  background:rgba(127,29,29,.22)!important;
  color:#ffd7d7!important;
  min-height:42px;
  padding:0 16px!important;
}
.chat-common-head__leave-button:hover{background:rgba(185,28,28,.34)!important;border-color:rgba(248,113,113,.52)!important}
.chat-common-head__icon-btn{width:42px;min-width:42px;height:42px;padding:0!important;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;position:relative}
.chat-common-head__icon-btn:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.7)}
.chat-common-head__settings-btn{
  border-color:rgba(74,222,128,.28)!important;
  background:rgba(22,101,52,.18)!important;
  color:#d9ffe4!important;
}
.chat-common-head__settings-btn:hover{background:rgba(22,163,74,.26)!important;border-color:rgba(74,222,128,.48)!important}
.chat-common-head__room-btn{max-width:min(48vw,320px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-common-head__head-toggle{font-size:18px;font-weight:800;line-height:1}
.chat-common-head__counter{
  position:absolute;
  right:-4px;
  top:-4px;
  min-width:18px;
  height:18px;
  border-radius:999px;
  background:#2da4ff;
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  font-size:11px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
}
.chat-common-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:1680;
  border:0;
  background:rgba(2,8,14,.55);
  opacity:0;
  transition:opacity .2s ease;
}
.chat-common-drawer-backdrop.is-open{opacity:1}
.chat-common-drawer-backdrop[hidden]{display:none!important}
.chat-common-sections-drawer,
.chat-common-online-drawer,
.chat-common-settings-drawer{
  position:fixed;
  top:calc(var(--chat-topbar-height,78px) + var(--safe-top));
  bottom:0;
  z-index:1690;
  width:min(86vw,360px);
  background:linear-gradient(180deg,rgba(8,16,28,.985),rgba(6,12,22,.985));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 44px rgba(0,0,0,.36);
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  overflow:auto;
  transition:transform .22s cubic-bezier(.22,.9,.26,1);
  pointer-events:none;
}
.chat-common-sections-drawer{
  left:0;
  border-right-width:1px;
  border-left-width:0;
  border-top-right-radius:16px;
  transform:translateX(-104%);
}
.chat-common-sections-drawer.is-open{transform:translateX(0)}
.chat-common-online-drawer{
  right:0;
  border-left-width:1px;
  border-right-width:0;
  border-top-left-radius:16px;
  transform:translateX(104%);
}
.chat-common-online-drawer.is-open{transform:translateX(0)}
.chat-common-settings-drawer{
  right:0;
  border-left-width:1px;
  border-right-width:0;
  border-top-left-radius:16px;
  transform:translateX(104%);
}
.chat-common-settings-drawer.is-open{transform:translateX(0)}
.chat-common-sections-drawer.is-open,
.chat-common-online-drawer.is-open,
.chat-common-settings-drawer.is-open{pointer-events:auto}
.chat-common-sections-drawer__head,
.chat-common-online-drawer__head,
.chat-common-settings-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-common-sections-drawer__close,
.chat-common-online-drawer__close,
.chat-common-settings-drawer__close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.04);
  color:#ecf6ff;
  font-size:16px;
}
.chat-common-sections-drawer__list{display:grid;gap:8px}
.chat-common-sections-drawer__item{
  display:grid;
  gap:4px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  padding:10px 12px;
  color:#ecf6ff;
}
.chat-common-sections-drawer__item strong{font-size:14px;line-height:1.25}
.chat-common-sections-drawer__item span{font-size:12px;color:#b8d8ef;line-height:1.35}
.chat-common-sections-drawer__item .chat-common-sections-drawer__meta{color:#d8ecff;font-weight:700}
.chat-common-sections-drawer__item.is-active{
  border-color:rgba(80,203,255,.45);
  background:rgba(39,97,138,.3);
}
.chat-common-online-drawer__body{display:grid;gap:8px}
.chat-common-settings-drawer__body{display:grid;gap:10px}
.chat-common-settings-drawer__room{display:grid;gap:4px}
.chat-common-settings-drawer__form{display:grid;gap:10px}
.chat-common-online-user{
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.chat-common-online-user__main{
  width:100%;
  border:0;
  background:transparent;
  color:#e8f4ff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  text-align:left;
}
.chat-common-online-user__identity{display:flex;align-items:center;gap:10px;min-width:0}
.chat-common-online-user__identity img{
  width:36px;
  height:36px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
.chat-common-online-user__identity strong{display:block;line-height:1.2}
.chat-common-online-user__identity small{
  display:block;
  color:#bdd9ef;
  font-size:11px;
  line-height:1.3;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.chat-common-online-user__state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  border:1px solid #a9e7bf;
  background:#e8faee;
  color:#1e7740;
}
.chat-common-online-user__actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 10px 10px;
}
.chat-common-online-user__actions .btn{padding:7px 10px;border-radius:10px}
.chat-common-online-user__state--offline{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  color:#d3e2f1;
}
.chat-common-offline-spoiler{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.chat-common-offline-spoiler>summary{
  cursor:pointer;
  list-style:none;
  padding:10px 12px;
  font-size:13px;
  font-weight:700;
}
.chat-common-offline-spoiler>summary::-webkit-details-marker{display:none}
.chat-common-offline-list{display:grid;gap:8px;padding:0 8px 8px}
.chat-desktop-workspace{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  gap:10px;
}
.chat-desktop-main{
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 auto;
}
.chat-desktop-room-head,
.chat-desktop-roster{display:none}
.chat-info-panel{
  position:fixed;
  top:calc(var(--chat-topbar-height,78px) + var(--safe-top));
  right:0;
  bottom:0;
  z-index:1692;
  width:min(88vw,380px);
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px;
  overflow:auto;
  background:linear-gradient(180deg,rgba(7,17,30,.985),rgba(5,11,21,.985));
  border-left:1px solid rgba(112,255,175,.18);
  box-shadow:-22px 0 50px rgba(0,0,0,.45);
  transform:translateX(104%);
  transition:transform .22s cubic-bezier(.22,.9,.26,1);
  pointer-events:none;
}
.chat-info-panel.is-open{
  transform:translateX(0);
  pointer-events:auto;
}
.chat-info-panel__head,
.chat-desktop-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.chat-info-panel__head strong,
.chat-desktop-panel__head strong{
  display:block;
  font-size:17px;
  line-height:1.15;
  color:#f4fbff;
}
.chat-desktop-panel__head span{
  display:block;
  margin-top:3px;
  color:#aebed0;
  font-size:13px;
}
.chat-info-panel__close{
  width:38px;
  height:38px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#f4fbff;
  font-weight:900;
}
.chat-info-panel__hero{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 4px 14px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.chat-info-panel__hero h3{margin:0;font-size:22px;line-height:1.1}
.chat-info-panel__hero p,
.chat-info-panel__description{
  margin:4px 0 0;
  color:#b9c8d7;
  line-height:1.45;
}
.chat-room-mark{
  width:48px;
  height:48px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:24px;
  font-weight:900;
  color:#b8ffd0;
  border:1px solid rgba(75,230,139,.28);
  background:radial-gradient(circle at 35% 25%,rgba(75,230,139,.28),rgba(19,72,45,.2) 55%,rgba(255,255,255,.04));
  box-shadow:0 14px 28px rgba(35,174,94,.12);
}
.chat-room-mark--large{
  width:86px;
  height:86px;
  border-radius:28px;
  font-size:42px;
}
.chat-room-mark--image{padding:0;overflow:hidden;background:rgba(255,255,255,.04)}
.chat-room-mark--image img{width:100%;height:100%;object-fit:cover;display:block}
.chat-info-panel__rows{display:grid;gap:8px}
.chat-info-panel__section{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.025);
}
.chat-info-row,
.chat-info-row__button{
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);
  color:#ecf7ff;
  text-align:left;
}
.chat-info-row{appearance:none}
.chat-info-row--form{
  display:block;
  padding:0;
  border:0;
  background:transparent;
}
.chat-info-row--form .chat-info-row__button{
  grid-template-columns:34px minmax(0,1fr);
  min-height:56px;
}
.chat-info-row span,
.chat-info-row__button span{
  width:30px;
  height:30px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(79,214,111,.1);
}
.chat-info-row strong,
.chat-info-row__button strong{font-size:14px}
.chat-info-row em,
.chat-info-row__button em{
  justify-self:end;
  color:#a8bacb;
  font-style:normal;
  font-size:12px;
}
.chat-info-row--danger .chat-info-row__button{
  border-color:rgba(255,95,95,.22);
  color:#ffbaba;
  background:linear-gradient(135deg,rgba(255,95,95,.12),rgba(255,255,255,.025));
}
.chat-info-row--danger .chat-info-row__button span{background:rgba(255,95,95,.12)}
.chat-info-row--danger .chat-info-row__button:hover{
  border-color:rgba(255,95,95,.42);
  color:#ffd7d7;
}
.chat-info-row:disabled,
.chat-info-row__button:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.chat-info-settings{
  border:1px solid rgba(79,214,111,.18);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(79,214,111,.07),rgba(255,255,255,.025));
  overflow:hidden;
}
.chat-info-settings summary{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  color:#ecf7ff;
  cursor:pointer;
  list-style:none;
}
.chat-info-settings summary::-webkit-details-marker{display:none}
.chat-info-settings summary span{
  width:30px;
  height:30px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(79,214,111,.12);
}
.chat-info-settings summary em{
  justify-self:end;
  color:#a8bacb;
  font-style:normal;
  font-size:12px;
}
.chat-info-settings__form,
.chat-info-join{
  display:grid;
  gap:10px;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.08);
}
.chat-info-settings__form label{display:grid;gap:6px;color:#c7d8e8}
.chat-info-settings__form select{width:100%}
.chat-info-join{
  border:1px solid rgba(79,214,111,.18);
  border-radius:16px;
  background:rgba(79,214,111,.07);
  border-top-color:rgba(79,214,111,.18);
}
.chat-info-join span{color:#aebed0;line-height:1.45}
.chat-roster-locked{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:18px;
  border:1px dashed rgba(79,214,111,.24);
  background:rgba(79,214,111,.055);
  color:#e9f7ee;
}
.chat-roster-locked span{color:#aebed0;line-height:1.45}
.chat-message-search{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 18px 12px;
  padding:0 14px;
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(79,214,111,.18);
  background:rgba(7,18,29,.82);
}
.chat-message-search[hidden]{display:none!important}
.chat-message-search span{color:#aebed0;font-size:20px}
.chat-message-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#ecf7ff;
}
.chat-message-search__nav{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  padding:4px;
  border-radius:999px;
  border:1px solid rgba(126,164,255,.16);
  background:rgba(5,14,26,.68);
  white-space:nowrap;
}
.chat-message-search__nav[hidden]{display:none!important}
.chat-message-search__nav button{
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(126,164,255,.2);
  background:rgba(255,255,255,.05);
  color:#eaf3ff;
  cursor:pointer;
  font-weight:900;
}
.chat-message-search__nav button:disabled{opacity:.45;cursor:not-allowed}
.chat-message-search__nav strong{min-width:48px;text-align:center;color:#bfe9ff;font-size:13px}
.chat-message-search__close{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  color:#eaf6ff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.chat-bubble-row.is-search-current .chat-bubble{
  border-color:rgba(74,222,128,.58)!important;
  box-shadow:0 0 0 2px rgba(74,222,128,.16),0 18px 44px rgba(19,160,84,.18)!important;
}
.chat-search-mark{
  padding:0 .14em;
  border-radius:5px;
  color:#06131f;
  background:#a7f3d0;
  box-shadow:0 0 0 1px rgba(74,222,128,.32);
}
.chat-media-filter-banner{
  margin:0 18px 12px;
  padding:10px 12px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(79,214,111,.2);
  background:linear-gradient(135deg,rgba(79,214,111,.11),rgba(255,255,255,.03));
  color:#dffbea;
}
.chat-media-filter-banner[hidden]{display:none!important}
.chat-media-filter-banner button{
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:7px 10px;
  color:#ecf7ff;
  background:rgba(255,255,255,.05);
}
.chat-media-gallery{
  position:fixed;
  inset:calc(var(--topbar-height,72px) + var(--safe-top,0px) + 12px) clamp(14px,4vw,52px) clamp(14px,4vw,52px);
  z-index:1585;
  max-width:1180px;
  margin:0 auto;
  padding:18px;
  border-radius:26px;
  border:1px solid rgba(79,214,111,.18);
  overflow:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(circle at top left,rgba(79,214,111,.14),transparent 34%),
    linear-gradient(145deg,rgba(7,18,29,.98),rgba(9,28,29,.95));
  box-shadow:0 30px 90px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(22px);
}
.chat-media-gallery[hidden]{display:none!important}
.chat-media-gallery__head{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin:-4px -4px 14px;
  padding:4px 4px 12px;
  color:#f4fbff;
  background:linear-gradient(180deg,rgba(7,18,29,.98),rgba(7,18,29,.72));
  backdrop-filter:blur(12px);
}
.chat-media-gallery__head strong{font-size:22px}
.chat-media-gallery__head button{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(79,214,111,.12);
  color:#eaf6ff;
  font-size:24px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.chat-media-gallery__items{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px;
}
.chat-media-gallery-empty{
  padding:16px;
  border-radius:16px;
  border:1px dashed rgba(79,214,111,.22);
  color:#b7c9dc;
  background:rgba(255,255,255,.03);
}
.chat-media-gallery-card{
  min-width:0;
  display:grid;
  gap:10px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(126,164,255,.12);
  background:rgba(255,255,255,.035);
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}
.chat-media-gallery-card:hover{
  transform:translateY(-2px);
  border-color:rgba(79,214,111,.3);
  background:rgba(79,214,111,.06);
}
.chat-media-gallery-card__preview{
  position:relative;
  min-height:126px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#eaf6ff;
  text-decoration:none;
  background:rgba(2,8,18,.52);
}
.chat-media-gallery-card--photos .chat-media-gallery-card__preview,
.chat-media-gallery-card--gif .chat-media-gallery-card__preview{
  cursor:zoom-in;
}
.chat-media-gallery-card__preview img,
.chat-media-gallery-card__preview video{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
}
.chat-media-gallery-card--voice .chat-media-gallery-card__preview,
.chat-media-gallery-card--audio .chat-media-gallery-card__preview,
.chat-media-gallery-card--files .chat-media-gallery-card__preview,
.chat-media-gallery-card--links .chat-media-gallery-card__preview{
  min-height:74px;
  padding:12px;
  justify-content:flex-start;
  gap:10px;
}
.chat-media-gallery-card audio{
  width:100%;
  max-width:100%;
}
.chat-media-gallery-card__preview > span:not(.chat-media-gallery-card__icon){
  position:absolute;
  left:10px;
  bottom:10px;
  padding:5px 9px;
  border-radius:999px;
  color:#f8fbff;
  background:rgba(0,0,0,.55);
  font-weight:900;
  font-size:12px;
}
.chat-media-gallery-card__icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#9af7bb;
  background:rgba(79,214,111,.12);
}
.chat-media-gallery-card__meta{
  min-width:0;
  display:grid;
  gap:3px;
}
.chat-media-gallery-card__meta strong{
  color:#f4fbff;
  font-size:13px;
}
.chat-media-gallery-card__meta span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#aebed0;
  font-size:12px;
}
.chat-media-gallery-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  opacity:.78;
  transition:opacity .18s ease;
}
.chat-media-gallery-card:hover .chat-media-gallery-card__actions,
.chat-media-gallery-card:focus-within .chat-media-gallery-card__actions{
  opacity:1;
}
.chat-media-gallery-card__actions a,
.chat-media-gallery-card__actions button{
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:7px 9px;
  color:#eaf6ff;
  background:rgba(255,255,255,.045);
  text-decoration:none;
  font-size:12px;
  cursor:pointer;
}
.chat-media-gallery-card__actions a:hover,
.chat-media-gallery-card__actions button:hover{
  border-color:rgba(79,214,111,.34);
  background:rgba(79,214,111,.12);
}
@media (max-width:760px){
  .chat-media-gallery{
    inset:calc(var(--topbar-height,72px) + var(--safe-top,0px) + 8px) 10px 10px;
    padding:14px;
    border-radius:22px;
  }
  .chat-media-gallery__head{
    grid-template-columns:40px minmax(0,1fr);
  }
  .chat-media-gallery__head button{
    width:38px;
    height:38px;
  }
  .chat-media-gallery__head strong{font-size:19px}
  .chat-media-gallery__items{
    grid-template-columns:1fr;
  }
  .chat-media-gallery-card__actions{opacity:1}
}
.chat-photo-lightbox{
  position:fixed;
  inset:0;
  z-index:2600;
  display:none;
  align-items:center;
  justify-content:center;
  padding:calc(var(--safe-top,0px) + 18px) 70px 28px;
  background:rgba(1,6,13,.86);
  backdrop-filter:blur(20px);
}
.chat-photo-lightbox.is-open{display:flex}
.chat-photo-lightbox__figure{
  width:min(1180px,100%);
  max-height:calc(100dvh - 72px);
  margin:0;
  display:grid;
  gap:12px;
  justify-items:center;
}
.chat-photo-lightbox__image{
  max-width:100%;
  max-height:calc(100dvh - 140px);
  object-fit:contain;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  background:#050b14;
  box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px rgba(79,214,111,.08);
}
.chat-photo-lightbox__caption{
  max-width:min(720px,92vw);
  padding:9px 13px;
  border-radius:999px;
  color:#dce8f8;
  text-align:center;
  font-size:13px;
  background:rgba(8,18,30,.82);
  border:1px solid rgba(255,255,255,.12);
}
.chat-photo-lightbox__close,
.chat-photo-lightbox__nav{
  border:1px solid rgba(255,255,255,.14);
  color:#f6fbff;
  background:rgba(9,20,32,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.34);
  cursor:pointer;
}
.chat-photo-lightbox__close{
  position:absolute;
  top:calc(var(--safe-top,0px) + 18px);
  right:22px;
  width:44px;
  height:44px;
  border-radius:999px;
  font-size:28px;
  line-height:1;
}
.chat-photo-lightbox__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border-radius:18px;
  font-size:38px;
  line-height:1;
}
.chat-photo-lightbox__nav--prev{left:18px}
.chat-photo-lightbox__nav--next{right:18px}
.chat-photo-lightbox__close:hover,
.chat-photo-lightbox__nav:hover{
  border-color:rgba(79,214,111,.36);
  background:rgba(20,52,45,.92);
}
body.chat-photo-lightbox-open{overflow:hidden}
@media (max-width:760px){
  .chat-photo-lightbox{
    padding:calc(var(--safe-top,0px) + 64px) 12px 18px;
  }
  .chat-photo-lightbox__image{
    max-height:calc(100dvh - 180px);
    border-radius:18px;
  }
  .chat-photo-lightbox__close{
    top:calc(var(--safe-top,0px) + 12px);
    right:12px;
    width:42px;
    height:42px;
  }
  .chat-photo-lightbox__nav{
    top:auto;
    bottom:22px;
    width:48px;
    height:48px;
    border-radius:16px;
    font-size:32px;
  }
  .chat-photo-lightbox__nav--prev{left:18px}
  .chat-photo-lightbox__nav--next{right:18px}
  .chat-photo-lightbox__caption{
    border-radius:16px;
  }
}
.chat-pinned-list{display:grid;gap:8px}
.chat-pinned-item{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-areas:"icon author" "icon text";
  gap:2px 9px;
  padding:10px;
  border-radius:14px;
  color:#f4fbff;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.chat-pinned-item span{grid-area:icon}
.chat-pinned-item strong{grid-area:author;font-size:13px}
.chat-pinned-item em{
  grid-area:text;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#aebed0;
  font-style:normal;
  font-size:12px;
}
.chat-media-stats{display:grid;gap:8px}
.chat-media-stats button{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  padding:9px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#eaf6ff;
  text-align:left;
}
.chat-media-stats button span{
  width:30px;
  height:30px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#9af7bb;
  background:rgba(79,214,111,.1);
  font-size:12px;
  font-weight:900;
}
.chat-media-stats button.is-active{
  border-color:rgba(79,214,111,.45);
  background:rgba(79,214,111,.12);
  box-shadow:inset 0 0 0 1px rgba(79,214,111,.08);
}
.chat-media-details{display:block}
.chat-media-details summary{cursor:pointer;list-style:none;margin:-2px 0 10px}
.chat-media-details summary::-webkit-details-marker{display:none}
.chat-info-rooms__list{display:grid;gap:10px}
.chat-info-room-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(126,164,255,.12);
  background:rgba(255,255,255,.035);
  color:#eaf3ff;
  text-decoration:none;
  transition:.18s ease;
}
.chat-info-room-link:hover,.chat-info-room-link.is-active{
  border-color:rgba(74,222,128,.34);
  background:rgba(22,101,52,.18);
}
.chat-info-room-link .chat-room-mark{width:42px;height:42px;min-width:42px;font-size:22px}
.chat-info-room-link strong,.chat-info-room-link small{display:block}
.chat-info-room-link small{color:#9fb0c9;font-size:12px;margin-top:2px}
.chat-bubble.is-pinned{
  border-color:rgba(255,205,86,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(255,205,86,.055);
}
.chat-bubble__pin{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  margin:0 0 8px;
  padding:4px 8px;
  border-radius:999px;
  color:#ffe5a7;
  background:rgba(255,205,86,.11);
  border:1px solid rgba(255,205,86,.22);
  font-size:11px;
  font-weight:900;
}
.chat-info-panel__trainers{
  display:grid;
  gap:10px;
  padding-top:4px;
}
.chat-info-panel__subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#f4fbff;
}
.chat-info-panel__subhead span{
  padding:4px 9px;
  border-radius:999px;
  color:#9af7bb;
  background:rgba(79,214,111,.12);
  border:1px solid rgba(79,214,111,.22);
}
.chat-info-trainer{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px;
  border-radius:16px;
  color:#f3f8ff;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03);
}
.chat-info-trainer img{
  width:46px;
  height:46px;
  border-radius:16px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.14);
}
.chat-info-trainer span{display:grid;gap:2px;min-width:0}
.chat-info-trainer small{color:#aebed0}
.chat-info-trainer em{
  color:#92a4b5;
  font-style:normal;
  font-size:12px;
}
.chat-info-trainer em.is-online{color:#70e99a}
.chat-desktop-search{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  min-height:46px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.045);
}
.chat-desktop-search span{color:#aebed0;font-size:20px}
.chat-desktop-search input{
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  color:#ecf7ff;
  outline:0;
}
.chat-desktop-roster__list{
  display:grid;
  gap:6px;
  overflow:auto;
  min-height:0;
  padding-right:2px;
}
.chat-desktop-user{
  display:block;
  padding:8px;
  border-radius:16px;
  color:#f3f8ff;
}
.chat-desktop-user:hover{background:rgba(79,214,111,.08)}
.chat-desktop-user.is-open{background:rgba(79,214,111,.1)}
.chat-desktop-user__toggle{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.chat-desktop-user__avatar-wrap{position:relative;width:42px;height:42px}
.chat-desktop-user__avatar-wrap img{
  width:42px;
  height:42px;
  border-radius:15px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.14);
}
.chat-desktop-user__avatar-wrap i{
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:11px;
  height:11px;
  border-radius:999px;
  border:2px solid #08111d;
  background:#677381;
}
.chat-desktop-user__avatar-wrap i.is-online{background:#5be37e}
.chat-desktop-user__body{display:grid;gap:2px;min-width:0}
.chat-desktop-user__body strong,
.chat-desktop-user__body small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.chat-desktop-user__body small{color:#aebed0}
.chat-desktop-user__badge{
  padding:4px 8px;
  border-radius:999px;
  color:#93ffb7;
  background:rgba(79,214,111,.12);
  border:1px solid rgba(79,214,111,.22);
  font-size:11px;
  font-weight:800;
}
.chat-desktop-user__actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.chat-desktop-user__actions[hidden]{display:none!important}
.chat-desktop-show-more{
  width:100%;
  justify-content:center;
  margin-top:auto;
}
.chat-round-action{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#f4fbff;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.chat-desktop-room-head__actions{display:flex;gap:8px}
@media (min-width:1180px){
  .chat-layout-shell.chat-has-room{
    width:min(100%,calc(100vw - 32px));
    max-width:none;
  }
  .chat-layout-shell.section{padding:14px 16px 12px}
  .chat-has-room .chat-card--common{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .chat-has-room .chat-common-head,
  .chat-has-room .chat-head-floating-toggle{display:none!important}
  .chat-desktop-workspace{
    display:grid;
    grid-template-columns:minmax(270px,330px) minmax(0,1fr) minmax(280px,340px);
    gap:14px;
    height:100%;
    min-height:0;
  }
  .chat-desktop-roster,
  .chat-desktop-main,
  .chat-info-panel{
    min-height:0;
    border:1px solid rgba(255,255,255,.1);
    background:linear-gradient(180deg,rgba(8,18,31,.84),rgba(6,12,22,.9));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 22px 48px rgba(0,0,0,.18);
  }
  .chat-desktop-roster{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px;
    border-radius:22px;
    overflow:hidden;
  }
  .chat-desktop-main{
    border-radius:22px;
    overflow:hidden;
  }
  .chat-desktop-room-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex:0 0 auto;
    min-height:82px;
    padding:16px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .chat-desktop-room-head__identity{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
  }
  .chat-desktop-room-head__identity strong{
    display:block;
    color:#f4fbff;
    font-size:20px;
    line-height:1.1;
  }
  .chat-desktop-room-head__identity small{color:#aebed0}
  .chat-info-panel{
    position:relative;
    top:auto;
    right:auto;
    bottom:auto;
    z-index:auto;
    width:auto;
    border-radius:22px;
    transform:none!important;
    pointer-events:auto;
  }
  .chat-info-panel__close,
  .chat-common-drawer-backdrop--info{display:none!important}
  .chat-desktop-main .chat-stream{padding:0 18px 18px}
  .chat-desktop-main .chat-stream .chat-box{
    padding:18px 0 12px;
    gap:14px;
  }
  body.chat-screen-open.chat-room-open .chat-desktop-main .chat-stream .chat-box,
  body.chat-screen-open.chat-composer-fixed .chat-desktop-main .chat-stream .chat-box{
    padding-bottom:14px;
  }
  body.chat-screen-open.chat-room-open .chat-desktop-main .chat-stream .chat-form--messenger,
  body.chat-screen-open.chat-composer-fixed .chat-desktop-main .chat-stream .chat-form--messenger{
    position:sticky;
    left:auto;
    right:auto;
    bottom:0;
    transform:none;
    width:100%;
    max-width:none;
    z-index:30;
  }
  .chat-desktop-main .chat-form--messenger{
    border-radius:22px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(7,15,26,.9);
    box-shadow:0 -14px 34px rgba(0,0,0,.18);
  }
  .chat-desktop-main .chat-bubble{
    max-width:min(620px,78%);
    padding:14px 16px;
    border-radius:20px;
  }
  .chat-desktop-main .chat-bubble-row.is-mine .chat-bubble{
    background:linear-gradient(135deg,rgba(17,95,59,.95),rgba(19,57,48,.93));
    border-color:rgba(90,242,150,.24);
  }
}
.chat-common-hub{display:grid;gap:10px}
.chat-common-hub__room{
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:12px;
  display:grid;
  gap:8px;
}
.chat-common-hub__room-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.chat-common-hub__room-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-common-hub__state{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.04);
}
.chat-common-hub__state.is-joined{
  border-color:rgba(81,206,132,.55);
  background:rgba(25,110,66,.24);
  color:#cdf7dd;
}
.chat-common-hub__state.is-locked{
  border-color:rgba(240,174,82,.5);
  background:rgba(118,77,26,.24);
  color:#ffe6c5;
}
.chat-layout-shell.chat-no-room{
  height:auto;
  min-height:auto;
  overflow:visible;
}
.chat-layout-shell.chat-no-room .chat-card--common{
  display:block;
  min-height:auto;
  overflow:hidden;
  padding:28px 30px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 12% 0%,rgba(29,185,84,.11),transparent 34%),
    radial-gradient(circle at 88% 18%,rgba(47,132,255,.10),transparent 38%),
    linear-gradient(145deg,rgba(15,23,42,.96),rgba(7,12,22,.98));
  box-shadow:0 26px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
}
.chat-layout-shell.chat-no-room .chat-common-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin-bottom:26px;
}
.chat-layout-shell.chat-no-room .chat-common-head h2{
  margin:0;
  font-size:clamp(36px,4vw,54px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.chat-layout-shell.chat-no-room .chat-common-head p{
  max-width:760px;
  margin:14px 0 0;
  color:#c6d2df;
  font-size:18px;
  line-height:1.55;
}
.chat-layout-shell.chat-no-room .chat-common-head__actions{
  gap:14px;
  flex-wrap:nowrap;
}
.chat-layout-shell.chat-no-room .chat-common-head__icon-btn{
  width:58px;
  min-width:58px;
  height:58px;
  border-radius:999px;
  font-size:24px;
  color:#f6fbff;
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(8,15,27,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 30px rgba(0,0,0,.22);
}
.chat-layout-shell.chat-no-room .chat-common-head__room-btn{
  min-height:58px;
  padding:0 26px!important;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#f7fff9!important;
  font-size:17px;
  border-color:rgba(100,255,116,.85)!important;
  background:linear-gradient(135deg,rgba(19,73,42,.82),rgba(13,33,30,.9))!important;
  box-shadow:0 0 0 1px rgba(92,255,105,.18),0 0 34px rgba(34,197,94,.18);
}
.chat-layout-shell.chat-no-room .chat-common-head__room-btn::before{
  content:"▦";
  font-size:25px;
  color:#6dff7e;
  line-height:1;
}
.chat-layout-shell.chat-no-room .chat-common-hub{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.chat-layout-shell.chat-no-room .chat-common-hub__room{
  min-height:320px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:26px 22px 22px;
  border-radius:22px;
  border:1px solid rgba(94,255,112,.42);
  background:linear-gradient(155deg,rgba(9,26,23,.94),rgba(7,13,24,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 60px rgba(0,0,0,.28);
  display:flex;
  flex-direction:column;
  gap:22px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.chat-layout-shell.chat-no-room .chat-common-hub__room:hover{
  transform:translateY(-4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 26px 80px rgba(0,0,0,.38),0 0 36px rgba(34,197,94,.12);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room-bg{
  position:absolute;
  inset:auto 0 0;
  height:58%;
  opacity:.42;
  z-index:-1;
  background:
    linear-gradient(to top,rgba(14,165,91,.26),transparent 72%),
    radial-gradient(circle at 70% 76%,rgba(79,255,136,.18),transparent 35%);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.05) 50%,transparent 52%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 17px);
  mask-image:linear-gradient(to top,#000,transparent);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--outdoor{
  border-color:rgba(42,230,213,.48);
  background:linear-gradient(155deg,rgba(7,37,42,.94),rgba(7,13,24,.94));
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--outdoor .chat-common-hub__room-bg{
  background:linear-gradient(to top,rgba(10,176,174,.28),transparent 72%),radial-gradient(circle at 68% 76%,rgba(45,212,191,.2),transparent 35%);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--velo{
  border-color:rgba(255,145,22,.56);
  background:linear-gradient(155deg,rgba(45,24,13,.94),rgba(7,13,24,.94));
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--velo .chat-common-hub__room-bg{
  background:linear-gradient(to top,rgba(255,140,25,.28),transparent 72%),radial-gradient(circle at 68% 76%,rgba(251,146,60,.2),transparent 35%);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--sup{
  border-color:rgba(86,210,255,.58);
  background:linear-gradient(155deg,rgba(7,31,48,.94),rgba(7,13,24,.94));
}
.chat-layout-shell.chat-no-room .chat-common-hub__room--sup .chat-common-hub__room-bg{
  background:linear-gradient(to top,rgba(56,189,248,.27),transparent 72%),radial-gradient(circle at 68% 76%,rgba(125,211,252,.2),transparent 35%);
}
.chat-layout-shell.chat-no-room .chat-common-hub__room-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.chat-layout-shell.chat-no-room .chat-common-hub__icon{
  width:82px;
  height:82px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6dff7e;
  font-size:44px;
  font-weight:900;
  border:1px solid currentColor;
  background:radial-gradient(circle,rgba(78,255,101,.22),rgba(13,26,20,.84));
  box-shadow:0 0 34px rgba(74,222,128,.18);
}
.chat-layout-shell.chat-no-room .chat-common-hub__icon.has-image{
  padding:0;
  overflow:hidden;
  color:#7cff8a;
  background:rgba(8,18,30,.74);
}
.chat-layout-shell.chat-no-room .chat-common-hub__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.chat-common-hub__room--outdoor .chat-common-hub__icon{color:#35f1dd;background:radial-gradient(circle,rgba(45,212,191,.23),rgba(10,30,34,.84))}
.chat-common-hub__room--velo .chat-common-hub__icon{color:#fb9b2a;background:radial-gradient(circle,rgba(251,146,60,.24),rgba(35,22,12,.84))}
.chat-common-hub__room--sup .chat-common-hub__icon{color:#67d7ff;background:radial-gradient(circle,rgba(56,189,248,.24),rgba(10,27,40,.84))}
.chat-layout-shell.chat-no-room .chat-common-hub__badge{
  align-self:flex-start;
  padding:10px 14px;
  border-radius:999px;
  color:#cfffca;
  font-weight:800;
  border:1px solid rgba(113,255,129,.16);
  background:rgba(34,197,94,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.chat-common-hub__room--outdoor .chat-common-hub__badge{color:#a9fff4;background:rgba(20,184,166,.13)}
.chat-common-hub__room--velo .chat-common-hub__badge{color:#ffd69b;background:rgba(251,146,60,.14)}
.chat-common-hub__room--sup .chat-common-hub__badge{color:#c1edff;background:rgba(56,189,248,.13)}
.chat-layout-shell.chat-no-room .chat-common-hub__copy{
  display:grid;
  gap:14px;
}
.chat-layout-shell.chat-no-room .chat-common-hub__copy strong{
  color:#ffffff;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.035em;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.chat-layout-shell.chat-no-room .chat-common-hub__copy p{
  margin:0;
  color:#eef6ff;
  font-size:17px;
  line-height:1.55;
}
.chat-layout-shell.chat-no-room .chat-common-hub__members{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:0;
}
.chat-layout-shell.chat-no-room .chat-common-hub__avatar{
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:-9px;
  color:#f8fbff;
  font-weight:900;
  border:2px solid rgba(6,12,22,.92);
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.04));
  box-shadow:0 10px 20px rgba(0,0,0,.24);
  overflow:hidden;
  flex:0 0 auto;
}
.chat-layout-shell.chat-no-room .chat-common-hub__avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.chat-layout-shell.chat-no-room .chat-common-hub__avatar--placeholder,
.chat-layout-shell.chat-no-room .chat-common-hub__avatar--more{
  background:linear-gradient(135deg,rgba(30,41,59,.96),rgba(15,23,42,.9));
}
.chat-layout-shell.chat-no-room .chat-common-hub__state{
  margin-left:18px;
  min-height:46px;
  padding:0 17px;
  gap:9px;
  color:#bcffb8;
  border-color:rgba(113,255,129,.35);
  background:rgba(41,104,39,.25);
  font-size:15px;
}
.chat-layout-shell.chat-no-room .chat-common-hub__state span{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
}
.chat-layout-shell.chat-no-room .chat-common-hub__state.is-locked{
  color:#e9f1ff;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}
.chat-layout-shell.chat-no-room .chat-common-hub__open,
.chat-layout-shell.chat-no-room .chat-common-hub__suggest-btn{
  min-height:64px;
  width:100%;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 26px;
  color:#ffffff;
  font-size:20px;
  font-weight:800;
  text-decoration:none;
  border:1px solid currentColor;
  background:rgba(5,12,22,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 26px rgba(34,197,94,.08);
}
.chat-layout-shell.chat-no-room .chat-common-hub__open:hover,
.chat-layout-shell.chat-no-room .chat-common-hub__suggest-btn:hover{
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 36px rgba(34,197,94,.18);
}
.chat-layout-shell.chat-no-room .chat-common-hub__suggest{
  grid-column:1/-1;
  margin-top:8px;
  min-height:176px;
  display:grid;
  grid-template-columns:auto 1fr minmax(260px,390px);
  align-items:center;
  gap:34px;
  padding:28px 34px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(10,19,33,.82),rgba(6,12,22,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.chat-layout-shell.chat-no-room .chat-common-hub__suggest-icon{
  width:122px;
  height:122px;
  border-radius:42px;
  display:grid;
  place-items:center;
  color:#f7fff8;
  font-size:46px;
  letter-spacing:4px;
  background:radial-gradient(circle at 50% 45%,rgba(91,255,111,.42),rgba(32,121,57,.9));
  box-shadow:0 0 55px rgba(34,197,94,.24);
}
.chat-layout-shell.chat-no-room .chat-common-hub__suggest strong{
  display:block;
  color:#ffffff;
  font-size:28px;
  line-height:1.15;
  margin-bottom:14px;
}
.chat-layout-shell.chat-no-room .chat-common-hub__suggest p{
  max-width:540px;
  margin:0;
  color:#c6d2df;
  font-size:18px;
  line-height:1.55;
}
.chat-layout-shell.chat-no-room .chat-common-hub__features{
  grid-column:1/-1;
  margin-top:8px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:26px 30px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(10,19,33,.72),rgba(6,12,22,.88));
}
.chat-layout-shell.chat-no-room .chat-common-hub__features span{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:16px;
  row-gap:4px;
  align-items:center;
}
.chat-layout-shell.chat-no-room .chat-common-hub__features b{
  grid-row:1/3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#75ff81;
  background:rgba(34,197,94,.11);
}
.chat-layout-shell.chat-no-room .chat-common-hub__features strong{color:#ffffff;font-size:17px}
.chat-layout-shell.chat-no-room .chat-common-hub__features small{color:#aebdca;font-size:14px;line-height:1.35}
@media (max-width:1180px){
  .chat-layout-shell.chat-no-room .chat-common-hub{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chat-layout-shell.chat-no-room .chat-common-hub__features{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .chat-layout-shell.chat-no-room .chat-card--common{
    padding:20px 16px;
    border-radius:22px;
  }
  .chat-layout-shell.chat-no-room .chat-common-head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:20px;
  }
  .chat-layout-shell.chat-no-room .chat-common-head__actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .chat-layout-shell.chat-no-room .chat-common-head__icon-btn{
    width:48px;
    min-width:48px;
    height:48px;
  }
  .chat-layout-shell.chat-no-room .chat-common-head__room-btn{
    min-height:48px;
    flex:1 1 180px;
    justify-content:center;
  }
  .chat-layout-shell.chat-no-room .chat-common-head h2{font-size:38px}
  .chat-layout-shell.chat-no-room .chat-common-head p{font-size:16px}
  .chat-layout-shell.chat-no-room .chat-common-hub{grid-template-columns:1fr;gap:14px}
  .chat-layout-shell.chat-no-room .chat-common-hub__room{
    min-height:286px;
    padding:22px 18px 18px;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__copy strong{font-size:28px}
  .chat-layout-shell.chat-no-room .chat-common-hub__copy p{font-size:16px}
  .chat-layout-shell.chat-no-room .chat-common-hub__suggest{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__suggest-icon{
    width:86px;
    height:86px;
    border-radius:30px;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__suggest-btn{
    min-width:0;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__features{
    grid-template-columns:1fr;
    padding:20px;
  }
}
.chat-room-lock-screen{
  min-height:230px;
  display:grid;
  place-items:center;
}
.chat-room-lock-screen__inner{
  width:min(100%,360px);
  display:grid;
  gap:12px;
  text-align:center;
}
.chat-room-lock-screen__inner strong{font-size:22px;line-height:1.1}
.chat-room-lock-screen__inner p{margin:0;color:#c4def2}
.chat-room-lock-screen__form{display:grid;place-items:center}
.chat-stream{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  gap:10px;
  position:relative;
  overflow:hidden;
}
.chat-stream--locked .chat-box{
  filter:blur(2.4px) saturate(.82);
  pointer-events:none;
  user-select:none;
}
.chat-room-lock-overlay{
  position:absolute;
  inset:10px 8px 8px;
  z-index:35;
  display:grid;
  place-items:center;
  padding:12px;
  pointer-events:none;
}
.chat-room-lock-overlay__card{
  width:min(100%,460px);
  display:grid;
  gap:10px;
  text-align:center;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(160deg,rgba(5,15,33,.95),rgba(4,11,25,.97));
  box-shadow:0 22px 44px rgba(0,0,0,.44);
  pointer-events:auto;
}
.chat-room-lock-overlay__card strong{
  font-size:20px;
  line-height:1.15;
  color:#ffffff;
}
.chat-room-lock-overlay__card p{
  margin:0;
  color:#ffffff;
}
.chat-room-lock-overlay__form{
  display:grid;
  place-items:center;
}
.chat-room-lock-overlay__card .btn{
  color:#ffffff;
  border-color:rgba(255,255,255,.42);
}
.chat-stream .chat-box{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  padding-bottom:6px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
body.chat-head-collapsed .chat-common-head{
  gap:6px;
  margin:0;
  padding:0;
  min-height:0;
}
body.chat-head-collapsed .chat-common-head > div{
  display:none!important;
}
body.chat-head-collapsed .chat-common-head__actions{
  width:100%;
  justify-content:flex-start;
  gap:6px;
  min-height:0;
}
body.chat-head-collapsed .chat-common-head__actions > :not(.chat-common-head__head-toggle){
  display:none!important;
}
body.chat-head-collapsed .chat-common-head__head-toggle{
  display:inline-flex!important;
}
.chat-head-floating-toggle{
  position:fixed;
  top:calc(var(--chat-topbar-height,78px) + var(--safe-top) + 8px);
  right:6px;
  z-index:1716;
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(8,18,34,.42);
  backdrop-filter:blur(5px);
  box-shadow:0 12px 24px rgba(0,0,0,.35);
  display:none!important;
}
body.chat-head-collapsed .chat-head-floating-toggle.is-visible{
  display:inline-flex!important;
}
body.chat-head-collapsed .chat-card--full{
  gap:6px;
}
.chat-stream .chat-form--messenger{
  position:sticky;
  bottom:0;
  left:auto;
  right:auto;
  margin:0;
  margin-top:auto;
  z-index:30;
  padding-bottom:calc(6px + var(--safe-bottom));
}
body.chat-screen-open.chat-room-open .chat-stream,
body.chat-screen-open.chat-composer-fixed .chat-stream{--chat-composer-fixed-height:94px}
body.chat-screen-open.chat-room-open .chat-stream .chat-box,
body.chat-screen-open.chat-composer-fixed .chat-stream .chat-box{
  padding-bottom:calc(var(--chat-composer-fixed-height) + 14px);
}
body.chat-screen-open.chat-room-open .chat-stream .chat-form--messenger,
body.chat-screen-open.chat-composer-fixed .chat-stream .chat-form--messenger{
  position:fixed;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  bottom:calc(var(--safe-bottom) + 6px);
  width:min(1160px, calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  max-width:1160px;
  margin:0;
  z-index:140;
}
body.drawer-open .chat-stream .chat-form--messenger,
body.profile-drawer-open .chat-stream .chat-form--messenger,
body.chat-sections-open .chat-stream .chat-form--messenger,
body.chat-online-open .chat-stream .chat-form--messenger,
body.chat-info-open .chat-stream .chat-form--messenger,
body.chat-settings-open .chat-stream .chat-form--messenger{
  z-index:120;
}
.chat-stream .chat-form--messenger .chat-composer{
  position:relative;
  display:block;
  width:100%;
}
.chat-stream .chat-form--messenger .chat-composer__input{
  width:100%;
  min-height:56px;
  max-height:132px;
  padding:14px 108px 14px 56px;
  border-radius:22px;
  line-height:1.3;
}
.chat-stream .chat-form--messenger .comment-editor-tool,
.chat-stream .chat-form--messenger .chat-composer__send{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  touch-action:none;
  -webkit-touch-callout:none;
  user-select:none;
}
.chat-stream .chat-form--messenger .chat-composer__emoji{left:8px}
.chat-stream .chat-form--messenger .chat-composer__attach{right:56px}
.chat-stream .chat-form--messenger .chat-composer__voice,
.chat-stream .chat-form--messenger .chat-composer__video{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__send{right:8px}
.chat-stream .chat-form--messenger .chat-composer__send.is-send{
  background:linear-gradient(180deg,#2aa86a,#1b764b);
  border-color:rgba(59,213,136,.45);
}
.chat-stream .chat-form--messenger .chat-composer__send.is-record{
  background:linear-gradient(180deg,#2a6f9f,#1b4567);
  border-color:rgba(104,184,255,.45);
}
.chat-stream .chat-form--messenger .chat-composer__send.is-video-mode{
  background:linear-gradient(180deg,#8756e8,#5c35a8);
  border-color:rgba(177,147,255,.42);
}
.chat-stream .chat-form--messenger .chat-composer__send.is-recording{
  background:linear-gradient(180deg,#d6424f,#8f2431);
  border-color:rgba(255,133,147,.6);
  box-shadow:0 0 0 3px rgba(227,63,82,.2);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  border:0;
  background:rgba(4,8,14,.58);
  opacity:0;
  transition:opacity .2s ease;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-backdrop.is-open{opacity:1}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-backdrop[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:91;
  display:grid;
  gap:10px;
  padding:10px 12px calc(12px + var(--safe-bottom));
  border-top-left-radius:20px;
  border-top-right-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  border-bottom:0;
  background:linear-gradient(180deg,rgba(8,16,29,.985),rgba(6,12,24,.99));
  box-shadow:0 -16px 44px rgba(0,0,0,.45);
  transform:translateY(104%);
  transition:transform .22s cubic-bezier(.22,.9,.26,1);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet.is-open{transform:translateY(0)}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-handle{
  width:42px;
  height:4px;
  border-radius:999px;
  margin-inline:auto;
  background:rgba(182,210,238,.55);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-title{
  margin:0;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  color:#eaf6ff;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:8px;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-camera{
  appearance:none;
  border:1px solid rgba(120,198,255,.42);
  background:rgba(32,95,141,.2);
  color:#ecf8ff;
  border-radius:14px;
  min-height:100%;
  padding:10px 8px;
  display:grid;
  place-items:center;
  gap:4px;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-camera-icon{
  font-size:20px;
  line-height:1;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-camera-text{
  font-size:11px;
  font-weight:700;
  color:#c7e6ff;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery-main{
  appearance:none;
  border:1px solid rgba(120,198,255,.42);
  background:rgba(32,95,141,.2);
  color:#ecf8ff;
  border-radius:14px;
  padding:10px 12px;
  display:grid;
  gap:6px;
  text-align:left;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery-title{
  font-size:14px;
  font-weight:800;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery-meta{
  font-size:12px;
  color:#b7d7f3;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery-preview{
  width:100%;
  min-height:78px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.2);
  margin-top:2px;
  background:rgba(255,255,255,.05) center/cover no-repeat;
  overflow:hidden;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery-video{
  display:block;
  width:100%;
  height:96px;
  object-fit:cover;
  background:#020712;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#e7f4ff;
  border-radius:12px;
  padding:10px 8px;
  text-align:left;
  display:grid;
  gap:4px;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn strong{
  font-size:13px;
  font-weight:800;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn span{
  font-size:11px;
  line-height:1.2;
  color:#b7d3eb;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn--accent{
  border-color:rgba(78,219,145,.46);
  background:rgba(29,113,77,.24);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn:disabled{
  opacity:.58;
  filter:saturate(.75);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location{
  display:grid;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:8px;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-image{
  width:100%;
  min-height:130px;
  max-height:160px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-meta{
  margin:0;
  font-size:12px;
  color:#c8e3fa;
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-map{
  width:100%;
  min-height:170px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(10,22,37,.78);
}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-map[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.chat-attach-sheet-open{
  overflow:hidden;
  overscroll-behavior:none;
}
.chat-stream .chat-form--messenger .chat-composer__record-state{
  margin-top:8px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(177,44,63,.18);
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#ffe1e6;
}
.chat-stream .chat-form--messenger .chat-composer__record-state[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__record-live{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
}
.chat-stream .chat-form--messenger .chat-composer__record-live[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__record-live-video{
  width:110px;
  height:110px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid rgba(100,190,255,.66);
  box-shadow:0 8px 20px rgba(0,0,0,.34);
  background:#0a1220;
}
.chat-stream .chat-form--messenger .chat-composer__record-state.is-cancel{
  border-color:rgba(255,182,89,.45);
  background:rgba(155,95,31,.22);
  color:#ffe8cf;
}
.chat-stream .chat-form--messenger .chat-composer__record-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ff5f7a;
  box-shadow:0 0 0 0 rgba(255,95,122,.65);
  animation:chat-record-pulse 1.05s infinite;
}
@keyframes chat-record-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,95,122,.6)}
  75%{box-shadow:0 0 0 8px rgba(255,95,122,0)}
  100%{box-shadow:0 0 0 0 rgba(255,95,122,0)}
}
.chat-stream .chat-form--messenger .chat-composer__preview{
  margin-top:8px;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(14,25,42,.85);
  display:grid;
  gap:8px;
}
.chat-stream .chat-form--messenger .chat-composer__preview[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__preview-title{
  font-size:12px;
  font-weight:800;
  color:#d8edff;
}
.chat-stream .chat-form--messenger .chat-composer__preview-media{
  max-width:100%;
  max-height:170px;
  object-fit:contain;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:#071222;
}
.chat-stream .chat-form--messenger .chat-composer__preview.is-video-note .chat-composer__preview-media,
.chat-stream .chat-form--messenger .chat-composer__preview-media--video-note{
  width:168px;
  height:168px;
  max-height:none;
  border-radius:999px;
  object-fit:cover;
  margin-inline:auto;
}
.chat-stream .chat-form--messenger .chat-composer__preview .chat-composer__preview-video-note{
  margin-inline:auto;
}
.chat-stream .chat-form--messenger .chat-composer__preview-note{
  font-size:12px;
  color:#b9d4ef;
  line-height:1.35;
  word-break:break-word;
}
.chat-stream .chat-form--messenger .chat-composer__preview-file{
  width:100%;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#e7f2ff;
  padding:10px;
  font-size:13px;
  font-weight:700;
  word-break:break-word;
}
.chat-stream .chat-form--messenger .chat-composer__preview-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.chat-stream .chat-form--messenger .chat-composer__notice{
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.35;
}
.chat-stream .chat-form--messenger .chat-composer__notice[hidden]{display:none!important}
.chat-stream .chat-form--messenger .chat-composer__notice.is-info{
  border:1px solid rgba(92,183,255,.34);
  background:rgba(43,91,141,.2);
  color:#d5eefe;
}
.chat-stream .chat-form--messenger .chat-composer__notice.is-error{
  border:1px solid rgba(255,118,134,.38);
  background:rgba(143,37,57,.24);
  color:#ffe2e7;
}
.chat-stream .chat-form--messenger .chat-composer__mention-hint{
  margin:0 0 8px;
  font-size:12px;
  line-height:1.35;
  color:#b8d4e9;
}
.chat-stream .chat-form--messenger .chat-composer__file-label--stack{display:none}
.chat-stream .chat-readonly-note--inline{
  margin:0;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(7,16,32,.82);
}
.chat-stream .chat-readonly-note--inline p{
  margin:0 0 10px;
}
body.chat-record-gesture,
body.chat-record-gesture *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
.chat-participants-spoiler[open] .chat-presence-list{
  max-height:180px;
  overflow:auto;
  padding-right:2px;
}

@media (max-width:760px){
  .chat-layout-shell.section{padding:6px 0 4px}
  .chat-card--full{padding:10px}
  .chat-card--full .section-head{gap:8px}
  .chat-card--full .section-head .btn{padding:8px 10px;font-size:12px}
  .chat-common-head__actions{width:100%;justify-content:space-between}
  .chat-common-head__icon-btn{width:38px;min-width:38px;height:38px}
  .chat-common-head__room-btn{flex:1 1 auto;max-width:none}
  .chat-common-head__head-toggle{margin-left:auto}
  body.chat-screen-open .chat-common-head{gap:6px}
  body.chat-screen-open .chat-common-head__room-title{font-size:18px}
  .chat-common-sections-drawer,
  .chat-common-online-drawer,
  .chat-common-settings-drawer{
    width:min(92vw,340px);
    top:calc(var(--chat-topbar-height,78px) + var(--safe-top));
    padding:10px;
  }
  .chat-common-hub__room-actions{align-items:stretch}
  .chat-common-hub__room-actions .btn{width:100%}
  .chat-layout-shell.chat-no-room .chat-common-hub{
    justify-items:center;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room{
    width:min(100%,560px);
    margin-inline:auto;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room-actions{
    align-items:center;
    justify-content:center;
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__room-actions .btn{
    width:min(100%,520px);
  }
  .chat-layout-shell.chat-no-room .chat-common-hub__state{
    margin-inline:auto;
  }
  .chat-common-online-user__identity img{width:34px;height:34px;border-radius:11px}
  .chat-common-online-user__actions .btn{font-size:12px}
  .chat-stream .chat-box{padding:8px;gap:8px}
  body.chat-screen-open .chat-bubble{
    padding:10px 12px;
    border-radius:16px;
    max-width:96%;
    font-size:14px;
  }
  body.chat-screen-open .chat-bubble__body{font-size:14px;line-height:1.45}
  body.chat-screen-open .chat-bubble__meta{margin-top:8px;font-size:11px}
  body.chat-screen-open .chat-bubble__reply{padding:8px 10px}
  body.chat-screen-open .chat-bubble__reply strong{font-size:11px}
  body.chat-screen-open .chat-bubble__reply span{font-size:12px}
  .chat-stream .chat-form--messenger{padding:6px}
  body.chat-screen-open.chat-room-open .chat-stream,
  body.chat-screen-open.chat-composer-fixed .chat-stream{--chat-composer-fixed-height:86px}
  body.chat-screen-open.chat-room-open .chat-stream .chat-form--messenger,
  body.chat-screen-open.chat-composer-fixed .chat-stream .chat-form--messenger{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:calc(100vw - 10px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    bottom:calc(var(--safe-bottom) + 3px);
  }
  .chat-stream .chat-form--messenger .comment-editor-tool{width:38px;min-width:38px;height:38px;font-size:15px}
  .chat-stream .chat-form--messenger .chat-composer__send{width:38px;min-width:38px;height:38px;font-size:16px}
  .chat-stream .chat-form--messenger .chat-composer__input{min-height:50px;max-height:116px;padding:12px 96px 12px 48px}
  .chat-stream .chat-form--messenger .chat-composer__emoji{left:6px}
  .chat-stream .chat-form--messenger .chat-composer__attach{right:46px}
  .chat-stream .chat-form--messenger .chat-composer__send{right:6px}
  .chat-stream .chat-form--messenger .chat-composer__attach-sheet{padding:8px 10px calc(10px + var(--safe-bottom));gap:8px}
  .chat-stream .chat-form--messenger .chat-composer__attach-sheet-gallery{grid-template-columns:74px minmax(0,1fr)}
  .chat-stream .chat-form--messenger .chat-composer__attach-sheet-actions{grid-template-columns:1fr}
  .chat-stream .chat-form--messenger .chat-composer__attach-sheet-location-actions{grid-template-columns:1fr}
  .chat-stream .chat-form--messenger .chat-composer__attach-sheet-btn{padding:9px 10px}
  .chat-card--pm .chat-form--messenger .chat-composer__input{min-height:50px;max-height:116px;padding:12px 96px 12px 48px}
  .chat-card--pm .chat-form--messenger .comment-editor-tool{width:38px;min-width:38px;height:38px;font-size:15px}
  .chat-card--pm .chat-form--messenger .chat-composer__send{width:38px;min-width:38px;height:38px;font-size:16px;right:6px}
  .chat-card--pm .chat-form--messenger .chat-composer__emoji{left:6px}
  .chat-card--pm .chat-form--messenger .chat-composer__attach{right:46px}
}

body[data-theme="light"] .menu-toggle,
body[data-theme="light"] .chip,
body[data-theme="light"] .icon-chip,
body[data-theme="light"] .user-chip,
body[data-theme="light"] .top-links a,
body[data-theme="light"] .drawer-nav a,
body[data-theme="light"] .btn,
body[data-theme="light"] .hero-card,
body[data-theme="light"] .card,
body[data-theme="light"] .stat-card,
body[data-theme="light"] .metric-card,
body[data-theme="light"] .list-row,
body[data-theme="light"] .table-wrap,
body[data-theme="light"] input,
body[data-theme="light"] textarea,
body[data-theme="light"] select,
body[data-theme="light"] .chat-bubble,
body[data-theme="light"] .chat-room-membership,
body[data-theme="light"] .chat-common-hub__room,
body[data-theme="light"] .chat-common-online-user,
body[data-theme="light"] .chat-common-sections-drawer__item,
body[data-theme="light"] .chat-stream .chat-form--messenger,
body[data-theme="light"] .chat-stream .chat-form--messenger .chat-composer__input,
body[data-theme="light"] .chat-stream .chat-readonly-note--inline,
body[data-theme="light"] .chat-room-lock-overlay__card,
body[data-theme="light"] .empty{
  border-color:rgba(0,0,0,.72)!important;
}
body[data-theme="light"] .chat-common-online-drawer,
body[data-theme="light"] .chat-common-sections-drawer,
body[data-theme="light"] .chat-common-settings-drawer{
  background:linear-gradient(180deg,rgba(252,254,255,.985),rgba(244,249,255,.985));
  border-color:rgba(0,0,0,.54);
  color:#0f2441;
}
body[data-theme="light"] .chat-common-online-drawer__head strong,
body[data-theme="light"] .chat-common-sections-drawer__head strong,
body[data-theme="light"] .chat-common-settings-drawer__head strong{
  color:#0f2441;
}
body[data-theme="light"] .chat-common-online-drawer__close,
body[data-theme="light"] .chat-common-sections-drawer__close,
body[data-theme="light"] .chat-common-settings-drawer__close{
  border-color:rgba(0,0,0,.38);
  color:#0f2441;
  background:rgba(12,36,69,.06);
}
body[data-theme="light"] .chat-common-sections-drawer__item{
  background:#f3f8fe;
  color:#102746;
}
body[data-theme="light"] .chat-common-sections-drawer__item strong{
  color:#0f2644;
}
body[data-theme="light"] .chat-common-sections-drawer__item span{
  color:#35587c;
}
body[data-theme="light"] .chat-common-sections-drawer__item .chat-common-sections-drawer__meta{
  color:#244b73;
}
body[data-theme="light"] .chat-common-sections-drawer__item.is-active{
  background:#d8eaf9;
  border-color:rgba(52,110,165,.62)!important;
}
body[data-theme="light"] .chat-common-hub__state{
  font-weight:700;
  border-width:1px;
}
body[data-theme="light"] .chat-common-hub__state.is-joined{
  border-color:#19a44a !important;
  background:#dcf8e6;
  color:#0e7f33;
}
body[data-theme="light"] .chat-common-hub__state.is-locked{
  border-color:#d43232 !important;
  background:#ffe3e3;
  color:#b11f1f;
}
body[data-theme="light"] .chat-message-reaction-actors{
  color:#244f7b;
}
body[data-theme="light"] .chat-common-online-user{
  border-color:rgba(0,0,0,.28)!important;
  background:#ffffff;
}
body[data-theme="light"] .chat-common-online-user__main{
  color:#0f2441;
}
body[data-theme="light"] .chat-common-online-user__identity small{
  color:#314f74;
}
body[data-theme="light"] .chat-common-online-user__actions .btn{
  border-color:rgba(0,0,0,.42);
  color:#0f2441;
  background:#fff;
}
body[data-theme="light"] .chat-common-offline-spoiler{
  border-color:rgba(0,0,0,.26);
  background:rgba(10,30,58,.03);
}
body[data-theme="light"] .chat-room-lock-overlay__card strong,
body[data-theme="light"] .chat-room-lock-overlay__card p{
  color:#ffffff!important;
}
body[data-theme="light"] .chat-room-lock-overlay__card .btn{
  border-color:rgba(0,0,0,.72)!important;
  color:#ffffff!important;
}
body[data-theme="light"] .chat-head-floating-toggle{
  border-color:rgba(0,0,0,.65)!important;
  color:#0f2441;
  background:rgba(248,251,255,.55);
}

/* People page dark-mode override for legacy inline styles */
body[data-theme-mode="dark"] .people-grid .people-card{
  background:linear-gradient(180deg,rgba(16,30,48,.98),rgba(11,22,36,.98))!important;
  border-color:rgba(123,157,208,.38)!important;
}
body[data-theme-mode="dark"] .people-grid .people-card .people-name{
  color:#f4f8ff!important;
}
body[data-theme-mode="dark"] .people-grid .people-card .people-meta{
  color:rgba(188,208,240,.92)!important;
}
body[data-theme-mode="dark"] .people-grid .people-card .people-badge{
  color:#e7f0ff!important;
  background:rgba(121,161,226,.16)!important;
  border-color:rgba(130,169,228,.34)!important;
}
body[data-theme-mode="dark"] .people-grid .people-card .people-text{
  color:#d4e2f7!important;
}

/* Mobile scroll repair: document scrolls once; fixed topbar gets an app-shell spacer; closed overlays cannot catch touches. */
@media (max-width:760px){
  html{height:auto!important;min-height:100%!important;overflow-y:auto!important;touch-action:auto!important;overscroll-behavior-y:auto!important}
  body{height:auto!important;min-height:100%!important;overflow-y:visible!important;touch-action:auto!important;overscroll-behavior-y:auto!important;padding-top:0!important}
  body.drawer-open,body.profile-drawer-open,body.admin-nav-open{overflow:hidden!important}
  body:not(.drawer-open):not(.profile-drawer-open) .drawer-overlay{display:none!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important}
  body:not(.admin-nav-open) .admin-sidebar-overlay{display:none!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important}
  body:not(.chat-screen-open) .app-shell{height:auto!important;min-height:100vh!important;overflow:visible!important}
}
body.chat-screen-open{overscroll-behavior-y:contain;touch-action:pan-y}

/* Chat-only mobile lock: prevents Android pull-to-refresh without affecting normal site pages. */
html.chat-page-lock,
html.chat-page-lock body.chat-screen-open{
  height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
}
body.chat-screen-open .app-shell{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
body.chat-screen-open .chat-card,
body.chat-screen-open .chat-stream,
body.chat-screen-open .pm-thread-shell{
  min-height:0!important;
  overscroll-behavior:contain!important;
}
body.chat-screen-open .chat-box,
body.chat-screen-open .pm-thread-box{
  overscroll-behavior:contain!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}

.chat-composer__preview-waveform{
  position:relative;
  max-width:min(100%,360px);
  border:1px solid rgba(128,170,226,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.chat-composer__preview-waveform .pm-audio-play{
  background:linear-gradient(180deg,#2aa86a,#1b764b);
}
.chat-composer__preview-waveform .pm-audio-wave-bar{
  opacity:.88;
}
.chat-composer__preview-audio-engine{
  position:absolute;
  width:1px;
  height:1px;
  opacity:.01;
  pointer-events:none;
  overflow:hidden;
}
.chat-composer__preview-waveform.is-preview{
  flex-wrap:nowrap;
}
.chat-composer__preview-video-note.has-frame .comment-video-note-play{
  background:rgba(7,13,25,.42);
}

/* Final topbar/scroll lock fix: one document scrollbar, fixed site header. */
html{overflow-y:auto!important;overflow-x:hidden!important}
body:not(.drawer-open):not(.profile-drawer-open):not(.admin-nav-open):not(.chat-screen-open){overflow-y:visible!important;overflow-x:hidden!important}
.topbar{position:fixed!important;left:0!important;right:0!important;top:0!important;width:100%!important;z-index:1600!important}
.topbar ~ main{padding-top:calc(var(--topbar-height) + var(--safe-top) + 22px)!important}
body.admin-page .topbar ~ main{padding-top:calc(var(--topbar-height) + var(--safe-top))!important}
@media (max-width:760px){
  :root{--topbar-height:72px}
  .topbar ~ main{padding-top:calc(var(--topbar-height) + var(--safe-top) + 12px)!important}
}

/* Admin UX polish: keep admin controls visible and let the mobile sidebar scroll itself. */
body.admin-page .admin-main{overflow:visible!important}
body.admin-page .admin-topbar{
  position:sticky!important;
  top:0!important;
  z-index:1250!important;
  margin:-26px -26px 18px!important;
  padding:16px 26px 14px!important;
  background:rgba(246,248,252,.96)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
body.admin-page:not([data-theme="light"]) .admin-topbar{
  background:rgba(11,21,36,.96)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24)!important;
}
@media (min-width:1081px){
  body.admin-page .admin-sidebar{
    position:sticky!important;
    top:0!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
}
@media (max-width:1080px){
  body.admin-page .admin-sidebar{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding-bottom:calc(24px + var(--safe-bottom))!important;
    z-index:1900!important;
  }
  body.admin-page .admin-sidebar-overlay{touch-action:none!important;z-index:1850!important}
  body.admin-nav-open .admin-sidebar{pointer-events:auto!important}
  body.admin-nav-open .admin-topbar{z-index:1200!important}
  body.admin-nav-open{overflow:hidden!important}
}

/* Admin mobile safety net: pages must never become wider than the phone viewport. */
@media (max-width:760px){
  body.admin-page,
  body.admin-page .app-shell,
  body.admin-page .admin-shell,
  body.admin-page .admin-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  body.admin-page .admin-main{
    padding-left:10px!important;
    padding-right:10px!important;
    padding-bottom:calc(24px + var(--safe-bottom))!important;
  }
  body.admin-page .admin-topbar{
    margin:-14px -10px 14px!important;
    padding:12px 10px!important;
  }
  body.admin-page .admin-topbar-title{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
  }
  body.admin-page .admin-topbar-title .hint{
    grid-column:1/-1;
  }
  body.admin-page .admin-topbar h1{
    min-width:0!important;
    font-size:clamp(24px,8vw,34px)!important;
    line-height:1.08!important;
  }
  body.admin-page .admin-card,
  body.admin-page .settings-card,
  body.admin-page .card,
  body.admin-page form,
  body.admin-page fieldset,
  body.admin-page .table-wrap,
  body.admin-page .admin-inline-grid,
  body.admin-page .admin-grid,
  body.admin-page .card-list,
  body.admin-page .list-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.admin-page .admin-card,
  body.admin-page .settings-card{
    padding:14px!important;
    border-radius:18px!important;
  }
  body.admin-page input,
  body.admin-page textarea,
  body.admin-page select,
  body.admin-page button,
  body.admin-page .btn{
    max-width:100%!important;
    min-width:0;
    box-sizing:border-box;
  }
  body.admin-page input[type="file"]{
    width:100%;
    font-size:14px;
  }
  body.admin-page .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
  }
  body.admin-page .section-head .btn{
    width:100%;
    justify-content:center;
  }
  body.admin-page .table-wrap{
    margin-left:0!important;
    margin-right:0!important;
    border-radius:16px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
  }
  body.admin-page table{
    min-width:640px!important;
  }
  body.admin-page td,
  body.admin-page th{
    overflow-wrap:anywhere!important;
  }
}
@media (max-width:760px){
  body.admin-page .admin-topbar{
    margin:-14px -12px 14px!important;
    padding:12px!important;
  }
}

/* Admin top controls must stay visible even when the page itself scrolls. */
body.admin-page .admin-main{
  padding-top:112px!important;
}
body.admin-page .admin-topbar{
  position:fixed!important;
  top:0!important;
  left:290px!important;
  right:0!important;
  margin:0!important;
  padding:14px 26px!important;
  z-index:1250!important;
}
body.admin-page .admin-topbar-actions,
body.admin-page .admin-topbar-extra-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.admin-page .admin-context-user-link[hidden]{
  display:none!important;
}
@media (max-width:1080px){
  body.admin-page .admin-main{
    padding-top:118px!important;
  }
  body.admin-page .admin-topbar{
    left:0!important;
    padding:12px!important;
  }
}
@media (max-width:760px){
  body.admin-page .admin-main{
    padding-top:78px!important;
  }
  body.admin-page .admin-topbar{
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    min-height:58px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body.admin-page .admin-topbar::-webkit-scrollbar{
    display:none!important;
  }
  body.admin-page .admin-topbar > .admin-topbar-title,
  body.admin-page .admin-topbar > .admin-topbar-actions{
    width:auto!important;
    min-width:0!important;
  }
  body.admin-page .admin-topbar-title h1,
  body.admin-page .admin-topbar-title .hint{
    display:none!important;
  }
  body.admin-page .admin-menu-toggle{
    display:inline-flex!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  body.admin-page .admin-topbar-actions{
    margin-left:auto!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  body.admin-page .admin-topbar-extra-actions{
    display:none!important;
  }
  body.admin-page .admin-topbar-actions .btn{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:9px 11px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }
  body.admin-page .admin-context-user-link:not([hidden]){
    display:inline-flex!important;
  }
}
@media (max-width:420px){
  body.admin-page .admin-topbar-actions .theme-toggle__text{
    display:none!important;
  }
  body.admin-page .admin-topbar-actions .btn{
    padding:9px 10px!important;
  }
}

/* DLE-like public news rendering. */
.news-content{display:grid;gap:14px;line-height:1.72;color:var(--text)}
.news-content p{margin:0}
.news-content img{max-width:100%;height:auto;border-radius:18px}
.news-content .news-content-image{margin:10px 0;display:grid;gap:8px}
.news-content .news-content-image img{width:var(--img-width,100%);max-width:100%;border-radius:var(--img-radius,18px);object-fit:cover;object-position:var(--img-pos,50% 50%);justify-self:center}
.news-content .news-content-image--left img{justify-self:start}
.news-content .news-content-image--right img{justify-self:end}
.news-content .news-content-image figcaption{color:var(--muted);font-size:13px;text-align:center}
.news-content blockquote{margin:0;padding:14px 16px;border-left:3px solid rgba(59,130,246,.7);border-radius:14px;background:rgba(59,130,246,.1)}
.news-admin-edit{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* Generic content comments and DLE-like news details. */
.news-detail-shell{display:grid;gap:24px}
.news-detail-card{border:1px solid rgba(120,170,255,.18);background:linear-gradient(180deg,rgba(10,18,31,.94),rgba(8,13,23,.88));border-radius:28px;padding:clamp(18px,3vw,34px);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.news-detail-title{font-size:clamp(34px,5vw,68px);line-height:.98;margin:16px 0 12px;letter-spacing:-.045em}
.news-detail-lead{max-width:850px;color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.55;margin:0 0 22px}
.news-detail-cover{width:100%;max-height:620px;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 55px rgba(0,0,0,.34);background:rgba(255,255,255,.04)}
.news-detail-cover--compact{max-height:360px;object-position:center;display:block;margin:18px 0 12px}
.news-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.news-detail-body{font-size:18px;line-height:1.72;color:var(--text);overflow-wrap:anywhere}
.news-detail-body img{max-width:100%;height:auto;border-radius:18px}
.news-detail-body iframe,.news-detail-body video{max-width:100%;border-radius:18px}
.news-reaction-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:999px;padding:9px 13px;color:var(--muted);font-weight:800}
.btn.is-active,.secondary.is-active{background:rgba(51,199,255,.18)!important;border-color:rgba(51,199,255,.44)!important;color:#e9f8ff!important}
.inline-form{display:inline-flex;margin:0}
.content-comments{border:1px solid rgba(120,170,255,.16);background:rgba(6,12,22,.72);border-radius:28px;padding:clamp(16px,3vw,28px);display:grid;gap:18px}
.content-comments__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.content-comments__head h2{margin:4px 0 0;font-size:clamp(28px,4vw,46px);letter-spacing:-.035em}
.content-comments__notice{border-radius:16px;padding:12px 14px;font-weight:800;border:1px solid rgba(255,255,255,.1)}
.content-comments__notice.is-success{background:rgba(30,190,108,.12);border-color:rgba(30,190,108,.35);color:#b9ffd7}
.content-comments__notice.is-error{background:rgba(255,96,96,.12);border-color:rgba(255,96,96,.35);color:#ffd1d1}
.content-comments__login{border:1px dashed rgba(120,170,255,.25);background:rgba(255,255,255,.035);border-radius:22px;padding:20px}
.content-comments__login h3{margin:0 0 8px;font-size:24px}
.content-comments__login p{margin:0 0 14px;color:var(--muted);line-height:1.55}
.content-comment-form{position:relative;top:auto;bottom:auto}
.content-comment-textarea{width:100%;min-height:170px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(2,8,16,.72);color:var(--text);padding:14px;font:inherit;resize:vertical}
.content-comment-list{display:grid;gap:14px}
.content-comment-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:22px;padding:14px}
.content-comment-card.is-reply{border-radius:18px;background:rgba(51,199,255,.055)}
.content-comment-avatar{width:52px;height:52px;border-radius:16px;object-fit:cover;border:1px solid rgba(255,255,255,.15)}
.content-comment-main{min-width:0;display:grid;gap:10px}
.content-comment-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.content-comment-body{line-height:1.6;overflow-wrap:anywhere;color:var(--text)}
.content-comment-body img{max-width:100%;height:auto;border-radius:14px;margin:8px 0}
.content-comment-body blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid rgba(51,199,255,.55);background:rgba(51,199,255,.08);border-radius:12px}
.content-comment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.content-comment-replies{display:grid;gap:12px;margin-top:8px;padding-left:16px;border-left:1px solid rgba(120,170,255,.18)}
body[data-theme="light"] .news-detail-card,body[data-theme="light"] .content-comments{background:rgba(255,255,255,.88);border-color:rgba(17,43,77,.12);box-shadow:0 24px 70px rgba(17,43,77,.1)}
body[data-theme="light"] .content-comment-card,body[data-theme="light"] .content-comments__login{background:rgba(17,43,77,.035);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .content-comment-textarea{background:rgba(255,255,255,.92);border-color:rgba(17,43,77,.14);color:#07101c}
@media (max-width:760px){.news-detail-card,.content-comments{border-radius:22px;padding:16px}.news-detail-cover{border-radius:18px;max-height:420px}.news-detail-cover--compact{max-height:260px}.news-detail-body{font-size:16px}.content-comment-card{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}.content-comment-avatar{width:42px;height:42px;border-radius:13px}.content-comment-replies{padding-left:8px}.comment-editor-tools{gap:6px}.comment-editor-tool{min-width:34px;height:32px;padding:0 8px}}

/* News modern polish 2026-05-03: readable list, compact reactions and medium comment media. */
.news-modern-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(18px,3vw,34px) 0 56px;display:grid;gap:24px}
.news-modern-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);background:linear-gradient(135deg,rgba(11,24,42,.92),rgba(8,15,27,.78));border-radius:28px;padding:clamp(18px,3vw,30px);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.news-modern-hero h1{margin:8px 0 0;font-size:clamp(34px,5vw,62px);line-height:1;letter-spacing:-.045em}
.news-modern-hero p{margin:10px 0 0;max-width:720px;color:var(--muted);line-height:1.55}
.news-modern-actions,.news-modern-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.news-modern-grid{display:grid;gap:18px}
.news-modern-card{position:relative;display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr) auto;gap:18px;align-items:stretch;border:1px solid rgba(120,170,255,.16);background:linear-gradient(180deg,rgba(10,20,34,.96),rgba(7,14,25,.91));border-radius:28px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden}
.news-modern-cover-wrap{display:block;min-height:220px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.news-modern-cover{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;transition:transform .25s ease}
.news-modern-card:hover .news-modern-cover{transform:scale(1.025)}
.news-modern-body{min-width:0;display:flex;flex-direction:column;gap:12px;padding:6px 0}
.news-modern-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:750}
.news-modern-badge{display:inline-flex;align-items:center;border:1px solid rgba(51,199,255,.28);background:rgba(51,199,255,.1);color:#c9efff;border-radius:999px;padding:5px 9px}
.news-modern-body h2{margin:0;font-size:clamp(24px,3vw,38px);line-height:1.05;letter-spacing:-.035em}
.news-modern-body h2 a{color:inherit;text-decoration:none}
.news-modern-body h2 a:hover{color:#9ddcff}
.news-modern-body p{margin:0;color:var(--muted);line-height:1.65;font-size:16px;max-width:760px}
.news-modern-footer{margin-top:auto}
.news-reaction-rail{display:flex;flex-direction:column;gap:8px;align-self:center;justify-self:end}
.reaction-mini{min-width:54px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#edf6ff;border-radius:999px;font-weight:900;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;padding:0 11px;line-height:1}
.reaction-mini:hover{transform:translateY(-1px);background:rgba(255,255,255,.09)}
.reaction-mini.is-active{background:rgba(244,63,94,.18)!important;border-color:rgba(251,113,133,.42)!important;color:#fff!important}
.reaction-mini.is-dislike.is-active{background:rgba(245,158,11,.18)!important;border-color:rgba(251,191,36,.42)!important}
.news-detail-actions .reaction-mini,.content-comment-actions .reaction-mini{height:36px;min-width:48px;font-size:14px}
.content-comment-body .content-comment-image,.content-comment-body img{max-width:min(420px,100%);height:auto;border-radius:16px;margin:10px 0;display:block;box-shadow:0 14px 38px rgba(0,0,0,.22)}
.comment-emoji-panel{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045)}
.comment-emoji-panel button{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.06);cursor:pointer}
.news-content .news-content-image--shadow img,.news-content .news-content-image--shadow a{box-shadow:0 18px 42px rgba(0,0,0,.32)}
.news-content .news-content-image a{display:block;justify-self:center;max-width:100%}
.news-content .news-content-image a img{display:block}
body[data-theme="light"] .news-modern-hero,body[data-theme="light"] .news-modern-card{background:rgba(255,255,255,.9);border-color:rgba(17,43,77,.12);box-shadow:0 20px 55px rgba(17,43,77,.11)}
body[data-theme="light"] .news-modern-badge{background:rgba(37,99,235,.09);border-color:rgba(37,99,235,.22);color:#174077}
body[data-theme="light"] .reaction-mini{background:#fff;color:#183454;border-color:rgba(17,43,77,.14)}
@media(max-width:880px){.news-modern-card{grid-template-columns:1fr}.news-reaction-rail{flex-direction:row;justify-self:start;align-self:start}.news-modern-cover-wrap,.news-modern-cover{min-height:240px}.news-modern-shell{width:min(100% - 20px,1180px)}}
@media(max-width:520px){.news-modern-hero,.news-modern-card{border-radius:22px;padding:14px}.news-modern-cover-wrap,.news-modern-cover{min-height:210px;border-radius:18px}.news-modern-actions .btn,.news-modern-footer .btn{width:100%;justify-content:center}.news-modern-meta{font-size:12px}.reaction-mini{height:34px;min-width:46px}}

/* Reference UI pass 2026-05-04: news cards + social comments panel. */
.news-board-shell{width:min(1500px,calc(100% - 56px));padding-top:44px;gap:34px}
.news-board-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 14px;background:radial-gradient(circle at 8% 0%,rgba(14,165,233,.11),transparent 34%),radial-gradient(circle at 88% 0%,rgba(34,197,94,.09),transparent 30%)}
.news-board-title{display:grid;gap:14px;color:var(--text)}
.news-board-title>span:not(.news-board-icon){font-weight:900;font-size:18px;display:flex;align-items:center;gap:10px}
.news-board-title h1{font-size:clamp(38px,4vw,58px);line-height:1;letter-spacing:-.045em;margin:0}
.news-board-title p{max-width:780px;color:var(--muted);font-size:18px;line-height:1.55;margin:0}
.news-board-icon{width:28px;height:28px;display:inline-grid;place-items:center;color:#23e08d;font-size:24px;filter:drop-shadow(0 0 18px rgba(34,197,94,.4))}
.news-add-button{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border:1px solid rgba(34,197,94,.45);background:linear-gradient(135deg,rgba(16,185,129,.2),rgba(20,83,45,.25));color:#dfffea;border-radius:18px;padding:16px 22px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.18)}
.news-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.news-board-card{position:relative;display:flex;flex-direction:column;min-height:520px;border:1px solid rgba(116,142,186,.24);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(15,29,48,.96),rgba(8,17,31,.96));box-shadow:0 28px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05)}
.news-board-cover{position:relative;display:block;height:300px;overflow:hidden;background:#111827;text-decoration:none}
.news-board-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,filter .35s ease}
.news-board-card:hover .news-board-cover img{transform:scale(1.035);filter:saturate(1.08)}
.news-board-category{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;border:1px solid rgba(34,197,94,.55);background:rgba(7,29,26,.76);color:#a8ffd2;border-radius:12px;padding:8px 14px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.25);backdrop-filter:blur(10px)}
.news-board-content{display:flex;flex:1;flex-direction:column;gap:14px;padding:22px}
.news-board-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#b9c6dc;font-weight:800;font-size:15px}
.news-board-important{margin-left:auto;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.12);color:#b6ffd6;border-radius:12px;padding:5px 10px}
.news-board-content h2{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.025em}
.news-board-content h2 a{color:#fff;text-decoration:none}.news-board-content h2 a:hover{color:#b8eaff}
.news-board-content p{color:#c5d2e7;line-height:1.62;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-board-footer{display:flex;align-items:center;gap:14px;margin-top:auto}
.news-card-reactions{display:flex;align-items:center;gap:8px}
.news-like-pill,.news-dislike-pill{height:48px;min-width:78px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(244,63,94,.16);border-radius:14px;background:rgba(244,63,94,.12);color:#fff;font-weight:950;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.news-like-pill{color:#fff}.news-like-pill::first-letter{color:#ff3d61}.news-like-pill.is-active{background:rgba(244,63,94,.24)!important;border-color:rgba(244,63,94,.48)!important}.news-like-pill span{color:#fff}
.news-dislike-pill{min-width:54px;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.16);color:#aebbd1}.news-dislike-pill.is-active{background:rgba(245,158,11,.18)!important;border-color:rgba(245,158,11,.38)!important;color:#fff}
.news-read-button{height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:0 24px;background:linear-gradient(135deg,rgba(16,185,129,.78),rgba(20,83,45,.78));border:1px solid rgba(34,197,94,.35);color:white;text-decoration:none;font-weight:950;box-shadow:0 14px 34px rgba(16,185,129,.14)}
.news-bookmark-button{margin-left:auto;width:48px;height:48px;display:inline-grid;place-items:center;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.04);color:#dbe7ff;text-decoration:none;font-weight:900}
.news-detail-card{width:min(1000px,100%);margin:0 auto;border-radius:28px}.news-detail-actions.news-article-reactions{justify-content:flex-start;margin:20px 0 26px}.news-detail-actions.news-article-reactions .news-like-pill,.news-detail-actions.news-article-reactions .news-dislike-pill{height:42px;min-width:72px;border-radius:13px}
.comments-social-panel{width:min(1320px,100%);margin:10px auto 0;padding:40px!important;border-radius:24px!important;background:radial-gradient(circle at 4% 18%,rgba(124,58,237,.15),transparent 32%),linear-gradient(180deg,rgba(9,16,31,.96),rgba(6,10,20,.96))!important;border-color:rgba(126,147,190,.22)!important;box-shadow:0 26px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04)}
.comments-social-kicker{display:flex;align-items:center;gap:12px;color:#cabdff;font-weight:900;font-size:18px}.comments-social-kicker span{color:#8b5cf6;font-size:26px}.content-comments__head h2{font-size:clamp(38px,4vw,58px)!important;line-height:1!important;margin:14px 0 12px!important}.content-comments__head p{margin:0;color:#bcc7dc;font-size:17px}.content-comments__head p span{color:#36e58f}.comments-count-pill{height:44px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(126,147,190,.18);background:rgba(255,255,255,.04);border-radius:999px;padding:0 18px;color:#bfffd4;font-weight:950}
.comments-composer{display:grid!important;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:18px!important;border:1px solid rgba(139,92,246,.38);border-radius:20px!important;background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(15,23,42,.55))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.comments-composer-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.15);background:#111827}.comments-composer-main{position:relative;display:grid;gap:12px}.comments-composer .content-comment-textarea{min-height:86px!important;border-radius:16px!important;background:rgba(20,28,51,.72)!important;border-color:rgba(150,166,210,.28)!important;padding:20px 56px 18px 20px!important;font-size:17px!important}.comments-composer-smile{position:absolute!important;right:14px;top:14px;border-radius:999px!important;background:transparent!important;border:0!important;color:#9daacc!important;font-size:24px!important}.comments-toolbar{display:flex!important;align-items:center!important;gap:12px!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important}.comments-toolbar .comment-editor-tool{border:0!important;background:transparent!important;color:#96a3c4!important;min-width:30px!important;height:34px!important;padding:0 4px!important;font-size:20px!important}.comments-toolbar .comment-editor-tool:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}.comments-toolbar-divider{width:1px;height:34px;background:rgba(150,166,210,.22);margin:0 14px}.comments-submit{margin-left:auto;height:50px;border:1px solid rgba(34,197,94,.38);border-radius:18px;background:linear-gradient(135deg,#21d67d,#10a857);color:white;font-weight:950;padding:0 26px;cursor:pointer;box-shadow:0 14px 40px rgba(16,185,129,.2)}
.comments-sort-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#b8c5dd;font-weight:800;margin:8px 4px 0}.comments-social-list{gap:16px!important}.comments-social-card{position:relative;grid-template-columns:70px minmax(0,1fr)!important;padding:20px!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(20,30,50,.9),rgba(11,19,34,.88))!important;border-color:rgba(126,147,190,.18)!important}.comments-social-card .content-comment-avatar{width:56px!important;height:56px!important;border-radius:50%!important}.comments-social-card .content-comment-top strong{font-size:18px;color:#fff}.comment-rank-badge{display:inline-flex;align-items:center;margin-left:10px;padding:4px 9px;border-radius:9px;background:rgba(34,197,94,.13);color:#36e58f;font-weight:900;font-size:13px}.comments-social-card.is-reply .comment-rank-badge{background:rgba(139,92,246,.18);color:#c4b5fd}.comments-social-card .content-comment-body{font-size:17px;color:#d8e2f3}.comment-reply-link{border:0;background:transparent;color:#aebbd2;font-weight:800;cursor:pointer;padding:0}.comment-reply-link:hover{color:#fff}.comment-heart-button{height:44px;min-width:64px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid rgba(244,63,94,.18);background:rgba(244,63,94,.09);color:#ff3d61;font-weight:950;cursor:pointer}.comment-heart-button span{color:#fff}.comment-heart-button.is-active{background:rgba(244,63,94,.22)!important;border-color:rgba(244,63,94,.45)!important}.comment-menu-button{position:absolute;right:18px;top:18px;border:0;background:transparent;color:#8f9db8;font-size:28px;line-height:1;cursor:pointer}.comment-menu-button:hover{color:#fff}.content-comment-replies{border-left:1px solid rgba(139,92,246,.25)!important;margin-top:14px!important}.comment-emoji-panel{border-color:rgba(139,92,246,.24)!important;background:rgba(139,92,246,.08)!important}
body[data-theme="light"] .news-board-card,body[data-theme="light"] .comments-social-panel{background:#fff!important;border-color:rgba(17,43,77,.12)!important;color:#11243d}body[data-theme="light"] .news-board-content h2 a,body[data-theme="light"] .comments-social-card .content-comment-top strong{color:#10233d}body[data-theme="light"] .news-board-content p,body[data-theme="light"] .comments-social-card .content-comment-body{color:#334965}body[data-theme="light"] .comments-social-card{background:#f8fbff!important;border-color:rgba(17,43,77,.12)!important}body[data-theme="light"] .comments-composer .content-comment-textarea{background:#fff!important;color:#10233d!important}
@media(max-width:1120px){.news-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-board-shell{width:min(100% - 28px,1500px)}}
@media(max-width:720px){.news-board-grid{grid-template-columns:1fr}.news-board-hero{align-items:flex-start;flex-direction:column}.news-board-cover{height:240px}.news-board-footer{flex-wrap:wrap}.news-read-button{flex:1}.comments-social-panel{padding:18px!important}.comments-composer{grid-template-columns:1fr;padding:14px!important}.comments-composer-avatar{display:none}.comments-toolbar{gap:7px!important}.comments-submit{width:100%;margin-left:0}.comments-social-card{grid-template-columns:46px minmax(0,1fr)!important;padding:14px!important}.comments-social-card .content-comment-avatar{width:44px!important;height:44px!important}.comments-sort-row{align-items:flex-start;flex-direction:column}.content-comments__head h2{font-size:34px!important}}

/* Common comments module polish 2026-05-04 */
.news-board-hero{
  border:1px solid rgba(110,151,205,.16)!important;
  border-radius:28px!important;
  padding:26px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(23,117,164,.16),transparent 36%),
    linear-gradient(135deg,rgba(9,21,35,.9),rgba(7,15,26,.74))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.news-detail-pills{display:flex;flex-wrap:wrap;gap:8px!important;align-items:center}
.news-detail-pills>*{display:inline-flex!important;align-items:center;min-height:28px;padding:5px 11px!important;border-radius:999px!important;border:1px solid rgba(96,165,250,.22)!important;background:rgba(11,28,48,.72)!important;color:#dceaff!important;font-size:12px!important;font-weight:850;text-decoration:none}
.news-detail-pills .news-dle-badge{border-color:rgba(34,197,94,.34)!important;background:rgba(16,95,69,.34)!important;color:#d6ffe9!important}
.comments-social-panel{
  background:
    radial-gradient(circle at 5% 5%,rgba(22,125,113,.12),transparent 34%),
    linear-gradient(180deg,rgba(9,18,31,.96),rgba(7,12,21,.96))!important;
  border-color:rgba(98,132,181,.2)!important;
}
.comments-social-kicker{color:#9fc7ff!important}.comments-social-kicker span,.comments-count-pill{color:#6ee7b7!important}
.comments-composer{border-color:rgba(98,132,181,.22)!important;background:linear-gradient(135deg,rgba(14,25,44,.88),rgba(11,18,32,.9))!important}
.comments-editor-frame{position:relative;display:grid}.comments-editor-frame .content-comment-textarea{padding-right:52px!important}
.comments-composer-smile{position:absolute;right:12px;top:14px;border-color:rgba(34,197,94,.34)!important;background:rgba(34,197,94,.11)!important;color:#9dffc9!important}
.comments-toolbar{background:transparent!important;border:0!important;padding:10px 0 0!important}
.comments-toolbar-divider{display:none!important}.comments-emoji-quick{display:none!important}
.comment-emoji-panel[hidden],.comment-image-choice[hidden]{display:none!important}
.comment-emoji-panel{width:max-content;max-width:100%;margin:8px 0!important;border-color:rgba(98,132,181,.2)!important;background:rgba(13,24,42,.96)!important;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.comment-emoji-panel button{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important}
.comment-image-choice{display:grid;gap:12px;margin:10px 0;padding:14px;border:1px solid rgba(98,132,181,.22);border-radius:18px;background:linear-gradient(180deg,rgba(12,24,42,.98),rgba(8,15,27,.98));box-shadow:0 18px 55px rgba(0,0,0,.32)}
.comment-image-choice__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-image-choice__close{width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--text);cursor:pointer}.comment-image-choice__upload{width:100%;min-height:46px;border-radius:14px;border:1px solid rgba(34,197,94,.36);background:rgba(34,197,94,.13);color:#dfffee;font-weight:900;cursor:pointer}.comment-image-choice__url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.comment-image-choice__url input{min-height:44px;border-radius:14px}.comment-image-choice__url button{border-radius:14px;border:1px solid rgba(96,165,250,.28);background:rgba(96,165,250,.12);color:#dceaff;font-weight:900;padding:0 14px;cursor:pointer}
.content-comment-image{display:block;width:min(520px,100%);max-height:420px;object-fit:cover;border-radius:18px;margin:12px 0;border:1px solid rgba(255,255,255,.1)}
.poll-full-comments{width:100%!important;margin-top:10px!important;padding:24px!important}.poll-card .poll-full-comments{border-radius:22px!important}.poll-comment-card{grid-template-columns:54px minmax(0,1fr)!important}.poll-comment-card .content-comment-avatar{width:44px!important;height:44px!important}
.profile-comment-composer{margin-bottom:16px}.comment-thread-list .comment-card{border-radius:18px;background:linear-gradient(135deg,rgba(20,30,50,.88),rgba(11,19,34,.86));border-color:rgba(126,147,190,.18);box-shadow:0 16px 40px rgba(0,0,0,.16)}.comment-thread-list .comment-card.is-child{margin-left:42px;border-left-color:rgba(34,197,94,.35)}.comment-thread-list .comment-author img{border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.review-create-card{background:linear-gradient(135deg,rgba(10,23,39,.92),rgba(8,15,26,.88))!important}.review-card-footer{display:flex;justify-content:flex-start;margin-top:auto}.review-heart-button{height:42px;min-width:66px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid rgba(244,63,94,.22);background:rgba(244,63,94,.09);color:#ff4666;font-weight:950;cursor:pointer}.review-heart-button span{color:var(--text)}
body[data-theme="light"] .news-board-hero,body[data-theme="light"] .review-create-card{background:linear-gradient(135deg,#fff,#f4f8ff)!important;border-color:rgba(17,43,77,.12)!important}body[data-theme="light"] .news-detail-pills>*{background:#eef5ff!important;color:#10233d!important}body[data-theme="light"] .comments-social-panel{background:#fff!important}body[data-theme="light"] .comment-image-choice{background:#fff!important;border-color:rgba(17,43,77,.14)!important}body[data-theme="light"] .comment-thread-list .comment-card{background:#f8fbff;border-color:rgba(17,43,77,.12)}
@media(max-width:720px){.news-board-hero{padding:18px!important;border-radius:22px!important}.comment-image-choice__url{grid-template-columns:1fr}.poll-full-comments{padding:16px!important}.comment-thread-list .comment-card.is-child{margin-left:14px}}

/* Profile dashboard polish: sidebar + dense cards */
.profile-dashboard-shell{--profile-green:#73e126;--profile-green-soft:rgba(115,225,38,.16);--profile-blue-soft:rgba(59,130,246,.12);display:grid;grid-template-columns:184px minmax(0,1fr);gap:28px;width:min(1560px,calc(100% - 32px));margin:0 auto;padding:18px 0 40px}
.profile-dashboard-shell .section{padding:10px 0 14px}
.profile-dashboard-main{min-width:0;display:grid;gap:16px}
.profile-side-nav{position:sticky;top:calc(var(--topbar-height) + var(--safe-top) + 18px);align-self:start;min-height:calc(100vh - var(--topbar-height) - var(--safe-top) - 36px);display:flex;flex-direction:column;gap:24px;padding:20px 14px;border:1px solid rgba(126,147,190,.14);border-radius:0 26px 26px 0;background:linear-gradient(180deg,rgba(8,17,28,.96),rgba(7,14,23,.92));box-shadow:18px 0 70px rgba(0,0,0,.22),inset -1px 0 0 rgba(255,255,255,.025)}
.profile-side-nav__brand{font-size:24px;line-height:1;font-weight:950;letter-spacing:-.06em;color:#f7fbff;text-transform:uppercase}.profile-side-nav__brand span{color:var(--profile-green)}
.profile-side-nav__links{display:grid;gap:8px}.profile-side-nav__links a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border-radius:14px;color:#cbd6e7;border:1px solid transparent;font-weight:800;transition:.18s ease}.profile-side-nav__links a span{width:22px;display:inline-flex;justify-content:center;color:#d9e6f8}.profile-side-nav__links a:hover,.profile-side-nav__links a.is-active{color:#a7ff5f;background:linear-gradient(90deg,rgba(115,225,38,.18),rgba(115,225,38,.04));border-color:rgba(115,225,38,.34)}
.profile-side-nav__foot{margin-top:auto;display:grid;gap:10px;color:#b4c2d7}.profile-side-nav__foot span,.profile-side-nav__foot a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);font-weight:750}
.profile-dashboard-hero-card{position:relative;overflow:hidden;padding:28px;border-radius:24px!important;background:linear-gradient(90deg,rgba(2,6,23,.86),rgba(2,6,23,.48)),var(--profile-cover-image,radial-gradient(circle at 12% 10%,rgba(115,225,38,.12),transparent 30%)),linear-gradient(135deg,rgba(16,26,36,.94),rgba(9,16,26,.92))!important;background-size:cover!important;background-position:center!important}.profile-dashboard-hero-card::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(115,225,38,.35),transparent)}
.profile-dashboard-hero-card .profile-hero{grid-template-columns:190px minmax(0,1fr);gap:28px}.profile-dashboard-hero-card .profile-avatar{width:172px;height:172px;border-radius:50%;padding:8px;border:1px solid rgba(115,225,38,.28);box-shadow:0 0 0 12px rgba(255,255,255,.025),0 24px 70px rgba(0,0,0,.34);background:radial-gradient(circle at 50% 20%,rgba(115,225,38,.18),rgba(8,14,22,.96))}.profile-dashboard-hero-card .profile-avatar img{border-radius:50%}.profile-dashboard-hero-card h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.055em;margin:6px 0 2px}.profile-dashboard-hero-card .hero-actions .btn,.profile-dashboard-hero-card .hero-actions .fact-chip{min-height:48px;border-radius:15px}.profile-dashboard-hero-card .hero-actions .btn-primary{background:linear-gradient(135deg,rgba(115,225,38,.34),rgba(55,125,24,.78));border-color:rgba(115,225,38,.55)}
.profile-dashboard-shell .badge{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08);color:#dbe7f8}.profile-dashboard-shell .badge:first-child{background:rgba(115,225,38,.15);border-color:rgba(115,225,38,.28);color:#b9ff7a}.profile-dashboard-shell .card{border-color:rgba(126,147,190,.14);background:linear-gradient(135deg,rgba(18,28,43,.82),rgba(9,16,26,.88));box-shadow:0 20px 65px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025)}
.profile-dashboard-shell .section-head{align-items:center;margin-bottom:16px}.profile-dashboard-shell .section-head h2{font-size:clamp(26px,3vw,36px)}.profile-dashboard-shell .section-head p{margin:4px 0 0;color:#aebbd2}.profile-cube-nav-wrap{display:none!important}
.profile-dashboard-shell .profile-progress-nav-card{padding:22px}.profile-dashboard-shell .profile-progress-spoiler__links{grid-template-columns:repeat(4,minmax(0,1fr))!important}.profile-dashboard-shell .profile-progress-spoiler__links .btn{border-color:rgba(115,225,38,.28);background:rgba(115,225,38,.055)}
.profile-dashboard-shell .measure-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.profile-dashboard-shell .measure-grid .card,.profile-dashboard-shell .body-health-metric{min-height:132px;position:relative;overflow:hidden}.profile-dashboard-shell .measure-grid .card::after,.profile-dashboard-shell .body-health-metric::after{content:"";position:absolute;left:18px;right:18px;bottom:13px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(115,225,38,.9),rgba(115,225,38,.15),transparent)}
.profile-dashboard-shell .body-health-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.profile-dashboard-shell .body-health-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-dashboard-shell .body-health-gauge-card{min-height:380px;align-content:center}.profile-dashboard-shell .body-health-gauge{width:220px}.profile-dashboard-shell .body-health-gauge::before{background:linear-gradient(180deg,rgba(9,18,29,.98),rgba(7,13,23,.98))}.profile-dashboard-shell .body-health-metric__value{font-size:34px;font-weight:950}
.profile-dashboard-shell .progress-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-dashboard-shell .progress-photo-card img{aspect-ratio:1/1.05;object-fit:cover;border-radius:18px}.profile-dashboard-shell .contact-list,.profile-dashboard-shell .achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-dashboard-shell .contact-row{border-radius:18px;background:rgba(255,255,255,.035)}
.profile-dashboard-shell .comments-social-panel,.profile-dashboard-shell .content-comments{width:100%;margin:0;padding:24px!important;border-radius:24px!important}.profile-dashboard-shell .comment-thread-list .comment-card{border-radius:20px;background:linear-gradient(135deg,rgba(19,29,43,.92),rgba(10,18,29,.9))}
.profile-dashboard-shell.is-female{--profile-green:#ff8ac8;--profile-green-soft:rgba(255,138,200,.16)}.profile-dashboard-shell.is-female .profile-side-nav__brand span{color:#ff8ac8}.profile-dashboard-shell.is-female .profile-side-nav__links a:hover,.profile-dashboard-shell.is-female .profile-side-nav__links a.is-active{color:#ffc2df;background:linear-gradient(90deg,rgba(255,138,200,.18),rgba(255,138,200,.04));border-color:rgba(255,138,200,.32)}.profile-dashboard-shell.is-female .profile-dashboard-hero-card{background:linear-gradient(90deg,rgba(2,6,23,.86),rgba(2,6,23,.48)),var(--profile-cover-image,radial-gradient(circle at 12% 10%,rgba(255,138,200,.14),transparent 30%)),linear-gradient(135deg,rgba(19,25,39,.94),rgba(9,16,26,.92))!important;background-size:cover!important;background-position:center!important}.profile-dashboard-shell.is-female .badge:first-child{background:rgba(255,138,200,.14);border-color:rgba(255,138,200,.28);color:#ffd0e7}
body[data-theme="light"] .profile-dashboard-shell .card{background:linear-gradient(135deg,#fff,#f4f8ff)!important;border-color:rgba(17,43,77,.12)!important;box-shadow:0 22px 60px rgba(17,43,77,.1)}body[data-theme="light"] .profile-dashboard-hero-card{background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(244,248,255,.62)),var(--profile-cover-image,linear-gradient(135deg,#fff,#f4f8ff))!important;background-size:cover!important;background-position:center!important;border-color:rgba(17,43,77,.12)!important;box-shadow:0 22px 60px rgba(17,43,77,.1)}body[data-theme="light"] .profile-side-nav{background:linear-gradient(180deg,#fff,#f2f7ff);border-color:rgba(17,43,77,.12)}body[data-theme="light"] .profile-side-nav__brand,body[data-theme="light"] .profile-side-nav__links a{color:#10233d}body[data-theme="light"] .profile-side-nav__links a:hover,body[data-theme="light"] .profile-side-nav__links a.is-active{color:#256d15}
@media(max-width:1180px){.profile-dashboard-shell{grid-template-columns:1fr}.profile-side-nav{position:relative;top:auto;min-height:0;border-radius:24px;flex-direction:row;align-items:center;overflow:auto;padding:14px}.profile-side-nav__brand{flex:0 0 auto}.profile-side-nav__links{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.profile-side-nav__links a{white-space:nowrap}.profile-side-nav__foot{display:none}.profile-cube-nav-wrap{display:block!important}.profile-dashboard-shell .profile-progress-spoiler__links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-dashboard-shell .measure-grid,.profile-dashboard-shell .body-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-dashboard-shell .progress-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.profile-dashboard-shell{width:min(100% - 20px,760px);gap:14px;padding-top:10px}.profile-side-nav{margin:0 -2px;border-radius:20px}.profile-side-nav__brand{font-size:18px}.profile-side-nav__links a{min-height:40px;padding:8px 10px;font-size:13px}.profile-dashboard-hero-card{padding:18px}.profile-dashboard-hero-card .profile-hero{grid-template-columns:1fr;text-align:left}.profile-dashboard-hero-card .profile-avatar{width:150px;height:150px;margin:0 auto}.profile-dashboard-shell .contact-list,.profile-dashboard-shell .achievement-grid,.profile-dashboard-shell .measure-grid,.profile-dashboard-shell .body-health-summary,.profile-dashboard-shell .progress-photo-grid{grid-template-columns:1fr}.profile-dashboard-shell .body-health-grid{grid-template-columns:1fr}.profile-dashboard-shell .body-health-gauge{width:176px}.profile-dashboard-shell .body-health-gauge-card{min-height:0}.profile-dashboard-shell .profile-progress-spoiler__links{grid-template-columns:1fr!important}.profile-dashboard-shell .hero-actions{display:grid}.profile-dashboard-shell .hero-actions .btn,.profile-dashboard-shell .hero-actions .fact-chip{width:100%}}

/* Profile side navigation: collapsible floating menu */
.profile-dashboard-shell{transition:grid-template-columns .22s ease,gap .22s ease}
.profile-dashboard-shell.is-profile-nav-collapsed{grid-template-columns:74px minmax(0,1fr);gap:18px}
.profile-side-nav{gap:12px!important;overflow:hidden;transition:width .22s ease,min-height .22s ease,padding .22s ease,border-radius .22s ease}
.profile-side-nav__brand,.profile-side-nav__foot{display:none!important}
.profile-side-nav__toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border-radius:16px;border:1px solid rgba(126,147,190,.16);background:linear-gradient(135deg,rgba(18,30,48,.9),rgba(8,16,28,.92));color:#eef6ff;font-weight:900;cursor:pointer;box-shadow:0 16px 42px rgba(0,0,0,.18);transition:.18s ease}
.profile-side-nav__toggle:hover{border-color:rgba(115,225,38,.34);background:linear-gradient(135deg,rgba(32,58,38,.86),rgba(8,16,28,.92))}
.profile-side-nav__toggle-icon{width:24px;height:24px;display:inline-grid;place-items:center;flex:0 0 24px;color:#a7ff5f}.profile-side-nav__toggle-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-side-nav.is-collapsed{padding:12px 10px!important;border-radius:22px;min-height:0}.profile-side-nav.is-collapsed .profile-side-nav__toggle{justify-content:center;padding:10px}.profile-side-nav.is-collapsed .profile-side-nav__toggle-text{display:none}.profile-side-nav.is-collapsed .profile-side-nav__links{gap:8px}.profile-side-nav.is-collapsed .profile-side-nav__links a{justify-content:center;padding:10px;width:48px;min-height:48px;font-size:0}.profile-side-nav.is-collapsed .profile-side-nav__links a span{font-size:18px;width:auto}
.profile-side-nav__links a{position:relative}.profile-side-nav__links a::after{content:"";position:absolute;left:10px;top:50%;width:4px;height:0;border-radius:999px;background:var(--profile-green);transform:translateY(-50%);transition:height .18s ease}.profile-side-nav__links a:hover::after,.profile-side-nav__links a.is-active::after{height:22px}.profile-side-nav.is-collapsed .profile-side-nav__links a::after{left:4px}
body[data-theme="light"] .profile-side-nav__toggle{background:linear-gradient(135deg,#fff,#eef6ff);border-color:rgba(17,43,77,.14);color:#10233d;box-shadow:0 16px 34px rgba(17,43,77,.08)}body[data-theme="light"] .profile-side-nav__toggle-icon{color:#338500}
@media(max-width:1180px){.profile-dashboard-shell,.profile-dashboard-shell.is-profile-nav-collapsed{grid-template-columns:1fr;gap:14px}.profile-side-nav{position:sticky!important;top:calc(var(--topbar-height) + var(--safe-top) + 8px)!important;z-index:30;display:grid!important;grid-template-columns:1fr;align-items:stretch;max-height:72vh;overflow:auto!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important}.profile-side-nav__toggle{position:sticky;top:0;z-index:2}.profile-side-nav__links{display:flex!important;gap:8px;overflow:auto;max-height:240px;transition:max-height .22s ease,opacity .18s ease}.profile-side-nav.is-collapsed .profile-side-nav__links{max-height:0;opacity:0;overflow:hidden;padding:0}.profile-side-nav.is-collapsed{padding:12px!important}.profile-side-nav.is-collapsed .profile-side-nav__toggle{justify-content:flex-start}.profile-side-nav.is-collapsed .profile-side-nav__toggle-text{display:inline;white-space:normal}.profile-side-nav.is-collapsed .profile-side-nav__links a{font-size:13px;width:auto}.profile-side-nav.is-collapsed .profile-side-nav__links a span{font-size:16px}}
@media(max-width:720px){.profile-side-nav{margin:0!important;border-radius:18px!important;max-height:64vh}.profile-side-nav__toggle{min-height:44px;border-radius:14px}.profile-side-nav__links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.profile-side-nav__links a{white-space:normal;min-height:44px;font-size:13px}.profile-side-nav.is-collapsed .profile-side-nav__links{display:grid!important;max-height:0;opacity:0}.profile-side-nav.is-collapsed .profile-side-nav__links a{width:auto;font-size:13px}}

/* Profile nav mobile flow fix: no overlay/sticky layer */
.profile-side-nav{z-index:4}
@media(max-width:1180px){
  .profile-dashboard-shell,.profile-dashboard-shell.is-profile-nav-collapsed{grid-template-columns:1fr!important;gap:14px!important}
  .profile-side-nav{position:relative!important;top:auto!important;z-index:1!important;display:block!important;min-height:0!important;max-height:none!important;width:100%!important;overflow:visible!important;margin:0!important;padding:12px!important;border-radius:20px!important;box-shadow:none!important;background:linear-gradient(180deg,rgba(8,17,28,.94),rgba(7,14,23,.9))!important}
  .profile-side-nav__toggle{position:relative!important;top:auto!important;z-index:1!important;width:100%;justify-content:flex-start!important;margin:0!important}
  .profile-side-nav__toggle-text{display:inline!important;white-space:normal!important}
  .profile-side-nav__links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;overflow:hidden!important;max-height:520px!important;opacity:1!important;padding-top:10px!important;transition:max-height .24s ease,opacity .18s ease,padding .2s ease!important}
  .profile-side-nav__links a{width:auto!important;min-height:44px!important;padding:9px 10px!important;font-size:13px!important;justify-content:flex-start!important;white-space:normal!important}
  .profile-side-nav__links a span{font-size:16px!important;width:20px!important;flex:0 0 20px!important}
  .profile-side-nav.is-collapsed{padding:12px!important}
  .profile-side-nav.is-collapsed .profile-side-nav__toggle{justify-content:flex-start!important}
  .profile-side-nav.is-collapsed .profile-side-nav__links{max-height:0!important;opacity:0!important;padding-top:0!important;pointer-events:none!important}
}
@media(max-width:720px){
  .profile-dashboard-shell{width:min(100% - 20px,760px)!important;padding-top:8px!important}
  .profile-side-nav{border-radius:18px!important}
  .profile-side-nav__links{grid-template-columns:1fr!important}
  .profile-side-nav__links a{min-height:42px!important}
}

/* Profile navigation moved into the main drawer */
.profile-dashboard-shell.profile-dashboard-shell--main-nav,.profile-dashboard-shell.profile-dashboard-shell--main-nav.is-profile-nav-collapsed{grid-template-columns:minmax(0,1fr)!important;width:min(1320px,calc(100% - 32px));gap:0!important}
.drawer-group--profile-nav{border-color:rgba(115,225,38,.34)!important;background:linear-gradient(135deg,rgba(115,225,38,.12),rgba(51,199,255,.045))!important;box-shadow:0 16px 42px rgba(47,166,70,.08)}
.drawer-group--profile-nav > summary{display:grid!important;grid-template-columns:minmax(0,1fr);gap:2px;color:#caff92!important;position:relative;padding-left:42px!important}.drawer-group--profile-nav > summary::before{content:"";position:absolute;left:15px;top:50%;width:14px;height:14px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 6px rgba(79,214,111,.14),0 0 22px rgba(79,214,111,.38);transform:translateY(-50%)}.drawer-group--profile-nav > summary small{display:block;color:#9fb1c6;font-size:11px;text-transform:none;letter-spacing:.02em;font-weight:800}.drawer-subnav--profile{border-top:1px solid rgba(115,225,38,.14);padding-top:10px!important}.drawer-subnav--profile a{border-color:rgba(115,225,38,.18)!important;background:rgba(115,225,38,.055)!important}.drawer-subnav--profile a:hover{border-color:rgba(115,225,38,.36)!important;background:rgba(115,225,38,.11)!important}.drawer-profile-nav-icon{width:22px;height:22px;border-radius:8px;display:inline-grid;place-items:center;background:rgba(115,225,38,.13);color:#caff92;flex:0 0 22px;font-size:13px}
body[data-theme="light"] .drawer-group--profile-nav{background:linear-gradient(135deg,rgba(115,225,38,.14),rgba(31,134,236,.045))!important;border-color:rgba(58,168,88,.3)!important}body[data-theme="light"] .drawer-group--profile-nav > summary{color:#236d0d!important}body[data-theme="light"] .drawer-subnav--profile a{background:rgba(58,168,88,.07)!important;border-color:rgba(58,168,88,.2)!important}
@media(max-width:720px){.profile-dashboard-shell.profile-dashboard-shell--main-nav{width:min(100% - 20px,760px)!important}.drawer-group--profile-nav > summary{padding-left:40px!important}.drawer-subnav--profile a{min-height:42px}}

/* Profile drawer scroll + mobile width fix */
.side-drawer .drawer-group--profile-nav[open] .drawer-subnav--profile{max-height:min(42vh,360px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;padding:10px!important}
.side-drawer .drawer-subnav--profile a{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
@media(max-width:720px){
  .side-drawer .drawer-group--profile-nav[open] .drawer-subnav--profile{max-height:min(36vh,310px)!important}
  .profile-dashboard-shell.profile-dashboard-shell--main-nav{width:100%!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important;overflow-x:hidden!important}
  .profile-dashboard-shell.profile-dashboard-shell--main-nav .profile-dashboard-main,
  .profile-dashboard-shell.profile-dashboard-shell--main-nav .section,
  .profile-dashboard-shell.profile-dashboard-shell--main-nav .card,
  .profile-dashboard-shell.profile-dashboard-shell--main-nav .profile-dashboard-hero-card{min-width:0!important;max-width:100%!important;overflow-x:hidden!important}
  .profile-dashboard-hero-card .profile-hero{min-width:0!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .profile-dashboard-hero-card .profile-avatar{width:min(150px,70vw)!important;height:min(150px,70vw)!important;justify-self:center!important}
  .profile-dashboard-hero-card .hero-meta{max-width:100%!important;overflow:hidden!important}
  .profile-dashboard-hero-card .badge,.profile-dashboard-hero-card .fact-chip{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important}
  .profile-dashboard-hero-card h2,.profile-dashboard-hero-card p{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .profile-dashboard-shell .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
  .profile-dashboard-shell .hero-actions .btn,.profile-dashboard-shell .hero-actions .fact-chip{width:100%!important;max-width:100%!important;min-width:0!important;justify-content:center!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}
  .profile-dashboard-shell .table-wrap,.profile-dashboard-shell .cards-grid,.profile-dashboard-shell .measure-grid,.profile-dashboard-shell .body-health-grid,.profile-dashboard-shell .body-health-summary{max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
}

/* Profile friends and social polish */
.profile-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.profile-mini-user{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:18px;background:rgba(15,23,42,.38);color:inherit;text-decoration:none}.profile-mini-user:hover{border-color:rgba(132,255,90,.45);background:rgba(47,95,32,.18)}.profile-mini-user img{width:44px;height:44px;border-radius:50%;object-fit:cover}.profile-mini-user span{display:grid;gap:2px;min-width:0}.profile-mini-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini-user small{color:var(--muted)}

/* Profile avatar cropper and friends controls */
.avatar-cropper{display:grid;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:linear-gradient(145deg,rgba(15,26,38,.88),rgba(7,14,24,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.avatar-cropper-stage{position:relative;width:min(100%,260px);aspect-ratio:1/1;margin:0 auto;overflow:hidden;border:1px dashed rgba(140,220,85,.42);border-radius:28px;background:radial-gradient(circle at 50% 38%,rgba(118,225,47,.13),rgba(5,12,22,.96));isolation:isolate}
.avatar-cropper-stage img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%) scale(1);transform-origin:center center;will-change:transform;display:block}
.avatar-cropper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avatar-cropper-grid label{display:grid;gap:7px;font-size:12px;color:var(--muted);font-weight:800}.avatar-cropper-grid input[type=range]{width:100%;accent-color:#73e126}.avatar-cropper-hint{font-size:12px;color:var(--muted);line-height:1.5}.profile-avatar-upload{display:grid;gap:12px;margin-top:14px}.profile-avatar-upload input[type=file]{width:100%;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text)}
.profile-mini-user--card{display:grid;gap:12px}.profile-mini-user__main{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.profile-mini-user__main img{width:52px;height:52px;border-radius:16px;object-fit:cover;border:1px solid rgba(255,255,255,.14)}.profile-mini-user__main span{min-width:0}.profile-mini-user__main strong,.profile-mini-user__main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-mini-user__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-mini-user__actions form{display:inline-flex;margin:0}.profile-mini-user__actions .btn{min-height:36px;padding:8px 11px;font-size:12px;border-radius:12px}
@media(max-width:720px){.avatar-cropper-grid{grid-template-columns:1fr}.avatar-cropper-stage{width:min(100%,220px)}.profile-mini-user__actions{display:grid;grid-template-columns:1fr 1fr}.profile-mini-user__actions .btn,.profile-mini-user__actions form{width:100%}.profile-mini-user__actions button{width:100%}}

/* Reviews reference-style page polish 2026-05-11 */
.reviews-modern-shell{
  width:min(1320px,calc(100% - 40px));
  margin:24px auto 64px;
  padding:clamp(18px,3vw,34px)!important;
  display:grid;
  gap:24px;
  border:1px solid rgba(126,147,190,.18)!important;
  border-radius:28px!important;
  background:radial-gradient(circle at 8% 5%,rgba(34,197,94,.08),transparent 32%),linear-gradient(180deg,rgba(8,18,31,.94),rgba(5,12,22,.96))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04);
}
.reviews-page-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:10px 4px 18px;background:radial-gradient(circle at 10% 0%,rgba(34,197,94,.1),transparent 34%)}
.reviews-page-hero__title{display:grid;gap:10px}
.reviews-page-hero__title h1{margin:0;font-size:clamp(34px,4.4vw,56px);line-height:1;letter-spacing:-.045em}
.reviews-page-hero__title p{margin:0;color:var(--muted);font-size:18px;line-height:1.55;max-width:820px}
.reviews-page-hero__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reviews-write-card{padding:28px!important;border-radius:28px!important;border-color:rgba(126,147,190,.18)!important;background:radial-gradient(circle at 8% 16%,rgba(31,111,235,.1),transparent 35%),linear-gradient(135deg,rgba(10,24,42,.94),rgba(6,14,25,.92))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.reviews-write-card h2{margin:0 0 18px;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em}
.reviews-write-form{display:grid!important;gap:18px!important}
.reviews-guest-fields,.reviews-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reviews-form-grid{grid-template-columns:1.2fr 1fr 1fr}
.reviews-rating-field{grid-column:auto}
.reviews-rating-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.reviews-stars{letter-spacing:.22em;color:#48d78b;font-size:26px;text-shadow:0 0 22px rgba(72,215,139,.32);white-space:nowrap}
.reviews-comment-box{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:18px;border:1px solid rgba(139,92,246,.28);border-radius:22px;background:linear-gradient(135deg,rgba(139,92,246,.11),rgba(15,23,42,.46));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.reviews-comment-box .comments-composer-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.15);background:#111827}
.reviews-comment-box .comments-editor-frame{position:relative;display:block}
.reviews-comment-box .content-comment-textarea{min-height:112px!important;width:100%;border-radius:18px!important;background:rgba(16,25,44,.78)!important;border-color:rgba(150,166,210,.28)!important;padding:20px 56px 18px 20px!important;font-size:17px!important;color:var(--text)!important;resize:vertical}
.reviews-toolbar{align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:2px!important}
.reviews-toolbar .comments-submit{margin-left:auto;min-width:180px}
.reviews-emoji-panel{max-width:100%;margin-top:2px!important}
.reviews-captcha-box{border:1px solid rgba(126,147,190,.14);border-radius:18px;padding:14px;background:rgba(255,255,255,.025)}
.reviews-submit-row .btn{width:100%;min-height:58px;border-radius:18px;font-size:18px;justify-content:center;background:linear-gradient(135deg,rgba(32,215,126,.88),rgba(13,124,70,.88));box-shadow:0 18px 44px rgba(16,185,129,.16)}
.reviews-count-label{margin:8px 0 0!important;font-size:17px;color:#d8e5f5!important}
.reviews-public-list{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
.reviews-modern-shell .reviews-public-card{display:grid!important;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:0!important;border-radius:24px!important;overflow:hidden;border:1px solid rgba(126,147,190,.18)!important;background:linear-gradient(135deg,rgba(12,23,38,.96),rgba(7,15,27,.92))!important;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.reviews-public-card__author{display:grid;justify-items:center;align-content:start;gap:10px;padding:28px 18px;border-right:1px solid rgba(126,147,190,.12);background:linear-gradient(180deg,rgba(34,197,94,.08),rgba(255,255,255,.02))}
.reviews-public-card__author .review-avatar{width:92px;height:92px;border-radius:26px;object-fit:cover;border:1px solid rgba(34,197,94,.28);box-shadow:0 16px 40px rgba(0,0,0,.22)}
.reviews-public-card__author .review-name{display:block;text-align:center;color:#fff;text-decoration:none;font-size:18px;font-weight:950;line-height:1.15}
.reviews-rating-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:8px auto 0;padding:7px 11px;border-radius:12px;background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.28);color:#bfffd4;font-weight:950}
.reviews-author-meta{display:flex;align-items:center;justify-content:center;text-align:center;min-height:28px;color:#aebbd0;font-weight:750;font-size:14px}
.reviews-public-card__body{display:grid;gap:12px;align-content:start;padding:28px;min-width:0}
.reviews-public-card__body .review-rating{color:#49d88c;letter-spacing:.16em;font-size:20px}
.reviews-public-card__body .review-text{margin:0;color:#dce8f8;line-height:1.72;font-size:17px;overflow-wrap:anywhere}
.reviews-public-card__body .review-link-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.reviews-public-card__body .badge{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.08);color:#bfffd4}
.reviews-public-card__body .review-card-footer{justify-content:flex-start;margin-top:12px}
.reviews-all-link{border-color:rgba(34,197,94,.35)!important;background:rgba(34,197,94,.08)!important;color:#dfffea!important}
body[data-theme="light"] .reviews-modern-shell,body[data-theme="light"] .reviews-write-card,body[data-theme="light"] .reviews-modern-shell .reviews-public-card{background:linear-gradient(135deg,#fff,#f4f8ff)!important;border-color:rgba(17,43,77,.12)!important;box-shadow:0 20px 55px rgba(17,43,77,.1)}
body[data-theme="light"] .reviews-comment-box,body[data-theme="light"] .reviews-captcha-box{background:rgba(17,43,77,.035);border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .reviews-comment-box .content-comment-textarea{background:#fff!important;color:#07101c!important;border-color:rgba(17,43,77,.14)!important}
body[data-theme="light"] .reviews-public-card__author{background:linear-gradient(180deg,rgba(34,197,94,.08),rgba(17,43,77,.02));border-color:rgba(17,43,77,.1)}
body[data-theme="light"] .reviews-public-card__author .review-name{color:#10233d}
body[data-theme="light"] .reviews-public-card__body .review-text{color:#17304f}
@media(max-width:900px){.reviews-modern-shell{width:min(100% - 20px,900px);padding:16px!important;border-radius:24px!important}.reviews-write-card{padding:18px!important}.reviews-guest-fields,.reviews-form-grid{grid-template-columns:1fr}.reviews-rating-row{grid-template-columns:1fr}.reviews-stars{font-size:22px}.reviews-comment-box{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.reviews-comment-box .comments-composer-avatar{width:44px;height:44px}.reviews-toolbar .comments-submit{width:100%;margin-left:0}.reviews-modern-shell .reviews-public-card{grid-template-columns:1fr}.reviews-public-card__author{grid-template-columns:72px minmax(0,1fr);justify-items:start;text-align:left;border-right:0;border-bottom:1px solid rgba(126,147,190,.12);padding:18px}.reviews-public-card__author .review-avatar{width:64px;height:64px;border-radius:20px;grid-row:span 3}.reviews-public-card__author .review-name{text-align:left}.reviews-author-meta{justify-content:flex-start;text-align:left}.reviews-public-card__body{padding:18px}.reviews-page-hero__actions .btn{width:100%;justify-content:center}}

/* Reviews follow-up: compact form, separate all-reviews page and readable rich text */
.reviews-page-hero{border-radius:30px!important;border:1px solid rgba(126,147,190,.18);padding:24px!important;background:radial-gradient(circle at 8% 0%,rgba(34,197,94,.18),transparent 34%),linear-gradient(135deg,rgba(10,24,42,.88),rgba(7,15,27,.78))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.reviews-write-hint{margin:-8px 0 18px;max-width:760px;line-height:1.55}
.reviews-author-avatar-link{display:inline-flex;text-decoration:none;border-radius:28px;transition:transform .18s ease,filter .18s ease}
.reviews-author-avatar-link:hover{transform:translateY(-2px);filter:brightness(1.08)}
.reviews-public-card__body .review-text a{color:#76e3a1;text-decoration:none;border-bottom:1px solid rgba(118,227,161,.35)}
.reviews-public-card__body .review-text a:hover{border-color:#76e3a1}
.reviews-public-card__body .review-text strong{font-weight:950;color:#fff}
.reviews-public-card__body .review-text em{color:#dfeaff}
.reviews-public-card__body .review-text ul,.reviews-public-card__body .review-text ol{margin:8px 0 8px 22px;padding:0;display:grid;gap:5px}
.reviews-public-card__body .review-text blockquote{margin:10px 0;padding:12px 14px;border-left:3px solid rgba(34,197,94,.72);border-radius:14px;background:rgba(34,197,94,.08);color:#eaf7ef}
.reviews-public-card__body .review-text code{padding:2px 7px;border-radius:8px;background:rgba(126,147,190,.14);color:#e9f2ff}
.reviews-public-card__body .review-text p{margin:0 0 10px}
body[data-theme="light"] .reviews-page-hero{background:linear-gradient(135deg,#fff,#eef7f2)!important;border-color:rgba(17,43,77,.12)}
body[data-theme="light"] .reviews-public-card__body .review-text strong{color:#10233d}
@media(max-width:900px){.reviews-page-hero{padding:18px!important;border-radius:24px!important}.reviews-write-hint{font-size:14px}.reviews-author-avatar-link{grid-row:span 3}.reviews-author-avatar-link .review-avatar{grid-row:auto!important}}

/* Polls showcase and detail pages */
.polls-showcase,.poll-detail-shell{width:min(1440px,calc(100% - 48px));margin:0 auto 56px;display:grid;gap:24px}.polls-showcase__head,.poll-detail-hero{position:relative;border-radius:30px;padding:clamp(22px,4vw,42px);border:1px solid rgba(86,125,181,.2);background:radial-gradient(circle at 12% 5%,rgba(38,91,167,.24),transparent 42%),linear-gradient(135deg,rgba(6,16,29,.96),rgba(8,20,36,.72));box-shadow:0 28px 80px rgba(0,0,0,.24);overflow:hidden}.polls-showcase__head{display:flex;align-items:center;justify-content:space-between;gap:20px}.polls-showcase__head:before,.poll-detail-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,163,74,.08),transparent 34%,rgba(76,90,255,.07));pointer-events:none}.polls-showcase__head>*{position:relative}.polls-showcase h1,.poll-detail-hero h1{margin:0;color:#fff;font-size:clamp(42px,5vw,70px);line-height:.96;letter-spacing:-.055em;text-shadow:0 8px 34px rgba(0,0,0,.34)}.polls-showcase__head p,.poll-detail-hero p{margin:14px 0 0;max-width:720px;color:#c8d4e9;font-size:clamp(16px,1.5vw,19px);line-height:1.6}.polls-create-btn,.poll-share-btn,.poll-back-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;border:1px solid rgba(105,147,220,.32);background:linear-gradient(135deg,rgba(35,88,183,.9),rgba(88,83,225,.82));color:#fff!important;text-decoration:none;font-weight:950;padding:15px 22px;box-shadow:0 16px 42px rgba(49,90,196,.28)}.poll-back-link,.poll-share-btn{background:rgba(255,255,255,.045);box-shadow:none}.poll-detail-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.polls-showcase__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.polls-filter-row{display:flex;gap:12px;flex-wrap:wrap}.polls-filter,.polls-sort-box{border:1px solid rgba(126,147,190,.18);background:rgba(255,255,255,.045);color:#dfe9ff;border-radius:16px;padding:13px 18px;font-weight:850}.polls-filter.is-active{background:linear-gradient(135deg,rgba(34,91,190,.75),rgba(38,88,164,.5));border-color:rgba(106,156,245,.58);box-shadow:0 12px 30px rgba(32,89,190,.22)}.polls-sort-box{display:inline-flex;align-items:center;gap:8px;padding:8px 14px}.polls-sort-box label{color:#9fb0c8}.polls-sort-box select{background:transparent;border:0;color:#fff;font-weight:900;outline:0}.polls-sort-box option{color:#07111f}.polls-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.poll-showcase-card{position:relative;min-height:360px;border:1px solid rgba(107,128,164,.2);border-radius:26px;overflow:hidden;background:linear-gradient(145deg,rgba(15,29,49,.88),rgba(7,17,31,.96));box-shadow:0 24px 70px rgba(0,0,0,.22);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.poll-showcase-card:hover{transform:translateY(-4px);border-color:rgba(67,220,142,.5);box-shadow:0 34px 90px rgba(0,0,0,.33)}.poll-showcase-card[hidden]{display:none}.poll-showcase-card__link{display:grid;grid-template-rows:auto 1fr;min-height:100%;color:inherit;text-decoration:none}.poll-showcase-card__media{position:relative;height:230px;margin:0;background:#08131f;overflow:hidden}.poll-showcase-card__media:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,transparent,rgba(7,17,31,.94))}.poll-showcase-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.poll-showcase-card:hover .poll-showcase-card__media img{transform:scale(1.035)}.poll-showcase-card__visual{height:230px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 42%,rgba(115,70,255,.24),transparent 45%),linear-gradient(135deg,rgba(11,29,52,.98),rgba(13,20,39,.98))}.poll-showcase-card__icon{width:96px;height:96px;border-radius:30px;display:grid;place-items:center;font-size:46px;color:#fff;background:linear-gradient(135deg,rgba(34,197,94,.24),rgba(67,56,202,.28));border:1px solid rgba(255,255,255,.12)}.poll-status-pill,.poll-date-pill{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:950;color:#a8ffd0;background:rgba(22,163,74,.22);border:1px solid rgba(34,197,94,.35)}.poll-showcase-card__media .poll-status-pill,.poll-showcase-card__visual .poll-status-pill{position:absolute;left:16px;top:16px}.poll-date-pill{position:absolute;right:16px;bottom:16px;color:#d8e7ff;background:rgba(8,17,31,.62);border-color:rgba(255,255,255,.1)}.poll-showcase-card__body{display:grid;gap:15px;padding:20px}.poll-showcase-card__body h2{margin:0;color:#fff;font-size:clamp(20px,2vw,27px);line-height:1.2;letter-spacing:-.025em}.poll-showcase-card__body p{margin:0;color:#bdc8dc;line-height:1.55}.poll-mini-results{display:grid;gap:11px}.poll-mini-option{display:grid;gap:7px}.poll-mini-option__top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#eaf2ff;font-weight:800}.poll-mini-option__top strong{color:#fff}.poll-mini-option.is-selected .poll-mini-option__top span:after{content:" ✓";color:#38f08e}.poll-mini-option__bar{height:7px;border-radius:999px;background:rgba(126,147,190,.16);overflow:hidden}.poll-mini-option__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#23d278,#3aa0ff)}.poll-showcase-card[data-accent="purple"] .poll-mini-option__bar span,.poll-detail-option__bar i{background:linear-gradient(90deg,#8b5cf6,#d946ef)}.poll-showcase-card[data-accent="orange"] .poll-mini-option__bar span{background:linear-gradient(90deg,#f97316,#facc15)}.poll-showcase-card[data-accent="pink"] .poll-mini-option__bar span{background:linear-gradient(90deg,#ec4899,#f43f5e)}.poll-showcase-card[data-accent="blue"] .poll-mini-option__bar span{background:linear-gradient(90deg,#38bdf8,#2563eb)}.poll-showcase-card__foot,.polls-showcase__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9fb0c8;flex-wrap:wrap}.poll-comment-bubble,.polls-showcase__bottom span,.poll-voted-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid rgba(126,147,190,.18);background:rgba(255,255,255,.045);padding:8px 12px;font-weight:850;color:#dbe8ff}.polls-alert,.polls-empty{border-radius:20px;border:1px solid rgba(34,197,94,.35);background:rgba(22,163,74,.12);padding:16px 18px;color:#d5ffe5;font-weight:850}.polls-alert.is-error{border-color:rgba(248,113,113,.38);background:rgba(127,29,29,.2);color:#ffd6d6}.polls-empty{border-style:dashed;border-color:rgba(126,147,190,.24);background:rgba(255,255,255,.035);color:#bdc8dc}.poll-detail-hero{display:grid;gap:14px}.poll-detail-hero__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#9fb0c8;font-weight:800}.poll-detail-cover{margin:0;border-radius:28px;overflow:hidden;border:1px solid rgba(126,147,190,.18);max-height:420px;background:#08131f}.poll-detail-cover img{display:block;width:100%;height:100%;max-height:420px;object-fit:cover}.poll-detail-vote-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;border:1px solid rgba(126,147,190,.18);border-radius:28px;background:linear-gradient(135deg,rgba(14,28,48,.92),rgba(7,16,29,.96));padding:22px}.poll-detail-vote-card__side{display:grid;align-content:center;gap:8px;border-right:1px solid rgba(126,147,190,.16);padding-right:20px}.poll-detail-vote-card__side span{font-weight:950;color:#fff}.poll-detail-vote-card__side strong{font-size:54px;line-height:1;color:#33e98d}.poll-detail-vote-card__side small{color:#9fb0c8}.poll-detail-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.poll-detail-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid rgba(126,147,190,.18);border-radius:20px;background:rgba(255,255,255,.035);padding:18px;overflow:hidden}.poll-detail-option.can-vote{cursor:pointer}.poll-detail-option input{position:absolute;opacity:0;pointer-events:none}.poll-detail-option__mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(126,147,190,.24);background:rgba(255,255,255,.04);color:#fff;font-size:28px;font-weight:950}.poll-detail-option.is-selected{border-color:rgba(34,197,94,.6);box-shadow:0 0 0 3px rgba(34,197,94,.12)}.poll-detail-option.is-selected .poll-detail-option__mark{background:linear-gradient(135deg,#2bd477,#126d3c);border-color:rgba(147,255,190,.55)}.poll-detail-option__text{display:grid;gap:6px}.poll-detail-option__text strong{color:#fff;font-size:18px}.poll-detail-option__text small{color:#9fb0c8}.poll-detail-option__percent{font-weight:950;color:#fff}.poll-detail-option__bar{grid-column:1/-1;height:8px;border-radius:999px;background:rgba(126,147,190,.16);overflow:hidden}.poll-detail-option__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27d77b,#65a6ff)}.poll-detail-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.poll-detail-comments{margin-top:8px}.poll-comment-card .content-comment-like{border:1px solid rgba(255,92,122,.26);background:rgba(255,70,105,.09);color:#ff5577;border-radius:999px;min-width:38px;height:34px;font-weight:950}.polls-showcase-card[data-accent="purple"]{border-color:rgba(168,85,247,.28)}.polls-showcase-card[data-accent="orange"]{border-color:rgba(249,115,22,.28)}.polls-showcase-card[data-accent="pink"]{border-color:rgba(236,72,153,.28)}.polls-showcase-card[data-accent="blue"]{border-color:rgba(59,130,246,.28)}body[data-theme="light"] .polls-showcase__head,body[data-theme="light"] .poll-detail-hero,body[data-theme="light"] .poll-showcase-card,body[data-theme="light"] .poll-detail-vote-card{background:linear-gradient(135deg,#fff,#f4f8ff);border-color:rgba(17,43,77,.12);box-shadow:0 24px 70px rgba(17,43,77,.1)}body[data-theme="light"] .polls-showcase h1,body[data-theme="light"] .poll-detail-hero h1,body[data-theme="light"] .poll-showcase-card__body h2,body[data-theme="light"] .poll-detail-option__text strong,body[data-theme="light"] .poll-detail-option__percent{color:#0b1728}body[data-theme="light"] .polls-showcase__head p,body[data-theme="light"] .poll-detail-hero p,body[data-theme="light"] .poll-showcase-card__body p{color:#46566d}body[data-theme="light"] .polls-filter,body[data-theme="light"] .polls-sort-box,body[data-theme="light"] .poll-detail-option{background:#fff;color:#10233d;border-color:rgba(17,43,77,.12)}body[data-theme="light"] .polls-sort-box select{color:#10233d}@media(max-width:1100px){.polls-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poll-detail-vote-card{grid-template-columns:1fr}.poll-detail-vote-card__side{border-right:0;border-bottom:1px solid rgba(126,147,190,.16);padding-right:0;padding-bottom:14px}.poll-detail-options{grid-template-columns:1fr}}@media(max-width:720px){.polls-showcase,.poll-detail-shell{width:min(100% - 22px,560px);gap:16px;margin-bottom:32px}.polls-showcase__head{align-items:flex-start;flex-direction:column;border-radius:24px}.polls-showcase h1,.poll-detail-hero h1{font-size:42px}.polls-showcase-grid{grid-template-columns:1fr}.polls-showcase__toolbar{align-items:stretch}.polls-filter-row,.polls-sort-box{width:100%}.polls-filter{flex:1;padding:12px 10px}.poll-showcase-card__media,.poll-showcase-card__visual{height:210px}.poll-detail-vote-card{padding:16px;border-radius:22px}.poll-detail-option{grid-template-columns:auto minmax(0,1fr);padding:14px}.poll-detail-option__percent{justify-self:end}.poll-detail-actions{justify-content:stretch}.poll-detail-actions .btn,.poll-detail-actions .poll-voted-pill{width:100%;justify-content:center}.poll-detail-cover,.poll-detail-cover img{max-height:300px;border-radius:22px}}

/* Poll rich text and admin cover positioning polish */
.poll-rich-text { color: var(--text); line-height: 1.72; }
.poll-rich-text p { margin: 0 0 12px; }
.poll-rich-text ul, .poll-rich-text ol { margin: 10px 0 14px 22px; }
.poll-rich-text blockquote { margin: 14px 0; padding: 12px 16px; border-left: 3px solid rgba(48,209,136,.75); border-radius: 12px; background: rgba(48,209,136,.08); color: var(--text); }
.poll-rich-text code { padding: 2px 6px; border-radius: 8px; background: rgba(255,255,255,.08); }
.poll-rich-image { display:block; max-width:100%; max-height:460px; margin:14px 0; border-radius:18px; object-fit:cover; box-shadow:0 18px 48px rgba(0,0,0,.28); }
.poll-detail-cover img, .poll-showcase-card__media img { object-fit: cover; }
@media (max-width: 680px) {
  .poll-date-pill { max-width: 100%; white-space: normal; text-align: left; }
  .poll-detail-hero__meta { gap: 8px; }
}

/* Poll comments: date and delete/edit actions must not overlap on narrow screens. */
.poll-comment-card .content-comment-top{align-items:center}
.poll-comment-card .content-comment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.poll-comment-card .inline-form{display:inline-flex;margin:0}
.comment-inline-delete{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(248,113,113,.28);
  background:rgba(127,29,29,.18);
  color:#fecaca;
  border-radius:999px;
  padding:6px 11px;
  font-size:13px;
  font-weight:900;
  line-height:1.2;
  cursor:pointer;
}
.comment-inline-delete:hover{border-color:rgba(248,113,113,.55);background:rgba(185,28,28,.24);color:#fff}
@media(max-width:720px){
  .poll-comment-card .content-comment-top{align-items:flex-start;flex-direction:column;gap:3px}
  .poll-comment-card .content-comment-actions{gap:8px}
}

/* Poll detail/admin polish 2026-05-17 */
.poll-detail-hero--compact{gap:10px!important;padding:clamp(20px,3vw,34px)!important;background:radial-gradient(circle at 10% 0,rgba(33,203,126,.18),transparent 38%),linear-gradient(135deg,rgba(10,26,46,.96),rgba(12,28,54,.82))!important}
.poll-detail-hero--compact h1 span{display:inline-block;color:#8dfac0;text-transform:uppercase;font-size:.46em;letter-spacing:.16em;vertical-align:middle;margin-right:10px}
.poll-detail-summary{border:1px solid rgba(126,147,190,.18);border-radius:24px;background:linear-gradient(135deg,rgba(12,27,47,.82),rgba(7,16,29,.92));padding:clamp(16px,2.4vw,26px);color:#dce8ff;line-height:1.72;overflow-wrap:anywhere}
.poll-detail-cover{border-radius:var(--poll-cover-radius,28px)!important;height:clamp(220px,34vw,440px);max-height:none!important;display:block;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.poll-detail-cover img{height:100%!important;max-height:none!important;object-position:var(--poll-cover-pos,50% 50%)!important;transform-origin:var(--poll-cover-pos,50% 50%);transform:scale(var(--poll-cover-scale,1));transition:transform .18s ease,object-position .18s ease}
.poll-detail-option.can-vote:hover{border-color:rgba(60,224,144,.45);background:rgba(34,197,94,.07)}
.poll-detail-option:has(input:checked),.poll-detail-option.is-pending-selected{border-color:rgba(34,197,94,.72)!important;background:linear-gradient(135deg,rgba(24,129,76,.2),rgba(47,114,203,.08))!important;box-shadow:0 0 0 3px rgba(34,197,94,.16),0 18px 46px rgba(8,28,22,.22)!important}
.poll-detail-option:has(input:checked) .poll-detail-option__mark,.poll-detail-option.is-pending-selected .poll-detail-option__mark{background:linear-gradient(135deg,#30d982,#157447)!important;border-color:rgba(166,255,204,.58)!important;color:#fff!important}
.poll-detail-option:has(input:checked) .poll-detail-option__mark:empty::before,.poll-detail-option.is-pending-selected .poll-detail-option__mark:empty::before{content:'✓'}
.poll-rich-text,.home-rich-text{overflow-wrap:anywhere}.poll-rich-text .rt-align-left,.home-rich-text .rt-align-left{text-align:left}.poll-rich-text .rt-align-center,.home-rich-text .rt-align-center{text-align:center}.poll-rich-text .rt-align-right,.home-rich-text .rt-align-right{text-align:right}.poll-rich-text ul,.home-rich-text ul{margin:.5rem 0 .5rem 1.2rem}.poll-rich-text blockquote,.home-rich-text blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid rgba(48,209,136,.65);border-radius:14px;background:rgba(48,209,136,.08)}
.home-rich-text{color:inherit;line-height:1.58}.review-slide .home-rich-text,.card .home-rich-text{margin:8px 0;color:#d6e3f7}.home-rich-text p{margin:.35rem 0}.home-rich-text strong{color:#fff}.home-rich-text em{color:#d8e7ff}
.poll-comment-like-form{display:inline-flex;margin:0}.poll-comment-actions .comment-heart-button{height:36px;min-width:54px;border-radius:999px;padding:0 12px;font-size:14px}.poll-comment-card.is-reply{margin-top:0;background:linear-gradient(135deg,rgba(45,32,77,.42),rgba(10,18,29,.86))!important}.poll-comment-card .content-comment-top{align-items:center}.poll-comment-card .content-comment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.poll-comment-card .content-comment-replies{grid-column:1/-1;margin-left:64px}
@media(max-width:720px){.poll-detail-hero--compact h1 span{display:block;margin:0 0 8px}.poll-detail-cover{height:clamp(190px,52vw,320px)}.poll-detail-summary{border-radius:20px;padding:16px}.poll-comment-card .content-comment-replies{margin-left:0;padding-left:10px}.poll-comment-actions .comment-heart-button{height:34px}}

/* Poll vote update and voters panel 2026-05-17 */
.poll-vote-hint{grid-column:1/-1;margin:0 0 10px;padding:10px 14px;border:1px solid rgba(48,209,136,.28);border-radius:16px;background:rgba(48,209,136,.08);color:#bdf9d8;font-weight:800}
.poll-detail-option.can-vote{cursor:pointer}
.poll-detail-option.can-vote input:not(:disabled){accent-color:#25d17f}
.poll-voters-panel{margin:22px 0;padding:24px;border:1px solid rgba(122,167,255,.18);border-radius:28px;background:linear-gradient(145deg,rgba(9,22,39,.94),rgba(7,17,31,.9));box-shadow:0 24px 70px rgba(0,0,0,.24)}
.poll-voters-panel__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.poll-voters-panel__head span{display:inline-flex;margin-bottom:4px;color:#30d982;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.poll-voters-panel__head h2{margin:0;font-size:clamp(1.35rem,2.6vw,2.2rem)}
.poll-voters-panel__head strong{display:grid;place-items:center;min-width:48px;height:48px;border-radius:16px;border:1px solid rgba(48,209,136,.35);background:rgba(48,209,136,.12);color:#86f7b4;font-size:1.35rem}
.poll-voters-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.poll-voter-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:20px;background:rgba(15,25,42,.72)}
.poll-voter-card img{width:48px;height:48px;border-radius:16px;object-fit:cover;border:1px solid rgba(255,255,255,.14)}
.poll-voter-card strong{display:block;color:#fff;font-size:.98rem}
.poll-voter-card small{display:block;margin-top:2px;color:#94a3b8}
.poll-voter-card p{margin:7px 0 0;color:#d7e7ff;font-size:.9rem;line-height:1.35}
@media (max-width:640px){.poll-voters-panel{padding:18px;border-radius:22px}.poll-voters-list{grid-template-columns:1fr}.poll-voters-panel__head{align-items:flex-start}}

/* Profile strength dashboard + Ollama assistant */
.profile-strength-preview .section-head{align-items:flex-start;gap:16px}.profile-strength-preview__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.profile-strength-preview__stats article,.profile-strength-mini-card{position:relative;overflow:hidden;border:1px solid rgba(126,147,190,.18);border-radius:22px;background:linear-gradient(145deg,rgba(13,29,48,.86),rgba(7,17,31,.94));box-shadow:0 18px 50px rgba(0,0,0,.18)}.profile-strength-preview__stats article{padding:18px}.profile-strength-preview__stats article:before,.profile-strength-mini-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#22c55e,#38bdf8);opacity:.82}.profile-strength-preview__stats span{display:block;color:#9fb0c8;font-size:13px;font-weight:850}.profile-strength-preview__stats strong{display:block;margin:6px 0;color:#fff;font-size:clamp(22px,2.6vw,32px);line-height:1}.profile-strength-preview__stats small{color:#c7d5ea}.profile-strength-preview__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profile-strength-mini-card{display:grid;gap:6px;padding:18px;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.profile-strength-mini-card:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.5)}.profile-strength-mini-card span{color:#7de8aa;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.profile-strength-mini-card strong{color:#fff;font-size:18px}.profile-strength-mini-card small{color:#aebdd3}.profile-strength-mini-card em{justify-self:start;border-radius:999px;padding:6px 10px;font-style:normal;font-weight:950}.profile-strength-mini-card em.is-up{background:rgba(34,197,94,.13);color:#72f1aa}.profile-strength-mini-card em.is-down{background:rgba(248,113,113,.12);color:#ff9a9a}.strength-dash-page{width:min(1480px,calc(100% - 44px));margin:0 auto 60px;display:grid;gap:22px}.strength-dash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;border:1px solid rgba(88,123,170,.22);border-radius:30px;padding:clamp(22px,4vw,42px);background:radial-gradient(circle at 8% 12%,rgba(34,197,94,.2),transparent 34%),radial-gradient(circle at 78% 0,rgba(56,189,248,.12),transparent 36%),linear-gradient(135deg,rgba(7,17,31,.96),rgba(10,25,43,.88));box-shadow:0 28px 80px rgba(0,0,0,.28);overflow:hidden}.strength-dash-hero h1{margin:8px 0 8px;color:#fff;font-size:clamp(44px,5vw,78px);letter-spacing:-.055em;line-height:.95}.strength-dash-hero p{margin:0;color:#b9c8de;max-width:780px;line-height:1.65}.strength-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.strength-stat-card{position:relative;display:grid;gap:8px;min-height:142px;padding:20px;border:1px solid rgba(126,147,190,.18);border-radius:24px;background:linear-gradient(145deg,rgba(12,28,48,.86),rgba(7,17,31,.94));overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2)}.strength-stat-card:after{content:"";position:absolute;inset:auto 18px 18px 18px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(34,197,94,.9),transparent)}.strength-stat-card__icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(34,197,94,.12);color:#7cf2ad;font-size:24px}.strength-stat-card small{color:#9fb0c8;font-weight:850}.strength-stat-card strong{color:#fff;font-size:clamp(25px,2.4vw,36px);line-height:1}.strength-stat-card span:last-child{color:#b7c5da}.strength-stat-card.is-blue .strength-stat-card__icon{background:rgba(59,130,246,.13);color:#70b7ff}.strength-stat-card.is-purple .strength-stat-card__icon{background:rgba(168,85,247,.13);color:#c084fc}.strength-stat-card.is-orange .strength-stat-card__icon{background:rgba(249,115,22,.13);color:#fbbf24}.strength-stat-card.is-red .strength-stat-card__icon{background:rgba(239,68,68,.13);color:#fb7185}.strength-dash-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);gap:12px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.strength-dash-tab{display:flex;align-items:center;gap:12px;min-height:70px;padding:14px 18px;border:1px solid rgba(126,147,190,.18);border-radius:18px;background:linear-gradient(145deg,rgba(13,29,48,.82),rgba(7,17,31,.94));color:#dfeaff;text-decoration:none;white-space:nowrap}.strength-dash-tab span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(34,197,94,.1);color:#76f0a8}.strength-dash-tab.is-active{border-color:rgba(34,197,94,.72);box-shadow:0 0 0 3px rgba(34,197,94,.13),0 18px 48px rgba(6,95,70,.18)}.strength-dash-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.strength-dash-main-card,.strength-dash-aside>section{border:1px solid rgba(126,147,190,.18);border-radius:28px;background:linear-gradient(145deg,rgba(12,27,47,.88),rgba(7,17,31,.95));box-shadow:0 24px 70px rgba(0,0,0,.22)}.strength-dash-main-card{padding:22px}.strength-dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.strength-dash-section-head h2,.strength-ai-card h2,.strength-dash-recent h2{margin:0;color:#fff;font-size:clamp(24px,2.6vw,34px)}.strength-dash-section-head p{margin:5px 0 0;color:#9fb0c8}.strength-dash-mode-pill{border:1px solid rgba(34,197,94,.32);border-radius:999px;background:rgba(34,197,94,.1);color:#8dfac0;padding:8px 12px;font-weight:900}.strength-exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.strength-exercise-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;min-height:190px;border:1px solid rgba(126,147,190,.16);border-radius:24px;background:rgba(255,255,255,.035);padding:14px;overflow:hidden;transition:transform .18s ease,border-color .18s ease}.strength-exercise-card:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.42)}.strength-exercise-card__media{width:92px;min-height:154px;border-radius:18px;overflow:hidden;background:radial-gradient(circle,rgba(34,197,94,.14),rgba(8,18,32,.98));display:grid;place-items:center;color:#8dfac0;font-size:38px}.strength-exercise-card__media img{width:100%;height:100%;object-fit:cover}.strength-exercise-card__body{display:grid;gap:12px;min-width:0}.strength-exercise-card__title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.strength-exercise-card h3{margin:0;color:#fff;font-size:18px;line-height:1.25}.strength-pr-badge{border-radius:999px;background:rgba(34,197,94,.14);color:#7af0a8;padding:4px 8px;font-size:11px;font-weight:950;text-transform:uppercase}.strength-exercise-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.strength-exercise-metrics span{display:grid;gap:3px}.strength-exercise-metrics small{color:#8ca0ba}.strength-exercise-metrics strong{color:#eef6ff;font-size:15px}.strength-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px}.strength-card-progress{border-radius:999px;padding:6px 10px;font-weight:950}.strength-card-progress.is-up{background:rgba(34,197,94,.14);color:#66f0a0}.strength-card-progress.is-down{background:rgba(248,113,113,.13);color:#ffa0a0}.strength-sparkline{width:140px;height:38px;overflow:visible}.strength-sparkline polyline{fill:none;stroke:#22e879;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(34,232,121,.28))}.strength-dash-aside{display:grid;gap:18px;position:sticky;top:calc(var(--topbar-height,72px) + 18px)}.strength-ai-card,.strength-dash-recent{padding:20px}.strength-ai-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.strength-ai-card__head span{border-radius:999px;background:rgba(56,189,248,.14);color:#7dd3fc;padding:4px 8px;font-size:12px;font-weight:950}.strength-ai-card__body{margin:14px 0;padding:16px;border:1px solid rgba(126,147,190,.15);border-radius:18px;background:rgba(255,255,255,.035);color:#d6e3f7;line-height:1.65}.strength-ai-card .full{width:100%;justify-content:center}.strength-recent-row{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(126,147,190,.12)}.strength-recent-row:last-child{border-bottom:0}.strength-recent-row>span{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:rgba(34,197,94,.1);color:#80f2af}.strength-recent-row strong{display:block;color:#fff}.strength-recent-row small{display:block;margin-top:4px;color:#9fb0c8}.strength-empty-state{display:grid;gap:5px;border:1px dashed rgba(126,147,190,.28);border-radius:22px;padding:22px;color:#cdd9ea;background:rgba(255,255,255,.025)}body[data-theme="light"] .strength-dash-hero,body[data-theme="light"] .strength-stat-card,body[data-theme="light"] .strength-dash-tab,body[data-theme="light"] .strength-dash-main-card,body[data-theme="light"] .strength-dash-aside>section,body[data-theme="light"] .profile-strength-preview__stats article,body[data-theme="light"] .profile-strength-mini-card{background:linear-gradient(145deg,#fff,#f3f8ff);border-color:rgba(17,43,77,.12);box-shadow:0 18px 50px rgba(17,43,77,.08)}body[data-theme="light"] .strength-dash-hero h1,body[data-theme="light"] .strength-stat-card strong,body[data-theme="light"] .strength-dash-section-head h2,body[data-theme="light"] .strength-exercise-card h3,body[data-theme="light"] .strength-recent-row strong,body[data-theme="light"] .profile-strength-preview__stats strong,body[data-theme="light"] .profile-strength-mini-card strong{color:#10233d}@media(max-width:1180px){.strength-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strength-dash-layout{grid-template-columns:1fr}.strength-dash-aside{position:static}.strength-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.strength-dash-page{width:min(100% - 22px,560px);gap:16px}.strength-dash-hero{display:grid;border-radius:24px;padding:20px}.strength-dash-hero h1{font-size:42px}.strength-stat-grid,.profile-strength-preview__stats{grid-template-columns:1fr 1fr}.strength-dash-tabs{grid-auto-columns:minmax(138px,1fr)}.strength-dash-main-card{padding:16px;border-radius:22px}.strength-dash-section-head{align-items:flex-start;flex-direction:column}.strength-exercise-grid,.profile-strength-preview__cards{grid-template-columns:1fr}.strength-exercise-card{grid-template-columns:82px minmax(0,1fr);min-height:170px}.strength-exercise-card__media{width:82px;min-height:140px}.strength-exercise-metrics{grid-template-columns:1fr}.strength-card-footer{align-items:flex-start;flex-direction:column}.profile-strength-preview .section-head{display:grid}.profile-strength-preview .hero-actions{width:100%;display:grid;grid-template-columns:1fr}.profile-strength-preview__stats strong{font-size:24px}}@media(max-width:430px){.strength-stat-grid,.profile-strength-preview__stats{grid-template-columns:1fr}.strength-exercise-card{grid-template-columns:1fr}.strength-exercise-card__media{width:100%;height:190px}.strength-sparkline{width:100%}}

/* Profile progress showcase dashboard */
.profile-progress-showcase{scroll-margin-top:calc(var(--topbar-height,72px) + 18px)}
.profile-progress-showcase__panel{position:relative;overflow:hidden;border-radius:30px!important;background:radial-gradient(circle at 8% 0,rgba(34,197,94,.13),transparent 28%),radial-gradient(circle at 94% 10%,rgba(59,130,246,.11),transparent 32%),linear-gradient(145deg,rgba(10,24,42,.92),rgba(6,16,29,.98))!important;border:1px solid rgba(126,147,190,.2)!important;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.profile-progress-showcase__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.profile-progress-showcase__eyebrow{display:inline-flex;align-items:center;gap:9px;color:#f8fbff;font-size:clamp(24px,2.6vw,34px);font-weight:950;letter-spacing:-.04em}.profile-progress-showcase__eyebrow span{color:#31ea78;text-shadow:0 0 18px rgba(49,234,120,.36)}.profile-progress-showcase__head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.profile-progress-showcase__head p{margin:10px 0 0;color:#aebbd2;font-size:16px}.profile-progress-showcase__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.profile-progress-showcase__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.profile-progress-card{position:relative;display:flex;flex-direction:column;gap:18px;min-height:560px;padding:22px;border:1px solid rgba(126,147,190,.18);border-radius:26px;background:linear-gradient(145deg,rgba(14,31,51,.86),rgba(7,17,31,.96));box-shadow:0 22px 70px rgba(0,0,0,.22);overflow:hidden}.profile-progress-card:before{content:"";position:absolute;inset:-1px -1px auto -1px;height:1px;background:linear-gradient(90deg,transparent,rgba(34,197,94,.58),transparent)}.profile-progress-card--body:before{background:linear-gradient(90deg,transparent,rgba(139,92,246,.7),transparent)}.profile-progress-card--strength:before{background:linear-gradient(90deg,transparent,rgba(250,204,21,.7),transparent)}.profile-progress-card--photos:before{background:linear-gradient(90deg,transparent,rgba(236,72,153,.65),transparent)}
.profile-progress-card__arrow{position:absolute;top:24px;right:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:rgba(126,147,190,.11);border:1px solid rgba(126,147,190,.12);color:#dbeafe;text-decoration:none;font-size:30px;line-height:1;transition:transform .18s ease,border-color .18s ease,background .18s ease}.profile-progress-card__arrow:hover{transform:translateX(3px);border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.12)}.profile-progress-card__title{display:flex;align-items:center;gap:16px;padding-right:42px}.profile-progress-card__icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:20px;background:linear-gradient(135deg,rgba(34,197,94,.28),rgba(34,197,94,.08));color:#48f084;font-size:28px;box-shadow:inset 0 0 0 1px rgba(34,197,94,.14)}.profile-progress-card--body .profile-progress-card__icon{background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(139,92,246,.08));color:#a855f7}.profile-progress-card--strength .profile-progress-card__icon{background:linear-gradient(135deg,rgba(250,204,21,.22),rgba(250,204,21,.07));color:#facc15}.profile-progress-card--photos .profile-progress-card__icon{background:linear-gradient(135deg,rgba(236,72,153,.27),rgba(236,72,153,.08));color:#f472b6}.profile-progress-card h3{margin:0;color:#fff;font-size:20px;line-height:1.15}.profile-progress-card p{margin:6px 0 0;color:#a8b6ca;line-height:1.45}
.profile-progress-metric-box,.profile-progress-list-box,.profile-strength-summary-mini,.profile-top-strength-list,.profile-photo-message-mini{border:1px solid rgba(126,147,190,.14);border-radius:20px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.profile-progress-metric-box{display:grid;gap:8px;padding:18px}.profile-progress-metric-box>span,.profile-progress-list-box span,.profile-strength-summary-mini span{color:#94a6bf;font-weight:800}.profile-progress-metric-box strong{color:#31e77a;font-size:clamp(28px,3vw,38px);line-height:1}.profile-progress-metric-box strong small{font-size:.48em;color:#93f7bb}.profile-progress-metric-box em,.profile-progress-list-box em{font-style:normal;font-weight:950}.profile-progress-metric-box em.is-up,.profile-progress-list-box em.is-up,.profile-strength-summary-mini .is-up,.profile-top-strength-list b.is-up{color:#4ade80}.profile-progress-metric-box em.is-good,.profile-progress-list-box em.is-good{color:#4ade80}.profile-progress-metric-box em.is-down,.profile-progress-list-box em.is-down,.profile-strength-summary-mini .is-down,.profile-top-strength-list b.is-down{color:#fb7185}.profile-progress-chart{width:100%;height:100px;overflow:visible}.profile-progress-chart polyline{fill:none;stroke:#22e879;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(34,232,121,.35))}
.profile-progress-list-box{display:grid;gap:12px;padding:17px}.profile-progress-list-box__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}.profile-progress-list-box__head strong{color:#fff}.profile-progress-list-box__head span{color:#97a9c0}.profile-progress-list-box>div:not(.profile-progress-list-box__head){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid rgba(126,147,190,.11)}.profile-progress-list-box strong{color:#eef6ff}.profile-progress-card__edit{margin-top:auto;display:flex;justify-content:center;align-items:center;min-height:50px;border-radius:16px;border:1px solid rgba(34,197,94,.58);color:#5df28f;text-decoration:none;font-weight:950;background:rgba(34,197,94,.055);transition:background .18s ease,transform .18s ease}.profile-progress-card__edit:hover{background:rgba(34,197,94,.13);transform:translateY(-2px)}
.profile-composition-donut{width:min(260px,76%);aspect-ratio:1;margin:8px auto 4px;border-radius:999px;background:conic-gradient(#31d96d 0 var(--m-stop),#8b5cf6 var(--m-stop) var(--f-stop),#5d8cff var(--f-stop) var(--w-stop),#64748b var(--w-stop) 100%);display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 18px 55px rgba(25,80,140,.2)}.profile-composition-donut:before{content:"";position:absolute}.profile-composition-donut>div{width:58%;height:58%;border-radius:999px;display:grid;place-items:center;align-content:center;background:linear-gradient(180deg,rgba(9,20,35,.98),rgba(6,16,29,.98));box-shadow:inset 0 0 0 1px rgba(126,147,190,.12)}.profile-composition-donut strong{font-size:34px;color:#fff;line-height:1}.profile-composition-donut span{color:#dbeafe;font-size:14px}.profile-composition-donut small{color:#96a8be}.profile-composition-list{display:grid;gap:0;border:1px solid rgba(126,147,190,.14);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.026)}.profile-composition-list>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid rgba(126,147,190,.1)}.profile-composition-list>div:last-child{border-bottom:0}.profile-composition-list span{width:10px;height:10px;border-radius:999px}.profile-composition-list .is-muscle{background:#31d96d}.profile-composition-list .is-fat{background:#8b5cf6}.profile-composition-list .is-water{background:#5d8cff}.profile-composition-list .is-other{background:#64748b}.profile-composition-list em{font-style:normal;color:#d7e2f3}.profile-composition-list strong{color:#f8fbff}.profile-composition-list b{font-weight:900;color:#69ef9a}.profile-composition-list>div:nth-child(2) b{color:#a879ff}.profile-composition-list>div:nth-child(3) b{color:#6ca6ff}.profile-composition-list>div:nth-child(4) b{color:#9badc4}
.profile-strength-summary-mini{padding:18px;display:grid;gap:12px}.profile-strength-summary-mini>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.profile-strength-summary-mini strong{font-size:20px}.profile-strength-summary-mini small{grid-column:1/-1;color:#aebbd2}.profile-top-strength-list{display:grid;gap:10px;padding:16px}.profile-top-strength-list>strong{color:#fff;margin-bottom:4px}.profile-top-strength-list a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-template-areas:"icon name delta" "icon value date";gap:3px 10px;align-items:center;color:inherit;text-decoration:none;border-radius:14px;padding:9px;background:rgba(255,255,255,.025);transition:background .18s ease,transform .18s ease}.profile-top-strength-list a:hover{background:rgba(34,197,94,.08);transform:translateY(-1px)}.profile-top-strength-list span{grid-area:icon;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(34,197,94,.1);color:#86efac}.profile-top-strength-list em{grid-area:name;font-style:normal;color:#fff;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-top-strength-list strong{grid-area:value;color:#49ed83;font-size:20px}.profile-top-strength-list b{grid-area:delta;justify-self:end;font-size:14px}
.profile-progress-card--strength{min-width:0}
.profile-progress-card--strength .profile-strength-summary-mini{padding:16px;gap:10px;overflow:hidden}
.profile-progress-card--strength .profile-strength-summary-mini>div{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.profile-progress-card--strength .profile-strength-summary-mini span{overflow-wrap:anywhere}
.profile-progress-card--strength .profile-strength-summary-mini strong{font-size:18px;white-space:nowrap}
.profile-progress-card--strength .profile-progress-chart{height:82px;max-width:100%}
.profile-progress-card--strength .profile-top-strength-list{display:grid;grid-template-columns:1fr;gap:9px;padding:14px;overflow:hidden}
.profile-progress-card--strength .profile-top-strength-list>strong{font-size:15px}
.profile-progress-card--strength .profile-top-strength-list a{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"icon name delta" "icon value value";gap:4px 9px;padding:10px;border:1px solid rgba(126,147,190,.08);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(34,197,94,.035))}
.profile-progress-card--strength .profile-top-strength-list span{width:32px;height:32px;border-radius:11px;font-size:14px}
.profile-progress-card--strength .profile-top-strength-list em{font-size:14px}
.profile-progress-card--strength .profile-top-strength-list a strong{font-size:17px;line-height:1.1;white-space:normal}
.profile-progress-card--strength .profile-top-strength-list b{font-size:13px;white-space:nowrap}
.profile-photo-pair-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-photo-mini-card{position:relative;overflow:hidden;min-height:270px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(126,147,190,.14);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}.profile-photo-mini-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.03)}.profile-photo-mini-card:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(5,12,22,.9))}.profile-photo-mini-card>span{position:absolute;inset:0;display:grid;place-items:center;color:#8093ad;font-size:22px;font-weight:950}.profile-photo-mini-card strong,.profile-photo-mini-card small{position:relative;z-index:1}.profile-photo-mini-card strong{font-size:18px}.profile-photo-mini-card small{color:#bdd0e9}.profile-photo-message-mini{display:flex;align-items:center;gap:14px;padding:18px}.profile-photo-message-mini>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:rgba(236,72,153,.16);color:#f472b6;font-size:26px;flex:0 0 auto}.profile-photo-message-mini strong{display:block;color:#fff}.profile-photo-message-mini p{margin:4px 0 0}
body[data-theme="light"] .profile-progress-showcase__panel,body[data-theme="light"] .profile-progress-card{background:linear-gradient(145deg,#fff,#f3f8ff)!important;border-color:rgba(17,43,77,.12)!important;box-shadow:0 18px 50px rgba(17,43,77,.08)}body[data-theme="light"] .profile-progress-showcase__eyebrow,body[data-theme="light"] .profile-progress-card h3,body[data-theme="light"] .profile-progress-list-box__head strong,body[data-theme="light"] .profile-composition-list strong,body[data-theme="light"] .profile-top-strength-list>strong,body[data-theme="light"] .profile-top-strength-list em,body[data-theme="light"] .profile-photo-message-mini strong{color:#10233d}body[data-theme="light"] .profile-progress-metric-box,body[data-theme="light"] .profile-progress-list-box,body[data-theme="light"] .profile-strength-summary-mini,body[data-theme="light"] .profile-top-strength-list,body[data-theme="light"] .profile-photo-message-mini{background:rgba(17,43,77,.035);border-color:rgba(17,43,77,.1)}body[data-theme="light"] .profile-composition-donut>div{background:#fff}
@media(max-width:1380px){.profile-progress-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-progress-card{min-height:520px}}@media(max-width:760px){.profile-progress-showcase__panel{border-radius:24px!important;padding:18px!important}.profile-progress-showcase__head{display:grid;gap:12px}.profile-progress-showcase__actions{justify-content:stretch}.profile-progress-showcase__actions .btn{width:100%;justify-content:center}.profile-progress-showcase__grid{grid-template-columns:1fr;gap:14px}.profile-progress-card{min-height:0;padding:18px;border-radius:22px}.profile-progress-card__title{gap:12px}.profile-progress-card__icon{width:50px;height:50px;border-radius:17px}.profile-composition-donut{width:min(230px,72%)}.profile-photo-mini-card{min-height:220px}}@media(max-width:430px){.profile-progress-list-box>div:not(.profile-progress-list-box__head){grid-template-columns:1fr auto}.profile-progress-list-box>div:not(.profile-progress-list-box__head) em{grid-column:1/-1}.profile-composition-list>div{grid-template-columns:12px minmax(0,1fr) auto}.profile-composition-list b{grid-column:2/-1}.profile-photo-pair-mini{grid-template-columns:1fr}.profile-photo-mini-card{min-height:210px}}

/* Strength exercise photo lightbox trigger */
.strength-exercise-photo-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:zoom-in;overflow:hidden}
.strength-exercise-photo-button:focus-visible{outline:3px solid rgba(34,197,94,.72);outline-offset:3px}
.strength-exercise-photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease,filter .22s ease}
.strength-exercise-photo-button:hover img{transform:scale(1.035);filter:saturate(1.08)}

/* Mobile drawer scroll repair: opened groups must not expand beyond the viewport. */
.side-drawer,
.profile-drawer{max-height:100dvh;overflow:hidden}
.drawer-nav--groups,
.profile-drawer > .drawer-nav{overflow-y:auto!important;overflow-x:hidden!important;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.profile-drawer > .drawer-nav{flex:1 1 auto;padding-bottom:calc(24px + var(--safe-bottom))}
@media(max-width:760px){
  .side-drawer,
  .profile-drawer{height:100dvh;max-height:100dvh}
  .side-drawer .drawer-nav--groups{overflow-y:auto!important;max-height:none!important;padding-bottom:calc(18px + var(--safe-bottom))}
  .side-drawer .drawer-group[open] .drawer-subnav{max-height:min(46vh,430px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
}

/* Drawer accordion hardening for Android/Chrome: each opened section scrolls inside itself. */
@media(max-width:760px){
  .side-drawer{
    display:flex!important;
    flex-direction:column!important;
    height:100svh!important;
    max-height:100svh!important;
    overflow:hidden!important;
  }
  .side-drawer .drawer-head{flex:0 0 auto}
  .side-drawer .drawer-nav--groups{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    gap:12px!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:16px 18px calc(140px + var(--safe-bottom))!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  .side-drawer .drawer-group{
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .side-drawer .drawer-group[open]{
    display:flex!important;
    flex-direction:column!important;
    max-height:min(60svh,520px)!important;
  }
  .side-drawer .drawer-group[open] > summary{flex:0 0 auto!important}
  .side-drawer .drawer-group[open] .drawer-subnav{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:min(42svh,360px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 10px 14px!important;
    scrollbar-gutter:stable both-edges;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  .side-drawer .drawer-android-link,
  .side-drawer .drawer-app-version{flex:0 0 auto!important}
}

/* KRIKFIT reusable rich editor / DLE-like news tools */
.kf-emoji-picker{position:fixed;z-index:4000;width:min(340px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 24px));overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:22px;background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(3,7,18,.98));box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 0 1px rgba(34,197,94,.08) inset;color:#e5f2ff;backdrop-filter:blur(18px)}
.kf-emoji-picker[hidden]{display:none!important}.kf-emoji-picker__top{display:flex;gap:8px;padding:12px;border-bottom:1px solid rgba(148,163,184,.16)}.kf-emoji-picker__top input{flex:1;min-width:0;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:rgba(2,6,23,.78);color:#fff;padding:10px 12px}.kf-emoji-picker__top button,.kf-emoji-picker__tabs button,.kf-emoji-picker__grid button,.kf-emoji-picker__tones button{border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.7);color:#e5f2ff;border-radius:12px;cursor:pointer}.kf-emoji-picker__top button{width:42px;font-size:22px}.kf-emoji-picker__tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 12px}.kf-emoji-picker__tabs button{white-space:nowrap;padding:8px 10px;font-weight:800}.kf-emoji-picker__tabs button.is-active{border-color:rgba(34,197,94,.8);background:rgba(22,163,74,.18);color:#bbf7d0}.kf-emoji-picker__tones{display:flex;gap:6px;padding:0 12px 8px}.kf-emoji-picker__tones button{width:34px;height:34px;font-size:19px}.kf-emoji-picker__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:12px;max-height:250px;overflow:auto}.kf-emoji-picker__grid button{height:34px;font-size:20px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.kf-emoji-picker__grid button:hover{transform:translateY(-1px);border-color:rgba(34,197,94,.65);background:rgba(34,197,94,.14)}
.news-detail-body blockquote,.news-content blockquote{margin:16px 0;padding:14px 16px;border-left:4px solid rgba(34,197,94,.75);border-radius:16px;background:rgba(15,23,42,.62);color:#dbeafe}.news-detail-body pre,.news-content pre{overflow:auto;padding:14px;border-radius:16px;background:rgba(2,6,23,.78);border:1px solid rgba(148,163,184,.2)}.news-detail-body code,.news-content code{font-family:Consolas,'Courier New',monospace;color:#bbf7d0}.news-detail-body a,.news-content a{color:#7dd3fc;text-decoration:none}.news-detail-body a:hover,.news-content a:hover{text-decoration:underline}.rich-spoiler{margin:14px 0;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:rgba(15,23,42,.5);padding:10px 12px}.rich-spoiler summary{cursor:pointer;font-weight:900;color:#bbf7d0}.news-editor-toolbar{position:relative}.news-tool[data-news-emoji]{border-color:rgba(34,197,94,.55);background:rgba(20,184,166,.13)}
@media(max-width:640px){.kf-emoji-picker{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto}.kf-emoji-picker__grid{grid-template-columns:repeat(6,1fr)}}

/* News cover carousel: Instagram-like fixed viewport for full news pages. */
.news-detail-cover--compact,
.news-detail-carousel{
  width:min(760px,100%);
  margin:22px auto 18px;
  border-radius:24px;
}
.news-detail-cover--compact{
  display:block;
  height:clamp(260px,42vw,520px);
  object-fit:cover;
  background:rgba(15,23,42,.72);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}
.news-detail-carousel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(145deg,rgba(15,23,42,.86),rgba(2,6,23,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.32);
  touch-action:pan-y pinch-zoom;
}
.news-detail-carousel__viewport{
  position:relative;
  height:clamp(260px,42vw,520px);
}
.news-detail-carousel__slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transform:scale(.985);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}
.news-detail-carousel__slide.is-active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.news-detail-carousel__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.news-detail-carousel__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:58px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(2,6,23,.62);
  color:#fff;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(12px);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.news-detail-carousel__nav:hover{
  background:rgba(34,197,94,.22);
  border-color:rgba(34,197,94,.62);
  transform:translateY(-50%) scale(1.04);
}
.news-detail-carousel__nav--prev{left:14px}
.news-detail-carousel__nav--next{right:14px}
.news-detail-carousel__dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(2,6,23,.52);
  backdrop-filter:blur(12px);
}
.news-detail-carousel__dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(226,232,240,.45);
  cursor:pointer;
}
.news-detail-carousel__dot.is-active{
  width:22px;
  border-radius:999px;
  background:#22c55e;
}
@media(max-width:640px){
  .news-detail-cover--compact,
  .news-detail-carousel{border-radius:20px;margin-block:16px}
  .news-detail-cover--compact,
  .news-detail-carousel__viewport{height:clamp(220px,64vw,360px)}
  .news-detail-carousel__nav{width:38px;height:48px;font-size:30px}
}

/* 2026-06-12: light theme hardening for chat/profile/common glass pages. */
body[data-theme="light"],
body[data-theme-mode="light"] {
  --krikfit-light-surface: rgba(255,255,255,.92);
  --krikfit-light-surface-soft: rgba(248,251,255,.86);
  --krikfit-light-border: rgba(17,43,77,.13);
  --krikfit-light-text: #10233d;
  --krikfit-light-muted: #52657f;
  background:
    radial-gradient(circle at 12% 0, rgba(34,197,94,.12), transparent 32%),
    linear-gradient(180deg,#f6f9ff 0%,#eef4fb 100%);
  color: var(--krikfit-light-text);
}

body[data-theme="light"] .site-header,
body[data-theme="light"] .topbar,
body[data-theme="light"] .site-nav-drawer,
body[data-theme="light"] .profile-drawer,
body[data-theme="light"] .profile-menu,
body[data-theme="light"] .profile-menu-panel,
body[data-theme="light"] .chat-shell,
body[data-theme="light"] .chat-page,
body[data-theme="light"] .chat-page-shell,
body[data-theme="light"] .chat-hub-shell,
body[data-theme="light"] .chat-room-card,
body[data-theme="light"] .chat-section-card,
body[data-theme="light"] .chat-info-card,
body[data-theme="light"] .chat-side-card,
body[data-theme="light"] .chat-composer,
body[data-theme="light"] .pm-thread-shell,
body[data-theme="light"] .pm-thread-card,
body[data-theme="light"] .pm-thread-compose-wrap,
body[data-theme="light"] .content-card,
body[data-theme="light"] .portal-card,
body[data-theme="light"] .glass-card,
body[data-theme="light"] .site-card {
  background: linear-gradient(145deg, var(--krikfit-light-surface), var(--krikfit-light-surface-soft)) !important;
  border-color: var(--krikfit-light-border) !important;
  box-shadow: 0 18px 55px rgba(17,43,77,.08) !important;
  color: var(--krikfit-light-text) !important;
}

body[data-theme="light"] .chat-shell h1,
body[data-theme="light"] .chat-page h1,
body[data-theme="light"] .chat-page h2,
body[data-theme="light"] .chat-room-card h2,
body[data-theme="light"] .chat-section-card h3,
body[data-theme="light"] .pm-thread-shell h1,
body[data-theme="light"] .profile-drawer h2,
body[data-theme="light"] .content-card h1,
body[data-theme="light"] .content-card h2,
body[data-theme="light"] .portal-card h1,
body[data-theme="light"] .portal-card h2,
body[data-theme="light"] .site-card h1,
body[data-theme="light"] .site-card h2 {
  color: var(--krikfit-light-text) !important;
  text-shadow: none !important;
}

body[data-theme="light"] .chat-shell p,
body[data-theme="light"] .chat-page p,
body[data-theme="light"] .chat-meta,
body[data-theme="light"] .chat-room-card small,
body[data-theme="light"] .chat-section-card small,
body[data-theme="light"] .pm-thread-shell p,
body[data-theme="light"] .profile-drawer small,
body[data-theme="light"] .content-card p,
body[data-theme="light"] .portal-card p,
body[data-theme="light"] .site-card p {
  color: var(--krikfit-light-muted) !important;
}

body[data-theme="light"] input,
body[data-theme="light"] textarea,
body[data-theme="light"] select,
body[data-theme="light"] .chat-composer__input,
body[data-theme="light"] .pm-thread-compose-wrap input,
body[data-theme="light"] .pm-thread-compose-wrap textarea {
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(17,43,77,.16) !important;
  color: var(--krikfit-light-text) !important;
}

body[data-theme="light"] input::placeholder,
body[data-theme="light"] textarea::placeholder,
body[data-theme="light"] .chat-composer__input::placeholder {
  color: #7a8ba5 !important;
}

body[data-theme="light"] .chat-message,
body[data-theme="light"] .pm-message,
body[data-theme="light"] .message-bubble,
body[data-theme="light"] .comment-card,
body[data-theme="light"] .content-comment-card {
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(17,43,77,.12) !important;
  color: var(--krikfit-light-text) !important;
}

.chat-edit-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(52,211,153,.28);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(16,185,129,.14), rgba(15,23,42,.9));
  box-shadow: 0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}

.chat-edit-panel > div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.chat-edit-panel strong {
  color: #f8fafc;
  font-size: 14px;
}

.chat-edit-panel span {
  color: #a9bad5;
  font-size: 12px;
}

.chat-edit-panel__cancel {
  flex: 0 0 auto;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 999px;
  background: rgba(15,23,42,.78);
  color: #e5eefc;
  padding: 8px 12px;
  cursor: pointer;
}

.chat-edit-panel__cancel:hover {
  border-color: rgba(52,211,153,.45);
  color: #fff;
}

.chat-edit-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -4px 0 12px;
}

.chat-edit-attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 999px;
  background: rgba(15,23,42,.78);
  color: #e5eefc;
  padding: 7px 10px;
  cursor: pointer;
}

.chat-edit-attachment-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(280px, 62vw);
}

.chat-edit-attachment-chip strong {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: rgba(248,113,113,.2);
  color: #fecaca;
  font-weight: 900;
}

.chat-edit-attachment-chip:hover {
  border-color: rgba(248,113,113,.55);
}

body[data-theme="light"].chat-screen-open,
body[data-theme="light"].chat-screen-open .app-shell,
body[data-theme="light"].chat-screen-open main {
  background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 52%, #f9fcff 100%) !important;
  color: #10233d !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-card--common,
body[data-theme="light"].chat-screen-open .chat-card--common,
body[data-theme="light"].chat-screen-open .chat-desktop-workspace,
body[data-theme="light"].chat-screen-open .chat-desktop-roster,
body[data-theme="light"].chat-screen-open .chat-desktop-main,
body[data-theme="light"].chat-screen-open .chat-desktop-room-head,
body[data-theme="light"].chat-screen-open .chat-info-panel,
body[data-theme="light"].chat-screen-open .chat-info-panel__section,
body[data-theme="light"].chat-screen-open .chat-media-gallery,
body[data-theme="light"].chat-screen-open .chat-stream .chat-box,
body[data-theme="light"].chat-screen-open .chat-stream .chat-form--messenger,
body[data-theme="light"].chat-screen-open .chat-composer,
body[data-theme="light"].chat-screen-open .pm-thread-shell,
body[data-theme="light"].chat-screen-open .pm-thread-card,
body[data-theme="light"].chat-screen-open .pm-thread-compose-wrap {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,247,255,.98)) !important;
  border-color: rgba(17,43,77,.13) !important;
  box-shadow: 0 22px 62px rgba(46,81,118,.12) !important;
  color: #10233d !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__room {
  color: #10233d !important;
  border-color: rgba(32,176,92,.34) !important;
  background: linear-gradient(155deg, rgba(239,255,246,.98), rgba(255,255,255,.98)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 18px 44px rgba(34,96,67,.11) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__room--outdoor {
  border-color: rgba(13,165,167,.34) !important;
  background: linear-gradient(155deg, rgba(235,255,255,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__room--velo {
  border-color: rgba(225,126,20,.38) !important;
  background: linear-gradient(155deg, rgba(255,247,235,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__room--sup {
  border-color: rgba(32,145,205,.34) !important;
  background: linear-gradient(155deg, rgba(237,249,255,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__room-bg {
  opacity: .13;
}

body[data-theme="light"].chat-screen-open .chat-common-head h2,
body[data-theme="light"].chat-screen-open .chat-common-hub__copy strong,
body[data-theme="light"].chat-screen-open .chat-common-hub__suggest strong,
body[data-theme="light"].chat-screen-open .chat-common-hub__features strong,
body[data-theme="light"].chat-screen-open .chat-desktop-panel__head strong,
body[data-theme="light"].chat-screen-open .chat-info-panel__head strong,
body[data-theme="light"].chat-screen-open .chat-info-panel__hero h3,
body[data-theme="light"].chat-screen-open .chat-bubble__body,
body[data-theme="light"].chat-screen-open .pm-thread-shell h1 {
  color: #10233d !important;
  text-shadow: none !important;
}

body[data-theme="light"].chat-screen-open .chat-common-head p,
body[data-theme="light"].chat-screen-open .chat-common-hub__copy p,
body[data-theme="light"].chat-screen-open .chat-common-hub__suggest p,
body[data-theme="light"].chat-screen-open .chat-common-hub__features small,
body[data-theme="light"].chat-screen-open .chat-desktop-panel__head span,
body[data-theme="light"].chat-screen-open .chat-info-panel__hero p,
body[data-theme="light"].chat-screen-open .chat-info-panel__description,
body[data-theme="light"].chat-screen-open .chat-meta,
body[data-theme="light"].chat-screen-open .pm-thread-shell p {
  color: #52657f !important;
}

body[data-theme="light"].chat-screen-open .chat-common-head__icon-btn,
body[data-theme="light"].chat-screen-open .chat-info-panel__close,
body[data-theme="light"].chat-screen-open .chat-message-search__close,
body[data-theme="light"].chat-screen-open .chat-message-search__nav button,
body[data-theme="light"].chat-screen-open .chat-media-gallery__head button {
  color: #17324f !important;
  border-color: rgba(17,43,77,.15) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 24px rgba(46,81,118,.1) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__open,
body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__suggest-btn {
  color: #17324f !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(46,81,118,.08) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__suggest,
body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__features {
  border-color: rgba(17,43,77,.12) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,248,255,.98)) !important;
  box-shadow: 0 16px 40px rgba(46,81,118,.08) !important;
}

body[data-theme="light"].chat-screen-open .chat-layout-shell.chat-no-room .chat-common-hub__avatar {
  color: #17324f !important;
  border-color: #f8fbff !important;
  background: linear-gradient(135deg, #dbeafe, #f8fafc) !important;
  box-shadow: 0 8px 18px rgba(46,81,118,.16) !important;
}

body[data-theme="light"].chat-screen-open .chat-info-row,
body[data-theme="light"].chat-screen-open .chat-info-row__button,
body[data-theme="light"].chat-screen-open .chat-info-settings,
body[data-theme="light"].chat-screen-open .chat-info-join,
body[data-theme="light"].chat-screen-open .chat-roster-locked,
body[data-theme="light"].chat-screen-open .chat-message-search,
body[data-theme="light"].chat-screen-open .chat-message-search__nav,
body[data-theme="light"].chat-screen-open .chat-media-gallery-card,
body[data-theme="light"].chat-screen-open .chat-media-filter-banner,
body[data-theme="light"].chat-screen-open .chat-edit-panel,
body[data-theme="light"].chat-screen-open .chat-edit-attachment-chip {
  color: #17324f !important;
  border-color: rgba(17,43,77,.13) !important;
  background: rgba(255,255,255,.88) !important;
}

body[data-theme="light"].chat-screen-open .chat-bubble {
  color: #17324f !important;
  border-color: rgba(17,43,77,.12) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 24px rgba(46,81,118,.09) !important;
}

body[data-theme="light"].chat-screen-open .chat-bubble-row.is-mine .chat-bubble,
body[data-theme="light"].chat-screen-open .chat-message-row.is-mine .chat-bubble {
  border-color: rgba(31,164,93,.24) !important;
  background: linear-gradient(135deg, rgba(225,250,237,.98), rgba(236,248,255,.98)) !important;
}

body[data-theme="light"].chat-screen-open .chat-message-search,
body[data-theme="light"].chat-screen-open .chat-media-gallery__head {
  color: #17324f !important;
  background: rgba(249,252,255,.96) !important;
}

body[data-theme="light"].chat-screen-open .chat-media-gallery-card__preview {
  color: #17324f !important;
  background: #eaf2fb !important;
}

body[data-theme="light"].chat-screen-open input,
body[data-theme="light"].chat-screen-open textarea,
body[data-theme="light"].chat-screen-open select,
body[data-theme="light"].chat-screen-open .chat-composer__input,
body[data-theme="light"].chat-screen-open .pm-thread-compose-wrap input,
body[data-theme="light"].chat-screen-open .pm-thread-compose-wrap textarea {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(17,43,77,.16) !important;
  color: #10233d !important;
}

body[data-theme="light"].chat-screen-open input::placeholder,
body[data-theme="light"].chat-screen-open textarea::placeholder {
  color: #71839a !important;
}

@media (max-width: 640px) {
  .chat-edit-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .chat-edit-panel__cancel {
    width: 100%;
  }
}

/* Chat light theme and compact room cards. */
.chat-common-hub__avatar-stack {
  display: flex;
  align-items: center;
  min-width: 0;
}

.chat-layout-shell.chat-no-room .chat-common-hub__members {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.chat-layout-shell.chat-no-room .chat-common-hub__state {
  flex: 0 1 auto;
  max-width: 100%;
  margin-left: 0;
  white-space: normal;
  text-align: center;
  justify-content: center;
}

body[data-theme="light"] .chat-layout-shell,
body[data-theme="light"] .chat-card--common,
body[data-theme="light"] .chat-desktop-workspace,
body[data-theme="light"] .chat-desktop-roster,
body[data-theme="light"] .chat-desktop-main,
body[data-theme="light"] .chat-desktop-room-head,
body[data-theme="light"] .chat-info-panel,
body[data-theme="light"] .chat-info-panel__section,
body[data-theme="light"] .chat-media-gallery,
body[data-theme="light"] .chat-stream .chat-box,
body[data-theme="light"] .chat-stream .chat-form--messenger,
body[data-theme="light"] .chat-composer,
body[data-theme="light"] .pm-thread-shell,
body[data-theme="light"] .pm-thread-card,
body[data-theme="light"] .pm-thread-compose-wrap {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,247,255,.98)) !important;
  border-color: rgba(17,43,77,.13) !important;
  box-shadow: 0 22px 62px rgba(46,81,118,.12) !important;
  color: #10233d !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__room {
  color: #10233d !important;
  border-color: rgba(32,176,92,.34) !important;
  background: linear-gradient(155deg, rgba(239,255,246,.98), rgba(255,255,255,.98)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 18px 44px rgba(34,96,67,.11) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__room--outdoor {
  border-color: rgba(13,165,167,.34) !important;
  background: linear-gradient(155deg, rgba(235,255,255,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__room--velo {
  border-color: rgba(225,126,20,.38) !important;
  background: linear-gradient(155deg, rgba(255,247,235,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__room--sup {
  border-color: rgba(32,145,205,.34) !important;
  background: linear-gradient(155deg, rgba(237,249,255,.98), rgba(255,255,255,.98)) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__room-bg {
  opacity: .12;
}

body[data-theme="light"] .chat-common-head h2,
body[data-theme="light"] .chat-common-hub__copy strong,
body[data-theme="light"] .chat-common-hub__suggest strong,
body[data-theme="light"] .chat-common-hub__features strong,
body[data-theme="light"] .chat-desktop-panel__head strong,
body[data-theme="light"] .chat-info-panel__head strong,
body[data-theme="light"] .chat-info-panel__hero h3,
body[data-theme="light"] .chat-bubble__body,
body[data-theme="light"] .pm-thread-shell h1 {
  color: #10233d !important;
  text-shadow: none !important;
}

body[data-theme="light"] .chat-common-head p,
body[data-theme="light"] .chat-common-hub__copy p,
body[data-theme="light"] .chat-common-hub__suggest p,
body[data-theme="light"] .chat-common-hub__features small,
body[data-theme="light"] .chat-desktop-panel__head span,
body[data-theme="light"] .chat-info-panel__hero p,
body[data-theme="light"] .chat-info-panel__description,
body[data-theme="light"] .chat-meta,
body[data-theme="light"] .pm-thread-shell p {
  color: #52657f !important;
}

body[data-theme="light"] .chat-common-head__icon-btn,
body[data-theme="light"] .chat-info-panel__close,
body[data-theme="light"] .chat-message-search__close,
body[data-theme="light"] .chat-message-search__nav button,
body[data-theme="light"] .chat-media-gallery__head button,
body[data-theme="light"] .chat-round-action {
  color: #17324f !important;
  border-color: rgba(17,43,77,.15) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 24px rgba(46,81,118,.1) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__open,
body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__suggest-btn {
  color: #17324f !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(46,81,118,.08) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__suggest,
body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__features {
  border-color: rgba(17,43,77,.12) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,248,255,.98)) !important;
  box-shadow: 0 16px 40px rgba(46,81,118,.08) !important;
}

body[data-theme="light"] .chat-layout-shell.chat-no-room .chat-common-hub__avatar {
  color: #17324f !important;
  border-color: #f8fbff !important;
  background: linear-gradient(135deg, #dbeafe, #f8fafc) !important;
  box-shadow: 0 8px 18px rgba(46,81,118,.16) !important;
}

body[data-theme="light"] .chat-desktop-search,
body[data-theme="light"] .chat-desktop-user,
body[data-theme="light"] .chat-info-row,
body[data-theme="light"] .chat-info-row__button,
body[data-theme="light"] .chat-info-settings,
body[data-theme="light"] .chat-info-join,
body[data-theme="light"] .chat-roster-locked,
body[data-theme="light"] .chat-message-search,
body[data-theme="light"] .chat-message-search__nav,
body[data-theme="light"] .chat-media-gallery-card,
body[data-theme="light"] .chat-media-filter-banner,
body[data-theme="light"] .chat-edit-panel,
body[data-theme="light"] .chat-edit-attachment-chip {
  color: #17324f !important;
  border-color: rgba(17,43,77,.13) !important;
  background: rgba(255,255,255,.88) !important;
}

body[data-theme="light"] .chat-desktop-user:hover,
body[data-theme="light"] .chat-desktop-user.is-open {
  background: rgba(32,176,92,.1) !important;
}

body[data-theme="light"] .chat-desktop-user__body small,
body[data-theme="light"] .chat-desktop-search span {
  color: #60748e !important;
}

body[data-theme="light"] .chat-bubble {
  color: #17324f !important;
  border-color: rgba(17,43,77,.12) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 24px rgba(46,81,118,.09) !important;
}

body[data-theme="light"] .chat-bubble-row.is-mine .chat-bubble,
body[data-theme="light"] .chat-message-row.is-mine .chat-bubble {
  border-color: rgba(31,164,93,.24) !important;
  background: linear-gradient(135deg, rgba(225,250,237,.98), rgba(236,248,255,.98)) !important;
}

body[data-theme="light"] .chat-message-search,
body[data-theme="light"] .chat-media-gallery__head {
  color: #17324f !important;
  background: rgba(249,252,255,.96) !important;
}

body[data-theme="light"] .chat-media-gallery-card__preview {
  color: #17324f !important;
  background: #eaf2fb !important;
}

body[data-theme="light"] .chat-layout-shell input,
body[data-theme="light"] .chat-layout-shell textarea,
body[data-theme="light"] .chat-layout-shell select,
body[data-theme="light"] .chat-composer__input,
body[data-theme="light"] .pm-thread-compose-wrap input,
body[data-theme="light"] .pm-thread-compose-wrap textarea {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(17,43,77,.16) !important;
  color: #10233d !important;
}

body[data-theme="light"] .chat-layout-shell input::placeholder,
body[data-theme="light"] .chat-layout-shell textarea::placeholder {
  color: #71839a !important;
}

body[data-theme="light"] .comments-social-panel,
body[data-theme="light"] .comments-composer,
body[data-theme="light"] .comment-emoji-panel,
body[data-theme="light"] .comment-image-choice {
  color: #10233d !important;
  border-color: rgba(17,43,77,.14) !important;
  background: linear-gradient(145deg, #fff, #f3f8ff) !important;
  box-shadow: 0 18px 46px rgba(46,81,118,.1) !important;
}

body[data-theme="light"] .comments-toolbar .comment-editor-tool {
  color: #49627f !important;
}

body[data-theme="light"] .comments-toolbar .comment-editor-tool:hover {
  color: #0b6c42 !important;
  background: rgba(32,176,92,.1) !important;
}

@media (max-width: 640px) {
  .chat-layout-shell.chat-no-room .chat-common-hub__state {
    flex-basis: 100%;
  }
}

/* Final light-theme guard for cached chat/comment layouts. */
html[data-theme="light"] body,
html[data-theme="light"] body.chat-screen-open,
html[data-theme="light"] body .app-shell,
html[data-theme="light"] body main {
  color-scheme: light;
  background: linear-gradient(145deg, #f8fbff, #eaf2fb) !important;
  color: #10233d !important;
}

html[data-theme="light"] body .chat-layout-shell,
html[data-theme="light"] body .chat-users-panel,
html[data-theme="light"] body .chat-main-panel,
html[data-theme="light"] body .chat-info-panel,
html[data-theme="light"] body .chat-room-header,
html[data-theme="light"] body .chat-messages,
html[data-theme="light"] body .chat-composer,
html[data-theme="light"] body .chat-side-card,
html[data-theme="light"] body .chat-layout-shell.chat-no-room .chat-common-hub,
html[data-theme="light"] body .chat-layout-shell.chat-no-room .chat-common-hub__room,
html[data-theme="light"] body .chat-layout-shell.chat-no-room .chat-common-hub__suggest,
html[data-theme="light"] body .chat-layout-shell.chat-no-room .chat-common-hub__features,
html[data-theme="light"] body .content-comments,
html[data-theme="light"] body .comments-social-panel,
html[data-theme="light"] body .comments-composer,
html[data-theme="light"] body .comments-social-card,
html[data-theme="light"] body .content-comment-card,
html[data-theme="light"] body .comment-thread-list .comment-card {
  background: linear-gradient(145deg, #ffffff, #f3f8ff) !important;
  border-color: rgba(17, 43, 77, .14) !important;
  color: #10233d !important;
  box-shadow: 0 16px 42px rgba(42, 69, 104, .10) !important;
}

html[data-theme="light"] body .chat-layout-shell input,
html[data-theme="light"] body .chat-layout-shell textarea,
html[data-theme="light"] body .chat-layout-shell select,
html[data-theme="light"] body .comments-composer textarea,
html[data-theme="light"] body .comments-composer input {
  background: #ffffff !important;
  border-color: rgba(17, 43, 77, .18) !important;
  color: #10233d !important;
}

html[data-theme="light"] body .chat-layout-shell input::placeholder,
html[data-theme="light"] body .chat-layout-shell textarea::placeholder,
html[data-theme="light"] body .comments-composer textarea::placeholder {
  color: #71839a !important;
}

html[data-theme="light"] body .chat-layout-shell h1,
html[data-theme="light"] body .chat-layout-shell h2,
html[data-theme="light"] body .chat-layout-shell h3,
html[data-theme="light"] body .chat-layout-shell strong,
html[data-theme="light"] body .content-comments h2,
html[data-theme="light"] body .content-comments h3,
html[data-theme="light"] body .content-comments strong,
html[data-theme="light"] body .comments-social-panel,
html[data-theme="light"] body .comments-social-card {
  color: #10233d !important;
}

html[data-theme="light"] body .chat-message:not(.is-own),
html[data-theme="light"] body .chat-message-card:not(.is-own),
html[data-theme="light"] body .comment-body,
html[data-theme="light"] body .comment-content {
  background: #f6f9fd !important;
  color: #10233d !important;
}

/* Smooth top navigation, drawer accordions and mobile trainer spoiler. */
.top-links-spoiler > .top-links-spoiler__menu,
.drawer-group > .drawer-subnav,
.drawer-trainer-spoiler__actions{
  will-change:max-height,opacity,transform,padding;
}
.top-links-spoiler.is-collapsing > .top-links-spoiler__menu{
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  opacity:0;
  transform:translateY(-10px);
  overflow:hidden;
  pointer-events:none;
}
.drawer-group.is-collapsing > .drawer-subnav,
.side-drawer .drawer-group.is-collapsing > .drawer-subnav,
.side-drawer .drawer-group--profile-nav.is-collapsing > .drawer-subnav--profile{
  max-height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  opacity:0!important;
  transform:translateY(-8px)!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.top-links-spoiler.is-expanded > summary::after,
.drawer-group.is-expanded > summary::after{
  transform:rotate(225deg);
}
.drawer-trainer-spoiler__actions{
  pointer-events:none;
  visibility:hidden;
}
.drawer-nav .drawer-trainer-spoiler.is-open .drawer-trainer-spoiler__actions{
  pointer-events:auto;
  visibility:visible;
}
.drawer-trainer-spoiler__actions.is-no-motion{
  transition:none!important;
}
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale{
    opacity:1!important;
    transform:none!important;
  }
  .top-links-spoiler > .top-links-spoiler__menu,
  .drawer-group > .drawer-subnav,
  .drawer-trainer-spoiler__actions,
  .top-links-spoiler summary::after,
  .drawer-group summary::after,
  .drawer-trainer-spoiler__toggle::after{
    transition-duration:.01ms!important;
  }
}

/* Trainer actions must remain functional even when WebView pauses transitions. */
.drawer-nav .drawer-trainer-spoiler__actions{
  display:grid!important;
  grid-template-columns:1fr;
  gap:8px;
  max-height:none!important;
  height:auto!important;
  padding:0 12px 12px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none;
  pointer-events:auto!important;
  transition:none!important;
}
.drawer-nav .drawer-trainer-spoiler__actions[hidden]{
  display:none!important;
}
.drawer-nav .drawer-trainer-spoiler.is-open .drawer-trainer-spoiler__actions:not([hidden]){
  animation:drawer-trainer-actions-in .18s ease-out both;
}
@keyframes drawer-trainer-actions-in{
  from{transform:translateY(-5px)}
  to{transform:translateY(0)}
}
@media(max-width:560px){
  .drawer-nav .drawer-trainer-spoiler__actions{
    padding:0 14px 14px!important;
  }
}

/* Stable trainer card: last in profile navigation, actions are always available. */
.drawer-nav .drawer-trainer-card{
  display:grid;
  gap:10px;
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(82,230,152,.32);
  border-radius:18px;
  background:linear-gradient(140deg,rgba(30,121,75,.16),rgba(10,28,25,.36));
}
.drawer-trainer-card__head{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.drawer-trainer-card__head img{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border:1px solid rgba(82,230,152,.34);
  border-radius:13px;
  object-fit:cover;
}
.drawer-trainer-card__head span{
  display:grid;
  gap:3px;
  min-width:0;
}
.drawer-trainer-card__head strong{font-size:14px;color:#e9fff2}
.drawer-trainer-card__head small{
  overflow:hidden;
  color:var(--muted);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.drawer-nav .drawer-trainer-card__actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.drawer-nav .drawer-trainer-card__actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 10px;
  border:1px solid rgba(82,230,152,.24);
  border-radius:13px;
  background:rgba(82,230,152,.07);
  color:#eefcf4;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}
.drawer-nav .drawer-trainer-card__actions a:hover{
  border-color:rgba(82,230,152,.54);
  background:rgba(82,230,152,.14);
}

/* Site AI assistant */
.ai-assistant{position:fixed;right:18px;bottom:calc(18px + var(--safe-bottom));z-index:1690;display:grid;justify-items:end;gap:10px;pointer-events:none}
body.chat-screen-open .ai-assistant,
body.chat-room-open .ai-assistant,
body.ai-assistant-suppressed .ai-assistant{display:none!important}
.ai-assistant__toggle,.ai-assistant__panel{pointer-events:auto}
.ai-assistant__toggle{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(79,214,111,.36);border-radius:999px;background:linear-gradient(135deg,rgba(22,150,87,.96),rgba(15,102,194,.96));color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.3);padding:10px 14px;font-weight:800;cursor:pointer}
.ai-assistant__toggle-icon{width:34px;height:34px;border-radius:999px;display:inline-grid;place-items:center;background:rgba(255,255,255,.18);font-size:12px;letter-spacing:.04em}
.ai-assistant__toggle-text{font-size:14px}
.ai-assistant__panel{width:min(92vw,380px);max-height:min(72vh,620px);display:grid;grid-template-rows:auto minmax(160px,1fr) auto auto;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(9,18,31,.98);box-shadow:0 24px 70px rgba(0,0,0,.42);overflow:hidden;color:#eef7ff}
.ai-assistant__panel[hidden]{display:none!important}
.ai-assistant__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(79,214,111,.12),rgba(51,199,255,.08))}
.ai-assistant__head strong{display:block;font-size:16px}
.ai-assistant__head small{display:block;color:#aecadf;font-size:12px;margin-top:2px}
.ai-assistant__head button{width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.ai-assistant__messages{display:grid;align-content:start;gap:10px;padding:14px;overflow:auto}
.ai-assistant__message{max-width:92%;display:grid;gap:8px}
.ai-assistant__message>div:first-child{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:10px 12px;line-height:1.42;font-size:14px}
.ai-assistant__message--bot{justify-self:start}
.ai-assistant__message--bot>div:first-child{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.ai-assistant__message--user{justify-self:end}
.ai-assistant__message--user>div:first-child{background:rgba(79,214,111,.2);border:1px solid rgba(79,214,111,.24);color:#f2fff6}
.ai-assistant__links{display:flex;flex-wrap:wrap;gap:6px}
.ai-assistant__links a,.ai-assistant__suggestions button{border:1px solid rgba(79,214,111,.3);border-radius:999px;background:rgba(79,214,111,.1);color:#c8ffd6;text-decoration:none;font-size:12px;padding:6px 9px}
.ai-assistant__suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 12px}
.ai-assistant__suggestions button{cursor:pointer}
.ai-assistant__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.ai-assistant__form input{min-width:0;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;padding:11px 12px;font-size:15px}
.ai-assistant__form button{border:0;border-radius:14px;background:#4fd66f;color:#082014;font-weight:800;padding:0 13px;cursor:pointer}
body[data-theme="light"] .ai-assistant__panel{background:rgba(255,255,255,.98);color:#142338;border-color:rgba(17,43,77,.14)}
body[data-theme="light"] .ai-assistant__head{border-bottom-color:rgba(17,43,77,.1)}
body[data-theme="light"] .ai-assistant__head small{color:#5b6d84}
body[data-theme="light"] .ai-assistant__head button{color:#142338;border-color:rgba(17,43,77,.12);background:rgba(17,43,77,.04)}
body[data-theme="light"] .ai-assistant__message--bot>div:first-child{background:#f2f7fb;border-color:#dfe8f3}
body[data-theme="light"] .ai-assistant__message--user>div:first-child{background:#dff9e6;color:#0f321e;border-color:#bdeecb}
body[data-theme="light"] .ai-assistant__form{background:#f6f9fd;border-top-color:#dfe8f3}
body[data-theme="light"] .ai-assistant__form input{background:#fff;color:#142338;border-color:#ccd8e7}
@media (max-width:760px){
  .ai-assistant{right:12px;bottom:calc(12px + var(--safe-bottom))}
  .ai-assistant__toggle-text{display:none}
  .ai-assistant__panel{width:calc(100vw - 24px);max-height:min(78vh,640px)}
  .ai-assistant__form{grid-template-columns:1fr}
  .ai-assistant__form button{min-height:42px}
}

/* Profile reels */
.reels-page,.reel-viewer-page,.reel-upload-page{display:grid;gap:18px;max-width:1120px;margin:0 auto;padding:12px 16px 42px}
.reels-story-strip,.profile-reels-strip{display:flex;gap:14px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}
.reels-story,.profile-reel-bubble{width:82px;display:grid;justify-items:center;gap:7px;color:var(--text);text-align:center;text-decoration:none;scroll-snap-align:start}
.reels-story span:last-child,.profile-reel-bubble span:last-child{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}
.reels-story__ring,.profile-reel-bubble__video{width:70px;height:70px;display:grid;place-items:center;border-radius:999px;padding:3px;background:linear-gradient(135deg,#4fd66f,#33c7ff)}
.reels-story__ring img,.profile-reel-bubble__video video{width:100%;height:100%;border-radius:999px;object-fit:cover;background:#101824;border:3px solid var(--surface)}
.reels-story--add .reels-story__ring{background:linear-gradient(135deg,#101824,#4fd66f)}
.reels-story__plus{width:100%;height:100%;display:grid;place-items:center;border:3px solid var(--surface);border-radius:999px;background:rgba(255,255,255,.08);font-size:34px;font-weight:900;line-height:1}
.reels-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,360px));justify-content:center;gap:18px}
.reels-hub-nav{display:flex;gap:8px;overflow-x:auto;padding:6px 0 2px;scroll-snap-type:x proximity}
.reels-hub-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid rgba(79,214,111,.35);border-radius:999px;background:rgba(79,214,111,.12);color:var(--text);font-weight:900;text-decoration:none;white-space:nowrap;scroll-snap-align:start}
.reels-hub-nav a.is-active,.reels-hub-nav a:hover{background:linear-gradient(135deg,#4fd66f,#33c7ff);border-color:transparent;color:#04100a}
.reel-card{position:relative;display:grid;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#05080d;box-shadow:0 18px 54px rgba(0,0,0,.24)}
.reel-card__media{display:block;aspect-ratio:9/16;background:#05080d;overflow:hidden}
.reel-card__media video{width:100%;height:100%;object-fit:cover;display:block}
.reel-card__body{position:absolute;left:0;right:0;bottom:0;display:grid;gap:12px;padding:52px 12px 12px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.reel-card__body p,.reel-viewer__meta p{margin:0;overflow-wrap:anywhere}
.reel-author{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0}
.reel-author img{width:42px;height:42px;border-radius:999px;object-fit:cover}
.reel-author--compact img{width:38px;height:38px;border:2px solid rgba(255,255,255,.75)}
.reel-author span{display:grid;min-width:0}
.reel-author small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.reel-actions form{margin:0}
.reel-viewer{display:grid;grid-template-columns:minmax(280px,440px) minmax(260px,1fr);gap:22px;align-items:start}
.reel-viewer__video{aspect-ratio:9/16;overflow:hidden;border-radius:18px;background:#05080d;box-shadow:0 22px 70px rgba(0,0,0,.28)}
.reel-viewer__video video{width:100%;height:100%;object-fit:cover;display:block}
.reel-viewer__meta{display:grid;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.05)}
.reel-comments-section,.reel-history-section{max-width:920px;width:100%;justify-self:center}
.reels-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}
.reels-mini-card{display:grid;gap:8px;color:var(--text);text-decoration:none}
.reels-mini-card video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;background:#05080d}
.reels-mini-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}
.profile-avatar-reel-link{display:block;position:relative;border-radius:999px;padding:4px;background:linear-gradient(135deg,#4fd66f,#33c7ff)}
.profile-avatar-reel-link img{display:block;border:4px solid var(--surface);border-radius:999px}
.reel-upload-shell{max-width:520px;width:min(100%,520px);justify-self:center;display:grid;gap:12px}
.reel-upload-back{width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:34px;text-decoration:none;line-height:1}
.reels-upload-card{display:grid;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.05)}
.reels-upload-card label{display:grid;gap:6px;font-weight:800}
.reels-upload-card input,.reels-upload-card textarea,.reels-upload-card select{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);padding:10px}
.reels-upload-card select option,.reel-edit-form select option{background:#fff;color:#142338}
.reels-upload-card textarea{min-height:76px;resize:vertical}
.reel-upload-preview{width:min(100%,360px);max-height:min(68vh,640px);aspect-ratio:9/16;justify-self:center;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#05080d;border:1px solid rgba(255,255,255,.1)}
.reel-upload-preview video{width:100%;height:100%;object-fit:cover;transition:transform .14s ease}
.reel-upload-empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:22px;color:var(--muted)}
.reel-upload-preview video[hidden],.reel-upload-empty[hidden],.reel-trim-editor[hidden],.reel-transform-editor[hidden],.reel-upload-overlay[hidden],.reel-upload-progress[hidden]{display:none!important}
.reel-upload-empty img{width:84px;height:84px;border-radius:999px;object-fit:cover;border:3px solid rgba(255,255,255,.28)}
.reel-upload-empty strong{color:var(--text);font-size:22px}
.reel-upload-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reel-source-button{display:grid;justify-items:center;gap:5px;min-height:74px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);color:var(--text);cursor:pointer}
.reel-source-button span{font-size:24px}
.reel-upload-progress{display:grid;gap:6px}
.reel-upload-progress div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.reel-upload-progress progress{width:100%;height:10px;accent-color:#4fd66f}
.reel-upload-submit{width:100%;min-height:48px}
body[data-theme="light"] .reels-upload-card,
body[data-theme="light"] .reel-viewer__meta{background:#fff;border-color:#dfe8f3}
body[data-theme="light"] .reels-upload-card input,
body[data-theme="light"] .reels-upload-card textarea,
body[data-theme="light"] .reels-upload-card select{background:#fff;color:#142338;border-color:#ccd8e7}
body[data-theme="light"] .reel-source-button,
body[data-theme="light"] .reel-upload-back{background:#fff;border-color:#dfe8f3}
.reels-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.reels-search input{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);color:var(--text);padding:0 16px;font-weight:700}
.reels-top-actions{display:flex;justify-content:flex-end}
.reels-filter-shell{display:flex;justify-content:flex-start;position:relative;z-index:6}
.reels-filter-menu{position:relative;color:var(--text)}
.reels-filter-menu summary{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);font-size:20px;font-weight:900;line-height:1;cursor:pointer;list-style:none}
.reels-filter-menu summary::-webkit-details-marker{display:none}
.reels-filter-menu[open] summary{background:linear-gradient(135deg,#4fd66f,#33c7ff);border-color:transparent;color:#04100a}
.reels-filter-row{display:flex;gap:8px;overflow-x:auto;padding:0 0 4px;scroll-snap-type:x proximity}
.reels-filter-menu .reels-filter-row{position:absolute;left:0;top:50px;width:min(880px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(5,8,13,.94);backdrop-filter:blur(18px);box-shadow:0 20px 56px rgba(0,0,0,.34)}
.reels-filter-chip,.reel-hashtags a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.07);color:var(--text);font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap;scroll-snap-align:start}
.reels-filter-chip.is-active,.reel-hashtags a:hover{background:linear-gradient(135deg,#4fd66f,#33c7ff);border-color:transparent;color:#04100a}
.reel-hashtags{display:flex;flex-wrap:wrap;gap:7px}
.reel-card__media,.reel-viewer__video{position:relative}
.reel-card__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44%;z-index:1;background:linear-gradient(180deg,rgba(5,8,13,0),rgba(5,8,13,.82));pointer-events:none}
.reel-card__media video,.reel-viewer__video video,.reels-mini-card video,.profile-reel-bubble__video video{cursor:pointer}
.reel-sound-toggle{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,8,13,.62);backdrop-filter:blur(12px);color:#fff;font-size:0;box-shadow:0 12px 34px rgba(0,0,0,.28);cursor:pointer}
.reel-sound-toggle::before{content:"🔊";font-size:18px;line-height:1}
.reel-sound-toggle.is-muted::before{content:"🔇"}
.reel-sound-toggle--viewer{width:44px;height:44px}
.reel-corner-actions{position:absolute;right:14px;top:14px;z-index:4;display:flex;align-items:center;gap:8px}
.reel-corner-actions form{margin:0}
.reel-corner-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,8,13,.62);backdrop-filter:blur(12px);color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.28);cursor:pointer}
.reel-save-toggle::before{content:"";width:14px;height:18px;border:2px solid currentColor;border-bottom:0;border-radius:3px 3px 2px 2px;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}
.reel-save-toggle.is-saved,.reel-save-toggle.btn-primary{background:linear-gradient(135deg,#4fd66f,#33c7ff);border-color:transparent;color:#04100a}
.reel-author--line{margin-bottom:6px}
.profile-reel-bubble__video{box-sizing:border-box;overflow:hidden;isolation:isolate}
.profile-reel-bubble__video video{box-sizing:border-box;display:block;max-width:100%;max-height:100%}
.reel-tag-picker{display:grid;gap:8px;font-weight:800}
.reel-tag-picker>div{display:flex;flex-wrap:wrap;gap:8px}
.reel-tag-picker label{display:inline-flex;align-items:center;width:auto;gap:0;cursor:pointer}
.reel-tag-picker input{position:absolute;opacity:0;pointer-events:none}
.reel-tag-picker label span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;font-weight:900}
.reel-tag-picker label.is-selected span,.reel-tag-picker input:checked+span{background:linear-gradient(135deg,#4fd66f,#33c7ff);border-color:transparent;color:#04100a}
.reel-upload-preview{position:relative}
.reel-upload-overlay{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:grid;gap:6px;justify-items:start;pointer-events:none}
.reel-upload-overlay span{max-width:100%;padding:7px 10px;border-radius:12px;background:rgba(5,8,13,.62);backdrop-filter:blur(10px);color:#fff;font-weight:900;overflow-wrap:anywhere;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.reel-trim-editor,.reel-transform-editor,.reel-overlay-editor{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}
.reel-trim-editor>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.reel-trim-editor>div strong{color:var(--text)}
.reel-transform-editor>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.reel-transform-editor>div strong{color:var(--text)}
.reel-trim-editor input[type="range"],.reel-transform-editor input[type="range"]{padding:0;accent-color:#4fd66f}
.reel-feed-head{position:absolute;left:14px;top:14px;right:112px;z-index:2;display:flex;align-items:center;gap:8px}
.reel-feed-avatar{width:48px;height:48px;border-radius:999px;overflow:hidden;border:2px solid rgba(255,255,255,.8);box-shadow:0 10px 30px rgba(0,0,0,.34);flex:0 0 auto}
.reel-feed-avatar img,.reel-detail-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.reel-feed-download{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(5,8,13,.62);backdrop-filter:blur(12px);color:#fff;text-decoration:none;font-size:18px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.28);flex:0 0 auto}
.reel-feed-geo{display:inline-flex;align-items:center;min-width:0;max-width:100%;min-height:34px;padding:7px 10px;border-radius:999px;background:rgba(5,8,13,.58);backdrop-filter:blur(12px);color:#fff;text-decoration:none;font-weight:900;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-feed-caption{position:absolute;left:14px;right:14px;bottom:92px;z-index:2;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.55);font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.reel-feed-caption strong{margin-right:6px}
.reel-linkified a{color:#7dd3fc;text-decoration:underline;text-underline-offset:3px;font-weight:900}
.reel-actions--overlay{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;scrollbar-width:none}
.reel-actions--overlay::-webkit-scrollbar{display:none}
.reel-actions--overlay .btn,.reel-actions--overlay .badge{min-height:34px;padding:6px 10px;white-space:nowrap;background:rgba(5,8,13,.52);backdrop-filter:blur(12px)}
.reel-actions--overlay .btn{color:#fff;border-color:rgba(255,255,255,.16)}
.reel-actions--overlay .badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;font-weight:900}
.reel-actions--overlay [data-reel-like-button].btn-primary,.reel-actions [data-reel-like-button].btn-primary{background:#ff3158;border-color:#ff3158;color:#fff}
.reel-caption-editor .content-comment-textarea{min-height:108px!important;border-radius:16px!important;background:rgba(20,28,51,.72)!important;border-color:rgba(150,166,210,.28)!important;padding:20px 56px 18px 20px!important;font-size:17px!important;line-height:1.45!important}
.reel-caption-editor .comments-toolbar{margin-top:2px!important}
.reel-open-button{width:36px;min-width:36px;justify-content:center;padding:0}
.reel-download-button{width:36px;min-width:36px;justify-content:center;padding:0}
.reel-more-menu{position:absolute;right:14px;top:14px;z-index:4;color:#fff}
.reel-more-menu summary{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,8,13,.58);backdrop-filter:blur(12px);font-size:20px;font-weight:900;cursor:pointer;list-style:none}
.reel-more-menu summary::-webkit-details-marker{display:none}
.reel-more-menu>div{position:absolute;right:0;top:44px;min-width:220px;display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(5,8,13,.9);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.34)}
.reel-viewer--centered{grid-template-columns:1fr;justify-items:center;max-width:620px;margin:0 auto;width:100%;gap:0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.05);box-shadow:0 22px 70px rgba(0,0,0,.22)}
.reel-viewer--centered .reel-viewer__video{width:100%;max-height:78vh;border-radius:16px 16px 10px 10px;box-shadow:none}
.reel-viewer--centered .reel-viewer__video::after{content:"";position:absolute;left:0;right:0;top:0;height:92px;background:linear-gradient(180deg,rgba(5,8,13,.64),rgba(5,8,13,0));pointer-events:none;z-index:1}
.reel-viewer--centered .reel-viewer__meta{width:100%;border-radius:0;background:transparent;border:0;padding:14px 2px 0}
.reel-video-author{position:absolute;left:14px;top:14px;z-index:2;display:flex;align-items:center;gap:10px;max-width:calc(100% - 28px);color:#fff;text-decoration:none;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.reel-video-author img{width:44px;height:44px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,255,255,.86);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.reel-video-author span{display:grid;min-width:0}
.reel-video-author strong,.reel-video-author small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-video-author small{color:rgba(255,255,255,.8)}
.reel-detail-avatar{position:absolute;left:14px;top:14px;z-index:2;width:48px;height:48px;border-radius:999px;overflow:hidden;border:2px solid rgba(255,255,255,.85);box-shadow:0 10px 30px rgba(0,0,0,.34)}
.reel-detail-author-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.reel-detail-caption{font-size:16px;line-height:1.5}
.reel-liked-by{display:grid;gap:10px}
.reel-liked-by>div{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.reel-liked-by a{width:82px;display:grid;justify-items:center;gap:6px;color:var(--text);text-align:center;text-decoration:none;font-size:12px}
.reel-liked-by img{width:54px;height:54px;border-radius:999px;object-fit:cover}
.reel-liked-by span{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}
.reel-edit-form label,.reel-edit-form .reel-tag-picker{display:grid;gap:6px;font-weight:800}
.reel-edit-form textarea,.reel-edit-form input,.reel-edit-form select{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);padding:10px}
.reel-edit-form label:first-child,.reel-edit-form .reel-tag-picker,.reel-edit-form button,.reel-edit-form .hint{grid-column:1/-1}
.reel-hashtags--details{padding-top:2px}
.reel-detail-caption{overflow-wrap:anywhere}
.reel-trim-strip{position:relative;height:76px;border-radius:15px;overflow:hidden;background:#0b111a;border:1px solid rgba(255,255,255,.14);touch-action:none}
.reel-trim-editor>.reel-trim-strip{display:block;color:inherit;font-size:inherit}
.reel-trim-film{position:absolute;inset:7px;display:grid;grid-template-columns:repeat(14,1fr);gap:2px}
.reel-trim-film span{border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(79,214,111,.26)),#141c28}
.reel-trim-selection{position:absolute;top:4px;bottom:4px;left:0;right:0;border:4px solid #fff;border-radius:13px;box-shadow:0 0 0 999px rgba(0,0,0,.38);pointer-events:none}
.reel-trim-handle{position:absolute;top:50%;width:18px;height:54px;transform:translateY(-50%);border:0;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.26);pointer-events:auto;cursor:ew-resize}
.reel-trim-handle--start{left:-9px}.reel-trim-handle--end{right:-9px}
.reel-trim-frames{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch!important;color:var(--text)!important}
.reel-trim-frames figure,.reel-trim-frame{display:grid!important;gap:6px!important;align-items:start!important;justify-content:stretch!important;margin:0;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(0,0,0,.18)}
.reel-trim-frames figcaption,.reel-trim-frame span{font-size:12px;color:var(--muted);font-weight:900}
.reel-trim-frames video,.reel-trim-frame video{width:100%;aspect-ratio:9/16;max-height:150px;object-fit:cover;border-radius:10px;background:#05080d}
.reel-tag-picker--spoiler summary{width:auto;min-height:42px;display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);cursor:pointer;list-style:none;font-weight:900}
.reel-tag-picker--spoiler summary::-webkit-details-marker{display:none}
.reel-geo-picker{display:grid;gap:8px}
.reel-geo-map{position:relative;min-height:150px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(51,199,255,.22),rgba(79,214,111,.18)),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 1px,transparent 1px 24px)}
.reel-geo-map button{position:relative;margin:10px 6px 0 10px;min-height:34px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,8,13,.68);color:#fff;padding:7px 11px;font-weight:900;cursor:pointer}
.reel-geo-map button.is-selected{background:linear-gradient(135deg,#4fd66f,#33c7ff);color:#04100a;border-color:transparent}
.reel-geo-map--compact{min-height:96px}
.reel-overlay-editor{grid-template-columns:1fr 1fr}
.reel-overlay-editor label:first-child{grid-column:1/-1}
.reel-emoji-row{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto;padding-top:2px}
.reel-emoji-row button{width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);font-size:20px;cursor:pointer}
body[data-theme="light"] .reels-search input{background:#fff;color:#142338;border-color:#ccd8e7}
body[data-theme="light"] .reels-hub-nav a{background:#eafbf0;border-color:#bfeccb;color:#12351e}
body[data-theme="light"] .reels-filter-menu summary{background:#fff;border-color:#dfe8f3;color:#142338}
body[data-theme="light"] .reels-filter-menu .reels-filter-row{background:rgba(255,255,255,.96);border-color:#dfe8f3}
body[data-theme="light"] .reels-filter-chip,
body[data-theme="light"] .reel-hashtags a,
body[data-theme="light"] .reel-tag-picker label span{background:#fff;border-color:#dfe8f3;color:#142338}
body[data-theme="light"] .reel-trim-editor,
body[data-theme="light"] .reel-transform-editor,
body[data-theme="light"] .reel-overlay-editor,
body[data-theme="light"] .reel-viewer--centered,
body[data-theme="light"] .reel-trim-frames figure,
body[data-theme="light"] .reel-trim-frame{background:#fff;border-color:#dfe8f3}
body[data-theme="light"] .reel-corner-button,
body[data-theme="light"] .reel-sound-toggle,
body[data-theme="light"] .reel-feed-download,
body[data-theme="light"] .reel-actions--overlay .btn,
body[data-theme="light"] .reel-actions--overlay .badge{background:rgba(5,8,13,.72)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.42)}
body[data-theme="light"] .reel-save-toggle.is-saved,
body[data-theme="light"] .reel-save-toggle.btn-primary{background:linear-gradient(135deg,#4fd66f,#33c7ff)!important;color:#04100a!important;text-shadow:none}
body[data-theme="light"] .reel-actions--overlay [data-reel-like-button].btn-primary,
body[data-theme="light"] .reel-actions [data-reel-like-button].btn-primary{background:#ff3158!important;border-color:#ff3158!important;color:#fff!important}
body[data-theme="light"] .reel-linkified a{color:#0284c7}
body[data-theme="light"] .reel-caption-editor .content-comment-textarea{background:#fff!important;color:#10233d!important;border-color:rgba(17,43,77,.14)!important}
.reels-more-row{display:flex;justify-content:center;padding:10px 0 0}
.admin-reels-board,.admin-calls-board{overflow:hidden}
.admin-reel-preview{display:flex;align-items:center;gap:12px;min-width:280px}
.admin-reel-preview video{width:64px;height:92px;border-radius:10px;object-fit:cover;background:#05080d;flex:0 0 auto}
.admin-reel-preview div{display:grid;gap:4px;min-width:0}
.admin-reel-preview span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.admin-reel-preview small{color:var(--muted)}
.admin-reel-user{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.admin-reel-user img{width:42px;height:42px;border-radius:999px;object-fit:cover}
.admin-reel-user span{display:grid}
.admin-reel-user small,.admin-calls-board small{color:var(--muted)}
.admin-reel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){
  .reels-page,.reel-viewer-page,.reel-upload-page{padding:10px 8px 28px}
  .reels-search{grid-template-columns:1fr}
  .reels-top-actions{justify-content:stretch}
  .reels-top-actions .btn{width:100%}
  .reels-feed{grid-template-columns:1fr}
  .reel-card{border-radius:0;margin-left:-8px;margin-right:-8px;border-left:0;border-right:0}
  .reel-viewer{grid-template-columns:1fr}
  .reel-viewer__video{max-height:72vh;border-radius:12px}
  .reel-viewer--centered .reel-viewer__video{max-height:76vh}
  .reel-edit-form{grid-template-columns:1fr}
  .reel-upload-shell{max-width:100%}
  .reel-overlay-editor{grid-template-columns:1fr}
}
