/* ==========================================================================
   江大π社区 · 日光版
   The member site is light by default. The star atlas stays a dark night-sky
   canvas on purpose; every surrounding surface is paper, ink and quiet borders.
   Loaded after night.css.
   ========================================================================== */

:root {
  --bg: #f4f5f2;
  --bg-deep: #eceee9;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-soft: #f7f8f5;
  --cream: #1b2620;
  --ink: #1b2620;
  --ink-soft: #36433c;
  --muted: #5f6d65;
  --muted-light: #7f8b83;
  --line: rgba(25, 39, 31, 0.12);
  --line-strong: rgba(25, 39, 31, 0.2);
  --forest: #163f33;
  --forest-soft: #205544;
  --teal: #167d68;
  --mint: #167d68;
  --coral: #bd5b42;
  --coral-deep: #a94a33;
  --sun: #a9751f;
  --sky: #2c7ca8;
  --blue: #2c7ca8;
  --violet: #6d59a8;
  --pink: #a34d76;
  --accent: #1f715e;
  --paper: #f5efe3;
  --paper-ink: #1b1712;
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: 0 10px 30px rgba(32, 47, 39, 0.06);
  --shadow-lg: 0 24px 60px rgba(32, 47, 39, 0.1);
}

html {
  color-scheme: light;
  background: var(--bg);
}

body {
  color: var(--ink);
  background: var(--bg);
}

::selection {
  color: #10271f;
  background: #cfe8de;
}

a {
  color: inherit;
}

/* Chrome ----------------------------------------------------------------- */

.topbar {
  border-bottom-color: var(--line);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.brand-mark {
  border-color: #d9e3dc;
  color: #fff;
  background: var(--forest);
  box-shadow: none;
}

.brand-text strong {
  color: var(--ink);
}

.brand-text small {
  color: var(--muted-light);
}

.brand-pi {
  color: #fff;
}

.nav-link {
  color: var(--muted);
}

.nav-link:hover,
.nav-link.is-active {
  color: var(--ink);
}

.nav-link.is-active {
  background: transparent;
}

.top-search {
  border-color: #dfe5df;
  background: #fff;
  color: var(--ink);
}

.top-search:focus-within {
  border-color: #9bc6b6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(31, 113, 94, 0.08);
}

.top-search input {
  color: var(--ink);
}

.top-search input::placeholder {
  color: var(--muted-light);
}

.top-search .icon {
  color: var(--muted-light);
}

.icon-btn {
  color: var(--muted);
}

.icon-btn:hover {
  color: var(--ink);
  background: #edf2ee;
}

.notification-badge {
  color: #fff;
  background: var(--forest);
}

.btn {
  border-color: #dbe3dd;
  color: var(--ink-soft);
  background: #fff;
}

.btn:hover {
  border-color: #b9c8bf;
  color: var(--ink);
  background: #f7f9f6;
  box-shadow: none;
}

.btn--primary,
.btn--compose,
.btn--sun {
  border-color: var(--forest);
  color: #fff;
  background: var(--forest);
}

.btn--primary:hover,
.btn--compose:hover,
.btn--sun:hover {
  border-color: #245d4d;
  color: #fff;
  background: #245d4d;
}

.btn--ghost {
  border-color: #d9e1da;
  color: var(--ink-soft);
  background: #fff;
}

.btn--ghost:hover {
  border-color: #b9c8bf;
  color: var(--ink);
  background: #f4f7f3;
}

.btn--ghost-light {
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.btn--ghost-light:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
}

.btn--danger-ghost,
.btn--plain-danger {
  color: var(--coral);
}

.user-chip {
  color: var(--ink-soft);
}

.user-chip:hover {
  background: #edf2ee;
}

.user-popover {
  border-color: var(--line);
  background: #fff;
  box-shadow: var(--shadow-md) !important;
}

.popover-profile {
  border-bottom-color: var(--line);
}

.popover-profile span {
  color: var(--muted);
}

.popover-menu a,
.popover-menu button {
  color: var(--ink-soft);
}

.popover-menu a:hover,
.popover-menu button:hover {
  color: var(--ink);
  background: #f1f5f1;
}

.popover-count,
.popover-foot {
  color: var(--muted-light);
}

.admin-chip,
.demo-chip,
.ai-role-chip {
  border-color: #dbe3dd;
  color: var(--ink-soft);
  background: #f4f7f3;
}

.notification-panel {
  border-color: var(--line);
  background: #fff;
  box-shadow: var(--shadow-md) !important;
}

.notification-header,
.notification-item {
  border-color: var(--line);
}

.notification-item:hover {
  background: #f4f7f3;
}

.notification-title,
.notification-copy {
  color: var(--ink-soft);
}

.notification-time,
.notification-empty {
  color: var(--muted-light);
}

.site-footer {
  border-top-color: var(--line);
  background: #eceee9;
}

.footer-main p {
  color: var(--muted);
}

.footer-meta,
.footer-device,
.footer-device-switch {
  color: var(--muted);
}

.mobile-nav {
  border-top-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.mobile-nav-link {
  color: var(--muted-light);
}

.mobile-nav-link.is-active {
  color: var(--ink);
}

.mobile-compose {
  color: #fff;
  background: var(--forest);
}

/* Shared surfaces and controls ------------------------------------------ */

.card,
.side-card,
.friend-card,
.profile-card,
.topic-cloud-card,
.active-people-card,
.discover-panel,
.composer-card,
.post-card,
.comment-card,
.empty-state,
.profile-side-card,
.profile-stats-card,
.request-card,
.office-topic-card,
.office-answer-card,
.office-question-form,
.appeal-card,
.admin-panel,
.ai-side-card {
  border-color: var(--line);
  background: var(--surface);
  color: var(--ink);
}

.text-button {
  color: var(--muted);
}

.text-button:hover {
  color: var(--ink);
}

.muted-copy {
  color: var(--muted);
}

.form-field label {
  color: var(--ink-soft);
}

.input-wrap,
.select-wrap {
  border-color: #dbe3dd;
  background: #fff;
}

.input-wrap:focus-within,
.select-wrap:focus-within {
  border-color: #9bc6b6;
  box-shadow: 0 0 0 3px rgba(31, 113, 94, 0.08);
}

.input-wrap input,
.select-wrap select,
.form-field textarea {
  color: var(--ink);
  background: transparent;
}

.input-wrap input::placeholder,
.form-field textarea::placeholder {
  color: var(--muted-light);
}

.form-error {
  border-color: #e9c8be;
  color: #a34a33;
  background: #fcf3ef;
}

/* Home ------------------------------------------------------------------- */

.home-masthead {
  border-color: var(--line);
  background: #fff;
}

.home-masthead h1 {
  color: var(--ink);
}

.home-masthead h1 span,
.home-masthead-description,
.home-greeting {
  color: var(--muted);
}

.home-text-link {
  border-bottom-color: #c7d3ca;
  color: var(--ink-soft);
}

.home-text-link:hover {
  border-color: var(--ink);
  color: var(--ink);
}

.home-masthead-meta {
  border-top-color: var(--line);
  color: var(--muted);
}

.home-masthead-meta strong {
  color: var(--ink);
}

.home-masthead-art {
  border-left-color: var(--line);
  background: #edf2ec;
}

.home-art-ring {
  border-color: rgba(24, 49, 39, 0.12);
}

.home-art-photo {
  border-color: #d7dfd7;
  background: #fff;
  box-shadow: 0 10px 24px rgba(31, 49, 39, 0.08);
}

.home-art-people {
  border-color: #d6e0d8;
  color: var(--muted);
  background: #fff;
}

.home-art-people strong {
  color: var(--ink);
}

.home-art-people .avatar {
  border-color: #fff;
}

.home-section-bar {
  border-bottom-color: var(--line);
}

.home-section-link {
  color: var(--muted);
}

.home-section-link:hover,
.home-section-link.is-active {
  color: var(--ink);
  border-bottom-color: var(--ink);
}

.home-section-link small {
  color: var(--muted-light);
}

.composer-main {
  color: var(--ink);
}

.composer-placeholder strong {
  color: var(--ink);
}

.composer-placeholder small,
.composer-bar-caption {
  color: var(--muted);
}

.composer-bar button {
  color: var(--muted);
}

.composer-bar button:hover {
  color: var(--ink);
  background: #f1f5f1;
}

.composer-mini-submit {
  color: var(--accent);
}

.steward-composer-hint {
  border-color: #e2e9e1;
  background: #f6f8f4;
}

.steward-composer-hint p {
  color: var(--muted);
}

.steward-composer-hint strong {
  color: var(--ink-soft);
}

.steward-composer-hint button {
  border-color: #d3dfd6;
  color: var(--ink-soft);
  background: #fff;
}

.feed-heading-copy h2 {
  color: var(--ink);
}

.feed-heading-copy p {
  color: var(--muted);
}

.sort-tabs {
  border-color: var(--line);
  background: #ecefe9;
}

.sort-tab {
  color: var(--muted);
}

.sort-tab.is-active {
  color: var(--ink);
  background: #fff;
}

.post-card {
  border-color: var(--line);
  background: #fff;
}

.post-card:hover {
  border-color: #cbd8cf;
  background: #fff;
}

.post-title,
.post-card h3 {
  color: var(--ink);
}

.post-excerpt,
.post-meta,
.post-author-meta,
.post-stat {
  color: var(--muted);
}

.post-actions,
.post-foot {
  border-color: var(--line);
}

/* Sidebar ---------------------------------------------------------------- */

.side-card-title h2,
.side-card-title h3 {
  color: var(--ink);
}

.side-card-title span,
.side-card-title small {
  color: var(--muted-light);
}

.side-user-card,
.side-topics,
.side-topic {
  border-color: var(--line);
}

.side-topic:hover {
  background: #f4f7f3;
}

/* Feed column surfaces --------------------------------------------------- */

.agent-onboarding {
  border-color: #dce8df;
  background: #fff;
}

.agent-onboarding-welcome,
.agent-onboarding-footer > span {
  color: var(--muted);
}

.agent-onboarding-actions button {
  border-color: #dbe3dd;
  color: var(--muted);
  background: #fff;
}

.agent-onboarding-actions button:hover {
  border-color: #b9c8bf;
  color: var(--ink);
}

.agent-onboarding-steps > div > span {
  color: var(--accent);
}

.agent-onboarding-steps p,
.agent-onboarding-steps small,
.agent-onboarding-starter a,
.agent-onboarding-starter small {
  color: var(--muted);
}

.agent-onboarding-steps strong {
  color: var(--ink-soft);
}

.agent-onboarding-footer {
  border-top-color: var(--line);
}

.agent-onboarding-boards a {
  border-color: #dbe3dd;
  color: var(--muted);
  background: #fff;
}

.recommendation-panel {
  border-color: #dbe7df;
  background: #f7faf6;
}

.recommendation-panel h2,
.recommendation-panel strong {
  color: var(--ink);
}

.recommendation-panel p,
.recommendation-panel small {
  color: var(--muted);
}

.recommendation-card {
  border-color: #dce6de;
  background: #fff;
}

/* Modals and drawers ----------------------------------------------------- */

.modal-card {
  border-color: var(--line);
  background: #fff;
  box-shadow: var(--shadow-lg) !important;
}

.modal-heading h2 {
  color: var(--ink);
}

.modal-heading p {
  color: var(--muted);
}

.modal-close {
  color: var(--muted);
  background: #f4f7f3;
}

/* Forms ------------------------------------------------------------------ */

.composer-modal,
.composer-card {
  background: #fff;
}

.composer-toolbar,
.composer-foot {
  border-color: var(--line);
}

.composer-toolbar button {
  color: var(--muted);
}

/* Keep the night-sky star atlas dark on purpose. */
.star-atlas,
.star-atlas-head,
.star-atlas-foot {
  background-color: #08111d;
}

@media (max-width: 900px) {
  .topbar {
    background: rgba(255, 255, 255, 0.94);
  }

  .home-masthead-art {
    border-top-color: var(--line);
    border-left-color: transparent;
  }

  .mobile-nav {
    background: rgba(255, 255, 255, 0.97);
  }
}

/* Light home leftovers */
.channel-link:hover {
  color: var(--ink-soft);
  background: #eef3ee;
}

.channel-link.is-active {
  color: var(--ink);
  background: #e7efe8;
}

.channel-count {
  color: var(--muted-light);
}

.request-banner {
  border-color: #dbe6dd;
  background: #f5f9f4;
  color: var(--ink-soft);
}

.request-banner:hover {
  border-color: #b9cbbd;
  background: #edf5ed;
}

.request-copy strong {
  color: var(--ink-soft);
}

.request-copy small {
  color: var(--muted);
}

.post-cover {
  background: #e9eee8;
}

/* Recommendation chips and hidden gems */
.recommendation-topics a {
  border-color: #d9e4dc;
  color: var(--ink-soft);
  background: #fff;
}

.recommendation-topics a:hover {
  border-color: #a8c8b8;
  color: var(--accent);
}

.recommendation-hidden {
  border-top-color: var(--line);
}

.recommendation-hidden-list a {
  background: #f5f8f4;
}

.recommendation-hidden-list a:hover {
  background: #ecf3ec;
}

.recommendation-hidden-list a > span {
  color: var(--ink-soft);
}

.recommendation-hidden-list a > small {
  color: #8b6519;
}

/* Detail, comments, knowledge ------------------------------------------- */

.detail-image-wrap {
  background: #e9eee8;
}

.comment-form textarea,
.post-detail-comment-form textarea,
.composer-form input,
.composer-form textarea,
.composer-form select,
.office-ask-form textarea,
.office-question-form textarea,
.office-question-form select,
.appeal-submit-form textarea,
.appeal-review-box textarea {
  border-color: #d9e2da;
  color: var(--ink);
  background: #fff;
}

.comment-form textarea:focus,
.post-detail-comment-form textarea:focus,
.composer-form input:focus,
.composer-form textarea:focus,
.composer-form select:focus,
.office-ask-form textarea:focus,
.office-question-form textarea:focus,
.appeal-submit-form textarea:focus {
  border-color: #9bc6b6;
  box-shadow: 0 0 0 3px rgba(31, 113, 94, 0.08);
}

.community-guideline-card {
  border-color: #e6ddca;
  background: #faf5e9;
}

.guideline-mark {
  border-color: #ddcfb5;
  color: #8c6a27;
}

.community-guideline-card strong {
  color: var(--ink-soft);
}

.community-guideline-card p {
  color: var(--muted);
}

.knowledge-card {
  border-color: #e6ddca;
  background: #fbf7ed;
}

.knowledge-head h2 {
  color: var(--ink);
}

.knowledge-summary {
  color: var(--ink-soft);
}

.knowledge-meta span {
  color: var(--muted);
  background: #f1eadb;
}

.knowledge-points,
.knowledge-opinions,
.knowledge-related {
  border-top-color: #e4dccb;
}

.knowledge-points li > p {
  color: var(--muted);
}

.knowledge-opinion,
.knowledge-opinion--complementary {
  border-color: #e4dccb;
  background: #fff;
}

.knowledge-freshness {
  border-color: #dccfba;
}

/* Profile and friends ---------------------------------------------------- */

.profile-card-quote {
  border-color: #e3e9e2;
  background: #f6f9f5;
}

.profile-card-quote p {
  color: var(--muted);
}

.profile-card-quote span {
  color: var(--muted-light);
}

/* Drift ------------------------------------------------------------------ */

.drift-overview {
  border-color: #dce6dd;
  background: #f5f9f4;
}

.drift-data-grid > div:nth-child(odd) {
  border-right-color: #e1e9e1;
}

.drift-data-grid > div:nth-child(n + 3) {
  border-top-color: #e1e9e1;
}

.drift-data-grid strong {
  color: var(--ink);
}

.drift-mood-row > i {
  background: #e1e9e1;
}

.drift-overview-head {
  border-bottom-color: #e1e9e1;
}

.drift-overview-foot {
  border-top-color: #e1e9e1;
}

.bottle-mood-option input:checked + span {
  border-color: var(--forest);
  color: #fff;
  background: var(--forest);
}

/* Office ----------------------------------------------------------------- */

.office-hero {
  border-color: #dce8df;
  background: #eef6f0;
}

.office-hero h1,
.office-hero-copy h1 {
  color: var(--ink);
}

.office-hero-copy > p:not(.office-kicker),
.office-hero-meta,
.office-desk-note,
.office-desk-head p {
  color: var(--muted);
}

.office-hero-meta strong {
  color: var(--ink);
}

.office-hero-mark {
  border-color: #cfe2d4;
  color: var(--forest);
  background: #e2f0e6;
}

.office-hero-mark strong {
  color: var(--forest);
}

.office-hero-mark span {
  color: #5d7768;
}

.office-desk {
  border-color: #dce8df;
  background: #fff;
}

.office-desk-head h2,
.office-section-head h2,
.office-welcome h2,
.office-answer-card h2,
.office-question-card h2,
.office-question-form-head h3 {
  color: var(--ink);
}

.office-live-label {
  color: var(--accent);
}

.office-ask-form textarea {
  border-color: #d8e4da;
  background: #fbfdfb;
}

.office-welcome {
  border-color: #dce8df;
  color: var(--ink-soft);
  background: #f4f9f4;
}

.office-welcome-label,
.office-welcome p {
  color: var(--muted);
}

.office-prompt {
  border-color: #dce7dd;
  color: var(--ink-soft);
  background: #fff;
}

.office-prompt:hover {
  border-color: #a9c9b7;
  background: #f7fbf7;
}

.office-question-card {
  border-color: #dfe8df;
  background: #fff;
}

.office-people-answer {
  border-color: #e3eae3;
  background: #f8faf7;
}

.office-people-answer.is-official {
  border-color: #d4e5d8;
  background: #eff7f1;
}

.office-answer-card {
  border-color: #dce8df;
  background: #fff;
}

.office-answer-card--fallback {
  background: #fbf7ee;
}

.office-answer-intro,
.office-steps p,
.office-note-block li,
.office-source-block li {
  color: var(--ink-soft);
}

.office-step-index {
  color: var(--accent);
}

.office-note-block,
.office-source-block {
  border-color: #e3eae3;
  background: #f8faf7;
}

.office-answer-foot,
.office-answer-empty {
  border-color: #e3eae3;
  color: var(--muted);
  background: #f8faf7;
}

.office-topic-card {
  border-color: #dfe8df;
  background: #fff;
}

/* Appeals ---------------------------------------------------------------- */

.appeals-hero {
  border-color: #e2e9e1;
  background: #f6f9f4;
}

.appeals-hero h1 {
  color: var(--ink);
}

.appeals-hero-copy > p:not(.appeals-eyebrow) {
  color: var(--muted);
}

.appeals-hero-copy > p.appeals-hero-note {
  color: var(--muted-light);
}

.appeals-hero .btn--ghost-light,
.admin-hero .btn--ghost-light,
.ai-hero .btn--ghost-light {
  border-color: #d5e0d7;
  color: var(--ink-soft);
  background: #fff;
}

.appeals-hero .btn--ghost-light:hover,
.admin-hero .btn--ghost-light:hover,
.ai-hero .btn--ghost-light:hover {
  border-color: #aec5b5;
  color: var(--ink);
  background: #f2f7f2;
}

.appeal-stats {
  border-color: #e1e8e1;
  background: #fff;
}

.appeal-stat + .appeal-stat {
  border-left-color: #e8ede8;
}

.appeal-card {
  border-color: var(--line);
  background: #fff;
}

.appeal-reason-block,
.appeal-user-reason,
.appeal-review-note {
  border-color: #e3eae3;
  background: #f8faf7;
}

/* AI operations and agent ------------------------------------------------ */

.operations-panel,
.operations-panel--loading {
  border-color: #dce7de;
  background: #f7faf7;
}

.operations-head h2,
.operations-section-title,
.operations-card-head h3,
.agent-ops-head h2,
.agent-ops-card h3 {
  color: var(--ink);
}

.operations-sub,
.operations-note,
.agent-ops-head p,
.agent-ops-card p {
  color: var(--muted);
}

.operations-metrics {
  border-color: #dce7de;
}

.operations-metrics > div,
.operations-card,
.agent-ops-panel,
.agent-ops-card {
  border-color: #dce7de;
  background: #fff;
}

.operations-card--retention,
.agent-ops-card--digest {
  background: #f7faf7;
}

.agent-ops-panel {
  background: #f7faf7;
}

.agent-ops-card-head {
  border-bottom-color: #e3eae3;
}

.agent-ops-card-head > span,
.agent-digest-sections strong,
.agent-ops-status,
.agent-findings small {
  color: var(--muted);
}

.agent-findings a,
.agent-digest-sections span {
  color: var(--ink-soft);
}

.agent-permission-strip,
.agent-permission-card {
  border-color: #dce7de;
  background: #f2f8f3;
}

/* Admin and AI hero copy ------------------------------------------------- */

.admin-hero-copy p,
.admin-hero-copy > p {
  color: var(--muted);
}

.admin-hero-copy h1,
.ai-hero-copy h1 {
  color: var(--ink);
}

.ai-hero-copy p,
.ai-hero-meta {
  color: var(--muted);
}

.ai-hero-title-row h1 {
  color: var(--ink);
}

/* Generic light empty states -------------------------------------------- */

.empty-state {
  border-color: #dfe6df;
  background: #fff;
}

.empty-state p {
  color: var(--muted);
}

/* Inputs that sit inside dark panels earlier in the cascade. */
textarea {
  border-color: #d9e2da !important;
  color: var(--ink) !important;
  background-color: #fff !important;
}

textarea::placeholder {
  color: var(--muted-light) !important;
}

.bottle-form textarea {
  border-color: rgba(25, 22, 18, 0.19) !important;
  color: var(--paper-ink) !important;
  background-color: transparent !important;
}

.bottle-form textarea::placeholder {
  color: rgba(25, 22, 18, 0.35) !important;
}

select {
  color: var(--ink) !important;
  background-color: #fff !important;
}

/* Operations overview */
.operations-overview {
  border-color: #dce7de;
}

.operations-overview > div {
  border-color: #e2eae1;
  background: #fff;
}

.operations-overview strong {
  color: var(--ink);
}

.operations-overview span {
  color: var(--muted);
}

.operations-card {
  border-color: #dce7de;
  background: #fff;
}

.operations-card-head {
  border-bottom-color: #e6ece5;
}

/* Related knowledge links */
.knowledge-related-list a {
  color: var(--ink-soft);
  background: #fff;
}

.knowledge-related-list a:hover {
  background: #f2f7f2;
}

.agent-ops-card-head > span {
  color: var(--ink-soft);
}

.agent-permission-strip strong {
  color: var(--ink);
}

.agent-ops-card-head > small,
.agent-ops-card-head > button {
  color: var(--muted);
}

/* Composer assistant and preference controls */
.post-assistant {
  border-color: #d8e7dc;
  background: #f4f9f4;
}

.post-assistant-head strong {
  color: var(--ink);
}

.post-assistant-head p {
  color: var(--muted);
}

.post-assistant-badge {
  border-color: #c5ddd0;
  color: var(--accent);
}

.post-assistant-actions button {
  border-color: #d5e2d8;
  color: var(--ink-soft);
  background: #fff;
}

.post-assistant-actions button:hover {
  border-color: #aac7b8;
  color: var(--ink);
  background: #f7fbf7;
}

.recommendation-toggle {
  border-color: #dfe7df;
  background: #f8faf7;
}

.recommendation-toggle .switch-track {
  background: #d6e0d8;
}

.recommendation-toggle input:checked + .switch-track {
  background: var(--forest);
}

.recommendation-toggle strong {
  color: var(--ink);
}

.recommendation-toggle small {
  color: var(--muted);
}

.recommendation-interest span {
  border-color: #d9e3da;
  color: var(--muted);
  background: #fff;
}

.recommendation-interest input:checked + span {
  border-color: #9fc8b4;
  color: #145d49;
  background: #e9f3ec;
}

.recommendation-privacy-note {
  color: var(--muted);
}

.recommendation-settings-foot {
  border-top-color: #e5ebe4;
}

/* Mobile controls */
.mobile-feed-search {
  border-color: #dce5dc;
  background: #fff;
}

.mobile-feed-search button {
  border-radius: 999px;
  color: #fff;
  background: var(--forest);
}

.compose-fab {
  border-color: var(--forest);
  color: #fff;
  background: var(--forest);
  box-shadow: 0 10px 24px rgba(22, 63, 51, 0.2);
}

.compose-fab .icon {
  color: #fff;
}

/* The star atlas is the one dark canvas: keep all of its own text light. */
.star-atlas,
.star-atlas-head,
.star-atlas-toolbar,
.star-atlas-body,
.star-atlas-foot {
  color: #dbe7f1;
}

.star-atlas-head h1,
.star-atlas-title-row h1,
.star-atlas-stats strong,
.star-inspector h2,
.star-inspector strong,
.star-directory-head strong,
.star-name-label {
  color: #f2f7fb;
}

.star-atlas-head p,
.star-atlas-stats span,
.star-atlas-note,
.star-atlas-foot,
.star-canvas-hint,
.star-inspector,
.star-inspector p,
.star-inspector span,
.star-inspector-guide > p,
.star-directory-list small {
  color: #a8bac9;
}

.star-filter,
.star-tool {
  color: #a8bac9;
}

.star-filter.is-active {
  color: #fff;
  background: #1b3347;
}

.star-filter:hover,
.star-tool:hover {
  color: #fff;
}

.star-name-label {
  background: rgba(7, 16, 28, 0.86);
}

.star-inspector-kicker {
  color: #73d2b8;
}

.star-inspector-guide h2 {
  color: #f2f7fb;
}

.star-atlas-note {
  color: #a8bac9;
}

.star-name-label,
.star-name-label.is-neighbor,
.star-name-label.is-viewer {
  color: #dce9f3;
}

.star-name-label:hover,
.star-name-label:focus-visible {
  border-color: #66859c;
  color: #fff;
  background: #1b3347;
}

.star-name-label.is-active {
  border-color: #f2f7fb;
  color: #08111d;
  background: #f2f7fb;
}

/* Search insight, featured intro, anonymous reply */
.search-insight {
  border-color: #d8e7de;
  background: #f3f8f3;
}

.search-insight-head h2 {
  color: var(--ink);
}

.search-intent-summary {
  color: var(--ink-soft);
}

.search-concept-row span {
  border-color: #d4e3d8;
  color: var(--ink-soft);
  background: #fff;
}

.search-ranking-chip {
  border-color: #bcd8c8;
  color: var(--accent);
  background: #fff;
}

.featured-intro {
  border-color: #e6dcc7;
  background: #fbf7ed;
}

.featured-intro h1 {
  color: var(--ink);
}

.featured-intro p {
  color: var(--muted);
}

.bottle-reply-form {
  border-color: #e2dacb;
  background: #fbf7ee;
}

.bottle-reply-form textarea {
  color: var(--paper-ink) !important;
  background: transparent !important;
}

.bottle-reply-form textarea::placeholder {
  color: rgba(25, 22, 18, 0.35) !important;
}

.bottle-reply-form-foot {
  border-top-color: #e4dacb;
  color: var(--muted);
}

/* Steward answers */
.steward-answer {
  border-color: #dce8df;
  background: #fff;
}

.steward-confidence {
  border-color: #d7e3da;
  color: var(--muted);
}

.steward-human-callout {
  border-color: #cfe3d6;
  background: #f2f8f3;
}

.steward-human-callout button {
  border-color: #d4e2d7;
  color: var(--ink-soft);
  background: #fff;
}

.steward-steps-block,
.steward-viewpoints,
.steward-evidence,
.steward-followup-block {
  border-top-color: #e3eae3;
}

.steward-steps li {
  border-top-color: #e7ede6;
}

.steward-steps li:last-child {
  border-bottom-color: #e7ede6;
}

.steward-viewpoint,
.steward-followup-item {
  background: #f7faf7;
}

.steward-followup-reply {
  background: #edf5ef;
}

.steward-followup-prompts button {
  border-color: #d7e3da;
  color: var(--muted);
  background: #fff;
}

.steward-followup-prompts button:hover {
  border-color: #a9c7b6;
  color: var(--ink);
}

/* Boot and toast */
.boot-splash {
  background:
    radial-gradient(circle at 50% 35%, rgba(31, 113, 94, 0.09), transparent 24rem),
    var(--bg);
}

.boot-word {
  color: var(--ink);
}

.boot-splash p {
  color: var(--muted);
}

.boot-mark {
  color: #fff;
  background: var(--forest);
}

.toast {
  color: #fff;
  background: rgba(24, 75, 61, 0.96);
}

.toast .icon {
  color: #b9ead8;
}

.toast--error {
  background: rgba(157, 60, 45, 0.96);
}

html {
  scrollbar-color: #c5d1c8 transparent;
}

/* AI hero micro-labels */
.ai-running-badge {
  border-color: #c9e3d4;
  color: #1a725d;
  background: #edf7f0;
  font-size: 10.5px;
}

.ai-provider-pill {
  border-color: #d8e4db;
  color: #4d665a;
  background: #fff;
  font-size: 10.5px;
}

.ai-hero-copy > p {
  color: var(--muted);
}

.ai-hero-meta {
  color: var(--muted);
  font-size: 11px;
}

.ai-hero-code {
  color: rgba(27, 38, 32, 0.08);
}

.ai-online-badge {
  color: #176e5a;
  border-color: #cfe2d6;
  background: #edf7f0;
  font-size: 10px;
}

.agent-ops-card-head > span {
  color: var(--ink);
  font-weight: 500;
}

.star-directory-head strong,
.star-directory-list strong,
.star-directory-list button {
  color: #f2f7fb;
}

.star-directory-list button {
  background: transparent;
}

.star-directory-list button:hover {
  background: #12263a;
}

.star-directory-list span,
.star-directory-list small,
.star-directory-head span {
  color: #a8bac9;
}

.star-inspector a:not(.btn),
.star-inspector button:not(.btn) {
  color: #dbe7f1;
}
