@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  color-scheme: dark;
  --bg: #101310;
  --panel: #171b17;
  --panel-raised: #1d221d;
  --panel-soft: #20261f;
  --border: #2b322b;
  --border-light: #373f36;
  --text: #edf0e9;
  --muted: #91998e;
  --dim: #667064;
  --green: #bbf36b;
  --green-dark: #314327;
  --orange: #f0a35e;
  --red: #ef7168;
  --mono: 'DM Mono', 'Courier New', monospace;
  --sans: 'DM Sans', Arial, sans-serif;
  --display: 'Space Grotesk', var(--sans);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { min-width: 320px; min-height: 100%; margin: 0; }
body { background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.app-shell { display: flex; min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 4; display: flex; width: 254px; flex-direction: column; border-right: 1px solid var(--border); background: #141814; padding: 28px 17px 16px; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; color: inherit; text-decoration: none; }
.brand-mark { position: relative; display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; gap: 3px; border: 1px solid #58624e; border-radius: 10px; background: #20271c; transform: rotate(-3deg); }
.brand-mark span { width: 3px; border-radius: 3px; background: var(--green); }
.brand-mark span:nth-child(1) { height: 9px; opacity: .6; }
.brand-mark span:nth-child(2) { height: 17px; }
.brand-mark span:nth-child(3) { height: 12px; opacity: .78; }
.brand-copy { display: grid; gap: 3px; }
.brand-copy strong, .mobile-brand strong { font-family: var(--display); font-size: 15px; letter-spacing: 1.9px; }
.brand-copy small { color: var(--muted); font: 9px var(--mono); letter-spacing: 1.1px; }
.sidebar-label { display: flex; justify-content: space-between; margin: 47px 8px 12px; color: var(--dim); font: 10px var(--mono); letter-spacing: 1.35px; }
.sidebar-label span { color: #7f897c; }
.channel-list { display: grid; gap: 5px; }
.channel { display: flex; min-height: 57px; align-items: center; gap: 11px; border: 1px solid transparent; border-radius: 7px; background: transparent; padding: 8px 9px; text-align: left; cursor: pointer; transition: background .16s, border-color .16s; }
.channel:hover { background: #1a1f1a; }
.channel.active { border-color: #333c30; background: #20261f; }
.channel-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 8px; font: 13px var(--mono); }
.team-south { color: #b9ed76; background: #2b3822; }
.team-north { color: #90c9ff; background: #202f3a; }
.team-west { color: #ddb8fc; background: #32283d; }
.team-official { color: #f3b070; background: #392e21; font-size: 17px; }
.team-conquest { color: #f0bd75; background: #392c1e; font-size: 16px; }
.channel-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.channel-copy strong { font-size: 13px; font-weight: 600; }
.channel-copy small { color: var(--muted); font-size: 11px; }
.channel-unread { min-width: 19px; height: 19px; border-radius: 50%; background: #3c4b30; color: var(--green); font: 10px/19px var(--mono); text-align: center; }
.leadership-label { margin-top: 21px; margin-bottom: 8px; }
.leadership-menu { width: 100%; min-height: 52px; border-color: #403726; background: #201f19; }
.leadership-menu:hover, .leadership-menu:focus-visible { border-color: #8b6b43; background: #28241c; }
.leadership-menu .channel-icon { width: 31px; height: 31px; flex-basis: 31px; font-size: 14px; }
.leadership-menu .channel-copy small { color: #d5a76e; }
.live-dot, .connection-dot, .eyebrow-dot, .announcement-live span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px #baf36b55; }
.sidebar-bottom { margin-top: auto; }
.profile { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--border); padding: 14px 2px 17px; }
.avatar { display: grid; width: 33px; height: 33px; flex: 0 0 33px; place-items: center; border: 1px solid #3a4931; border-radius: 50%; color: #ddf0cc; background: #364530; font: 12px var(--mono); }
.avatar-sam { color: #c5dcff; background: #29384b; border-color: #39485a; }
.avatar-mia { color: #f8d5c3; background: #48332e; border-color: #574039; }
.avatar-jules { color: #e9d6fd; background: #42334e; border-color: #52405e; }
.avatar-you { color: #e1f1c6; }
.profile-copy { display: grid; flex: 1; gap: 3px; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--muted); font-size: 10px; }
.icon-button { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid var(--border); border-radius: 6px; background: #191e19; color: #b0b7ac; cursor: pointer; }
.icon-button:hover { border-color: #56614f; color: var(--green); }
.profile-menu { width: 25px; height: 25px; border: 0; background: transparent; font-size: 19px; letter-spacing: 1px; }
.local-note { display: flex; align-items: center; gap: 9px; margin-top: 13px; border: 1px solid #30372e; border-radius: 5px; background: #191e18; padding: 9px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.local-note strong { color: #d1a26f; font-size: 10px; font-weight: 500; }
.local-note-icon { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid #555b4c; border-radius: 50%; color: #c4c8b5; font: 11px var(--mono); }
.main-panel { display: flex; width: calc(100% - 254px); min-height: 100vh; flex-direction: column; margin-left: 254px; padding: 0 48px; }
.topbar { display: flex; height: 65px; flex: 0 0 65px; align-items: center; justify-content: flex-end; border-bottom: 1px solid var(--border); }
.connection { display: flex; align-items: center; gap: 9px; color: #a3ac9e; font: 10px var(--mono); letter-spacing: .7px; }
.connection-dot { width: 6px; height: 6px; background: #d5a063; box-shadow: 0 0 8px #d5a06355; }
.connection-dot[data-state="online"] { background: var(--green); box-shadow: 0 0 8px #baf36b55; }
.connection-dot[data-state="offline"] { background: var(--red); box-shadow: 0 0 8px #ef716855; }
.connection-dot[data-state="connecting"] { background: var(--orange); }
.connection-divider { color: #4e584b; }
.notification-button { position: relative; margin-left: 21px; font-size: 16px; }
.admin-button { display: none; margin-left: 8px; color: var(--green); }
.notification-button i { position: absolute; top: 7px; right: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.mobile-brand { display: none; }
.mobile-controls { display: none; }
.demo-banner { display: flex; align-items: center; gap: 11px; margin-top: 23px; border: 1px solid #423927; border-radius: 5px; background: #211f18; padding: 10px 12px; color: #bcb5a4; font-size: 11px; line-height: 1.5; }
.banner-icon { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; border: 1px solid #9b784d; border-radius: 50%; color: #e5ae6c; font: 10px var(--mono); }
.demo-banner strong { color: #e5c494; font-weight: 600; }
.demo-banner > span:not(.banner-icon) { overflow-wrap: anywhere; }
.demo-banner button { margin-left: auto; border: 0; background: transparent; color: #918875; font-size: 18px; cursor: pointer; }
.channel-header { display: flex; align-items: center; justify-content: space-between; padding: 29px 1px 23px; }
.eyebrow { display: flex; align-items: center; gap: 8px; color: #a2aa9e; font: 9px var(--mono); letter-spacing: 1.3px; }
.eyebrow-dot { width: 5px; height: 5px; }
.title-line { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
h1 { margin: 0; font: 600 26px var(--display); letter-spacing: -.55px; }
.secure-tag { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #3a4533; border-radius: 3px; background: #20271d; padding: 4px 7px; color: #b8d79c; font: 9px var(--mono); letter-spacing: .4px; }
.secure-tag.official { border-color: #54412d; background: #282218; color: #e0ad75; }
.channel-header p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.channel-actions { display: flex; align-items: center; gap: 14px; }
.member-stack { display: flex; align-items: center; padding-left: 5px; }
.mini-avatar { display: grid; width: 26px; height: 26px; place-items: center; margin-left: -6px; border: 2px solid var(--bg); border-radius: 50%; font: 9px var(--mono); }
.mini-one { color: #f1dbbd; background: #493d2f; }
.mini-two { color: #c9daef; background: #2e4052; }
.mini-three { color: #e3cff0; background: #48384e; }
.member-count { margin-left: 5px; color: var(--muted); font: 10px var(--mono); }
.announcement { display: flex; min-height: 57px; align-items: center; gap: 12px; border: 1px solid #403726; border-left: 2px solid #d89c5a; border-radius: 4px; background: #201f19; padding: 9px 13px; }
.announcement-mark { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid #57442d; border-radius: 5px; color: #e8ad68; font-size: 15px; }
.announcement-copy { display: grid; min-width: 0; flex: 1; gap: 4px; }
.announcement-copy > span { color: #d6a66f; font: 9px var(--mono); letter-spacing: .8px; }
.announcement-time { margin-left: 7px; color: #80796a; }
.announcement-copy strong { overflow: hidden; color: #e5e3d8; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.announcement-live { display: flex; align-items: center; gap: 6px; color: #c49b6e; font: 8px var(--mono); letter-spacing: .6px; }
.announcement-live span { width: 5px; height: 5px; background: #e9ad67; box-shadow: none; }
.chat-panel { display: flex; min-height: 0; flex: 1; flex-direction: column; margin-top: 17px; border: 1px solid var(--border); border-radius: 6px; background: #151915; }
.messages { display: flex; min-height: 270px; flex: 1; flex-direction: column; gap: 18px; overflow-y: auto; padding: 19px 21px 15px; scrollbar-color: #394236 transparent; scrollbar-width: thin; }
.day-divider, .system-message { display: flex; align-items: center; justify-content: center; gap: 11px; color: #6e786b; font: 9px var(--mono); letter-spacing: .65px; }
.day-divider { margin: 1px 0 2px; }
.day-divider > span, .system-line { height: 1px; flex: 1; background: #272e27; }
.system-message { gap: 8px; color: #667063; font-size: 8px; letter-spacing: .8px; }
.system-line { max-width: 100px; }
.message { display: flex; align-items: flex-start; gap: 10px; }
.message-body { display: grid; max-width: min(80%, 550px); gap: 5px; }
.message-meta { display: flex; align-items: center; gap: 9px; }
.message-meta strong { color: #d8ddd3; font-size: 11px; font-weight: 600; }
.message-meta > span:not(.urgent-label) { color: #727c70; font: 9px var(--mono); }
.delete-message-button { border: 0; background: transparent; padding: 2px 4px; color: #929b8d; font-size: 9px; cursor: pointer; }
.delete-message-button:hover { color: #ff928a; text-decoration: underline; }
.delete-message-button:disabled { cursor: wait; opacity: .55; }
.bubble { position: relative; width: fit-content; max-width: 100%; border: 1px solid #2b332b; border-radius: 2px 7px 7px 7px; background: #1e241e; padding: 9px 11px; color: #dce1d7; font-size: 12px; line-height: 1.55; }
.chat-image { display: block; max-width: min(360px, 100%); max-height: 360px; border: 1px solid #394238; border-radius: 5px; object-fit: contain; }
.message-reaction { display: inline-flex; align-items: center; gap: 4px; margin-left: 5px; border: 1px solid #394330; border-radius: 10px; background: #252c21; padding: 1px 6px; font-size: 10px; }
.message-reaction small { color: #9ea796; font: 9px var(--mono); }
.message-gap { margin-top: 1px; }
.urgent-message .bubble { border-color: #53402c; background: #282219; }
.urgent-message .avatar { border-color: #594536; }
.urgent-label { display: inline-flex; align-items: center; gap: 4px; color: #e3ad6f; font: 8px var(--mono); letter-spacing: .7px; }
.urgent-label span { display: grid; width: 13px; height: 13px; place-items: center; border: 1px solid #a27241; border-radius: 50%; font-size: 8px; }
.new-messages-divider { display: flex; align-items: center; gap: 9px; color: var(--green); font: 8px var(--mono); letter-spacing: 1px; }
.new-messages-divider span { height: 1px; flex: 1; background: #435036; }
.composer-area { border-top: 1px solid var(--border); padding: 13px 17px 10px; }
.quick-actions { display: flex; gap: 7px; overflow-x: auto; padding: 0 0 11px; scrollbar-width: none; }
.quick-actions::-webkit-scrollbar { display: none; }
.quick-chip { flex: 0 0 auto; border: 1px solid #343c32; border-radius: 4px; background: #1d231c; padding: 6px 8px; color: #adba9f; font: 10px var(--mono); cursor: pointer; transition: border-color .16s, color .16s; }
.quick-chip:hover { border-color: #6b8150; color: var(--green); }
.quick-alert { border-color: #4b3b2c; color: #e4ad74; }
.quick-alert:hover { border-color: #97643a; color: #ffc47e; }
.composer { display: flex; height: 45px; align-items: center; gap: 11px; border: 1px solid #394238; border-radius: 5px; background: #1c211b; padding: 0 6px 0 10px; transition: border-color .16s; }
.composer:focus-within { border-color: #718952; }
.composer-tool { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border: 1px solid #384136; border-radius: 4px; background: #252c23; color: #a8bc8d; font: 12px var(--mono); cursor: pointer; }
.composer-tool:hover { color: var(--green); }
.camera-button { color: #d6b987; font-size: 18px; }
.composer-tool.recording { border-color: #a94b45; background: #412522; color: #ff928a; animation: pulse 1.15s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 4px #ef716822; } }
.composer input { min-width: 0; height: 100%; flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 12px; }
.composer input::placeholder { color: #737d70; }
.composer-hint { color: #657061; font: 8px var(--mono); white-space: nowrap; }
.send-button { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border: 0; border-radius: 4px; background: var(--green); color: #182013; cursor: pointer; }
.send-button:hover { background: #d1ff8c; }
.send-button span { font-size: 18px; line-height: 1; }
.composer-footer { display: flex; align-items: center; justify-content: space-between; padding: 10px 1px 0; color: #75806f; font: 9px var(--mono); }
.lock-icon { color: #9ab779; font-size: 12px; }
.sos-button { display: flex; height: 27px; align-items: center; gap: 6px; border: 1px solid #623631; border-radius: 4px; background: #2c1d1a; padding: 0 8px; color: #f18b78; font: 10px var(--mono); letter-spacing: .5px; cursor: pointer; }
.sos-button:hover { border-color: #b3584f; background: #41221f; }
.sos-button:disabled, .send-button:disabled, .composer-tool:disabled { cursor: not-allowed; opacity: .45; }
.send-button:disabled { background: #59604e; color: #d8ddd1; }
.sos-icon { display: grid; width: 13px; height: 13px; place-items: center; border: 1px solid #ba5a50; border-radius: 50%; font-size: 9px; }
.sos-label { color: #bd7769; font-size: 8px; }
.app-footer { display: flex; justify-content: space-between; padding: 13px 1px 14px; color: #657061; font: 8px var(--mono); letter-spacing: .7px; }
.app-footer span span { color: #9eb77b; }
.modal { max-width: calc(100% - 34px); border: 1px solid #3b4437; border-radius: 8px; background: #1a1f19; padding: 0; color: var(--text); box-shadow: 0 24px 90px #000a; }
.modal::backdrop { background: #070907c9; backdrop-filter: blur(4px); }
.modal-card { position: relative; width: min(410px, calc(100vw - 34px)); padding: 27px; }
.admin-card { width: min(680px, calc(100vw - 34px)); max-height: min(82vh, 760px); overflow: auto; }
.admin-user-list { display: grid; gap: 8px; margin-top: 20px; }
.admin-list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; color: var(--muted); font-size: 11px; }
.admin-refresh { border: 1px solid var(--border-light); border-radius: 4px; background: #20261f; padding: 7px 10px; color: var(--text); font-size: 11px; cursor: pointer; }
.admin-refresh:hover { border-color: #718952; color: var(--green); }
.admin-section-heading { margin: 14px 0 0; color: var(--dim); font: 10px var(--mono); letter-spacing: 1px; text-transform: uppercase; }
.admin-section-heading.pending { color: #e5ae6c; }
.admin-section-empty { border: 1px dashed var(--border-light); border-radius: 5px; padding: 12px; color: var(--muted); font-size: 11px; }
.admin-user-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, 190px) auto; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 5px; background: #191e19; padding: 10px; }
.admin-user-details { display: grid; min-width: 0; gap: 3px; }
.admin-user-details strong { overflow-wrap: anywhere; font-size: 12px; }
.admin-user-details small, .admin-empty { color: var(--muted); font-size: 10px; }
.admin-user-row select { min-width: 0; min-height: 36px; border: 1px solid var(--border-light); border-radius: 4px; background: #111511; padding: 0 7px; color: var(--text); font-size: 11px; }
.admin-save { min-height: 36px; border: 1px solid #526a3b; border-radius: 4px; background: #324127; padding: 0 10px; color: #d4f1b1; font-size: 10px; cursor: pointer; }
.admin-save:disabled { cursor: wait; opacity: .55; }
.admin-feedback { margin-top: 12px !important; border: 1px solid #526a3b; border-radius: 4px; background: #242b21; padding: 9px; color: #d4f1b1 !important; font-size: 11px !important; }
.admin-feedback[data-error="true"] { border-color: #633b34; background: #2d201c; color: #f0a497 !important; }
.modal-close { position: absolute; top: 11px; right: 12px; border: 0; background: transparent; color: var(--muted); font-size: 22px; cursor: pointer; }
.modal-symbol { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #3a4931; border-radius: 9px; background: #242c20; color: var(--green); font-size: 18px; }
.sos-symbol { border-color: #614036; background: #34221e; color: #fa907c; }
.modal-eyebrow { margin: 18px 0 7px !important; color: #a8b796 !important; font: 9px var(--mono) !important; letter-spacing: 1.3px; }
.modal-card h2 { margin: 0 0 8px; font: 600 23px var(--display); }
.modal-card > p:not(.modal-eyebrow) { margin: 0; color: #a4ac9e; font-size: 12px; line-height: 1.6; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 23px; }
.secondary-button, .confirm-sos { min-height: 36px; border: 1px solid #3b4438; border-radius: 4px; background: #252b23; padding: 0 11px; color: #c4cbbd; font: 9px var(--mono); letter-spacing: .4px; cursor: pointer; }
.confirm-sos { border-color: #526a3b; background: #324127; color: #d4f1b1; }
.sos-modal .confirm-sos { border-color: #98534a; background: #713b34; color: #fff0e8; }
.toast { position: fixed; z-index: 10; bottom: 25px; left: 50%; max-width: calc(100% - 30px); transform: translate(-50%, 12px); border: 1px solid #48543d; border-radius: 5px; background: #242b21; padding: 10px 14px; color: #dce8d1; font-size: 12px; opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s; }
.toast.visible { transform: translate(-50%, 0); opacity: 1; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.backend-splash { display: none; }
html.backend-enabled body > .app-shell { visibility: hidden; }
html.backend-enabled .backend-splash { position: fixed; z-index: 20; inset: 0; display: grid; align-content: center; justify-items: center; gap: 12px; background: var(--bg); }
.backend-splash .brand-mark { width: 44px; height: 44px; }
.backend-splash strong { font: 600 15px var(--display); letter-spacing: 2px; }
.backend-splash small { color: var(--muted); font: 9px var(--mono); letter-spacing: 1px; }
html.backend-ready body > .app-shell { visibility: visible; }
html.backend-ready .backend-splash { display: none; }
.auth-modal .modal-card { padding-top: 30px; }
.auth-modal .auth-footnote { margin-top: 13px !important; color: var(--dim) !important; font: 9px var(--mono) !important; text-align: center; }
.auth-error { margin-top: 14px; border: 1px solid #633b34; border-radius: 4px; background: #2d201c; padding: 9px; color: #f0a497; font-size: 11px; line-height: 1.5; }
.google-button { display: flex; width: 100%; min-height: 43px; align-items: center; justify-content: center; gap: 10px; margin-top: 19px; border: 1px solid #58614f; border-radius: 5px; background: #30382a; color: #eff3e9; font-weight: 600; cursor: pointer; }
.google-button:hover { border-color: var(--green); background: #39452f; }
.google-button:disabled { cursor: wait; opacity: .6; }
.google-button > span { color: #fff; font: 700 15px Arial, sans-serif; }
.message-body audio { display: block; width: min(280px, 100%); height: 34px; margin-top: 8px; }

@media (min-height: 950px) {
  .messages { gap: 23px; padding-top: 25px; }
  .composer-area { padding-top: 16px; }
}
@media (max-width: 900px) {
  .sidebar { width: 218px; }
  .main-panel { width: calc(100% - 218px); margin-left: 218px; padding: 0 27px; }
  .demo-banner { font-size: 10px; }
  .announcement-live { display: none; }
}
@media (max-width: 680px) {
  html, body { height: 100%; overflow: hidden; }
  .app-shell { height: 100dvh; min-height: 0; overflow: hidden; }
  .sidebar { display: none; }
  .main-panel { width: 100%; height: 100dvh; min-height: 0; margin: 0; overflow: hidden; padding: 0 15px max(0px, env(safe-area-inset-bottom)); }
  .topbar { height: 56px; flex-basis: 56px; justify-content: space-between; }
  .mobile-brand { display: flex; align-items: center; gap: 9px; border: 0; background: transparent; padding: 0; }
  .mobile-brand .brand-mark { width: 30px; height: 30px; }
  .mobile-brand strong { font-size: 12px; letter-spacing: 1.4px; }
  .connection { gap: 6px; font-size: 8px; }
  .notification-button { width: 32px; height: 32px; margin-left: 8px; }
  .admin-button { display: grid; width: 32px; height: 32px; margin-left: 5px; }
  .admin-user-row { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-user-row select { grid-column: 1; }
  .admin-save { grid-column: 2; grid-row: 2; }
  .mobile-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; padding: 8px 0 1px; }
  .mobile-channel-nav { display: grid; min-width: 0; flex: 1 0 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .mobile-channel.channel { min-width: 0; min-height: 48px; flex: 0 1 auto; flex-direction: column; justify-content: center; gap: 3px; padding: 4px 2px; font-size: 9px; }
  .mobile-channel .channel-icon { width: 23px; height: 23px; flex-basis: 23px; border-radius: 6px; font-size: 10px; }
  .mobile-channel .team-official { font-size: 13px; }
  .mobile-channel[data-channel="conquest-photo"] { font-size: 8px; }
  .demo-banner { align-items: flex-start; margin-top: 12px; padding: 9px; font-size: 10px; }
  .demo-banner button { flex: 0 0 auto; margin-top: -3px; }
  .channel-header { padding: 21px 1px 15px; }
  h1 { font-size: 22px; }
  .channel-header p { font-size: 11px; }
  .channel-actions { gap: 7px; }
  .member-stack { display: none; }
  .announcement { min-height: 53px; gap: 9px; padding: 8px; }
  .announcement-mark { width: 27px; height: 27px; flex-basis: 27px; }
  .announcement-copy strong { font-size: 10px; }
  .chat-panel { min-height: 0; margin-top: 12px; }
  .messages { min-height: 0; padding: 16px 12px 13px; gap: 16px; }
  .avatar { width: 29px; height: 29px; flex-basis: 29px; }
  .message { gap: 8px; }
  .message-body { max-width: calc(100% - 37px); }
  .bubble { font-size: 11px; padding: 8px 9px; }
  .composer-area { padding: 11px 10px 9px; }
  .quick-actions { margin-right: -3px; }
  .quick-chip { padding: 6px 7px; font-size: 9px; }
  .composer { height: 43px; gap: 8px; }
  .composer-hint { display: none; }
  .composer input { font-size: 11px; }
  .composer-footer { font-size: 8px; }
  .sos-button { height: 26px; }
  .app-footer { flex: 0 0 auto; gap: 10px; padding: 8px 1px; font-size: 7px; }
  .app-footer > span:last-child { text-align: right; }
}
@media (max-width: 380px) {
  .main-panel { padding-right: 11px; padding-left: 11px; }
  .mobile-channel[data-channel="conquest-photo"] { font-size: 7px; }
  .connection { font-size: 7px; }
  .title-line { gap: 7px; }
  h1 { font-size: 20px; }
  .secure-tag { padding: 3px 5px; font-size: 8px; }
  .composer-footer { font-size: 7px; }
  .sos-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
