/* Semantic color tokens override legacy component colors without recoloring media. */
body{background:var(--bg)!important;color:var(--text)!important}body :is(.servers,.channels,.members,.user-card,.manage-nav){background:var(--panel)!important;border-color:var(--border)!important}body :is(.main,.topbar,.chat,.composer-wrap,.modal,.workspace-head,.community-nav-row){background:var(--bg)!important;color:var(--text)!important;border-color:var(--border)!important}body :is(.composer,.search,.modal-body input,.modal-body select,.modal-body textarea,.community-card,.product-card,.thread-list-card,.booster-row,.manage-notice,.community-empty,.boost-level,.product-row,.reaction,.message-actions,.theme-demo){background:var(--panel2)!important;color:var(--text)!important;border-color:var(--border)!important}body :is(.modal-title,.welcome h1,.community-heading h3,.community-empty h3,.member-name,.community-label,.msg-name,.workspace-title,.product-card b){color:var(--text)!important}body :is(.topic,.hint,.msg-time,.member-note,.section-title,.community-subtle,.welcome p,.modal-body,.modal-body label,.community-modal label,.product-status,.community-card small,.workspace-sub,.manage-heading p,.community-modal form p,.community-empty){color:var(--muted)!important}body :is(.message:hover,.member:hover,.community-nav:hover,.icon-btn:hover,.manage-button,.modal-actions .quiet,.product-toolbar button,.product-row button){background:var(--hover)!important;color:var(--text)!important}body :is(.feature-primary,.composer .send,.modal-actions button:not(.quiet)){background:var(--accent)!important;border-color:var(--accent)!important;color:var(--theme-on-accent)!important}body :is(.channel.active,.reaction.selected,.community-chip,.community-nav svg,.brand-mark,.welcome-kicker,.boost-level b,.thread-context,.manage-nav button.active){color:var(--theme-accent-text)!important}body :is(.channel.active,.reaction.selected,.server.active){background:color-mix(in srgb,var(--accent) 16%,var(--panel))!important;border-color:var(--accent)!important}body .channel.active{box-shadow:inset 2px 0 var(--accent)!important}body .welcome{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 65%)!important}body .welcome-icon{background:var(--panel2)!important;color:var(--theme-accent-text)!important;border-color:var(--border)!important}body .message .msg-text,body .composer input{font-size:var(--theme-font)!important;line-height:1.6}body :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--theme-accent-text)!important;outline-offset:3px}body.theme-profiles .sol-profile-card{--profile-base:var(--panel2)!important;--profile-text:var(--text)!important;--profile-accent:var(--accent)!important}body.theme-profiles :is(.profile-status-bubble,.profile-card-actions button){background:var(--panel)!important;color:var(--text)!important}body[data-theme-mode=light] :is(.icon-btn,.composer button,.community-nav,.message-actions button,.product-launcher button,.modal-close){color:var(--muted)!important}body[data-theme-mode=light] .modal-backdrop{background:#14192188}body[data-theme-mode=light] .toast{background:var(--panel);color:var(--text)}
.appearance-modal{width:min(1000px,96vw)!important;max-height:92vh!important}.appearance-modal .modal-body{max-height:calc(92vh - 110px);overflow:auto;padding-top:18px}.appearance-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:34px}.appearance-intro{font-size:24px;font-weight:700;letter-spacing:-.6px;color:var(--text);margin:0 0 24px}.appearance-intro span{font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}.appearance-settings fieldset{border:0;padding:0;margin:0 0 26px}.appearance-settings legend{font-size:13px;font-weight:650;color:var(--text);margin-bottom:12px;width:100%}.appearance-settings legend small{float:right;font-weight:400;font-size:10px;color:var(--theme-accent-text)}.theme-modes{display:flex;gap:8px}.theme-modes button,.theme-share button,.theme-import,.appearance-footer button{background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:10px 15px;color:var(--text);cursor:pointer;font-size:12px}.theme-modes button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel2));color:var(--theme-accent-text)}.theme-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 9px}.theme-tile{border:0;background:none;padding:0;color:var(--muted);text-align:center;cursor:pointer;min-width:0}.theme-tile>span{position:relative;display:block;aspect-ratio:1;border-radius:12px;background:radial-gradient(ellipse at 0 100%,var(--swatch-accent),transparent 85%),var(--swatch-base);border:2px solid transparent;box-shadow:inset 0 0 0 1px #ffffff1f;transition:transform .12s}.theme-tile:hover>span{transform:translateY(-2px)}.theme-tile b{display:block;font-size:10px;font-weight:500;margin-top:7px}.theme-tile i{display:none;position:absolute;right:-5px;top:-5px;border-radius:50%;width:21px;height:21px;background:var(--accent);color:var(--theme-on-accent);font-style:normal;font-size:12px;align-items:center;justify-content:center}.theme-tile[aria-pressed=true]>span{outline:2px solid var(--theme-accent-text);outline-offset:3px}.theme-tile[aria-pressed=true] i{display:flex}.theme-tile[aria-pressed=true] b{color:var(--text)}.theme-colors{display:grid;grid-template-columns:1fr 1fr;gap:14px}.theme-colors label{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid var(--border);border-radius:8px;gap:12px}.theme-colors input[type=color]{width:42px;height:32px;min-height:0;padding:2px;cursor:pointer}.appearance-settings fieldset>label{display:block;margin-top:16px}.appearance-settings output{float:right;color:var(--text)}.appearance-settings input[type=range]{display:block;width:100%;accent-color:var(--accent);min-height:24px;margin-top:7px;padding:0}.theme-option{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:16px 0;gap:20px}.theme-option b{font-size:12px;color:var(--text);font-weight:500}.theme-option small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.theme-option input{appearance:none!important;flex-shrink:0;width:38px!important;height:23px!important;min-height:23px!important;border-radius:20px!important;background:var(--hover)!important;padding:0!important;position:relative;cursor:pointer}.theme-option input:before{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:var(--text)}.theme-option input:checked{background:var(--accent)!important}.theme-option input:checked:before{left:18px;background:var(--theme-on-accent)}.appearance-preview{position:sticky;top:0;align-self:start}.appearance-preview-label{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:14px}.theme-demo{border:1px solid var(--border);border-radius:12px;overflow:hidden}.theme-demo header{display:flex;align-items:center;gap:10px;padding:18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:650}.theme-demo header small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.theme-demo-mark{color:var(--theme-accent-text);font-size:26px}.theme-demo-channel{padding:12px 18px;background:var(--panel);font-size:11px}.theme-demo-channel span{float:right;color:var(--theme-accent-text)}.theme-demo-message{display:flex;gap:10px;padding:22px 18px}.theme-demo-avatar{width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--theme-on-accent);display:grid;place-items:center;flex-shrink:0}.theme-demo-message b{font-size:12px}.theme-demo-message small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.theme-demo-message p{font-size:var(--theme-font);line-height:1.6;margin:14px 0}.theme-demo-message button{border:1px solid var(--accent);border-radius:6px;background:var(--panel);color:var(--text);padding:6px 10px}.theme-demo-composer{margin:0 14px 14px;padding:12px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:11px;background:var(--bg)}.theme-demo-composer span{float:right;color:var(--theme-accent-text)}.appearance-preview>p{font-size:11px;line-height:1.7;color:var(--muted)}.theme-share{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.theme-import{font-size:12px!important;margin:0!important;display:block!important}.appearance-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:16px;margin-top:18px}.appearance-footer>div{display:flex;gap:8px}@media(max-width:750px){.appearance-layout{grid-template-columns:1fr;gap:24px}.appearance-preview{position:static}.theme-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.appearance-footer{flex-wrap:wrap}.appearance-intro{font-size:21px}}@media(prefers-reduced-motion:reduce){.theme-tile>span{transition:none}}

.appearance-modal{display:flex;flex-direction:column;overflow:hidden!important}.appearance-modal .modal-head{flex-shrink:0}.appearance-modal .modal-body{flex:1;min-height:0;max-height:none!important}.appearance-modal>.appearance-footer{flex-shrink:0;background:var(--bg);margin-top:16px}.appearance-modal .modal-head+.modal-body{padding-right:12px}

.theme-tile>span{background-image:var(--swatch-gradient),radial-gradient(ellipse at 0 100%,var(--swatch-accent),transparent 85%)}body.has-theme-gradient .chat{background-image:linear-gradient(color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 94%,transparent)),var(--theme-gradient)!important}body.has-theme-gradient :is(.workspace-head,.theme-demo header){background-image:linear-gradient(color-mix(in srgb,var(--panel) 82%,transparent),color-mix(in srgb,var(--panel) 82%,transparent)),var(--theme-gradient)!important}
/* Consistent, stronger type hierarchy across every appearance preset. */
body { font-weight: 500; }
body :is(.msg-text,.pin-content,.composer input,.modal-body input,.modal-body textarea,.community-modal input,.community-modal textarea) { font-weight: 500 !important; }
body :is(button,.channel-label,.member-name,.section-title,.member-heading,.modal-body label,.community-modal label,.theme-option b,.theme-tile b,.reaction) { font-weight: 600 !important; }
body :is(.workspace-title,.top-title,.msg-name,.modal-title,.welcome h1,.community-heading h3,.community-empty h3,.appearance-intro,.appearance-settings legend,.product-card b,.theme-demo b) { font-weight: 700 !important; }
body :is(.msg-time,.member-note,.topic,.hint,.workspace-sub,.community-subtle,.product-status,.theme-option small,.appearance-preview-label) { font-weight: 500 !important; }
/* Comfortable reading scale; the appearance slider still enlarges chat further. */
body { font-size: 16px !important; }
body :is(.channel-label,.member-name,.top-title,.community-nav,.product-launcher button,.modal-body,.modal-body label,.community-modal label,.modal-body input,.modal-body select,.modal-body textarea,.community-modal input,.community-modal select,.community-modal textarea,.feature-primary,.manage-button,.modal-actions button,.product-toolbar button,.product-row button,.community-card button,.thread-context button,.booster-row button,.theme-modes button,.theme-share button,.theme-import,.appearance-footer button,.theme-option b,.appearance-settings legend) { font-size: 14px !important; }
body :is(.msg-name,.workspace-title,.pin-content,.community-card,.product-card,.theme-demo-message p,.theme-demo-composer) { font-size: 16px !important; }
body :is(.msg-time,.member-note,.topic,.hint,.workspace-sub,.community-subtle,.product-status,.community-card small,.section-title,.member-heading,.theme-option small,.theme-tile b,.appearance-intro span,.appearance-preview>p) { font-size: 12px !important; }
body :is(.modal-title,.community-heading h3,.community-empty h3) { font-size: 20px !important; }
body .welcome p { font-size: 16px !important; line-height: 1.65; }
body .welcome h1 { font-size: 30px !important; }
body .channel { min-height: 36px; }
body .composer input { min-width: 0; }
body .top-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:680px) { body .welcome h1 { font-size: 26px !important; } body .top-title { max-width: 110px; } }
/* Separate chat typography, message rhythm, and whole-interface zoom. */
:root { --ui-scale: 1; --message-spacing: 16px; }
body { zoom: var(--ui-scale); }
body .app { height: calc(100dvh / var(--ui-scale)) !important; }
body .modal { max-width: calc(96dvw / var(--ui-scale)) !important; max-height: calc(92dvh / var(--ui-scale)) !important; }
body .appearance-modal { width: min(1000px,calc(96dvw / var(--ui-scale))) !important; }
body .message { padding-top: calc(var(--message-spacing) / 2) !important; padding-bottom: calc(var(--message-spacing) / 2) !important; }
body .theme-demo-message p,body .pin-content { font-size: var(--theme-font,16px) !important; }
body .theme-demo-message { padding-block: var(--message-spacing); }
body #themeScaleReset { margin-top: 14px; padding: 8px 12px; }
