/* Final small-minimal fixes loaded after all page styles. */

body.lx-world .dashboard-shell {
    background: #F7F6F3 !important;
    box-shadow: none !important;
}

body.lx-world .dashboard-hero,
body.lx-world .library-cabinet,
body.lx-world .lex-shelf-card,
body.lx-world .today-mission-panel {
    background: #F7F6F3 !important;
    border: 1px solid #D6D2C6 !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

body.lx-world .dashboard-hero {
    background: linear-gradient(120deg, rgba(233, 231, 226, 0.72), rgba(247, 246, 243, 0.96)) !important;
}

body.lx-world .dashboard-hero .lx-page-kicker,
body.lx-world .dashboard-hero .dashboard-kicker,
body.lx-world .today-mission-kicker {
    color: #8E8E8E !important;
    letter-spacing: 0.16em !important;
}

body.lx-world .dashboard-hero .lx-page-title,
body.lx-world .dashboard-hero h1,
body.lx-world .dashboard-hero h2,
body.lx-world .cabinet-heading h3,
body.lx-world .lex-card-title,
body.lx-world .today-mission-title,
body.lx-world .month-status-item strong,
body.lx-world .desk-today-stats strong,
body.lx-world .desk-streak-value strong {
    color: #2E2E2E !important;
    text-shadow: none !important;
}

body.lx-world .dashboard-hero .lx-page-sub,
body.lx-world .hero-sub,
body.lx-world .cabinet-heading a,
body.lx-world .lex-shelf-total,
body.lx-world .lex-shelf-note,
body.lx-world .lex-bars-axis,
body.lx-world .month-status-item span,
body.lx-world .desk-today-stats small,
body.lx-world .desk-streak-value span {
    color: #8E8E8E !important;
    text-shadow: none !important;
}

body.lx-world .desk-today-card,
body.lx-world .desk-streak-card,
body.lx-world .month-status-item,
body.lx-world .today-mission-item {
    background: #E9E7E2 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: inset 0 0 0 1px rgba(247, 246, 243, 0.66) !important;
}

body.lx-world .desk-card-label,
body.lx-world .desk-card-label i,
body.lx-world .today-mission-icon,
body.lx-world .today-mission-state {
    color: #2E2E2E !important;
}

body.lx-world .desk-write-button,
body.lx-world .activation-cta {
    background: #2E2E2E !important;
    border-color: #2E2E2E !important;
    color: #F7F6F3 !important;
    box-shadow: 0 12px 26px rgba(46, 46, 46, 0.18) !important;
}

body.lx-world .desk-write-button:hover,
body.lx-world .activation-cta:hover {
    background: #8E8E8E !important;
    border-color: #8E8E8E !important;
    color: #F7F6F3 !important;
}

body.lx-world .desk-streak-week span {
    color: #8E8E8E !important;
}

body.lx-world .desk-streak-week span::after {
    background: #B8B2A4 !important;
    border-color: #E9E7E2 !important;
    box-shadow: none !important;
}

body.lx-world .desk-streak-week span.is-active::after {
    background: #8E8E8E !important;
}

body.lx-world .library-cabinet {
    overflow: hidden !important;
}

body.lx-world .cabinet-section,
body.lx-world .cabinet-heading {
    background: #F7F6F3 !important;
    border-color: #D6D2C6 !important;
    box-shadow: none !important;
}

body.lx-world .cabinet-diaries {
    border-right-color: #D6D2C6 !important;
}

body.lx-world .diary-books,
body.lx-world .word-books {
    border-bottom-color: #B8B2A4 !important;
    box-shadow: inset 0 -4px 0 #D6D2C6 !important;
}

body.lx-world .diary-book,
body.lx-world .diary-book--0,
body.lx-world .diary-book--1,
body.lx-world .diary-book--2,
body.lx-world .diary-book--3,
body.lx-world .diary-book--4 {
    background: linear-gradient(100deg, #E9E7E2 0%, #D6D2C6 100%) !important;
    border-color: #B8B2A4 !important;
    color: #2E2E2E !important;
    box-shadow:
        inset 3px 0 rgba(247, 246, 243, 0.6),
        inset -4px 0 rgba(46, 46, 46, 0.07),
        2px 4px 9px rgba(46, 46, 46, 0.11) !important;
}

body.lx-world .diary-book:nth-child(3n+1) {
    background: linear-gradient(100deg, #F7F6F3 0%, #E9E7E2 100%) !important;
}

body.lx-world .diary-book:nth-child(3n+2) {
    background: linear-gradient(100deg, #D6D2C6 0%, #B8B2A4 100%) !important;
}

body.lx-world .diary-book-date,
body.lx-world .diary-book-words {
    color: #2E2E2E !important;
}

body.lx-world .diary-book-date::before,
body.lx-world .diary-book-date::after,
body.lx-world .diary-book::after {
    background: #8E8E8E !important;
}

body.lx-world .diary-book-add {
    background: rgba(247, 246, 243, 0.4) !important;
    border-color: #D6D2C6 !important;
    color: #8E8E8E !important;
}

body.lx-world .lex-shelf-card .lex-bars {
    border-bottom-color: #B8B2A4 !important;
    box-shadow: inset 0 -1px 0 #D6D2C6 !important;
}

body.lx-world .lex-shelf-card .lex-bar,
body.lx-world .lex-shelf-card .lex-bar-col:nth-child(5n+1) .lex-bar:not(.is-empty),
body.lx-world .lex-shelf-card .lex-bar-col:nth-child(5n+2) .lex-bar:not(.is-empty),
body.lx-world .lex-shelf-card .lex-bar-col:nth-child(5n+3) .lex-bar:not(.is-empty),
body.lx-world .lex-shelf-card .lex-bar-col:nth-child(5n+4) .lex-bar:not(.is-empty),
body.lx-world .lex-shelf-card .lex-bar-col:nth-child(5n) .lex-bar:not(.is-empty),
body.lx-world .lex-spine,
body.lx-world .lex-spine--0,
body.lx-world .lex-spine--1,
body.lx-world .lex-spine--2,
body.lx-world .lex-spine--3,
body.lx-world .lex-spine--4 {
    background: linear-gradient(100deg, #E9E7E2 0%, #D6D2C6 100%) !important;
    border-color: #B8B2A4 !important;
    box-shadow:
        inset 3px 0 rgba(247, 246, 243, 0.58),
        inset -3px 0 rgba(46, 46, 46, 0.07),
        2px 3px 8px rgba(46, 46, 46, 0.12) !important;
}

body.lx-world .lex-shelf-card .lex-bar-col:nth-child(4n+1) .lex-bar:not(.is-empty),
body.lx-world .lex-spine--1 {
    background: linear-gradient(100deg, #F7F6F3 0%, #E9E7E2 100%) !important;
}

body.lx-world .lex-shelf-card .lex-bar-col:nth-child(4n+2) .lex-bar:not(.is-empty),
body.lx-world .lex-spine--2 {
    background: linear-gradient(100deg, #D6D2C6 0%, #B8B2A4 100%) !important;
}

body.lx-world .lex-shelf-card .lex-bar.is-empty {
    background: #E9E7E2 !important;
    box-shadow: none !important;
}

body.lx-world .nav-scrollable,
body.lx-world.dark-mode .nav-scrollable {
    background: #2E2E2E !important;
    color: #D6D2C6 !important;
}

body.lx-world .nav-scrollable .nav-link,
body.lx-world .nav-scrollable .btn.nav-link,
body.lx-world .nav-scrollable .nav-link i,
body.lx-world.dark-mode .nav-scrollable .nav-link,
body.lx-world.dark-mode .nav-scrollable .btn.nav-link,
body.lx-world.dark-mode .nav-scrollable .nav-link i {
    color: #D6D2C6 !important;
    opacity: 1 !important;
}

body.lx-world .nav-scrollable .nav-group-label,
body.lx-world .nav-upgrade-sub,
body.lx-world .nav-upgrade-arrow,
body.lx-world .nav-upgrade-icon {
    color: #B8B2A4 !important;
}

body.lx-world .nav-scrollable .nav-link:hover,
body.lx-world .nav-scrollable .nav-link.active,
body.lx-world .nav-scrollable .active > .nav-link,
body.lx-world .nav-scrollable .nav-link:hover i,
body.lx-world .nav-scrollable .nav-link.active i {
    background: #8E8E8E !important;
    color: #F7F6F3 !important;
}

/* Cross-page palette guard. Keep visible UI inside the approved six-color set. */
:root,
body.lx-world {
    --sm-soft-white: #F7F6F3;
    --sm-warm-gray: #E9E7E2;
    --sm-greige: #D6D2C6;
    --sm-taupe: #B8B2A4;
    --sm-stone: #8E8E8E;
    --sm-charcoal: #2E2E2E;

    --app-base: #F7F6F3;
    --app-surface: #F7F6F3;
    --app-section: #E9E7E2;
    --app-text: #2E2E2E;
    --app-muted: #8E8E8E;
    --app-primary: #2E2E2E;
    --app-sub-accent: #B8B2A4;
    --app-border: #D6D2C6;

    --color-bg: #F7F6F3;
    --color-surface: #F7F6F3;
    --color-surface-muted: #E9E7E2;
    --color-border: #D6D2C6;
    --color-text: #2E2E2E;
    --color-text-muted: #8E8E8E;
    --color-accent: #2E2E2E;
    --color-accent-dark: #2E2E2E;
    --color-brass: #B8B2A4;

    --lp-primary: #2E2E2E;
    --lp-primary-strong: #2E2E2E;
    --lp-ink: #2E2E2E;
    --lp-body: #8E8E8E;
    --lp-muted: #8E8E8E;
    --lp-line: #D6D2C6;
    --lp-surface: #F7F6F3;
    --lp-tint: #E9E7E2;
    --lp-violet-soft: #E9E7E2;

    --lx-ivory: #F7F6F3;
    --lx-surface: #F7F6F3;
    --lx-surface-alt: #E9E7E2;
    --lx-ink: #2E2E2E;
    --lx-ink-mid: #2E2E2E;
    --lx-muted: #8E8E8E;
    --lx-faint: #B8B2A4;
    --lx-green: #2E2E2E;
    --lx-green-mid: #2E2E2E;
    --lx-green-soft: #E9E7E2;
    --lx-green-btn: #2E2E2E;
    --lx-gold: #B8B2A4;
    --lx-gold-soft: #E9E7E2;
    --lx-line: #D6D2C6;
    --lx-line-soft: #D6D2C6;
    --bs-primary: #2E2E2E;
    --bs-primary-rgb: 46, 46, 46;
    --bs-link-color: #2E2E2E;
    --bs-link-hover-color: #2E2E2E;
    accent-color: #2E2E2E;
}

body.lx-world,
body.lx-world .page:not(.page--landing),
body.lx-world main,
body.lx-world .content,
body.lx-world .container,
body.lx-world .container-fluid,
body.lx-world .lp,
body.lx-world .landing-page,
body.lx-world .ln-page {
    background: #F7F6F3 !important;
    background-color: #F7F6F3 !important;
    color: #2E2E2E !important;
}

body.lx-world h1,
body.lx-world h2,
body.lx-world h3,
body.lx-world h4,
body.lx-world h5,
body.lx-world h6,
body.lx-world strong,
body.lx-world .lexion-word,
body.lx-world .text-dark,
body.lx-world .modal-title,
body.lx-world .dropdown-item,
body.lx-world .table th,
body.lx-world .table td {
    color: #2E2E2E !important;
    text-shadow: none !important;
}

body.lx-world p,
body.lx-world li,
body.lx-world label,
body.lx-world small,
body.lx-world .small,
body.lx-world .text-muted,
body.lx-world .form-text,
body.lx-world .lead,
body.lx-world .sub,
body.lx-world [class*="muted"],
body.lx-world [class*="subtitle"],
body.lx-world [class*="description"],
body.lx-world [class*="caption"],
body.lx-world [class*="meta"] {
    color: #8E8E8E !important;
    text-shadow: none !important;
}

body.lx-world a,
body.lx-world .btn-link,
body.lx-world .nav-link,
body.lx-world [class*="link"] {
    color: #2E2E2E !important;
}

/* 上の [class*="link"] は "lex-rail-link" まで誤爆する。レールは濃色クロム
   (#23221F)上にあるため暗文字#2E2E2Eだとアイコンが不可視化する。本ファイルは
   quiet-theme/lexion-world より後に読まれ同詳細度で勝ってしまうので、ここで
   レール用の明色を再宣言して戻す。 */
body.lx-world .lex-rail-link,
body.lx-world .lex-rail-link i,
body.lx-world .lex-rail-link .bi {
    color: #D8D2C5 !important;
}

body.lx-world .lex-rail-link:hover,
body.lx-world .lex-rail-link:focus-visible,
body.lx-world .lex-rail-link.active,
body.lx-world .lex-rail-link.is-active,
body.lx-world .lex-rail-link:hover i,
body.lx-world .lex-rail-link.active i,
body.lx-world .lex-rail-link.is-active i {
    color: #F6F1E8 !important;
}

body.lx-world .card,
body.lx-world .modal-content,
body.lx-world .dropdown-menu,
body.lx-world .list-group-item,
body.lx-world .table,
body.lx-world .section-soft,
body.lx-world [class*="card"],
body.lx-world [class*="panel"],
body.lx-world [class*="section"],
body.lx-world [class*="surface"],
body.lx-world [class*="window"],
body.lx-world [class*="banner"],
body.lx-world [class*="hero"],
body.lx-world [class*="shell"],
body.lx-world [class*="toolbar"],
body.lx-world [class*="drawer"],
body.lx-world [class*="modal"] {
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    text-shadow: none !important;
}

body.lx-world .card,
body.lx-world .modal-content,
body.lx-world .dropdown-menu,
body.lx-world .list-group-item,
body.lx-world .section-soft,
body.lx-world [class*="card"],
body.lx-world [class*="panel"],
body.lx-world [class*="window"],
body.lx-world [class*="surface"],
body.lx-world [class*="modal"] {
    background: #F7F6F3 !important;
    background-color: #F7F6F3 !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

body.lx-world .btn,
body.lx-world button,
body.lx-world input,
body.lx-world select,
body.lx-world textarea,
body.lx-world .form-control,
body.lx-world .form-select {
    border-color: #D6D2C6 !important;
    box-shadow: none !important;
}

/* 文字色は入力系のみ強制（ボタンは各自の色＝濃色背景ボタンの白文字を保つ）。
   以前は button にも color:#2E2E2E を当てており、--lx-green が charcoal に
   再マップされた濃色ボタン上で「暗背景×暗文字」になり不可視化していた。 */
body.lx-world input,
body.lx-world select,
body.lx-world textarea,
body.lx-world .form-control,
body.lx-world .form-select {
    color: #2E2E2E !important;
    background-color: #F7F6F3 !important;
}

body.lx-world input:focus,
body.lx-world select:focus,
body.lx-world textarea:focus,
body.lx-world .form-control:focus,
body.lx-world .form-select:focus {
    border-color: #2E2E2E !important;
    box-shadow: 0 0 0 3px rgba(46, 46, 46, 0.12) !important;
}

body.lx-world .btn-primary,
body.lx-world .btn-success,
body.lx-world .btn-warning,
body.lx-world .btn-danger,
body.lx-world .btn-dark,
body.lx-world .bg-primary,
body.lx-world .bg-success,
body.lx-world .bg-warning,
body.lx-world .bg-danger,
body.lx-world .bg-dark,
body.lx-world button[class*="cta"],
body.lx-world a[class*="cta"],
body.lx-world .btn[class*="cta"],
body.lx-world button[class*="primary"],
body.lx-world a[class*="primary"],
body.lx-world .btn[class*="primary"],
body.lx-world button[class*="submit"],
body.lx-world a[class*="submit"],
body.lx-world .btn[class*="submit"],
body.lx-world button[class*="action"],
body.lx-world a[class*="action"],
body.lx-world .btn[class*="action"] {
    background: #2E2E2E !important;
    background-color: #2E2E2E !important;
    border-color: #2E2E2E !important;
    color: #F7F6F3 !important;
    box-shadow: 0 12px 26px rgba(46, 46, 46, 0.18) !important;
}

body.lx-world .btn-outline-primary,
body.lx-world .btn-outline-secondary,
body.lx-world .btn-light,
body.lx-world .btn-secondary,
body.lx-world button[class*="ghost"],
body.lx-world a[class*="ghost"],
body.lx-world .btn[class*="ghost"],
body.lx-world button[class*="secondary"],
body.lx-world a[class*="secondary"],
body.lx-world .btn[class*="secondary"] {
    background: #E9E7E2 !important;
    background-color: #E9E7E2 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: none !important;
}

body.lx-world .alert,
body.lx-world .badge,
body.lx-world [class*="badge"],
body.lx-world [class*="chip"],
body.lx-world [class*="pill"],
body.lx-world [class*="tag"],
body.lx-world [class*="status"] {
    background: #E9E7E2 !important;
    background-color: #E9E7E2 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
}

body.lx-world .progress,
body.lx-world [class*="track"] {
    background: #E9E7E2 !important;
    background-color: #E9E7E2 !important;
}

body.lx-world .progress-bar,
body.lx-world [class*="fill"],
body.lx-world [class*="bar-value"],
body.lx-world [class*="dot"],
body.lx-world [class*="marker"],
body.lx-world [class*="indicator"] {
    background: #B8B2A4 !important;
    background-color: #B8B2A4 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
}

/* ============================================================
   文字・アイコンに四角/丸の「囲い背景」が付く誤爆の解消
   ------------------------------------------------------------
   上の広域ルール群([class*="card"] 等)は、クラス名に該当文字を“含むだけ”の
   子要素まで塗ってしまう。例:
     - lx-wordcard-word / -meaning / -pos / -date は "card" を含むため
       [class*="card"] が #F7F6F3 を塗り、テキストの後ろに四角い箱が出る。
     - vocab-row-action / diary-icon-action は "action" を含むため
       button[class*="action"] が #2E2E2E を塗り、アイコンが黒い四角/丸になる。
   いずれも本ファイルが最後に読まれ同詳細度で勝つのが原因。容器より高い詳細度で
   “文字要素・アイコンボタン”だけ地色を透明に戻す(ドット/バッジ等の正規
   インジケータは :not で除外)。 */
body.lx-world :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,time,label,dt,dd,a,figcaption)[class*="card"]:not([class*="dot"]):not([class*="badge"]):not([class*="chip"]):not([class*="pill"]):not([class*="tag"]):not([class*="status"]) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* 面の“内部パーツ”は背景も影も持たない。
   ------------------------------------------------------------
   広域ルール([class*="card"] / "panel" / "surface" 等)は、地色だけでなく
   影(box-shadow)も塗る。そのため面(.lx-wordcard)の内部にある
   .lx-wordcard-main / -meta / -actions のような“card を含むだけ”の要素にも
   カード影が乗り、テキストの背後に浮いた四角(ハイライトの箱)が出る。
   内部パーツはクラス名が「面名+ハイフン+部位名」(例: wordcard-main)になるため、
   `[class*="card-"]` 等のハイフン付きで内部パーツだけを拾い(面の本体
   .lx-wordcard やグリッド .vocab-cards は対象外)、地色と影を打ち消して
   フラットに戻す。ただし BEM の修飾子はダブルハイフン(例: lx-wordcard--unsorted)で
   面の本体に付くため、`[class*="--"]` を除外して本体カードを守る
   (ドット/バッジ等の正規インジケータも :not で除外)。 */
body.lx-world :is(div,section,article,header,footer,ul,ol,li,h1,h2,h3,h4,h5,h6,p,span,small,strong,em,time,label,dt,dd,a,figcaption):is([class*="card-"],[class*="panel-"],[class*="surface-"],[class*="window-"],[class*="hero-"],[class*="shell-"],[class*="banner-"],[class*="drawer-"]):not([class*="--"]):not([class*="dot"]):not([class*="badge"]):not([class*="chip"]):not([class*="pill"]):not([class*="tag"]):not([class*="status"]) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* アイコンのみのアクションボタンは塗りつぶしCTAではない。透明地に戻す
   (hover/active/選択状態の見た目は各コンポーネントCSSが上書きする)。 */
body.lx-world button.vocab-row-action,
body.lx-world button.diary-icon-action,
body.lx-world label.diary-icon-action,
body.lx-world a.diary-icon-action,
body.lx-world button[class*="icon-action"],
body.lx-world label[class*="icon-action"],
body.lx-world button[class*="action-icon"] {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: #2E2E2E !important;
    box-shadow: none !important;
}

body.lx-world svg,
body.lx-world svg *,
body.lx-world .bi,
body.lx-world i {
    color: currentColor;
}

body.lx-world img[class*="icon"],
body.lx-world .coach-title-icon,
body.lx-world .today-mission-icon img,
body.lx-world .today-mission-state img {
    filter: grayscale(1) contrast(0.9) brightness(0.72) !important;
}

/* Landing pages */
body.lx-world .lp *,
body.lx-world [class^="lp-"],
body.lx-world [class*=" lp-"],
body.lx-world [class^="ln-"],
body.lx-world [class*=" ln-"] {
    text-shadow: none !important;
}

body.lx-world .lp-hero,
body.lx-world .lp-final,
body.lx-world .lp-origin-story,
body.lx-world .lp-promo-card,
body.lx-world .lp-card,
body.lx-world .ln-section,
body.lx-world .ln-card,
body.lx-world .ln-panel {
    background: #F7F6F3 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

body.lx-world .lp-nav,
body.lx-world .ln-nav {
    background: rgba(247, 246, 243, 0.94) !important;
    border-color: #D6D2C6 !important;
}

body.lx-world .lp-btn-primary,
body.lx-world .ln-btn-brass,
body.lx-world .ln-btn-night,
body.lx-world .ln-nav-cta {
    background: #2E2E2E !important;
    border-color: #2E2E2E !important;
    color: #F7F6F3 !important;
}

/* Diary, prompt, writing, and speaking surfaces */
body.lx-world .diary-workspace,
body.lx-world .diary-writing-card,
body.lx-world .diary-prompt-banner,
body.lx-world .diary-auto-vocab-card,
body.lx-world .correction-text-panel,
body.lx-world .correction-text-panel-ai,
body.lx-world .sp-screen,
body.lx-world .sp-modal,
body.lx-world .sp-score-area,
body.lx-world .sp-bottom,
body.lx-world .prompt-tool,
body.lx-world .prompt-card {
    background: #F7F6F3 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

body.lx-world .result-heading,
body.lx-world .result-heading-primary,
body.lx-world .result-heading-cefr,
body.lx-world .result-heading-feedback,
body.lx-world .result-heading-explanation,
body.lx-world .result-heading-reply,
body.lx-world .diary-page-kicker,
body.lx-world .diary-first-run-kicker,
body.lx-world .diary-next-action-kicker,
body.lx-world .correction-takeaway__kicker {
    background: #E9E7E2 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
}

/* Vocabulary and collection shelves */
body.lx-world .catalog-sidebar,
body.lx-world .catalog-toolbar,
body.lx-world .vocab-library,
body.lx-world .shelf-hero,
body.lx-world .shelf-detail,
body.lx-world .shelf-stats,
body.lx-world .lx-wordcard,
body.lx-world .extract-hero,
body.lx-world .result-panel,
body.lx-world .collection-room,
body.lx-world .bookshelf-frame,
body.lx-world .shelf-back,
body.lx-world .selected-cover {
    background: #F7F6F3 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

body.lx-world .shelf-book,
body.lx-world .shelf-book--green,
body.lx-world .shelf-book--beige,
body.lx-world .shelf-book--gray,
body.lx-world .shelf-book--sage,
body.lx-world .shelf-book--blush,
body.lx-world .shelf-book--blue,
body.lx-world .shelf-book--lavender,
body.lx-world .shelf-book--cream,
body.lx-world .shelf-book--sky,
body.lx-world .month-book,
body.lx-world [class*="book-tone"],
body.lx-world .word-book,
body.lx-world .lex-spine {
    background: linear-gradient(100deg, #E9E7E2 0%, #D6D2C6 100%) !important;
    border-color: #B8B2A4 !important;
    color: #2E2E2E !important;
    text-shadow: none !important;
    box-shadow:
        inset 3px 0 rgba(247, 246, 243, 0.58),
        inset -3px 0 rgba(46, 46, 46, 0.07),
        2px 3px 8px rgba(46, 46, 46, 0.12) !important;
}

body.lx-world .wood-shelf,
body.lx-world .shelf-plank,
body.lx-world .lex-shelf-books {
    background: linear-gradient(180deg, #D6D2C6, #B8B2A4) !important;
    border-color: #B8B2A4 !important;
    box-shadow: 0 8px 18px rgba(46, 46, 46, 0.11) !important;
}

body.lx-world .lx-wordcard-bookmark,
body.lx-world .mobile-dot--unsorted,
body.lx-world .mobile-dot--reread,
body.lx-world .mobile-dot--settled,
body.lx-world .sidebar-dot--unsorted,
body.lx-world .sidebar-dot--reread,
body.lx-world .sidebar-dot--settled {
    background: #B8B2A4 !important;
}

/* Billing, profile, growth, ranking, and utility pages */
body.lx-world .pricing-card,
body.lx-world .membership-card,
body.lx-world .billing-shell,
body.lx-world .pf-hero-banner,
body.lx-world .pf-upgrade-banner,
body.lx-world .growth-page,
body.lx-world .growth-card,
body.lx-world .growth-panel,
body.lx-world .growth-window,
body.lx-world .ranking-card,
body.lx-world .snap-result-card,
body.lx-world .discovery-page,
body.lx-world .discovery-search,
body.lx-world .starter-panel,
body.lx-world .saved-groups,
body.lx-world .discovery-result,
body.lx-world .candidate-card,
body.lx-world .source-group-card {
    background: #F7F6F3 !important;
    border-color: #D6D2C6 !important;
    color: #2E2E2E !important;
    box-shadow: 0 12px 34px rgba(46, 46, 46, 0.075) !important;
}

/* Inline style cleanup for legacy color remnants. */
body.lx-world [style*="background:"],
body.lx-world [style*="background-color:"],
body.lx-world [style*="linear-gradient"],
body.lx-world [style*="radial-gradient"] {
    background-color: #F7F6F3 !important;
}

body.lx-world [style*="color:"] {
    color: #2E2E2E !important;
}

body.lx-world [style*="border-color:"] {
    border-color: #D6D2C6 !important;
}

/* 日記コンテンツの外枠。旧ダーク木目テーマでは周囲が暗かったため
   lexion-world.css がモバイルで .content--diary を #21170f（焦げ茶）にして
   ワークスペースと一体化させていた。ミニマルなライトテーマでは逆に暗い枠が
   カードの隙間から透けて「背景が黒い」違和感になるため、地色に戻す。
   lexion-world の .content.content--diary と同詳細度＋後読みで上書きする。 */
body.lx-world .page:not(.page--landing) .content.content--diary {
    background: #F7F6F3 !important;
}
