/*# source: assets/css/design-system/moss-design-system.css */
@layer moss-v2-tokens, moss-v2-components, moss-v2-utilities;

@layer moss-v2-tokens {
  :root {
    --moss-v2-bg: #f1f3f5;
    --moss-v2-surface: #ffffff;
    --moss-v2-surface-soft: #eceff1;
    --moss-v2-surface-strong: #1d2025;
    --moss-v2-text: #303740;
    --moss-v2-text-secondary: #737f8c;
    --moss-v2-text-tertiary: #a0a8b1;
    --moss-v2-border: rgba(42, 50, 58, 0.09);
    --moss-v2-divider: rgba(42, 50, 58, 0.075);
    --moss-v2-danger: #bc5151;
    --moss-v2-success: #657c69;

    --moss-v2-space-1: 4px;
    --moss-v2-space-2: 8px;
    --moss-v2-space-3: 12px;
    --moss-v2-space-4: 16px;
    --moss-v2-space-5: 20px;
    --moss-v2-space-6: 24px;
    --moss-v2-space-8: 32px;
    --moss-v2-space-10: 40px;

    --moss-v2-radius-sm: 10px;
    --moss-v2-radius-control: 14px;
    --moss-v2-radius-card: 22px;
    --moss-v2-radius-sheet: 28px;
    --moss-v2-radius-round: 999px;

    --moss-v2-text-caption: 11px;
    --moss-v2-text-small: 13px;
    --moss-v2-text-body: 15px;
    --moss-v2-text-heading: 18px;
    --moss-v2-text-title: 26px;
    --moss-v2-text-display: 30px;

    --moss-v2-shadow-raised: 0 2px 4px rgba(26, 32, 38, 0.03), 0 10px 28px rgba(26, 32, 38, 0.055);
    --moss-v2-shadow-floating: 0 14px 40px rgba(26, 32, 38, 0.10);
    --moss-v2-shadow-modal: 0 24px 60px rgba(26, 32, 38, 0.20);

    --moss-v2-page-x: 18px;
    --moss-v2-topbar-height: 56px;
    --moss-v2-motion-fast: 160ms;
    --moss-v2-motion-normal: 220ms;
    --moss-v2-ease: cubic-bezier(.2, .72, .28, 1);
  }

  html[data-ui-mode="dark"],
  body.dark-mode {
    --moss-v2-bg: #101113;
    --moss-v2-surface: #191a1d;
    --moss-v2-surface-soft: #222327;
    --moss-v2-surface-strong: #f4f4f2;
    --moss-v2-text: #f3f3f1;
    --moss-v2-text-secondary: #a4a5aa;
    --moss-v2-text-tertiary: #73757b;
    --moss-v2-border: rgba(255, 255, 255, 0.08);
    --moss-v2-divider: rgba(255, 255, 255, 0.065);
    --moss-v2-shadow-raised: 0 2px 4px rgba(0, 0, 0, 0.18), 0 12px 30px rgba(0, 0, 0, 0.22);
    --moss-v2-shadow-floating: 0 18px 48px rgba(0, 0, 0, 0.34);
    --moss-v2-shadow-modal: 0 28px 72px rgba(0, 0, 0, 0.46);
  }
}

@layer moss-v2-components {
  .moss-v2-app-shell,
  .moss-v2-app-shell *,
  .moss-v2-app-shell *::before,
  .moss-v2-app-shell *::after {
    box-sizing: border-box;
  }

  .moss-v2-app-shell {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    color: var(--moss-v2-text);
    background: var(--moss-v2-bg);
    font-size: var(--moss-v2-text-body);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .moss-v2-topbar {
    min-width: 0;
    min-height: calc(var(--moss-v2-topbar-height) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) var(--moss-v2-space-3) 0;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--moss-v2-space-2);
    border-bottom: 1px solid var(--moss-v2-divider);
    background: color-mix(in srgb, var(--moss-v2-surface) 94%, transparent);
  }

  .moss-v2-topbar-copy {
    min-width: 0;
    display: grid;
    justify-items: center;
    line-height: 1.18;
  }

  .moss-v2-topbar-copy strong,
  .moss-v2-topbar-copy small {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .moss-v2-topbar-copy strong { font-size: 17px; font-weight: 700; }
  .moss-v2-topbar-copy small { margin-top: 3px; color: var(--moss-v2-text-secondary); font-size: var(--moss-v2-text-caption); }
  .moss-v2-topbar-actions { min-width: 40px; display: flex; justify-content: flex-end; gap: var(--moss-v2-space-1); }

  .moss-v2-icon-button {
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--moss-v2-radius-control);
    color: var(--moss-v2-text);
    background: transparent;
    font: inherit;
    cursor: pointer;
    transition: transform var(--moss-v2-motion-fast) var(--moss-v2-ease), background var(--moss-v2-motion-fast) ease;
    -webkit-tap-highlight-color: transparent;
  }

  .moss-v2-icon-button:active { transform: scale(.94); background: var(--moss-v2-surface-soft); }
  .moss-v2-back span { font-size: 34px; font-weight: 300; line-height: 1; transform: translateY(-1px); }

  .moss-v2-scroll {
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .moss-v2-scroll::-webkit-scrollbar { display: none; }

  .moss-v2-page-content {
    width: min(100%, 720px);
    margin-inline: auto;
    padding: var(--moss-v2-space-5) var(--moss-v2-page-x) calc(var(--moss-v2-space-8) + env(safe-area-inset-bottom));
  }

  .moss-v2-system-hero {
    width: min(100%, 720px);
    margin-inline: auto;
    padding: var(--moss-v2-space-8) var(--moss-v2-page-x) var(--moss-v2-space-6);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--moss-v2-space-4);
    border-bottom: 1px solid var(--moss-v2-divider);
  }

  .moss-v2-system-hero-copy { min-width: 0; }
  .moss-v2-eyebrow { display: block; color: var(--moss-v2-text-secondary); font-size: var(--moss-v2-text-caption); font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
  .moss-v2-system-hero h1 { margin: 10px 0 0; font-size: clamp(26px, 7vw, 34px); font-weight: 760; line-height: 1.08; letter-spacing: -.035em; }
  .moss-v2-system-hero p { margin: 14px 0 0; max-width: 34em; color: var(--moss-v2-text-secondary); font-size: var(--moss-v2-text-body); line-height: 1.65; overflow-wrap: anywhere; }

  .moss-v2-version-badge,
  .moss-v2-status-badge {
    max-width: 100%;
    border: 1px solid var(--moss-v2-border);
    border-radius: var(--moss-v2-radius-round);
    color: var(--moss-v2-text-secondary);
    background: color-mix(in srgb, var(--moss-v2-surface) 90%, transparent);
    white-space: nowrap;
  }

  .moss-v2-version-badge { padding: 9px 13px; font-size: var(--moss-v2-text-small); font-weight: 700; box-shadow: var(--moss-v2-shadow-raised); }
  .moss-v2-status-badge { padding: 5px 9px; font-size: var(--moss-v2-text-caption); font-weight: 700; }

  .moss-v2-section-header {
    margin: var(--moss-v2-space-8) 8px var(--moss-v2-space-3);
    min-width: 0;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--moss-v2-space-3);
  }

  .moss-v2-section-header > div { min-width: 0; }
  .moss-v2-section-header h2 { margin: 7px 0 0; font-size: var(--moss-v2-text-heading); line-height: 1.2; }

  .moss-v2-list-group {
    overflow: hidden;
    border: 1px solid var(--moss-v2-border);
    border-radius: var(--moss-v2-radius-card);
    background: var(--moss-v2-surface);
    box-shadow: var(--moss-v2-shadow-raised);
  }

  .moss-v2-list-row {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 76px;
    padding: var(--moss-v2-space-3) var(--moss-v2-space-4);
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--moss-v2-space-3);
    border: 0;
    color: var(--moss-v2-text);
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .moss-v2-list-row + .moss-v2-list-row::before {
    content: "";
    position: absolute;
    top: 0;
    left: 76px;
    right: var(--moss-v2-space-4);
    height: 1px;
    background: var(--moss-v2-divider);
  }

  .moss-v2-list-row:active { background: var(--moss-v2-surface-soft); }

  .moss-v2-list-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--moss-v2-border);
    border-radius: var(--moss-v2-radius-control);
    color: var(--moss-v2-text-secondary);
    background: color-mix(in srgb, var(--moss-v2-surface-soft) 62%, var(--moss-v2-surface));
  }

  .moss-v2-list-icon > svg { width: 23px; height: 23px; }
  .moss-v2-list-copy { min-width: 0; display: grid; gap: 4px; }
  .moss-v2-list-copy strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 16px; font-weight: 700; }
  .moss-v2-list-copy small { min-width: 0; color: var(--moss-v2-text-secondary); font-size: var(--moss-v2-text-small); line-height: 1.35; overflow-wrap: anywhere; }
  .moss-v2-chevron { color: var(--moss-v2-text-tertiary); font-size: 28px; font-weight: 300; line-height: 1; }

  .moss-v2-state {
    min-height: 210px;
    padding: var(--moss-v2-space-8) var(--moss-v2-space-5);
    display: grid;
    place-content: center;
    justify-items: center;
    text-align: center;
  }

  .moss-v2-state strong { font-size: var(--moss-v2-text-heading); }
  .moss-v2-state p { max-width: 30em; margin: 9px 0 0; color: var(--moss-v2-text-secondary); overflow-wrap: anywhere; }

  .moss-v2-primary-button,
  .moss-v2-secondary-button {
    min-height: 46px;
    max-width: 100%;
    padding: 0 var(--moss-v2-space-5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--moss-v2-space-2);
    border-radius: var(--moss-v2-radius-control);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .moss-v2-primary-button { border: 1px solid transparent; color: var(--moss-v2-surface); background: var(--moss-v2-surface-strong); }
  .moss-v2-secondary-button { border: 1px solid var(--moss-v2-border); color: var(--moss-v2-text); background: var(--moss-v2-surface-soft); }

  .moss-v2-row,
  .moss-v2-grid { min-width: 0; }
  .moss-v2-row > *,
  .moss-v2-grid > * { min-width: 0; min-height: 0; }
  .moss-v2-grid { display: grid; gap: var(--moss-v2-space-3); }
  .moss-v2-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  @media (max-width: 360px) {
    .moss-v2-system-hero { grid-template-columns: minmax(0, 1fr); }
    .moss-v2-version-badge { justify-self: start; }
    .moss-v2-list-row { grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 70px; padding-inline: 13px; gap: 10px; }
    .moss-v2-list-icon { width: 42px; height: 42px; }
    .moss-v2-list-row + .moss-v2-list-row::before { left: 65px; }
    .moss-v2-status-badge { grid-column: 2; justify-self: start; }
    .moss-v2-grid-2 { grid-template-columns: 1fr; }
  }
}

@layer moss-v2-utilities {
  .moss-v2-one-line { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .moss-v2-wrap { overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap; }
  .moss-v2-clamp-2 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .moss-v2-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}

/*# source: assets/css/foundation/base.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
:root {color-scheme: dark;
  --text: #f8f9fb;
  --muted: rgba(248, 249, 251, 0.72);
  --line: rgba(255, 255, 255, 0.17);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --app-height: var(--moss-root-height, 100dvh);
  --app-font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;
  --widget-text-color: #f8f9fb;
  --widget-glass-color: rgba(255, 255, 255, 0.18);
  font-family: var(--app-font-family);}

html,
body {width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: manipulation;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 205, 99, 0.75), transparent 28%),
    radial-gradient(circle at 82% 22%, rgba(77, 192, 255, 0.8), transparent 26%),
    linear-gradient(145deg, #111318 0%, #2a2431 42%, #202f38 100%);
  color: var(--text);
  font-family: var(--app-font-family);}

body {position: fixed;
  inset: 0;
  width: 100vw;
  height: var(--app-height);}

:root {color-scheme: dark;
  --glass: rgba(255, 255, 255, 0.16);
  --glass-strong: rgba(255, 255, 255, 0.25);
  --text: #f8f9fb;
  --muted: rgba(248, 249, 251, 0.72);
  --ink: #17181c;
  --line: rgba(255, 255, 255, 0.17);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --app-height: var(--moss-root-height, 100dvh);
  --standalone-full-height: var(--moss-root-height, 100dvh);
  --app-font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;
  --global-font-size: 16px;
  --app-font-color: #17181c;
  --widget-text-color: #f8f9fb;
  --widget-glass-color: rgba(255, 255, 255, 0.18);
  font-family: var(--app-font-family);}

html,
body {width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: manipulation;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 205, 99, 0.75), transparent 28%),
    radial-gradient(circle at 82% 22%, rgba(77, 192, 255, 0.8), transparent 26%),
    linear-gradient(145deg, #111318 0%, #2a2431 42%, #202f38 100%);
  color: var(--app-font-color);
  font-size: var(--global-font-size);
  font-family: var(--app-font-family);}

body {position: fixed;
  inset: 0;
  width: 100vw;
  height: var(--app-height);
  min-height: var(--app-height);}

:root {--longform-dialogue-text: #2c6f9f;
  --longform-dialogue-line: rgba(44, 111, 159, 0.58);}

:root {--page-bg: #141416;
  --phone-bg: #1f1f22;
  --surface: rgba(255, 255, 255, 0.055);
  --surface-strong: rgba(255, 255, 255, 0.09);
  --skin-border: rgba(255, 255, 255, 0.1);
  --skin-accent: #d4a96a;
  --skin-accent-2: #8e86d6;
  --skin-text: #ededef;
  --skin-muted: #9a9aa0;
  --skin-shadow: 0 12px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --skin-home: radial-gradient(ellipse 80% 50% at 30% 8%, rgba(142, 134, 214, 0.13), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(212, 169, 106, 0.09), transparent 55%),
    #1f1f22;}

html,
body {background: var(--page-bg);}

html,
body {background: var(--page-bg) !important;}

html,
body {width: 100vw !important;
  max-width: none !important;
  height: var(--app-height) !important;
  min-height: var(--app-height) !important;
  margin: 0 !important;}

body {overflow: hidden !important;
  background: var(--phone-bg) !important;}

html,
body {max-width: 100vw !important;
  overflow-x: hidden !important;}

@media (display-mode: standalone) {
html,
body {height: var(--standalone-full-height) !important;
    min-height: var(--standalone-full-height) !important;}
body {background-color: var(--phone-bg) !important;}
}

body.pwa-standalone,
body.pwa-standalone .device-shell,
body.pwa-standalone .phone,
body.pwa-standalone .screen {height: var(--standalone-full-height) !important;
  min-height: var(--standalone-full-height) !important;}

body.pwa-standalone {background: var(--phone-bg) !important;}

:root {--skin-radius-xs: 12px;
  --skin-radius-sm: 16px;
  --skin-radius-md: 20px;
  --skin-radius-lg: 26px;
  --skin-shadow-soft: 0 10px 30px color-mix(in srgb, var(--skin-text, #2a2119) 10%, transparent);
  --skin-shadow-float: 0 18px 46px color-mix(in srgb, var(--skin-text, #2a2119) 16%, transparent);
  --skin-home: linear-gradient(180deg, #f5ecdc 0%, #eadbc5 100%);
  --phone-bg: #f4ecdf;
  --surface: #fbf4e9;
  --surface-strong: #fffaf1;
  --skin-text: #2c241d;
  --skin-title: #1f1a16;
  --skin-muted: #7a6d60;
  --skin-border: rgba(124, 92, 54, 0.18);
  --skin-accent: #b17a36;
  --skin-accent-2: #8f642d;}

body {background: var(--skin-home) !important;}

:root {--skin-radius-xs: 10px;
  --skin-radius-sm: 14px;
  --skin-radius-md: 20px;
  --skin-radius-lg: 26px;
  --skin-radius-xl: 32px;
  --skin-control-height: 42px;
  --skin-gap: 12px;
  --browser-bottom-reserve: 74px;}

body {background: var(--page-bg) !important;}

body:not(.pwa-standalone) .chat-extra-panel {bottom: calc(64px + var(--browser-bottom-reserve)) !important;}

@media (min-width: 720px) {
:root {--browser-bottom-reserve: 0px;}
}

:root {--skin-radius-xs: 10px;
  --skin-radius-sm: 14px;
  --skin-radius-md: 18px;
  --skin-radius-lg: 24px;
  --skin-radius-xl: 30px;
  --skin-control-height: 42px;
  --skin-control-font: 14px;
  --skin-card-gap: 12px;
  --skin-page-pad: 12px;
  --skin-icon-radius: 18px;
  --skin-shadow-soft: 0 10px 28px rgba(75, 53, 30, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.62);
  --skin-shadow-float: 0 18px 46px rgba(75, 53, 30, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.66);
  --browser-bottom-reserve: 118px;}

body.pwa-standalone {--browser-bottom-reserve: 0px;}

body {background-color: var(--page-bg) !important;}

body:not(.pwa-standalone) .chat-extra-panel {bottom: 72px !important;}

@media (max-width: 380px) {
:root {--skin-page-pad: 10px;
    --skin-control-height: 40px;
    --browser-bottom-reserve: 110px;}
}

@media (display-mode: standalone), (min-width: 720px) {
}

:root {--browser-bottom-reserve: 28px;
  --home-widget-bg: rgba(255, 248, 237, 0.34);}

@media (max-width: 380px) {
:root {--browser-bottom-reserve: 24px;}
}

@media (display-mode: standalone), (min-width: 720px) {
:root {--browser-bottom-reserve: 0px;}
}

body.light .message-action-menu {background: rgba(255, 255, 255, 0.94) !important;
  color: #17181c !important;}

body.light .message-action-menu button {color: #17181c !important;
  background: rgba(17, 19, 24, 0.08) !important;}

body.light .message-action-menu button:hover {background: rgba(17, 19, 24, 0.14) !important;}

:root {--keyboard-inset: 0px;
  --visible-height: 100dvh;
  --home-font-color: var(--app-font-color, var(--skin-text));
  --dock-text: var(--home-font-color);
  --card-text: var(--skin-text);
  --wallet-number-color: #ffffff;}

:root {--diary-ink: #3a2e22;
  --diary-ink-soft: #6f5f4c;
  --diary-rule: rgba(72, 96, 138, 0.18);
  --diary-margin: rgba(206, 92, 86, 0.55);
  --diary-paper-a: #fdf8ec;
  --diary-paper-b: #f6edd6;
  --diary-hand: "Kaiti SC", "STKaiti", "Kaiti TC", KaiTi, "楷体", "楷体_GB2312", "Songti SC", "宋体", ui-serif, Georgia, serif;}

body.dark .chat-quote-draft {color: rgba(238, 241, 247, 0.58);
  background: rgba(255, 255, 255, 0.08);}

body.dark .chat-sent-quote,
body.dark .chat-withdrawn-notice {color: rgba(238, 241, 247, 0.52);}

:root {--ed-bg: #edf2ef;
  --ed-surface: #fbfcfb;
  --ed-surface-strong: #ffffff;
  --ed-text: #28342e;
  --ed-muted: #6f7e76;
  --ed-line: rgba(58, 77, 67, 0.14);
  --ed-accent: #4f7163;
  --ed-accent-2: #7d6f57;
  --ed-accent-soft: #e3ece7;
  --ed-shadow: 0 10px 36px rgba(40, 52, 46, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  --ed-home:
    radial-gradient(ellipse 80% 50% at 30% 8%, rgba(79, 113, 99, 0.07), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(82, 109, 128, 0.07), transparent 55%),
    #edf2ef;}

:root {--ed-accent: #5b89bc;        
  --ed-accent-soft: #e8eff8;   
  --ed-accent-2: #6c7985;}

:root {--ed-accent: #6090c4;        
  --ed-accent-soft: #eaf1fa;   
  --ed-accent-2: #6c7985;}

:root {--diary-leather: #3b2115;
  --diary-leather-2: #744629;
  --diary-paper-soft: #f8edda;
  --diary-paper-ink: #463124;
  --diary-gold: #d7b16a;
  --dream-black: #020407;
  --dream-charcoal: #111318;
  --dream-line: rgba(255,255,255,.16);}

:root {--android-pwa-topbar-reserve: calc(72px + env(safe-area-inset-top, 0px));}

body.pwa-standalone .chat-layout.chat-plus-open {grid-template-rows: auto minmax(0, 1fr) auto !important;}

body.pwa-standalone .chat-layout.chat-plus-open .messages {padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  scroll-padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;}

body.pwa-standalone .chat-layout.chat-plus-open .chat-extra-panel.plus-grid {bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
  max-height: min(38vh, 292px) !important;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;}

body.pwa-standalone .chat-layout .chat-extra-panel,
body.pwa-standalone .chat-extra-panel.plus-grid {bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  max-height: min(42vh, 330px) !important;
  padding-bottom: max(14px, env(safe-area-inset-bottom, 0px)) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-content: start !important;
  overscroll-behavior: contain;}

body.pwa-standalone .chat-extra-panel .plus-action-button,
body.pwa-standalone .chat-extra-panel.plus-grid button {min-height: 78px !important;}

body:not(:has(#voiceCaptureOverlay)) .chat-layout.chat-voice-open {grid-template-rows: auto minmax(0, 1fr) auto !important;}

html:not(.pwa-standalone),
html:not(.pwa-standalone) body {overflow: auto !important;
  overscroll-behavior-y: auto !important;
  touch-action: auto !important;}

body:not(.pwa-standalone) {position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 100% !important;
  height: auto !important;}

html:not(.pwa-standalone) .device-shell {min-height: var(--app-height, 100dvh) !important;}

:root {--ios-pwa-bottom-guard: 0px;
  --android-pwa-bottom-guard: 0px;
  --moss-viewport-height: var(--moss-root-height, 100dvh);}

html,
body {width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--page-bg, var(--phone-bg, #101216)) !important;}

html {height: 100%;}

body {min-height: 100% !important;
  -webkit-text-size-adjust: 100%;}

@media (display-mode: standalone) {
:root {--app-height: var(--moss-root-height, 100dvh);
    --standalone-full-height: var(--moss-root-height, 100dvh);
    --moss-viewport-height: var(--moss-root-height, 100dvh);
    --ios-pwa-bottom-guard: 0px;
    --android-pwa-bottom-guard: 0px;
    --safe-bottom: env(safe-area-inset-bottom, 0px);}
html,
body {height: var(--moss-root-height, 100dvh) !important;
    min-height: var(--moss-root-height, 100dvh) !important;
    max-height: var(--moss-root-height, 100dvh) !important;}
html,
body {overflow: hidden !important;}
body {position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    background: var(--phone-bg, #101216) !important;
    overscroll-behavior: none !important;}
}

html.pwa-standalone,
html.pwa-standalone body,
body.pwa-standalone {overflow: hidden !important;}

body.pwa-standalone {position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: var(--moss-root-height, 100dvh) !important;
  min-height: var(--moss-root-height, 100dvh) !important;
  max-height: var(--moss-root-height, 100dvh) !important;
  overscroll-behavior: none !important;
  background: var(--phone-bg, #101216) !important;}

body.pwa-standalone .device-shell,
body.pwa-standalone .phone,
body.pwa-standalone .screen {height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;}

html.ios-pwa-standalone {--app-height: var(--moss-root-height);
  --standalone-full-height: var(--moss-root-height);
  --moss-viewport-height: var(--moss-root-height);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);}

html.ios-pwa-standalone body,
html.ios-pwa-standalone .device-shell,
html.ios-pwa-standalone .phone,
html.ios-pwa-standalone .screen {background: var(--phone-bg, #101216) !important;}

html.android-pwa-standalone {--safe-bottom: env(safe-area-inset-bottom, 0px);}

html.android-pwa-standalone,
html.android-pwa-standalone body,
html.android-pwa-standalone .device-shell,
html.android-pwa-standalone .phone,
html.android-pwa-standalone .screen {height: var(--moss-root-height, 100dvh) !important;
  min-height: var(--moss-root-height, 100dvh) !important;
  max-height: var(--moss-root-height, 100dvh) !important;}

html.android-pwa-standalone body,
html.android-pwa-standalone .device-shell,
html.android-pwa-standalone .phone,
html.android-pwa-standalone .screen {background: var(--phone-bg, #101216) !important;}

html.android-pwa-standalone .device-shell {padding: 0 !important;}

html.android-pwa-standalone .phone {border: 0 !important; border-radius: 0 !important; box-shadow: none !important;}

:root {--moss-ui-accent: var(--skin-accent, #667b70);
  --moss-ui-accent-strong: color-mix(in srgb, var(--moss-ui-accent) 84%, #111 16%);
  --moss-ui-accent-soft: color-mix(in srgb, var(--moss-ui-accent) 12%, var(--surface-strong, #fff) 88%);
  --moss-ui-canvas: color-mix(in srgb, var(--phone-bg, #f4f2ed) 90%, #f8faf9 10%);
  --moss-ui-surface: color-mix(in srgb, var(--surface-strong, #fff) 96%, transparent);
  --moss-ui-surface-soft: color-mix(in srgb, var(--surface, #f6f5f1) 90%, var(--moss-ui-canvas) 10%);
  --moss-ui-text: var(--skin-text, #222622);
  --moss-ui-muted: color-mix(in srgb, var(--skin-muted, #727970) 92%, var(--moss-ui-text) 8%);
  --moss-ui-faint: color-mix(in srgb, var(--moss-ui-muted) 68%, transparent);
  --moss-ui-line: color-mix(in srgb, var(--skin-border, rgba(25,31,27,.12)) 82%, transparent);
  --moss-ui-line-strong: color-mix(in srgb, var(--moss-ui-text) 16%, transparent);
  --moss-ui-danger: #b94b4b;
  --moss-ui-radius-xs: 8px;
  --moss-ui-radius-sm: 12px;
  --moss-ui-radius-md: 16px;
  --moss-ui-radius-lg: 20px;
  --moss-ui-shadow-1: 0 1px 2px color-mix(in srgb, var(--moss-ui-text) 7%, transparent);
  --moss-ui-shadow-2: 0 8px 26px color-mix(in srgb, var(--moss-ui-text) 8%, transparent);
  --moss-ui-ease: cubic-bezier(.2,.72,.28,1);
  --moss-ui-fast: 160ms;
  --moss-ui-normal: 220ms;
  --moss-ui-header-height: 56px;
  --moss-ui-content-pad: 14px;}

html,
body {max-width: 100%;
  overflow-x: clip;}

body {--moss-ui-accent: var(--skin-accent, var(--tone-accent, #667b70));
  --moss-ui-accent-strong: color-mix(in srgb, var(--moss-ui-accent) 84%, #111 16%);
  --moss-ui-accent-soft: var(--tone-soft, color-mix(in srgb, var(--moss-ui-accent) 12%, var(--surface-strong, #fff) 88%));
  --moss-ui-canvas: var(--phone-bg, var(--tone-phone, #f4f2ed));
  --moss-ui-surface: var(--surface-strong, var(--tone-surface-strong, #fff));
  --moss-ui-surface-soft: color-mix(in srgb, var(--surface, var(--tone-surface, #f6f5f1)) 90%, var(--moss-ui-canvas) 10%);
  --moss-ui-text: var(--skin-text, var(--tone-text, #222622));
  --moss-ui-muted: var(--skin-muted, var(--tone-muted, #727970));
  --moss-ui-faint: color-mix(in srgb, var(--moss-ui-muted) 68%, transparent);
  --moss-ui-line: var(--skin-border, var(--tone-line, rgba(25,31,27,.12)));
  --moss-ui-line-strong: color-mix(in srgb, var(--moss-ui-text) 16%, transparent);}

body {--moss-ui-card: var(--moss-ui-surface);
  --moss-ui-card-soft: var(--moss-ui-surface-soft);
  --moss-ui-control: color-mix(in srgb, var(--moss-ui-surface) 82%, var(--moss-ui-canvas) 18%);
  --moss-ui-accent-line: color-mix(in srgb, var(--moss-ui-accent) 24%, var(--moss-ui-line));
  --moss-ui-accent-wash: color-mix(in srgb, var(--moss-ui-accent) 8%, var(--moss-ui-surface) 92%);
  --moss-ui-danger-soft: color-mix(in srgb, var(--moss-ui-danger) 10%, var(--moss-ui-surface) 90%);
  --moss-ui-success: color-mix(in srgb, var(--moss-ui-accent) 78%, #1d6f4f 22%);
  --moss-ui-z-sheet: 220;}

body {--moss-ui-accent-soft: color-mix(in srgb, var(--moss-ui-accent) 5%, var(--moss-ui-surface) 95%);
  --moss-ui-accent-line: color-mix(in srgb, var(--moss-ui-accent) 16%, var(--moss-ui-line));
  --moss-ui-accent-wash: color-mix(in srgb, var(--moss-ui-accent) 2.5%, var(--moss-ui-surface) 97.5%);}

:root {--visual-viewport-top: 0px;}

body:not(.pwa-standalone) #appScreen.live-screen-active {padding-bottom: 0 !important;}

html.android-pwa-standalone,
html.android-pwa-standalone body {width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--phone-bg, #101216) !important;}

html.android-pwa-standalone :is(.assistant-voice-strip, .assistant-voice-redo) > * {pointer-events: none;}

html.pwa-standalone,
html.pwa-standalone body,
body.pwa-standalone,
html.android-pwa-standalone,
html.android-pwa-standalone body {width: 100% !important;
  height: var(--moss-root-height, 100dvh) !important;
  min-height: var(--moss-root-height, 100dvh) !important;
  max-height: var(--moss-root-height, 100dvh) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: var(--phone-bg, #1f1f22) !important;}

html.android-pwa-standalone body {position: fixed !important;
  inset: 0 !important;}

:root {--layout-viewport-height: 100dvh;}

/*# source: assets/css/foundation/themes.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
body.theme-aurora {background:
    radial-gradient(circle at 24% 16%, rgba(96, 225, 170, 0.62), transparent 30%),
    radial-gradient(circle at 86% 24%, rgba(254, 203, 94, 0.58), transparent 25%),
    linear-gradient(145deg, #0d1418, #233742);}

:root[data-ui-mode="dark"] {--longform-dialogue-text: #82cff4;
  --longform-dialogue-line: rgba(130, 207, 244, 0.70);}

:root[data-ui-mode="dark"] .moment-comment-dock,
html[data-ui-mode="dark"] .moment-comment-dock {border-color: rgba(255, 255, 255, .12) !important;
  background: rgba(28, 31, 38, .96) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;}

:root[data-ui-mode="dark"] .moment-comment-dock input,
html[data-ui-mode="dark"] .moment-comment-dock input {background: rgba(255, 255, 255, .08) !important;
  color: #f4f7fb !important;}

:root[data-ui-mode="dark"] .moment-comment-form:not([hidden]),
html[data-ui-mode="dark"] .moment-comment-form:not([hidden]) {border-color: rgba(255, 255, 255, .12);
  background: rgba(28, 31, 38, .95);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .42);}

:root[data-ui-mode="dark"] .moment-comment-form:not([hidden]) input,
html[data-ui-mode="dark"] .moment-comment-form:not([hidden]) input {background: rgba(255, 255, 255, .08);
  color: #f4f7fb;}

:root[data-ui-mode="dark"] {color-scheme: dark;
  --page-bg: #141416;
  --phone-bg: #1f1f22;
  --surface: rgba(255, 255, 255, 0.055);
  --surface-strong: rgba(255, 255, 255, 0.09);
  --skin-border: rgba(255, 255, 255, 0.1);
  --skin-accent: #d4a96a;
  --skin-accent-2: #8e86d6;
  --skin-text: #ededef;
  --skin-muted: #9a9aa0;
  --skin-shadow: 0 12px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --skin-home: radial-gradient(ellipse 80% 50% at 30% 8%, rgba(142, 134, 214, 0.13), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(212, 169, 106, 0.09), transparent 55%),
    #1f1f22;}

:root[data-ui-mode="light"] {color-scheme: light;
  --page-bg: #e8e2d4;
  --phone-bg: #f1ebdd;
  --surface: #f7f2e9;
  --surface-strong: #fbf7ee;
  --skin-border: rgba(60, 45, 25, 0.1);
  --skin-accent: #a6733a;
  --skin-accent-2: #6b7a5a;
  --skin-text: #33291c;
  --skin-muted: #8a7b62;
  --skin-shadow: 0 10px 40px rgba(60, 45, 25, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --skin-home: radial-gradient(ellipse 80% 50% at 30% 8%, rgba(166, 115, 58, 0.07), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(107, 122, 90, 0.08), transparent 55%),
    #f1ebdd;}

:root[data-ui-mode="dark"] {--page-bg: #141416;
  --phone-bg: #1f1f22;
  --surface: rgba(255, 255, 255, 0.055);
  --surface-strong: rgba(255, 255, 255, 0.09);
  --skin-border: rgba(255, 255, 255, 0.1);
  --skin-accent: #d4a96a;
  --skin-accent-2: #8e86d6;
  --skin-text: #ededef;
  --skin-muted: rgba(237, 237, 239, 0.6);
  --skin-shadow: 0 12px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --skin-home: radial-gradient(ellipse 80% 50% at 30% 8%, rgba(142, 134, 214, 0.13), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(212, 169, 106, 0.09), transparent 55%),
    #1f1f22;
  --glass-icon-bg: rgba(255, 255, 255, 0.09);
  --glass-icon-border: rgba(255, 255, 255, 0.14);
  --glass-icon-text: rgba(237, 237, 239, 0.9);}

:root[data-ui-mode="light"] {--page-bg: #e8e2d4;
  --phone-bg: #f1ebdd;
  --surface: #f7f2e9;
  --surface-strong: #fbf7ee;
  --skin-border: rgba(60, 45, 25, 0.1);
  --skin-accent: #a6733a;
  --skin-accent-2: #6b7a5a;
  --skin-text: #33291c;
  --skin-muted: rgba(51, 41, 28, 0.6);
  --skin-shadow: 0 10px 40px rgba(60, 45, 25, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --skin-home: radial-gradient(ellipse 80% 50% at 30% 8%, rgba(166, 115, 58, 0.07), transparent 60%),
    radial-gradient(ellipse 70% 40% at 90% 95%, rgba(107, 122, 90, 0.08), transparent 55%),
    #f1ebdd;
  --glass-icon-bg: #fbf7ee;
  --glass-icon-border: rgba(60, 45, 25, 0.1);
  --glass-icon-text: #33291c;}

:root[data-ui-mode="dark"] .screen {background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18)),
    var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

:root[data-ui-mode="light"] .chat-layout.bubble-glass {--chat-bubble-text: #111318;}

:root[data-ui-mode="light"] .chat-layout.bubble-glass .bubble.assistant,
:root[data-ui-mode="light"] .chat-layout.bubble-glass .bubble.user {color: #111318 !important;}

:root[data-ui-mode="dark"] .longform-inline-more {border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: var(--skin-text, #f5efe7);}

:root[data-ui-mode="dark"] {color-scheme: dark;
  --skin-home: linear-gradient(180deg, #201916 0%, #120f0d 100%);
  --phone-bg: #17120f;
  --surface: #211a16;
  --surface-strong: #2a211b;
  --skin-text: #f2e8dc;
  --skin-title: #fff6ea;
  --skin-muted: #b8aa9b;
  --skin-border: rgba(224, 194, 154, 0.18);
  --skin-accent: #c28a48;
  --skin-accent-2: #9b6a38;}

:root[data-ui-mode="light"] {--page-bg: #e7ddca;
  --phone-bg: #efe6d5;
  --surface: #f7f0e4;
  --surface-strong: #fffaf0;
  --surface-soft: #ede1cf;
  --skin-border: rgba(74, 51, 27, 0.13);
  --skin-accent: #a87742;
  --skin-accent-2: #667753;
  --skin-title: #2e2519;
  --skin-text: #3b3022;
  --skin-muted: #8d7c64;
  --skin-shadow-soft: 0 10px 28px rgba(78, 55, 30, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --skin-shadow: 0 16px 46px rgba(78, 55, 30, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --skin-home: radial-gradient(ellipse 80% 48% at 28% 6%, rgba(168, 119, 66, 0.08), transparent 62%),
    radial-gradient(ellipse 70% 42% at 90% 96%, rgba(102, 119, 83, 0.08), transparent 55%),
    #efe6d5;}

:root[data-ui-mode="dark"] {--page-bg: #18130f;
  --phone-bg: #211b16;
  --surface: rgba(255, 244, 225, 0.055);
  --surface-strong: rgba(255, 244, 225, 0.10);
  --surface-soft: rgba(255, 244, 225, 0.065);
  --skin-border: rgba(239, 214, 175, 0.13);
  --skin-accent: #c5955b;
  --skin-accent-2: #8f7f5f;
  --skin-title: #f2e5d0;
  --skin-text: #eadcc7;
  --skin-muted: #ad9b80;
  --skin-shadow-soft: 0 12px 32px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.045);
  --skin-shadow: 0 18px 54px rgba(0, 0, 0, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --skin-home: radial-gradient(ellipse 80% 48% at 28% 6%, rgba(197, 149, 91, 0.12), transparent 62%),
    radial-gradient(ellipse 70% 42% at 92% 96%, rgba(143, 127, 95, 0.10), transparent 55%),
    #211b16;}

:root[data-ui-mode="light"] {color-scheme: light;
  --page-bg: #e8decd;
  --phone-bg: #efe6d6;
  --surface: #f5ecdc;
  --surface-strong: #fff8ed;
  --surface-soft: #eadcc7;
  --surface-glass: rgba(255, 248, 237, 0.9);
  --skin-border: rgba(92, 66, 36, 0.14);
  --skin-border-strong: rgba(92, 66, 36, 0.22);
  --skin-title: #2b2118;
  --skin-text: #3a2f23;
  --skin-muted: #847460;
  --skin-accent: #ac7b43;
  --skin-accent-2: #6f7d5a;
  --skin-home: radial-gradient(ellipse 82% 48% at 22% 4%, rgba(172, 123, 67, 0.11), transparent 62%),
    radial-gradient(ellipse 72% 44% at 92% 96%, rgba(111, 125, 90, 0.12), transparent 58%),
    #efe6d6;}

:root[data-ui-mode="dark"] {color-scheme: dark;
  --page-bg: #17120e;
  --phone-bg: #211a15;
  --surface: #292119;
  --surface-strong: #31271e;
  --surface-soft: #241d17;
  --surface-glass: rgba(49, 39, 30, 0.88);
  --skin-border: rgba(232, 203, 165, 0.14);
  --skin-border-strong: rgba(232, 203, 165, 0.22);
  --skin-title: #f5eadb;
  --skin-text: #eadcc9;
  --skin-muted: #b2a18a;
  --skin-accent: #c28d55;
  --skin-accent-2: #9a805c;
  --skin-shadow-soft: 0 12px 32px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --skin-shadow-float: 0 20px 54px rgba(0, 0, 0, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --skin-home: radial-gradient(ellipse 82% 48% at 22% 4%, rgba(194, 141, 85, 0.14), transparent 62%),
    radial-gradient(ellipse 72% 44% at 92% 96%, rgba(154, 128, 92, 0.12), transparent 58%),
    #211a15;}

:root[data-ui-mode="dark"] {--home-widget-bg: rgba(49, 39, 30, 0.30);}

:root[data-ui-mode="light"] .message-action-menu {background: rgba(255, 255, 255, 0.94) !important;
  color: #17181c !important;}

:root[data-ui-mode="light"] .message-action-menu button {color: #17181c !important;
  background: rgba(17, 19, 24, 0.08) !important;}

:root[data-ui-mode="light"] .message-action-menu button:hover {background: rgba(17, 19, 24, 0.14) !important;}

html[data-ui-mode="dark"] .chat-translation-divider {background: rgba(255,255,255,.16);}

:root[data-ui-mode="dark"] .mini-select,
:root[data-ui-mode="dark"] .mini-color {background: color-mix(in srgb, var(--phone-bg) 82%, #fff 8%) !important;
  color: var(--skin-text) !important;
  border: 1px solid var(--skin-border) !important;}

body.theme-apple {--page-bg: #f6f7fa;
  --phone-bg: #f7f8fb;
  --surface: rgba(255, 255, 255, 0.66);
  --surface-strong: rgba(255, 255, 255, 0.86);
  --skin-border: rgba(110, 118, 130, 0.14);
  --skin-accent: #6f97cf;
  --skin-accent-2: #9bb7d9;
  --skin-text: #30343a;
  --skin-title: #25282d;
  --skin-muted: rgba(65, 72, 82, 0.62);
  --skin-button: rgba(116, 151, 196, 0.18);
  --skin-button-text: #335f94;
  --skin-shadow: 0 14px 34px rgba(74, 87, 110, 0.10), inset 0 1px rgba(255, 255, 255, 0.76);
  --skin-shadow-float: 0 24px 70px rgba(74, 87, 110, 0.16), inset 0 1px rgba(255, 255, 255, 0.78);
  --skin-home:
    radial-gradient(circle at 18% 10%, rgba(205, 221, 241, 0.70), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(231, 235, 240, 0.92), transparent 36%),
    radial-gradient(circle at 80% 86%, rgba(221, 230, 241, 0.76), transparent 38%),
    linear-gradient(180deg, #fbfcff 0%, #f4f6fa 46%, #eef2f7 100%);
  --glass-icon-bg: rgba(255, 255, 255, 0.68);
  --glass-icon-border: rgba(100, 112, 128, 0.13);
  --glass-icon-text: #46515f;
  --text: #30343a;
  --muted: rgba(65, 72, 82, 0.62);
  --line: rgba(110, 118, 130, 0.14);
  --ink: #30343a;
  --app-font-color: #30343a;
  --widget-text-color: #343940;
  --widget-glass-color: rgba(255, 255, 255, 0.56);
  color: var(--skin-text);
  background: var(--page-bg) !important;}

body.theme-apple,
body.theme-apple .device-shell {background: var(--page-bg) !important;}

body.theme-apple .phone {background: var(--phone-bg) !important;}

body.theme-apple .screen {color: var(--skin-text) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(246, 248, 252, 0.22)),
    var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

body.theme-apple .dynamic-island {background: rgba(68, 74, 84, 0.18) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.48), 0 8px 22px rgba(74, 87, 110, 0.08);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);}

body.theme-apple .status-bar,
body.theme-apple .clock-greeting,
body.theme-apple .clock-date,
body.theme-apple .app-topbar,
body.theme-apple .app-topbar span,
body.theme-apple .app-tile small,
body.theme-apple .dock-icon small,
body.theme-apple .widget-label {color: rgba(48, 52, 58, 0.76) !important;
  text-shadow: none !important;}

body.theme-apple .signal span {background: rgba(48, 52, 58, 0.72) !important;}

body.theme-apple .clock-time {color: rgba(38, 42, 48, 0.78) !important;
  font-weight: 700;
  text-shadow: none !important;}

body.theme-apple input::placeholder,
body.theme-apple textarea::placeholder {color: rgba(65, 72, 82, 0.42) !important;}

body.theme-apple .danger-button,
body.theme-apple .bubble.error {color: #9b4b4b !important;
  background: rgba(255, 233, 233, 0.82) !important;
  border-color: rgba(170, 80, 80, 0.12) !important;}

body.theme-apple .dock .icon-face:not(.custom-icon) {background: rgba(255, 255, 255, 0.78) !important;}

body.theme-apple .chat-layout {--chat-bubble-user: rgba(218, 235, 218, 0.92);
  --chat-bubble-assistant: rgba(255, 255, 255, 0.88);
  --chat-bubble-text: #343940;
  background-color: #f3f5f8 !important;}

body.theme-apple .bubble.assistant,
body.theme-apple .bubble.user {color: var(--chat-bubble-text) !important;
  border: 1px solid rgba(110, 118, 130, 0.10) !important;
  box-shadow: 0 6px 14px rgba(74, 87, 110, 0.07) !important;}

body.theme-apple .transfer-card {color: #5b4d36 !important;
  background: linear-gradient(145deg, rgba(255, 238, 204, 0.90), rgba(235, 215, 183, 0.78)) !important;
  border-color: rgba(150, 120, 74, 0.16) !important;
  box-shadow: 0 10px 22px rgba(130, 104, 64, 0.10) !important;}

body.theme-apple .location-card,
body.theme-apple .forwarded-chat-card {border-left-color: #9bb7d9 !important;}

body.theme-apple .app-topbar::before {content: "";
  position: absolute;
  inset: -6px -6px;
  z-index: -1;
  border-radius: 22px;
  background: rgba(247, 248, 251, 0.50);
  border: 1px solid rgba(110, 118, 130, 0.10);
  backdrop-filter: blur(20px) saturate(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.12);}

body.theme-apple .home-status-avatar,
body.theme-apple .avatar,
body.theme-apple .image-avatar {background: rgba(255, 255, 255, 0.58) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.74), 0 8px 16px rgba(74, 87, 110, 0.08);}

body.theme-apple .theme-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}

html[data-ui-mode="dark"] body.theme-apple {color-scheme: dark;
  --page-bg: #111216;
  --phone-bg: #16171c;
  --surface: #202229;
  --surface-strong: #292c34;
  --skin-border: rgba(255, 255, 255, 0.105);
  --skin-accent: #82a8d8;
  --skin-accent-2: #a8bed8;
  --skin-text: #e4e7ec;
  --skin-title: #f0f2f6;
  --skin-muted: rgba(222, 228, 238, 0.58);
  --skin-button: rgba(128, 166, 210, 0.16);
  --skin-button-text: #b9d2ef;
  --skin-shadow: 0 14px 34px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.08);
  --skin-shadow-float: 0 24px 72px rgba(0, 0, 0, 0.36), inset 0 1px rgba(255, 255, 255, 0.10);
  --skin-home:
    radial-gradient(circle at 18% 10%, rgba(84, 110, 146, 0.28), transparent 34%),
    radial-gradient(circle at 86% 14%, rgba(119, 128, 142, 0.24), transparent 36%),
    radial-gradient(circle at 78% 86%, rgba(83, 101, 128, 0.20), transparent 38%),
    linear-gradient(180deg, #1c1d23 0%, #17191f 48%, #121419 100%);
  --glass-icon-bg: rgba(42, 45, 54, 0.72);
  --glass-icon-border: rgba(255, 255, 255, 0.095);
  --glass-icon-text: #dfe4ec;
  --text: #e4e7ec;
  --muted: rgba(222, 228, 238, 0.58);
  --line: rgba(255, 255, 255, 0.105);
  --ink: #e4e7ec;
  --app-font-color: #e4e7ec;
  --widget-text-color: #e4e7ec;
  --widget-glass-color: #292c34;
  color: var(--skin-text);
  background: var(--page-bg) !important;}

html[data-ui-mode="dark"] body.theme-apple,
html[data-ui-mode="dark"] body.theme-apple .device-shell {background: var(--page-bg) !important;}

html[data-ui-mode="dark"] body.theme-apple .phone {background: var(--phone-bg) !important;}

html[data-ui-mode="dark"] body.theme-apple .screen {color: var(--skin-text) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(17, 18, 22, 0.20)),
    var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

html[data-ui-mode="dark"] body.theme-apple .dynamic-island {background: rgba(5, 6, 8, 0.60) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 8px 22px rgba(0, 0, 0, 0.24) !important;}

html[data-ui-mode="dark"] body.theme-apple .status-bar,
html[data-ui-mode="dark"] body.theme-apple .clock-greeting,
html[data-ui-mode="dark"] body.theme-apple .clock-date,
html[data-ui-mode="dark"] body.theme-apple .app-topbar,
html[data-ui-mode="dark"] body.theme-apple .app-topbar span,
html[data-ui-mode="dark"] body.theme-apple .app-tile small,
html[data-ui-mode="dark"] body.theme-apple .dock-icon small,
html[data-ui-mode="dark"] body.theme-apple .widget-label {color: rgba(232, 236, 244, 0.72) !important;
  text-shadow: none !important;}

html[data-ui-mode="dark"] body.theme-apple .signal span {background: rgba(232, 236, 244, 0.72) !important;}

html[data-ui-mode="dark"] body.theme-apple .clock-time {color: rgba(242, 244, 248, 0.82) !important;
  text-shadow: none !important;}

html[data-ui-mode="dark"] body.theme-apple input::placeholder,
html[data-ui-mode="dark"] body.theme-apple textarea::placeholder {color: rgba(222, 228, 238, 0.36) !important;}

html[data-ui-mode="dark"] body.theme-apple .danger-button,
html[data-ui-mode="dark"] body.theme-apple .bubble.error {color: #f1b6b6 !important;
  background: rgba(78, 38, 40, 0.58) !important;
  border-color: rgba(255, 160, 160, 0.12) !important;}

html[data-ui-mode="dark"] body.theme-apple .dock .icon-face:not(.custom-icon) {background: rgba(44, 47, 56, 0.74) !important;}

html[data-ui-mode="dark"] body.theme-apple .chat-layout {--chat-bubble-user: rgba(63, 79, 99, 0.78);
  --chat-bubble-assistant: rgba(38, 40, 47, 0.88);
  --chat-bubble-text: #edf1f6;
  background-color: #17191f !important;}

html[data-ui-mode="dark"] body.theme-apple .bubble.assistant,
html[data-ui-mode="dark"] body.theme-apple .bubble.user {color: var(--chat-bubble-text) !important;
  border: 1px solid rgba(255, 255, 255, 0.075) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16) !important;}

html[data-ui-mode="dark"] body.theme-apple .transfer-card {color: #f1dcc0 !important;
  background: linear-gradient(145deg, rgba(105, 79, 46, 0.64), rgba(74, 57, 39, 0.60)) !important;
  border-color: rgba(240, 205, 158, 0.14) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18) !important;}

html[data-ui-mode="dark"] body.theme-apple .location-card,
html[data-ui-mode="dark"] body.theme-apple .forwarded-chat-card {border-left-color: #8fb1d9 !important;}

html[data-ui-mode="dark"] body.theme-apple .app-topbar::before {background: rgba(26, 28, 34, 0.52) !important;
  border-color: var(--skin-border) !important;}

html[data-ui-mode="dark"] body.theme-apple .home-status-avatar,
html[data-ui-mode="dark"] body.theme-apple .avatar,
html[data-ui-mode="dark"] body.theme-apple .image-avatar {background: rgba(44, 47, 56, 0.68) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 8px 16px rgba(0, 0, 0, 0.18) !important;}

body.theme-apple {--surface: rgba(248, 250, 253, 0.86);
  --surface-strong: rgba(252, 253, 255, 0.95);
  --skin-surface: rgba(250, 251, 253, 0.96);
  --skin-shadow-soft: 0 10px 24px rgba(74, 87, 110, 0.08);}

body.theme-apple .app-body:has(.period-app),
body.theme-apple .period-app {background: #f4f6fa !important;}

body.theme-apple .period-calendar .period-day.outside,
body.theme-apple .period-app .period-day.outside {background: rgba(235, 239, 245, 0.92) !important;
  color: rgba(120, 128, 140, 0.76) !important;}

body.theme-apple .period-calendar .period-day.period-range,
body.theme-apple .period-app .period-day.period-range {background: rgba(255, 227, 236, 0.90) !important;
  border-color: rgba(244, 95, 134, 0.24) !important;
  color: #4a2a33 !important;}

body.theme-apple .period-calendar .period-day.period-start,
body.theme-apple .period-calendar .period-day.period-end,
body.theme-apple .period-app .period-day.period-start,
body.theme-apple .period-app .period-day.period-end {background: #ffb5c9 !important;
  border-color: #f08aa8 !important;
  color: #4a2a33 !important;}

body.theme-apple .world-row {box-shadow: var(--skin-shadow-soft) !important;}

body.theme-apple .world-book-entry-head button,
body.theme-apple .period-card button {background: #8eb0da !important;
  color: #ffffff !important;
  border-color: rgba(87, 124, 166, 0.18) !important;}

html[data-ui-mode="dark"] body.theme-apple {--skin-surface: rgba(34, 37, 44, 0.94);}

html[data-ui-mode="dark"] body.theme-apple .app-body:has(.period-app),
html[data-ui-mode="dark"] body.theme-apple .period-app {background: #17191f !important;}

html[data-ui-mode="dark"] body.theme-apple .period-calendar .period-day.outside,
html[data-ui-mode="dark"] body.theme-apple .period-app .period-day.outside {background: rgba(50, 54, 62, 0.92) !important;
  color: rgba(196, 202, 212, 0.44) !important;}

html[data-ui-mode="dark"] body.theme-apple .period-calendar .period-day.period-range,
html[data-ui-mode="dark"] body.theme-apple .period-app .period-day.period-range {background: rgba(109, 68, 86, 0.72) !important;
  border-color: rgba(255, 162, 193, 0.18) !important;
  color: #f6dde6 !important;}

html[data-ui-mode="dark"] body.theme-apple .period-calendar .period-day.period-start,
html[data-ui-mode="dark"] body.theme-apple .period-calendar .period-day.period-end,
html[data-ui-mode="dark"] body.theme-apple .period-app .period-day.period-start,
html[data-ui-mode="dark"] body.theme-apple .period-app .period-day.period-end {background: rgba(171, 103, 131, 0.88) !important;
  border-color: rgba(255, 182, 205, 0.22) !important;
  color: #fff4f8 !important;}

body.theme-apple .app-topbar,
body.theme-apple .app-topbar span {color: #2f343b !important;}

body.theme-apple .app-topbar::before {background: rgba(252, 253, 255, 0.92) !important;
  border: 1px solid rgba(112, 122, 136, 0.10) !important;
  box-shadow: 0 10px 24px rgba(74, 87, 110, 0.06), inset 0 1px rgba(255, 255, 255, 0.86) !important;
  backdrop-filter: blur(24px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.08) !important;}

body.theme-apple .back-button {color: #6f8fb9 !important;
  background: rgba(250, 251, 253, 0.96) !important;
  border: 1px solid rgba(112, 122, 136, 0.10) !important;
  box-shadow: 0 6px 14px rgba(74, 87, 110, 0.05), inset 0 1px rgba(255, 255, 255, 0.82) !important;}

html[data-ui-mode="dark"] body.theme-apple .app-topbar,
html[data-ui-mode="dark"] body.theme-apple .app-topbar span {color: #eef2f6 !important;}

html[data-ui-mode="dark"] body.theme-apple .app-topbar::before {background: rgba(28, 31, 38, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20), inset 0 1px rgba(255, 255, 255, 0.08) !important;}

html[data-ui-mode="dark"] body.theme-apple .back-button {color: #a8c1df !important;
  background: rgba(42, 46, 54, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16), inset 0 1px rgba(255, 255, 255, 0.06) !important;}

body.theme-apple .chat-layout .chat-extra-panel,
html[data-ui-mode="dark"] body.theme-apple .chat-layout .chat-extra-panel {background: color-mix(in srgb, var(--phone-bg, #f4f7fb) 96%, #ffffff 4%) !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(76, 92, 112, 0.14)) 70%, transparent) !important;
  box-shadow: 0 -16px 42px rgba(66, 78, 96, 0.10), inset 0 1px rgba(255,255,255,.72) !important;}

html[data-ui-mode="dark"] .custom-ui-warning {color:#ffd785;background:rgba(255,193,7,.10)}

:root[data-ui-mode="light"] {color-scheme: light;
  --page-bg: #f6f8fb;
  --phone-bg: #f4f7fb;
  --surface: rgba(248, 250, 253, 0.86);
  --surface-strong: rgba(255, 255, 255, 0.96);
  --surface-soft: rgba(235, 240, 247, 0.92);
  --surface-glass: rgba(248, 250, 253, 0.78);
  --skin-border: rgba(96, 113, 138, 0.14);
  --skin-accent: #82a8d8;
  --skin-accent-2: #a9c3e0;
  --skin-title: #222b37;
  --skin-text: #2f3a49;
  --skin-muted: rgba(70, 82, 98, 0.62);
  --skin-shadow-soft: 0 10px 26px rgba(74, 87, 110, 0.08), inset 0 1px rgba(255,255,255,.72);
  --skin-shadow: 0 16px 42px rgba(74, 87, 110, 0.12), inset 0 1px rgba(255,255,255,.72);
  --skin-home:
    radial-gradient(circle at 18% 10%, rgba(205, 221, 241, 0.70), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(231, 235, 240, 0.92), transparent 36%),
    radial-gradient(circle at 80% 86%, rgba(221, 230, 241, 0.76), transparent 38%),
    linear-gradient(180deg, #fbfcff 0%, #f4f6fa 46%, #eef2f7 100%);}

html[data-ui-mode="dark"] .couple-chron-card {background: rgba(28,33,52,.7);}

html[data-ui-mode="dark"] .couple-chron-card h4 {color: #f0e7dc;}

html[data-ui-mode="dark"] .couple-chron-card p {color: #b9c0d2;}

html[data-ui-mode="light"] body.theme-aurora {--page-bg: #eadfc9;
  --phone-bg: #f4ead8;
  --surface: rgba(255, 248, 235, 0.76);
  --surface-strong: rgba(255, 251, 242, 0.92);
  --skin-border: rgba(115, 82, 43, 0.2);
  --skin-text: #3a2c1c;
  --skin-title: #2d2418;
  --skin-muted: rgba(88, 68, 46, 0.7);
  --skin-accent: #b9854b;
  --skin-accent-2: #8f9a68;
  --skin-button: rgba(190, 135, 72, 0.2);
  --skin-button-text: #775126;
  --skin-home: radial-gradient(circle at 18% 0%, rgba(255, 248, 224, 0.96), rgba(242, 229, 204, 0.8) 34%, rgba(218, 198, 163, 0.75) 100%);
  --glass-icon-bg: rgba(255, 249, 238, 0.72);
  --glass-icon-border: rgba(135, 94, 46, 0.16);
  --app-font-color: #3a2c1c;
  background: #eadfc9 !important;
  color: #3a2c1c !important;}

html[data-ui-mode="light"] body.theme-aurora :where(button, .tab-button, .secondary-button, .settings-back, .pill-button, .memory-filter-pill) {border-color: rgba(131, 92, 48, 0.18);}

html[data-ui-mode="light"] body.theme-aurora :where(.primary-button, button:not(.danger-button):not(.icon-button):not(.message-action-button)) {color: var(--skin-button-text);}

html[data-ui-mode="light"] body.theme-aurora :where(input, textarea, select) {background: rgba(255, 252, 244, 0.86) !important;
  border-color: rgba(123, 88, 48, 0.18) !important;
  color: var(--skin-text) !important;}

html[data-ui-mode="light"] body.theme-aurora :where(.hint-text, small, .muted, .empty-text, .subtle-text) {color: var(--skin-muted) !important;}

html[data-ui-mode="light"] body.theme-aurora :where(.app-icon, .icon-face:not(.custom-icon), .dock .app-icon) {background: linear-gradient(145deg, rgba(255, 251, 241, 0.94), rgba(228, 205, 166, 0.86)) !important;
  border-color: rgba(129, 91, 48, 0.18) !important;
  box-shadow: 0 12px 26px rgba(92, 66, 34, 0.14) !important;}

html[data-ui-mode="light"] body.theme-aurora .chat-layout {--chat-bubble-assistant: rgba(255, 250, 239, 0.92);
  --chat-bubble-user: rgba(210, 180, 132, 0.82);
  --chat-bubble-text: #3a2c1c;
  background: linear-gradient(180deg, rgba(246, 235, 215, 0.98), rgba(232, 215, 184, 0.95)) !important;}

html[data-ui-mode="light"] body.theme-aurora .dock {background: rgba(255, 248, 235, 0.5) !important;
  border-color: rgba(118, 84, 45, 0.14) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.1) !important;
  backdrop-filter: blur(20px) saturate(1.1) !important;}

html[data-ui-mode="light"] body.theme-aurora .dock .dock-icon,
html[data-ui-mode="light"] body.theme-aurora .dock .app-icon {background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;}

html[data-ui-mode="dark"] body.theme-aurora {--skin-accent: #c49362;
  --skin-accent-2: #8aa06b;
  --app-font-color: #f1e7da;}

html[data-ui-mode="dark"] body.theme-apple .app-body:has(.couple-app) {background: #111318 !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-app {--couple-dark-bg: #111318;
  --couple-dark-panel: rgba(28, 31, 38, 0.92);
  --couple-dark-panel-2: rgba(36, 40, 48, 0.90);
  --couple-dark-border: rgba(255, 255, 255, 0.09);
  --couple-dark-text: #f2f5f9;
  --couple-dark-muted: rgba(220, 228, 238, 0.72);
  --couple-dark-soft: rgba(150, 127, 148, 0.20);
  min-height: 100% !important;
  color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(118, 88, 106, 0.24), transparent 26%),
    radial-gradient(circle at 94% 18%, rgba(84, 118, 108, 0.20), transparent 30%),
    linear-gradient(180deg, #111318 0%, #161a20 50%, #1a2026 100%) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-app :where(h1, h2, h3, strong, .couple-title strong) {color: var(--couple-dark-text) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-section,
html[data-ui-mode="dark"] body.theme-apple .couple-diary-card,
html[data-ui-mode="dark"] body.theme-apple .couple-api-status,
html[data-ui-mode="dark"] body.theme-apple .couple-stat {color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 255, 255, 0.045), transparent 30%),
    linear-gradient(145deg, rgba(36, 40, 48, 0.94), rgba(25, 28, 35, 0.92)) !important;
  border: 1px solid var(--couple-dark-border) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(22px) saturate(1.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.10) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-quote {color: #eef3f8 !important;
  background: rgba(43, 47, 56, 0.86) !important;
  border-left-color: rgba(190, 148, 174, 0.82) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-stage-pill,
html[data-ui-mode="dark"] body.theme-apple .couple-char-strip button,
html[data-ui-mode="dark"] body.theme-apple .couple-section header button.secondary {color: #edf3f8 !important;
  background: rgba(45, 49, 58, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-char-strip button.active,
html[data-ui-mode="dark"] body.theme-apple .couple-section header button,
html[data-ui-mode="dark"] body.theme-apple .couple-diary-card button {color: #f7fbff !important;
  background: rgba(75, 92, 105, 0.92) !important;
  border: 1px solid rgba(190, 214, 231, 0.13) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-api-status.ready {color: #e8f4ee !important;
  background: linear-gradient(145deg, rgba(42, 61, 53, 0.92), rgba(34, 38, 45, 0.92)) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-api-status.error {color: #ffd2d6 !important;
  background: rgba(72, 38, 44, 0.88) !important;
  border-color: rgba(255, 168, 178, 0.18) !important;}

html[data-ui-mode="dark"] body.theme-aurora .app-body:has(.couple-app) {background: #111318 !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-app {--couple-dark-bg: #111318;
  --couple-dark-panel: rgba(28, 31, 38, 0.92);
  --couple-dark-panel-2: rgba(36, 40, 48, 0.90);
  --couple-dark-border: rgba(255, 255, 255, 0.09);
  --couple-dark-text: #f2f5f9;
  --couple-dark-muted: rgba(220, 228, 238, 0.72);
  --couple-dark-soft: rgba(150, 127, 148, 0.20);
  min-height: 100% !important;
  color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(118, 88, 106, 0.24), transparent 26%),
    radial-gradient(circle at 94% 18%, rgba(84, 118, 108, 0.20), transparent 30%),
    linear-gradient(180deg, #111318 0%, #161a20 50%, #1a2026 100%) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-app :where(h1, h2, h3, strong, .couple-title strong) {color: var(--couple-dark-text) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-section,
html[data-ui-mode="dark"] body.theme-aurora .couple-diary-card,
html[data-ui-mode="dark"] body.theme-aurora .couple-api-status,
html[data-ui-mode="dark"] body.theme-aurora .couple-stat {color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 255, 255, 0.045), transparent 30%),
    linear-gradient(145deg, rgba(36, 40, 48, 0.94), rgba(25, 28, 35, 0.92)) !important;
  border: 1px solid var(--couple-dark-border) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(22px) saturate(1.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.10) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-quote {color: #eef3f8 !important;
  background: rgba(43, 47, 56, 0.86) !important;
  border-left-color: rgba(190, 148, 174, 0.82) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-stage-pill,
html[data-ui-mode="dark"] body.theme-aurora .couple-char-strip button,
html[data-ui-mode="dark"] body.theme-aurora .couple-section header button.secondary {color: #edf3f8 !important;
  background: rgba(45, 49, 58, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-char-strip button.active,
html[data-ui-mode="dark"] body.theme-aurora .couple-section header button,
html[data-ui-mode="dark"] body.theme-aurora .couple-diary-card button {color: #f7fbff !important;
  background: rgba(75, 92, 105, 0.92) !important;
  border: 1px solid rgba(190, 214, 231, 0.13) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-api-status.ready {color: #e8f4ee !important;
  background: linear-gradient(145deg, rgba(42, 61, 53, 0.92), rgba(34, 38, 45, 0.92)) !important;}

html[data-ui-mode="dark"] body.theme-aurora .couple-api-status.error {color: #ffd2d6 !important;
  background: rgba(72, 38, 44, 0.88) !important;
  border-color: rgba(255, 168, 178, 0.18) !important;}

html[data-ui-mode="dark"] body.theme-apple .couple-diary-card.couple-diary-paper-card,
html[data-ui-mode="dark"] body.theme-aurora .couple-diary-card.couple-diary-paper-card {display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;}

html[data-ui-mode="dark"] .chat-action-capture {color: color-mix(in srgb, var(--skin-text, #f2f2f2) 68%, transparent);}

html[data-ui-mode="dark"] .chat-quote-draft {color: rgba(238, 241, 247, 0.58);
  background: rgba(255, 255, 255, 0.08);}

html[data-ui-mode="dark"] .chat-sent-quote,
html[data-ui-mode="dark"] .chat-withdrawn-notice {color: rgba(238, 241, 247, 0.52);}

:root[data-ui-mode="light"] {--surface: var(--ed-surface);
  --surface-strong: var(--ed-surface-strong);
  --phone-bg: var(--ed-bg);
  --skin-border: var(--ed-line);
  --skin-accent: var(--ed-accent);
  --skin-accent-2: var(--ed-accent-2);
  --skin-text: var(--ed-text);
  --skin-title: var(--ed-text);
  --skin-muted: var(--ed-muted);
  --skin-shadow: var(--ed-shadow);
  --skin-home: var(--ed-home);
  --glass-icon-bg: var(--ed-surface-strong);
  --glass-icon-border: var(--ed-line);
  --glass-icon-text: var(--ed-text);}

html[data-ui-mode="light"] .period-app {background: var(--ed-bg) !important;}

body.theme-apple,
body.theme-aurora {--phone-bg: var(--ed-bg) !important;
  --surface: var(--ed-surface) !important;
  --surface-strong: var(--ed-surface-strong) !important;
  --skin-surface: var(--ed-surface) !important;
  --skin-panel: var(--ed-surface-strong) !important;
  --skin-border: var(--ed-line) !important;
  --skin-accent: var(--ed-accent) !important;
  --skin-accent-2: var(--ed-accent-2) !important;
  --skin-text: var(--ed-text) !important;
  --skin-title: var(--ed-text) !important;
  --skin-muted: var(--ed-muted) !important;
  --skin-shadow: var(--ed-shadow) !important;
  --skin-shadow-soft: 0 1px 2px rgba(34, 52, 74, 0.05) !important;
  --glass-icon-bg: var(--ed-surface-strong) !important;
  --glass-icon-border: var(--ed-line) !important;
  --glass-icon-text: var(--ed-text) !important;}

body.theme-apple  .persona-row.active,
body.theme-aurora .persona-row.active {background: var(--ed-accent-soft) !important;}

body.theme-apple  .persona-row.active strong,
body.theme-aurora .persona-row.active strong {color: var(--ed-accent) !important;}

body.theme-apple  .app-body:has(.period-app),
body.theme-aurora .app-body:has(.period-app),
body.theme-apple  .period-app,
body.theme-aurora .period-app {background: var(--ed-bg) !important;}

body[class*="theme-tone-"] {--ed-bg: var(--tone-page) !important;
  --ed-surface: var(--tone-surface) !important;
  --ed-surface-strong: var(--tone-surface-strong) !important;
  --ed-text: var(--tone-text) !important;
  --ed-muted: var(--tone-muted) !important;
  --ed-line: var(--tone-line) !important;
  --ed-accent: var(--tone-accent) !important;
  --ed-accent-2: var(--tone-accent-2) !important;
  --ed-accent-soft: var(--tone-soft) !important;
  --page-bg: var(--tone-page) !important;
  --phone-bg: var(--tone-phone) !important;
  --surface: var(--tone-surface) !important;
  --surface-strong: var(--tone-surface-strong) !important;
  --skin-surface: var(--tone-surface) !important;
  --skin-panel: var(--tone-surface-strong) !important;
  --skin-border: var(--tone-line) !important;
  --skin-accent: var(--tone-accent) !important;
  --skin-accent-2: var(--tone-accent-2) !important;
  --skin-text: var(--tone-text) !important;
  --skin-title: var(--tone-title) !important;
  --skin-muted: var(--tone-muted) !important;
  --skin-button: var(--tone-soft) !important;
  --skin-button-text: var(--tone-accent) !important;
  --skin-home: var(--tone-home) !important;
  --glass-icon-bg: var(--tone-surface-strong) !important;
  --glass-icon-border: var(--tone-line) !important;
  --glass-icon-text: var(--tone-text) !important;
  --text: var(--tone-text) !important;
  --muted: var(--tone-muted) !important;
  --line: var(--tone-line) !important;
  --ink: var(--tone-text) !important;
  color: var(--tone-text) !important;
  background: var(--tone-page) !important;}

body[class*="theme-tone-"] .device-shell,
body[class*="theme-tone-"] .phone {background: var(--tone-page) !important;}

body[class*="theme-tone-"] .phone {color: var(--tone-text) !important;
  background-color: var(--tone-phone) !important;}

body[class*="theme-tone-"] #appScreen,
body[class*="theme-tone-"] #appBody {--surface: var(--tone-surface) !important;
  --surface-strong: var(--tone-surface-strong) !important;
  --skin-surface: var(--tone-surface) !important;
  --skin-panel: var(--tone-surface-strong) !important;
  --skin-border: var(--tone-line) !important;
  --skin-accent: var(--tone-accent) !important;
  --skin-accent-2: var(--tone-accent-2) !important;
  --skin-text: var(--tone-text) !important;
  --skin-title: var(--tone-title) !important;
  --skin-muted: var(--tone-muted) !important;
  --skin-button: var(--tone-soft) !important;
  --skin-button-text: var(--tone-accent) !important;
  --phone-bg: var(--tone-phone) !important;
  --page-bg: var(--tone-page) !important;
  --rule-ink: var(--tone-text) !important;
  --rule-muted: var(--tone-muted) !important;
  --rule-moss: var(--tone-accent) !important;}

body[class*="theme-tone-"] :is(input, textarea)::placeholder {color: color-mix(in srgb, var(--tone-muted) 68%, transparent) !important;}

body[class*="theme-tone-"] .chat-layout {--chat-bubble-user: color-mix(in srgb, var(--tone-accent) 18%, var(--tone-surface-strong));
  --chat-bubble-assistant: var(--tone-surface-strong);
  --chat-bubble-text: var(--tone-text);
  color: var(--tone-text) !important;
  background-color: var(--tone-phone) !important;}

body[class*="theme-tone-"] .bubble.assistant {color: var(--tone-text) !important;
  background: var(--tone-surface-strong) !important;
  border-color: var(--tone-line) !important;}

body[class*="theme-tone-"] .bubble.user {color: var(--tone-text) !important;
  background: color-mix(in srgb, var(--tone-accent) 18%, var(--tone-surface-strong)) !important;
  border-color: color-mix(in srgb, var(--tone-accent) 32%, var(--tone-line)) !important;}

body[class*="theme-tone-"] .char-phone-overlay {color: var(--tone-text) !important;}

html[data-ui-mode="dark"] body[class*="theme-tone-"] {color-scheme: dark;}

html[data-ui-mode="dark"] body[class*="theme-tone-"] :is(.danger-button, .bubble.error) {color: #f3b8b8 !important;
  background: rgba(107, 48, 52, 0.36) !important;
  border-color: rgba(245, 154, 160, 0.18) !important;}

html[data-ui-mode="dark"] .custom-home :is(.home-polaroid-one, .home-polaroid-three article) {background: #f5f3f1 !important;}

html[data-ui-mode="dark"] .custom-home :is(.home-weather-small, .home-weather-calendar) {background: color-mix(in srgb, var(--surface-strong) 94%, #000);}

html[data-ui-mode="dark"] .custom-home .home-weather-small > small {color: var(--skin-text);}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > [data-home-widget] {background-color: color-mix(in srgb, var(--surface-strong) 28%, transparent) !important;
  border-color: color-mix(in srgb, #fff 16%, transparent) !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 10%, transparent),
    0 14px 34px color-mix(in srgb, #000 26%, transparent) !important;}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > .home-polaroid-one,
html[data-ui-mode="dark"] .custom-home .home-layout-widget .home-polaroid-three article {background-color: color-mix(in srgb, #fff 16%, transparent) !important;}

html[data-ui-mode="dark"] .custom-home :is(.home-wing-clock, .home-korean-ins, .home-ins-photos) {background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 28%, transparent), color-mix(in srgb, #fff 8%, transparent)) !important;
  border-color: color-mix(in srgb, #fff 16%, transparent) !important;}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > :is(.home-wing-clock, .home-korean-ins, .home-ins-photos) {background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 28%, transparent), color-mix(in srgb, #fff 8%, transparent)) !important;
  background-color: color-mix(in srgb, var(--surface-strong) 24%, transparent) !important;
  background-image: linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 28%, transparent), color-mix(in srgb, #fff 8%, transparent)) !important;
  border-color: color-mix(in srgb, #fff 16%, transparent) !important;}

html[data-ui-mode="dark"] #appScreen :is(.npc-batch-sources, .npc-batch-candidates, .npc-existing-panel, .npc-source-row, .npc-candidate-card) {background: rgba(24, 38, 51, .82); border-color: rgba(133, 183, 231, .2);}

html[data-ui-mode="dark"] #appScreen .npc-contact-filter select {background: rgba(255, 255, 255, .06); border-color: rgba(133, 183, 231, .2);}

html[data-ui-mode="dark"] #appScreen :is(.npc-source-row p, .npc-candidate-card p) {color: #b8c8d8;}

html[data-ui-mode="dark"] #appScreen .npc-source-tools button {background: rgba(255, 255, 255, .06);}

html[data-ui-mode="dark"] #appScreen .npc-group-filter {background: rgba(24, 38, 51, .9); border-color: rgba(133, 183, 231, .26); color: #e6eef6;}

html[data-ui-mode="dark"] #appScreen .api-profile-actions button.danger-soft {color: #ff8f86;}

html[data-ui-mode="dark"] .couple-app {--cp-cream: color-mix(in srgb, var(--surface-strong, #322029) 72%, #3b2530 28%);
  --cp-pearl: color-mix(in srgb, var(--surface, #251821) 76%, #fff1e4 7%);
  --cp-bg: color-mix(in srgb, var(--phone-bg, #1b1217) 78%, #2c1720 22%);
  --cp-stage: color-mix(in srgb, var(--surface-strong, #322029) 78%, #3a222b 22%);
  --cp-blush: color-mix(in srgb, var(--skin-accent, #d49aae) 38%, #7b3a49 62%);
  --cp-rose: color-mix(in srgb, var(--skin-accent, #d49aae) 68%, #d99aa2 32%);
  --cp-gold: color-mix(in srgb, var(--skin-accent-2, #8a5063) 42%, #c7a465 58%);
  --cp-text: var(--skin-text, #f3e5eb);
  --cp-title: var(--skin-title, #fff1f7);
  --cp-muted: var(--skin-muted, #c3a9b4);
  --cp-line: color-mix(in srgb, var(--skin-border, rgba(243,229,235,.15)) 76%, #c7a465 24%);
  --cp-shadow: 0 24px 78px rgba(0,0,0,.38);}

html[data-ui-mode="dark"] .char-phone-care {--care-bg: color-mix(in srgb, var(--phone-bg, #171a1f) 84%, #2d1b22 16%);
  --care-card: color-mix(in srgb, var(--surface-strong, #272c34) 82%, #302128 18%);
  --care-line: color-mix(in srgb, var(--skin-border, rgba(255,255,255,.15)) 76%, #b89a68 24%);}

html[data-ui-mode="dark"] .custom-home .home-clock-widget,
html[data-ui-mode="dark"] .custom-home .home-gallery-widget,
html[data-ui-mode="dark"] .custom-home .home-calendar-widget,
html[data-ui-mode="dark"] .custom-home .home-layout-widget > [data-home-widget]:not(.home-image-frame):not(.home-frame-2x2) {background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--surface-strong) 35%, transparent) 0%,
    color-mix(in srgb, var(--surface-strong) 10%, transparent) 100%
  ) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.15),
    0 16px 40px -8px rgba(0, 0, 0, 0.4) !important;}

html[data-ui-mode="dark"] .custom-home {--home-preview-sub: color-mix(in srgb, var(--skin-text, #f7f8fb) 66%, transparent);
  --home-preview-card: rgba(255,255,255,.13);
  --home-preview-card-strong: rgba(255,255,255,.18);}

:root[data-ui-mode="dark"] input,
:root[data-ui-mode="dark"] textarea,
:root[data-ui-mode="dark"] select,
:root[data-ui-mode="dark"] .mini-select,
:root[data-ui-mode="dark"] .radio-select,
:root[data-ui-mode="dark"] .radio-char-filter,
:root[data-ui-mode="dark"] .radio-slot-field,
:root[data-ui-mode="dark"] .ra-input-group,
:root[data-ui-mode="dark"] .moss-input,
:root[data-ui-mode="dark"] .settings-input {background: var(--surface) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;}

:root[data-ui-mode="dark"] input::placeholder,
:root[data-ui-mode="dark"] textarea::placeholder {color: color-mix(in srgb, var(--skin-muted) 72%, transparent) !important;}

:root[data-ui-mode="dark"] .contacts-page {background: transparent !important;
  color: var(--skin-text) !important;}

:root[data-ui-mode="dark"] .thread-row,
:root[data-ui-mode="dark"] .contact-row,
:root[data-ui-mode="dark"] .moment-post,
:root[data-ui-mode="dark"] .moment-card {background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;}

:root[data-ui-mode="dark"] .thread-row strong,
:root[data-ui-mode="dark"] .contact-row strong,
:root[data-ui-mode="dark"] .radio-card-meta strong,
:root[data-ui-mode="dark"] .radio-card-v2 strong,
:root[data-ui-mode="dark"] .settings-row strong,
:root[data-ui-mode="dark"] .moss-album-hero h2 {color: var(--skin-title) !important;}

:root[data-ui-mode="dark"] .thread-row small,
:root[data-ui-mode="dark"] .contact-row small,
:root[data-ui-mode="dark"] .radio-card-meta small,
:root[data-ui-mode="dark"] .radio-content,
:root[data-ui-mode="dark"] .settings-row span,
:root[data-ui-mode="dark"] .moss-album-hero p {color: var(--skin-muted) !important;}

:root[data-ui-mode="dark"] .moss-album-tabs button.active,
:root[data-ui-mode="dark"] .moss-album-role-strip button.active,
:root[data-ui-mode="dark"] .radio-card-actions button[data-radio-play] {background: color-mix(in srgb, var(--skin-accent) 32%, var(--surface-strong)) !important;
  color: var(--skin-title) !important;
  border-color: color-mix(in srgb, var(--skin-accent) 55%, transparent) !important;}

html[data-ui-mode="dark"] :is(#appScreen,#appBody) {--moss-dark-page: var(--tone-page, var(--page-bg, #110d0b));
  --moss-dark-phone: var(--tone-phone, var(--phone-bg, #17131a));
  --moss-dark-surface: var(--tone-surface, var(--surface, #241c22));
  --moss-dark-surface-strong: var(--tone-surface-strong, var(--surface-strong, #2d222a));
  --moss-dark-text: var(--tone-text, var(--skin-text, #f1e6dc));
  --moss-dark-title: var(--tone-title, var(--skin-title, #fff5ec));
  --moss-dark-muted: var(--tone-muted, var(--skin-muted, #b6a79b));
  --moss-dark-line: var(--tone-line, var(--skin-border, rgba(239,219,202,.13)));
  --moss-dark-accent: var(--tone-accent, var(--skin-accent, #c39a78));
  --surface: var(--moss-dark-surface) !important;
  --surface-strong: var(--moss-dark-surface-strong) !important;
  --skin-surface: var(--moss-dark-surface) !important;
  --skin-panel: var(--moss-dark-surface-strong) !important;
  --skin-text: var(--moss-dark-text) !important;
  --skin-title: var(--moss-dark-title) !important;
  --skin-muted: var(--moss-dark-muted) !important;
  --skin-border: var(--moss-dark-line) !important;
  --phone-bg: var(--moss-dark-phone) !important;
  --page-bg: var(--moss-dark-page) !important;
  --ed-bg: var(--moss-dark-page) !important;
  --ed-surface: var(--moss-dark-surface) !important;
  --ed-surface-strong: var(--moss-dark-surface-strong) !important;
  --ed-text: var(--moss-dark-text) !important;
  --ed-muted: var(--moss-dark-muted) !important;
  --ed-line: var(--moss-dark-line) !important;
  color: var(--moss-dark-text) !important;}

html[data-ui-mode="dark"] body.theme-apple {--surface: #202229 !important;
  --surface-strong: #292c34 !important;
  --surface-glass: #292c34 !important;
  --widget-glass-color: #292c34 !important;}

html[data-ui-mode="dark"] body.theme-apple :is(
  .radio-card-v2,
  .radio-show-panel-v2,
  .rsp-summary,
  .rsp-body,
  .rsp-input-wrap,
  .rsp-block-highlight,
  .moss-album-hero,
  .moss-album-edit-bar,
  .moss-album-role-strip button,
  .moss-album-tabs button,
  .moss-album-stat-row article,
  .moss-album-empty
) {background-color: var(--surface-strong, #292c34) !important;
  background-image: none !important;
  border-color: var(--skin-border, rgba(255,255,255,.105)) !important;
  color: var(--skin-text, #e4e7ec) !important;}

html[data-ui-mode="dark"] body.theme-apple #homeScreen {background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

html[data-ui-mode="dark"] {--moss-ui-accent-strong: color-mix(in srgb, var(--moss-ui-accent) 86%, #fff 14%);
  --moss-ui-accent-soft: color-mix(in srgb, var(--moss-ui-accent) 19%, #20242a 81%);
  --moss-ui-canvas: color-mix(in srgb, var(--phone-bg, #181a1e) 94%, #0d0f12 6%);
  --moss-ui-surface: color-mix(in srgb, var(--surface-strong, #24272d) 94%, #fff 6%);
  --moss-ui-surface-soft: color-mix(in srgb, var(--surface, #202329) 92%, #fff 8%);
  --moss-ui-line: color-mix(in srgb, #fff 10%, transparent);
  --moss-ui-line-strong: color-mix(in srgb, #fff 16%, transparent);
  --moss-ui-shadow-1: 0 1px 2px rgba(0,0,0,.22);
  --moss-ui-shadow-2: 0 12px 34px rgba(0,0,0,.24);}

html[data-ui-mode="dark"] body {--moss-ui-accent-strong: color-mix(in srgb, var(--moss-ui-accent) 86%, #fff 14%);
  --moss-ui-accent-soft: var(--tone-soft, color-mix(in srgb, var(--moss-ui-accent) 19%, var(--surface-strong, #20242a) 81%));
  --moss-ui-canvas: var(--phone-bg, var(--tone-phone, #181a1e));
  --moss-ui-surface: var(--surface-strong, var(--tone-surface-strong, #24272d));
  --moss-ui-surface-soft: color-mix(in srgb, var(--surface, var(--tone-surface, #202329)) 92%, #fff 8%);
  --moss-ui-line: var(--skin-border, var(--tone-line, rgba(255,255,255,.10)));
  --moss-ui-line-strong: color-mix(in srgb, #fff 16%, transparent);}

html[data-ui-mode="dark"] body {--moss-ui-accent-soft: color-mix(in srgb, var(--moss-ui-accent) 8%, var(--moss-ui-surface) 92%);
  --moss-ui-accent-line: color-mix(in srgb, var(--moss-ui-accent) 20%, var(--moss-ui-line));
  --moss-ui-accent-wash: color-mix(in srgb, var(--moss-ui-accent) 4%, var(--moss-ui-surface) 96%);}

html[data-ui-mode="dark"] .tavern-native-card {background: color-mix(in srgb, var(--surface-strong, #171a20) 90%, transparent);
  border-color: color-mix(in srgb, var(--skin-border, rgba(255,255,255,.16)) 76%, transparent);}

html[data-ui-mode="dark"] .tavern-native-card > summary,
html[data-ui-mode="dark"] .tavern-choice-grid button {color: var(--skin-text, #eee8dd);}

html[data-ui-mode="dark"] .tavern-summary-card,
html[data-ui-mode="dark"] .tavern-foreshadow-card,
html[data-ui-mode="dark"] .tavern-sidestory-card,
html[data-ui-mode="dark"] .tavern-interlude-card {background: color-mix(in srgb, var(--surface-strong, #171a20) 88%, transparent);}

html[data-ui-mode="dark"] .tavern-choice-grid button {background: color-mix(in srgb, #10141b 82%, transparent);}

html[data-ui-mode="dark"] .cedar-bind-steps article {background:#161e1a;border-color:#33433b;color:#9faea6;}

html[data-ui-mode="dark"] .cedar-bind-steps article strong {color:#dce7e1;}

html[data-ui-mode="dark"] .cedar-bind-steps article.active,
html[data-ui-mode="dark"] .cedar-bind-steps article.done {background:#1e2b24;border-color:#3b5748;}

html[data-ui-mode="dark"] .cedar-recovery-card {background:#18231d;border-color:#344b3e;}

html[data-ui-mode="dark"] .cedar-recovery-card code {color:#bed2c7;}

html[data-ui-mode="dark"] .cedar-linked-identity {background:#151e19;border-color:#344b3e;}

html[data-ui-mode="dark"] .cedar-linked-identity>span {background:#1d2a23;}

html[data-ui-mode="dark"] .cedar-linked-identity strong {color:#d5e2db;}

html[data-ui-mode="dark"] .cedar-game-quickstart {border-color:#344b3e;background:#18231d}

html[data-ui-mode="dark"] .cedar-auto-run,
html[data-ui-mode="dark"] .cedar-auto-run.enabled {border-color:#345044!important;background:linear-gradient(145deg,#1a2720,#17221c)!important}

html[data-ui-mode="dark"] .cedar-auto-run header h3,
html[data-ui-mode="dark"] .cedar-auto-status strong {color:#d9e8df}

html[data-ui-mode="dark"] .cedar-auto-controls select,
html[data-ui-mode="dark"] .cedar-auto-status {border-color:#3a5045;background:#202e27;color:#d8e5de}

html[data-ui-mode="dark"] .cedar-auto-status p,
html[data-ui-mode="dark"] .cedar-auto-footnote {color:#aab9b1}

html[data-ui-mode="dark"] .cedar-work-dashboard {background:linear-gradient(145deg,#1b2721,#17201c)!important}

html[data-ui-mode="dark"] .cedar-work-dashboard header h3,
html[data-ui-mode="dark"] .cedar-work-identity strong,
html[data-ui-mode="dark"] .cedar-work-meter strong,
html[data-ui-mode="dark"] .cedar-work-money strong {color:#dce9e2}

html[data-ui-mode="dark"] .cedar-work-identity span,
html[data-ui-mode="dark"] .cedar-work-meter,
html[data-ui-mode="dark"] .cedar-work-story p,
html[data-ui-mode="dark"] .cedar-work-empty {background:#202e27;border-color:#34473d;color:#afbeb6}

html[data-ui-mode="dark"] .cedar-work-money article {background:#22352b;color:#adbbb4}

html[data-ui-mode="dark"] #appScreen.live-screen-active > .app-body:not([data-live-view="room"]) {background: #141416 !important;}

html[data-ui-mode="dark"] .live-app {--live-ink: #f2f2f3;
  --live-muted: #aaaab0;
  --live-line: rgba(255, 255, 255, .09);
  --live-paper: #202024;
  --live-canvas: #141416;}

html[data-ui-mode="dark"] .live-page-header {background: rgba(20, 20, 22, .92);}

html[data-ui-mode="dark"] .live-icon-button {color: var(--live-ink);
  background: transparent;}

html[data-ui-mode="dark"] .live-field input,
html[data-ui-mode="dark"] .live-field select,
html[data-ui-mode="dark"] .live-mode-choice,
html[data-ui-mode="dark"] .live-segmented button,
html[data-ui-mode="dark"] .live-memory-options button {color: var(--live-ink);
  background: #242428;}

html[data-ui-mode="dark"] .live-form-section,
html[data-ui-mode="dark"] .live-preflight-summary div,
html[data-ui-mode="dark"] .live-history-row,
html[data-ui-mode="dark"] .live-active-card,
html[data-ui-mode="dark"] .live-summary-card,
html[data-ui-mode="dark"] .live-detail-meta,
html[data-ui-mode="dark"] .live-settlement-stats div {background: var(--live-paper);}

html[data-ui-mode="dark"] .live-mode-choice.is-selected {color: #151518;
  background: #f1f1f2;
  border-color: #f1f1f2;}

html[data-ui-mode="dark"] .live-mode-choice.is-selected span {color: rgba(20, 20, 23, .6);}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-couple-photo-gray) {color: rgba(234,237,241,.9);
  border-color: rgba(255,255,255,.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(44,48,55,.24)),
    rgba(29,32,38,.58) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);}

html[data-ui-mode="dark"] .custom-home :is(.home-diary-ins-small, .home-diary-ins-wide) :is(.home-diary-meta, .home-diary-entry-title, p, .home-diary-today) {color: rgba(232,235,240,.78);}

html[data-ui-mode="dark"] .custom-home .home-diary-month {color: rgba(245,247,250,.92); background: rgba(113,118,126,.66);}

html[data-ui-mode="dark"] .custom-home .home-diary-line {background: rgba(219,223,229,.15);}

html[data-ui-mode="dark"] .custom-home .home-couple-gray-label {color: rgba(220,224,230,.72); background: rgba(76,81,89,.58);}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-couple-photo-gray) {border-color: rgba(255,255,255,.12) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(44,48,55,.24)),
    rgba(29,32,38,.58) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12) !important;}

html[data-ui-mode="dark"] .custom-home .home-weather-query-gray {color: #eff2f5;
  background: linear-gradient(145deg, rgba(45,49,55,.86), rgba(28,31,35,.72));
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 20px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);}

html[data-ui-mode="dark"] .home-weather-query-temperature {background: rgba(255,255,255,.07);}

html[data-ui-mode="dark"] .home-weather-query-gray :is(.home-weather-query-week, > b, > small) {color: rgba(235,239,244,.48);}

html[data-ui-mode="dark"] .home-weather-query-line i::before {background: #52565b;}

html[data-ui-mode="dark"] .home-weather-query-line i::after {background: #73777c;}

html[data-ui-mode="dark"] .home-weather-query-battery i {background: #5d6268;}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > .home-weather-query-gray {color: #eff2f5 !important;
  background-color: rgba(34,37,42,.84) !important;
  background-image: linear-gradient(145deg, rgba(45,49,55,.86), rgba(28,31,35,.72)) !important;
  border-color: rgba(255,255,255,.1) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;}

html[data-ui-mode="dark"] .custom-home .home-layout-widget > .home-weather-query-gray[data-home-widget="weather-query-gray"]:not(.home-image-frame):not(.home-frame-2x2) {background-color: rgba(34,37,42,.84) !important;
  background-image: linear-gradient(145deg, rgba(45,49,55,.86), rgba(28,31,35,.72)) !important;}

html[data-ui-mode="dark"] .favorite-inline-player .favorite-voice-card {color: var(--skin-text);
  background: rgba(49, 52, 70, .9);
  border-color: rgba(171, 162, 238, .2);}

html[data-ui-mode="dark"] .favorite-inline-player :is(.favorite-voice-head, .favorite-voice-head strong, .favorite-voice-card p, .favorite-voice-card small) {color: var(--skin-text);}

html[data-ui-mode="dark"] .app-body.ying-app-active {background:#232321!important}

html[data-ui-mode="dark"] .custom-home .home-weather-query-metric > b {color: rgba(235,239,244,.48);}

/*# source: assets/css/foundation/shell.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.phone {position: relative;
  width: 100%;
  height: var(--app-height);
  overflow: hidden;
  background: #101216;}

.screen {position: absolute;
  inset: 0;
  display: none;
  overflow: hidden;
  background: #171a20 var(--wallpaper-image, url("data:image/webp;base64,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")) center / cover no-repeat;}

.app-screen {padding-top: calc(60px + var(--safe-top));
  background: #f4f6fa;
  color: #17181c;}

.phone {position: relative;
  width: 100%;
  max-width: none;
  height: var(--app-height);
  min-height: var(--app-height);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #101216;
  box-shadow: none;}

.screen {position: absolute;
  inset: 0;
  display: none;
  overflow: hidden;
  overscroll-behavior: contain;
  background: #171a20 var(--wallpaper-image, url("data:image/webp;base64,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")) center / cover no-repeat;}

.screen.active {display: block;}

.app-icon {display: grid;
  place-items: center;
  gap: 7px;
  color: var(--text);
  background: transparent;}

.app-screen {padding-top: calc(60px + var(--safe-top));
  background: #f4f6fa;
  color: var(--app-font-color);}

.app-body {height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: calc(54px + var(--safe-top)) 0 0;}

.forward-picker-sheet header {display: flex;
  align-items: center;
  justify-content: space-between;}

.app-screen .moss-account-tabs {display: flex;
  gap: 8px;
  padding: 4px;
  border-radius: 14px;
  background: rgba(113, 153, 153, .13);}

@media (max-width: 480px) {
.phone {width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;}
}

.phone {width: 100vw;
  max-width: none;
  height: var(--app-height, 100dvh);
  min-height: var(--app-height, 100dvh);
  border: 0;
  border-radius: 0;
  background: var(--phone-bg);
  box-shadow: none;}

.screen {background: var(--skin-home);
  color: var(--skin-text);}

.app-screen {background: var(--phone-bg);
  color: var(--skin-text);}

.app-icon .icon-face:not(.custom-icon) {background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;}

@media (display-mode: standalone) {
.phone {width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;}
}

@media (max-width: 520px) {
.phone {width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;}
}

.phone {background: var(--phone-bg) !important;}

.screen {background: var(--skin-home) !important;}

.screen {background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02)),
    var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

.app-screen {padding-top: 0 !important;
  background: var(--phone-bg) !important;}

.app-body {padding: calc(54px + env(safe-area-inset-top, 0px)) 0 0 !important;}

.phone {width: 100vw !important;
  max-width: none !important;
  height: var(--app-height) !important;
  min-height: var(--app-height) !important;
  margin: 0 !important;}

.app-body {background:
    linear-gradient(180deg, color-mix(in srgb, var(--phone-bg) 92%, transparent), var(--phone-bg)),
    var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

.phone,
.screen,
.app-screen,
.app-body {max-width: 100vw !important;
  overflow-x: hidden !important;}

@media (display-mode: standalone) {
.phone,
.screen,
.app-screen {height: var(--standalone-full-height) !important;
    min-height: var(--standalone-full-height) !important;}
.phone,
.screen {background-color: var(--phone-bg) !important;}
}

@media (min-width: 720px) {
.phone {width: min(430px, 100vw) !important;
    max-height: min(932px, calc(100vh - 56px)) !important;
    border-radius: 38px !important;
    box-shadow: 0 28px 80px rgba(35, 25, 18, 0.24) !important;}
}

.phone,
.screen,
.app-screen,
.app-body {background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;}

.app-screen {display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding-top: calc(58px + var(--safe-top)) !important;
  padding-bottom: max(var(--safe-bottom), var(--browser-bottom-reserve)) !important;}

.app-body {flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain;}

.phone,
.screen {background-color: var(--page-bg) !important;}

.phone,
.screen,
.app-screen,
.app-body,
.world-app {color: var(--skin-text) !important;}

.screen {background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;}

.app-screen,
.app-body,
.world-app {background: var(--phone-bg) !important;}

.app-screen {display: flex !important;
  flex-direction: column !important;
  padding-top: calc(58px + var(--safe-top)) !important;
  padding-bottom: calc(var(--safe-bottom) + var(--browser-bottom-reserve)) !important;
  overflow: hidden !important;}

.app-body {flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;}

.world-app {padding: var(--skin-page-pad) !important;}

.screen:not(.active),
.app-screen:not(.active) {display: none !important;}

.app-screen.active {display: flex !important;}

.app-screen {padding-top: calc(58px + var(--safe-top)) !important;
  padding-bottom: calc(var(--safe-bottom) + var(--browser-bottom-reserve)) !important;}

.app-icon {position: relative;}

.x-tweet-content {margin: 9px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--skin-text);
  white-space: pre-wrap;}

.phone-flip-stage {transform-origin: center;
  backface-visibility: hidden;
  animation: phoneFlipIn 0.46s ease;}

#appScreen .phone-account-label,
#appScreen .phone-account-alert {display: block; margin-top: 2px; color: #b05b67; font-size: 10px; font-weight: 700;}

.news-app {min-height:calc(100dvh - 112px);padding:14px 14px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#f7fafc 0%,#edf4f8 100%);color:#21313f}

.news-share-sheet header {display:flex;align-items:center;justify-content:space-between;gap:12px}

.news-share-sheet header small {display:block;color:#6e8190;font-weight:900;letter-spacing:.12em}

.news-share-sheet header strong {display:block;margin-top:2px;font-size:22px}

.app-screen {background: var(--phone-bg, #f4f6f8);}

.rc-content {flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px;}

.rsp-track-container {display: flex; flex-direction: column; gap: 8px;}

.rsp-footer {margin-top: 10px; padding-top: 24px; border-top: 1px dashed var(--skin-border, rgba(0,0,0,.12));}

.cute-body-content {color: var(--diary-text-main); font: 500 17px/30px var(--diary-hand-font); white-space: pre-wrap; word-break: break-word;}

.cute-sticky-note footer {display: flex; justify-content: space-between; gap: 8px; color: #9e935c; font-size: 12px;}

.cute-paper-footer {display: grid; gap: 12px; margin-top: 24px; padding: 16px 0 4px; border-top: 1px solid var(--diary-border);}

@media (max-width: 380px) {
.cute-body-content {font-size: 16px;}
}

.script-header {display: flex; justify-content: space-between; align-items: center; gap: 10px;}

.phone,
.screen {width: 100vw !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;}

.phone,
.screen,
.app-screen {background-clip: border-box !important;}

@media (display-mode: standalone) {
.phone,
.screen,
.app-screen {height: var(--standalone-full-height, 100vh) !important;
    min-height: var(--standalone-full-height, 100vh) !important;
    max-height: var(--standalone-full-height, 100vh) !important;}
.phone {border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;}
.screen {inset: 0 !important;
    bottom: 0 !important;
    background-size: cover !important;}
.app-screen {padding-bottom: var(--safe-bottom) !important;}
}

.phone,
.screen,
.app-screen,
.app-body {max-width: 100%;
  overflow-x: clip;}

.app-body {padding-top: calc(var(--moss-ui-header-height) + var(--safe-top)) !important;
  background: var(--moss-ui-canvas) !important;
  color: var(--moss-ui-text) !important;}

#appScreen .app-body {padding-top: 0 !important;}

#appScreen .app-body > * {width: 100%;
  min-width: 0;
  max-width: 100%;}

#appScreen .phone-flip-knob {background: var(--moss-live-charcoal, #1c1c1b) !important;}

#appScreen .news-app {min-height: 100%;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;}

#appScreen .phone-flip-knob {display: grid;
  place-items: center;}

.app-body {-webkit-overflow-scrolling: touch;}

/*# source: assets/css/foundation/shared.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
* {box-sizing: border-box;
  scrollbar-width: none;
  -ms-overflow-style: none;}

*::-webkit-scrollbar {display: none;}

.icon-face {width: 58px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.34), 0 8px 20px rgba(0, 0, 0, 0.22);}

* {box-sizing: border-box;}

* {scrollbar-width: none;
  -ms-overflow-style: none;}

*::-webkit-scrollbar {width: 0;
  height: 0;
  display: none;}

.dynamic-island {position: absolute;
  z-index: 20;
  top: max(10px, var(--safe-top));
  left: 50%;
  width: 118px;
  height: 33px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #050608;}

.signal {display: inline-flex;
  align-items: end;
  gap: 3px;}

.signal span {width: 4px;
  border-radius: 5px;
  background: var(--text);}

.signal span:nth-child(1) {height: 7px;}

.signal span:nth-child(2) {height: 10px;}

.signal span:nth-child(3) {height: 13px;}

.icon-face {width: var(--icon-size, 58px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.34), 0 8px 20px rgba(0, 0, 0, 0.22);}

.custom-icon {background-position: center;
  background-size: cover;}

.image-hotspot {display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 16px;
  background: transparent;}

.people-gradient {background: linear-gradient(145deg, #ffba3a, #ff5a79);}

.map-gradient {background: linear-gradient(145deg, #67d87a, #3b8cff 52%, #f8d64e);}

.weather-gradient {background: linear-gradient(145deg, #7fd5ff, #246bff);}

.world-gradient {background: linear-gradient(145deg, #2f4052, #30c7a0);}

.beauty-gradient {background: linear-gradient(145deg, #ff8bb4, #f5c44f 55%, #55d4df);}

.streaming-caret {display: inline-block;
  width: 2px;
  height: 1em;
  margin-left: 3px;
  vertical-align: -2px;
  background: currentColor;
  opacity: .65;
  animation: moss-stream-caret .85s steps(1) infinite;}

.forward-picker-overlay {position: fixed;
  inset: 0;
  z-index: 210;
  display: grid;
  align-items: end;
  padding: 18px;
  background: rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}

.forward-picker-sheet {display: grid;
  gap: 12px;
  width: min(100%, 460px);
  max-height: min(72vh, 620px);
  margin: 0 auto;
  padding: 16px;
  border-radius: 24px;
  background: var(--surface-strong, #fff);
  color: var(--skin-text, #17181c);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);}

.forward-picker-char {display: grid;
  grid-template-columns: auto 46px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 9px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--phone-bg) 72%, transparent);}

.forward-picker-char span {min-width: 0;}

.forward-picker-char small {display: block;
  overflow: hidden;
  color: var(--skin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;}

.forward-picker-confirm {min-height: 46px;
  border: 0;
  border-radius: 18px;
  background: #171b22;
  color: #fff;
  font-weight: 900;}

.check-pill {display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 14px;
  background: #f3f5f9;
  color: #252a31;}

.danger-zone {border-color: color-mix(in srgb, #e34b55 32%, var(--skin-border)) !important;}

.world-group {display: grid;
  gap: 8px;}

.world-group h3 {margin: 6px 2px 0;
  color: #5c6470;
  font-size: 14px;}

.world-actions {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.world-group {display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  background: var(--surface);}

.world-group summary {min-height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: var(--skin-text);
  font-weight: 900;
  list-style: none;}

.world-group summary::-webkit-details-marker {display: none;}

.world-group summary em {padding: 4px 10px;
  border-radius: 999px;
  color: var(--skin-muted);
  background: var(--surface-strong);
  font-style: normal;
  font-size: 12px;}

.icon-editor {display: grid;
  gap: 10px;}

.face-lock-preview {width: 64px;
  height: 64px;
  border-radius: 16px;
  object-fit: cover;
  background: #e7eaf0;
  border: 1px solid rgba(0, 0, 0, 0.08);
  flex: 0 0 auto;}

.face-lock-preview[data-empty="1"] {visibility: hidden;
  width: 0;
  height: 0;
  border: 0;
  margin: 0;}

.face-lock-actions {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;}

.visual-identity-entry {align-items: stretch;}

.visual-identity-copy {min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 3px;
  align-content: center;}

.visual-identity-copy strong,
.visual-identity-copy small,
.visual-identity-copy p {min-width: 0;
  margin: 0;}

.visual-identity-copy small {color: var(--tone-muted, #74808a);
  font-size: 12px;}

.visual-identity-page h2 {margin: 0 0 8px;}

.visual-identity-hero {display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 10px 0 14px;}

.visual-identity-hero h2,
.visual-identity-hero p {margin: 0;}

.visual-identity-hero p {margin-top: 4px;
  color: var(--tone-muted, #74808a);
  font-size: 12px;
  line-height: 1.45;}

.visual-identity-image {width: 96px;
  aspect-ratio: 3 / 4;
  border: 0;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  background: #e8edf3;}

.visual-identity-image img {width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;}

.visual-identity-controls {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.visual-identity-use {min-height: 30px;
  padding: 5px 8px;
  font-size: 12px;}

.visual-identity-actions {margin: 0;}

@media (max-width: 430px) {
.visual-identity-controls {grid-template-columns: 1fr;}
.visual-identity-image {width: 100%;
    aspect-ratio: 16 / 10;}
}

.mini-color {width: 38px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;}

.theme-swatch {min-height: 92px;
  align-content: end;
  padding: 10px;
  color: #fff;
  text-align: left;
  background: #232832;}

.theme-swatch.aurora {background: linear-gradient(145deg, #172128, #47d49f 52%, #f0bd43);}

.sunrise {background: linear-gradient(145deg, #ffca73, #ff6c80 55%, #4e7cff);}

.ocean {background: linear-gradient(145deg, #45d0c5, #0a65c8);}

.city {background: linear-gradient(145deg, #303846, #7f8ea3 58%, #ffd479);}

.forest {background: linear-gradient(145deg, #1f8d63, #b8d86a);}

@media (max-width: 480px) {
.icon-face {width: clamp(48px, 14vw, 58px);
    border-radius: 15px;}
}

.plus-action-icon {width: 38px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #7d8b9b, #2f3742);
  background-position: center;
  background-size: cover;
  font-weight: 900;}

.custom-icon {position: relative;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;}

.custom-icon::after {content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.22), transparent 58%);
  pointer-events: none;}

.plus-action-icon:not(.custom-icon) {color: var(--glass-icon-text) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.035)),
    var(--glass-icon-bg) !important;
  border: 1px solid var(--glass-icon-border) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.18), 0 8px 22px rgba(0, 0, 0, 0.12) !important;
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);}

.plus-action-icon.custom-icon {background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;}

.dynamic-island {display: none !important;}

.note-delete {justify-self: start;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.inline-actions {display: flex;
  flex-wrap: wrap;
  gap: 10px;}

.legend-start {background: #ff8fab;}

.legend-range {background: color-mix(in srgb, #ff8fab 36%, transparent);}

.legend-predict {background: #ffd166;}

.continue-hit {position: absolute;
  inset: 0;
  z-index: 3;
  background: transparent;
  border: 0;
  cursor: pointer;}

.continue-enter {position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  color: var(--phone-bg);
  background: var(--skin-text);}

.world-actions {align-items: center;}

#appTitle {grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;}

.icon-face {width: var(--icon-size, 58px) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, var(--surface-strong), color-mix(in srgb, var(--surface) 80%, var(--skin-accent) 20%)) !important;
  border: 1px solid var(--skin-border) !important;
  color: var(--skin-accent-2) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text) 9%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;}

.icon-face {width: var(--icon-size, 58px) !important;
  height: var(--icon-size, 58px) !important;
  flex: 0 0 auto !important;
  border-radius: 18px !important;
  border: 1px solid var(--skin-border) !important;
  color: var(--skin-accent-2) !important;
  background: linear-gradient(145deg, var(--surface-strong), color-mix(in srgb, var(--surface) 80%, var(--skin-accent) 20%)) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text) 9%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;}

.forward-picker-sheet {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

#appTitle {min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;}

.world-group,
.forward-picker-sheet {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.forward-picker-overlay {background: rgba(34, 26, 20, 0.42) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;}

.forward-picker-sheet {background: var(--surface-strong) !important;}

#appTitle {inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;}

#appTitle {position: absolute !important;
  inset: 0 var(--skin-control-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 8px !important;
  color: var(--skin-title) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: none !important;}

.theme-swatch.apple {color: #3a4048;
  background:
    radial-gradient(circle at 18% 12%, rgba(205, 221, 241, 0.95), transparent 34%),
    linear-gradient(145deg, #ffffff, #eef2f7 70%, #e5ebf3);}

.crm-hot {position: absolute; border: 0; background: transparent; padding: 0; cursor: pointer;}

.crm-ring {position: absolute; inset: 0; border-radius: 14px; transition: box-shadow .2s;}

.crm-hot:active .crm-ring {box-shadow: 0 0 0 1.5px rgba(255,214,166,.6), 0 0 22px rgba(255,183,132,.4);}

.crm-tip {position: absolute; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%); font-size: 10.5px; font-weight: 800; white-space: nowrap; color: #1a1206; background: rgba(255,214,166,.92); padding: 3px 8px; border-radius: 8px; box-shadow: 0 6px 14px rgba(0,0,0,.35); display: none;}

.crm-hot::after {content: ""; position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border-radius: 50%; background: rgba(255,214,166,.85); box-shadow: 0 0 8px rgba(255,183,132,.7);}

.transfer-compose-preview {position: relative;
  overflow: hidden;
  display: grid;
  gap: 5px;
  padding: 16px 16px 14px;
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(135deg, #f2b75a 0%, #df8a35 48%, #bf6827 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 14px 26px rgba(149, 83, 26, .18);}

.transfer-compose-preview::after {content: "¥";
  position: absolute;
  right: 12px;
  bottom: -30px;
  font-size: 112px;
  font-weight: 950;
  opacity: .13;}

.transfer-compose-preview span,
.transfer-compose-preview small {position: relative;
  z-index: 1;
  font-size: 12px;
  color: rgba(255,255,255,.82);}

.transfer-compose-preview strong {position: relative;
  z-index: 1;
  font-size: 36px;
  line-height: 1.05;
  letter-spacing: -.03em;}

.xhs-link-cover {width: 68px;
  min-height: 88px;
  border-radius: 13px;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #ff2442, #b61e35);
  font-size: 13px;
  font-weight: 950;}

.xhs-link-cover img {width: 100%;
  height: 100%;
  object-fit: cover;}

.xhs-link-info {min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;}

.xhs-link-kicker {color: #d32941;
  font-size: 11px;
  font-weight: 950;}

.xhs-link-info strong {overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--skin-text, #251d18);
  font-size: 14px;
  line-height: 1.35;}

.xhs-link-info small {overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: var(--skin-muted, #736456);
  font-size: 12px;
  line-height: 1.45;}

.xhs-link-info em {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #a9404e;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;}

.x-gradient {background: linear-gradient(145deg, #15181c, #2b3138); color: #fff;}

.x-profile {flex: 0 0 auto;
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 72%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 60%, transparent);
  overflow: hidden;}

.x-stat {display: flex; gap: 4px; align-items: baseline; font-size: 13px;}

.x-stat strong {font-size: 15px; color: var(--skin-text);}

.x-stat span {opacity: 0.55;}

.x-feed {display: flex; flex-direction: column; gap: 10px;}

.x-tweet {border-radius: 16px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 55%, transparent);}

.x-tweet-head {display: flex; align-items: center; gap: 10px;}

.x-tweet-id {display: grid; gap: 1px; min-width: 0;}

.x-tweet-id strong {font-size: 14px; color: var(--skin-text);}

.x-tweet-id small {font-size: 11px; opacity: 0.55;}

.x-tweet-image {margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent, #6c8cff) 14%, transparent), color-mix(in srgb, var(--skin-accent-2, #33d6ad) 12%, transparent));
  border: 1px dashed color-mix(in srgb, var(--skin-border, #cdd5e2) 70%, transparent);}

.x-tweet-image span {flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: color-mix(in srgb, var(--skin-text, #2a3240) 12%, transparent);
  font-size: 13px;}

.x-tweet-image p {margin: 0; font-size: 12px; line-height: 1.5; opacity: 0.78;}

.x-tweet-actions {display: flex;
  gap: 20px;
  margin-top: 11px;
  font-size: 12px;
  opacity: 0.62;}

.x-tweet-action {display: inline-flex; gap: 5px;}

.x-comments {margin-top: 11px;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 45%, transparent);}

.x-comment {display: flex; gap: 8px; align-items: flex-start;}

.x-comment-body {font-size: 13px; line-height: 1.5; color: color-mix(in srgb, var(--skin-text, #1b2330) 90%, transparent);}

.x-comment-name {font-weight: 600; margin-right: 6px; color: var(--skin-text);}

.text-image-compose-preview {min-height: 132px;
  max-height: 220px;
  overflow: auto;
  padding: 18px;
  border: 1px solid rgba(42, 49, 61, 0.1);
  border-radius: 7px;
  color: #30343b;
  background: #f4f4f1;
  box-shadow: 0 5px 14px rgba(27, 32, 40, 0.08);
  font-size: 15px;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;}

#appScreen,
#appBody {--surface: var(--ed-surface) !important;
  --surface-strong: var(--ed-surface-strong) !important;
  --skin-surface: var(--ed-surface) !important;
  --skin-panel: var(--ed-surface-strong) !important;
  --skin-accent: var(--ed-accent) !important;
  --skin-accent-2: var(--ed-accent) !important;
  --skin-text: var(--ed-text) !important;
  --skin-title: var(--ed-text) !important;
  --skin-muted: var(--ed-muted) !important;
  --skin-border: var(--ed-line) !important;
  --skin-button: var(--ed-accent-soft) !important;
  --skin-button-text: var(--ed-accent) !important;
  --skin-shadow: 0 1px 2px color-mix(in srgb, var(--ed-text) 6%, transparent) !important;
  --skin-shadow-float: 0 6px 18px color-mix(in srgb, var(--ed-text) 8%, transparent) !important;
  --phone-bg: var(--ed-bg) !important;
  --page-bg: var(--ed-bg) !important;
  --ink: var(--ed-text) !important;
  --text: var(--ed-text) !important;
  --muted: var(--ed-muted) !important;
  --line: var(--ed-line) !important;
  --app-font-color: var(--ed-text) !important;}

#appScreen,
#appBody {--rule-ink: #25303b !important;
  --rule-muted: #6c7985 !important;
  --rule-moss: #5b89bc !important;}

.wing-shape {width: 100%;
  height: 46px;
  opacity: .62;
  background:
    radial-gradient(circle at 14px 12px, color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 14%, transparent) 0 2px, transparent 3px),
    radial-gradient(circle at 25px 23px, color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 14%, transparent) 0 2px, transparent 3px),
    radial-gradient(circle at 38px 14px, color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 14%, transparent) 0 2px, transparent 3px);
  background-size: 15px 15px;
  border: 4px solid color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 17%, transparent);
  border-radius: 58% 42% 58% 42%;
  filter: drop-shadow(0 2px 0 color-mix(in srgb, #fff 24%, transparent));}

.wing-shape.left {border-right-width: 2px;
  transform: rotate(15deg) skewX(-8deg);}

.wing-shape.right {border-left-width: 2px;
  transform: scaleX(-1) rotate(15deg) skewX(-8deg);}

.wing-battery {min-width: 0;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  text-align: left;}

.wing-battery > span {width: 24px;
  height: 12px;
  border: 2px solid color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 55%, transparent);
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--surface-strong) 34%, transparent);}

.wing-battery b {color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 82%, transparent);
  font-size: 16px;
  font-weight: 900;}

.wing-battery em {height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 12%, transparent);}

.wing-battery em i {display: block;
  width: 60%;
  height: 100%;
  border-radius: inherit;
  background: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 42%, transparent);}

.wing-ring {--ring-color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 34%, transparent);
  position: relative;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  justify-self: end;
  border-radius: 50%;
  background: conic-gradient(var(--ring-color) calc(var(--p) * 1%), color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 10%, transparent) 0);}

.wing-ring::after {content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--surface-strong) 42%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

.wing-ring b,
.wing-ring span {position: relative;
  z-index: 1;
  font-size: 10px;}

.wing-ring b {margin-left: -32px;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 80%, transparent);
  font-weight: 850;}

.wing-ring span {margin-left: 2px;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 48%, transparent);
  font-weight: 800;}

@media (max-width: 370px) {
.wing-shape {height: 34px;}
.wing-ring {width: 42px; height: 42px;}
}

#appScreen #spawnDisguiseTest {margin-top: 6px; font-size: 11px; color: var(--tone-muted, var(--ed-muted)); border: 0; background: transparent;}

#appScreen .npc-batch-head {display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(91, 133, 176, .16);}

#appScreen .npc-batch-head small {color: var(--tone-accent, #679dd8); font-weight: 700;}

#appScreen .npc-batch-head h2 {margin: 4px 0; font-size: 21px;}

#appScreen .npc-batch-head p {margin: 0; max-width: 680px; color: var(--tone-muted, #6f7d8b); font-size: 13px; line-height: 1.55;}

#appScreen .npc-batch-actions {display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px;}

#appScreen .npc-batch-sources,
#appScreen .npc-batch-candidates {min-width: 0; padding: 14px; border: 1px solid rgba(91, 133, 176, .16); border-radius: 8px; background: rgba(255, 255, 255, .72);}

#appScreen .npc-source-tools {display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px;}

#appScreen .npc-source-owner {color: #4f83b8 !important; font-weight: 700; white-space: normal;}

#appScreen .npc-editor-identity {display: flex; align-items: center; gap: 12px; margin: 4px 0 16px;}

#appScreen .npc-editor-identity h2,
#appScreen .npc-editor-identity p {margin: 0;}

#appScreen .npc-editor-identity p {margin-top: 3px; color: var(--tone-muted, #72808e); font-size: 11px;}

#appScreen .npc-source-editor > h2 {margin: 12px 0 4px; font-size: 15px;}

@media (max-width: 760px) {
#appScreen .npc-batch-head {align-items: stretch; flex-direction: column;}
#appScreen .npc-batch-actions {justify-content: stretch;}
}

@media (hover: none) and (pointer: coarse) {
a {touch-action: manipulation;}
}

.poem-text {white-space:pre-wrap;line-height:2.0;color:rgba(240,236,228,.88);font-size:17px;text-align:left}

@media (max-width:420px) {
.poem-text {font-size:16px}
}

.news-gradient {background:linear-gradient(145deg,#f7fbff,#cfe2f4)!important;color:#203346!important}

.news-hero {border-radius:18px;padding:18px;background:linear-gradient(135deg,#fdfefe,#dbeaf4);box-shadow:0 16px 38px rgba(61,87,112,.12)}

.news-hero span {display:block;margin-bottom:6px;color:#607080;font-size:12px;font-weight:800;letter-spacing:.08em}

.news-hero h2 {margin:0;font-size:32px;letter-spacing:0}

.news-hero p {margin:8px 0 0;color:#627282;line-height:1.55}

.news-tabs {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}

.news-quick-import {display:grid;gap:8px;margin-bottom:12px}

.news-quick-import p,
.news-status {margin:0;color:#637486;font-size:12px;line-height:1.5}

.news-collector-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

.news-feed {display:grid;gap:12px}

.news-meta {color:#728292;font-size:12px}

.news-image-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}

.news-image-strip span {height:96px;border-radius:14px;background:#e5edf3 center/cover no-repeat}

.news-comments-preview {display:grid;gap:6px;border-radius:14px;background:#f3f7fa;padding:9px}

.news-comments-preview p {font-size:12px;line-height:1.45;color:#4a6071}

.news-comments-preview b {color:#26394b}

.news-tags {display:flex;gap:6px;overflow:auto}

.news-tags span {flex:0 0 auto;border-radius:999px;background:#f1f5f8;color:#516879;padding:5px 8px;font-size:12px}

.news-actions {display:flex;gap:8px;flex-wrap:wrap}

.news-actions .danger-lite {background:#f5e7e7;color:#9a3f3f}

.news-empty {border:1px dashed rgba(82,106,128,.2);border-radius:18px;background:rgba(255,255,255,.62);padding:22px;text-align:center;color:#5a6b79}

.news-empty strong {display:block;margin:0 0 8px;color:#25394c}

.news-share-overlay {position:fixed;inset:0;z-index:9999;display:grid;align-items:end;background:rgba(20,30,40,.34);backdrop-filter:blur(8px)}

.news-share-sheet {display:grid;gap:12px;max-height:86dvh;overflow:auto;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#f8fbff,#edf5f8);padding:16px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 44px rgba(28,44,60,.18);color:#203346}

.news-share-preview {display:grid;gap:6px;border:1px solid rgba(85,110,132,.12);border-radius:16px;background:rgba(255,255,255,.75);padding:12px}

.news-share-preview span {color:#42617a;font-size:12px;font-weight:900}

.news-share-preview h3 {margin:0;font-size:18px;line-height:1.35}

.news-share-preview p {margin:0;color:#5d7080;line-height:1.5}

.news-share-note {display:grid;gap:6px;color:#536778;font-weight:900}

.news-login-steps {display:grid;gap:8px;margin:0}

.news-login-steps dt {font-weight:950;color:#25394c}

.news-login-steps dd {margin:0;color:#5f7180;line-height:1.55;word-break:break-word}

.news-login-steps code {display:block;border-radius:12px;background:#e8f0f5;color:#22384d;padding:9px;white-space:pre-wrap}

.news-login-actions {display:flex;gap:8px}

.news-login-actions a {flex:1;border:0;border-radius:14px;background:#25394c;color:#fff;text-align:center;text-decoration:none;padding:11px;font-weight:900}

.mono-piece {position: absolute;
  right: 4px;
  bottom: 4px;
  width: 20px;
  height: 20px;
  display: none;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  box-shadow: inset 0 -3px 0 rgba(0,0,0,.18), 0 5px 8px rgba(0,0,0,.24);}

.user-piece {background: linear-gradient(145deg, #2784ff, #7dd3fc);}

.char-piece {background: linear-gradient(145deg, #e95668, #ffd166);}

@media (max-width: 430px) {
.mono-piece {width: 17px; height: 17px; font-size: 8px;}
}

.h-timeline {left: 28px; top: 28px; width: 112px;}

.h-letter {left: 166px; top: 76px; width: 116px;}

.h-promises {right: 24px; top: 26px; width: 92px;}

.h-memory {left: 30px; top: 170px; width: 128px;}

.h-song {right: 32px; top: 168px; width: 112px;}

.h-capsule {left: 172px; top: 258px; width: 104px;}

.h-dream {left: 36px; bottom: 20px; width: 108px;}

.h-gazette {right: 34px; bottom: 22px; width: 112px;}

@media (max-height: 740px) {
.h-capsule {top: 242px;}
}

@media (max-width: 390px) {
.h-letter {left: 150px;}
.h-song {right: 22px;}
.h-capsule {left: 156px;}
}

.care-manual-page {min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 2px 2px calc(12px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.care-manual-hero {border: 1px solid var(--care-line);
  border-radius: 24px;
  padding: 16px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--care-gold) 20%, transparent), transparent 36%),
    linear-gradient(135deg, var(--care-card), color-mix(in srgb, var(--care-bg) 70%, transparent));
  box-shadow: 0 16px 42px color-mix(in srgb, var(--skin-text, #000) 8%, transparent);}

.care-manual-kicker {display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--care-gold) 36%, transparent);
  border-radius: 999px;
  color: var(--care-accent);
  background: color-mix(in srgb, var(--care-card) 60%, transparent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;}

.care-manual-hero h2 {margin: 12px 0 0;
  color: var(--skin-title, var(--care-text));
  font-size: 24px;
  font-weight: 560;
  line-height: 1.18;
  font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;}

.care-manual-hero p {margin: 10px 0 0;
  color: var(--care-muted);
  font-size: 13px;
  line-height: 1.75;}

.care-manual-hero small {display: block;
  margin-top: 10px;
  color: var(--care-muted);
  font-size: 11px;}

.care-manual-evidence p {position: relative;
  padding-left: 13px;}

.care-manual-evidence p::before {content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--care-gold), var(--care-accent));}

.care-manual-evidence {background: color-mix(in srgb, var(--care-card) 66%, transparent);}

.rc-main-click {display: flex; gap: 14px; width: 100%; text-align: left; background: none; border: none; padding: 0; cursor: pointer; color: inherit;}

.rc-visual {position: relative; flex-shrink: 0; width: 72px; height: 72px; border-radius: 14px; overflow: hidden; background: var(--skin-button, #e7eef6); box-shadow: 0 8px 18px rgba(34,45,59,.08);}

.rc-cover-img {width: 100%; height: 100%; background-size: cover !important; background-position: center 18% !important; transition: transform .35s ease;}

.rc-cover-text {width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 900; color: #fff; background: linear-gradient(135deg, hsl(var(--h) 50% 56%), hsl(calc(var(--h) + 40) 50% 38%));}

.rc-meta {display: flex; justify-content: space-between; font-size: 12px; color: var(--skin-muted, #687887); font-weight: 750;}

.rc-star {color: #d8a927;}

.rc-title {font-size: 16px; font-weight: 850; color: var(--skin-text, #25303b); margin: 0; line-height: 1.3;}

.rc-sub {font-size: 13px; color: var(--skin-accent, #6f93b5); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700;}

.rc-preview {font-size: 13px; color: var(--skin-muted, #687887); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0;}

.rc-actions {display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed var(--skin-border, rgba(0,0,0,.1)); padding-top: 12px;}

.rc-play-btn {display: flex; align-items: center; gap: 6px; background: color-mix(in srgb, var(--skin-text, #25303b) 8%, transparent); color: var(--skin-text, #25303b); border: none; border-radius: 999px; padding: 8px 16px; font-size: 13.5px; font-weight: 800; cursor: pointer;}

.rc-play-btn:disabled {opacity: .55;}

.rc-menu {position: relative;}

.rc-menu summary {list-style: none; cursor: pointer; color: var(--skin-muted, #687887); padding: 4px; display: grid; place-items: center;}

.rc-menu summary::-webkit-details-marker {display: none;}

.rc-menu-dropdown {position: absolute; right: 0; bottom: 100%; margin-bottom: 8px; background: var(--surface-strong, #fff); border: 1px solid var(--skin-border, rgba(63,76,90,.14)); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.12); z-index: 50; display: flex; flex-direction: column; min-width: 126px; padding: 6px;}

.rc-menu-dropdown .danger-text {color: #d85555;}

.rsp-summary {display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; cursor: pointer; list-style: none; background: color-mix(in srgb, var(--surface-strong, #fff) 95%, var(--skin-accent, #6f93b5) 5%); user-select: none;}

.rsp-summary::-webkit-details-marker {display: none;}

.rsp-summary-title {display: flex; align-items: center; gap: 10px; min-width: 0;}

.rsp-icon {width: 30px; height: 30px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--skin-text, #25303b) 8%, transparent);}

.rsp-summary-title strong {font-size: 15px; color: var(--skin-text, #25303b); white-space: nowrap;}

.rsp-summary-title .rsp-hint {font-size: 12.5px; color: var(--skin-muted, #687887); display: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

@media (min-width: 480px) {
.rsp-summary-title .rsp-hint {display: block;}
}

.rsp-body {padding: 20px; display: flex; flex-direction: column; gap: 24px; background: var(--surface-strong, #fff);}

.rsp-block {display: flex; flex-direction: column; gap: 16px;}

.rsp-block-highlight {background: color-mix(in srgb, var(--surface-strong, #fff) 90%, var(--skin-button, #e7eef6) 10%); padding: 16px; border-radius: 16px; border: 1px dashed var(--skin-border, rgba(63,76,90,.2));}

.rsp-block-head {display: flex; justify-content: space-between; align-items: baseline; gap: 8px;}

.rsp-block-head h4 {margin: 0; font-size: 15px; font-weight: 900; color: var(--skin-text, #1a1f24);}

.rsp-block-head .rsp-hint {font-size: 12px; color: var(--skin-accent, #6f93b5); font-weight: 700;}

.rsp-label {font-size: 13px; font-weight: 750; color: var(--skin-muted, #5a6674);}

.rsp-label small {font-weight: 600; opacity: .7;}

.rsp-mail-text {min-width: 0; flex: 1;}

.rsp-mail-text strong {display: block; font-size: 13.5px; color: var(--skin-text, #25303b); margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.rsp-mail-text p {margin: 0; font-size: 12px; color: var(--skin-muted, #687887); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.rsp-track-pick {width: 24px; height: 24px; border-radius: 50%; border: none; background: color-mix(in srgb, var(--skin-muted, #687887) 15%, transparent); color: transparent; font-size: 12px; cursor: pointer; transition: all .2s;}

.rsp-track-name {flex: 1; min-width: 0; font-size: 13.5px; color: var(--skin-text, #25303b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700;}

.rsp-track-ops {display: flex; gap: 6px;}

.rsp-op-btn,
.rsp-btn-icon {background: none; border: none; padding: 4px 8px; border-radius: 6px; font-size: 12px; color: var(--skin-muted, #687887); cursor: pointer;}

.rsp-op-btn:hover,
.rsp-btn-icon:hover {background: var(--skin-button, #f0f0f0);}

.rsp-op-btn.danger,
.rsp-btn-icon {color: #d85555;}

.rsp-toolbar {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px;}

.rsp-btn-action {padding: 10px 16px; border: none; border-radius: 10px; font-size: 13px; font-weight: 800; cursor: pointer; background: var(--skin-button, #e7eef6); color: var(--skin-text, #25303b); display: inline-flex; align-items: center; gap: 6px;}

.rsp-btn-action.outline {background: transparent; border: 1px solid var(--skin-border, rgba(0,0,0,.15));}

.rsp-btn-action.danger {color: #d85555;}

.rsp-btn-action:active {transform: scale(.96);}

.rsp-btn-primary-large {width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; background: var(--skin-text, #25303b); color: #fff; border: none; border-radius: 14px; padding: 16px; font-size: 16px; font-weight: 900; box-shadow: 0 8px 24px color-mix(in srgb, var(--skin-text, #25303b) 30%, transparent); cursor: pointer; transition: all .2s;}

.rsp-btn-primary-large:active {transform: scale(.97); box-shadow: 0 4px 12px color-mix(in srgb, var(--skin-text, #25303b) 20%, transparent);}

@media (max-width: 380px) {
.rc-visual {width: 68px; height: 68px;}
}

.page-flip-anim {animation: diaryPageFlip 0.42s cubic-bezier(0.25, 1, 0.5, 1) both;
  transform-origin: left center;}

.cute-paper-head {display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px;}

.cute-date {font-family: var(--diary-hand-font); font-weight: 900; color: var(--diary-accent-deep); font-size: 15px;}

.cute-mood {color: var(--diary-accent-deep); background: var(--diary-accent-light); border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 800;}

.cute-fav-btn {border: 0; background: transparent; color: #d8cbd0; font-size: 23px; line-height: 1; padding: 0 0 0 8px;}

.cute-fav-btn.active {color: #fbc531; filter: drop-shadow(0 2px 5px rgba(251,197,49,.25));}

.cute-title {margin: 0 0 14px; color: var(--diary-text-main); font: 900 22px/30px var(--diary-hand-font);}

.cute-tags {margin-top: 18px; display: flex; flex-wrap: wrap; gap: 6px; color: var(--diary-accent-deep); font-size: 13px; font-weight: 800;}

.cute-interactive-area {margin-top: 28px; padding-top: 18px; border-top: 2px dotted var(--diary-border); min-height: 0;}

.interactive-head {display: grid; gap: 3px; margin-bottom: 10px; color: var(--diary-text-muted); font-size: 13px;}

.interactive-head strong {color: var(--diary-text-main);}

.interactive-head small {font-size: 12px;}

.cute-mark-btn,
.cute-add-note-btn {flex: 0 0 auto;
  border: 1px solid var(--diary-border);
  background: #fff;
  color: var(--diary-text-main);
  border-radius: 13px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 900;}

.cute-mark-btn.active {color: #fff; border-color: var(--diary-text-main); background: var(--diary-text-main);}

.cute-add-note-btn {color: var(--diary-accent-deep); border-color: var(--diary-accent); background: var(--diary-accent-light);}

.cute-sticky-note {position: relative; background: #fff8cd; border-radius: 3px 14px 14px 14px; padding: 13px; color: #554e2d; box-shadow: 2px 5px 12px rgba(0,0,0,0.06);}

.cute-sticky-note::before {content: ""; position: absolute; left: 0; top: 0; border-width: 0 12px 12px 0; border-style: solid; border-color: transparent #e8dfa9 transparent transparent;}

.cute-sticky-note p {margin: 0 0 8px; font-size: 14px; line-height: 1.55;}

.cute-current-marks {display: flex; flex-wrap: wrap; gap: 6px;}

.cute-current-marks span {color: var(--diary-text-muted); background: rgba(249,216,223,.5); border-radius: 999px; padding: 4px 8px; font-size: 12px;}

.cute-paper-actions {display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px;}

.danger-text {color: #ff6b81 !important;}

.char-info {text-align: center; min-width: 0;}

.char-name {display: block; color: var(--diary-text-main); font-size: 16px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.char-count {color: var(--diary-accent-deep); font-size: 12px; font-weight: 800;}

.random-btn {padding: 12px 24px; font-size: 15px;}

.cover-mode {justify-content: center; align-items: center;}

.cute-custom-mark-btn {flex: 0 0 auto;
  border: 1px dashed var(--diary-accent);
  background: rgba(251, 227, 232, .7);
  color: var(--diary-accent-deep);
  border-radius: 13px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 900;}

.search-icon {font-size: 14px; opacity: .7;}

.cancel-btn {background: none; border: none; color: #07c160; font-size: 16px; font-weight: 650; padding: 7px 2px; flex: 0 0 auto;}

.search-result-meta {display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; color: #8a9099; font-size: 12px; font-weight: 800;}

.search-result-text {color: #272b31; font-size: 14px; line-height: 1.55;}

.search-highlight {background: rgba(143,169,154,.24); color: #111; border-radius: 3px; padding: 0 2px; font-weight: 850;}

.export-desc {font-size: 13px; color: #777; margin: 0 0 4px; line-height: 1.55;}

.export-options {display: flex; flex-direction: column; gap: 12px;}

#appScreen .mono-piece {transform: translateZ(25px) rotateX(-45deg) !important;
  box-shadow:
    0 10px 15px rgba(0,0,0,.60),
    0 0 10px currentColor !important;}

#appScreen .user-piece {background: #00f0ff !important;
  color: #001013 !important;}

#appScreen .char-piece {background: #ff007c !important;
  color: #fff !important;}

.universe-transition-overlay {position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.98), rgba(255,245,249,.96) 52%, rgba(250,235,245,.92));
  transition: opacity .48s cubic-bezier(.4,0,.2,1), background .62s ease;}

.universe-transition-overlay.active {opacity: 1;
  pointer-events: auto;}

.universe-transition-overlay.darken {background: radial-gradient(circle at 50% 56%, rgba(42,50,88,.86), #0f111a 62%, #070912 100%);}

@media (prefers-reduced-motion: reduce) {
.universe-transition-overlay {animation: none !important; transition: none !important;}
}

.mav-nav {position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 52px; border: 0; border-radius: 999px; background: rgba(0,0,0,.28); color: #fff; font-size: 34px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}

.mav-nav.prev {left: 10px;}

.mav-nav.next {right: 10px;}

#appScreen {background: var(--moss-ui-canvas) !important;
  color: var(--moss-ui-text) !important;}

#appScreen #appBody {padding-top: 0 !important;}

.mav-nav {display: grid; place-items: center; font-size: 0 !important;}

@media (prefers-reduced-motion: reduce) {
#appScreen *,
#appScreen *::before,
#appScreen *::after {scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;}
}

.world-origin {left: 8%; bottom: 21%;}

.world-destination {right: 6%; top: 17%;}

.city-name {left: 7%; top: 8%; font-size: 14px;}

.district-name {right: 7%; bottom: 18%;}

/*# source: assets/css/foundation/animations.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
@keyframes mwPulse { to { opacity: .25; transform: scale(.72); } }

@keyframes moss-stream-caret { 50% { opacity: 0; } }

@keyframes datePulse {
  0%,
100% { opacity: 0.35; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}

@keyframes inspirationPulse {
  0%,
100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@keyframes periodTapIgnored {
  0%,
100% { transform: translateX(0); }
  35% { transform: translateX(-2px); }
  70% { transform: translateX(2px); }
}

@keyframes homeRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes mossImagePendingPulse {
  from { opacity: .55; transform: scale(.96); }
  to { opacity: 1; transform: scale(1.04); }
}

@keyframes theaterExtraPromptFlash {
  0% {
    box-shadow: 0 0 0 0 rgba(130, 170, 80, 0.55);
    filter: brightness(1.08);
  }
  60% {
    box-shadow: 0 0 0 10px rgba(130, 170, 80, 0);
    filter: brightness(1.02);
  }
  100% {
    box-shadow: none;
    filter: none;
  }
}

@keyframes homeTextFade { from { opacity: 0; } to { opacity: 1; } }

@keyframes homeTextSlide { from { transform: translateY(24px); opacity: 0.4; } to { transform: translateY(0); opacity: 1; } }

@keyframes xhsDots {
  0% { content: ""; }
  33% { content: "·"; }
  66% { content: "··"; }
  100% { content: "···"; }
}

@keyframes douyinDots {
  0% { content: ""; }
  33% { content: "·"; }
  66% { content: "··"; }
  100% { content: "···"; }
}

@keyframes phoneFlipIn {
  from { transform: rotateY(-88deg); opacity: 0; }
  60% { opacity: 1; }
  to { transform: rotateY(0); opacity: 1; }
}

@keyframes rpoUp { from { transform: translateY(6%); opacity: .4; } to { transform: translateY(0); opacity: 1; } }

@keyframes homeIconWiggle {
  0%,
100% { transform: rotate(-1.2deg); }
  50% { transform: rotate(1.2deg); }
}

@keyframes mossMusicVinylSpin {
  to { transform: rotate(360deg); }
}

@keyframes mossFullVinylSpin { to { transform: rotate(360deg); } }

@keyframes dateSearchResultFlash {
  0%,
35% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--skin-accent, #b17a36) 38%, transparent); }
  100% { box-shadow: none; }
}

@keyframes mindScrimFade { from { opacity: 0; } to { opacity: 1; } }

@keyframes gachaDrop {
  0% { transform: translateY(-8px) rotate(0); }
  70% { transform: translateY(48px) rotate(185deg) scale(.92); }
  100% { transform: translateY(40px) rotate(210deg) scale(1.05); }
}

@keyframes diceRoll {
  20% { transform: rotate(16deg) scale(1.05); }
  55% { transform: rotate(-14deg) scale(.96); }
  100% { transform: rotate(0); }
}

@keyframes flyEventPop {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes coreadBreath {
  50% { opacity: .68; transform: scale(.96); }
}

@keyframes dropPreviewPop {
  0% { transform: scale(0.85); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes mossWidgetPreviewSpin { to { transform: rotate(360deg); } }

@keyframes theaterSlideInUp { from { transform: translateY(100%); } to { transform: translateY(0); } }

@keyframes memoryUniverseFlyIn {
  0% { transform: scale(.42); opacity: .1; filter: blur(8px) brightness(1.22); }
  48% { opacity: 1; filter: blur(1.6px) brightness(1.08); }
  100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }
}

@keyframes memoryStarWake {
  0% { filter: blur(5px); opacity: 0; }
  100% { filter: blur(0); }
}

@keyframes mcpTracePulse {50%{opacity:.66;transform:scale(.96);}}

@keyframes travel-collectible-hold { from { opacity: 0; transform: scale(1.015); } 22% { opacity: .28; } to { opacity: 1; transform: scale(1); } }

@keyframes forum-v3-dot { to { opacity: .25; transform: translateY(-2px); } }

@keyframes liveAudioWave { to { transform: scaleY(.5); opacity: 1; } }

@keyframes liveThinking {
  0%,
65%,
100% { opacity: .35; transform: translateY(0); }
  32% { opacity: 1; transform: translateY(-2px); }
}

@keyframes livePulse {
  0%,
100% { opacity: .4; transform: scale(.85); }
  50% { opacity: 1; transform: scale(1.12); }
}

@keyframes liveFloatHeart {
  0% { opacity: 0; transform: translate3d(0, 8px, 0) scale(.72) rotate(-7deg); }
  12% { opacity: 1; }
  70% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--heart-x, 0), -150px, 0) scale(1.18) rotate(9deg); }
}

@keyframes chatSearchSpin { to { transform: rotate(360deg); } }

@keyframes chatSearchLocatePulse {
  0%,
100% { background: transparent; box-shadow: 0 0 0 0 rgba(83, 111, 203, 0); }
  18%,
70% { background: rgba(91, 119, 210, .12); box-shadow: 0 0 0 4px rgba(91, 119, 210, .22); }
}

/*# source: assets/css/runtime/platform.css */
/* Platform-specific inner-screen behavior. The outer height belongs exclusively
   to moss-viewport-lock.css; children fill that frame instead of re-reading
   vh/dvh with a different safe-area interpretation. */
body.pwa-standalone .app-screen {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

body:not(.pwa-standalone) .app-screen {
  padding-bottom: calc(var(--safe-bottom) + var(--browser-bottom-reserve)) !important;
}

html.android-pwa-standalone .app-screen {
  padding-bottom: var(--safe-bottom) !important;
}

/*# source: assets/css/components/navigation.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

.app-topbar {position: absolute;
  top: max(12px, calc(8px + var(--safe-top)));
  left: 14px;
  right: 14px;
  z-index: 10;
  height: 42px;
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  color: #f8f9fb;}

.app-topbar span {justify-self: center;
  font-weight: 800;}

.back-button {width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, 0.28);
  font-size: 34px;
  line-height: 30px;}

.app-topbar {color: var(--skin-muted);}

.app-topbar {color: var(--skin-muted) !important;}

.app-topbar span {color: var(--skin-text) !important;}

.app-topbar {top: max(4px, env(safe-area-inset-top, 0px)) !important;}

.app-topbar {top: max(18px, calc(10px + var(--safe-top))) !important;
  height: 38px !important;
  left: 24px !important;
  right: 24px !important;
  grid-template-columns: 34px 1fr 34px !important;}

.back-button {grid-column: 3 !important;
  justify-self: end !important;}

.app-topbar span {grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;}

.back-button {width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  font-size: 27px !important;
  line-height: 28px !important;}

.app-topbar {border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;}

.app-topbar {border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);}

.app-topbar {top: max(10px, calc(8px + var(--safe-top))) !important;
  left: 12px !important;
  right: 12px !important;
  height: 44px !important;}

.back-button {min-width: var(--skin-control-height) !important;
  width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  border-radius: 50% !important;
  color: var(--skin-title) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.app-topbar {top: max(10px, calc(8px + var(--safe-top))) !important;
  left: 12px !important;
  right: 12px !important;
  height: 44px !important;
  display: grid !important;
  grid-template-columns: var(--skin-control-height) minmax(0, 1fr) var(--skin-control-height) !important;
  align-items: center !important;
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-title) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.back-button {width: var(--skin-control-height) !important;
  min-width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  padding: 0 !important;
  border-radius: 50% !important;}

.app-topbar {position: absolute !important;}

.app-topbar span {inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;}

.back-button {position: relative !important;
  z-index: 2 !important;}

.app-topbar {height: 46px !important;
  top: max(10px, calc(8px + var(--safe-top))) !important;
  display: grid !important;
  grid-template-columns: var(--skin-control-height) minmax(0, 1fr) var(--skin-control-height) !important;
  align-items: center !important;
  padding: 0 6px !important;}

.app-topbar span {position: absolute !important;
  inset: 0 var(--skin-control-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 8px !important;
  color: var(--skin-title) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: none !important;}

.back-button {grid-column: 3 !important;
  align-self: center !important;
  justify-self: end !important;}

.app-topbar {position: absolute !important;
  display: grid !important;
  grid-template-columns: var(--skin-control-height, 42px) minmax(0, 1fr) var(--skin-control-height, 42px) !important;
  align-items: center !important;}

.app-topbar > #appTitle,
.app-topbar > span {position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: var(--skin-control-height, 42px) !important;
  right: var(--skin-control-height, 42px) !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  pointer-events: none !important;}

#appScreen > .app-topbar > #appTitle {position: absolute !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  inset: 0 calc(var(--skin-control-height, 42px) + 16px) !important;
  top: 0 !important;
  left: calc(var(--skin-control-height, 42px) + 16px) !important;
  right: calc(var(--skin-control-height, 42px) + 16px) !important;
  bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
  pointer-events: none !important;}

.app-topbar {top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(var(--moss-ui-header-height) + var(--safe-top)) !important;
  min-height: calc(var(--moss-ui-header-height) + var(--safe-top)) !important;
  padding: var(--safe-top) 10px 0 !important;
  grid-template-columns: 44px minmax(0,1fr) 44px !important;
  border-bottom: 1px solid var(--moss-ui-line) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 88%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;}

.app-topbar > #appTitle,
.app-topbar > span {left: 54px !important;
  right: 54px !important;
  padding-top: var(--safe-top) !important;
  color: var(--moss-ui-text) !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  letter-spacing: -.01em !important;}

.back-button {width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  align-self: end !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background var(--moss-ui-fast) ease, transform var(--moss-ui-fast) var(--moss-ui-ease) !important;}

.back-button:active {background: var(--moss-ui-surface-soft) !important; transform: scale(.94);}

#appScreen .app-topbar {width: 100% !important;
  max-width: 100% !important;
  height: calc(var(--moss-ui-header-height) + var(--safe-top)) !important;
  min-height: calc(var(--moss-ui-header-height) + var(--safe-top)) !important;
  margin: 0 !important;
  padding: var(--safe-top) 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--moss-ui-line) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  background-image: none !important;
  box-shadow: none !important;}

#appScreen .back-button {width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;}

#appScreen .back-button:active {color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-accent-soft) !important;}

html.moss-ios-webkit .app-topbar {background-color: var(--moss-ui-surface, var(--surface-strong, #fff)) !important;}

/*# source: assets/css/components/cards.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.card-compose-icon.red-packet {background: #d94b36; color: #f8d77b;}

.card-compose-icon.poll {background: #f7d7e2; color: #9c5370;}

.card-compose-icon.relay {background: #e2edf7; color: #4e6f91;}

.apps-page-grid {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 14px;}

.panel {border: 1px solid rgba(20, 23, 30, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 26px rgba(26, 31, 45, 0.08);}

.forward-picker-list {display: grid;
  gap: 8px;
  overflow-y: auto;
  padding-right: 2px;}

.panel-stack {display: grid;
  gap: 12px;}

.panel {padding: 14px;}

.panel h2 {margin: 0 0 10px;
  font-size: 18px;}

.panel p {margin: 0;
  color: #525966;
  line-height: 1.6;}

.button-row {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;}

.compact-action-row {gap: 6px;
  padding: 0 8px 6px;}

.compact-action-row .mini-toggle-button {margin: 0;
  min-height: 28px;
  font-size: 11px;}

.data-tool-row {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;}

.data-tool-row select {min-height: 36px;
  flex: 1 1 150px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.1));
  border-radius: 12px;
  background: var(--skin-field, rgba(255,255,255,.72));
  color: var(--skin-text, #2c241d);
  font-weight: 800;
  padding: 0 10px;}

.storage-meter-grid {display: grid;
  gap: 8px;}

.storage-meter-card {display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 82%, transparent);}

.storage-meter-card strong {font-size: 13px;}

.storage-meter-card span,
.storage-meter-card small {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.list-stack {display: grid;
  gap: 10px;}

.check-list {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.panel {color: var(--app-font-color);}

.panel p {color: color-mix(in srgb, var(--app-font-color) 72%, #6b7280);}

.icon-editor-row {display: grid;
  grid-template-columns: 48px 1fr 62px 62px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  background: #f3f5f9;
  color: var(--app-font-color);}

.appearance-row-wide {grid-template-columns: 48px 1fr 62px 72px 44px;}

.face-lock-row {display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;}

.visual-identity-guide-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.visual-identity-guide-grid span {min-width: 0;
  padding: 9px 10px;
  border-radius: 8px;
  background: rgba(120, 150, 180, .12);
  color: var(--app-font-color);
  font-size: 12px;
  line-height: 1.4;}

.visual-identity-list {display: grid;
  gap: 12px;}

.visual-identity-card {display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(120, 140, 160, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .55);}

.visual-identity-card-main {min-width: 0;
  display: grid;
  gap: 8px;}

.visual-identity-use-grid {display: flex;
  flex-wrap: wrap;
  gap: 6px;}

@media (max-width: 430px) {
.visual-identity-guide-grid,
.visual-identity-card {grid-template-columns: 1fr;}
}

.icon-editor-row .icon-face {width: 48px;
  border-radius: 14px;}

.theme-grid {display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;}

.plus-grid button {min-height: 64px;
  border-radius: 14px;
  background: #fff;
  color: #17181c;
  font-weight: 800;}

.user-mask-panel {display: grid;
  gap: 14px;}

.user-mask-panel .image-hotspot {justify-self: center;}

.panel {background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);}

.panel h2 {color: var(--skin-text) !important;}

.plus-grid button {background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;}

.note-list {display: grid;
  gap: 10px;}

.note-card {display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 18px;
  background: var(--surface);}

.note-card-main {min-width: 0;
  display: grid;
  gap: 5px;
  padding: 0;
  text-align: left;
  color: var(--skin-text);
  background: transparent;}

.note-card-main strong {color: var(--skin-text);}

.note-card-main p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--skin-muted);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.note-card-main small {color: var(--skin-muted);}

.section-title-row {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;}

.section-title-row > span {min-width: 0;
  display: grid;
  gap: 4px;}

.section-title-row h2,
.section-title-row p {margin: 0;}

.section-title-row button {flex: 0 0 auto;}

.note-editor-panel {border-color: color-mix(in srgb, var(--skin-accent) 28%, var(--skin-border));}

.important-dates-panel {border-color: color-mix(in srgb, var(--skin-accent-2) 24%, var(--skin-border));}

.font-list {display: grid;
  gap: 8px;}

.font-row {min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  background: var(--surface-strong);}

.font-row span {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.range-number-row {display: grid;
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 10px;
  align-items: center;}

.range-number-row input[type="number"] {height: 40px;
  padding: 0 10px;
  text-align: center;}

.button-row {align-items: center;}

.panel-stack {max-width: 100vw !important;
  overflow-x: hidden !important;}

.panel-stack {gap: 16px !important;
  padding: 16px !important;}

.apps-page-grid {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 12px;
  align-content: start;
  padding: 8px 2px 18px;}

.panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.panel-stack {gap: var(--skin-gap) !important;}

.apps-page-grid {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px 10px !important;
  padding: 8px 2px 20px !important;}

.panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.panel h2,
.panel h3 {color: var(--skin-title) !important;}

.panel p {color: var(--skin-muted) !important;}

.button-row button:not(.danger-button):not(.secondary-button) {color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;}

.panel-stack,
.list-stack {gap: var(--skin-card-gap) !important;}

.panel-stack {padding: var(--skin-page-pad) !important;}

@media (max-width: 380px) {
.apps-page-grid {gap: 18px 6px !important;}
}

.apps-page-grid {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}

.icon-editor-row .icon-face.custom-icon {background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;}

.button-row.compact {gap: 6px;}

.button-row.compact button {min-height: 30px;
  padding: 0 10px;
  font-size: 12px;}

.meeting-card-actions {display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;}

.meeting-card-actions button {flex: 1 1 92px;
  min-width: 0;
  border: none;
  border-radius: 999px;
  padding: 8px 10px;
  color: #fff;
  background: linear-gradient(145deg, #75619a, #927bbd);
  font-size: 12px;
  font-weight: 900;}

.meeting-card-actions button[data-complete-meeting-card] {background: linear-gradient(145deg, #45665c, #6f8f82);}

.meeting-card-actions button:disabled {color: var(--skin-muted, #7b6b5a);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 72%, #dbe8df 28%);
  opacity: 0.72;}

.card-compose-overlay {align-items: flex-end !important;
  padding: 18px 14px calc(18px + env(safe-area-inset-bottom)) !important;
  background: rgba(19, 16, 13, 0.42) !important;}

.card-compose-modal {width: min(460px, 94vw);
  max-height: min(86vh, 720px);
  overflow: hidden;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 80%, transparent);
  background:
    radial-gradient(circle at 22% 0%, color-mix(in srgb, var(--skin-accent, #b17a36) 12%, transparent), transparent 34%),
    color-mix(in srgb, var(--surface-strong, #fffaf0) 94%, #fff 6%);
  color: var(--skin-text, #2c241d);
  box-shadow: 0 26px 70px rgba(26, 18, 12, .28);
  animation: uiModalPop .18s ease both;}

.card-compose-head {display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: center;}

.card-compose-icon {width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--skin-accent, #b17a36) 28%, transparent);}

.card-compose-icon.transfer {background: linear-gradient(145deg, #f0b150, #d9842d 56%, #b15f23);}

.card-compose-icon.location {background: linear-gradient(145deg, #70b8ff, #2f8fe8 58%, #1d66b3);}

.card-compose-head h3 {margin: 0;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: .01em;
  color: var(--skin-title, #211b15);}

.card-compose-head p {margin: 4px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--skin-muted, #7a6d60);}

.card-compose-field {display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 900;
  color: var(--skin-title, #211b15);}

.card-compose-field input,
.card-compose-field textarea {width: 100%;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 16px;
  background: color-mix(in srgb, var(--phone-bg, #f4ecdf) 72%, #fff 28%);
  color: var(--skin-text, #2c241d);
  font: inherit;
  font-size: 15px;
  line-height: 1.45;
  outline: none;
  box-sizing: border-box;}

.card-compose-field input {height: 44px;
  padding: 0 13px;}

.card-compose-field textarea {min-height: 62px;
  max-height: 120px;
  padding: 11px 13px;
  resize: none;}

.card-compose-field input:focus,
.card-compose-field textarea:focus {border-color: color-mix(in srgb, var(--skin-accent, #b17a36) 72%, var(--skin-border, rgba(0,0,0,.12)));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--skin-accent, #b17a36) 13%, transparent);}

.card-compose-status {margin: 0;
  font-size: 12px;
  color: var(--skin-muted, #7a6d60);
  line-height: 1.4;}

.card-compose-actions {display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 10px;}

.card-compose-actions button {min-height: 46px;
  border: 0;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 900;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--skin-muted, #7a6d60) 14%, transparent);}

.card-compose-actions button[data-card-compose-confirm] {color: #fff;
  background: linear-gradient(135deg, var(--skin-accent, #b17a36), var(--skin-accent-2, #8f642d));
  box-shadow: 0 12px 22px color-mix(in srgb, var(--skin-accent, #b17a36) 20%, transparent);}

.user-mask-detail-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;}

@media (max-width: 430px) {
.user-mask-detail-grid {grid-template-columns: 1fr;}
}

.card-compose-icon.text-image {color: #fff;
  background: #707782;}

.app-screen .panel {padding: 12px 13px !important;}

.app-screen .panel h2 {font-size: 13.5px !important; font-weight: 700 !important; margin: 0 0 8px !important; color: var(--ed-text) !important;}

.app-screen .panel p {font-size: 12px !important; line-height: 1.5 !important; color: var(--ed-muted) !important;}

.app-screen .section-title-row {gap: 8px !important;}

.app-screen .section-title-row h2 {font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.02em !important; color: var(--ed-text) !important; margin: 0 !important;}

.app-screen .section-title-row p {font-size: 11px !important; color: var(--ed-muted) !important;}

#appScreen .npc-batch-panel {min-height: 0; overflow: auto; padding: 0 18px 24px;}

#appScreen .npc-batch-grid {display: grid; grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr); gap: 14px; padding-top: 14px;}

#appScreen .npc-existing-panel {min-width: 0; padding: 14px; border: 1px solid rgba(91, 133, 176, .16); border-radius: 8px; background: rgba(255, 255, 255, .72);}

#appScreen .npc-batch-section-title {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px;}

#appScreen .npc-batch-section-title strong {font-size: 15px;}

#appScreen .npc-batch-section-title span {color: var(--tone-muted, #748392); font-size: 12px;}

#appScreen .npc-source-list {display: grid; gap: 7px; max-height: 50vh; overflow: auto;}

#appScreen .npc-source-row {display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; padding: 10px; border: 1px solid rgba(91, 133, 176, .13); border-radius: 7px; background: rgba(248, 252, 255, .76);}

#appScreen .npc-source-row.likely {border-color: rgba(87, 146, 207, .33);}

#appScreen .npc-source-row strong {display: block; font-size: 13px;}

#appScreen .npc-source-row small {display: block; margin-top: 2px; color: var(--tone-muted, #72808e); font-size: 11px;}

#appScreen .npc-source-row p {margin: 5px 0 0; color: #536373; font-size: 12px; line-height: 1.45;}

#appScreen .npc-existing-panel {margin-top: 14px;}

#appScreen .npc-source-edit-list {display: grid; gap: 7px; max-height: 46vh; overflow: auto;}

@media (max-width: 760px) {
#appScreen .npc-batch-panel {padding: 0 10px 18px;}
#appScreen .npc-batch-grid {grid-template-columns: minmax(0, 1fr);}
#appScreen .npc-source-list {max-height: 38vh;}
}

.news-card {display:grid;gap:10px;border:1px solid rgba(85,110,132,.12);border-radius:16px;background:rgba(255,255,255,.86);padding:14px;box-shadow:0 12px 28px rgba(54,75,95,.08)}

.news-card-top {display:flex;justify-content:space-between;gap:10px;align-items:center}

.news-card-top span {border-radius:999px;background:#edf4fa;color:#32506b;padding:5px 9px;font-weight:900;font-size:12px}

.news-card-top small {color:#728292;font-size:12px}

.news-card h3 {margin:0;color:#1f303f;font-size:18px;line-height:1.35}

.news-card p {margin:0;color:#445666;line-height:1.65;white-space:pre-wrap}

.news-card .muted {color:#8090a0}

.phone-evidence-list {display: grid; gap: 8px;}

.phone-evidence-row {display: grid;
  grid-template-columns: 40px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  border: 1px solid rgba(30,45,60,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.8);
  padding: 10px;
  text-align: left;}

.phone-evidence-row > span {width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #30384f;
  color: #fff;
  font-weight: 900;}

.phone-evidence-row strong {display: block; color: #243040; font-size: 13px;}

.phone-evidence-row p {margin: 4px 0; color: #5f6d7a; font-size: 12px; line-height: 1.45;}

.phone-evidence-row small {color: #8a96a3; font-size: 10.5px;}

.care-manual-grid {display: grid;
  gap: 10px;}

.care-manual-section {border: 1px solid var(--care-line);
  border-radius: 20px;
  padding: 13px;
  background: color-mix(in srgb, var(--care-card) 78%, transparent);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--skin-text, #000) 6%, transparent);}

.care-manual-section h4 {margin: 0 0 9px;
  color: var(--skin-title, var(--care-text));
  font-size: 15px;
  letter-spacing: .03em;}

.care-manual-list {display: grid;
  gap: 8px;}

.care-manual-section p {margin: 0;
  color: var(--care-muted);
  font-size: 12px;
  line-height: 1.72;
  word-break: break-word;}

.care-manual-list p {position: relative;
  padding-left: 13px;}

.care-manual-list p::before {content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--care-gold), var(--care-accent));}

.moss-action-card {width:min(260px,72vw);border-radius:18px;padding:12px 13px;display:grid;gap:7px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(238,247,255,.88));border:1px solid rgba(120,160,210,.26);box-shadow:0 10px 24px rgba(33,68,110,.12);color:var(--text,#223);text-align:left;}

.moss-action-card span {font-size:12px;color:var(--muted,#6b7280);letter-spacing:.04em;}

.moss-action-card strong {font-size:15px;line-height:1.35;}

.moss-action-card p {margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;}

.moss-action-card small {font-size:12px;color:var(--muted,#6b7280);}

.moss-action-card em {font-style:normal;font-size:12px;color:var(--muted,#6b7280);}

.moss-action-card>div {display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;}

.moss-action-card button {border:0;border-radius:999px;padding:7px 12px;background:rgba(69,128,220,.14);color:var(--text,#223);font-weight:700;}

.moss-action-card button:first-child:not(:disabled) {background:linear-gradient(135deg,rgba(83,146,255,.95),rgba(104,190,255,.85));color:#fff;}

.moss-action-card button:disabled {opacity:.64;background:rgba(120,130,150,.14);}

.moss-action-card.red-packet {background:linear-gradient(135deg,#fff8f1,#ffe6de);border-color:rgba(218,84,64,.22);}

.moss-action-card.red-packet strong {font-size:24px;color:#c93d31;}

.moss-action-card.moment {background:linear-gradient(135deg,#f8fdff,#edf8f5);}

.moss-action-card.accepted {filter:saturate(.94);}

.moss-action-card.rejected {opacity:.76;filter:grayscale(.18);}

.rsp-summary-arrow {color: var(--skin-muted, #687887); transition: transform .3s cubic-bezier(.2,.8,.2,1);}

.rsp-grid-2 {display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px;}

.rsp-chip-group {display: flex; flex-wrap: wrap; gap: 8px;}

.rsp-guest-chip {padding: 8px 16px; border-radius: 999px; border: 1px solid var(--skin-border, rgba(0,0,0,.15)); background: var(--surface-strong, #fff); color: var(--skin-muted, #5a6674); font-size: 13px; font-weight: 750; cursor: pointer; transition: all .2s;}

.rsp-guest-chip:active {transform: scale(.95);}

.rsp-guest-chip.on {background: var(--skin-text, #25303b); border-color: var(--skin-text, #25303b); color: #fff;}

.rsp-mail-list {display: flex; flex-direction: column; gap: 8px; margin-top: 4px;}

.rsp-mail-card {display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--surface-strong, #fff); padding: 12px; border-radius: 12px; border: 1px solid var(--skin-border, rgba(0,0,0,.08));}

.rsp-track-row {display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; background: var(--surface-strong, #fff); border: 1px solid var(--skin-border, rgba(0,0,0,.1));}

.rsp-track-row.on {background: color-mix(in srgb, var(--surface-strong, #fff) 95%, var(--skin-text, #25303b) 5%); border-color: color-mix(in srgb, var(--skin-text, #25303b) 30%, transparent);}

.rsp-track-row.on .rsp-track-pick {background: var(--skin-text, #25303b); color: #fff;}

@media (max-width: 380px) {
.rsp-grid-2 {grid-template-columns: 1fr;}
}

.cute-mark-row {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 132px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 2px 2px 10px;
  margin-bottom: 12px;
  touch-action: pan-y;}

.cute-note-list {display: grid; gap: 10px;}

.cute-mark-row:empty {display: none;}

.cute-reaction-list {display: grid;
  gap: 10px;
  margin: 2px 0 12px;}

.cute-reaction-card {border: 1px solid rgba(242,139,157,.24);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(251,227,232,.72), rgba(255,255,255,.92));
  padding: 12px 13px;
  box-shadow: 0 6px 16px rgba(242,139,157,.10);}

.cute-reaction-card b {display: block; margin-bottom: 5px; color: var(--diary-accent-deep); font-size: 13px;}

.cute-reaction-card p {margin: 0; color: var(--diary-text-main); font-size: 14px; line-height: 1.62; white-space: pre-wrap;}

.cute-reaction-card footer {margin-top: 6px; color: var(--diary-text-muted); font-size: 12px; text-align: right;}

.cute-reaction-card blockquote {margin: 0 0 8px;
  padding: 8px 10px;
  border-left: 3px solid var(--diary-accent);
  border-radius: 10px;
  background: rgba(255,255,255,.72);
  color: var(--diary-text-muted);
  font-size: 13px;
  line-height: 1.55;
  white-space: pre-wrap;}

.search-result-card {border: 0; width: 100%; display: block; text-align: left; background: #fff; border-radius: 16px; padding: 13px 14px; margin-bottom: 10px; box-shadow: 0 8px 22px rgba(28,30,36,.05); border: 1px solid rgba(0,0,0,.04);}

.export-card {display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 16px; border: 1px solid #eaeaea; background: #fff; text-align: left; box-shadow: 0 8px 22px rgba(28,30,36,.04);}

.export-card .icon {font-size: 24px; width: 34px; text-align: center;}

.export-card .info strong {display: block; font-size: 16px; color: #222; font-weight: 900;}

.export-card .info small {display: block; font-size: 12px; color: #999; margin-top: 4px; line-height: 1.4;}

.spatial-role-card {touch-action: pan-y !important;
  -webkit-tap-highlight-color: transparent;}

.spatial-role-card.warp-active {transform: scale(1.42) translate3d(0, -8px, 0) !important;
  opacity: 0 !important;
  filter: blur(3px) brightness(1.28) saturate(1.16);
  transition: transform .42s cubic-bezier(.7,0,.3,1), opacity .42s cubic-bezier(.7,0,.3,1), filter .42s ease !important;
  z-index: 20;}

@media (prefers-reduced-motion: reduce) {
.spatial-role-card.warp-active {animation: none !important; transition: none !important;}
}

.push-device-list {display:grid; gap:10px; margin:10px 0 14px;}

.push-device-row {display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft);}

.push-device-row.current {border-color:color-mix(in srgb, var(--skin-accent) 52%, var(--line)); box-shadow:0 0 0 2px color-mix(in srgb, var(--skin-accent) 12%, transparent);}

.push-device-row > span:nth-child(2) {min-width:0; display:flex; flex-direction:column; gap:3px;}

.push-device-row strong {font-size:14px;}

.push-device-row small {color:var(--muted); line-height:1.45; overflow-wrap:anywhere;}

.push-device-row .secondary-button.compact {min-width:58px; width:auto; padding:8px 10px;}

#appScreen :where(.panel-stack) {gap: 12px;}

#appScreen .panel-stack > .panel {border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;}

#appScreen .panel-stack > .panel h2 {color: var(--moss-ui-text) !important; font-size: 18px; font-weight: 680;}

/*# source: assets/css/components/feedback.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.auto-status-panel {min-width: 0;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--widget-glass-color);
  color: var(--widget-text-color);
  backdrop-filter: blur(22px) saturate(1.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.13);}

.auto-status-panel {grid-column: auto;
  min-height: 118px;}

.runtime-loading {padding: 18px;
  color: #4b5563;
  font-weight: 900;}

.status-bar {position: absolute;
  top: max(16px, calc(8px + var(--safe-top)));
  left: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 700;}

.hint-text {margin: 8px 0 0;
  color: rgba(31, 41, 55, 0.66);
  font-size: 13px;
  line-height: 1.45;}

.visual-identity-thumb[data-empty-card="1"] {display: grid;
  place-items: center;
  visibility: visible;
  width: 64px;
  height: 64px;}

.visual-identity-thumb[data-empty-card="1"]::before {content: "＋";
  color: rgba(60, 70, 82, .55);
  font-weight: 800;}

.status-bar {color: var(--skin-muted);}

.status-bar {color: var(--skin-muted) !important;}

.status-bar {display: none !important;}

.empty-text {margin: 0;
  color: var(--skin-muted);}

.auto-status-panel strong,
.auto-status-panel span,
.auto-status-panel p {position: relative;
  z-index: 1;}

.auto-status-panel strong {color: var(--skin-accent-2);
  font-size: 13px;
  font-weight: 900;}

.auto-status-panel span {color: var(--skin-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;}

.auto-status-panel p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--skin-muted);
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;}

.auto-status-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.auto-status-panel {min-height: 128px;}

.auto-status-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.hint-text {color: var(--skin-muted) !important;}

.companion-status-tags,
.companion-status-pills {min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: hidden !important;
  white-space: nowrap !important;}

.companion-status-tags {margin-bottom: 7px !important;}

.companion-status-tags span,
.companion-status-pills span {max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;}

.companion-status-tags span {padding: 0 !important;
  color: var(--skin-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;}

.companion-status-tags span:first-child {color: var(--skin-title) !important;}

.companion-status-pills span {flex: 0 1 auto !important;
  max-width: 46% !important;
  padding: 5px 9px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 18%, transparent) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  color: var(--skin-title) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;}

.crm-empty-hint {position: absolute; left: 14px; right: 14px; bottom: 44px; font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.65); font-family: "Songti SC","STSong",serif; text-align: center;}

.app-screen :where(.empty-text, .hint-text) {font-size: 11.5px !important; color: var(--ed-muted) !important;}

.rc-badge.secret {background: rgba(43,40,50,.74); letter-spacing: .06em;}

.rc-badge {position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.62); color: #fff; font-size: 10px; text-align: center; padding: 3px 0; backdrop-filter: blur(4px);}

.rsp-badge {display: inline-block; padding: 2px 6px; border-radius: 4px; background: var(--skin-button, #f0f0f0); font-size: 11px; margin-left: 6px; color: var(--skin-muted, #687887); vertical-align: middle; font-weight: 750;}

.rsp-empty-state {font-size: 13px; color: var(--skin-muted, #687887); padding: 12px 0; text-align: center; border-radius: 12px; background: rgba(0,0,0,.02); border: 1px dashed rgba(0,0,0,.08);}

.cute-empty-note {margin: 0; color: var(--diary-text-muted); font-size: 13px;}

.cute-reaction-card.loading {background: #fff; border-style: dashed;}

.script-header .badge {background: var(--moss-deep, #667f72); color: #fff; padding: 3px 7px; border-radius: 999px; font-size: 10px; font-weight: 900; white-space: nowrap;}

#appScreen :where(.runtime-loading, .empty-text) {color: var(--moss-ui-muted);}

.rc-badge.sleep {background:rgba(82,64,50,.72); letter-spacing:.05em;}

/*# source: assets/css/components/share-cards.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.xhs-link-card {width: min(285px, 72vw);
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 10px;
  align-items: stretch;
  border: 0;
  border-radius: 18px;
  padding: 9px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 88%, #f7dfe3 12%);
  color: var(--skin-text, #2c241d);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text, #17181c) 8%, transparent);
  text-align: left;}

.xhs-link-card.user {background: linear-gradient(145deg, #fff7f8, #ffe7ec);}

.xhs-link-card.partial {background: linear-gradient(145deg, #fffaf2, #f7ead8);}

.xhs-link-card.failed {background: linear-gradient(145deg, #fff7ed, #f9e0c8);}

.xhs-link-card.pending .xhs-link-kicker::after {content: "";
  display: inline-block;
  width: 1.2em;
  text-align: left;
  animation: xhsDots 1.1s steps(3, end) infinite;}

.douyin-link-card {width: min(285px, 72vw);
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 10px;
  align-items: stretch;
  border: 0;
  border-radius: 18px;
  padding: 9px;
  background: linear-gradient(145deg, #111318, #252836);
  color: #fff;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text, #17181c) 12%, transparent);
  text-align: left;}

.douyin-link-card.user {background: linear-gradient(145deg, #161820, #2a2632);}

.douyin-link-card.partial {background: linear-gradient(145deg, #20232c, #3a3131);}

.douyin-link-card.failed {background: linear-gradient(145deg, #2b241e, #46322a);}

.douyin-link-cover {width: 68px;
  min-height: 88px;
  border-radius: 13px;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 70% 30%, rgba(37, 244, 238, .75), transparent 28%),
    radial-gradient(circle at 32% 72%, rgba(254, 44, 85, .72), transparent 28%),
    linear-gradient(145deg, #050506, #1b1d23);
  font-size: 13px;
  font-weight: 950;}

.douyin-link-cover img {width: 100%;
  height: 100%;
  object-fit: cover;}

.douyin-link-info {min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;}

.douyin-link-kicker {color: #7ff8f3;
  font-size: 11px;
  font-weight: 950;}

.douyin-link-info strong {overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #fff;
  font-size: 14px;
  line-height: 1.35;}

.douyin-link-info small {overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  line-height: 1.45;}

.douyin-link-info em {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ff8aa0;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;}

.douyin-link-card.pending .douyin-link-kicker::after {content: "";
  display: inline-block;
  width: 1.2em;
  text-align: left;
  animation: douyinDots 1.1s steps(3, end) infinite;}

/*# source: assets/css/components/voice.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.voice-card-wrap {display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  column-gap: 8px;
  row-gap: 6px;
  max-width: min(316px, 88vw);}

.voice-card-wrap.user {justify-content: end;}

.voice-transcribe-pill {align-self: center;
  border: 0;
  border-radius: 999px;
  padding: 4px 9px;
  background: rgba(128, 132, 138, 0.18);
  color: rgba(76, 82, 92, 0.74);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);}

.voice-transcribe-pill.active {background: rgba(128, 132, 138, 0.26);
  color: rgba(48, 54, 64, 0.82);}

.voice-transcribe-pill:active {transform: scale(.96);}

.voice-transcript-text {width: 100%;
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(128, 132, 138, 0.14);
  color: var(--skin-text, #253044);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  white-space: pre-wrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);}

.voice-transcript-stack {grid-column: 1 / -1;
  display: grid;
  gap: 3px;
  width: min(240px, 68vw);
  max-width: 100%;}

.voice-card {width: min(240px, 68vw);
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 0;
  border-radius: 18px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
  box-shadow: 0 10px 24px rgba(47, 62, 82, 0.10);}

.voice-card.user {justify-self: end;
  background: color-mix(in srgb, var(--skin-accent, #b47a35) 18%, var(--surface-strong, #fff));}

.voice-card.assistant {justify-self: start;}

.voice-card-main {display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;}

.voice-wave {flex: 1;
  display: flex;
  align-items: center;
  gap: 3px;
  min-width: 78px;}

.voice-wave i {width: 3px;
  border-radius: 999px;
  background: currentColor;
  opacity: .65;}

.voice-wave i:nth-child(2) {height: 14px;}

.voice-wave i:nth-child(3) {height: 20px;}

.voice-wave i:nth-child(4) {height: 14px;}

.voice-wave i:nth-child(5) {height: 9px;}

.voice-card small {color: var(--skin-muted, #6f7380);
  font-size: 11px;
  font-weight: 800;}

.voice-card audio {width: 100%;
  height: 30px;}

.voice-hold-button {height: 108px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, var(--skin-accent, #b47a35), var(--skin-accent-2, #6b7a8a));
  font-size: 18px;
  font-weight: 1000;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--skin-accent, #b47a35) 36%, transparent);
  touch-action: none;
  user-select: none;}

.voice-hold-button.recording {transform: scale(.98);
  filter: saturate(1.25);}

.voice-fallback-text {min-height: 74px;
  width: 100%;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 16px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
  font: inherit;}

.assistant-tts-control {display: flex;
  gap: 6px;
  margin: 5px 0 0 4px;
  flex-wrap: wrap;}

.assistant-tts-control button {border: 1px solid rgba(143, 100, 45, 0.16);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  color: var(--text-soft);
  box-shadow: 0 4px 14px rgba(70, 52, 28, 0.08);}

.voice-role-box {border: 1px solid rgba(143, 100, 45, 0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,250,242,0.62));
  border-radius: 20px;
  padding: 12px;
  margin: 10px 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);}

.voice-role-box h2 {margin-top: 0;}

.voice-number-grid {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;}

.voice-id-grid {display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: -4px 0 10px;}

.voice-id-grid button {border: 0;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(143, 100, 45, 0.1);
  color: var(--text-main);
  font-size: 11px;}

@media (max-width: 430px) {
.voice-number-grid {grid-template-columns: 1fr;}
}

.assistant-voice-row {display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0 4px;}

.assistant-voice-strip {min-width: 118px;
  position: relative;
  z-index: 2;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
  max-width: 210px;
  min-height: 36px;
  border: 0;
  border-radius: 999px 999px 999px 10px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(250,243,232,0.9));
  color: #4e3923;
  box-shadow: 0 8px 20px rgba(76, 56, 28, 0.13), inset 0 1px 0 rgba(255,255,255,0.9);
  font-size: 12px;
  font-weight: 800;}

.assistant-voice-strip.pending {opacity: .86;
  border: 1px dashed rgba(143, 100, 45, 0.25);}

.assistant-voice-strip.generating {opacity: .72;}

.assistant-voice-strip.ready:active {transform: scale(.98);}

.voice-play-dot {width: 19px;
  height: 19px;
  border-radius: 50%;
  background: rgba(143, 100, 45, 0.13);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 10px;}

.voice-wave {display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 38px;}

.voice-wave i {display: block;
  width: 3px;
  border-radius: 99px;
  background: rgba(126, 87, 43, 0.5);}

.voice-wave i:nth-child(1) {height: 8px;}

.voice-wave i:nth-child(2) {height: 16px;}

.voice-wave i:nth-child(3) {height: 11px;}

.voice-wave i:nth-child(4) {height: 19px;}

.assistant-voice-strip em {font-style: normal;
  white-space: nowrap;
  color: rgba(70, 50, 28, 0.78);}

.assistant-voice-redo {border: 0;
  position: relative;
  z-index: 2;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
  background: rgba(255,255,255,0.62);
  color: var(--text-soft);
  border-radius: 999px;
  min-height: 28px;
  padding: 0 9px;
  font-size: 11px;
  box-shadow: 0 4px 12px rgba(70, 52, 28, 0.07);}

.voice-advanced {margin: 8px 0;
  border-radius: 16px;
  background: rgba(255,255,255,0.42);
  padding: 8px 10px;}

.voice-advanced summary {cursor: pointer;
  font-weight: 900;
  color: var(--text-main);}

.voice-acting-editor {margin:10px 0;border:1px solid rgba(143,100,45,.12);border-radius:18px;background:rgba(255,255,255,.44);padding:8px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

.voice-acting-editor summary {cursor:pointer;font-weight:900;color:var(--text-main);min-height:28px;display:flex;align-items:center}

.voice-acting-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}

.voice-acting-editor .hint-text {margin:3px 0 8px;color:var(--text-soft);font-size:11.5px;line-height:1.5}

.compact-voice-acting {background:rgba(255,255,255,.36)}

@media (max-width:430px) {
.voice-acting-grid {grid-template-columns:1fr}
}

.voice-number-grid.two {grid-template-columns: repeat(2, minmax(0, 1fr));}

.eleven-human-card {display: grid;
  gap: 9px;
  margin: 10px 0;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(143,100,45,.16)) 78%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-strong, #fff) 72%, transparent), color-mix(in srgb, var(--phone-bg, #fbf2df) 54%, transparent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);}

.eleven-human-head {display: grid;
  gap: 3px;}

.eleven-human-head strong {color: var(--skin-title, var(--text-main));
  font-size: 14px;}

.eleven-human-head small {color: var(--skin-muted, var(--text-soft));
  font-size: 11.5px;
  line-height: 1.45;}

@media (max-width: 430px) {
.voice-number-grid.two {grid-template-columns: 1fr;}
}

.assistant-voice-strip.voice-tap-accepted,
.assistant-voice-redo.voice-tap-accepted {opacity: .72;}

/*# source: assets/css/components/floating-hub.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.moss-floating-hub {position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(env(safe-area-inset-bottom) + 92px);
  z-index: 9500;
  width: 50px;
  height: 50px;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;}

.moss-floating-hub .moss-floating-main {position: static;
  inset: auto;
  width: 50px;
  height: 50px;}

.moss-floating-hub.open .moss-floating-main {transform: scale(.96);}

.moss-floating-menu {position: absolute;
  right: 0;
  left: auto;
  bottom: 58px;
  transform-origin: bottom right;
  width: min(214px, calc(100vw - 28px));
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.10));
  border-radius: 18px;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 92%, transparent);
  box-shadow: var(--skin-shadow-float, 0 18px 46px rgba(0,0,0,.18));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  transform: translateY(8px) scale(.96);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;}

.moss-floating-hub.open .moss-floating-menu {opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;}

.moss-floating-hub.expand-right .moss-floating-menu {left: 0;
  right: auto;
  transform-origin: bottom left;}

.moss-floating-hub.expand-left .moss-floating-menu {left: auto;
  right: 0;
  transform-origin: bottom right;}

.moss-floating-menu button {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #7aa1d5) 18%, var(--skin-border, rgba(0,0,0,.10)));
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 82%, transparent);
  color: var(--skin-text, #2c241d);
  text-align: left;}

.moss-floating-menu strong {flex: 0 0 auto; font-size: 13px; font-weight: 950;}

.moss-floating-menu span {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 800;}

.moss-floating-panel-overlay {position: fixed;
  inset: 0;
  z-index: 10025;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 10px max(10px, env(safe-area-inset-bottom));
  background: rgba(20, 22, 26, .34);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);}

.moss-floating-panel {width: min(680px, 100%);
  max-height: min(78vh, 680px);
  display: grid;
  gap: 12px;
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.10));
  border-radius: 18px 18px 14px 14px;
  background: var(--skin-surface, #fffdf7);
  color: var(--skin-text, #2c241d);
  box-shadow: var(--skin-shadow-float, 0 24px 80px rgba(0,0,0,.24));}

.moss-floating-panel header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;}

.moss-floating-panel h2,
.moss-floating-panel h3 {margin: 0;
  color: var(--skin-title, var(--skin-text, #2c241d));}

.moss-floating-panel h2 {font-size: 18px;}

.moss-floating-panel h3 {font-size: 15px;}

.moss-floating-panel small,
.moss-floating-panel p {margin: 3px 0 0;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  line-height: 1.45;}

.moss-floating-panel header button,
.moss-float-manual-model button {min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: var(--skin-button, #171b22);
  color: var(--skin-button-text, #fff);
  font-weight: 900;}

.moss-floating-panel-actions {flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;}

.moss-float-slot-grid {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;}

.moss-float-slot,
.moss-float-profile {display: grid;
  gap: 4px;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.10));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 82%, transparent);
  color: var(--skin-text, #2c241d);
  text-align: left;}

.moss-float-slot.active,
.moss-float-profile.active {border-color: color-mix(in srgb, var(--skin-accent, #7aa1d5) 58%, var(--skin-border, rgba(0,0,0,.10)));
  background: color-mix(in srgb, var(--skin-accent, #7aa1d5) 16%, var(--surface-strong, #fff) 84%);}

.moss-float-slot strong,
.moss-float-profile strong {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;}

.moss-float-slot span,
.moss-float-profile span {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 800;}

.moss-float-section {display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 58%, transparent);}

.moss-float-subtitle {color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 950;}

.moss-float-model-select-wrap {display: grid;
  gap: 6px;}

.moss-float-model-select {width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.10));
  border-radius: 12px;
  background: var(--skin-field, rgba(255,255,255,.74));
  color: var(--skin-text, #2c241d);
  padding: 0 10px;
  font-size: 13px;
  font-weight: 850;}

.moss-float-model-select-wrap small {color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 800;}

@media (max-width: 390px) {
.moss-float-slot-grid {grid-template-columns: 1fr;}
}

.moss-ui-icon {width: 20px;
  height: 20px;
  display: block;
  flex: 0 0 auto;
  pointer-events: none;}

.moss-ui-icon--sm {width: 17px; height: 17px;}

.moss-ui-icon--lg {width: 23px; height: 23px;}

.mav-nav.next .moss-ui-icon {transform: rotate(180deg);}

#appScreen .phone-flip-knob .moss-ui-icon {width: 17px; height: 17px;}

/*# source: assets/css/components/media-preview.css */
/*
 * media-preview shared component stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep cross-app structural primitives here; feature-specific visuals belong in feature stylesheets.
 */

.image-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  place-items: center;
  gap: 14px;
  padding: 58px 18px max(28px, calc(20px + var(--safe-bottom)));
  background: rgba(0, 0, 0, 0.82);
}

.image-preview-frame {
  min-height: 0;
  display: grid;
  place-items: center;
}

.image-preview-overlay img {
  max-width: 100%;
  max-height: 78vh;
  border-radius: 10px;
}

.image-preview-overlay .image-preview-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  font-size: 30px;
}

.image-preview-overlay .image-preview-save {
  min-height: 44px;
  padding: 0 26px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 15px;
  font-weight: 700;
}

.image-preview-overlay {
  background: color-mix(in srgb, #000 38%, transparent) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.image-preview-overlay {
  background: rgba(34, 26, 20, 0.42) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.image-preview-overlay {
  z-index: 99970 !important;
  touch-action: manipulation;
}

.image-preview-save,
.image-preview-close {
  touch-action: manipulation;
}

/*# source: assets/css/components/overlays.css */
/*
 * overlays shared component stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep cross-app structural primitives here; feature-specific visuals belong in feature stylesheets.
 */

.ui-modal-confirm:not(.danger) {
  background: var(--ed-accent-soft, #eaf1fa) !important;
  background-image: none !important;
  color: var(--ed-accent, #5b89bc) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent, #5b89bc) 26%, transparent) !important;
  box-shadow: none !important;
}
.sheet-drag-handle { width: 42px; height: 5px; background: #ddd; border-radius: 3px; margin: 0 auto 14px; }
.sheet-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; gap: 12px; }
.sheet-header h2 { font-size: 18px; margin: 0; letter-spacing: -0.02em; }
.sheet-header button { font-weight: 850; color: #667f72; background: rgba(143,169,154,.13); border: none; border-radius: 999px; padding: 8px 12px; }
.sheet-content { display: flex; flex-direction: column; gap: 12px; }
body.keyboard-overlay-open > .ui-modal-overlay {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: 8px max(10px, env(safe-area-inset-right, 0px)) 8px max(10px, env(safe-area-inset-left, 0px)) !important;
  overflow: hidden !important;
}
body.keyboard-overlay-open > .ui-modal-overlay > :is(.ui-modal, [role="dialog"]) {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-padding: 12px 0 18px !important;
}

/*# source: assets/css/components/forms.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

button,
input,
textarea {font: inherit;}

button {border: 0;
  cursor: pointer;}

.tiny-button,
.ghost-button {min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--text);
  background: var(--glass);}

.hidden-file-input {display: none;}

.ghost-button:empty {display: none;}

.forward-picker-sheet header button {width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: color-mix(in srgb, var(--skin-muted) 14%, transparent);
  color: inherit;
  font-size: 22px;}

.forward-picker-char input {width: 20px;
  height: 20px;
  accent-color: var(--skin-accent, #b47a35);}

.multi-select-bar {position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(72px + var(--safe-bottom));
  z-index: 12;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px 8px 13px;
  border: 1px solid var(--skin-border);
  border-radius: 18px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--phone-bg) 88%, transparent);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);}

.multi-select-bar > span {min-width: 0; display: grid; gap: 2px;}

.multi-select-bar > span b {font-size: 12px;}

.multi-select-bar > span small {overflow: hidden; color: var(--skin-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap;}

.multi-select-bar button {min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.wide-file-button,
.secondary-button {width: 100%;}

.secondary-button {margin-top: 10px;
  color: #252a31;
  background: #eef1f6;}

.danger-button {color: #fff;
  background: #e5484d;}

.app-screen .moss-account-tabs button {flex: 1;
  height: 36px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--text-soft);
  font-weight: 800;}

.app-screen .moss-account-tabs button.active {background: rgba(255, 255, 255, .92);
  color: var(--accent);
  box-shadow: 0 6px 18px rgba(80, 110, 110, .14);}

.app-screen .moss-account-form {display: grid;
  gap: 10px;}

.app-screen .moss-account-form[hidden] {display: none;}

.app-screen .moss-account-form input {width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(94, 125, 125, .25);
  padding: 0 12px;
  font: inherit;
  background: rgba(255, 255, 255, .92);
  color: var(--text);
  box-sizing: border-box;}

.app-screen .moss-account-form button {min-height: 42px;}

.file-button {position: relative;
  overflow: hidden;
  background: #272b33;}

.file-button input {position: absolute;
  inset: 0;
  opacity: 0;}

.mini-toggle-button {min-height: 30px;
  margin: 0 10px 8px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;}

.check-pill input {width: 18px;
  height: 18px;
  accent-color: #0a84ff;}

.face-lock-field {display: block;}

.visual-identity-label-input {width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(120, 140, 160, .24);
  border-radius: 8px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, .76);
  color: var(--app-font-color);}

.mini-file-button,
.mini-reset-button {min-height: 36px;
  margin-top: 0;
  border-radius: 12px;
  font-size: 13px;}

.mini-select {min-height: 36px;
  max-width: 72px;
  border: 0;
  border-radius: 12px;
  padding: 0 6px;
  color: var(--app-font-color);
  background: #eef1f6;
  font-weight: 800;
  font-size: 13px;}

.plus-action-button {display: grid;
  grid-template-rows: 52px 18px;
  place-items: center;
  gap: 4px;
  background: transparent;}

.plus-action-button span:last-child {color: #17181c;
  font-size: 13px;}

.tiny-button {background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;}

.plus-action-button {background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;}

.plus-action-button span:last-child {color: var(--skin-muted) !important;}

.inline-actions .secondary-button {justify-self: start;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.wide-file-button {min-height: 56px;}

.secondary-button {background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;}

.danger-button {background: color-mix(in srgb, #e34b55 90%, var(--phone-bg)) !important;
  color: #fff !important;
  border-color: transparent !important;}

.world-actions button,
.mini-toggle-button {transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;}

.world-actions button:active,
.mini-toggle-button:active {transform: scale(0.97);}

button,
.secondary-button,
.file-button {border-radius: var(--skin-radius-sm) !important;}

.secondary-button:not(.danger-button) {color: #fff !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;}

.world-actions button:not(.danger-button) {color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;}

.danger-button {color: #fff4ee !important;
  background: linear-gradient(135deg, #a8563f, #774134) !important;}

.crm-labels-toggle {position: absolute; right: 10px; bottom: 10px; font-size: 11px; font-weight: 800; color: #ffe3c4; background: rgba(20,16,28,.6); border: 1px solid rgba(255,214,166,.3); border-radius: 999px; padding: 6px 12px; backdrop-filter: blur(6px);}

.money-field > div {display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 16px;
  background: color-mix(in srgb, var(--phone-bg, #f4ecdf) 72%, #fff 28%);}

.money-field em {color: var(--skin-accent, #b17a36);
  text-align: center;
  font-style: normal;
  font-weight: 950;}

.money-field input {border: 0 !important;
  background: transparent !important;
  padding-left: 0 !important;
  box-shadow: none !important;
  font-size: 22px !important;
  font-weight: 900;}

.app-screen :where(.secondary-button) {font-size: 12px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;
  border: 1px solid var(--ed-line) !important;
  background: var(--ed-accent-soft) !important;
  color: var(--ed-text) !important;
  box-shadow: none !important;}

.app-screen :where(.primary-button) {font-size: 13px !important;
  padding: 9px 14px !important;
  border-radius: 11px !important;
  background: var(--ed-accent) !important;
  box-shadow: none !important;}

.app-screen :where(.primary-button, .secondary-button) {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;}

#appScreen :is(.primary-button, .secondary-button) {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  background-image: none !important;
  text-shadow: none !important;}

#appScreen .npc-entry-button {background: color-mix(in srgb, var(--tone-accent, #79aee8) 12%, #fff); color: var(--tone-accent, #5d92cf); border-color: color-mix(in srgb, var(--tone-accent, #79aee8) 38%, transparent);}

#appScreen .npc-entry-button em {display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--tone-accent, #79aee8); color: #fff; font-size: 11px; font-style: normal;}

#appScreen .npc-batch-actions button {white-space: nowrap;}

#appScreen .npc-manual-button {padding: 9px 14px; border: 0; border-radius: 7px; background: var(--tone-accent, #72a8e3); color: #fff; font-weight: 800;}

#appScreen .npc-source-tools button {padding: 7px 9px; border: 1px solid rgba(91, 133, 176, .2); border-radius: 6px; background: #fff; color: inherit; font-size: 12px;}

#appScreen .npc-generate-button,
#appScreen .npc-commit-button {width: 100%; margin-top: 10px; padding: 10px 12px; border: 0; border-radius: 7px; background: var(--tone-accent, #72a8e3); color: #fff; font-weight: 700;}

@media (max-width: 760px) {
#appScreen .npc-batch-actions button {flex: 1; min-width: 0;}
}

@media (hover: none) and (pointer: coarse) {
button,
[role="button"] {touch-action: manipulation;}
}

.news-tabs button {border:1px solid rgba(87,111,132,.12);border-radius:14px;background:rgba(255,255,255,.7);padding:10px;color:#445768;font-weight:800}

.news-tabs button.active {background:#24384a;color:#fff}

.news-quick-import form {display:grid;grid-template-columns:92px minmax(0,1fr)64px;gap:8px}

.news-quick-import select,
.news-quick-import input {min-width:0;border:1px solid rgba(96,116,134,.16);border-radius:14px;background:#fff;padding:11px 10px;color:#223342}

.news-quick-import button,
.news-actions button {border:0;border-radius:14px;background:#25394c;color:#fff;font-weight:900}

.news-collector-actions button {padding:12px 10px}

.news-actions button {padding:9px 12px}

.news-share-sheet header button {border:0;border-radius:999px;background:rgba(39,58,76,.1);color:#25394c;padding:9px 12px;font-weight:900}

.news-share-note textarea {width:100%;box-sizing:border-box;border:1px solid rgba(85,110,132,.14);border-radius:14px;background:#fff;padding:11px;color:#203346;resize:vertical}

.news-login-actions button {flex:1;border:0;border-radius:14px;background:#25394c;color:#fff;text-align:center;text-decoration:none;padding:11px;font-weight:900}

.care-manual-title button {white-space: nowrap;}

.rc-menu-dropdown button {background: none; border: none; text-align: left; padding: 10px 12px; font-size: 13px; color: var(--skin-text, #25303b); border-radius: 6px; cursor: pointer;}

.rc-menu-dropdown button:hover {background: var(--skin-button, #f0f0f0);}

.rsp-field {display: flex; flex-direction: column; gap: 8px;}

.rsp-input-wrap {position: relative; background: var(--surface-strong, #fff); border: 1px solid var(--skin-border, rgba(0,0,0,.12)); border-radius: 12px; transition: all .2s; overflow: hidden;}

.rsp-input-wrap:focus-within {border-color: var(--skin-text, #25303b); box-shadow: 0 0 0 3px color-mix(in srgb, var(--skin-text, #25303b) 10%, transparent);}

.rsp-input {width: 100%; border: none; background: transparent; padding: 12px 14px; font-size: 14px; color: var(--skin-text, #25303b); outline: none; appearance: none; font-family: inherit; font-weight: 650;}

select.rsp-input {padding-right: 30px; cursor: pointer;}

.rsp-input-wrap:has(select)::after {content: "▾"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--skin-muted, #687887); pointer-events: none;}

.rsp-textarea {width: 100%; border: none; background: transparent; padding: 12px 14px; font-size: 14px; color: var(--skin-text, #25303b); outline: none; resize: vertical; min-height: 80px; line-height: 1.5; font-family: inherit;}

.rsp-textarea::placeholder,
.rsp-input::placeholder {color: color-mix(in srgb, var(--skin-muted, #687887) 60%, transparent);}

.cute-sticky-note footer button {border: 0; background: transparent; color: inherit; font-weight: 900; padding: 0 0 0 8px;}

.cute-paper-actions button {border: 0; background: transparent; color: var(--diary-text-muted); padding: 4px; font-size: 13px; font-weight: 800;}

.search-input-wrapper {flex: 1; display: flex; align-items: center; background: #f0f0f0; border-radius: 10px; padding: 7px 10px; gap: 8px; min-width: 0;}

.search-input-wrapper input {flex: 1; border: none; background: transparent; font-size: 15px; outline: none; padding: 4px 0; color: #111; min-width: 0;}

#appScreen button,
#appScreen [role="button"] {touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;}

#appScreen button:focus-visible,
#appScreen [role="button"]:focus-visible,
#appScreen :is(input, textarea, select):focus-visible {outline: 2px solid color-mix(in srgb, var(--moss-ui-accent) 72%, #fff 28%) !important;
  outline-offset: 2px;}

#appScreen :is(input, textarea, select) {color: var(--moss-ui-text);
  caret-color: var(--moss-ui-accent);}

#appScreen :where(.primary-button, .secondary-button):not(.danger-button) {min-height: 44px;
  border-radius: var(--moss-ui-radius-sm) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  transition: transform var(--moss-ui-fast) var(--moss-ui-ease), background var(--moss-ui-fast) ease, opacity var(--moss-ui-fast) ease !important;}

#appScreen :where(.primary-button, .secondary-button):active {transform: scale(.98);}

#appScreen :where(input, textarea, select):disabled {opacity: .62;}

#appScreen :where(button, [role="button"]):disabled {opacity: .48;
  cursor: default;}

/* Existing canonical module rules follow. */
/*
 * forms shared component stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep cross-app structural primitives here; feature-specific visuals belong in feature stylesheets.
 */

.field span {
  display: block;
  color: inherit;
  opacity: 0.78;
  font-size: 13px;
}

.composer {
  display: grid;
  grid-template-columns: 42px 1fr 42px 42px auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px calc(8px + var(--safe-bottom));
  border-radius: 0;
  background: #f6f6f6;
}

.composer-input-wrap {
  min-height: 42px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  border-radius: 6px;
  background: #fff;
}

.composer textarea,
.field input,
.field textarea {
  width: 100%;
  border: 1px solid rgba(23, 24, 28, 0.12);
  border-radius: 16px;
  outline: 0;
  background: #f6f7fa;
  color: #17181c;
}

.composer textarea {
  max-height: 120px;
  min-height: 38px;
  border: 0;
  resize: none;
  padding: 9px 10px;
  background: transparent;
}

.composer-icon,
.composer-mic {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #111318;
  background: transparent;
  font-size: 26px;
}

.composer-mic {
  font-size: 20px;
}

.composer-send {
  min-width: 50px;
  min-height: 34px;
  border-radius: 6px;
  color: #fff;
  background: #07c160;
  font-weight: 800;
}

.field {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.field input,
.field select,
.field textarea {
  padding: 12px;
  resize: vertical;
}

.field select {
  width: 100%;
  border: 1px solid rgba(23, 24, 28, 0.12);
  border-radius: 16px;
  outline: 0;
  background: #f6f7fa;
  color: #17181c;
}

.field input,
.field textarea,
.field select {
  color: var(--app-font-color);
}

.field span {
  color: color-mix(in srgb, var(--app-font-color) 72%, #6b7280);
}

.visual-identity-controls .field {
  margin: 0;
}

.composer-send {
  background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;
}

.field input,
.field select,
.field textarea,
.composer-input-wrap {
  border-color: var(--skin-border);
  background: var(--surface-strong);
  color: var(--skin-text);
}

.composer {
  background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
}

.composer,
.composer-input-wrap {
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}

.composer textarea,
.composer-icon {
  color: var(--skin-text) !important;
}

.composer-input-wrap,
.composer textarea,
.field input,
.field textarea,
.field select {
  background: var(--surface-strong) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}

.composer-send {
  background: var(--skin-accent) !important;
  color: var(--phone-bg) !important;
}

.form-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
}

.form-action-grid button {
  width: 100%;
  height: 56px;
  min-height: 56px;
  display: grid;
  place-items: center;
  padding: 0 14px;
  border-radius: 16px;
  line-height: 1.1;
}

.form-action-grid button {
  min-height: 56px;
}

.composer {
  grid-template-columns: 38px 1fr 38px 38px auto !important;
  gap: 8px !important;
  padding: 10px 12px calc(12px + var(--safe-bottom)) !important;
  border-top: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
}

.composer-input-wrap {
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 6px !important;
  border-radius: 20px !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--phone-bg) !important;
}

.composer textarea {
  background: transparent !important;
  color: var(--skin-text) !important;
  border: 0 !important;
}

.composer-icon,
.composer-mic {
  color: var(--skin-muted) !important;
  background: transparent !important;
}

.composer-send {
  min-width: 54px !important;
  height: 38px !important;
  border-radius: 19px !important;
  color: #fff !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-accent) 28%, transparent) !important;
}

.form-status.success {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--skin-accent) 14%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  font-weight: 700;
}

.composer,
.composer-input-wrap,
.composer textarea {
  max-width: 100% !important;
  min-width: 0 !important;
}

.composer {
  width: 100% !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px minmax(50px, auto) !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.composer-icon,
.composer-mic {
  width: 34px !important;
  min-width: 34px !important;
}

.composer-send {
  min-width: 50px !important;
  padding-inline: 10px !important;
}

body:has(.composer textarea:focus) .chat-layout {
  height: var(--app-height) !important;
}

body:has(.composer textarea:focus) .messages {
  min-height: 0 !important;
  padding-bottom: 8px !important;
}

body:has(.composer textarea:focus) .composer {
  padding-bottom: 8px !important;
}

.composer {
  border-top: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  box-shadow: 0 -10px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}

.composer-input-wrap,
.field input,
.field select,
.field textarea {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
}

.composer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 8 !important;
  min-height: 58px !important;
  border-top: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  box-shadow: 0 -10px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(20px) saturate(1.14);
  -webkit-backdrop-filter: blur(20px) saturate(1.14);
}

.composer {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px auto !important;
  gap: 7px !important;
  align-items: end !important;
  padding: 9px 10px 10px !important;
}

.composer-input-wrap {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 0 8px !important;
}

.composer textarea {
  width: 100% !important;
  min-height: 26px !important;
  max-height: 96px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--skin-text) !important;
}

.composer-icon,
.composer-mic {
  width: 34px !important;
  min-width: 34px !important;
  color: var(--skin-muted) !important;
  background: transparent !important;
}

.composer-send {
  color: #fff !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}

.composer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 12 !important;
  border-top: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  box-shadow: 0 -12px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.14) !important;
}

.composer {
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px minmax(50px, auto) !important;
  gap: 7px !important;
  align-items: end !important;
  padding: 9px 10px 10px !important;
}

.composer-input-wrap {
  min-width: 0 !important;
  min-height: var(--skin-control-height) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px !important;
}

.composer textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 26px !important;
  max-height: 96px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--skin-text) !important;
}

.composer-icon,
.composer-mic {
  width: 34px !important;
  min-width: 34px !important;
  height: var(--skin-control-height) !important;
  min-height: var(--skin-control-height) !important;
  padding: 0 !important;
  color: var(--skin-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.composer-send {
  min-width: 50px !important;
  height: var(--skin-control-height) !important;
  padding: 0 12px !important;
}

.field span {
  color: var(--skin-muted) !important;
}

.field textarea {
  min-height: 104px !important;
}

.form-action-grid button:not(.danger-button):not(.secondary-button),
.composer-send {
  color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}

@media (max-width: 380px) {

  .composer {
    grid-template-columns: 32px minmax(0, 1fr) 32px 32px minmax(46px, auto) !important;
    gap: 5px !important;
    padding-inline: 8px !important;
  }
}

@media (max-width: 380px) {

  .composer-icon,
.composer-mic {
    width: 32px !important;
    min-width: 32px !important;
  }
}

.composer {
  grid-row: 3 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 30 !important;
}

body.theme-apple .composer {
  color: var(--skin-text) !important;
  background: rgba(247, 248, 251, 0.78) !important;
  border-color: rgba(110, 118, 130, 0.12) !important;
  box-shadow: 0 8px 22px rgba(74, 87, 110, 0.08) !important;
  backdrop-filter: blur(24px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.14) !important;
}

html[data-ui-mode="dark"] body.theme-apple .composer {
  color: var(--skin-text) !important;
  background: rgba(26, 28, 34, 0.78) !important;
  border-color: var(--skin-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.20) !important;
}

.chat-layout .composer {
  border-top: 1px solid rgba(81, 96, 118, 0.12) !important;
  background: color-mix(in srgb, var(--phone-bg, #f4f7fb) 92%, #ffffff 8%) !important;
}

.chat-layout .composer {
  grid-template-columns: 34px minmax(0, 1fr) 34px 34px 34px auto !important;
}

.composer-voice-inline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
}

.composer-voice-inline.recording {
  color: #fff !important;
  background: var(--skin-accent, #6f9ed8) !important;
}

.composer-icon[data-send-batch].has-pending {
  color: #fff !important;
  background: var(--skin-accent, #6f9ed8) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent, #6f9ed8) 36%, transparent) !important;
}

body.keyboard-open {
  --browser-bottom-reserve: 0px !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.keyboard-open .device-shell,
body.keyboard-open .phone,
body.keyboard-open .screen,
body.keyboard-open .app-screen.active {
  max-height: var(--visible-height) !important;
  overflow: hidden !important;
}

body.keyboard-open .app-body:has(.chat-layout) {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.keyboard-open .chat-layout {
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.keyboard-open .chat-layout .messages {
  padding-bottom: calc(10px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(10px + var(--safe-bottom)) !important;
}

body.keyboard-open .chat-layout .composer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 30 !important;
  border-radius: 0 !important;
  box-shadow: 0 -8px 20px rgba(35, 48, 68, 0.10) !important;
}

body.keyboard-open .chat-extra-panel {
  bottom: calc(72px + var(--keyboard-inset)) !important;
}

.compact-voice-settings-panel .field,
.compact-voice-box .field {
  margin-bottom: 9px;
}

.sticker-mount-panel .form-status {
  margin-top: 6px;
  color: #6b7280;
}

.sticker-mount-panel .form-status.success {
  color: #2f8f5b;
}

.user-mask-detail-grid .field,
.persona-weaver-detail-grid .field {
  min-width: 0;
}

.persona-weaver-preview .field span,
.user-mask-panel .field span {
  word-break: keep-all;
}

.notes-app-list .field input,
.notes-app-list .field textarea {
  font-size: 13px !important;
  border-radius: 10px !important;
  border: 1px solid var(--ed-line, rgba(58, 77, 67, 0.14)) !important;
}

body.pwa-standalone .chat-layout.chat-plus-open .composer,
body.pwa-standalone .chat-layout.chat-voice-open .composer {
  display: none !important;
}

.chat-layout.chat-plus-open .composer,
.chat-layout.chat-voice-open .composer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.chat-layout.chat-plus-open:not(:has(#chatExtraPanel)) .composer,
body:not(:has(#voiceCaptureOverlay)) .chat-layout.chat-voice-open .composer {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.keyboard-chat-open .chat-layout .messages,
body.keyboard-open.keyboard-chat-open .chat-layout .messages,
body.keyboard-open.keyboard-chat-open #messages.messages {
  padding-bottom: calc(10px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(10px + var(--safe-bottom)) !important;
}

.composer-icon {
  display: grid !important;
  place-items: center !important;
}

.composer-icon {
  min-width: 42px !important;
  min-height: 42px !important;
  font-size: 0 !important;
}

#appScreen .composer {
  border-top: 1px solid var(--moss-live-line, var(--moss-ui-line)) !important;
  background: color-mix(in srgb, var(--moss-live-paper, var(--moss-ui-surface)) 94%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

#appScreen .composer-input-wrap {
  min-height: 44px !important;
  border: 1px solid var(--moss-live-line, var(--moss-ui-line)) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-control) !important;
  box-shadow: none !important;
}

#appScreen .composer textarea {
  min-height: 42px;
  font-size: 16px !important;
}

#appScreen .composer-send {
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: var(--moss-live-moss, var(--moss-ui-accent)) !important;
  box-shadow: none !important;
}

body.keyboard-open,
body.keyboard-open .device-shell,
body.keyboard-open .phone {
  height: var(--visible-height) !important;
  min-height: 0 !important;
  max-height: var(--visible-height) !important;
}

body.keyboard-open .device-shell {
  transform: translate3d(0, var(--visual-viewport-top), 0);
  overflow: hidden !important;
}

body.keyboard-open .screen,
body.keyboard-open .app-screen.active,
body.keyboard-open .app-body {
  min-height: 0 !important;
  max-height: 100% !important;
}

body.keyboard-open .app-screen.active {
  padding-bottom: 0 !important;
}

body.keyboard-open :where(input, textarea, [contenteditable='true'], [contenteditable='plaintext-only']) {
  scroll-margin-top: 78px !important;
  scroll-margin-bottom: 22px !important;
}

@media not all {
body.keyboard-open #charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] {
  width: min(440px, 100%) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

}

@media not all {
body.keyboard-open #charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-detail-view {
  padding-bottom: 0 !important;
}

}

@media not all {
body.keyboard-open #charPhoneOverlay .char-phone-friend-composer {
  padding-bottom: 8px !important;
}

}

body.keyboard-encounter-open #mossFloatingHub,
body.keyboard-encounter-open #inspirationFloatButton { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; animation: none !important; transition: none !important; }

body.keyboard-open #appScreen.live-screen-active .live-room-topbar,
body.keyboard-open #appScreen.live-screen-active .live-room-labels,
body.keyboard-open #appScreen.live-screen-active .live-caption-zone,
body.keyboard-open #appScreen.live-screen-active .live-side-actions {
  opacity: .28;
  pointer-events: none;
}

body.keyboard-open #appScreen.live-screen-active .live-comments {
  bottom: calc(122px + env(safe-area-inset-bottom));
  max-height: 72px;
}

body.keyboard-open #appScreen.live-screen-active .live-composer-bar {
  min-height: calc(116px + env(safe-area-inset-bottom));
  padding-bottom: 8px;
}

#appScreen .settings-page-shell :where(
  .field,
  .secret-input-row,
  .range-number-row,
  .button-row,
  .cloud-backup-toolbar,
  .backup-export-grid,
  .backup-import-grid
),
#appScreen .app-body > .panel-stack:has(.settings-back) :where(
  .field,
  .secret-input-row,
  .range-number-row,
  .button-row,
  .cloud-backup-toolbar,
  .backup-export-grid,
  .backup-import-grid
) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html.keyboard-open {
  width: 100% !important;
  height: var(--layout-viewport-height) !important;
  min-height: var(--layout-viewport-height) !important;
  max-height: var(--layout-viewport-height) !important;
  overflow: hidden !important;
}

html.keyboard-open body.keyboard-open {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--visible-height) !important;
  min-height: var(--visible-height) !important;
  max-height: var(--visible-height) !important;
  overflow: hidden !important;
  transform: translate3d(0, var(--visual-viewport-top), 0) !important;
  transform-origin: 0 0 !important;
}

html.keyboard-open body.keyboard-open .device-shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  transform: none !important;
}

html.keyboard-open body.keyboard-open :is(.phone, .screen, .app-screen.active) {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html.keyboard-open body.keyboard-open #appScreen > .app-body {
  min-height: 0 !important;
  max-height: 100% !important;
}

html.keyboard-open body.keyboard-chat-open #appScreen > .app-body,
html.keyboard-open body.keyboard-chat-open #appScreen .chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html.keyboard-open body.keyboard-generic-open #appScreen > .app-body {
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  scroll-padding-bottom: 24px !important;
}

body.keyboard-chat-open #appScreen:has(.chat-layout) {
  padding-bottom: 0 !important;
}

html.ios-pwa-standalone.keyboard-open {
  --safe-bottom: 0px !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-open {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: var(--visible-height) !important;
  min-height: var(--visible-height) !important;
  max-height: var(--visible-height) !important;
  transform: translate3d(0, var(--visual-viewport-top), 0) !important;
  transform-origin: 0 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.keyboard-overlay-open > .card-compose-overlay {
  align-items: flex-end !important;
}

body.keyboard-overlay-open .location-history-list {
  max-height: min(120px, 18vh) !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-open .home-text-overlay.moss-keyboard-surface-active .home-text-sheet {
  margin-bottom: 0 !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-open #charPhoneOverlay.moss-keyboard-surface-active .char-phone-shell,
html.ios-pwa-standalone.keyboard-open body.keyboard-open #userPhoneOverlay.moss-keyboard-surface-active .char-phone-shell {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

body.keyboard-moment-open :is(.moment-comment-form:not([hidden]), .moment-comment-dock) {
  bottom: 6px !important;
}

/*# source: assets/css/features/period.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

.period-gradient {background: linear-gradient(145deg, #ff8fab, #ffd1dc); color: #3c1724;}

.period-list {display: grid;
  gap: 10px;}

.period-card {display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 18px;
  background: var(--surface);}

.period-card strong {color: var(--skin-text);}

.period-card p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--skin-muted);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.period-card small {color: var(--skin-muted);}

.period-card button {justify-self: start;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.period-calendar {display: grid;
  gap: 10px;}

.period-calendar header {display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  gap: 8px;}

.period-calendar header strong {text-align: center;
  color: var(--skin-text);}

.period-calendar header button {width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--skin-text);
  background: var(--surface-strong);}

.period-weekdays,
.period-days {display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;}

.period-weekdays span {text-align: center;
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;}

.period-day {position: relative;
  min-height: 42px;
  border: 1px solid var(--skin-border);
  border-radius: 14px;
  color: var(--skin-text);
  background: var(--surface);}

.period-day span {position: relative;
  z-index: 1;
  font-weight: 800;}

.period-day.outside {opacity: 0.34;}

.period-day.today {border-color: color-mix(in srgb, var(--skin-accent) 70%, var(--skin-border));}

.period-day.period-range {background: color-mix(in srgb, #ff8fab 28%, var(--surface)) !important;}

.period-day.period-start,
.period-day.period-end {color: #3c1724;
  background: #ff8fab !important;
  border-color: #ff8fab;}

.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after {content: "";
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ffd166;}

.period-day.tap-ignored {animation: periodTapIgnored 0.28s ease;}

.period-legend {display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;}

.period-legend span {display: inline-flex;
  align-items: center;
  gap: 6px;}

.period-legend i {width: 12px;
  height: 12px;
  border-radius: 50%;}

.period-card {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.period-card {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.period-app .period-calendar header button,
.panel .period-calendar header button,
.period-calendar header button,
.period-app .period-calendar .period-days > button.period-day,
.panel .period-calendar .period-days > button.period-day,
.period-calendar .period-days > button.period-day {position: relative !important;
  background: #fffaf0 !important;
  background-image: none !important;
  color: #4d412f !important;
  border: 1px solid rgba(126, 103, 68, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 5px 12px rgba(85, 68, 43, 0.045) !important;
  opacity: 1 !important;}

.period-app .period-calendar .period-days > button.period-day,
.panel .period-calendar .period-days > button.period-day,
.period-calendar .period-days > button.period-day {min-height: 50px !important;
  border-radius: 18px !important;}

.period-app .period-calendar .period-days > button.period-day span,
.panel .period-calendar .period-days > button.period-day span,
.period-calendar .period-days > button.period-day span {position: relative !important;
  z-index: 2 !important;
  color: inherit !important;
  font-size: 18px !important;
  font-weight: 900 !important;}

.period-app .period-calendar .period-days > button.period-day.today,
.panel .period-calendar .period-days > button.period-day.today,
.period-calendar .period-days > button.period-day.today {background: #fffaf0 !important;
  color: #2f281d !important;
  border-color: rgba(151, 123, 73, 0.82) !important;
  box-shadow: 0 0 0 2px rgba(151, 123, 73, 0.20), inset 0 1px 0 rgba(255,255,255,0.75) !important;}

.period-app .period-calendar .period-days > button.period-day.period-range,
.panel .period-calendar .period-days > button.period-day.period-range,
.period-calendar .period-days > button.period-day.period-range,
.period-app .period-calendar .period-days > button.period-day.period-start,
.period-app .period-calendar .period-days > button.period-day.period-end,
.panel .period-calendar .period-days > button.period-day.period-start,
.panel .period-calendar .period-days > button.period-day.period-end,
.period-calendar .period-days > button.period-day.period-start,
.period-calendar .period-days > button.period-day.period-end {background: #fffaf0 !important;
  background-image: none !important;
  color: #3c1724 !important;
  border-color: #ff8fab !important;
  box-shadow: 0 0 0 2px rgba(255, 143, 171, 0.16), inset 0 1px 0 rgba(255,255,255,0.78) !important;}

.period-app .period-calendar .period-days > button.period-day.period-range::before,
.panel .period-calendar .period-days > button.period-day.period-range::before,
.period-calendar .period-days > button.period-day.period-range::before,
.period-app .period-calendar .period-days > button.period-day.period-start::before,
.panel .period-calendar .period-days > button.period-day.period-start::before,
.period-calendar .period-days > button.period-day.period-start::before,
.period-app .period-calendar .period-days > button.period-day.period-end::before,
.panel .period-calendar .period-days > button.period-day.period-end::before,
.period-calendar .period-days > button.period-day.period-end::before {content: "" !important;
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #ff8fab !important;
  box-shadow: 0 0 0 3px rgba(255, 143, 171, 0.14) !important;}

.period-app .period-calendar .period-days > button.period-day.period-range::before,
.panel .period-calendar .period-days > button.period-day.period-range::before,
.period-calendar .period-days > button.period-day.period-range::before {left: 8px !important;
  top: 8px !important;
  background: #ffc0cf !important;}

.period-app .period-calendar .period-days > button.period-day.period-start::before,
.panel .period-calendar .period-days > button.period-day.period-start::before,
.period-calendar .period-days > button.period-day.period-start::before,
.period-app .period-calendar .period-days > button.period-day.period-end::before,
.panel .period-calendar .period-days > button.period-day.period-end::before,
.period-calendar .period-days > button.period-day.period-end::before {right: 8px !important;
  bottom: 8px !important;}

.period-app .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after,
.panel .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after,
.period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after {content: "" !important;
  right: 8px !important;
  bottom: 8px !important;
  width: 8px !important;
  height: 8px !important;
  background: #ffd166 !important;
  box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.20) !important;}

.period-legend .legend-start {background: #ff8fab !important;}

.period-legend .legend-range {background: #ffc0cf !important;}

.period-legend .legend-predict {background: #ffd166 !important;}

.period-app .period-calendar,
.panel .period-calendar {overflow: visible !important;}

.period-app .period-calendar header button,
.panel .period-calendar header button,
.period-calendar header button {background: #fffaf0 !important;
  background-image: none !important;
  color: #5a4a32 !important;
  border: 1px solid rgba(126, 103, 68, 0.18) !important;
  box-shadow: 0 6px 16px rgba(92, 72, 42, 0.08) !important;}

.period-app .period-calendar .period-days,
.panel .period-calendar .period-days,
.period-calendar .period-days {gap: 8px !important;}

.period-app .period-calendar .period-days > button.period-day,
.panel .period-calendar .period-days > button.period-day,
.period-calendar .period-days > button.period-day {position: relative !important;
  min-height: 50px !important;
  border-radius: 18px !important;
  background: #fffaf0 !important;
  background-image: none !important;
  color: #4d412f !important;
  border: 1px solid rgba(126, 103, 68, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 5px 12px rgba(85, 68, 43, 0.045) !important;
  opacity: 1 !important;
  transform: translateZ(0);
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, color .14s ease !important;}

.period-app .period-calendar .period-days > button.period-day span,
.panel .period-calendar .period-days > button.period-day span,
.period-calendar .period-days > button.period-day span {position: relative !important;
  z-index: 2 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: inherit !important;}

.period-app .period-calendar .period-days > button.period-day:active,
.panel .period-calendar .period-days > button.period-day:active,
.period-calendar .period-days > button.period-day:active {transform: scale(.96) !important;}

.period-app .period-calendar .period-days > button.period-day.outside,
.panel .period-calendar .period-days > button.period-day.outside,
.period-calendar .period-days > button.period-day.outside {background: #f4eddd !important;
  background-image: none !important;
  color: rgba(90, 74, 50, 0.42) !important;
  border-color: rgba(126, 103, 68, 0.08) !important;
  box-shadow: none !important;}

.period-app .period-calendar .period-days > button.period-day.today,
.panel .period-calendar .period-days > button.period-day.today,
.period-calendar .period-days > button.period-day.today {color: #2f281d !important;
  border-color: rgba(151, 123, 73, 0.82) !important;
  box-shadow: 0 0 0 2px rgba(151, 123, 73, 0.20), inset 0 1px 0 rgba(255,255,255,0.75) !important;}

.period-app .period-calendar .period-days > button.period-day.period-range,
.panel .period-calendar .period-days > button.period-day.period-range,
.period-calendar .period-days > button.period-day.period-range {background: #fffaf0 !important;
  background-image: none !important;
  color: #5c2b38 !important;
  border-color: rgba(255, 143, 171, 0.62) !important;
  box-shadow: 0 0 0 2px rgba(255, 143, 171, 0.15), inset 0 1px 0 rgba(255,255,255,0.72) !important;}

.period-app .period-calendar .period-days > button.period-day.period-range::before,
.panel .period-calendar .period-days > button.period-day.period-range::before,
.period-calendar .period-days > button.period-day.period-range::before {content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #ffc0cf !important;
  box-shadow: 0 0 0 3px rgba(255, 143, 171, 0.12) !important;}

.period-app .period-calendar .period-days > button.period-day.period-start,
.period-app .period-calendar .period-days > button.period-day.period-end,
.panel .period-calendar .period-days > button.period-day.period-start,
.panel .period-calendar .period-days > button.period-day.period-end,
.period-calendar .period-days > button.period-day.period-start,
.period-calendar .period-days > button.period-day.period-end {background: #fffaf0 !important;
  background-image: none !important;
  color: #3c1724 !important;
  border-color: #ff8fab !important;
  box-shadow: 0 0 0 3px rgba(255, 143, 171, 0.22), 0 8px 18px rgba(255, 143, 171, 0.16), inset 0 1px 0 rgba(255,255,255,0.80) !important;}

.period-app .period-calendar .period-days > button.period-day.period-start::before,
.panel .period-calendar .period-days > button.period-day.period-start::before,
.period-calendar .period-days > button.period-day.period-start::before,
.period-app .period-calendar .period-days > button.period-day.period-end::before,
.panel .period-calendar .period-days > button.period-day.period-end::before,
.period-calendar .period-days > button.period-day.period-end::before {content: "" !important;
  position: absolute !important;
  right: 8px !important;
  bottom: 8px !important;
  z-index: 1 !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #ff8fab !important;
  box-shadow: 0 0 0 3px rgba(255, 143, 171, 0.18) !important;}

.period-app .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range),
.panel .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range),
.period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range) {background: #fffaf0 !important;
  background-image: none !important;
  color: #5a4213 !important;
  border-color: rgba(255, 209, 102, 0.90) !important;
  box-shadow: 0 0 0 2px rgba(255, 209, 102, 0.18), inset 0 1px 0 rgba(255,255,255,0.72) !important;}

.period-app .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after,
.panel .period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after,
.period-calendar .period-days > button.period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after {content: "" !important;
  position: absolute !important;
  right: 8px !important;
  bottom: 8px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #ffd166 !important;
  box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.20) !important;}

.period-app .period-legend i,
.panel .period-legend i {border: 1px solid rgba(126, 103, 68, 0.12) !important;}

.period-app .period-legend .legend-start,
.panel .period-legend .legend-start,
.period-legend .legend-start {background: #ff8fab !important;}

.period-app .period-legend .legend-range,
.panel .period-legend .legend-range,
.period-legend .legend-range {background: #ffc0cf !important;}

.period-app .period-legend .legend-predict,
.panel .period-legend .legend-predict,
.period-legend .legend-predict {background: #ffd166 !important;}

.period-calendar header button {border: 1px solid color-mix(in srgb, var(--skin-border) 82%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 94%, #fff8ec) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text) 7%, transparent) !important;}

.period-calendar header button:hover,
.period-calendar header button:active,
.period-calendar header button:focus-visible {background: color-mix(in srgb, var(--surface-strong) 88%, #fff1df) !important;
  color: var(--skin-title) !important;
  border-color: color-mix(in srgb, #f58aaa 36%, var(--skin-border)) !important;}

.period-calendar .period-day {min-height: 48px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 88%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, #fff8ec) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--skin-text) 5%, transparent) !important;}

.period-calendar .period-day:hover,
.period-calendar .period-day:active,
.period-calendar .period-day:focus-visible {background: color-mix(in srgb, var(--surface-strong) 88%, #fff2e4) !important;
  color: var(--skin-title) !important;
  border-color: color-mix(in srgb, #f58aaa 42%, var(--skin-border)) !important;}

.period-calendar .period-day.today {border-color: color-mix(in srgb, #f58aaa 72%, var(--skin-border)) !important;
  box-shadow:
    0 0 0 2px color-mix(in srgb, #f58aaa 18%, transparent),
    0 6px 16px color-mix(in srgb, var(--skin-text) 5%, transparent) !important;}

.period-calendar .period-day.period-range {background: color-mix(in srgb, #ffd8e4 34%, var(--surface-strong)) !important;
  color: var(--skin-title) !important;
  border-color: color-mix(in srgb, #f58aaa 38%, var(--skin-border)) !important;}

.period-calendar .period-day.period-start,
.period-calendar .period-day.period-end {background: color-mix(in srgb, #ffd4e1 48%, var(--surface-strong)) !important;
  color: var(--skin-title) !important;
  border-color: #f58aaa !important;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, #f58aaa 52%, transparent),
    0 8px 18px color-mix(in srgb, #f58aaa 16%, transparent) !important;}

.period-calendar .period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after {background: #ffd166 !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, #fff8ec 84%, transparent) !important;}

.period-calendar header button,
.period-calendar .period-day {background: color-mix(in srgb, var(--surface-strong) 92%, #fff8ec) !important;
  color: var(--skin-title) !important;}

.period-calendar .period-day.outside {background: color-mix(in srgb, var(--surface-strong) 78%, #efe3cf) !important;
  color: color-mix(in srgb, var(--skin-muted) 82%, #fff) !important;
  opacity: 1 !important;}

.period-calendar header button:hover,
.period-calendar header button:active,
.period-calendar header button:focus-visible,
.period-calendar .period-day:hover,
.period-calendar .period-day:active,
.period-calendar .period-day:focus-visible {background: color-mix(in srgb, var(--surface-strong) 88%, #fff2e4) !important;
  color: var(--skin-title) !important;}

.period-calendar .period-day.period-range {background: color-mix(in srgb, #ffd8e4 34%, var(--surface-strong)) !important;}

.period-calendar .period-day.period-start,
.period-calendar .period-day.period-end {background: color-mix(in srgb, #ffd4e1 48%, var(--surface-strong)) !important;
  color: var(--skin-title) !important;}

.app-body:has(.period-app),
.period-app {background: #fff8ec !important;}

.period-app .panel,
.period-app .period-card,
.period-app .period-calendar,
.period-app .period-list {background: #fffdf7 !important;
  background-image: none !important;
  border-color: rgba(132, 91, 54, 0.16) !important;
  color: #3a2b22 !important;}

.period-app .period-calendar {background: #FAF3E8 !important;
  background-image: none !important;}

.period-calendar header button,
.period-calendar .period-day,
.period-app .period-day {background: #fffdf7 !important;
  background-image: none !important;
  border-color: rgba(132, 91, 54, 0.16) !important;
  color: #3a2b22 !important;
  opacity: 1 !important;}

.period-calendar .period-day.outside,
.period-app .period-day.outside {background: #efe3cf !important;
  background-image: none !important;
  color: #9b8a76 !important;}

.period-calendar .period-day.today,
.period-app .period-day.today {border-color: #f45f86 !important;
  box-shadow: inset 0 0 0 2px rgba(244, 95, 134, 0.32) !important;}

.period-calendar .period-day.period-range,
.period-app .period-day.period-range {background: #ffe3ec !important;
  background-image: none !important;
  border-color: #f7a8bd !important;
  color: #3c1724 !important;}

.period-calendar .period-day.period-start,
.period-calendar .period-day.period-end,
.period-app .period-day.period-start,
.period-app .period-day.period-end {background: #ff8fab !important;
  background-image: none !important;
  border-color: #f45f86 !important;
  color: #3c1724 !important;
  box-shadow: 0 6px 16px rgba(244, 95, 134, 0.22) !important;}

.period-calendar .period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after,
.period-app .period-day.period-predicted:not(.period-start):not(.period-end):not(.period-range)::after {background: #ffd166 !important;}

.app-screen .period-calendar,
.app-screen .period-app .period-calendar {background: var(--ed-surface) !important;}

.app-screen .period-card button {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;}

.app-screen .period-day,
.app-screen .period-calendar .period-day,
.app-screen .period-app .period-day {background: #ffffff !important;}

.app-body:has(.period-app),
.period-app {background: var(--ed-bg) !important;}

.period-app .period-calendar {background: var(--ed-surface) !important;}

.period-app .period-day:not(.period-range):not(.period-start):not(.period-end):not(.period-predicted):not(.today):not(.outside) {background: #ffffff !important;}

#appScreen .period-card button,
#appScreen .period-list button {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 22%, transparent) !important;
  box-shadow: none !important;
  background-image: none !important;}

#appScreen .period-app .period-day.outside {background: #f3f5f9 !important;}

#appScreen .period-app .panel,
#appScreen .period-app .period-card,
#appScreen .period-app .period-list {background: var(--ed-surface) !important;}

body[class*="theme-tone-"] #appScreen .period-app .period-day:not(.period-range):not(.period-start):not(.period-end):not(.period-predicted):not(.today) {color: var(--tone-text) !important;
  background: var(--tone-surface-strong) !important;
  border-color: var(--tone-line) !important;}

#appScreen .period-page {min-height: 100%;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;}

#appScreen :where(.period-card, .period-summary,
  .news-card, .news-settings-card) {border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;}

#appScreen :where(.period-day.active, .news-tab.active) {border-color: var(--moss-ui-accent-line) !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;}

/*# source: assets/css/features/desktop.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.device-shell {width: 100vw;
  display: grid;
  place-items: center;
  overflow: hidden;}

.clock-greeting,
.clock-date {display: block;
  font-size: 14px;
  font-weight: 800;
  opacity: 0.86;}

.clock-time {display: block;
  font-size: clamp(52px, 18vw, 82px);
  line-height: 0.95;
  letter-spacing: 0;}

.app-grid {min-height: 0;
  display: grid;
  gap: 18px;
  padding: 4px 2px;}

.home-status-card,
.notes-widget-tile {min-width: 0;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--widget-glass-color);
  color: var(--widget-text-color);
  backdrop-filter: blur(22px) saturate(1.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.13);}

.home-status-card {grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  text-align: left;}

.home-status-card p,
.home-status-card em {grid-column: 1 / -1;
  margin: 0;}

.home-status-card strong,
.home-status-card small,
.home-status-card p,
.home-status-card em {display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.home-status-avatar {width: 54px;
  aspect-ratio: 1;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.24);}

.notes-widget-tile {grid-column: auto;
  min-height: 118px;
  padding: 14px;}

.notes-widget-title {padding: 0;
  background: transparent;
  color: inherit;
  font-weight: 900;}

.notes-widget-preview strong,
.notes-widget-preview p {display: block;
  margin: 8px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;}

.notes-widget-preview p {display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}

.dock {margin-top: auto;
  height: 78px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(26px);
  -webkit-backdrop-filter: blur(26px);}

.device-shell {width: 100vw;
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;}

.home-content {flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;}

.widget {min-height: 112px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 28px;
  color: var(--widget-text-color);
  background: var(--widget-glass-color);
  backdrop-filter: blur(22px) saturate(1.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);}

.widget-label {display: block;
  color: inherit;
  opacity: 0.78;
  font-size: 13px;}

.widget strong {display: block;
  margin-top: 4px;
  font-size: 30px;
  line-height: 1;}

.app-grid {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 14px;
  padding: 4px 2px;}

.notes-widget-tile {grid-column: span 4;
  min-height: 132px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--widget-glass-color);
  color: var(--widget-text-color);
  backdrop-filter: blur(22px) saturate(1.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.13);}

.notes-widget-tile label {font-weight: 900;}

.notes-widget-tile textarea {width: 100%;
  min-height: 82px;
  border: 0;
  outline: 0;
  resize: none;
  color: var(--widget-text-color);
  background: transparent;
  line-height: 1.5;}

.app-tile {display: grid;
  place-items: center;
  gap: 7px;
  color: var(--text);
  background: transparent;}

.app-tile small {max-width: 76px;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);}

.dock {margin-top: auto;
  height: 78px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(26px);}

.dock-icon .icon-face {width: 50px;
  height: 50px;}

.wallpaper-preview {width: 100%;
  aspect-ratio: 9 / 16;
  margin-top: 12px;
  border-radius: 22px;
  background: #171a20 var(--wallpaper-image, url("data:image/webp;base64,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")) center / cover no-repeat;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.32), 0 12px 24px rgba(26, 31, 45, 0.12);}

@media (max-width: 480px) {
.device-shell {padding: 0;}
.app-grid {gap: 16px 10px;}
}

.moment-comment-dock {position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  width: min(420px, calc(100vw - 28px)) !important;
  z-index: 99999 !important;
  display: grid !important;
  grid-template-columns: 1fr 54px !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(145, 154, 169, .28) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 14px 34px rgba(20, 28, 40, .22) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

.moment-comment-dock input {min-width: 0;
  border: 1px solid #e4e7ed;
  border-radius: 12px;
  padding: 10px 12px;
  outline: 0;
  background: rgba(245, 247, 251, .98);}

.moment-comment-dock button {border-radius: 12px;
  color: #fff;
  background: #19b45b;
  font-weight: 900;}

.device-shell {padding: max(0px, env(safe-area-inset-top)) max(0px, env(safe-area-inset-right)) max(0px, env(safe-area-inset-bottom)) max(0px, env(safe-area-inset-left));
  background: var(--page-bg);
  overflow: hidden;}

.widget-label,
.app-tile small,
.dock {color: var(--skin-muted);}

.dock-icon .icon-face:not(.custom-icon) {background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;}

.app-tile {color: var(--skin-text);}

.dock {border-color: var(--skin-border);
  background: color-mix(in srgb, var(--phone-bg) 70%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

@media (display-mode: standalone) {
.device-shell {padding: 0;}
}

@media (max-width: 520px) {
.device-shell {padding: 0;}
}

.device-shell {background: var(--page-bg) !important;}

.widget,
.dock {background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);}

.app-tile small,
.dock-icon small,
.widget-label {color: var(--skin-muted) !important;}

.widget strong {color: var(--skin-text) !important;}

.device-shell {width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;}

.device-shell {overflow: hidden !important;
  background: var(--phone-bg) !important;}

.home-content {flex: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  gap: 14px;}

.widget {min-height: 96px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 24px;}

.widget::before {content: none !important;
  display: none !important;}

.notes-widget-title {justify-self: start;
  padding: 0;
  color: var(--widget-text-color);
  background: transparent;
  font-weight: 900;}

.notes-widget-preview {min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;}

.notes-widget-preview strong {overflow: hidden;
  color: var(--widget-text-color);
  font-size: 18px;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;}

.notes-widget-preview p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: color-mix(in srgb, var(--widget-text-color) 82%, transparent);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;}

.home-frame-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-height: 164px;}

.home-photo-frame {position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--skin-border);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.035)),
    var(--surface);
  color: var(--skin-muted);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.16), 0 10px 24px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  backdrop-filter: blur(20px) saturate(1.16);
  -webkit-backdrop-filter: blur(20px) saturate(1.16);}

.home-photo-frame-large {min-height: 164px;
  border-radius: 22px;}

.home-photo-frame input {position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;}

.home-frame-image {position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;}

.home-frame-image::after {content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), transparent 58%);}

.home-frame-placeholder {color: var(--skin-muted);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;}

@media (max-width: 380px) {
.widget {grid-template-columns: 64px minmax(0, 1fr) auto;}
.home-photo-frame-large {min-height: 148px;}
}

.home-content {gap: 0 !important;
  padding-top: 2px;}

.widget.continue-card {position: relative;
  min-height: 86px !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 16px;
  padding: 15px !important;
  border-radius: 26px !important;
  border: 1px solid var(--skin-border) !important;
  background: linear-gradient(135deg, var(--surface-strong), var(--surface)) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden;}

.widget.continue-card::before {content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent) 8%, transparent), transparent 55%);
  pointer-events: none;}

.widget.continue-card .quick-chat-frame {position: relative;
  z-index: 2;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px;
  flex-shrink: 0;
  border-radius: 20px;
  overflow: hidden;
  padding: 2px;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2));
  box-shadow: 0 6px 18px color-mix(in srgb, var(--skin-accent) 32%, transparent);}

.widget.continue-card .quick-chat-frame .avatar,
.widget.continue-card .quick-chat-frame .quick-chat-avatar {width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 18px;
  overflow: hidden;
  display: block;}

.widget.continue-card .quick-chat-frame .avatar img {width: 100%;
  height: 100%;
  object-fit: cover;}

.widget.continue-card .quick-chat-copy {position: relative;
  z-index: 2;
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;}

.widget.continue-card .quick-chat-copy .widget-label {font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--skin-accent);
  opacity: 1;}

.widget.continue-card .quick-chat-copy strong {margin-top: 1px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700;
  color: var(--skin-text);}

.widget.continue-card .quick-chat-copy small {margin-top: 2px;
  font-size: 13px;
  color: var(--skin-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}

.app-grid {gap: 18px 10px !important;
  padding: 0 2px !important;}

.notes-widget-title {display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--skin-accent-2);
  text-align: left;}

.notes-widget-title::before {content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--skin-accent-2);}

.notes-widget-preview {margin-top: 10px;}

.notes-widget-preview strong {font-size: 15px;
  font-weight: 700;
  color: var(--skin-text);}

.notes-widget-preview p {margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--skin-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;}

.home-photo-frame-large {min-height: 128px;
  border-radius: 24px;
  border: 1px solid var(--skin-border);
  background: linear-gradient(160deg, var(--skin-accent), var(--skin-accent-2));
  box-shadow: var(--skin-shadow);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;}

.home-photo-frame-large::after {content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 25%, rgba(255, 255, 255, 0.22), transparent 55%);
  pointer-events: none;}

.home-photo-frame-large .home-frame-placeholder {color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 600;
  z-index: 1;}

.home-photo-frame-large .home-frame-image {position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;}

.auto-status-panel.home-photo-frame-large {display: grid;
  align-content: start;
  justify-items: start;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--skin-border);
  background: var(--surface);
  color: var(--skin-text);
  text-align: left;}

.auto-status-panel.home-photo-frame-large::after {opacity: 0.45;}

.home-section-label {grid-column: 1 / -1;
  margin: 8px 4px 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--skin-muted);}

.app-tile {display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;}

.app-tile .icon-face:not(.custom-icon),
.app-tile .app-icon-face:not(.custom-icon) {width: 60px;
  height: 60px;
  border-radius: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--skin-text) !important;
  background: var(--surface-strong) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--skin-text) 8%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  transition: transform 0.18s ease;}

.app-tile .icon-face.custom-icon {width: 60px;
  height: 60px;
  border-radius: 19px;
  border: 1px solid var(--skin-border);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--skin-text) 8%, transparent);}

.app-tile:active .icon-face,
.app-tile:active .app-icon-face {transform: scale(0.92);}

.app-tile small {font-size: 11px;
  color: var(--skin-text);
  opacity: 0.82;}

.app-tile:nth-child(4n/**/+3) .icon-face:not(.custom-icon) {color: var(--skin-accent) !important;}

.app-tile:nth-child(4n/**/+1) .icon-face:not(.custom-icon) {color: var(--skin-accent-2) !important;}

.dock {margin-top: 22px;
  padding: 12px 14px !important;
  border-radius: 28px !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  box-shadow: 0 14px 40px color-mix(in srgb, var(--skin-text) 10%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);}

.dock .dock-icon .icon-face {width: 48px;
  height: 48px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  font-weight: 700;
  color: #fff;}

.dock .dock-icon:nth-child(1) .icon-face:not(.custom-icon) {background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));}

.dock .dock-icon:nth-child(2) .icon-face:not(.custom-icon) {background: linear-gradient(135deg, var(--skin-accent), color-mix(in srgb, var(--skin-accent) 60%, #fff));}

.dock .dock-icon:nth-child(3) .icon-face:not(.custom-icon) {background: linear-gradient(135deg, var(--skin-muted), var(--skin-accent-2));}

.dock .dock-icon:nth-child(4) .icon-face:not(.custom-icon) {background: linear-gradient(135deg, #7b68ee, #f08a9b 58%, #f4c76d);}

.app-tile .icon-face.custom-icon,
.dock .dock-icon .icon-face.custom-icon {background-size: cover !important;
  background-position: center !important;
  color: transparent !important;}

.char-phone-app-grid {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 10px;
  align-content: start;
  padding: 4px;}

.device-shell {max-width: 100vw !important;
  overflow-x: hidden !important;}

@media (display-mode: standalone) {
.device-shell {background-color: var(--phone-bg) !important;}
}

@media (min-width: 720px) {
.device-shell {padding: 28px !important;}
}

.widget,
.dock {border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: var(--skin-shadow-soft) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;}

.app-grid {gap: 18px 14px !important;}

.app-tile small,
.dock .app-tile small {color: var(--skin-muted) !important;
  text-shadow: none !important;}

.home-content {overflow: hidden;}

.app-grid {flex: 1;
  min-height: 0;
  display: flex !important;
  flex-direction: column;
  gap: 12px !important;
  overflow: hidden;
  padding: 0 2px !important;}

.apps-page-grid .app-tile {min-width: 0;}

.apps-page-grid .app-tile .icon-face {flex: none;}

.apps-page-grid .app-tile small {max-width: 76px;
  min-height: 26px;
  white-space: normal;
  overflow: hidden;
  text-align: center;
  line-height: 1.2;
  text-overflow: clip;}

.dock {flex: 0 0 auto;
  margin-top: 8px !important;
  margin-bottom: max(0px, env(safe-area-inset-bottom));}

.dock {height: 76px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  box-shadow: var(--skin-shadow) !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  backdrop-filter: blur(22px) saturate(1.16);
  -webkit-backdrop-filter: blur(22px) saturate(1.16);}

.dock .dock-icon,
.dock .app-icon {width: 100%;
  min-width: 0;
  min-height: 54px;}

.app-tile .icon-face:not(.custom-icon),
.dock .dock-icon .icon-face:not(.custom-icon) {width: var(--icon-size, 58px) !important;
  height: var(--icon-size, 58px) !important;
  flex: 0 0 auto !important;
  border-radius: 18px !important;
  border: 1px solid var(--skin-border) !important;
  color: var(--skin-accent-2) !important;
  background: linear-gradient(145deg, var(--surface-strong), color-mix(in srgb, var(--surface) 80%, var(--skin-accent) 20%)) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text) 9%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;}

.dock .dock-icon .icon-face {width: 48px !important;
  height: 48px !important;}

.app-tile {min-height: 88px;
  justify-content: start;}

.app-tile small {color: var(--skin-muted) !important;
  text-shadow: none !important;
  font-size: 11px !important;
  line-height: 1.2 !important;}

.widget,
.home-status-card,
.notes-widget-tile {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.home-status-card,
.notes-widget-tile {min-height: 128px;}

.device-shell {background-color: var(--page-bg) !important;}

.home-content {flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 12px !important;
  overflow: hidden !important;}

.clock-time {font-size: clamp(64px, 20vw, 88px) !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;}

.widget.continue-card {flex: 0 0 auto !important;
  min-height: 98px !important;}

.app-grid {flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;}

.home-status-card {grid-column: 1 / -1 !important;
  min-height: 126px !important;}

.notes-widget-tile,
.auto-status-panel.home-photo-frame-large {min-height: 154px !important;}

.app-tile {min-width: 0 !important;
  min-height: 86px !important;
  gap: 7px !important;}

.app-tile .icon-face,
.dock .dock-icon .icon-face {flex: 0 0 auto !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: var(--skin-icon-radius) !important;
  background-size: cover !important;
  background-position: center !important;}

.app-tile .icon-face {width: var(--icon-size, 58px) !important;
  height: var(--icon-size, 58px) !important;}

.dock {flex: 0 0 76px !important;
  width: 100% !important;
  min-height: 76px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  box-shadow: var(--skin-shadow-float) !important;
  backdrop-filter: blur(22px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.14) !important;}

.dock .dock-icon {width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  background: transparent !important;}

.dock .dock-icon .icon-face {width: 50px !important;
  height: 50px !important;}

.widget,
.home-status-card,
.notes-widget-tile {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

@media (max-width: 380px) {
.dock .dock-icon .icon-face {width: 46px !important;
    height: 46px !important;}
}

.widget,
.home-status-card,
.notes-widget-tile,
.auto-status-panel.home-photo-frame-large {background: var(--home-widget-bg) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;}

.app-tile .icon-face.custom-icon,
.dock .dock-icon .icon-face.custom-icon {background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;}

.home-status-card {grid-column: 1 / -1 !important;
  min-width: 0 !important;
  min-height: 118px !important;}

.home-content.custom-home {display: flex !important;
  flex-direction: column !important;
  padding: 4px 0 0 !important;
  gap: 0 !important;
  overflow: hidden !important;}

.custom-home .app-tile {display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  animation: none !important;
  -webkit-tap-highlight-color: transparent;}

.custom-home .app-tile .icon-face {width: var(--icon-size, 58px);
  height: var(--icon-size, 58px);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text) 15%, transparent);}

.custom-home .app-tile .icon-face.custom-icon {background-size: cover !important;
  background-position: center !important;
  color: transparent !important;}

.custom-home .app-tile small {font-size: 12.5px;
  font-weight: 700;
  color: var(--skin-text);
  text-align: center;
  text-shadow: 0 1px 8px color-mix(in srgb, var(--phone-bg) 60%, transparent);}

.custom-home .app-tile:active {transform: scale(0.96);}

.custom-home .upload-hint {position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: var(--skin-muted);}

.custom-home .has-image .upload-hint {opacity: 0;}

.custom-home .has-image:active .upload-hint {opacity: 1;
  color: #fff;
  background: color-mix(in srgb, #000 28%, transparent);}

.custom-home .home-page1 {min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 6px 0 10px;}

.custom-home .home-image-frame {position: relative;
  flex: 1 1 auto;
  min-height: 240px;
  width: 100%;
  border: 0;
  padding: 0;
  border-radius: 30px;
  overflow: hidden;
  background: color-mix(in srgb, var(--surface-strong) 60%, transparent);
  box-shadow: var(--skin-shadow);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;}

.custom-home .home-image-frame:not(.has-image) {border: 1.5px dashed color-mix(in srgb, var(--skin-muted) 55%, transparent);
  background: color-mix(in srgb, var(--surface) 82%, transparent);}

.custom-home .home-image-frame-layer {position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;}

.custom-home .home-image-frame-hint {position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 80%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--skin-border);}

.custom-home .home-image-frame.has-image .home-image-frame-hint {opacity: 0;
  transition: opacity 0.2s ease;}

.custom-home .home-image-frame.has-image:active .home-image-frame-hint {opacity: 1;}

.custom-home .home-clock-widget {flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 14px 18px;
  border-radius: 24px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 70%, transparent);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: var(--skin-shadow);}

.custom-home .home-clock-widget .clock-greeting {font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--skin-muted);}

.custom-home .home-clock-widget .clock-time {font-size: 46px;
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--skin-text);
  font-variant-numeric: tabular-nums;
  font-family: "SF Pro Display", var(--app-font-family);}

.custom-home .home-clock-widget .clock-date {margin-top: 4px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--skin-muted);}

.custom-home .home-page1-apps {flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 2px 4px;}

.custom-home .home-page2 {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-content: start;
  padding: 6px 0 12px;}

.custom-home .home-gallery-widget {grid-column: 1 / -1;
  padding: 14px;
  border-radius: 26px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 62%, transparent);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: var(--skin-shadow);}

.custom-home .home-gallery-title {display: block;
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  color: var(--skin-text);
  text-align: center;
  cursor: pointer;
  padding: 2px 4px 0;}

.custom-home .home-gallery-title.is-placeholder {color: color-mix(in srgb, var(--skin-muted) 72%, transparent);
  font-weight: 600;}

.custom-home .home-gallery-row {display: flex;
  gap: 10px;
  margin-top: 12px;}

.custom-home .home-gallery-slot {position: relative;
  flex: 1;
  aspect-ratio: 1 / 1;
  border: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  background: color-mix(in srgb, var(--surface) 80%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, #fff 45%, transparent);
  -webkit-tap-highlight-color: transparent;}

.custom-home .home-gallery-slot:not(.has-image) {box-shadow: none;
  border: 1.5px dashed color-mix(in srgb, var(--skin-muted) 55%, transparent);}

.custom-home .home-gallery-slot-img {position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;}

.custom-home .home-gallery-slot-hint {position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: var(--skin-muted);}

.custom-home .home-gallery-slot.has-image .home-gallery-slot-hint {opacity: 0;}

.custom-home .home-gallery-slot.has-image:active .home-gallery-slot-hint {opacity: 1;
  color: #fff;
  background: color-mix(in srgb, #000 28%, transparent);}

.custom-home .home-calendar-widget {grid-column: 1 / -1;
  padding: 16px 18px;
  border-radius: 26px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 62%, transparent);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: var(--skin-shadow);
  display: flex;
  flex-direction: column;
  gap: 12px;}

.custom-home .home-cal-head {display: flex;
  align-items: baseline;
  justify-content: space-between;}

.custom-home .home-cal-month {font-size: 22px;
  font-weight: 800;
  color: var(--skin-text);}

.custom-home .home-cal-year {font-size: 13px;
  font-weight: 600;
  color: var(--skin-muted);}

.custom-home .home-cal-week {display: flex;
  justify-content: space-between;}

.custom-home .home-cal-day {display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;}

.custom-home .home-cal-wk {font-size: 11px;
  font-weight: 600;
  color: var(--skin-muted);}

.custom-home .home-cal-num {width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--skin-text);
  border-radius: 50%;}

.custom-home .home-cal-day.today .home-cal-num {color: #fff;
  background: var(--skin-accent);}

.custom-home .home-cal-day.today .home-cal-wk {color: var(--skin-accent);}

.custom-home .home-frame-2x2 {position: relative;
  grid-column: 1 / 2;
  aspect-ratio: 1 / 1;
  border: 0;
  padding: 0;
  border-radius: 24px;
  overflow: hidden;
  cursor: pointer;
  background: color-mix(in srgb, var(--surface) 80%, transparent);
  box-shadow: var(--skin-shadow);
  -webkit-tap-highlight-color: transparent;}

.custom-home .home-frame-2x2:not(.has-image) {border: 1.5px dashed color-mix(in srgb, var(--skin-muted) 55%, transparent);}

.custom-home .home-frame-2x2-img {position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;}

.custom-home .home-frame-2x2-hint {position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--skin-muted);}

.custom-home .home-frame-2x2.has-image .home-frame-2x2-hint {opacity: 0;}

.custom-home .home-frame-2x2.has-image:active .home-frame-2x2-hint {opacity: 1;
  color: #fff;
  background: color-mix(in srgb, #000 28%, transparent);}

.custom-home .home-page2-apps {grid-column: 2 / 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: space-evenly;
  justify-items: center;
  gap: 12px 6px;}

.dock {background: color-mix(in srgb, var(--surface-strong) 40%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 70%, transparent) !important;
  backdrop-filter: blur(26px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.4) !important;
  box-shadow: 0 14px 40px color-mix(in srgb, var(--skin-text) 12%, transparent) !important;}

.dock .dock-icon {display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: 0;}

.dock .dock-icon-label {font-size: 10px;
  font-weight: 700;
  color: var(--skin-text);
  opacity: 0.86;}

.custom-home .home-clock-widget,
.custom-home .home-gallery-widget,
.custom-home .home-calendar-widget {background: color-mix(in srgb, var(--surface-strong) 24%, transparent) !important;
  border: 1px solid color-mix(in srgb, #fff 26%, transparent) !important;
  backdrop-filter: blur(28px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.4) !important;
  box-shadow: 0 12px 34px color-mix(in srgb, var(--skin-text) 9%, transparent) !important;}

.custom-home .home-image-frame:not(.has-image),
.custom-home .home-gallery-slot:not(.has-image),
.custom-home .home-frame-2x2:not(.has-image) {background: color-mix(in srgb, var(--surface-strong) 18%, transparent) !important;
  border: 1px dashed color-mix(in srgb, #fff 34%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.3) !important;}

.custom-home .home-image-frame.has-image,
.custom-home .home-gallery-slot.has-image,
.custom-home .home-frame-2x2.has-image {background: transparent !important;}

.custom-home .home-image-frame-hint {background: color-mix(in srgb, var(--surface-strong) 30%, transparent) !important;
  border: 1px solid color-mix(in srgb, #fff 30%, transparent) !important;
  backdrop-filter: blur(16px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.3) !important;}

.dock {background: color-mix(in srgb, var(--surface-strong) 20%, transparent) !important;
  border: 1px solid color-mix(in srgb, #fff 26%, transparent) !important;
  backdrop-filter: blur(32px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.5) !important;
  box-shadow: 0 12px 36px color-mix(in srgb, var(--skin-text) 10%, transparent) !important;}

.home-text-overlay {position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: color-mix(in srgb, #000 38%, transparent);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: homeTextFade 0.18s ease both;}

.home-text-sheet {width: min(440px, 92vw);
  margin-bottom: max(18px, env(safe-area-inset-bottom));
  padding: 20px 18px calc(18px + env(safe-area-inset-bottom));
  border-radius: 26px;
  background: var(--surface-strong);
  border: 1px solid var(--skin-border);
  box-shadow: 0 -10px 50px rgba(0, 0, 0, 0.25);
  animation: homeTextSlide 0.22s ease both;}

.home-text-sheet h3 {margin: 0 0 14px;
  font-size: 16px;
  font-weight: 800;
  color: var(--skin-text);}

.home-text-field {display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;}

.home-text-field span {font-size: 12px;
  font-weight: 700;
  color: var(--skin-muted);}

.home-text-field input,
.home-text-field textarea {width: 100%;
  padding: 11px 13px;
  border-radius: 14px;
  border: 1px solid var(--skin-border);
  background: var(--surface);
  color: var(--skin-text);
  font: inherit;
  font-size: 15px;
  resize: none;
  box-sizing: border-box;}

.home-text-field textarea {line-height: 1.5;}

.home-text-actions {display: flex;
  gap: 10px;
  margin-top: 4px;}

.home-text-actions button {flex: 1;
  padding: 12px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  border: 0;
  cursor: pointer;}

.home-text-actions .secondary-button {background: color-mix(in srgb, var(--skin-muted) 18%, transparent);
  color: var(--skin-text);}

.home-text-actions .primary-button {background: var(--skin-accent);
  color: #fff;}

.custom-home .home-page3 {min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: 16px;
  padding: 6px 0 12px;}

.custom-home .home-page3-apps {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  justify-items: center;}

.custom-home .life-home-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;}

@media (max-width: 390px) {
.custom-home .life-home-grid {grid-template-columns: 1fr;}
}

.moment-comment-dock.is-closing {opacity: 0;
  transform: translateX(-50%) translateY(10px) !important;
  transition: opacity .16s ease, transform .16s ease;}

.app-tile,
.dock-icon {position: relative;}

.dock-icon .app-unread-dot {top: 4px;
  right: 8px;}

.home-edit-toolbar {position: fixed;
  z-index: 1800;
  top: calc(10px + var(--safe-top));
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  max-width: 520px;
  margin-inline: auto;
  min-height: 42px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px;
  border: 1px solid var(--skin-border);
  border-radius: 8px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
  box-shadow: 0 8px 24px color-mix(in srgb, #000 16%, transparent);
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);}

.home-edit-toolbar strong {overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;}

.home-edit-toolbar button {min-height: 34px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 24%, transparent);
  border-radius: 7px;
  color: var(--skin-accent);
  background: var(--skin-button);
  font: inherit;
  font-size: 13px;
  font-weight: 800;}

.home-edit-toolbar [data-home-widget-library] {width: 34px;
  padding: 0;
  font-size: 22px;
  line-height: 1;}

.custom-home .home-page2-apps.without-frame {grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));}

.home-icon-drag-source {opacity: 0.24 !important;}

.home-drop-target .icon-face {outline: 3px solid color-mix(in srgb, var(--skin-accent) 72%, #fff) !important;
  outline-offset: 3px;
  transform: scale(1.08) !important;}

.home-icon-drag-ghost {position: fixed !important;
  z-index: 10020 !important;
  margin: 0 !important;
  pointer-events: none !important;
  opacity: 0.94;
  transform: translate(-50%, -58%) scale(1.08) rotate(2deg) !important;
  filter: drop-shadow(0 14px 18px rgba(0, 0, 0, 0.28));}

.home-icon-drag-ghost small,
.home-icon-drag-ghost .unread-badge {visibility: hidden;}

.custom-home .home-page3 {grid-template-rows: none;
  grid-auto-rows: max-content;
  align-content: start;}

.custom-home .home-page3-apps {align-self: start;
  align-content: start;
  grid-auto-rows: max-content;
  row-gap: 12px;}

.custom-home :is(.home-polaroid-one, .home-polaroid-three, .home-photo-stack, .home-memory-board) {position: relative;
  border: 1px solid var(--skin-border);
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);
  box-shadow: var(--skin-shadow);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);}

.custom-home :is(.home-polaroid-photo, .home-stack-photo, .home-memory-photo) {position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  background: #f1f2f3;
  padding: 0;}

.custom-home :is(.home-polaroid-photo, .home-stack-photo, .home-memory-photo) > span {position: absolute;
  inset: 0;
  display: block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;}

.custom-home :is(.home-polaroid-photo, .home-stack-photo, .home-memory-photo) > small {position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--skin-muted);
  font-size: 24px;
  font-weight: 500;}

.custom-home :is(.home-polaroid-photo, .home-stack-photo, .home-memory-photo).has-image > small {display: none;}

.custom-home .home-polaroid-one {flex: 0 0 auto;
  width: min(78%, 300px);
  min-height: 226px;
  align-self: center;
  display: grid;
  justify-items: center;
  padding: 18px 18px 14px;
  border-radius: 8px;
  background: color-mix(in srgb, #ffffff 94%, var(--surface-strong)) !important;
  color: #31343a;
  transform: rotate(-0.6deg);}

.custom-home .home-polaroid-one .home-polaroid-photo {width: 100%;
  aspect-ratio: 4 / 3;
  border: 8px solid #fff;
  box-shadow: 0 6px 18px rgba(35, 39, 45, 0.12);}

.custom-home .home-polaroid-one > strong {margin-top: 9px;
  font-size: 14px;}

.custom-home .home-polaroid-one > small {margin-top: 2px;
  color: #8a8e95;
  font-size: 10px;}

.home-polaroid-pin,
.home-polaroid-three article > i {position: absolute;
  z-index: 3;
  top: 4px;
  left: 50%;
  width: 9px;
  height: 13px;
  border-radius: 50% 50% 42% 42%;
  background: #24272c;
  box-shadow: 0 2px 3px rgba(0,0,0,.24);
  transform: translateX(-50%) rotate(8deg);}

.custom-home .home-polaroid-three {grid-column: 1 / -1;
  padding: 18px 12px 12px;
  border-radius: 8px;}

.custom-home .home-polaroid-three > div {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 6px;}

.custom-home .home-polaroid-three article {position: relative;
  min-width: 0;
  padding: 7px 7px 18px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(30, 34, 40, 0.12);}

.custom-home .home-polaroid-three article:nth-child(1) {transform: rotate(-3deg);}

.custom-home .home-polaroid-three article:nth-child(2) {z-index: 2; transform: translateY(4px);}

.custom-home .home-polaroid-three article:nth-child(3) {transform: rotate(3deg);}

.custom-home .home-polaroid-three .home-polaroid-photo {width: 100%;
  aspect-ratio: 0.86;}

.custom-home .home-polaroid-three article > small {position: absolute;
  left: 4px;
  right: 4px;
  bottom: 3px;
  overflow: hidden;
  color: #3c4046;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
  font-weight: 800;}

.custom-home .home-photo-stack {grid-column: 1 / -1;
  min-height: 250px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  padding: 16px;
  border-radius: 8px;}

.custom-home .home-photo-stack > strong {font-size: 17px;}

.custom-home .home-photo-stack > small {margin-top: 2px; color: var(--skin-muted); font-size: 11px;}

.custom-home .home-photo-stack > div {position: relative; min-height: 176px; margin-top: 10px;}

.custom-home .home-stack-photo {position: absolute;
  top: 0;
  left: 50%;
  width: 46%;
  aspect-ratio: 0.78;
  border: 7px solid #fff;
  border-bottom-width: 18px;
  box-shadow: 0 10px 22px rgba(25, 30, 36, .18);}

.custom-home .home-stack-photo.stack-1 {z-index: 1; transform: translateX(-92%) rotate(-8deg);}

.custom-home .home-stack-photo.stack-2 {z-index: 3; transform: translateX(-50%) translateY(8px);}

.custom-home .home-stack-photo.stack-3 {z-index: 2; transform: translateX(-8%) rotate(8deg);}

.custom-home .home-memory-board {padding: 16px;
  border-radius: 8px;}

.custom-home .home-memory-board > header {display: flex;
  align-items: baseline;
  gap: 9px;}

.custom-home .home-memory-board > header strong {font-size: 28px; line-height: 1;}

.custom-home .home-memory-board > header span {color: var(--skin-muted); font-size: 12px; font-weight: 800; letter-spacing: .12em;}

.custom-home .home-memory-board > p {margin: 7px 0 12px; color: var(--skin-muted); font-size: 12px;}

.custom-home .home-memory-cards {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;}

.custom-home .home-memory-cards article {min-width: 0;
  overflow: hidden;
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);}

.custom-home .home-memory-photo {width: 100%;
  aspect-ratio: 1.08;}

.custom-home .home-memory-cards article > strong,
.custom-home .home-memory-cards article > small {display: block;
  overflow: hidden;
  padding-inline: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.custom-home .home-memory-cards article > strong {margin-top: 7px; font-size: 11px;}

.custom-home .home-memory-cards article > small {margin: 2px 0 8px; color: var(--skin-muted); font-size: 8px;}

.custom-home .home-layout-grid {width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(7, minmax(0, 1fr));
  gap: 10px;
  position: relative;
  overflow: hidden;}

.custom-home .home-layout-item,
.custom-home .home-grid-drop-preview {min-width: 0;
  min-height: 0;
  grid-column: var(--item-col) / span var(--item-w);
  grid-row: var(--item-row) / span var(--item-h);}

.custom-home .home-layout-item {position: relative;
  z-index: 1;}

.custom-home .home-layout-app {display: grid;
  place-items: start center;}

.custom-home .home-layout-app > .app-tile {width: 100%;
  height: 100%;
  justify-content: start;}

.custom-home .home-layout-widget > [data-home-widget] {width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  grid-column: auto !important;
  transform: none;}

.custom-home .home-layout-widget > :is(.home-image-frame, .home-frame-2x2) {aspect-ratio: auto;}

.custom-home .home-layout-widget > .home-polaroid-one {padding: 14px 14px 10px;}

.custom-home .home-layout-widget > .home-polaroid-one .home-polaroid-photo {min-height: 0;
  height: calc(100% - 54px);
  aspect-ratio: auto;}

.custom-home .home-layout-widget > .home-photo-stack > div {min-height: 0;}

.custom-home .home-layout-widget > .life-home-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;}

.custom-home .home-layout-widget > .life-home-grid > button {min-width: 0;
  height: 100%;}

.custom-home .home-grid-drop-preview {z-index: 0;
  border: 2px dashed color-mix(in srgb, var(--skin-accent) 72%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--skin-accent) 14%, transparent);
  pointer-events: none;}

.home-icon-drag-ghost.home-layout-widget {overflow: hidden;
  border-radius: 8px;}

.home-icon-drag-ghost.home-layout-widget > [data-home-widget] {width: 100% !important;
  height: 100% !important;
  box-sizing: border-box;}

.custom-home :is(.home-profile-week, .home-weather-small, .home-weather-calendar) {position: relative;
  overflow: hidden;
  border: 1px solid var(--skin-border);
  border-radius: 8px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  box-shadow: var(--skin-shadow);
  backdrop-filter: blur(24px) saturate(1.15);
  -webkit-backdrop-filter: blur(24px) saturate(1.15);}

.custom-home .home-profile-week {display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px;}

.custom-home .home-profile-week-top {min-height: 0;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 16px;}

.custom-home .home-profile-week-photo,
.custom-home .home-weather-photo {position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  padding: 0;
  background: color-mix(in srgb, var(--surface) 86%, transparent);}

.custom-home :is(.home-profile-week-photo, .home-weather-photo) > span {position: absolute;
  inset: 0;
  display: block;
  background-position: center;
  background-size: cover;}

.custom-home :is(.home-profile-week-photo, .home-weather-photo) > small {position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--skin-muted);
  font-size: 22px;}

.custom-home :is(.home-profile-week-photo, .home-weather-photo).has-image > small {display: none;}

.custom-home .home-profile-week-photo {width: 92px;
  height: 92px;
  border-radius: 50%;}

.custom-home .home-profile-week-top strong {display: block;
  font-size: 15px;
  line-height: 1.35;}

.custom-home .home-profile-week-top p {margin: 15px 0 0;
  color: var(--skin-muted);
  font-size: 13px;}

.custom-home .home-profile-week-days {display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  padding: 7px;
  border: 1px solid var(--skin-border);
  border-radius: 8px;}

.custom-home .home-profile-week-days span {min-width: 0;
  padding: 7px 0;
  text-align: center;
  font-size: 9px;}

.custom-home .home-profile-week-days span.today {border-radius: 7px;
  background: var(--skin-button);
  color: var(--skin-accent);
  font-weight: 900;}

.custom-home .home-weather-small {display: grid;
  grid-template-rows: minmax(0, 1fr) 34px;
  background: color-mix(in srgb, #fff 90%, var(--surface-strong));}

.custom-home .home-weather-small .home-weather-photo,
.custom-home .home-weather-calendar .home-weather-photo {width: 100%;
  height: 100%;}

.custom-home .home-weather-small-copy,
.custom-home .home-weather-calendar-photo > div {position: absolute;
  inset: 16px 12px auto;
  display: flex;
  flex-direction: column;
  color: #fff;
  text-shadow: 0 2px 9px rgba(0,0,0,.45);
  pointer-events: none;}

.custom-home .home-weather-small-copy strong {font-size: 17px;}

.custom-home .home-weather-small-copy b {font-size: 36px; font-weight: 400; line-height: 1;}

.custom-home .home-weather-small > small {align-self: center;
  overflow: hidden;
  padding: 10px 8px 0;
  color: #45484d;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: 8px serif;}

.custom-home .home-weather-calendar {display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 12px;
  padding: 12px;}

.custom-home .home-weather-calendar-photo {position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 8px;}

.custom-home .home-weather-calendar-photo > div strong {font-size: 15px;}

.custom-home .home-weather-calendar-photo > div b {font-size: 34px; line-height: 1; font-weight: 400;}

.custom-home .home-weather-calendar-info {min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  align-content: center;
  gap: 9px;}

.custom-home .home-weather-calendar-info header {display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;}

.custom-home .home-weather-calendar-info header strong {font: italic 19px serif;}

.custom-home .home-weather-calendar-info header span {font-size: 11px;}

.custom-home :is(.home-weather-week-labels, .home-weather-week-dates) {display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  text-align: center;
  font-size: 8px;}

.custom-home .home-weather-week-labels {padding: 6px 3px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--skin-muted) 14%, transparent);}

.custom-home .home-weather-week-dates span {padding: 5px 0;}

.custom-home .home-weather-week-dates span.today {border-radius: 50%;
  color: var(--surface-strong);
  background: var(--skin-text);}

.custom-home .home-weather-calendar-info > small {align-self: end; text-align: center; font: 8px serif;}

@media (max-width: 370px) {
.custom-home .home-layout-grid {gap: 8px;}
.custom-home .home-profile-week-top {grid-template-columns: 76px minmax(0, 1fr); gap: 10px;}
.custom-home .home-profile-week-photo {width: 76px; height: 76px;}
}

.custom-home .home-layout-widget > [data-home-widget] {background-color: color-mix(in srgb, var(--surface-strong) 18%, transparent) !important;
  background-image: none !important;
  border: 1px solid color-mix(in srgb, #fff 34%, transparent) !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 24%, transparent),
    0 12px 32px color-mix(in srgb, #000 10%, transparent) !important;
  backdrop-filter: blur(30px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.35) !important;}

.custom-home .home-layout-widget > :is(.home-image-frame, .home-frame-2x2).has-image {background-color: transparent !important;}

.custom-home .home-layout-widget > .home-clock-widget {justify-content: center;
  padding: 10px 14px;}

.custom-home .home-layout-widget > .home-gallery-widget {display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 9px;}

.custom-home .home-layout-widget .home-gallery-row {min-height: 0;
  height: 100%;
  gap: 6px;
  margin-top: 6px;}

.custom-home .home-layout-widget .home-gallery-slot {height: 100%;
  aspect-ratio: auto;
  border-radius: 8px;}

.custom-home .home-layout-widget > .home-calendar-widget {justify-content: center;
  gap: 6px;
  padding: 9px 12px;}

.custom-home .home-layout-widget > .home-profile-week {gap: 6px;
  padding: 9px;}

.custom-home .home-layout-widget .home-profile-week-top {grid-template-columns: 104px minmax(0, 1fr);
  gap: 12px;}

.custom-home .home-layout-widget .home-profile-week-photo {width: 104px;
  height: 104px;}

.custom-home .home-layout-widget .home-profile-week-top p {margin-top: 8px;}

.custom-home .home-layout-widget .home-profile-week-days {padding: 4px;}

.custom-home .home-layout-widget .home-profile-week-days span {padding-block: 5px;}

.custom-home .home-layout-widget > .home-weather-calendar {gap: 8px;
  padding: 8px;}

.custom-home .home-layout-widget .home-weather-calendar-info {gap: 5px;}

.custom-home .home-layout-widget > .home-memory-board {display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  padding: 10px;}

.custom-home .home-layout-widget .home-memory-board > p {margin: 4px 0 7px;}

.custom-home .home-layout-widget .home-memory-cards {min-height: 0;
  height: 100%;
  gap: 5px;}

.custom-home .home-layout-widget .home-memory-cards article {min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;}

.custom-home .home-layout-widget .home-memory-photo {width: 100%;
  height: 100%;
  aspect-ratio: auto;}

.custom-home .home-layout-widget > .home-polaroid-three {padding: 9px 8px 8px;}

.custom-home .home-layout-widget .home-polaroid-three > div {height: 100%;
  gap: 5px;}

.custom-home .home-layout-widget .home-polaroid-three article {height: 100%;
  min-height: 0;
  box-sizing: border-box;
  padding: 6px 6px 28px;
  background-color: color-mix(in srgb, #fff 54%, transparent) !important;}

.custom-home .home-layout-widget .home-polaroid-three .home-polaroid-photo {width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;}

.custom-home .home-layout-widget > .home-polaroid-one {position: relative;
  display: block;
  padding: 8px 8px 50px;
  background-color: color-mix(in srgb, #fff 34%, transparent) !important;}

.custom-home .home-layout-widget > .home-polaroid-one .home-polaroid-photo {width: 100%;
  height: 100% !important;
  min-height: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 4px;
  aspect-ratio: auto;
  box-shadow: 0 5px 14px color-mix(in srgb, #000 14%, transparent);}

.custom-home .home-layout-widget :is(.home-polaroid-photo, .home-stack-photo, .home-memory-photo, .home-weather-photo):not(.has-image) {background: color-mix(in srgb, var(--surface-strong) 18%, transparent) !important;
  border-color: color-mix(in srgb, #fff 24%, transparent) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;}

.custom-home .home-layout-widget > .home-polaroid-one > strong {position: absolute;
  left: 10px;
  right: 10px;
  bottom: 25px;
  overflow: hidden;
  margin: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;}

.custom-home .home-layout-widget > .home-polaroid-one > small {position: absolute;
  left: 10px;
  right: 10px;
  bottom: 8px;
  overflow: hidden;
  margin: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;}

.custom-home .home-layout-widget > .home-photo-stack {padding: 10px;}

.custom-home .home-layout-widget > .life-home-grid {gap: 6px;
  padding: 6px;}

@media (max-width: 370px) {
.custom-home .home-layout-widget .home-profile-week-top {grid-template-columns: 86px minmax(0, 1fr);}
.custom-home .home-layout-widget .home-profile-week-photo {width: 86px; height: 86px;}
}

.custom-home .home-layout-widget > .home-profile-week {grid-template-rows: minmax(0, 1fr) auto;
  gap: 4px;
  padding: 7px 9px;}

.custom-home .home-layout-widget .home-profile-week-top {grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 10px;}

.custom-home .home-layout-widget .home-profile-week-photo {width: 82px;
  height: 82px;
  border-radius: 50% !important;}

.custom-home .home-layout-widget .home-profile-week-top p {margin-top: 4px;}

.custom-home .home-layout-widget .home-profile-week-days {padding: 3px;}

.custom-home .home-layout-widget .home-profile-week-days span {padding-block: 4px;}

.custom-home .home-layout-widget > .home-weather-calendar {grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 8px;
  padding: 7px;}

.custom-home .home-layout-widget .home-weather-calendar-photo {width: 100%;
  max-width: 112px;
  height: min(112px, 100%);
  aspect-ratio: 1 / 1;
  align-self: center;
  justify-self: center;}

.custom-home .home-layout-widget .home-weather-calendar-info {grid-template-rows: repeat(4, auto);
  align-content: center;
  gap: 5px;}

.custom-home .home-layout-widget .home-weather-calendar-info > small {align-self: auto;}

@media (max-width: 370px) {
.custom-home .home-layout-widget .home-profile-week-top {grid-template-columns: 72px minmax(0, 1fr);}
.custom-home .home-layout-widget .home-profile-week-photo {width: 70px; height: 70px;}
.custom-home .home-layout-widget .home-weather-calendar-photo {max-width: 96px; height: min(96px, 100%);}
}

.custom-home .home-layout-item,
.custom-home .app-tile,
.custom-home .app-tile .icon-face,
.custom-home .home-layout-widget > [data-home-widget] {backface-visibility: hidden;
  transform: translateZ(0);}

.custom-home :is(.app-tile, .dock-icon, [data-home-widget]) {-webkit-tap-highlight-color: transparent;}

.custom-home :is(.home-wing-clock, .home-korean-ins, .home-ins-photos) {position: relative;
  overflow: hidden;
  display: grid;
  border-radius: 8px;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 86%, transparent);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 34%, transparent), color-mix(in srgb, var(--surface-strong) 12%, transparent)) !important;
  border: 1px solid color-mix(in srgb, #fff 36%, transparent) !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 34%, transparent),
    0 14px 34px color-mix(in srgb, #000 12%, transparent) !important;
  backdrop-filter: blur(30px) saturate(1.34) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.34) !important;}

.custom-home .home-layout-widget > :is(.home-wing-clock, .home-korean-ins, .home-ins-photos) {background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 34%, transparent), color-mix(in srgb, var(--surface-strong) 12%, transparent)) !important;
  background-color: color-mix(in srgb, var(--surface-strong) 24%, transparent) !important;
  background-image: linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 34%, transparent), color-mix(in srgb, var(--surface-strong) 12%, transparent)) !important;
  border-color: color-mix(in srgb, #fff 36%, transparent) !important;}

.custom-home .home-wing-clock {grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  padding: 10px 16px 11px;
  text-align: center;}

.wing-clock-hearts {position: absolute;
  inset: 16px 46px auto;
  display: flex;
  justify-content: space-between;
  pointer-events: none;}

.wing-clock-hearts i {width: 22px;
  height: 20px;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 58%, transparent);
  font-size: 23px;
  font-style: normal;
  line-height: 1;}

.wing-clock-hearts i::before {content: "♥";}

.wing-clock-date {justify-self: center;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 52%, transparent);
  font-size: clamp(12px, 3.4vw, 15px);
  font-weight: 850;
  letter-spacing: .08em;}

.wing-clock-main {min-height: 0;
  display: grid;
  grid-template-columns: minmax(48px, .52fr) auto minmax(48px, .52fr);
  align-items: center;
  gap: 8px;}

.wing-clock-main strong {color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 62%, transparent);
  font-family: "SF Pro Display", var(--app-font-family);
  font-size: clamp(46px, 15vw, 72px);
  font-weight: 750;
  line-height: .92;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;}

.wing-clock-bottom {display: grid;
  grid-template-columns: 1.35fr .72fr .72fr;
  align-items: center;
  gap: 10px;}

.custom-home .home-korean-ins {grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px;
  padding: 9px;}

.home-korean-ins header {min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: end;
  gap: 7px;
  padding-bottom: 5px;
  border-bottom: 1px solid color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 14%, transparent);}

.home-kins-avatar,
.home-kins-photo,
.home-ins-photo-slot {position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  padding: 0;
  background: color-mix(in srgb, var(--surface-strong) 18%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 24%, transparent);}

.home-kins-avatar {width: 34px;
  height: 34px;
  border-radius: 8px;}

.home-korean-ins header strong {display: block;
  overflow: hidden;
  color: #5ca2dc;
  font-size: 11px;
  font-family: Georgia, "Times New Roman", serif;
  text-overflow: ellipsis;
  white-space: nowrap;}

.home-korean-ins header span {display: inline-grid;
  min-height: 21px;
  align-items: center;
  margin-top: 2px;
  padding: 0 6px;
  border: 1px solid color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 18%, transparent);
  border-radius: 5px;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 58%, transparent);
  background: color-mix(in srgb, var(--surface-strong) 28%, transparent);
  font: 11px Georgia, serif;}

.home-korean-ins header small {min-width: 0;
  max-width: 58px;
  overflow: hidden;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 56%, transparent);
  font-size: 10px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;}

.home-kins-photos {min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.home-kins-photo,
.home-ins-photo-slot {height: 100%;
  border-radius: 8px;}

.home-kins-photo.selected::after {content: "✓";
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 2px solid color-mix(in srgb, #fff 84%, transparent);
  border-radius: 50%;
  color: #fff;
  background: #4aa3ee;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);}

.home-kins-dots {display: flex;
  justify-content: center;
  gap: 3px;
  padding-top: 1px;}

.home-kins-dots i {width: 6px;
  height: 6px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 20%, transparent);}

.home-kins-dots i:first-child {background: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 44%, transparent);}

.custom-home .home-ins-photos {grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px 10px 9px;}

.home-ins-photos > strong {color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 90%, transparent);
  font-size: 18px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.02em;}

.home-ins-photo-grid {min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.home-ins-photo-slot {border: 1.5px dashed color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 18%, transparent);}

.home-kins-avatar > span,
.home-kins-photo > span,
.home-ins-photo-slot > span {position: absolute;
  inset: 0;
  display: block;
  background-size: cover;
  background-position: center;}

.home-kins-avatar > small,
.home-kins-photo > small,
.home-ins-photo-slot > small {position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 48%, transparent);
  font-size: 20px;}

.home-kins-avatar.has-image > small,
.home-kins-photo.has-image > small,
.home-ins-photo-slot.has-image > small {display: none;}

.home-ins-photos footer {min-height: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 72%, transparent);
  background: color-mix(in srgb, var(--surface-strong) 32%, transparent);
  font-size: 11px;
  font-weight: 950;}

.home-ins-photos footer b {color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 42%, transparent);}

.home-ins-photos footer em {color: #178bd7;
  font-style: normal;
  letter-spacing: .02em;}

@media (max-width: 370px) {
.wing-clock-main strong {font-size: 42px;}
.home-korean-ins header {grid-template-columns: 30px minmax(0, 1fr);}
.home-korean-ins header small {display: none;}
.home-ins-photos > strong {font-size: 16px;}
}

.custom-home .home-vinyl-stage {position: relative;
  grid-row: 1 / 4;
  min-width: 0;
  display: grid;
  place-items: center;}

.custom-home .home-vinyl-arm {position: absolute;
  z-index: 3;
  top: 4px;
  right: 4px;
  width: 5px;
  height: 58%;
  border-radius: 999px;
  background: #55585d;
  box-shadow: 0 2px 5px color-mix(in srgb, #000 24%, transparent);
  transform: rotate(20deg);
  transform-origin: top center;
  pointer-events: none;}

.custom-home .home-vinyl-copy {align-self: end;}

.home-edit-toolbar {grid-template-columns: 42px auto minmax(0, 1fr) auto;}

.home-edit-toolbar [data-home-page-add] {padding-inline: 10px; white-space: nowrap;}

.home-edit-toolbar [data-home-page-add]:disabled {opacity: .42;}

@media (max-width: 360px) {
.home-edit-toolbar {grid-template-columns: 38px auto minmax(0, 1fr) auto; gap: 5px;}
.home-edit-toolbar [data-home-page-add] {padding-inline: 7px; font-size: 11px;}
.home-edit-toolbar strong {font-size: 11px;}
}

#charPhoneOverlay .char-phone-app-grid {flex: 1 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px 12px !important;
  align-content: start !important;
  padding: 4px 2px 0 !important;}

#charPhoneOverlay .char-phone-dock {flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(255, 255, 255, .78) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 16px 36px rgba(26, 30, 36, .08) !important;
  backdrop-filter: blur(24px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.12) !important;}

#charPhoneOverlay .char-phone-dock .char-phone-app-icon {min-height: 64px !important;}

#charPhoneOverlay .char-phone-dock .icon-face {width: 52px !important;
  height: 52px !important;}

#charPhoneOverlay .char-phone-dock small {display: none !important;}

@media (max-height: 760px) {
#charPhoneOverlay .char-phone-app-grid {gap: 16px 10px !important;}
}

.couple-refresh-dock {margin-top: 12px !important;}

.couple-refresh-dock header {align-items: center !important;}

.custom-home .home-clock-widget,
.custom-home .home-gallery-widget,
.custom-home .home-calendar-widget,
.custom-home .home-layout-widget > [data-home-widget]:not(.home-image-frame):not(.home-frame-2x2) {background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--surface-strong) 40%, transparent) 0%,
    color-mix(in srgb, var(--surface-strong) 15%, transparent) 100%
  ) !important;
  backdrop-filter: blur(28px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.8) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.4),
    inset 0 -1px 1px rgba(255, 255, 255, 0.05),
    0 16px 40px -8px rgba(0, 0, 0, 0.15) !important;}

.home-icon-drag-ghost {transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease !important;
  transform: translate(-50%, -50%) scale(1.05) !important;
  box-shadow:
    0 30px 60px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.3) !important;
  cursor: grabbing !important;
  opacity: 0.98 !important;
  border-radius: 26px !important;
  filter: none !important;}

.custom-home .home-grid-drop-preview {z-index: 0;
  border: 2px solid color-mix(in srgb, var(--skin-accent) 40%, transparent) !important;
  border-radius: 26px !important;
  background: color-mix(in srgb, var(--skin-accent) 10%, transparent) !important;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.05);
  pointer-events: none;
  animation: dropPreviewPop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;}

.custom-home .home-layout-widget .home-gallery-row {display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}

.custom-home .home-layout-widget .home-gallery-slot {min-width: 0 !important;
  width: auto !important;}

.custom-home .home-layout-widget .home-polaroid-three > div,
.custom-home .home-layout-widget .home-memory-cards {grid-template-columns: repeat(3, minmax(0, 1fr));}

.custom-home .home-layout-widget .home-kins-photos {grid-template-columns: repeat(2, minmax(0, 1fr));}

.custom-home .home-layout-widget .home-ins-photo-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}

.custom-home .home-layout-widget :is(.home-gallery-slot-img, .home-polaroid-photo > span, .home-stack-photo > span, .home-memory-photo > span, .home-kins-photo > span, .home-ins-photo-slot > span) {background-position: center !important;
  background-size: cover !important;}

.custom-home {--home-preview-text: var(--skin-text, #122033);
  --home-preview-sub: color-mix(in srgb, var(--skin-text, #122033) 54%, transparent);
  --home-preview-card: rgba(255,255,255,.32);
  --home-preview-card-strong: rgba(255,255,255,.42);}

.custom-home .home-layout-widget > [data-home-widget],
.custom-home .home-clock-widget,
.custom-home .home-gallery-widget,
.custom-home .home-calendar-widget {overflow: hidden !important;
  color: var(--home-preview-text) !important;
  border-radius: 26px !important;}

.custom-home .home-layout-widget > [data-home-widget] :is(button, span, strong, small, b, p, div) {box-sizing: border-box;}

.custom-home .home-layout-widget > .home-image-frame,
.custom-home .home-image-frame {position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 100% !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, rgba(185,211,255,.72), rgba(255,242,248,.72)) !important;
  text-align: left !important;}

.custom-home .home-image-frame-layer {inset: 12px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background-color: rgba(255,255,255,.26) !important;}

.custom-home .home-image-frame-hint {position: relative !important;
  z-index: 2 !important;
  align-self: flex-start !important;
  min-height: 0 !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.24) !important;
  color: var(--home-preview-text) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  opacity: 1 !important;}

.custom-home .home-clock-widget {padding: 15px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 7px !important;
  min-width: 0 !important;}

.custom-home .home-clock-widget .clock-greeting {width: max-content !important;
  max-width: 100% !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: var(--home-preview-card) !important;
  color: var(--home-preview-sub) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;}

.custom-home .home-clock-widget .clock-time {font-size: clamp(36px, 16vw, 52px) !important;
  line-height: .92 !important;
  letter-spacing: -2px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;}

.custom-home .home-clock-widget .clock-date {margin-top: 0 !important;
  color: var(--home-preview-sub) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;}

.custom-home .home-wing-clock {padding: 12px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;}

.custom-home .wing-clock-hearts i {display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 8px !important;
  background: #9aa2af !important;
  transform: rotate(45deg) !important;
  border-radius: 2px !important;
  opacity: .75 !important;}

.custom-home .wing-clock-date {color: var(--home-preview-sub) !important; font-size: 12px !important; font-weight: 800 !important;}

.custom-home .wing-clock-main {display: flex !important; align-items: center !important; gap: 12px !important;}

.custom-home .wing-clock-main strong {font-size: clamp(32px, 10vw, 44px) !important; line-height: 1 !important; letter-spacing: -1px !important;}

.custom-home .wing-shape {width: 52px !important; height: 20px !important; border-radius: 70% 30% 50% 50% !important; background: linear-gradient(120deg, rgba(210,215,225,.88), rgba(255,255,255,.38)) !important; filter: drop-shadow(0 4px 8px rgba(0,0,0,.08)) !important;}

.custom-home .wing-shape.right {transform: scaleX(-1) !important;}

.custom-home .wing-clock-bottom {width: 100% !important; display: flex !important; justify-content: space-around !important; align-items: center !important; color: var(--home-preview-sub) !important; font-size: 10px !important;}

.custom-home .wing-ring {width: 38px !important; height: 38px !important; border-radius: 50% !important; display: grid !important; place-items: center !important; background: conic-gradient(var(--skin-accent) calc(var(--p)*1%), rgba(255,255,255,.25) 0) !important;}

.custom-home .wing-ring b,
.custom-home .wing-ring span {grid-area: 1/1 !important; font-size: 8px !important;}

.custom-home .wing-ring span {transform: translateY(8px) !important;}

.custom-home .home-gallery-widget {padding: 14px !important;
  display: grid !important;
  grid-template-rows: 30px minmax(0,1fr) !important;
  gap: 10px !important;}

.custom-home .home-gallery-title {width: 100% !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: var(--home-preview-text) !important;
  text-align: left !important;
  font-weight: 900 !important;}

.custom-home .home-gallery-title strong,
.custom-home .home-gallery-title {font-size: 15px !important;}

.custom-home .home-gallery-title small {display: inline !important; color: var(--home-preview-sub) !important; font-size: 11px !important; font-weight: 800 !important;}

.custom-home .home-gallery-row {min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;}

.custom-home .home-gallery-slot {position: relative !important;
  min-width: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: var(--home-preview-card) !important;}

.custom-home .home-gallery-slot:first-child,
.custom-home .home-gallery-slot:first-of-type {grid-column: auto !important; grid-row: auto !important;}

.custom-home .home-gallery-slot-hint {position: absolute !important; inset: 0 !important; display: grid !important; place-items: center !important; font-size: 24px !important;}

.custom-home .home-gallery-slot.has-image .home-gallery-slot-hint {opacity: 0 !important;}

.custom-home .home-calendar-widget {padding: 16px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important;}

.custom-home .home-cal-header {display: flex !important; justify-content: space-between !important; align-items: center !important; font-weight: 900 !important;}

.custom-home .home-cal-header small,
.custom-home .home-cal-year {color: var(--home-preview-sub) !important; font-size: 12px !important;}

.custom-home .home-cal-days {display: grid !important; grid-template-columns: repeat(7,1fr) !important; gap: 5px !important;}

.custom-home .home-cal-day {min-height: 54px !important; border-radius: 13px !important; background: var(--home-preview-card) !important; display: grid !important; place-items: center !important; gap: 2px !important; color: var(--home-preview-sub) !important; font-size: 11px !important; font-weight: 800 !important;}

.custom-home .home-cal-day b {color: var(--home-preview-text) !important; font-size: 16px !important;}

.custom-home .home-frame-2x2 {position: relative !important; display: grid !important; place-items: center !important; padding: 10px !important; border: 0 !important; border-radius: 26px !important; background: transparent !important; overflow: hidden !important;}

.custom-home .home-frame-2x2::before {content: ""; position: absolute; inset: 10px; border-radius: 19px; background: var(--home-preview-card);}

.custom-home .home-frame-2x2-img {inset: 10px !important; width: auto !important; height: auto !important; border-radius: 19px !important; overflow: hidden !important;}

.custom-home .home-frame-2x2-hint {position: relative !important; z-index: 2 !important; color: var(--home-preview-sub) !important; font-weight: 900 !important; opacity: 1 !important;}

.custom-home .home-frame-2x2.has-image .home-frame-2x2-hint {opacity: 0 !important;}

.custom-home .home-polaroid-one {padding: 12px 10px 14px !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; text-align: center !important;}

.custom-home .home-polaroid-pin,
.custom-home .home-polaroid-three article > i {width: 20px !important; height: 20px !important; border-radius: 50% !important; background: rgba(255,255,255,.6) !important; box-shadow: inset 0 1px 1px rgba(255,255,255,.9), 0 5px 12px rgba(0,0,0,.14) !important;}

.custom-home .home-polaroid-photo {flex: 1 1 auto !important; width: 100% !important; min-height: 0 !important; border: 0 !important; border-radius: 18px !important; background: var(--home-preview-card-strong) !important; position: relative !important; overflow: hidden !important;}

.custom-home .home-polaroid-one strong {font-size: 13px !important;}

.custom-home .home-polaroid-one small {color: var(--home-preview-sub) !important; font-size: 10px !important;}

.custom-home .home-polaroid-three {padding: 14px 12px !important;}

.custom-home .home-polaroid-three > div {height: 100% !important; display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 10px !important;}

.custom-home .home-polaroid-three article {min-width: 0 !important; padding: 8px 7px 12px !important; border-radius: 18px !important; background: var(--home-preview-card) !important; display: flex !important; flex-direction: column !important; gap: 6px !important; align-items: center !important; transform: none !important;}

.custom-home .home-polaroid-three article .home-polaroid-photo {min-height: 110px !important;}

.custom-home .home-photo-stack {padding: 15px !important; display: flex !important; flex-direction: column !important; gap: 6px !important;}

.custom-home .home-photo-stack strong {font-size: 18px !important;}

.custom-home .home-photo-stack small {color: var(--home-preview-sub) !important; font-weight: 800 !important;}

.custom-home .home-photo-stack > div {position: relative !important; flex: 1 !important; min-height: 0 !important; margin-top: 0 !important;}

.custom-home .home-stack-photo {position: absolute !important; width: 58% !important; height: 84% !important; border: 0 !important; border-radius: 18px !important; background: var(--home-preview-card) !important; overflow: hidden !important;}

.custom-home .home-stack-photo.stack-1 {left: 4% !important; top: 12% !important; transform: rotate(-7deg) !important;}

.custom-home .home-stack-photo.stack-2 {left: 22% !important; top: 4% !important; transform: rotate(3deg) !important;}

.custom-home .home-stack-photo.stack-3 {right: 4% !important; top: 16% !important; transform: rotate(9deg) !important;}

.custom-home .home-profile-week {padding: 14px !important; display: flex !important; flex-direction: column !important; gap: 10px !important; justify-content: center !important;}

.custom-home .home-profile-week-top {display: grid !important; grid-template-columns: 76px minmax(0,1fr) !important; gap: 14px !important; align-items: center !important;}

.custom-home .home-profile-week-photo {position: relative !important; width: 76px !important; height: 76px !important; border: 0 !important; border-radius: 50% !important; overflow: hidden !important; background: var(--home-preview-card) !important; box-shadow: 0 12px 22px rgba(0,0,0,.10) !important;}

.custom-home .home-profile-week-top strong {display: block !important; margin-bottom: 6px !important; font-size: 18px !important; line-height: 1.15 !important;}

.custom-home .home-profile-week-top p {margin: 0 !important; color: var(--home-preview-sub) !important; font-size: 12px !important; line-height: 1.45 !important; font-weight: 800 !important;}

.custom-home .home-profile-week-days {display: grid !important; grid-template-columns: repeat(7,1fr) !important; gap: 5px !important;}

.custom-home .home-profile-week-days span {min-height: 24px !important; border-radius: 999px !important; background: var(--home-preview-card) !important; display: grid !important; place-items: center !important; color: var(--home-preview-sub) !important; font-size: 10px !important; font-weight: 900 !important;}

.custom-home .home-profile-week-days span.today {color: var(--home-preview-text) !important; background: color-mix(in srgb, var(--skin-accent) 32%, rgba(255,255,255,.36)) !important; box-shadow: none !important;}

.custom-home .home-weather-small {height: 100% !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;}

.custom-home .home-weather-small .home-weather-photo {position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--home-preview-card) !important;
  overflow: hidden !important;}

.custom-home .home-weather-small-copy {position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 6px !important;
  color: var(--home-preview-sub) !important;
  text-shadow: none !important;
  pointer-events: auto !important;
  font-weight: 900 !important;
  line-height: 1 !important;}

.custom-home .home-weather-small-copy strong {font-size: 15px !important;}

.custom-home .home-weather-small-copy b {color: var(--home-preview-text) !important; font-size: 28px !important; line-height: .95 !important; font-weight: 800 !important;}

.custom-home .home-weather-small > small {flex: 0 0 auto !important;
  align-self: stretch !important;
  margin-top: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  color: var(--home-preview-sub) !important;
  font-size: 10.5px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;}

.custom-home .home-weather-calendar {padding: 14px !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important;}

.custom-home .home-weather-calendar-photo {min-width: 0 !important; min-height: 0 !important; display: grid !important; grid-template-rows: minmax(0,1fr) auto !important; gap: 8px !important;}

.custom-home .home-weather-calendar-photo .home-weather-photo {width: 100% !important; height: auto !important; min-height: 0 !important;}

.custom-home .home-weather-calendar-photo > div {color: var(--home-preview-sub) !important;}

.custom-home .home-weather-calendar-photo > div b {color: var(--home-preview-text) !important; font-size: 28px !important;}

.custom-home .home-weather-calendar-info {display: flex !important; flex-direction: column !important; justify-content: space-between !important; gap: 8px !important; color: var(--home-preview-sub) !important;}

.custom-home .home-weather-week-labels,
.custom-home .home-weather-week-dates {display: grid !important; grid-template-columns: repeat(7,1fr) !important; gap: 3px !important;}

.custom-home .home-weather-week-dates span,
.custom-home .home-weather-week-labels span {border-radius: 8px !important; text-align: center !important; padding: 4px 0 !important; font-size: 10px !important; font-weight: 900 !important; background: var(--home-preview-card) !important;}

.custom-home .home-memory-board {padding: 14px !important; display: flex !important; flex-direction: column !important; gap: 8px !important;}

.custom-home .home-memory-board header {display: flex !important; justify-content: space-between !important; font-weight: 900 !important;}

.custom-home .home-memory-board p {margin: 0 !important; color: var(--home-preview-sub) !important; font-size: 12px !important; font-weight: 800 !important;}

.custom-home .home-memory-cards {flex: 1 !important; display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 9px !important;}

.custom-home .home-memory-cards article {min-width: 0 !important; border-radius: 18px !important; background: var(--home-preview-card) !important; padding: 7px !important; display: flex !important; flex-direction: column !important; gap: 5px !important;}

.custom-home .home-memory-photo {position: relative !important; flex: 1 !important; border: 0 !important; border-radius: 14px !important; background: var(--home-preview-card) !important; overflow: hidden !important;}

.custom-home .home-memory-cards strong {font-size: 11px !important;}

.custom-home .home-memory-cards small {color: var(--home-preview-sub) !important; font-size: 9px !important; font-weight: 800 !important;}

.custom-home .home-korean-ins {padding: 10px !important; display: flex !important; flex-direction: column !important; gap: 8px !important;}

.custom-home .home-korean-ins header {display: grid !important; grid-template-columns: 38px 1fr auto !important; gap: 8px !important; align-items: center !important;}

.custom-home .home-kins-avatar {position: relative !important; width: 38px !important; height: 38px !important; border: 0 !important; border-radius: 50% !important; overflow: hidden !important; background: var(--home-preview-card) !important;}

.custom-home .home-korean-ins strong {font-size: 11px !important;}

.custom-home .home-korean-ins span,
.custom-home .home-korean-ins small {color: var(--home-preview-sub) !important; font-size: 9px !important; font-weight: 800 !important;}

.custom-home .home-kins-photos {flex: 1 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 7px !important;}

.custom-home .home-kins-photo {position: relative !important; border: 0 !important; border-radius: 14px !important; background: var(--home-preview-card) !important; overflow: hidden !important;}

.custom-home .home-kins-photo.selected {outline: 2px solid rgba(255,255,255,.65) !important;}

.custom-home .home-kins-dots {display: flex !important; justify-content: center !important; gap: 4px !important;}

.custom-home .home-kins-dots i {width: 4px !important; height: 4px !important; border-radius: 50% !important; background: rgba(0,0,0,.2) !important;}

.custom-home .home-ins-photos {padding: 12px !important; display: flex !important; flex-direction: column !important; gap: 8px !important;}

.custom-home .home-ins-photo-grid {flex: 1 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important;}

.custom-home .home-ins-photo-slot {position: relative !important; border: 0 !important; border-radius: 16px !important; background: var(--home-preview-card) !important; overflow: hidden !important;}

.custom-home .home-ins-photos footer {display: flex !important; justify-content: space-between !important; color: var(--home-preview-sub) !important; font-size: 9px !important; font-weight: 900 !important;}

.custom-home .home-vinyl-stage {width: 132px !important; max-width: 100% !important; aspect-ratio: 1 !important;}

.custom-home .home-vinyl-copy {text-align: left !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit !important;}

.custom-home .home-polaroid-pin,
.custom-home .home-polaroid-three article > i {display: none !important;}

.custom-home .home-kins-photo.selected {outline: 0 !important;}

.custom-home .home-kins-photo.selected::after {content: none !important;
  display: none !important;}

.custom-home .home-profile-week-days span {box-shadow: none !important;}

.custom-home .home-profile-week-days span.today {border-radius: 999px !important;
  color: var(--home-preview-text) !important;
  background: color-mix(in srgb, var(--skin-accent) 32%, rgba(255,255,255,.36)) !important;
  box-shadow: none !important;}

.custom-home .home-profile-week-days span.today::before,
.custom-home .home-profile-week-days span.today::after {content: none !important;
  display: none !important;}

.custom-home .home-cal-day.today {background: color-mix(in srgb, var(--skin-accent) 34%, rgba(255,255,255,.32)) !important;
  box-shadow: none !important;}

.custom-home .home-cal-day.today .home-cal-num {color: var(--home-preview-text, var(--skin-text)) !important;
  background: transparent !important;
  box-shadow: none !important;}

.custom-home .home-cal-day.today .home-cal-wk {color: var(--home-preview-text, var(--skin-text)) !important;}

.custom-home .home-cal-day.today .home-cal-num::before,
.custom-home .home-cal-day.today .home-cal-num::after {content: none !important;
  display: none !important;}

.custom-home .home-layout-widget > .home-clock-widget[data-home-widget="clock"] {aspect-ratio: auto !important;}

.custom-home .home-layout-widget > .home-weather-small[data-home-widget="weather-small"] {justify-content: flex-start !important;}

.custom-home .home-layout-widget > .home-weather-small[data-home-widget="weather-small"] .home-weather-photo {flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;}

.custom-home .home-layout-widget > .home-weather-small[data-home-widget="weather-small"] .home-weather-small-copy {position: static !important;
  inset: auto !important;
  flex-direction: row !important;
  text-shadow: none !important;}

.custom-home .home-layout-widget > .home-weather-small[data-home-widget="weather-small"] > small {padding: 0 !important;
  white-space: normal !important;}

.custom-home .home-layout-widget > .home-memory-board,
.custom-home .home-memory-board {padding: 12px 12px 10px !important;
  gap: 5px !important;}

.custom-home .home-layout-widget .home-memory-board > header,
.custom-home .home-memory-board > header {margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;}

.custom-home .home-layout-widget .home-memory-board > header strong,
.custom-home .home-memory-board > header strong {line-height: 1 !important;}

.custom-home .home-layout-widget .home-memory-board > header span,
.custom-home .home-memory-board > header span {line-height: 1 !important;}

.custom-home .home-layout-widget .home-memory-board > p,
.custom-home .home-memory-board > p {margin: 0 0 3px !important;
  padding: 0 !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;}

.custom-home .home-layout-widget .home-memory-cards,
.custom-home .home-memory-cards {flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 8px !important;
  align-items: stretch !important;}

.custom-home .home-layout-widget .home-memory-cards article,
.custom-home .home-memory-cards article {min-height: 0 !important;
  padding: 6px !important;
  gap: 2px !important;
  justify-content: stretch !important;}

.custom-home .home-layout-widget .home-memory-photo,
.custom-home .home-memory-photo {flex: 1 1 auto !important;
  min-height: 86px !important;
  height: auto !important;
  margin: 0 0 3px !important;}

.custom-home .home-layout-widget .home-memory-cards article > strong,
.custom-home .home-memory-cards article > strong {display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 11px !important;}

.custom-home .home-layout-widget .home-memory-cards article > small,
.custom-home .home-memory-cards article > small {display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 8.5px !important;}

@media (max-width: 390px) {
.custom-home .home-layout-widget .home-memory-photo,
.custom-home .home-memory-photo {min-height: 78px !important;}
.custom-home .home-layout-widget .home-memory-cards article,
.custom-home .home-memory-cards article {padding: 5px !important;}
.custom-home .home-layout-widget .home-memory-cards,
.custom-home .home-memory-cards {gap: 7px !important;}
}

.device-shell {width: 100vw !important;
  overflow: hidden !important;}

@media (display-mode: standalone) {
.device-shell {padding: 0 !important;
    background: var(--phone-bg, #101216) !important;}
}

.device-shell {max-width: 100%;
  overflow-x: clip;}

#userPhoneOverlay .user-phone-home-screen {position: absolute;
  inset: 0;
  min-height: 0;}

#userPhoneOverlay [data-user-phone-home-screen][hidden] {display: none !important;}

#userPhoneOverlay .user-phone-home-screen {display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 13px 12px;
  overflow-y: auto;}

#userPhoneOverlay .user-phone-wallpaper-head {display: grid;
  justify-items: center;
  color: #30343b;}

#userPhoneOverlay .user-phone-wallpaper-head strong {font-size: 38px; line-height: 1; letter-spacing: -.04em;}

#userPhoneOverlay .user-phone-wallpaper-head small {margin-top: 3px; color: rgba(48,52,59,.52); font-size: 10px; font-weight: 720;}

#userPhoneOverlay .user-phone-home-grid {flex: 1 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 7px;
  align-content: start;}

#userPhoneOverlay .user-phone-home-app {min-width: 0;
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 0 !important;
  border: 0 !important;
  color: #30343b !important;
  background: transparent !important;
  box-shadow: none !important;}

#userPhoneOverlay .user-phone-home-app .icon-face {width: 47px !important;
  height: 47px !important;
  border-radius: 14px !important;
  box-shadow: 0 7px 16px rgba(25, 32, 43, .12);
  font-size: 17px !important;}

#userPhoneOverlay .user-phone-home-app small {max-width: 64px;
  overflow: hidden;
  color: rgba(48,52,59,.76) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-weight: 750;}

#userPhoneOverlay .user-phone-home-dock {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 28px rgba(33, 42, 54, .08);
  backdrop-filter: blur(18px);}

#userPhoneOverlay .user-phone-home-dock .user-phone-home-app small {display: none;}

#userPhoneOverlay .user-phone-home-indicator {z-index: 5;
  width: 112px;
  height: 4px;
  align-self: center;
  justify-self: center;
  border-radius: 999px;
  background: #272a2f;}

@media (max-height: 720px) {
#userPhoneOverlay .user-phone-wallpaper-head strong {font-size: 30px;}
#userPhoneOverlay .user-phone-home-grid {gap: 10px 6px;}
#userPhoneOverlay .user-phone-home-app .icon-face {width: 41px !important; height: 41px !important;}
}

@media not all {
#charPhoneOverlay .char-phone-app-grid {flex: 1 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-flow: dense;
  grid-auto-rows: minmax(92px, auto);
  gap: 8px !important;
  padding: 0 !important;}
#userPhoneOverlay .user-phone-home-app::after {grid-column: 1 / -1;
  align-self: end;
  color: currentColor;
  opacity: .56;
  font: 500 8px/1.3 var(--museum-sans);
  letter-spacing: .08em;}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="wechat"]::after {content: "CORRESPONDENCE / RECENT";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="x"]::after {content: "PUBLIC NOTES / FEED";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="screentime"]::after {content: "TIME STUDY";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="games"]::after {content: "PLAY LOG";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="browser"]::after {content: "READING HISTORY";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="wallet"]::after {content: "PRIVATE LEDGER";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="items"]::after {content: "CABINET OF THINGS";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="notes"]::after {content: "MANUSCRIPTS";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="album"]::after {content: "IMAGE ARCHIVE";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="phone"]::after {content: "CALL REGISTER";}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="sms"]::after {content: "SHORT LETTERS";}
#charPhoneOverlay .char-phone-dock {flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}
#charPhoneOverlay .char-phone-dock .char-phone-app-icon {grid-column: auto;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
  padding: 9px !important;
  border: 0 !important;
  border-right: 1px solid var(--museum-paper) !important;
  border-radius: 0 !important;
  color: var(--museum-paper) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-dock .char-phone-app-icon:last-child {border-right: 0 !important;}
#charPhoneOverlay .char-phone-dock .icon-face {grid-column: 1; grid-row: 1; width: 38px !important; height: 38px !important;}
#charPhoneOverlay .char-phone-dock small,
#charPhoneOverlay .char-phone-dock .char-phone-app-icon::after {display: none !important;}
#userPhoneOverlay .user-phone-home-screen {gap: 8px !important;
  padding: 12px 10px 10px !important;
  background: var(--museum-putty) !important;}
#userPhoneOverlay .user-phone-wallpaper-head {min-height: 98px;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start !important;
  padding: 10px;
  border: 1px solid var(--museum-ink);
  border-radius: var(--museum-card-radius);
  color: var(--museum-ink) !important;
  background: var(--museum-bone);}
#userPhoneOverlay .user-phone-wallpaper-head::before {content: "BORROWED DEVICE / 02"; margin-bottom: auto; color: var(--museum-graphite); font: 500 7px/1.2 var(--museum-sans); letter-spacing: .13em;}
#userPhoneOverlay .user-phone-wallpaper-head strong {color: inherit !important; font: 500 52px/.78 var(--museum-serif) !important; letter-spacing: -.055em !important;}
#userPhoneOverlay .user-phone-wallpaper-head small {color: var(--museum-graphite) !important; font-size: 8px !important;}
#userPhoneOverlay .user-phone-home-grid {flex: 1 0 auto;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: dense;
  grid-auto-rows: minmax(74px, auto);
  gap: 6px !important;}
#userPhoneOverlay .user-phone-home-app {position: relative;
  grid-column: span 2;
  min-height: 74px;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  align-items: start;
  justify-items: stretch !important;
  gap: 6px !important;
  padding: 8px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="wechat"] {grid-column: 1 / -1; min-height: 112px; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="browser"],
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="album"] {grid-column: 1 / -1;}
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="wallet"] {color: var(--museum-paper) !important; background: var(--museum-graphite) !important;}
#userPhoneOverlay .user-phone-home-app .icon-face {grid-column: 1;
  grid-row: 1;
  width: 28px !important;
  height: 28px !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  font: 500 10px/1 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-home-app small {grid-column: 2;
  grid-row: 1;
  align-self: center;
  max-width: none !important;
  color: inherit !important;
  font: 500 14px/1 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-home-dock {display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;}
#userPhoneOverlay .user-phone-home-dock .user-phone-home-app {grid-column: auto;
  min-height: 54px;
  display: grid !important;
  place-items: center;
  padding: 8px !important;
  border: 0 !important;
  border-right: 1px solid var(--museum-paper) !important;
  border-radius: 0 !important;
  color: var(--museum-paper) !important;
  background: transparent !important;}
#userPhoneOverlay .user-phone-home-dock .user-phone-home-app:last-child {border-right: 0 !important;}
#userPhoneOverlay .user-phone-home-dock .user-phone-home-app .icon-face {grid-column: 1; grid-row: 1; width: 32px !important; height: 32px !important;}
#userPhoneOverlay .user-phone-home-dock .user-phone-home-app small,
#userPhoneOverlay .user-phone-home-dock .user-phone-home-app::after {display: none !important;}
#userPhoneOverlay .user-phone-home-indicator {width: 96px; height: 3px; border-radius: 0 !important; background: var(--museum-paper) !important;}
@media (max-width: 370px) {
#charPhoneOverlay .char-phone-app-grid {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}
}
}

.live-home-scroll {padding-left: 14px;
  padding-right: 14px;}

.live-home-hero {position: relative;
  min-height: min(51vh, 470px);
  overflow: hidden;
  border-radius: 28px;
  background-color: #27272b;
  background-position: center 23%;
  background-size: cover;
  box-shadow: 0 18px 45px rgba(18, 18, 21, .18);
  isolation: isolate;}

.live-home-hero::before {content: "";
  position: absolute;
  inset: -16px;
  z-index: -2;
  background: inherit;
  background-position: center;
  background-size: cover;
  filter: blur(12px) saturate(.85);
  transform: scale(1.04);}

.live-home-hero-shade {position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 8, 10, .08) 12%, rgba(8, 8, 10, .2) 44%, rgba(8, 8, 10, .92) 100%);}

.live-home-hero-content {position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 8px;
  padding: 26px 22px 20px;
  color: #fff;}

.live-home-hero-content .live-kicker {color: rgba(255, 255, 255, .62);}

.live-home-hero-content select {position: absolute;
  top: 20px;
  right: 18px;
  max-width: 44%;
  height: 34px;
  padding: 0 28px 0 12px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  outline: none;
  color: #fff;
  background: rgba(0, 0, 0, .28);
  font-size: 11px;
  font-weight: 700;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);}

.live-home-hero-content select option {color: #111;}

.live-home-hero-content h1 {margin: 0;
  font-size: clamp(28px, 8vw, 38px);
  font-weight: 830;
  letter-spacing: -.035em;
  line-height: 1.04;}

.live-home-hero-content p {display: -webkit-box;
  max-width: 88%;
  margin: 0;
  overflow: hidden;
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
  line-height: 1.55;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}

.live-home-hero-meta {display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;}

.live-home-hero-meta span {padding: 5px 8px;
  border-radius: 999px;
  color: rgba(255, 255, 255, .77);
  background: rgba(255, 255, 255, .1);
  font-size: 9px;
  font-weight: 660;}

.live-home-section {margin-top: 28px;}

@media (max-width: 390px) {
.live-home-hero {min-height: min(50vh, 430px); border-radius: 24px;}
.live-home-hero-content {padding-inline: 18px;}
}

.home-edit-toolbar {grid-template-columns: 42px auto auto minmax(0, 1fr) auto;}

.home-edit-toolbar :is([data-home-page-add], [data-home-page-remove]) {min-width: 48px;
  padding-inline: 9px;
  white-space: nowrap;}

.home-edit-toolbar :is([data-home-page-add], [data-home-page-remove]):disabled {opacity: .38;
  pointer-events: none;}

.custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-carplay-lyrics, .home-couple-photo-gray) {position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #ffffff 52%, var(--skin-border, rgba(58, 66, 76, .14)));
  border-radius: clamp(22px, 6vw, 32px);
  color: color-mix(in srgb, var(--widget-text-color, var(--skin-text)) 90%, #15181d);
  background:
    linear-gradient(145deg, rgba(255,255,255,.54), rgba(237,240,244,.22)),
    color-mix(in srgb, var(--surface-strong, #fff) 38%, transparent);
  box-shadow:
    0 18px 40px rgba(27, 33, 40, .12),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(91,101,112,.06);
  backdrop-filter: blur(26px) saturate(1.18);
  -webkit-backdrop-filter: blur(26px) saturate(1.18);
  isolation: isolate;}

.custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-couple-photo-gray)::before {content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.72), transparent 38%),
    linear-gradient(120deg, transparent 0 45%, rgba(255,255,255,.2) 48% 55%, transparent 58%);}

.home-diary-ins-open,
.home-carplay-open {width: 100%;
  height: 100%;
  position: relative;
  display: block;
  overflow: hidden;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  font: inherit;}

.home-diary-month {position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  height: 32px;
  min-width: 62px;
  padding: 0 13px;
  border-radius: 999px;
  color: rgba(20,22,25,.88);
  background: rgba(137,141,147,.62);
  font-size: 18px;
  letter-spacing: -.04em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24);}

.home-diary-month::after {content: "";
  position: absolute;
  left: 12px;
  bottom: -8px;
  width: 18px;
  height: 14px;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 12% 100%);}

.home-diary-avatar {position: absolute;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 4px solid rgba(133,138,145,.78);
  border-radius: 50%;
  background: rgba(217,220,224,.76);
  background-position: center;
  background-size: cover;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 7px 18px rgba(45,50,57,.12);}

.home-diary-avatar i {color: rgba(70,75,82,.78);
  font-style: normal;
  font-size: 22px;
  font-weight: 850;}

.home-diary-handle {position: absolute;
  color: rgba(100,105,111,.55);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -.04em;}

.home-diary-meta {position: absolute;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(25,27,31,.9);}

.home-diary-meta b {width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: rgba(255,255,255,.94);
  background: rgba(93,98,104,.92);
  font-size: 15px;}

.home-diary-meta time {font-size: 16px;
  font-weight: 650;}

.home-diary-meta em {margin-left: auto;
  color: rgba(26,29,33,.84);
  font-style: normal;
  font-size: 14px;
  font-weight: 750;}

.home-diary-line {position: absolute;
  height: 12px;
  border-radius: 999px;
  background: rgba(151,156,162,.28);}

.home-diary-signal {position: absolute;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 30px;}

.home-diary-signal i {width: 6px;
  border-radius: 2px 2px 0 0;
  background: rgba(24,27,31,.9);}

.home-diary-signal i:nth-child(1) {height: 9px;}

.home-diary-signal i:nth-child(2) {height: 15px;}

.home-diary-signal i:nth-child(3) {height: 22px;}

.home-diary-signal i:nth-child(4) {height: 29px;}

.home-diary-wifi {position: absolute;
  width: 30px;
  height: 24px;
  border-top: 4px solid rgba(28,31,35,.9);
  border-radius: 50%;
  transform: rotate(8deg);}

.home-diary-wifi::before,
.home-diary-wifi::after {content: "";
  position: absolute;
  left: 50%;
  border-top: 4px solid rgba(28,31,35,.9);
  border-radius: 50%;
  transform: translateX(-50%);}

.home-diary-wifi::before {top: 4px; width: 20px; height: 15px;}

.home-diary-wifi::after {top: 10px; width: 9px; height: 7px;}

.home-diary-ins-small .home-diary-month {top: 12px; right: 14px;}

.home-diary-ins-small .home-diary-avatar {left: 14px; top: 54px; width: 76px; height: 76px;}

.home-diary-ins-small .home-diary-handle {left: 22px; bottom: 48px; max-width: 82px; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap;}

.home-diary-ins-small .home-diary-meta {left: 101px; top: 72px;}

.home-diary-ins-small p {position: absolute;
  left: 101px;
  right: 12px;
  top: 108px;
  max-height: 48px;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  color: rgba(56,60,65,.86);
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;}

.home-diary-ins-small .line-a {left: 100px; right: 15px; top: 49px;}

.home-diary-ins-small .line-b {left: 101px; right: 17px; bottom: 17px;}

.home-diary-ins-small .home-diary-signal {left: 23px; bottom: 13px;}

.home-diary-ins-small .home-diary-wifi {left: 62px; bottom: 13px;}

.home-diary-ins-wide .home-diary-month {left: 164px; top: 16px;}

.home-diary-ins-wide .home-diary-cloud {position: absolute;
  right: 95px;
  top: 23px;
  width: 35px;
  height: 17px;
  border-radius: 999px;
  background: rgba(214,220,226,.74);}

.home-diary-ins-wide .home-diary-cloud::before,
.home-diary-ins-wide .home-diary-cloud::after {content: "";
  position: absolute;
  bottom: 0;
  border-radius: 50%;
  background: inherit;}

.home-diary-ins-wide .home-diary-cloud::before {left: 5px; width: 21px; height: 21px;}

.home-diary-ins-wide .home-diary-cloud::after {right: 1px; width: 17px; height: 17px; background: rgba(190,197,204,.7);}

.home-diary-ins-wide .home-diary-today {position: absolute; right: 19px; top: 23px; color: rgba(75,80,86,.74); font-size: 13px; font-weight: 700;}

.home-diary-ins-wide .home-diary-avatar {left: 16px; top: 48px; width: 88px; height: 88px;}

.home-diary-ins-wide .home-diary-handle {left: 30px; bottom: 14px; max-width: 102px; font-size: 15px;}

.home-diary-ins-wide .home-diary-meta {left: 150px; right: 20px; top: 71px;}

.home-diary-ins-wide .home-diary-entry-title {position: absolute; left: 155px; right: 20px; top: 104px; overflow: hidden; color: rgba(40,43,48,.82); font-size: 13px; text-overflow: ellipsis; white-space: nowrap;}

.home-diary-ins-wide p {position: absolute;
  left: 150px;
  right: 22px;
  top: 126px;
  margin: 0;
  overflow: hidden;
  color: rgba(57,61,67,.8);
  font-size: 12px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;}

.home-diary-ins-wide .line-a {left: 150px; right: 20px; top: 53px;}

.home-diary-ins-wide .line-b {left: 245px; right: 27px; bottom: 15px;}

.home-diary-ins-wide .home-diary-signal {left: 22px; bottom: 12px;}

.home-diary-ins-wide .home-diary-wifi {left: 63px; bottom: 12px;}

.home-diary-ins-wide .home-diary-bow {position: absolute; left: 175px; bottom: 2px; color: rgba(54,58,64,.72); font-size: 36px; transform: rotate(7deg);}

.custom-home .home-layout-widget > .home-carplay-lyrics {border-color: rgba(255,255,255,.16);
  border-radius: clamp(22px, 6vw, 32px);
  color: #f3f4f6;
  background:
    radial-gradient(circle at 82% 88%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(145deg, #090a0c, #000) !important;
  box-shadow: 0 20px 40px rgba(5,7,10,.24), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;}

.home-carplay-brand {position: absolute; left: 18px; top: 17px; color: rgba(244,245,247,.78); font-size: 13px; letter-spacing: .04em;}

.home-carplay-lines {position: absolute;
  left: 18px;
  right: 14px;
  top: 52px;
  display: grid;
  gap: 8px;
  color: rgba(246,247,249,.72);
  font-size: 15px;
  line-height: 1.2;}

.home-carplay-lines span {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

.home-carplay-lines span.current {color: #fff;}

.home-carplay-lines span:nth-child(n/**/+3) {display: none;}

.home-carplay-track {position: absolute;
  left: 18px;
  right: 15px;
  bottom: 50px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, .72fr);
  gap: 7px;
  align-items: center;
  color: rgba(247,248,250,.9);
  font-size: 12px;}

.home-carplay-track :is(b, em) {min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

.home-carplay-track em {font-style: normal; text-align: right;}

.home-carplay-day {position: absolute; left: 18px; bottom: 12px; font-size: 29px; line-height: 1; letter-spacing: -.05em;}

.home-carplay-note {position: absolute;
  right: 18px;
  bottom: 13px;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #060708;
  background: #fff;
  font-size: 20px;
  font-weight: 950;}

.custom-home .home-layout-widget > .home-couple-photo-gray {padding: 13px;
  background:
    linear-gradient(150deg, rgba(255,255,255,.62), rgba(235,238,242,.26)),
    color-mix(in srgb, var(--surface-strong, #fff) 36%, transparent) !important;}

.home-couple-gray-label {position: absolute;
  z-index: 3;
  left: 14px;
  min-width: 74px;
  padding: 6px 10px;
  border-radius: 999px;
  color: rgba(90,95,102,.7);
  background: rgba(235,237,240,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  font-size: 12px;
  text-align: center;}

.home-couple-gray-label.label-one {top: 14px;}

.home-couple-gray-label.label-two {top: 56px;}

.home-couple-gray-collage {position: absolute; inset: 13px;}

.home-couple-gray-photo {position: absolute;
  overflow: hidden;
  border: 7px solid rgba(255,255,255,.9);
  padding: 0;
  background: rgba(211,214,219,.66);
  box-shadow: 0 8px 20px rgba(47,52,59,.14);
  transform-origin: center;}

.home-couple-gray-photo > span {position: absolute; inset: 0; display: block; background-position: center; background-size: cover; filter: grayscale(1) contrast(.92) brightness(1.05);}

.home-couple-gray-photo > small {position: absolute; inset: 0; display: grid; place-items: center; color: rgba(71,76,84,.64); font-size: 20px; font-weight: 850;}

.home-couple-gray-photo.photo-1 {left: 6px; bottom: 5px; width: 58%; height: 46%; transform: rotate(-1.5deg);}

.home-couple-gray-photo.photo-2 {right: 0; top: 3px; width: 56%; height: 62%; transform: rotate(5deg);}

.home-couple-gray-star {position: absolute; right: 14px; bottom: 9px; color: rgba(95,100,107,.68); font-size: 38px; line-height: 1; transform: rotate(-8deg);}

@media (max-width: 370px) {
.home-edit-toolbar {grid-template-columns: 34px auto auto minmax(0, 1fr) auto; gap: 4px;}
.home-edit-toolbar :is([data-home-page-add], [data-home-page-remove]) {min-width: 40px; padding-inline: 5px; font-size: 10px;}
.home-edit-toolbar strong {font-size: 10px;}
.home-diary-ins-small .home-diary-avatar {width: 68px; height: 68px;}
.home-diary-ins-small .home-diary-meta,
.home-diary-ins-small p,
.home-diary-ins-small .line-a,
.home-diary-ins-small .line-b {left: 91px;}
.home-diary-ins-wide .home-diary-month {left: 146px;}
.home-diary-ins-wide .home-diary-meta,
.home-diary-ins-wide .home-diary-entry-title,
.home-diary-ins-wide p,
.home-diary-ins-wide .line-a {left: 132px;}
.home-diary-ins-wide .home-diary-entry-title {max-width: 190px;}
.home-carplay-lines {font-size: 13px;}
}

.home-diary-ins-small .home-diary-avatar {left: 11px; top: 51px; width: 66px; height: 66px; border-width: 3px;}

.home-diary-ins-small .home-diary-handle {left: 16px; bottom: 47px; max-width: 70px; font-size: 12px;}

.home-diary-ins-small .home-diary-meta {left: 87px; right: 8px; top: 68px; gap: 5px;}

.home-diary-ins-small .home-diary-meta b {width: 25px; height: 25px; font-size: 12px;}

.home-diary-ins-small .home-diary-meta time {font-size: 13px;}

.home-diary-ins-small p {left: 87px; right: 9px; top: 101px; max-height: 45px; font-size: 10.5px; line-height: 1.42;}

.home-diary-ins-small .line-a {left: 86px; right: 11px; top: 48px; height: 10px;}

.home-diary-ins-small .line-b {left: 87px; right: 12px; bottom: 15px; height: 10px;}

.home-diary-ins-small .home-diary-signal {left: 17px; bottom: 11px; transform: scale(.82); transform-origin: left bottom;}

.home-diary-ins-small .home-diary-wifi {left: 51px; bottom: 10px; transform: rotate(8deg) scale(.82); transform-origin: left bottom;}

.custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-carplay-lyrics, .home-couple-photo-gray) {border: 1px solid color-mix(in srgb, #ffffff 52%, var(--skin-border, rgba(58, 66, 76, .14))) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.54), rgba(237,240,244,.22)),
    color-mix(in srgb, var(--surface-strong, #fff) 38%, transparent) !important;
  box-shadow:
    0 18px 40px rgba(27, 33, 40, .12),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(91,101,112,.06) !important;
  backdrop-filter: blur(26px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.18) !important;}

.custom-home .home-layout-widget > .home-carplay-lyrics {border-color: rgba(255,255,255,.16) !important;
  background:
    radial-gradient(circle at 82% 88%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(145deg, #090a0c, #000) !important;
  box-shadow: 0 20px 40px rgba(5,7,10,.24), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

.custom-home .home-layout-widget > .home-couple-photo-gray {background:
    linear-gradient(150deg, rgba(255,255,255,.62), rgba(235,238,242,.26)),
    color-mix(in srgb, var(--surface-strong, #fff) 36%, transparent) !important;}

.home-diary-ins-wide .home-diary-bow {left: 176px;
  bottom: 8px;
  width: 34px;
  height: 18px;
  color: rgba(54,58,64,.66);
  transform: rotate(-4deg);}

.home-diary-ins-wide .home-diary-bow::before,
.home-diary-ins-wide .home-diary-bow::after {content: "";
  position: absolute;
  top: 2px;
  width: 15px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 70% 45% 70% 45%;}

.home-diary-ins-wide .home-diary-bow::before {left: 1px; transform: rotate(18deg);}

.home-diary-ins-wide .home-diary-bow::after {right: 1px; transform: scaleX(-1) rotate(18deg);}

.custom-home .home-layout-widget > :is(.home-diary-ins-small, .home-diary-ins-wide, .home-couple-photo-gray)::before {background: radial-gradient(circle at 18% 12%, rgba(255,255,255,.58), transparent 42%);}

.custom-home .home-layout-widget > .home-carplay-lyrics {color: #f3f4f6 !important;}

.custom-home .home-carplay-lyrics :is(.home-carplay-open, .home-carplay-day) {color: #f3f4f6 !important;}

.custom-home .home-carplay-lyrics .home-carplay-note {color: #060708 !important;}

.custom-home .home-layout-widget > :is(.home-weather-dashboard, .home-weather-query-gray, .home-weather-photo-square) {position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: clamp(20px, 6vw, 34px);
  isolation: isolate;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", sans-serif;}

.custom-home .home-weather-refresh-hit {position: absolute;
  inset: 0;
  z-index: 2;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;}

.custom-home.home-editing .home-weather-refresh-hit {pointer-events: none;}

.custom-home :is(.home-weather-small, .home-weather-calendar) .home-weather-refresh-hit {z-index: 1;}

.home-real-weather-icon {--weather-ink: #ffdc4b;
  position: relative;
  display: inline-block;
  width: 54px;
  height: 54px;
  flex: 0 0 auto;}

.home-real-weather-icon .sun {position: absolute;
  left: 14px;
  top: 14px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--weather-ink);
  box-shadow: 0 -17px 0 -11px var(--weather-ink), 0 17px 0 -11px var(--weather-ink), 17px 0 0 -11px var(--weather-ink), -17px 0 0 -11px var(--weather-ink), 12px 12px 0 -11px var(--weather-ink), -12px -12px 0 -11px var(--weather-ink), 12px -12px 0 -11px var(--weather-ink), -12px 12px 0 -11px var(--weather-ink);}

.home-real-weather-icon .cloud {display: none;
  position: absolute;
  height: 13px;
  border-radius: 999px;
  background: #dfe5ea;}

.home-real-weather-icon .cloud::before,
.home-real-weather-icon .cloud::after {content: ""; position: absolute; border-radius: 50%; background: inherit;}

.home-real-weather-icon .cloud-a {left: 8px; right: 2px; bottom: 12px;}

.home-real-weather-icon .cloud-a::before {width: 21px; height: 21px; left: 8px; bottom: 2px;}

.home-real-weather-icon .cloud-a::after {width: 17px; height: 17px; left: 25px; bottom: 1px;}

.home-real-weather-icon .cloud-b {left: 2px; width: 34px; bottom: 5px; opacity: .78;}

.home-real-weather-icon .drop {display: none; position: absolute; width: 3px; height: 10px; border-radius: 99px; background: #78bde8; transform: rotate(17deg); bottom: -1px;}

.home-real-weather-icon .drop-a {left: 17px;}

.home-real-weather-icon .drop-b {left: 28px;}

.home-real-weather-icon .drop-c {left: 39px;}

.home-real-weather-icon .bolt {display: none; position: absolute; left: 25px; bottom: -2px; width: 9px; height: 17px; background: #ffd84a; clip-path: polygon(54% 0,100% 0,66% 42%,100% 42%,18% 100%,40% 54%,0 54%);}

.home-real-weather-icon .flake {display: none; position: absolute; inset: auto 0 -6px; color: #a9d8f2; font-style: normal; font-size: 20px; text-align: center;}

.home-real-weather-icon.cloudy .sun {width: 20px; height: 20px; left: 6px; top: 7px; opacity: .92;}

.home-real-weather-icon:is(.cloudy, .overcast, .rain, .storm, .snow, .fog) .cloud-a {display: block;}

.home-real-weather-icon:is(.overcast, .rain, .storm, .snow, .fog) .sun {display: none;}

.home-real-weather-icon:is(.rain, .storm, .snow) .cloud-b {display: block;}

.home-real-weather-icon.rain .drop,
.home-real-weather-icon.storm .drop {display: block;}

.home-real-weather-icon.storm .bolt {display: block;}

.home-real-weather-icon.storm .drop-b {display: none;}

.home-real-weather-icon.snow .flake {display: block;}

.home-real-weather-icon.fog::after {content: ""; position: absolute; left: 6px; right: 2px; bottom: 0; height: 12px; border-top: 2px solid #dfe5ea; border-bottom: 2px solid #dfe5ea; opacity: .8;}

.home-real-weather-icon.small {width: 36px; height: 36px; transform: scale(.72); transform-origin: left center; margin-right: -9px;}

.home-real-weather-icon.large {width: 88px; height: 88px; transform: scale(1.35); transform-origin: center;}

.custom-home .home-weather-dashboard {color: #f7f7f7;
  background:
    radial-gradient(circle at 82% 22%, rgba(255,220,70,.09), transparent 25%),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(152deg, #070707 0%, #101010 55%, #020202 100%);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 22px 55px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  padding: clamp(18px, 5vw, 28px);}

.custom-home .home-weather-dashboard::before {content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(125deg, rgba(255,255,255,.075), transparent 24%, transparent 68%, rgba(255,255,255,.035));
  pointer-events: none;}

.home-weather-dash-location {position: absolute; left: 26px; top: 18px; color: rgba(255,255,255,.52); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;}

.home-weather-dash-clock {position: absolute; left: 27px; top: 50px; font-size: clamp(26px, 8vw, 42px); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums;}

.home-weather-dash-holidays {position: absolute; left: 28px; top: 118px; display: grid; gap: 12px;}

.home-weather-dash-holidays article {display: grid; grid-template-columns: 5px auto; column-gap: 10px; align-items: center; min-width: 116px;}

.home-weather-dash-holidays article i {grid-row: 1 / 3; width: 5px; height: 31px; border-radius: 5px; background: hsl(calc(58 - var(--holiday-index) * 29) 70% 66%); box-shadow: 0 0 12px color-mix(in srgb, hsl(calc(58 - var(--holiday-index) * 29) 70% 66%) 34%, transparent);}

.home-weather-dash-holidays article span {font-size: 12px; font-weight: 700;}

.home-weather-dash-holidays article b {font-size: 10px; font-weight: 500; color: rgba(255,255,255,.64); font-variant-numeric: tabular-nums;}

.home-weather-dash-current {position: absolute; right: 24px; top: 46px; width: 122px; min-height: 126px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: 82px auto auto; align-items: end; justify-items: end;}

.home-weather-dash-current .home-real-weather-icon {grid-column: 1 / 3; justify-self: center; align-self: center;}

.home-weather-dash-current > strong {font-size: 23px; line-height: 1;}

.home-weather-dash-current > span {align-self: center; margin-left: 7px; color: rgba(255,255,255,.62); font-size: 11px;}

.home-weather-dash-current > small {grid-column: 2; grid-row: 3; color: rgba(255,255,255,.64); font-size: 9px; line-height: 1.65;}

.home-weather-dash-date {position: absolute; right: 26px; top: 194px; font-size: clamp(13px, 3.7vw, 18px); font-weight: 650; letter-spacing: .02em;}

.home-weather-dash-large-time {position: absolute; left: 24px; right: 24px; bottom: 42px; text-align: center; font-size: clamp(72px, 25vw, 126px); line-height: .82; letter-spacing: -.075em; font-variant-numeric: tabular-nums;}

.home-weather-dash-status {position: absolute; left: 26px; right: 26px; bottom: 14px; color: rgba(255,255,255,.42); font-size: 9px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

.custom-home .home-weather-query-gray {padding: 18px 16px 14px;
  color: #292b2f;
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(244,246,248,.64));
  border: 1px solid rgba(255,255,255,.82);
  box-shadow: 0 18px 38px rgba(39,47,58,.12), inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);}

.custom-home .home-weather-query-gray::before {content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 12% 2%, rgba(255,255,255,.94), transparent 38%), linear-gradient(115deg, transparent 50%, rgba(180,188,198,.08));}

.home-weather-query-week {display: block; color: #a1a5aa; font-size: 13px; font-weight: 650; margin-bottom: 13px;}

.home-weather-query-line {display: flex; align-items: center; gap: 9px; margin-bottom: 13px;}

.home-weather-query-line i {width: 24px; height: 15px; position: relative;}

.home-weather-query-line i::before,
.home-weather-query-line i::after {content: ""; position: absolute; top: 0; width: 15px; height: 15px; border-radius: 50%; background: #e4e6e8;}

.home-weather-query-line i::after {left: 9px; background: #cfd2d5;}

.home-weather-query-line strong {font-size: 13px; letter-spacing: -.02em;}

.home-weather-query-gray > b {display: block; margin: 10px 0 7px; color: #9ca0a5; font-size: 9.5px; letter-spacing: .02em;}

.home-weather-query-temperature {height: 25px; padding: 0 7px; display: flex; align-items: center; gap: 5px; border-radius: 999px; background: rgba(229,231,233,.72); color: #bec2c6; font-size: 13px; font-weight: 650;}

.home-weather-query-temperature i {width: 13px; height: 13px; border: 2px solid #c7cbcf; border-radius: 50%;}

.home-weather-query-battery {display: flex; align-items: center; gap: 8px;}

.home-weather-query-battery i {width: 18px; height: 18px; border-radius: 50%; background: #e7e9eb;}

.home-weather-query-battery strong {font-size: 14px;}

.home-weather-query-gray > small {position: absolute; left: 16px; right: 16px; bottom: 9px; color: #a9adb1; font-size: 8.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.custom-home .home-weather-photo-square {padding: 14px;
  color: #f0b888;
  background: linear-gradient(155deg, #111211, #030403);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07);}

.home-weather-photo-square header {height: 22px; display: flex; align-items: center; gap: 7px;}

.home-weather-photo-square header strong {max-width: calc(100% - 28px); font-size: 13px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

.home-weather-pin {position: relative; width: 12px; height: 15px; border: 2px solid currentColor; border-radius: 8px 8px 9px 9px; transform: rotate(45deg);}

.home-weather-pin::after {content: ""; position: absolute; width: 3px; height: 3px; left: 2.5px; top: 2.5px; border: 1px solid currentColor; border-radius: 50%;}

.home-weather-photo-scene {position: absolute; left: 14px; right: 14px; top: 43px; height: 38%; min-height: 58px; border: 0; border-radius: 13px; overflow: hidden; background: radial-gradient(circle at 20% 30%, rgba(255,117,66,.76), transparent 12%), linear-gradient(180deg, #5e768c 0%, #d58862 46%, #242726 47%, #111 100%);}

.home-weather-photo-scene span {display: block; width: 100%; height: 100%; background-size: cover; background-position: center;}

.home-weather-photo-scene small {position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.72); font-size: 19px;}

.home-weather-photo-square footer {position: absolute; left: 14px; right: 14px; bottom: 11px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 4px;}

.home-weather-photo-square footer > span {display: grid; gap: 3px; align-content: end;}

.home-weather-photo-square footer > span:first-child {grid-template-columns: auto 1fr; align-items: center;}

.home-weather-photo-square footer b {font-size: 11px; font-weight: 600;}

.home-weather-photo-square footer strong {font-family: Georgia, serif; font-size: 26px; line-height: .9; font-weight: 500;}

.home-weather-photo-square footer > small {font-size: 8.5px; line-height: 1.65; white-space: nowrap;}

@media (max-width: 390px) {
.custom-home .home-weather-dashboard {padding: 16px;}
.home-weather-dash-clock {left: 20px; top: 43px;}
.home-weather-dash-holidays {left: 20px; top: 105px; gap: 9px;}
.home-weather-dash-current {right: 13px; top: 40px; transform: scale(.88); transform-origin: right top;}
.home-weather-dash-date {right: 18px; top: 176px;}
.home-weather-dash-large-time {left: 16px; right: 16px; bottom: 39px;}
.home-weather-query-gray {padding: 14px 12px 12px !important;}
.home-weather-query-week {margin-bottom: 8px;}
.home-weather-query-line {margin-bottom: 8px;}
.home-weather-query-gray > b {margin: 7px 0 5px;}
.home-weather-photo-square {padding: 11px !important;}
.home-weather-photo-scene {left: 11px; right: 11px; top: 38px;}
.home-weather-photo-square footer {left: 11px; right: 11px; bottom: 8px;}
}

.custom-home .home-layout-widget > .home-weather-dashboard {color: #f7f7f7 !important;
  background-color: #050505 !important;
  background-image:
    radial-gradient(circle at 82% 22%, rgba(255,220,70,.09), transparent 25%),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(152deg, #070707 0%, #101010 55%, #020202 100%) !important;
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

.custom-home .home-layout-widget > .home-weather-photo-square {color: #f0b888 !important;
  background-color: #050605 !important;
  background-image: linear-gradient(155deg, #111211, #030403) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 20px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

.custom-home .home-layout-widget > .home-weather-query-gray {color: #292b2f !important;
  background-color: rgba(247,248,250,.84) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.86), rgba(244,246,248,.64)) !important;
  border-color: rgba(255,255,255,.82) !important;
  box-shadow: 0 18px 38px rgba(39,47,58,.12), inset 0 1px 0 rgba(255,255,255,.94) !important;}

.custom-home .home-weather-photo-square .home-weather-photo-scene {z-index: 3;}

.home-weather-query-battery.charging i {box-shadow: inset 0 0 0 5px rgba(75,184,113,.4);}

.custom-home .home-layout-widget > .home-weather-dashboard[data-home-widget="weather-dashboard"]:not(.home-image-frame):not(.home-frame-2x2) {background-color: #050505 !important;
  background-image:
    radial-gradient(circle at 82% 22%, rgba(255,220,70,.09), transparent 25%),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(152deg, #070707 0%, #101010 55%, #020202 100%) !important;}

.custom-home .home-layout-widget > .home-weather-photo-square[data-home-widget="weather-photo-square"]:not(.home-image-frame):not(.home-frame-2x2) {background-color: #050605 !important;
  background-image: linear-gradient(155deg, #111211, #030403) !important;}

.custom-home .home-layout-widget > .home-weather-query-gray[data-home-widget="weather-query-gray"]:not(.home-image-frame):not(.home-frame-2x2) {background-color: rgba(247,248,250,.84) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.86), rgba(244,246,248,.64)) !important;}

.ying-home-head {display:grid;grid-template-columns:1fr auto;align-items:start;gap:16px;padding:18px 0 24px;border-bottom:1px solid var(--ying-ink)}

.custom-home .home-layout-app {overflow: visible !important;}

.custom-home .home-layout-app > .app-tile {height: 100% !important;
  min-height: 0 !important;
  justify-content: start !important;}

.custom-home .home-weather-dashboard {display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(108px, .72fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
  grid-template-areas:
    "location current"
    "clock current"
    "holidays current"
    "date date"
    "large-time large-time"
    "status status";
  column-gap: 18px;
  row-gap: 6px;
  padding: 18px 22px 14px !important;}

.custom-home .home-weather-dashboard > :is(
  .home-weather-dash-location,
  .home-weather-dash-clock,
  .home-weather-dash-holidays,
  .home-weather-dash-current,
  .home-weather-dash-date,
  .home-weather-dash-large-time,
  .home-weather-dash-status
) {position: static !important;
  inset: auto !important;
  min-width: 0;
  transform: none !important;}

.custom-home .home-weather-dash-location {grid-area: location;
  align-self: end;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-dash-clock {grid-area: clock;
  align-self: start;
  font-size: clamp(28px, 8.2vw, 42px);}

.custom-home .home-weather-dash-holidays {grid-area: holidays;
  align-self: center;
  gap: 6px;}

.custom-home .home-weather-dash-holidays article {min-width: 0;
  grid-template-columns: 5px minmax(0, 1fr);
  column-gap: 9px;}

.custom-home .home-weather-dash-holidays article i {height: 26px;}

.custom-home .home-weather-dash-holidays article :is(span, b) {min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-dash-current {grid-area: current;
  align-self: stretch;
  width: auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: minmax(64px, 1fr) auto auto;
  align-items: end;
  justify-items: end;
  column-gap: 5px;
  row-gap: 4px;}

.custom-home .home-weather-dash-current .home-real-weather-icon {grid-column: 1 / -1;
  grid-row: 1;
  align-self: center;
  justify-self: center;}

.custom-home .home-weather-dash-current .home-real-weather-icon.large {width: 72px;
  height: 72px;
  transform: scale(1.08) !important;}

.custom-home .home-weather-dash-current > strong {grid-column: 1;
  grid-row: 2;
  align-self: center;
  font-size: clamp(20px, 5.8vw, 27px);
  white-space: nowrap;}

.custom-home .home-weather-dash-current > span {grid-column: 2;
  grid-row: 2;
  align-self: center;
  max-width: 54px;
  margin: 0;
  overflow: hidden;
  font-size: 9px;
  line-height: 1.25;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.custom-home .home-weather-dash-current > small {grid-column: 1 / -1;
  grid-row: 3;
  justify-self: end;
  font-size: 8.5px;
  line-height: 1.5;
  text-align: right;}

.custom-home .home-weather-dash-date {grid-area: date;
  justify-self: end;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(12px, 3.6vw, 17px);}

.custom-home .home-weather-dash-large-time {grid-area: large-time;
  align-self: end;
  overflow: hidden;
  width: 100%;
  font-size: clamp(62px, 22vw, 106px);
  line-height: .82;
  white-space: nowrap;}

.custom-home .home-weather-dash-status {grid-area: status;
  align-self: end;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-gray {display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px;
  padding: 13px 14px 11px !important;}

.custom-home .home-weather-query-heading {min-width: 0;
  display: grid;
  gap: 4px;}

.custom-home .home-weather-query-week {min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.15;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-line {min-width: 0;
  margin: 0;
  gap: 7px;}

.custom-home .home-weather-query-line i {flex: 0 0 22px;
  width: 22px;
  height: 14px;}

.custom-home .home-weather-query-line i::before,
.custom-home .home-weather-query-line i::after {width: 14px;
  height: 14px;}

.custom-home .home-weather-query-line i::after {left: 8px;}

.custom-home .home-weather-query-line strong {min-width: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.15;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-metrics {min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-content: stretch;
  gap: 5px;}

.custom-home .home-weather-query-metric {min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(18px, auto);
  align-content: center;
  gap: 3px;}

.custom-home .home-weather-query-metric > b {min-width: 0;
  overflow: hidden;
  color: #9ca0a5;
  font-size: 8px;
  line-height: 1.05;
  letter-spacing: .015em;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-temperature {width: 100%;
  height: 22px;
  min-width: 0;
  padding: 0 7px;
  gap: 5px;}

.custom-home .home-weather-query-temperature i {flex: 0 0 12px;
  width: 12px;
  height: 12px;}

.custom-home .home-weather-query-temperature span {min-width: 0;
  overflow: hidden;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-battery {min-width: 0;
  min-height: 18px;
  gap: 7px;}

.custom-home .home-weather-query-battery i {flex: 0 0 16px;
  width: 16px;
  height: 16px;}

.custom-home .home-weather-query-battery strong {min-width: 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-query-gray > small {position: static !important;
  inset: auto !important;
  align-self: end;
  min-width: 0;
  overflow: hidden;
  font-size: 7.8px;
  line-height: 1.1;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-photo-square {display: grid !important;
  grid-template-rows: 19px minmax(52px, 1fr) auto;
  gap: 7px;
  padding: 12px !important;}

.custom-home .home-weather-photo-square header {min-width: 0;
  height: auto;
  gap: 7px;}

.custom-home .home-weather-photo-square header strong {min-width: 0;
  max-width: none;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.1;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-photo-square .home-weather-pin {flex: 0 0 11px;
  width: 11px;
  height: 13px;}

.custom-home .home-weather-photo-square .home-weather-photo-scene {position: relative !important;
  inset: auto !important;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;}

.custom-home .home-weather-photo-square .home-weather-photo-scene.has-image {background-color: #090a0b !important;
  background-image: none !important;}

.custom-home .home-weather-photo-square .home-weather-photo-scene > span {position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;}

.custom-home .home-weather-photo-square .home-weather-photo-scene > small {position: absolute;
  inset: 0;
  display: grid;
  place-items: center;}

.custom-home .home-weather-photo-square footer {position: static !important;
  inset: auto !important;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "condition range"
    "current range";
  align-items: end;
  column-gap: 6px;
  row-gap: 1px;}

.custom-home .home-weather-photo-condition {grid-area: condition;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: hidden;}

.custom-home .home-weather-photo-condition .home-real-weather-icon.small {flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: -5px -3px -5px -4px;
  transform: scale(.52) !important;
  transform-origin: center;}

.custom-home .home-weather-photo-condition b {min-width: 0;
  overflow: hidden;
  font-size: clamp(8px, 2.2vw, 9.5px);
  line-height: 1.15;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-photo-current {grid-area: current;
  min-width: 0;
  display: flex;
  align-items: end;
  gap: 5px;
  overflow: hidden;}

.custom-home .home-weather-photo-current b {min-width: 0;
  overflow: hidden;
  padding-bottom: 2px;
  font-size: 9px;
  line-height: 1.05;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;}

.custom-home .home-weather-photo-current strong {flex: 0 0 auto;
  font-family: Georgia, serif;
  font-size: clamp(23px, 6.8vw, 29px);
  line-height: .82;
  font-weight: 500;
  white-space: nowrap;}

.custom-home .home-weather-photo-square footer > .home-weather-photo-range {grid-area: range;
  align-self: end;
  font-size: 8px;
  line-height: 1.55;
  white-space: nowrap;}

@media (max-width: 390px) {
.custom-home .home-weather-dashboard {grid-template-columns: minmax(0, 1fr) minmax(98px, .68fr);
    column-gap: 12px;
    row-gap: 5px;
    padding: 15px 18px 12px !important;}
.custom-home .home-weather-dash-holidays {gap: 4px;}
.custom-home .home-weather-dash-holidays article i {height: 23px;}
.custom-home .home-weather-dash-current .home-real-weather-icon.large {width: 64px;
    height: 64px;
    transform: scale(.96) !important;}
.custom-home .home-weather-query-gray {gap: 4px;
    padding: 11px 12px 9px !important;}
.custom-home .home-weather-query-heading {gap: 2px;}
.custom-home .home-weather-query-metrics {gap: 3px;}
.custom-home .home-weather-query-metric {gap: 2px;}
.custom-home .home-weather-photo-square {grid-template-rows: 18px minmax(48px, 1fr) auto;
    gap: 6px;
    padding: 10px !important;}
.custom-home .home-weather-photo-square footer {column-gap: 4px;}
.custom-home .home-weather-photo-current {gap: 3px;}
}

/* Existing canonical module rules follow. */
/*
 * desktop feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.clock-hero {
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
}

.desktop-pages-viewport {
  min-height: 0;
  overflow: hidden;
}

.desktop-pages-track {
  display: flex;
  width: 100%;
  transform: translateX(calc(var(--desktop-page, 0) * -100%));
  transition: transform 0.28s ease;
}

.desktop-page {
  width: 100%;
  flex: 0 0 100%;
}

.home-widget-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.desktop-page-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.desktop-page-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.46);
}

.desktop-page-dot.active {
  width: 10px;
  height: 10px;
  background: #fff;
}

.home-screen {
  padding: calc(54px + var(--safe-top)) 18px calc(20px + var(--safe-bottom));
  flex-direction: column;
}

.home-screen.active {
  display: flex;
}

.desktop-label-preview-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--skin-border, rgba(90, 106, 130, 0.16));
  background:
    linear-gradient(135deg, rgba(255,255,255,.52), rgba(0,0,0,.05)),
    var(--wallpaper-image, var(--skin-home, #f3f5f8)) center / cover no-repeat;
}

.desktop-label-preview-row > span {
  color: var(--skin-muted, rgba(70, 82, 98, .62));
  font-size: 12px;
  font-weight: 800;
}

.desktop-label-preview {
  min-width: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .02em;
  text-shadow: 0 1px 8px rgba(0,0,0,.22);
}

.home-screen {
  padding: max(12px, env(safe-area-inset-top, 0px)) 18px calc(18px + var(--safe-bottom)) !important;
  flex-direction: column !important;
}

.home-widget-layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  min-height: 164px;
}

.home-widget-layout .notes-widget-tile {
  grid-column: auto !important;
  min-height: 164px;
  padding: 13px;
  border-radius: 22px;
}

.home-widget-layout,
.home-widget-layout .notes-widget-tile {
    min-height: 148px;
  }

.clock-hero {
  display: flex;
  flex-direction: column;
  padding: 14px 6px 22px;
}

.clock-hero .clock-greeting {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--skin-muted);
  margin-bottom: 2px;
}

.clock-hero .clock-time {
  font-size: 60px;
  font-weight: 300;
  line-height: 0.96;
  letter-spacing: -0.02em;
  color: var(--skin-text);
  font-variant-numeric: tabular-nums;
  font-family: "SF Pro Display", var(--app-font-family);
}

.clock-hero .clock-date {
  font-size: 14px;
  font-weight: 500;
  color: var(--skin-muted);
  margin-top: 7px;
}

.home-widget-layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 12px;
  margin-bottom: 4px;
}

.home-widget-layout .notes-widget-tile {
  min-height: 128px;
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid var(--skin-border);
  background: var(--surface);
  color: var(--skin-text);
  box-shadow: var(--skin-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.home-screen.active .clock-hero { animation: homeRise 0.5s ease both; }

.home-screen.active .widget.continue-card { animation: homeRise 0.5s ease 0.06s both; }

.home-screen.active .home-widget-layout { animation: homeRise 0.5s ease 0.12s both; }

.home-screen.active .app-tile { animation: homeRise 0.45s ease 0.18s both; }

.home-screen.active .dock { animation: homeRise 0.5s ease 0.24s both; }

.home-screen {
    padding-bottom: max(calc(18px + var(--safe-bottom)), 34px) !important;
  }

.clock-hero {
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: var(--skin-shadow-soft) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
}

.clock-hero {
  border-radius: 30px !important;
  padding: 22px 20px !important;
}

.home-screen {
  --desktop-page: 0;
}

.home-screen.desktop-apps-active .clock-hero,
.home-screen.desktop-apps-active .widget {
  display: none !important;
}

.desktop-pages-viewport {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  touch-action: pan-y;
}

.desktop-pages-track {
  height: 100%;
  display: flex;
  transform: translateX(calc(var(--desktop-page) * -100%));
  transition: transform 0.28s ease;
  will-change: transform;
}

.desktop-page {
  flex: 0 0 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}

.desktop-widgets-page {
  overflow-y: auto;
  padding: 0 0 4px;
  scrollbar-width: none;
}

.desktop-widgets-page::-webkit-scrollbar {
  display: none;
}

.desktop-widgets-page .home-widget-layout {
  margin-bottom: 0;
}

.desktop-apps-page {
  overflow-y: auto;
  padding: 4px 0 10px;
  scrollbar-width: none;
}

.desktop-apps-page::-webkit-scrollbar {
  display: none;
}

.desktop-page-dots {
  height: 18px;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.desktop-page-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-muted) 42%, transparent);
  transition: transform 0.2s ease, background 0.2s ease;
}

.desktop-page-dot.active {
  width: 7px;
  height: 7px;
  transform: scale(1.35);
  border-radius: 50%;
  background: var(--skin-accent-2);
}

.home-screen {
  padding-bottom: max(calc(18px + var(--safe-bottom)), var(--browser-bottom-reserve)) !important;
}

.clock-hero {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

body:not(.pwa-standalone) .home-screen {
  padding-bottom: max(18px, var(--browser-bottom-reserve)) !important;
}

.home-screen {
  color: var(--skin-text) !important;
}

.home-screen {
  background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;
}

.home-screen {
  gap: 10px !important;
  padding: calc(42px + var(--safe-top)) 14px calc(14px + var(--safe-bottom) + var(--browser-bottom-reserve)) !important;
}

.clock-hero {
  flex: 0 0 auto !important;
  min-height: 142px !important;
  border-radius: var(--skin-radius-xl) !important;
  padding: 20px !important;
}

.desktop-pages-viewport,
.desktop-pages-track,
.desktop-page {
  min-height: 0 !important;
  height: 100% !important;
}

.desktop-widgets-page,
.desktop-apps-page {
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

.desktop-widgets-page {
  padding: 0 0 6px !important;
}

.home-widget-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.78fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  padding: 0 2px 6px !important;
}

.desktop-apps-page {
  padding: 8px 0 10px !important;
}

.desktop-page-dots {
  flex: 0 0 18px !important;
  margin-top: 2px !important;
}

.desktop-page-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: color-mix(in srgb, var(--skin-muted) 42%, transparent) !important;
  transform: none !important;
}

.desktop-page-dot.active {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--skin-accent-2) !important;
  transform: scale(1.35) !important;
}

.clock-hero {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.home-screen {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

.clock-hero {
    min-height: 128px !important;
  }

.home-widget-layout {
    gap: 10px !important;
  }

.home-screen .widget.continue-card {
  display: none !important;
}

.desktop-pages-track {
  width: 100% !important;
  transform: translateX(calc(var(--desktop-page, 0) * -100%)) !important;
}

.desktop-page {
  flex: 0 0 100% !important;
  width: 100% !important;
}

.desktop-page-dot,
.desktop-page-dot.active {
  box-sizing: border-box !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  line-height: 0 !important;
}

.desktop-page-dot.active {
  transform: scale(1.35) !important;
}

.home-screen.active {
  display: flex !important;
}

body:not(.pwa-standalone) .home-screen {
  padding-bottom: calc(12px + var(--safe-bottom) + var(--browser-bottom-reserve)) !important;
}

.home-screen {
  padding-bottom: calc(12px + var(--safe-bottom) + var(--browser-bottom-reserve)) !important;
}

.clock-hero {
  background: var(--home-widget-bg) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
}

.desktop-page-dots {
  align-items: center !important;
}

.desktop-page-dots > button.desktop-page-dot,
.desktop-page-dots > button.desktop-page-dot[aria-current="false"] {
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 0 8px !important;
  align-self: center !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  line-height: 0 !important;
  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.desktop-page-dots > button.desktop-page-dot.active,
.desktop-page-dots > button.desktop-page-dot[aria-current="page"] {
  flex-basis: 10px !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  max-width: 10px !important;
  max-height: 10px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  transform: none !important;
}

.home-widget-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: 0 2px 6px !important;
  box-sizing: border-box !important;
}

.home-widget-layout .reminder-widget,
.home-widget-layout .notes-widget-tile,
.home-widget-layout .auto-status-panel.home-photo-frame-large {
  grid-column: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 136px !important;
  box-sizing: border-box !important;
}

.home-widget-layout {
    gap: 8px !important;
  }

.home-widget-layout .reminder-widget,
.home-widget-layout .notes-widget-tile,
.home-widget-layout .auto-status-panel.home-photo-frame-large {
    min-height: 126px !important;
    padding: 12px !important;
  }

:root[data-ui-mode="dark"] .home-screen .app-tile small,
:root[data-ui-mode="dark"] .home-screen .dock-icon small,
:root[data-ui-mode="dark"] .home-screen .apps-page-grid .app-tile small {
  color: var(--desktop-app-text-color, var(--dock-text, var(--home-font-color))) !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 800 !important;
  text-shadow:
    0 1px 1px color-mix(in srgb, var(--desktop-app-text-shadow-color, #000) 44%, transparent),
    0 2px 10px color-mix(in srgb, var(--desktop-app-text-shadow-color, #000) 28%, transparent) !important;
}

:root[data-ui-mode="light"] .home-screen .app-tile small,
:root[data-ui-mode="light"] .home-screen .dock-icon small,
:root[data-ui-mode="light"] .home-screen .apps-page-grid .app-tile small {
  color: var(--desktop-app-text-color, var(--dock-text, var(--home-font-color))) !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 800 !important;
  text-shadow:
    0 1px 1px color-mix(in srgb, var(--desktop-app-text-shadow-color, #fff) 44%, transparent),
    0 2px 10px color-mix(in srgb, var(--desktop-app-text-shadow-color, #fff) 28%, transparent) !important;
}

.custom-home .desktop-pages-viewport {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  touch-action: pan-y;
}

.custom-home .desktop-pages-track {
  height: 100%;
  display: flex;
  transform: translateX(calc(var(--desktop-page, 0) * -100%));
  transition: transform 0.28s ease;
  will-change: transform;
}

.custom-home .desktop-page {
  flex: 0 0 100%;
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: none;
}

.custom-home .desktop-page::-webkit-scrollbar { display: none; }

.custom-home .desktop-page-dots {
  height: 20px;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 4px;
}

.custom-home .desktop-page-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-muted) 42%, transparent);
  transition: transform 0.2s ease, background 0.2s ease;
}

.custom-home .desktop-page-dot.active {
  transform: scale(1.4);
  background: var(--skin-accent-2, var(--skin-accent));
}

.home-screen.active .home-image-frame { animation: homeRise 0.5s ease both; }

.home-screen.active .home-clock-widget { animation: homeRise 0.5s ease 0.08s both; }

.home-screen.active .home-page1-apps { animation: homeRise 0.5s ease 0.16s both; }

body.theme-apple .home-screen {
  color: var(--skin-text) !important;
  background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;
}

body.theme-apple .clock-hero {
  color: rgba(48, 52, 58, 0.76) !important;
  text-shadow: none !important;
}

body.theme-apple .desktop-page-dot {
  background: rgba(87, 96, 110, 0.24) !important;
}

body.theme-apple .desktop-page-dot.active {
  background: rgba(87, 96, 110, 0.54) !important;
}

html[data-ui-mode="dark"] body.theme-apple .clock-hero {
  color: rgba(232, 236, 244, 0.72) !important;
  text-shadow: none !important;
}

html[data-ui-mode="dark"] body.theme-apple .desktop-page-dot {
  background: rgba(232, 236, 244, 0.22) !important;
}

html[data-ui-mode="dark"] body.theme-apple .desktop-page-dot.active {
  background: rgba(232, 236, 244, 0.50) !important;
}

.home-screen,
.home-screen .status-bar,
.home-screen .app-tile,
.home-screen .app-icon,
.home-screen .app-tile small,
.home-screen .dock-icon small,
.home-screen .apps-page-grid .app-tile small,
.home-screen .home-gallery-title,
.home-screen .home-gallery-widget,
.home-screen .home-cal-widget,
.home-screen .home-cal-widget *,
.home-screen .home-image-frame-hint,
.home-screen .home-frame-2x2-hint,
.home-screen .desktop-page-dot-label,
body.theme-apple .home-screen .app-tile small,
body.theme-apple .home-screen .dock-icon small,
body.theme-apple .home-screen .widget-label,
html[data-ui-mode="dark"] body.theme-apple .home-screen .app-tile small,
html[data-ui-mode="dark"] body.theme-apple .home-screen .dock-icon small,
html[data-ui-mode="dark"] body.theme-apple .home-screen .widget-label {
  color: var(--app-font-color) !important;
}

.home-screen .app-tile small,
.home-screen .dock-icon small,
.home-screen .apps-page-grid .app-tile small {
  text-shadow: 0 1px 8px color-mix(in srgb, var(--app-font-color) 24%, transparent) !important;
}

.home-screen .home-clock-widget,
.home-screen .home-clock-widget .clock-greeting,
.home-screen .home-clock-widget .clock-date,
.home-screen .home-clock-widget .clock-time,
.home-screen .home-status-card,
.home-screen .notes-widget-tile,
.home-screen .auto-status-panel {
  color: var(--widget-text-color) !important;
}

.home-screen .home-clock-widget .clock-greeting,
.home-screen .home-clock-widget .clock-date,
.home-screen .home-status-card small,
.home-screen .auto-status-panel span,
.home-screen .notes-widget-preview p {
  color: color-mix(in srgb, var(--widget-text-color) 72%, transparent) !important;
}

body.theme-apple .home-screen {
  background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;
}

.home-screen,
.home-screen :where(.status-bar, .clock-greeting, .clock-date, .app-tile, .app-icon, .app-tile small, .dock-icon small, .apps-page-grid .app-tile small, .home-gallery-title, .home-cal-month, .home-cal-year, .home-cal-wk, .home-cal-num, .home-image-frame-hint, .home-gallery-slot-hint, .home-frame-2x2-hint, .desktop-page-dot-label),
body.theme-apple .home-screen :where(.status-bar, .clock-greeting, .clock-date, .app-tile, .app-icon, .app-tile small, .dock-icon small, .apps-page-grid .app-tile small, .home-gallery-title, .home-cal-month, .home-cal-year, .home-cal-wk, .home-cal-num, .home-image-frame-hint, .home-gallery-slot-hint, .home-frame-2x2-hint, .desktop-page-dot-label),
html[data-ui-mode="dark"] body.theme-apple .home-screen :where(.status-bar, .clock-greeting, .clock-date, .app-tile, .app-icon, .app-tile small, .dock-icon small, .apps-page-grid .app-tile small, .home-gallery-title, .home-cal-month, .home-cal-year, .home-cal-wk, .home-cal-num, .home-image-frame-hint, .home-gallery-slot-hint, .home-frame-2x2-hint, .desktop-page-dot-label) {
  color: var(--home-font-color) !important;
  -webkit-text-fill-color: currentColor !important;
}

.home-screen :where(.clock-time) {
  color: color-mix(in srgb, var(--home-font-color) 86%, transparent) !important;
  -webkit-text-fill-color: currentColor !important;
}

.home-screen .dock-icon small,
.home-screen .app-tile small {
  color: var(--dock-text) !important;
  text-shadow: 0 1px 8px color-mix(in srgb, var(--home-font-color) 24%, transparent) !important;
}

.home-screen .app-tile small,
.home-screen .dock-icon small,
.home-screen .apps-page-grid .app-tile small,
:root[data-ui-mode="light"] .home-screen .app-tile small,
:root[data-ui-mode="light"] .home-screen .dock-icon small,
:root[data-ui-mode="light"] .home-screen .apps-page-grid .app-tile small,
:root[data-ui-mode="dark"] .home-screen .app-tile small,
:root[data-ui-mode="dark"] .home-screen .dock-icon small,
:root[data-ui-mode="dark"] .home-screen .apps-page-grid .app-tile small,
body.theme-apple .home-screen .app-tile small,
body.theme-apple .home-screen .dock-icon small,
html[data-ui-mode="dark"] body.theme-apple .home-screen .app-tile small,
html[data-ui-mode="dark"] body.theme-apple .home-screen .dock-icon small {
  color: var(--desktop-app-text-color, var(--dock-text, var(--home-font-color))) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow:
    0 1px 1px color-mix(in srgb, var(--desktop-app-text-shadow-color, #000) 44%, transparent),
    0 2px 10px color-mix(in srgb, var(--desktop-app-text-shadow-color, #000) 28%, transparent) !important;
}

html[data-ui-mode="light"] body.theme-aurora :where(.device-shell, .app-screen, .home-screen, .phone-frame) {
  background: var(--skin-home) !important;
  color: var(--skin-text) !important;
}

.home-screen.home-editing .home-content.custom-home {
  padding-top: calc(58px + var(--safe-top)) !important;
}

.home-screen.home-editing .desktop-pages-track {
  transition-duration: 0.18s;
}

.home-screen.home-editing :is(.app-tile, .dock-icon) {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.home-screen :is([data-home-app-id], [data-home-widget]) { -webkit-touch-callout: none; }

.home-screen.home-editing [data-home-app-id] .icon-face {
  animation: homeIconWiggle 0.24s ease-in-out infinite;
  transform-origin: 50% 58%;
}

.home-screen.home-editing [data-home-app-id]:nth-child(even) .icon-face {
  animation-delay: -0.12s;
}

.home-screen.home-editing :is([data-home-widget], .dock) {
  outline: 1px solid color-mix(in srgb, var(--skin-accent) 24%, transparent);
  outline-offset: 2px;
}

.home-widget-remove {
  display: none;
}

.home-screen.home-editing .home-widget-remove {
  position: absolute;
  z-index: 12;
  top: 8px;
  left: 8px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 50%;
  color: #ffffff;
  background: rgba(55, 61, 69, 0.78);
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.22);
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

.home-screen.home-editing :is(.home-clock-widget, .home-gallery-widget, .home-calendar-widget, .life-home-grid) {
  position: relative;
}

.home-widget-library-overlay {
  position: fixed;
  z-index: 10040;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 12px;
  background: rgba(8, 10, 14, 0.42);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.home-widget-library {
  width: min(520px, 100%);
  max-height: min(72dvh, 640px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--skin-border);
  border-radius: 8px;
  color: var(--skin-text);
  background: var(--surface-strong);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.30);
}

.home-widget-library > header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 76px;
  align-items: center;
  min-height: 48px;
  padding: 4px 8px;
  border-bottom: 1px solid var(--skin-border);
}

.home-widget-library > header strong {
  text-align: center;
  font-size: 15px;
}

.home-widget-library > header span {
  color: var(--skin-muted);
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}

.home-widget-library > header button {
  min-height: 34px;
  border: 0;
  color: var(--skin-accent);
  background: transparent;
  font: inherit;
  font-weight: 800;
}

.home-widget-library-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 9px;
  overflow-y: auto;
  padding: 12px 12px calc(18px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;
}

.home-widget-choice {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 3px 9px;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 8px;
  color: var(--skin-text);
  background: var(--surface);
  text-align: left;
}

.home-widget-choice > span {
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--skin-accent);
  background: var(--skin-button);
  font-size: 17px;
  font-weight: 900;
}

.home-widget-choice strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}

.home-widget-choice small {
  color: var(--skin-muted);
  font-size: 11px;
}

.home-widget-choice.added {
  opacity: 0.52;
}

.home-widget-library-grid { grid-template-columns: 1fr; }

.home-widget-reset {
  display: none;
}

.home-screen.home-editing .home-widget-reset {
  position: absolute;
  z-index: 12;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 30%, transparent);
  border-radius: 50%;
  color: var(--skin-accent);
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent);
  box-shadow: 0 5px 14px color-mix(in srgb, #000 14%, transparent);
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.custom-home .desktop-flex-page {
  height: 100%;
  padding: 6px 4px 18px;
  box-sizing: border-box;
  overflow: hidden !important;
}

.home-screen.home-editing .home-layout-item {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.home-screen.home-editing .home-layout-widget > [data-home-widget] {
  outline: 1px solid color-mix(in srgb, var(--skin-accent) 34%, transparent);
  outline-offset: 2px;
}

.home-screen.home-editing .home-layout-widget:nth-child(even) {
  animation: homeWidgetWiggle .28s ease-in-out infinite alternate;
}

.home-screen.home-editing .home-layout-widget:nth-child(odd) {
  animation: homeWidgetWiggle .28s -.14s ease-in-out infinite alternate-reverse;
}

.home-icon-drag-ghost .home-widget-remove,
.home-icon-drag-ghost .home-widget-reset {
  display: none !important;
}

.home-widget-choice small {
  display: flex;
  align-items: center;
  gap: 6px;
}

.home-widget-choice small b {
  flex: 0 0 auto;
  padding: 2px 5px;
  border-radius: 5px;
  color: var(--skin-accent);
  background: var(--skin-button);
  font-size: 9px;
}

.home-screen.home-editing .home-editable-widget-text {
  border-bottom: 1px dashed color-mix(in srgb, var(--skin-accent) 62%, transparent);
  cursor: text;
  -webkit-user-select: text;
  user-select: text;
}

.home-screen.home-editing .home-editable-widget-text::after {
  content: "";
  display: inline-block;
  width: 4px;
}

.custom-home .desktop-pages-viewport {
  touch-action: pan-y;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.custom-home .desktop-pages-track {
  transform: translateX(var(--desktop-offset, 0%)) !important;
  transition: transform .26s ease !important;
  backface-visibility: hidden;
  contain: none;
}

.home-screen.desktop-page-dragging .desktop-pages-track {
  transition: none !important;
}

.home-screen.home-editing .home-layout-widget.home-flip-animating {
  animation: none !important;
}

.home-screen.home-editing .home-layout-widget:nth-child(even):not(.home-flip-animating) {
  animation: homeWidgetWiggle 0.35s ease-in-out infinite alternate;
}

.home-screen.home-editing .home-layout-widget:nth-child(odd):not(.home-flip-animating) {
  animation: homeWidgetWiggle 0.32s ease-in-out infinite alternate-reverse;
}

.home-widget-library-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10040 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
  background: rgba(10,14,24,.28) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

.home-widget-library {
  width: min(620px, 100%) !important;
  max-height: min(72dvh, 660px) !important;
  transform: translateY(0) !important;
  border: 0 !important;
  border-radius: 30px 30px 0 0 !important;
  background: rgba(250,252,255,.86) !important;
  backdrop-filter: blur(26px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.4) !important;
  box-shadow: 0 -20px 60px rgba(0,0,0,.18), inset 0 1px 1px rgba(255,255,255,.55) !important;
  color: var(--skin-text, #122033) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  overflow: hidden !important;
  padding: 14px 14px max(24px, env(safe-area-inset-bottom)) !important;
}

html[data-ui-mode="dark"] .home-widget-library { background: rgba(25,29,41,.88) !important; }

.home-widget-library > header {
  min-height: 56px !important;
  padding: 4px 4px 12px !important;
  border: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.home-widget-library > header strong {
  text-align: left !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.home-widget-library > header span { display: none !important; }

.home-widget-library > header button,
.home-widget-sheet-close {
  min-width: 64px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--skin-text, #122033) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08), inset 0 1px 1px rgba(255,255,255,.65) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

html[data-ui-mode="dark"] .home-widget-library > header button,
html[data-ui-mode="dark"] .home-widget-sheet-close { background: rgba(255,255,255,.16) !important; color: var(--skin-text, #f7f8fb) !important; }

.home-widget-library-grid {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 12px !important;
  overflow-y: auto !important;
  padding: 0 0 8px !important;
  -webkit-overflow-scrolling: touch !important;
}

.home-widget-card,
.home-widget-choice {
  min-width: 0 !important;
  min-height: 108px !important;
  border: 0 !important;
  border-radius: 20px !important;
  padding: 14px !important;
  background: rgba(255,255,255,.40) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.45) !important;
  color: var(--skin-text, #122033) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: minmax(0,1fr) auto !important;
  gap: 8px !important;
  text-align: left !important;
}

html[data-ui-mode="dark"] .home-widget-card,
html[data-ui-mode="dark"] .home-widget-choice { background: rgba(255,255,255,.12) !important; }

.home-widget-card b,
.home-widget-choice strong { font-size: 15px !important; line-height: 1.25 !important; font-weight: 900 !important; }

.home-widget-card span,
.home-widget-choice small { color: color-mix(in srgb, var(--skin-text, #122033) 58%, transparent) !important; font-size: 12px !important; line-height: 1.35 !important; font-weight: 800 !important; }

.home-widget-card button,
.home-widget-choice[data-home-widget-add] {
  justify-self: start !important;
  width: auto !important;
  min-width: 70px !important;
  height: 32px !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.62) !important;
  color: var(--skin-text, #122033) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.55) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.home-widget-card button:disabled,
.home-widget-card.added,
.home-widget-choice.added { opacity: .52 !important; }

.home-widget-library-grid { grid-template-columns: 1fr !important; }

html[data-ui-mode="dark"] body.theme-apple .home-screen {
  background: var(--wallpaper-image, var(--skin-home)) center / cover no-repeat !important;
}

.home-screen {
  background-clip: border-box !important;
}

.home-screen {
    padding-bottom: calc(18px + var(--safe-bottom)) !important;
  }

html.android-pwa-standalone .home-screen { padding-bottom: calc(18px + var(--safe-bottom)) !important; }

.custom-home :is(.home-weather-small, .home-weather-calendar) :is(.home-widget-remove, .home-widget-reset, [data-home-widget-photo]) { z-index: 4; }

.custom-home .home-weather-photo-square :is(.home-widget-remove, .home-widget-reset) { z-index: 5; }

html.android-pwa-standalone :is(.device-shell, .phone, .screen, .home-screen, .app-screen) {
  width: 100vw !important;
  background-color: var(--phone-bg, #1f1f22);
}

.home-screen {
  --home-shared-icon-size: var(--icon-size, 50px);
}

.home-screen .app-tile {
  min-height: calc(var(--home-shared-icon-size) + 22px) !important;
  gap: 4px !important;
  align-content: start !important;
  overflow: visible !important;
}

.home-screen .app-tile .icon-face,
.home-screen .dock .dock-icon .icon-face {
  width: var(--home-shared-icon-size) !important;
  height: var(--home-shared-icon-size) !important;
  flex-basis: var(--home-shared-icon-size) !important;
}

.home-screen .app-tile small,
.home-screen .apps-page-grid .app-tile small {
  display: block !important;
  min-height: 14px !important;
  margin: 0 !important;
  line-height: 14px !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 2 !important;
}

.home-screen .apps-page-grid {
  grid-auto-rows: minmax(calc(var(--home-shared-icon-size) + 22px), auto) !important;
  row-gap: 16px !important;
}

@keyframes homeWidgetWiggle {
  from { transform: rotate(-.35deg); }
  to { transform: rotate(.35deg); }
}

@keyframes homeWidgetWiggle {
  from { transform: rotate(-0.5deg) scale(0.995); }
  to { transform: rotate(0.5deg) scale(1.005); }
}

/*# source: assets/css/features/wechat.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.group-private-card {width: min(310px, 100%);
  display: grid;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #9f7f8d) 16%, var(--skin-border, #dce3e8));
  border-radius: 16px;
  padding: 12px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, var(--skin-accent, #9f7f8d) 8%);
  color: var(--skin-text, #26313b);
  box-shadow: 0 8px 22px rgba(28, 42, 56, .06);}

.group-private-card {width: calc(100% - 28px);
  margin: 8px 14px;
  justify-self: center;}

.group-private-card > button {width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--skin-text, #26313b);
  font-weight: 900;}

.group-private-card > button strong {color: #4d6d91;
  font-size: 12px;}

.group-private-card-body {display: grid;
  gap: 7px;
  border-top: 1px solid var(--skin-border, rgba(0,0,0,.08));
  padding-top: 9px;}

.group-private-card-body small {color: var(--skin-muted, #72808c);
  font-size: 10px;}

.group-private-card-message {display: grid;
  gap: 0;
  overflow: hidden;
  border-radius: 12px;
  background: var(--phone-bg, #f8fafb);}

.group-private-card-body p {margin: 0;
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;}

.group-private-card-body b {color: var(--skin-muted, #72808c);
  font-size: 10px;}

.group-private-card-body .group-private-card-translation {display: block;
  margin: 0 10px 8px;
  padding-top: 7px;
  border-top: 1px solid var(--skin-border, rgba(0,0,0,.08));
  color: var(--skin-muted, #72808c);
  font-size: 11px;
  line-height: 1.5;}

.chat-header span {display: block;
  color: inherit;
  opacity: 0.78;
  font-size: 13px;}

.chat-gradient {background: linear-gradient(145deg, #31d47b, #0a9cff);}

.chat-layout {height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0;
  --chat-bubble-user: color-mix(in srgb, var(--skin-accent, #07c160) 18%, var(--surface-strong, #ffffff));
  --chat-bubble-assistant: var(--surface-strong, #ffffff);
  --chat-bubble-text: var(--skin-text, #1b1d22);
  background-color: var(--phone-bg, #ededed);
  background-position: center;
  background-size: cover;}

.streaming-bubble {white-space: pre-wrap;}

.streaming-bubble > span {white-space: pre-wrap;}

.group-editor-page {min-height: 100%; padding-bottom: 28px;}

.group-editor-form {display: grid; gap: 12px; padding: 12px;}

.group-editor-form input[type="text"],
.group-editor-form input:not([type]),
.group-editor-form textarea,
.group-editor-form select {width: 100%; box-sizing: border-box; border: 1px solid var(--skin-border, #d9e1e7); border-radius: 7px; padding: 10px 11px; background: var(--phone-bg, #fff); color: var(--skin-text, #202a34); font: inherit;}

.group-section-title {display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px;}

.group-section-title small {color: var(--skin-muted, #7a8791);}

.group-inline-check {display: flex; align-items: center; gap: 8px; min-height: 36px;}

.group-nickname-list {display: grid; gap: 8px;}

.group-advanced-settings summary {cursor: pointer; color: var(--skin-text, #202a34); font-weight: 900;}

.group-advanced-settings label {margin-top: 10px;}

.group-manage-row {grid-template-columns: 46px minmax(0, 1fr) auto;}

.group-manage-actions {display: flex !important; align-items: center; justify-content: flex-end; gap: 5px;}

.group-manage-actions button {min-height: 30px;
  border: 0;
  border-radius: 10px;
  padding: 0 9px;
  background: var(--skin-soft, #edf3f8);
  color: var(--skin-text, #23303d);
  font-size: 11px;
  font-weight: 900;}

.group-manage-actions button:last-child {color: #b33a32;
  background: rgba(190, 54, 45, .1);}

.group-presence-badge {display: inline-flex;
  align-items: center;
  margin-left: 4px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(45, 178, 125, .14);
  color: #2d8f68;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  vertical-align: 1px;}

.group-presence-badge.status-idle {background: rgba(120, 130, 146, .14); color: #697482;}

.group-presence-badge.status-busy {background: rgba(232, 157, 55, .16); color: #a86a1f;}

.group-presence-badge.status-sleep,
.group-presence-badge.status-offline {background: rgba(143, 151, 161, .16); color: #8a939d;}

.group-nickname-list label {grid-template-columns: minmax(80px, auto) minmax(0, 1fr) !important; align-items: center;}

.group-nickname-list input {min-width: 0;}

.group-save-button,
.group-delete-button {min-height: 44px;}

.group-empty {padding: 48px 28px; text-align: center; color: var(--skin-muted, #77838d);}

.group-empty strong {display: block; color: var(--skin-text, #27323b); margin-bottom: 6px;}

.group-system-message {width: fit-content; max-width: 82%; margin: 9px auto; padding: 5px 9px; border-radius: 5px; background: color-mix(in srgb, var(--skin-muted, #788690) 14%, transparent); color: var(--skin-muted, #6f7d87); font-size: 10px; text-align: center;}

.group-mode-strip {display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 3px 6px; color: var(--skin-muted, #74808a); font-size: 9px;}

.group-mode-strip span {min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

.group-mode-strip button {flex: 0 0 auto; border: 0; background: transparent; color: #4d7f72; font-size: 10px;}

.group-observe-button {min-height: 36px; border: 0; border-radius: 7px; padding: 0 15px; background: #4f927b; color: #fff; font-weight: 600;}

.message-avatar-mind {display: inline-grid; flex: 0 0 auto; border: 0; padding: 0; background: transparent;}

.message-avatar-mind .avatar {margin: 0;}

.npc-group-avatar {display: inline-grid; place-items: center; background: #dfe9e5; color: #426b5e; font-weight: 800;}

.group-observe-button {width: 100%;}

.chat-layout.bubble-glass {--chat-bubble-user: rgba(149, 236, 105, 0.58);
  --chat-bubble-assistant: rgba(255, 255, 255, 0.56);
  --chat-bubble-text: #111318;}

.chat-header {border: 1px solid rgba(20, 23, 30, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 26px rgba(26, 31, 45, 0.08);}

.chat-header {display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;}

.chat-header > div {min-width: 0;
  flex: 1;}

.chat-settings-button {min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  color: #0a84ff;
  background: #eef1f6;
  font-weight: 800;}

.messages {min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 12px 10px;}

.messages.multi-selecting {padding-bottom: calc(180px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(180px + var(--safe-bottom));}

.message-bottom-spacer {height: calc(150px + var(--safe-bottom));
  flex: 0 0 auto;}

.message-row {display: flex;
  align-items: flex-start;
  gap: 6px;}

#messages [data-message-menu] {-webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;}

.message-row.user {justify-content: flex-end;}

.message-stack {max-width: 84%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;}

.message-stack.user {align-items: flex-end;}

.message-avatar {width: 36px;
  border-radius: 8px;}

.message-avatar-wrap {width: 36px;
  flex: 0 0 36px;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 2px;}

.message-avatar-wrap.user {order: 2;}

.message-avatar-time {width: 100%;
  color: rgba(17, 19, 24, 0.42);
  font-size: 8px;
  line-height: 1.08;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;}

.bubble {max-width: 100%;
  padding: 8px 10px;
  border-radius: 14px;
  line-height: 1.42;
  white-space: pre-wrap;
  word-break: break-word;
  text-align: left;}

.message-time-divider {align-self: center;
  margin: 2px auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(17, 19, 24, 0.08);
  font-size: 11px;
  color: rgba(17, 19, 24, 0.42);}

.chat-list-time {margin-left: auto;
  align-self: flex-start;
  white-space: nowrap;
  font-size: 11px;
  font-style: normal;
  color: rgba(17, 19, 24, 0.42);}

.bubble.assistant {color: var(--chat-bubble-text);
  background: var(--chat-bubble-assistant);
  border-radius: 6px;}

.bubble.user {color: var(--chat-bubble-text);
  background: var(--chat-bubble-user);
  border-radius: 6px;}

.transfer-card {width: min(220px, 72vw);
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #f0a13a, #d06b2c);
  text-align: left;
  box-shadow: 0 10px 24px rgba(120, 65, 20, 0.18);}

.transfer-card span {font-size: 13px;
  opacity: 0.9;}

.transfer-card strong {font-size: 28px;
  line-height: 1.1;}

.transfer-card small {color: rgba(255, 255, 255, 0.78);}

.location-card {width: min(238px, 72vw);
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 14px;
  text-align: left;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
  border: 1px solid var(--skin-border);
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);}

.location-card span {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.location-card strong {font-size: 16px;
  line-height: 1.35;}

.location-card small {color: var(--skin-muted);
  line-height: 1.45;}

.location-card {border-left: 4px solid #2f9bff;}

.forwarded-chat-card {width: min(252px, 74vw);
  display: grid;
  gap: 7px;
  padding: 13px;
  border-radius: 14px;
  text-align: left;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 94%, transparent);
  border: 1px solid var(--skin-border);
  border-left: 4px solid #b37a35;
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);}

.forwarded-chat-card span {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.forwarded-chat-card strong {font-size: 16px;
  line-height: 1.35;}

.forwarded-chat-scroll {max-height: min(34vh, 180px);
  overflow-y: auto;
  display: grid;
  gap: 7px;
  padding-right: 3px;
  -webkit-overflow-scrolling: touch;}

.forwarded-chat-scroll p {margin: 0;
  padding-bottom: 6px;
  border-bottom: 1px solid color-mix(in srgb, var(--skin-border) 70%, transparent);}

.forwarded-chat-scroll p:last-child {border-bottom: 0;
  padding-bottom: 0;}

.forwarded-chat-scroll b {display: block;
  margin-bottom: 2px;
  color: var(--skin-text);
  font-size: 12px;}

.forwarded-chat-scroll em {display: block;
  color: var(--skin-muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;}

.chat-image-card {width: min(220px, 68vw);
  display: grid;
  gap: 6px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.56);
  text-align: left;
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);}

.chat-image-card img {width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  background: rgba(17, 19, 24, 0.08);}

.chat-image-card small {color: rgba(17, 19, 24, 0.58);
  font-size: 12px;
  line-height: 1.35;}

.chat-image-card.sticker-message-card {width: min(156px, 46vw);
  padding: 4px;
  background: transparent;
  border-color: transparent;
  box-shadow: none;}

.chat-image-card.sticker-message-card img {aspect-ratio: auto;
  max-height: 154px;
  object-fit: contain;
  background: transparent;}

.chat-layout.bubble-glass .bubble {border: 1px solid rgba(255, 255, 255, 0.36);
  box-shadow: 0 10px 28px rgba(20, 24, 30, 0.12);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);}

.bubble.error {align-self: center;
  max-width: 96%;
  color: #7c1d1d;
  background: #ffe6e6;}

#chatName {cursor: pointer;}

.message-row.selecting {align-items: center;}

.message-select-box {width: 26px;
  height: 26px;
  flex: 0 0 26px;
  align-self: center;
  border: 1.5px solid var(--skin-muted);
  border-radius: 50%;
  color: var(--phone-bg);
  background: transparent;
  font-size: 13px;
  font-weight: 900;}

.message-select-box.checked {border-color: var(--skin-accent);
  background: var(--skin-accent);}

.chat-world-preview details {width: 100%;}

.chat-world-preview summary {cursor: pointer;
  font-weight: 900;}

.chat-world-hit {margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(126, 103, 68, 0.14);}

.chat-world-hit strong,
.chat-world-hit span,
.chat-world-hit p {display: block;
  margin: 0;}

.chat-world-hit span {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;}

.chat-world-hit p {display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}

.contact-tabs {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.contact-tab {min-height: 42px;
  border-radius: 16px;
  color: #5b6470;
  background: rgba(255, 255, 255, 0.82);
  font-weight: 800;}

.contact-tab.active {color: #fff;
  background: #0a84ff;}

.moment-char-panel {position: absolute;
  top: 58px;
  right: 14px;
  z-index: 5;
  display: grid;
  gap: 12px;
  width: min(310px, calc(100% - 28px));
  max-height: 360px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 40px rgba(16, 20, 28, 0.18);
  color: #20242d;}

.moment-char-panel[hidden] {display: none;}

.moment-char-panel > strong {font-size: 15px;}

.moment-char-list {display: grid;
  gap: 8px;
  max-height: 210px;
  overflow: auto;}

.moment-char-list label {display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #f4f6fa;
  color: #273043;
  font-weight: 800;}

.moment-char-list input {width: 18px;
  height: 18px;
  accent-color: #18bf72;}

.moment-char-actions {display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;}

.moment-char-actions button {min-height: 36px;
  border-radius: 12px;
  background: #edf1f6;
  color: #263040;
  font-weight: 900;}

.moment-char-actions button:last-child {background: #16bf72;
  color: #fff;}

.moment-item {display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  padding: 18px 14px;
  border-bottom: 1px solid #edf0f4;
  color: #17181c;}

.moment-avatar {width: 46px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(145deg, #1f7edb, #24b879);
  font-weight: 900;}

.moment-avatar.user {background: linear-gradient(145deg, #ff9eb8, #83d3d6);}

.moment-content strong {color: #52668a;}

.moment-content p {margin: 6px 0 10px;
  color: #17181c;
  line-height: 1.45;}

.moment-photo-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  max-width: 240px;}

.moment-photo-grid.single {grid-template-columns: 1fr;
  max-width: 210px;}

.moment-photo {aspect-ratio: 1;
  border-radius: 3px;
  background-size: cover;
  background-position: center;}

.moment-photo-img {width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 3px;}

.moment-photo-button {padding: 0;
  border-radius: 3px;
  background: transparent;}

.moment-photo-grid.single .moment-photo {aspect-ratio: 4 / 3;}

.moment-content footer {display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  color: #9aa0aa;}

.moment-content footer button {min-width: 44px;
  min-height: 28px;
  border-radius: 8px;
  color: #52668a;
  background: #f2f3f6;}

.moment-action-menu {justify-self: end;
  display: inline-flex;
  align-items: stretch;
  gap: 1px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 8px;
  background: #2f3640;
  white-space: nowrap;}

.moment-action-menu[hidden] {display: none;}

.moment-action-menu button {flex: 0 0 auto;
  min-height: 34px;
  min-width: 82px;
  padding: 0 10px;
  color: #fff;
  background: #2f3640;
  font-size: 13px;}

.moment-comments {display: grid;
  gap: 4px;
  margin-top: 8px;
  padding: 8px;
  border-radius: 8px;
  background: #f5f6f8;}

.moment-comments:empty {display: none;}

.moment-comments p,
.moment-comments button {margin: 0;
  color: #394150;
  font-size: 14px;}

.moment-comments button {width: 100%;
  border-radius: 6px;
  padding: 3px 4px;
  background: transparent;
  text-align: left;}

.moment-comment-form {display: grid;
  grid-template-columns: 1fr 54px;
  gap: 6px;
  margin-top: 8px;}

.moment-comment-form[hidden] {display: none;}

.moment-comment-form input {min-width: 0;
  border: 1px solid #e4e7ed;
  border-radius: 12px;
  padding: 8px;
  outline: 0;}

.moment-comment-form button {border-radius: 12px;
  color: #fff;
  background: #19b45b;
  font-weight: 800;}

.moment-comment-form:not([hidden]) {position: fixed;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(420px, calc(100vw - 28px));
  z-index: 2600;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(145, 154, 169, .28);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 34px rgba(20, 28, 40, .18);
  backdrop-filter: blur(18px);}

.moment-comment-form:not([hidden]) input {background: rgba(245, 247, 251, .96);}

.moment-comments button[data-moment-comment-item] {-webkit-touch-callout: none;
  user-select: none;}

.chat-extra-panel {max-height: 210px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  background: #f6f6f6;}

.sticker-button {min-height: 64px;
  border-radius: 14px;
  background: #fff;
  color: #17181c;
  font-weight: 800;}

.sticker-button small,
.sticker-grid figcaption {display: block;
  margin-top: 4px;
  color: #384150;
  font-size: 11px;
  line-height: 1.2;}

.sticker-grid figure {margin: 0;}

.sticker-grid button {width: 100%;
  min-height: 28px;
  margin-top: 4px;
  border-radius: 8px;
  color: #fff;
  background: #252a31;
  font-size: 12px;
  font-weight: 800;}

.sticker-button img,
.sticker-grid img {width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 12px;}

.sticker-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 12px;}

.chat-extra-panel[data-panel-type="stickers"] {max-height: min(42vh, 390px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;}

.sticker-button {min-height: 132px;
  display: grid;
  grid-template-rows: minmax(92px, 1fr) auto;
  align-items: start;
  gap: 5px;
  padding: 6px;}

.sticker-button img,
.sticker-grid img {object-fit: contain;
  background: rgba(255, 255, 255, 0.72);}

.sticker-button small,
.sticker-grid figcaption {overflow-wrap: anywhere;}

.sticker-grid {grid-template-columns: repeat(3, 1fr);}

.sticker-select {display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
  color: var(--skin-muted);
  font-size: 12px;}

.sticker-actions {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;}

.moment-editor {min-height: 100%;
  padding: 18px;
  color: #17181c;
  background: #fff;}

.moment-editor-top {display: grid;
  grid-template-columns: 64px 1fr 64px;
  align-items: center;
  min-height: 54px;}

.moment-editor-top strong {justify-self: center;
  font-size: 20px;}

.moment-editor-top button {color: #17181c;
  background: transparent;
  font-weight: 800;}

.moment-editor-top button:last-child {color: #8a8f99;}

.moment-editor textarea {width: 100%;
  min-height: 150px;
  margin-top: 24px;
  border: 0;
  outline: 0;
  resize: none;
  color: #17181c;
  font-size: 18px;
  line-height: 1.6;
  background: #fafafa;
  padding: 14px;}

.moment-remind-row {display: grid;
  grid-template-columns: 42px 1fr 24px;
  align-items: center;
  min-height: 62px;
  border-bottom: 1px solid #eef0f3;
  font-size: 18px;}

.moment-remind-row span {font-size: 28px;}

.moment-remind-row em {color: #c1c5cc;
  font-style: normal;
  font-size: 28px;}

.moment-image-picker {display: flex;
  gap: 10px;
  margin-top: 24px;}

.moment-image-picker label {width: 112px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #fafafa;
  color: #c9cdd3;
  font-size: 42px;}

.moment-image-picker input {display: none;}

button.bubble {border: 0;
  appearance: none;}

.message-action-menu {position: fixed;
  z-index: 50;
  width: min(318px, calc(100vw - 24px));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(24, 28, 34, 0.94);
  transform: translateX(-50%);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);}

.message-action-menu button {min-width: 0;
  min-height: 39px;
  padding: 0 6px;
  border-radius: 11px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  font-weight: 800;}

.moment-comment-form input {border-color: var(--skin-border);
  background: var(--surface-strong);
  color: var(--skin-text);}

.bubble.assistant,
.message-action-menu,
.chat-extra-panel,
.moment-action-menu {background: color-mix(in srgb, var(--phone-bg) 88%, #000 12%);
  border: 1px solid var(--skin-border);
  color: var(--skin-text);}

.bubble.user {background: color-mix(in srgb, var(--skin-accent-2) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-accent-2) 28%, transparent);}

.moment-item::before {content: none;
  display: none;}

.moment-item {display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  padding: 18px 14px;
  border: 0;
  border-bottom: 1px solid var(--skin-border);
  border-radius: 0;
  background: transparent;
  color: var(--skin-text);
  box-shadow: none;}

.moment-content {min-width: 0;}

.moment-content strong {color: var(--skin-accent);}

.moment-content p {color: var(--skin-text);
  word-break: normal;
  overflow-wrap: break-word;}

.moment-content footer {color: var(--skin-muted);}

.moment-content footer button,
.moment-comments {background: var(--surface);
  color: var(--skin-text);}

.moment-content footer button {color: var(--skin-muted);}

.moment-comments {border: 1px solid var(--skin-border);}

.moment-comments p,
.moment-comments button {color: var(--skin-text);}

.moment-comment-form input,
.moment-char-panel,
.moment-char-list label,
.moment-char-actions button {border: 1px solid var(--skin-border);
  background: var(--surface-strong);
  color: var(--skin-text);}

.chat-layout {background-color: var(--phone-bg) !important;
  color: var(--skin-text);}

.chat-layout.bubble-glass {--chat-bubble-text: var(--skin-text);}

.chat-layout.bubble-glass .bubble.assistant {background: color-mix(in srgb, var(--chat-bubble-assistant) 68%, var(--phone-bg) 32%) !important;
  color: var(--skin-text) !important;
  border-color: color-mix(in srgb, var(--chat-bubble-assistant) 44%, var(--skin-border)) !important;}

.chat-layout.bubble-glass .bubble.user {background: color-mix(in srgb, var(--chat-bubble-user) 82%, transparent) !important;
  color: var(--skin-text) !important;
  border-color: color-mix(in srgb, var(--chat-bubble-user) 54%, var(--skin-border)) !important;}

.moment-item,
.moment-comments {background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;}

.moment-content p,
.moment-comments p,
.moment-comments button {color: var(--skin-text) !important;}

.moment-comment-form input {background: var(--surface-strong) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;}

.sticker-button small,
.sticker-grid figcaption {color: var(--skin-muted) !important;}

.quick-chat-frame {width: 76px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--skin-border);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.035)),
    var(--surface-strong);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.18);}

.quick-chat-frame .avatar {width: 100%;
  height: 100%;
  border-radius: 20px;
  font-size: 26px;}

.quick-chat-frame .avatar img {width: 100%;
  height: 100%;
  object-fit: cover;}

.quick-chat-copy {min-width: 0;
  display: grid;
  gap: 3px;}

.quick-chat-copy strong {margin: 0;
  overflow: hidden;
  color: var(--skin-text) !important;
  font-size: 22px;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;}

.quick-chat-copy small {overflow: hidden;
  color: var(--skin-muted);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;}

@media (max-width: 380px) {
.quick-chat-frame {width: 64px;
    border-radius: 18px;}
}

.chat-layout {background-color: var(--phone-bg) !important;}

.messages {gap: 8px !important;
  padding: 14px 12px 10px !important;}

.message-row .message-avatar,
.message-row .avatar {width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid var(--skin-border);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--skin-text) 12%, transparent);}

.bubble {padding: 8px 10px !important;
  border-radius: 14px !important;
  line-height: 1.42 !important;
  font-size: 14px;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-text) 6%, transparent);}

.bubble.assistant {background: var(--surface-strong) !important;
  color: var(--skin-text) !important;
  border: 1px solid var(--skin-border) !important;
  border-top-left-radius: 7px !important;}

.bubble.user {background: linear-gradient(135deg, var(--skin-accent-2), color-mix(in srgb, var(--skin-accent-2) 70%, var(--skin-accent))) !important;
  color: #fff !important;
  border: 0 !important;
  border-top-right-radius: 7px !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-accent-2) 30%, transparent) !important;}

.bubble.error {background: color-mix(in srgb, #d9534f 16%, var(--surface-strong)) !important;
  color: #b3261e !important;
  border: 1px solid color-mix(in srgb, #d9534f 30%, transparent) !important;
  border-radius: 16px !important;}

.chat-layout.bubble-glass .bubble {border-radius: 14px !important;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--skin-text) 10%, transparent) !important;}

.chat-layout.bubble-glass .bubble.assistant {border-top-left-radius: 7px !important;}

.chat-layout.bubble-glass .bubble.user {border-top-right-radius: 7px !important;}

.message-time-divider {background: color-mix(in srgb, var(--skin-text) 7%, transparent) !important;
  color: var(--skin-muted) !important;}

.chat-image-card {width: min(180px, 60vw) !important;
  padding: 7px !important;
  border-radius: 18px !important;
  background: var(--surface-strong) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;}

.chat-image-card img {border-radius: 13px !important;}

.chat-image-card small {color: var(--skin-muted) !important;}

.chat-image-card.image-pending {min-height: 168px !important;
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  color: var(--skin-muted) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, var(--skin-accent) 8%) !important;}

.chat-image-card.image-pending::before {content: "";
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 35%, var(--skin-border));
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent) 24%, transparent), color-mix(in srgb, var(--surface-strong) 78%, transparent));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 38%, transparent);
  animation: mossImagePendingPulse 1.15s ease-in-out infinite alternate;}

.chat-image-card.image-pending small {max-width: 150px;
  text-align: center;}

.chat-image-card.sticker-message-card {width: min(156px, 46vw) !important;
  padding: 4px !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;}

.chat-image-card.sticker-message-card img {aspect-ratio: auto !important;
  max-height: 154px !important;
  object-fit: contain !important;
  background: transparent !important;}

.transfer-card {border-radius: 18px !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--skin-accent), color-mix(in srgb, var(--skin-accent) 60%, #c89060)) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-accent) 30%, transparent) !important;}

.message-row .avatar:not(.image-avatar) {background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;}

.message-row.user .avatar:not(.image-avatar) {background: linear-gradient(135deg, var(--skin-muted), var(--skin-accent-2)) !important;}

.message-row .avatar.image-avatar {background: transparent !important;}

.message-row .avatar.image-avatar img {width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit;}

.sticker-actions {align-items: center;}

.sticker-actions button {transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;}

.sticker-actions button:active {transform: scale(0.97);}

.sticker-bulk-preview {display: grid;
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 76%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);}

.sticker-bulk-list {display: grid;
  gap: 10px;
  max-height: min(420px, 55vh);
  overflow: auto;
  -webkit-overflow-scrolling: touch;}

.sticker-bulk-row {display: grid;
  grid-template-columns: 58px minmax(74px, 0.7fr) minmax(110px, 1fr);
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 70%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--phone-bg) 68%, transparent);}

.sticker-bulk-row img {width: 58px;
  height: 58px;
  border-radius: 14px;
  object-fit: cover;
  grid-row: span 2;}

.sticker-bulk-row label {display: grid;
  gap: 4px;
  min-width: 0;}

.sticker-bulk-row label:last-child {grid-column: 2 / -1;}

.sticker-bulk-row label span {font-size: 12px;
  color: var(--skin-muted);}

.sticker-bulk-row input {min-width: 0;
  height: 36px;
  border-radius: 14px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  color: var(--skin-text);
  padding: 0 10px;}

@media (max-width: 520px) {
.sticker-bulk-row {grid-template-columns: 52px minmax(0, 1fr);}
.sticker-bulk-row img {width: 52px;
    height: 52px;}
.sticker-bulk-row label,
.sticker-bulk-row label:last-child {grid-column: 2 / -1;}
}

.mock-wechat-list {min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.mock-chat-row {background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 18px;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent);}

.mock-chat-row {width: 100%;
  text-align: left;
  color: inherit;
  cursor: pointer;}

.mock-chat-row {display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 54px;
  gap: 10px;
  align-items: center;
  padding: 10px;}

.mock-chat-row > div {min-width: 0;}

.mock-chat-row strong {color: var(--skin-text);}

.mock-chat-row p {margin: 4px 0 0;
  color: var(--skin-muted);
  line-height: 1.4;
  word-break: break-word;}

.mock-chat-row p {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: keep-all;}

.mock-chat-row strong {display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.mock-chat-row time {justify-self: end;
  white-space: nowrap;
  text-align: right;}

.mock-chat-row time {color: var(--skin-muted);
  font-size: 11px;
  font-style: normal;}

.mock-phone-chat-detail {min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 22px;
  background: color-mix(in srgb, var(--phone-bg) 84%, transparent);}

.char-phone-friend-composer {display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 10px;
  border-top: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);}

.char-phone-friend-composer textarea {min-width: 0;
  min-height: 40px;
  max-height: 104px;
  resize: none;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 80%, transparent);
  border-radius: 14px;
  color: var(--skin-text);
  background: var(--phone-bg);
  font: inherit;
  line-height: 1.4;}

.char-phone-friend-composer button {min-height: 40px;
  padding: 0 14px;
  border-radius: 14px;
  color: #fff;
  background: #34c759;
  font-weight: 900;}

.char-phone-friend-composer small {grid-column: 1 / -1;
  color: var(--skin-muted);
  font-size: 10px;}

.char-phone-moment-composer {width: min(420px, 100%);
  max-height: min(720px, 100%);
  overflow-y: auto;
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--skin-border);
  border-radius: 24px;
  color: var(--skin-text);
  background: var(--surface-strong);
  box-shadow: 0 22px 70px rgba(0,0,0,.3);}

.char-phone-moment-composer header {display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;}

.char-phone-moment-composer header strong {overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;}

.char-phone-moment-composer header button {min-height: 36px;
  padding: 0 10px;
  border-radius: 13px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--skin-muted) 12%, transparent);
  font-weight: 900;}

.char-phone-moment-composer header button:last-child {color: #fff; background: #34c759;}

.char-phone-moment-owner {display: flex;
  align-items: center;
  gap: 10px;}

.char-phone-moment-owner span {display: grid; gap: 2px;}

.char-phone-moment-owner small {color: var(--skin-muted); font-size: 11px;}

.char-phone-moment-composer textarea {width: 100%;
  box-sizing: border-box;
  resize: vertical;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  color: var(--skin-text);
  background: var(--phone-bg);
  font: inherit;
  line-height: 1.55;}

.char-phone-moment-image-pick {min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--skin-border);
  border-radius: 15px;
  color: var(--skin-accent);
  font-weight: 900;}

.char-phone-moment-image-pick input {display: none;}

.char-phone-moment-preview {display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;}

.char-phone-moment-preview img {width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px;}

.char-phone-moment-composer > p {min-height: 16px; margin: 0; color: var(--skin-muted); font-size: 11px;}

.mock-phone-chat-detail header {display: grid;
  gap: 2px;
  padding: 12px 14px;
  border-bottom: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent);}

.mock-phone-chat-detail header strong {color: var(--skin-text);
  font-size: 17px;}

.mock-phone-chat-detail header small {color: var(--skin-muted);
  font-size: 12px;}

.mock-phone-bubbles {min-height: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  padding: 14px;
  -webkit-overflow-scrolling: touch;}

.mock-phone-bubbles p {max-width: 82%;
  margin: 0;
  padding: 10px 12px;
  border-radius: 18px;
  line-height: 1.5;
  word-break: break-word;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-text) 5%, transparent);}

.mock-phone-bubbles .received {justify-self: start;
  border-top-left-radius: 6px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.mock-phone-bubbles .sent {justify-self: end;
  border-top-right-radius: 6px;
  color: #fff;
  background: #34c759;}

.chat-extra-panel[data-panel-type="stickers"] {max-height: min(42vh, 390px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}

.chat-extra-panel[data-panel-type="stickers"] .sticker-button {min-height: 132px !important;
  grid-template-rows: minmax(92px, 1fr) auto !important;}

.chat-extra-panel[data-panel-type="stickers"] .sticker-button img,
.sticker-grid img {object-fit: contain !important;}

.chat-extra-panel[data-panel-type="stickers"] .sticker-button small {display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 28px;
  overflow: hidden;}

.chat-layout {max-width: 100vw !important;
  overflow-x: hidden !important;}

.messages,
.message-row {max-width: 100% !important;
  min-width: 0 !important;}

.moment-post {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.chat-layout {background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;}

.moment-post,
.message-action-menu,
.chat-extra-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.chat-layout {height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  background: var(--phone-bg) !important;}

.messages {min-height: 0 !important;
  overflow-y: auto !important;
  padding: 14px 12px 12px !important;}

.chat-extra-panel {left: 10px !important;
  right: 10px !important;
  bottom: calc(64px + var(--safe-bottom)) !important;
  max-height: min(48vh, 360px) !important;
  overflow: auto !important;}

.chat-layout {color: var(--skin-text) !important;}

.chat-layout {background: var(--phone-bg) !important;}

.app-body:has(.chat-layout) {overflow: hidden !important;}

.chat-layout {height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;}

.messages {min-height: 0 !important;
  overflow-y: auto !important;
  padding: 12px var(--skin-page-pad) 12px !important;}

.moment-post,
.moment-comment,
.message-action-menu,
.chat-extra-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.chat-extra-panel {left: 10px !important;
  right: 10px !important;
  bottom: 72px !important;
  max-height: min(46vh, 360px) !important;
  overflow-y: auto !important;}

.chat-companion-status {display: none !important;}

.chat-world-preview {display: none !important;}

.chat-companion-status {max-height: 120px !important;
  margin: 10px var(--skin-page-pad) 8px !important;
  padding: 11px 13px 12px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 18%, var(--skin-border)) !important;
  border-radius: var(--skin-radius-md) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 92%, #fff7e6), color-mix(in srgb, var(--phone-bg) 78%, #fff)) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text) 7%, transparent) !important;}

.chat-companion-status p {margin: 8px 0 0 !important;
  overflow: hidden !important;
  color: var(--skin-muted) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;}

.chat-image-card {width: min(240px, 70vw) !important;
  gap: 0 !important;
  padding: 7px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 14%, var(--skin-border)) !important;
  background: color-mix(in srgb, var(--surface-strong) 94%, #fff8ec) !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--skin-text) 9%, transparent) !important;}

.chat-image-card img {display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 15px !important;}

.chat-image-card small {display: -webkit-box !important;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 8px 4px 4px !important;
  overflow: hidden !important;
  color: var(--skin-muted) !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  line-height: 1.48 !important;
  text-align: left !important;}

.chat-image-card.sticker-message-card small {display: none !important;}

#chatName {position: relative;
  z-index: 4;
  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;}

.chat-layout {background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;}

.chat-layout .messages {background: transparent !important;}

.chat-layout:has(.messages) {grid-template-rows: auto minmax(0, 1fr) auto !important;}

.light .message-action-menu {background: rgba(255, 255, 255, 0.94) !important;
  color: #17181c !important;}

.light .message-action-menu button {color: #17181c !important;
  background: rgba(17, 19, 24, 0.08) !important;}

.light .message-action-menu button:hover {background: rgba(17, 19, 24, 0.14) !important;}

.app-body:has(.chat-layout) {height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;}

.chat-layout {height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;}

.chat-layout .messages,
#messages.messages {grid-row: 2 !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  background: transparent !important;}

.chat-layout .messages.multi-selecting,
#messages.messages.multi-selecting {padding-bottom: calc(180px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(180px + var(--safe-bottom)) !important;}

.bilingual-bubble {display: grid;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  text-align: start;
  
  white-space: normal !important;}

.chat-expression-original,
.chat-translation-zh {margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;}

.chat-expression-original {font: inherit;
  color: inherit;
  line-height: 1.55;}

.chat-translation-block {display: grid;
  min-width: min(210px, 100%);
  margin-top: 10px;
  white-space: normal;}

.chat-translation-divider {height: 1px;
  margin: 0 0 7px;
  background: color-mix(in srgb, currentColor 18%, transparent);}

.chat-translation-toggle {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, currentColor 58%, transparent);
  cursor: pointer;
  text-align: left;}

.chat-translation-label {font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .24em;
  line-height: 1;}

.chat-translation-chevron {flex: 0 0 auto;
  font-size: 12px;
  line-height: 1;
  transition: transform .18s ease;}

.chat-translation-block.expanded .chat-translation-chevron {transform: rotate(180deg);}

.chat-translation-zh {margin-top: 5px;
  color: color-mix(in srgb, currentColor 80%, transparent);
  font-size: .92em;
  line-height: 1.55;}

.chat-shop-order-card {width: min(252px, 74vw);
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-left: 4px solid #6f8f82;
  border-radius: 14px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 94%, transparent);
  text-align: left;
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);}

.chat-shop-order-card span {color: var(--skin-muted, #7b6b5a); font-size: 12px; font-weight: 900;}

.chat-shop-order-card strong {font-size: 16px; line-height: 1.35;}

.chat-shop-order-card small {color: var(--skin-muted, #7b6b5a); line-height: 1.45;}

.chat-layout .chat-extra-panel,
.chat-layout .chat-extra-panel.plus-grid {background: color-mix(in srgb, var(--phone-bg, #f4f7fb) 96%, #ffffff 4%) !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(76, 92, 112, 0.14)) 70%, transparent) !important;
  box-shadow: 0 -16px 42px rgba(66, 78, 96, 0.10), inset 0 1px rgba(255,255,255,.72) !important;}

.chat-layout .plus-grid {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px 12px !important;
  padding: 20px 18px calc(18px + var(--safe-bottom)) !important;}

.chat-layout .plus-action-button,
.chat-layout .plus-grid button {min-height: 78px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--skin-text, #253044) !important;}

.chat-layout .plus-action-icon:not(.custom-icon) {width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(231,237,246,.92)) !important;
  border: 1px solid rgba(111, 128, 150, 0.18) !important;
  color: #314153 !important;
  box-shadow: 0 10px 24px rgba(47, 62, 82, 0.10), inset 0 1px rgba(255,255,255,.86) !important;
  font-size: 23px !important;
  line-height: 1 !important;
  font-weight: 900 !important;}

.chat-layout .plus-action-icon.custom-icon {width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(111, 128, 150, 0.16) !important;
  box-shadow: 0 10px 24px rgba(47, 62, 82, 0.10) !important;}

.chat-layout .plus-action-label,
.chat-layout .plus-action-button span:last-child {color: var(--skin-text, #253044) !important;
  font-size: 13px !important;
  font-weight: 900 !important;}

.voice-transcript-stack > .chat-translation-block {width: 100%;
  padding: 0 4px;}

.custom-ui-preview-demo .chat-layout {min-height: auto;
  height: auto;}

.custom-ui-preview-demo .messages {display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--phone-bg) 78%, transparent);}

.custom-ui-preview-demo .bubble {width: fit-content;
  max-width: 86%;
  padding: 9px 12px;
  border-radius: 16px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent);}

.custom-ui-preview-demo .bubble.user {justify-self: end;
  background: color-mix(in srgb, var(--skin-accent) 72%, var(--surface-strong));
  color: #fff;}

.custom-ui-preview-demo .moment-comments {display: grid;}

.avatar-unread-wrap {position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  vertical-align: middle;}

.avatar-unread-wrap > .avatar {flex: 0 0 auto;}

.unread-dot-badge {position: absolute;
  top: -4px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  border: 2px solid var(--surface-strong, #fff);
  background: #ff384f;
  color: #fff;
  font-size: 10px;
  line-height: 12px;
  font-weight: 900;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 3px 9px rgba(180, 0, 32, 0.26);
  z-index: 5;
  pointer-events: none;}

.app-unread-dot {position: absolute;
  top: 5px;
  right: 14px;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  border: 2px solid var(--phone-bg, #f6f7fb);
  background: #ff384f;
  color: #fff;
  font-size: 10px;
  line-height: 13px;
  font-weight: 900;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 4px 10px rgba(180, 0, 32, 0.24);
  z-index: 8;
  pointer-events: none;}

@media (prefers-color-scheme: dark) {
.unread-dot-badge,
.app-unread-dot {border-color: rgba(28, 34, 43, 0.94);}
}

.chat-meeting-card {width: min(258px, 74vw);
  display: grid;
  gap: 7px;
  padding: 13px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-left: 4px solid #8f7bb8;
  border-radius: 14px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 92%, #efe7ff 8%);
  text-align: left;
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);}

.chat-meeting-card span {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 900;}

.chat-meeting-card strong {font-size: 16px;
  line-height: 1.35;}

.chat-meeting-card small {color: var(--skin-muted, #7b6b5a);
  line-height: 1.45;}

.chat-meeting-card em {width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  color: #5f4c86;
  background: color-mix(in srgb, #efe7ff 78%, var(--surface-strong, #fffdf7) 22%);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;}

.chat-meeting-card.completed {border-left-color: #6f8f82;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 92%, #e6f0e4 8%);}

.chat-meeting-card.completed em {color: #3f6c50;
  background: color-mix(in srgb, #e2f0df 78%, var(--surface-strong, #fffdf7) 22%);}

.couple-chat-card.anniversary {background: linear-gradient(135deg,#fff0d9,#ffe1c0);}

.couple-chat-card.anniversary .couple-chat-card-head {color: #d08a3a;}

.couple-consent-bubble {max-width: 88%;
  padding: 12px 16px;
  border-radius: 18px 18px 18px 6px;
  background: linear-gradient(135deg,#fff1f4,#ffe3ea);
  color: #6a4350;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(215,107,140,.16);}

.couple-chat-card {display: grid;
  gap: 4px;
  text-align: left;
  max-width: 78%;
  padding: 12px 15px;
  border-radius: 18px;
  background: linear-gradient(135deg,#fff1f4,#ffe6ec);
  color: #6a4350;
  box-shadow: 0 8px 18px rgba(215,107,140,.16);}

.couple-chat-card.user {justify-self: end;}

.couple-chat-card .couple-chat-card-head {font-size: 11.5px; font-weight: 900; color: #c4607a; letter-spacing: .02em;}

.couple-chat-card strong {font-size: 14px; font-weight: 800; line-height: 1.55;}

.couple-chat-card small {font-size: 11px; color: #b07f8e;}

.couple-chat-card.decline {background: linear-gradient(135deg,#f3f0ee,#e9e4e0); color: #6a5c52; box-shadow: 0 8px 18px rgba(74,62,52,.1);}

.couple-chat-card.decline .couple-chat-card-head {color: #8a7b70;}

.native-wechat-list {gap: 0;
  border-radius: 20px;
  overflow-y: auto;
  background: color-mix(in srgb, var(--surface-strong) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border) 60%, transparent);}

.native-chat-row {border: 0;
  border-radius: 0;
  box-shadow: none;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--skin-border) 46%, transparent);}

.native-chat-row:last-child {border-bottom: 0;}

.mock-contact-avatar,
.mock-chat-row .avatar.mock-contact-avatar {width: 46px;
  height: 46px;
  border-radius: 13px;
  overflow: hidden;
  font-size: 17px;}

.mock-contact-avatar img,
.mock-bubble-avatar img {width: 100%; height: 100%; object-fit: cover;}

.mock-phone-bubbles.with-avatars {gap: 10px;}

.mock-phone-bubble-row {display: grid;
  grid-template-columns: 30px minmax(0, max-content);
  align-items: end;
  gap: 8px;
  max-width: 92%;}

.mock-phone-bubble-row.sent {justify-self: end;
  grid-template-columns: minmax(0, max-content) 30px;}

.mock-phone-bubble-row.sent .mock-bubble-avatar {grid-column: 2; grid-row: 1;}

.mock-phone-bubble-row.sent p {grid-column: 1; grid-row: 1;}

.mock-bubble-avatar,
.mock-phone-bubble-row .avatar.mock-bubble-avatar {width: 30px;
  height: 30px;
  border-radius: 9px;
  overflow: hidden;
  font-size: 12px;}

.mock-phone-bubble-row p {max-width: min(230px, 100%);
  margin: 0;
  padding: 9px 11px;
  border-radius: 16px;
  line-height: 1.48;
  word-break: break-word;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-text) 5%, transparent);}

.mock-phone-bubble-row.received p {border-top-left-radius: 5px;
  color: var(--skin-text);
  background: var(--surface-strong);}

.mock-phone-bubble-row.sent p {border-top-right-radius: 5px;
  color: #fff;
  background: #34c759;}

.mock-phone-bubbles.with-avatars > p {display: none;}

.mock-phone-bubble-row .mock-avatar.mock-bubble-avatar,
.mock-phone-bubble-row .mock-contact-avatar.mock-bubble-avatar {width: 30px;
  height: 30px;
  border-radius: 9px;
  overflow: hidden;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  background: linear-gradient(135deg, #23c6a4, #3b9cff);
  color: #fff;
  flex: none;}

.mock-phone-bubbles .mock-phone-bubble-row.received,
.mock-phone-bubbles .mock-phone-bubble-row.sent {background: transparent;
  color: inherit;
  border-radius: 0;}

.chat-extra-panel[data-panel-type="stickers"] {display: block;}

.sticker-send-group {margin-bottom: 10px;}

.sticker-send-group-title,
.sticker-group-title {margin: 8px 2px 6px;
  font-size: 12px;
  font-weight: 800;
  color: #6b7280;}

.sticker-send-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;}

.sticker-group-block {margin-bottom: 14px;}

.sticker-mount-panel .sticker-mount-groups {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;}

.sticker-message-card img {max-width: 120px;}

.moment-rich-card {width: min(100%, 260px);
  margin: 8px 0 10px;
  border: 1px solid rgba(82, 102, 138, 0.14);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,249,252,.92));
  box-shadow: 0 8px 24px rgba(36, 44, 60, 0.08);
  overflow: hidden;}

.moment-rich-head,
.moment-rich-label {display: grid;
  gap: 2px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid rgba(82, 102, 138, 0.1);}

.moment-rich-head span,
.moment-rich-label span,
.moment-rich-label small,
.moment-rich-head small {color: #8b93a1;
  font-size: 11px;
  font-weight: 700;}

.moment-rich-head strong,
.moment-rich-forum > strong,
.moment-shop-info strong {color: #273247;}

.moment-chat-shot {display: grid;
  gap: 7px;
  padding: 10px;
  background: #eef1f5;}

.moment-chat-line {display: grid;
  justify-items: start;
  gap: 2px;}

.moment-chat-line.mine {justify-items: end;}

.moment-chat-line.continuation {margin-top: -4px;}

.moment-chat-line.continuation em {display: none;}

.moment-chat-line em {color: #8b93a1;
  font-size: 10px;
  font-style: normal;}

.moment-chat-line span {max-width: 78%;
  padding: 7px 9px;
  border-radius: 12px 12px 12px 4px;
  color: #2b3342;
  background: #fff;
  font-size: 12px;
  line-height: 1.35;}

.moment-chat-line.mine span {border-radius: 12px 12px 4px 12px;
  background: #dcecff;}

.moment-rich-forum {display: grid;
  gap: 8px;
  padding-bottom: 12px;}

.moment-rich-forum > strong,
.moment-rich-forum > p {margin: 0 12px;}

.moment-rich-forum > p {color: #606977;
  font-size: 13px;
  line-height: 1.45;}

.moment-rich-label {grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;}

.moment-rich-shop {display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;}

.moment-shop-emoji {width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #eef3fa;
  font-size: 24px;}

.moment-shop-info {min-width: 0;
  display: grid;
  gap: 3px;}

.moment-shop-info span,
.moment-shop-info p {margin: 0;
  color: #697281;
  font-size: 12px;
  line-height: 1.35;}

.moment-rich-shop button {padding: 6px 8px;
  border-radius: 999px;
  color: #6d7f98;
  background: #edf3fb;
  font-size: 11px;}

.transfer-card.transfer-card-v2 {position: relative;
  overflow: hidden;
  width: min(248px, 72vw) !important;
  display: grid !important;
  gap: 5px !important;
  padding: 15px 15px 13px !important;
  border: 0 !important;
  border-radius: 18px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.25), transparent 32%),
    linear-gradient(135deg, #f1b356 0%, #de8a37 50%, #ba6529 100%) !important;
  text-align: left !important;
  box-shadow: 0 12px 26px rgba(132, 79, 28, .22) !important;}

.transfer-card-v2.assistant {background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.24), transparent 32%),
    linear-gradient(135deg, #ecc46c 0%, #c9923d 54%, #a56d2d 100%) !important;}

.transfer-card-v2 .transfer-card-watermark {position: absolute;
  right: 10px;
  bottom: -30px;
  font-size: 108px !important;
  line-height: 1;
  font-weight: 950;
  color: rgba(255,255,255,.14) !important;
  opacity: 1 !important;}

.transfer-card-v2 .transfer-card-label {position: relative;
  z-index: 1;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: rgba(255,255,255,.88) !important;
  font-size: 11px !important;
  font-weight: 900;}

.transfer-card-v2 strong {position: relative;
  z-index: 1;
  font-size: 30px !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;}

.transfer-card-v2 small,
.transfer-card-v2 em {position: relative;
  z-index: 1;
  color: rgba(255,255,255,.82) !important;
  font-size: 12px !important;
  line-height: 1.35;
  font-style: normal;}

.transfer-card-v2 em {padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.18);}

.location-card.location-card-v2 {overflow: hidden;
  width: min(258px, 74vw) !important;
  display: grid !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 88%, transparent) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface-strong, #fffaf0) 92%, transparent) !important;
  color: var(--skin-text, #2c241d) !important;
  text-align: left !important;
  box-shadow: 0 12px 26px rgba(35, 38, 45, .13) !important;}

.location-card-v2 .location-card-map {position: relative;
  overflow: hidden;
  display: block;
  height: 92px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px) 0 0 / 24px 24px,
    linear-gradient(0deg, rgba(255,255,255,.22) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(circle at 68% 24%, rgba(255,255,255,.55), transparent 23%),
    linear-gradient(135deg, #a9d7ff, #79bdf2 48%, #9fd7be);}

.location-card-v2 .location-card-map::before,
.location-card-v2 .location-card-map::after {content: "";
  position: absolute;
  width: 130%;
  height: 18px;
  left: -16%;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  transform: rotate(-18deg);}

.location-card-v2 .location-card-map::before {top: 28px;}

.location-card-v2 .location-card-map::after {top: 60px; opacity: .44; transform: rotate(16deg);}

.location-card-v2 .location-card-map i {position: absolute;
  inset: 12px 14px auto auto;
  width: 46px;
  height: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.48);
  box-shadow: -58px 34px 0 rgba(255,255,255,.28), -112px 9px 0 rgba(255,255,255,.2);}

.location-card-v2 .location-card-map b {position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50% 50% 50% 12px;
  rotate: -45deg;
  color: #fff;
  background: linear-gradient(135deg, #318fe9, #1767bc);
  box-shadow: 0 10px 20px rgba(19, 90, 170, .28);
  font-size: 0;}

.location-card-v2 .location-card-map b::after {content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;}

.location-card-v2 .location-card-info {display: grid;
  gap: 4px;
  padding: 12px 13px 13px;}

.location-card-v2 .location-card-info > span {color: var(--skin-muted, #7a6d60) !important;
  font-size: 11px !important;
  font-weight: 900;}

.location-card-v2 .location-card-info strong {color: var(--skin-title, #211b15) !important;
  font-size: 16px !important;
  line-height: 1.32;}

.location-card-v2 .location-card-info small {color: var(--skin-muted, #7a6d60) !important;
  font-size: 12px !important;
  line-height: 1.45;}

.message-stack.user .xhs-link-card {background: linear-gradient(145deg, #fff7f8, #ffe7ec);}

.message-stack.user .douyin-link-card {background: linear-gradient(145deg, #161820, #2a2632);}

.message-row.action-capture-row {width: 100%;
  justify-content: center;
  align-items: center;
  padding: 2px 12px;}

.message-row.action-capture-row .message-stack {width: min(100%, 620px);
  max-width: 100%;
  align-items: center;}

.chat-action-capture {display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  padding: 4px 0;
  border: 0;
  color: color-mix(in srgb, var(--skin-text, #25262b) 62%, transparent);
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: 12.25px;
  line-height: 1.68;
  text-align: center;
  white-space: pre-wrap;
  overflow: visible;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-wrap: pretty;
  cursor: pointer;}

.chat-action-capture::before,
.chat-action-capture::after {content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin: 0 auto 7px;
  background: color-mix(in srgb, var(--skin-text, #25262b) 14%, transparent);}

.chat-action-capture::after {margin: 7px auto 0;}

.messages.multi-selecting .message-row.action-capture-row {padding-left: 48px;}

.user-phone-app .mock-phone-bubbles {display: flex; flex-direction: column; gap: 6px;}

.user-phone-app .mock-phone-bubble-row p {margin: 0;
  max-width: 80%;
  padding: 7px 11px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.5;
  background: color-mix(in srgb, var(--skin-border, #e4e9f2) 40%, transparent);}

.user-phone-app .mock-phone-bubble-row.sent {align-items: flex-end;}

.user-phone-app .mock-phone-bubble-row.sent p {align-self: flex-end;
  background: linear-gradient(135deg, var(--skin-accent, #6c8cff), var(--skin-accent-2, #33d6ad));
  color: #fff;}

.user-phone-app .mock-phone-bubble-row {display: flex; flex-direction: column;}

.user-phone-app .mock-phone-bubble-row.received {align-items: flex-start;}

.chat-quote-draft {grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: -1px 34px 0 46px;
  padding: 7px 9px 7px 12px;
  border-radius: 5px;
  color: rgba(35, 39, 46, 0.56);
  background: rgba(27, 31, 38, 0.055);
  font-size: 12px;
  line-height: 1.35;}

.chat-quote-draft span {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.chat-quote-draft button {width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: rgba(35, 39, 46, 0.48);
  background: rgba(35, 39, 46, 0.12);
  font-size: 18px;
  line-height: 22px;}

.chat-sent-quote {display: block;
  max-width: min(260px, 70vw);
  overflow: hidden;
  color: rgba(45, 50, 58, 0.5);
  font-size: 11.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;}

.chat-withdrawn-notice {align-self: center;
  margin: 2px auto;
  padding: 3px 9px;
  color: rgba(45, 50, 58, 0.48);
  font-size: 11.5px;
  line-height: 1.4;
  text-align: center;}

.chat-text-image-card {width: min(250px, 70vw);
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(42, 49, 61, 0.1);
  border-radius: 7px;
  color: #30343b;
  background: #f4f4f1;
  box-shadow: 0 5px 14px rgba(27, 32, 40, 0.12);
  text-align: left;}

.chat-text-image-card span,
.chat-text-image-card small {color: rgba(48, 52, 59, 0.5);
  font-size: 10px;}

.chat-text-image-card p {margin: 0;
  max-height: 180px;
  overflow: hidden;
  color: inherit;
  font-size: 15px;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;}

@media (max-width: 390px) {
.chat-quote-draft {margin-left: 42px; margin-right: 6px;}
.chat-text-image-card {width: min(238px, 72vw);}
}

#appScreen .friend-entry-panel {padding: 4px 8px;}

#appScreen .friend-entry-row {width: 100%;}

#appScreen .friend-entry-icon {display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: 9px;
  background: var(--tone-accent, var(--ed-accent)); color: #fff; font-size: 20px; font-style: normal;}

#appScreen .friend-entry-tail {display: inline-flex; align-items: center; gap: 6px; color: var(--tone-muted, var(--ed-muted));}

#appScreen .friend-entry-badge {min-width: 17px; height: 17px; padding: 0 4px; display: inline-grid; place-items: center;
  border-radius: 9px; background: #ff3b30; color: #fff; font-size: 10px; font-weight: 800; font-style: normal;}

#appScreen .friend-add-menu-panel {display: grid; gap: 8px; padding: 8px; margin-top: -8px;}

#appScreen .friend-add-menu-row {width: 100%;}

#appScreen .friend-add-model-avatar {display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: 9px;
  background: linear-gradient(135deg, var(--tone-accent, var(--ed-accent)), #2f8bd8);
  color: #fff; font-size: 18px; font-weight: 900; font-style: normal;}

#appScreen .friend-add-menu-row.model-self small {white-space: normal; line-height: 1.35;}

#appScreen .friend-search-row {display: flex; gap: 8px; align-items: center;}

#appScreen .friend-search-row input {min-width: 0; width: 100%;}

#appScreen .friend-search-results {margin-top: 8px;}

#appScreen .friend-search-row-item .secondary-button,
#appScreen .friend-request-item .link-button {flex: none; white-space: nowrap;}

#appScreen .friend-request-item .link-button {border: 0; background: transparent; color: var(--tone-muted, var(--ed-muted)); font-size: 11px;}

#appScreen .friend-incoming-actions {display: flex; gap: 8px; align-items: center; flex: none;}

#appScreen .friend-incoming-item .avatar {background: var(--tone-soft, var(--ed-accent-soft)); color: var(--tone-accent, var(--ed-accent));}

#appScreen .npc-contact-group-head {margin-top: 8px;}

#appScreen .npc-contact-group {padding: 8px;}

#appScreen .npc-contact-filter {display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 4px 6px 10px;}

#appScreen .npc-contact-filter > span {color: var(--tone-muted, #72808e); font-size: 12px; white-space: nowrap;}

#appScreen .npc-contact-filter select {min-width: 0; width: 100%; height: 36px; padding: 0 30px 0 10px; border: 1px solid rgba(91, 133, 176, .2); border-radius: 7px; background: color-mix(in srgb, var(--tone-soft, #eaf4fb) 48%, #fff); color: inherit; font: inherit;}

#appScreen .npc-contact-group-list {display: grid; gap: 4px;}

#appScreen .npc-contact-owner-block + .npc-contact-owner-block {margin-top: 5px; padding-top: 7px; border-top: 1px solid rgba(91, 133, 176, .12);}

#appScreen .npc-contact-owner-block > header {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 8px; color: var(--tone-muted, #72808e);}

#appScreen .npc-contact-owner-block > header strong {overflow: hidden; color: var(--tone-accent, #5f91c5); font-size: 12px; text-overflow: ellipsis; white-space: nowrap;}

#appScreen .npc-contact-owner-block > header small {flex: none; font-size: 11px;}

#appScreen .npc-contact-avatar {display: grid; place-items: center; background: #dceeff; color: #4e82b8; font-weight: 800;}

#appScreen .npc-contact-row small {white-space: normal; line-height: 1.35;}

#appScreen .moment-char-list label span {display: flex; justify-content: space-between; gap: 8px; min-width: 0;}

#appScreen .moment-char-list label small,
#appScreen .moment-npc-badge {margin-left: 6px; color: #5888b9; font-size: 9px; font-weight: 700;}

#appScreen .npc-moment-choice {background: rgba(224, 241, 255, .55);}

#appScreen .npc-moment-avatar {display: grid; place-items: center; border-radius: 7px; background: #dceeff; color: #4e82b8; font-weight: 800;}

.chat-layout {position: relative;}

.group-observe-actions {display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
  align-items: center;}

.group-observe-more {min-height: 36px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: var(--phone-bg, #f8fafb);
  color: var(--skin-text, #26323a);
  font-size: 22px;}

.group-mention-panel {display: grid;
  gap: 4px;
  max-height: min(34vh, 260px);
  margin: 0 0 7px;
  padding: 8px;
  overflow: auto;
  border: 1px solid var(--skin-border, #dce3e8);
  border-radius: 16px;
  background: var(--skin-panel, #fff);
  box-shadow: 0 -6px 22px rgba(28, 42, 56, .08);}

.group-mention-panel[hidden] {display: none !important;}

.group-mention-panel-head {display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 4px 6px;
  color: var(--skin-muted, #71808c);
  font-size: 10px;}

.group-mention-panel-head strong {color: var(--skin-text, #26313b);
  font-size: 12px;}

.group-mention-panel button {display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-areas: "avatar name" "avatar meta";
  gap: 2px 8px;
  align-items: center;
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  padding: 6px 8px;
  background: transparent;
  color: var(--skin-text, #26313b);
  text-align: left;}

.group-mention-panel button:active {background: color-mix(in srgb, var(--skin-accent, #7ea58d) 12%, transparent);}

.group-mention-panel button > span {grid-area: avatar;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-accent, #7ea58d) 18%, var(--phone-bg, #f8fafb));
  color: var(--skin-text, #26313b);
  font-weight: 800;}

.group-mention-panel button > b {grid-area: name;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;}

.group-mention-panel button > small {grid-area: meta;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--skin-muted, #71808c);
  font-size: 10px;}

.group-memory-page {min-height: 100%;
  padding-bottom: max(18px, env(safe-area-inset-bottom));
  background: var(--phone-bg, #f8fafb);}

.group-memory-page .panel {margin: 10px 14px;}

.group-memory-page .group-section-title {align-items: start;}

.group-memory-page .group-section-title small {max-width: 190px;
  text-align: right;
  line-height: 1.35;}

.group-summary-list {display: grid;
  gap: 8px;}

.group-summary-list article {display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 12px;
  background: color-mix(in srgb, var(--phone-bg, #f8fafb) 70%, #fff 30%);}

.group-summary-list article strong {color: var(--skin-text, #26313b);
  font-size: 12px;}

.group-summary-list article p {margin: 0;
  color: var(--skin-text, #26313b);
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;}

.group-summary-list article small {color: var(--skin-muted, #7a8791);
  font-size: 10px;}

.group-data-actions {display: grid;
  gap: 8px;
  margin: 8px 0;}

.group-data-search-row {display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 10px;}

.group-data-search-row input {min-width: 0;
  min-height: 40px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 14px;
  padding: 0 12px;
  color: var(--skin-text, #26313b);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, var(--phone-bg, #f8fafb));}

.group-data-search-results {display: grid;
  gap: 8px;
  margin-top: 10px;}

.group-data-search-result {display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 12px;
  background: color-mix(in srgb, var(--phone-bg, #f8fafb) 72%, #fff 28%);}

.group-data-search-result strong {color: var(--skin-muted, #72808c);
  font-size: 10px;}

.group-data-search-result p {margin: 0;
  color: var(--skin-text, #26313b);
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;}

#appScreen .npc-group-filter-field {display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 10px;}

#appScreen .npc-group-filter-field > span {color: var(--tone-muted, #72808e); font-size: 12px;}

#appScreen .npc-group-filter {width: 100%; padding: 9px 10px; border: 1px solid rgba(91, 133, 176, .26); border-radius: 7px; background: #fff; color: inherit; font-size: 13px;}

.chat-news-share-card {border:1px solid rgba(77,103,124,.14);border-radius:18px;background:linear-gradient(180deg,#fff,#f2f7fa);box-shadow:0 10px 24px rgba(35,55,72,.09);padding:10px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;max-width:min(340px,74vw);min-width:min(260px,68vw);text-align:left;color:#203346}

.message-stack.user .chat-news-share-card {background:linear-gradient(180deg,#eaf4f8,#dbecef)}

.chat-news-share-cover {width:54px;height:54px;border-radius:14px;background:#24384a;color:#fff;display:grid;place-items:center;font-weight:950;background-size:cover;background-position:center}

.chat-news-share-cover.has-image {color:transparent}

.chat-news-share-main {min-width:0;display:grid;gap:4px}

.chat-news-share-main small {color:#667b8c;font-size:11px;font-style:normal;font-weight:900}

.chat-news-share-main strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172a38;font-size:16px}

.chat-news-share-main em {font-style:normal;color:#506473;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.chat-news-share-main i {font-style:normal;color:#6b7d8b;font-size:12px}

.chat-news-share-main b {margin-top:2px;border-radius:10px;background:rgba(36,56,74,.08);color:#2a465b;padding:6px 8px;font-size:12px;line-height:1.35}

.rich-music-bubble {display:grid!important;gap:8px;padding:8px!important;background:transparent!important;box-shadow:none!important}

.moss-chat-music-card {display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;min-width:min(260px,70vw);max-width:min(340px,76vw);padding:10px;border:1px solid rgba(48,61,76,.12);border-radius:16px;background:linear-gradient(180deg,#fff,#f6f8fb);box-shadow:0 10px 24px rgba(27,39,52,.08);color:#1e2d3b;text-align:left}

.moss-chat-music-cover {width:48px;height:48px;border:0;border-radius:12px;background:#202d3a;color:#fff;font-size:20px;background-size:cover;background-position:center}

.moss-chat-music-cover.has-image {color:transparent}

.moss-chat-music-main {min-width:0;display:grid;gap:2px}

.moss-chat-music-main span {color:#6b7a89;font-size:11px;font-weight:900}

.moss-chat-music-main strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172331;font-size:15px}

.moss-chat-music-main small {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#697887}

.moss-chat-music-main p {grid-column:1/-1;margin:3px 0 0;color:#4f5f6d;font-size:12px;line-height:1.45;white-space:normal}

.moss-chat-music-actions {grid-column:1/-1;display:flex;gap:8px}

.moss-chat-music-actions button {flex:1;border:0;border-radius:12px;background:#202d3a;color:#fff;padding:8px;font-weight:900}

.moss-chat-music-actions button:last-child {background:#edf2f6;color:#26384a}

.chat-layout.chat-plus-open,
.chat-layout.chat-voice-open {grid-template-rows: auto minmax(0, 1fr) 0px !important;}

.chat-layout.chat-plus-open .messages,
.chat-layout.chat-voice-open .messages {padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  scroll-padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;}

.chat-layout.chat-plus-open .chat-extra-panel,
.chat-layout.chat-plus-open .chat-extra-panel.plus-grid {position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  width: min(430px, calc(100vw - 12px)) !important;
  max-height: min(40vh, 310px) !important;
  transform: translateX(-50%) !important;
  z-index: 99988 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;}

.chat-layout.chat-plus-open:not(:has(#chatExtraPanel)) {grid-template-rows: auto minmax(0, 1fr) auto !important;}

.chat-layout.chat-plus-open .chat-extra-panel.plus-grid {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}

#charPhoneOverlay :where(.mock-wechat-list, .mock-browser, .mock-notes, .mock-call-list, .mock-sms-thread, .char-phone-activity-list, .char-phone-order-list, .mock-album-grid) {overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;}

#charPhoneOverlay :where(.mock-wechat-list, .mock-browser, .mock-notes, .mock-call-list, .mock-sms-thread, .char-phone-activity-list, .char-phone-order-list, .mock-album-grid, .mock-items-list) {max-height: none !important;
  overflow: visible !important;
  padding-bottom: calc(18px + var(--safe-bottom)) !important;}

#charPhoneOverlay .mock-phone-chat-detail {max-height: none !important;}

#charPhoneOverlay .mock-phone-chat-detail {overflow: visible !important;}

#charPhoneOverlay .mock-phone-bubbles.with-avatars,
#charPhoneOverlay .mock-phone-bubbles {max-height: none !important;
  overflow: visible !important;
  padding-bottom: calc(14px + var(--safe-bottom)) !important;}

.couple-consent-bubble {background: color-mix(in srgb, var(--cp-pearl) 70%, transparent) !important; color: var(--cp-text) !important; border-color: var(--cp-line) !important;}

.chat-withdrawn-notice.moss-action-result {background:rgba(120,135,155,.12);border:1px solid rgba(120,135,155,.16);border-radius:999px;padding:6px 10px;color:var(--muted,#6b7280);}

.assistant-voice-message {display: grid;
  justify-items: start;
  gap: 6px;}

.assistant-voice-message .assistant-voice-row {margin-top: 0;}

.assistant-voice-message.call-mode .assistant-voice-strip {border-radius: 999px 999px 999px 10px;}

.app-screen .chat-layout {background: inherit;}

.moment-load-more {width: calc(100% - 28px) !important;
  min-height: 44px !important;
  margin: 10px 14px 18px !important;
  border-radius: 16px !important;
  border: 1px solid var(--skin-border, rgba(120,130,150,.22)) !important;
  background: var(--surface-strong, rgba(255,255,255,.82)) !important;
  color: var(--skin-muted, #52606d) !important;
  font-weight: 900 !important;}

#appScreen .moment-item {grid-template-columns: 44px minmax(0,1fr);
  gap: 11px;
  padding: 14px 12px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface) !important;
  box-shadow: none !important;}

#appScreen .moment-avatar {width: 44px;
  height: 44px;
  border-radius: 13px;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 18%, var(--moss-ui-line));
  color: var(--moss-ui-accent) !important;
  background: color-mix(in srgb, var(--moss-ui-accent, var(--skin-accent)) 11%, var(--moss-ui-surface, var(--surface))) !important;
  font-size: 14px;}

#appScreen .moment-content {min-width: 0;}

#appScreen .moment-content > strong {color: var(--moss-ui-accent-strong) !important;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 650;}

#appScreen .moment-content > p {margin: 7px 0 11px;
  color: var(--moss-ui-text) !important;
  font-size: 15px;
  line-height: 1.68;}

#appScreen .moment-photo-grid {max-width: 260px;
  gap: 5px;}

#appScreen .moment-photo-grid.single {max-width: 238px;}

#appScreen .moment-photo-button,
#appScreen .moment-photo-img {overflow: hidden;
  border-radius: 11px;}

#appScreen .moment-photo-button {border: 1px solid var(--moss-ui-line);}

#appScreen .moment-content footer {margin-top: 9px;
  color: var(--moss-ui-muted) !important;
  font-size: 11px;}

#appScreen .moment-content footer button {min-width: 36px;
  width: 36px;
  min-height: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 9px;
  color: var(--moss-ui-muted) !important;
  background: var(--moss-ui-surface-soft) !important;}

#appScreen .moment-content footer button .moss-ui-icon {width: 18px; height: 18px;}

#appScreen .moment-action-menu {gap: 2px;
  padding: 3px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 12px;
  background: var(--moss-ui-surface-soft) !important;
  box-shadow: var(--moss-ui-shadow-2);}

#appScreen .moment-action-menu button {min-width: 74px;
  min-height: 36px;
  border-radius: 9px;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  font-size: 12px;}

#appScreen .moment-action-menu button:active {background: color-mix(in srgb, var(--moss-ui-accent, var(--skin-accent)) 11%, var(--moss-ui-surface, var(--surface))) !important;}

#appScreen .moment-comments {gap: 2px;
  margin-top: 9px;
  padding: 8px 10px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 12px;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface-soft) !important;}

#appScreen .moment-comments button {padding: 4px 2px;
  color: var(--moss-ui-text) !important;
  font-size: 13px;
  line-height: 1.5;}

#appScreen .moment-comments button strong {color: var(--moss-ui-accent-strong) !important;}

#appScreen .moment-comment-form:not([hidden]) {border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 94%, transparent) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;}

#appScreen .moment-comment-form input {min-height: 44px;
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface-soft) !important;
  font-size: 16px;}

#appScreen .moment-comment-form button {min-height: 44px;
  color: #fff !important;
  background: var(--moss-ui-accent) !important;}

#appScreen .moment-char-panel {border: 1px solid var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 96%, transparent) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

#appScreen .moment-char-panel {top: 62px; right: 12px; padding: 13px; border-radius: 17px;}

#appScreen .moment-char-list label,
#appScreen .moment-char-actions button {border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface-soft) !important;}

#appScreen .moment-char-list input {accent-color: var(--moss-ui-accent) !important;}

#appScreen .moment-char-actions button:last-child {color: #fff !important; border-color: transparent !important; background: var(--moss-ui-accent) !important;}

#appScreen .moment-load-more {min-height: 44px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 13px;
  color: var(--moss-ui-muted);
  background: var(--moss-ui-surface);}

#appScreen .friend-entry-row,
#appScreen .friend-request-item,
#appScreen .friend-incoming-item {min-height: 68px;
  padding: 10px 12px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;}

#appScreen .group-editor-summary {border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;}

#appScreen .chat-layout {color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;}

#appScreen .messages {padding-left: 12px !important;
  padding-right: 12px !important;
  background: var(--moss-ui-canvas) !important;}

#appScreen .group-send-button {min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: var(--moss-ui-accent) !important;
  box-shadow: none !important;}

#appScreen .group-mode-strip {border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  background: var(--moss-ui-card-soft) !important;}

#appScreen .chat-layout.has-custom-chat-background {background-color: transparent !important;}

#appScreen .chat-layout.has-custom-chat-background .messages,
#appScreen .chat-layout.has-custom-chat-background #messages.messages {background: transparent !important;}

.moment-location-field {margin: 8px 14px 0;}

.moment-location-line {display: inline-flex; align-items: center; gap: 5px; max-width: 100%; margin: 7px 0 9px; border-radius: 999px; padding: 6px 9px; background: #eef2f0; color: #65726b; font-size: 10px; font-weight: 700;}

.moment-location-line .moss-ui-icon {width: 13px; height: 13px;}

.moment-location-line small {color: #89928d; font-size: 9px;}

@media not all {
#charPhoneOverlay :is(.icon-face, button, .panel, article, .x-profile, .x-tweet, .mock-note-card, .mock-browser-card, .mock-chat-row, .mock-call-row, .mock-sms-row) {box-shadow: none !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wechat"] {grid-column: span 4; grid-row: span 2; min-height: 192px !important; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wechat"] small {align-self: end; font-size: 35px !important; letter-spacing: -.05em;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wechat"]::after {content: "CORRESPONDENCE / RECENT";}
#charPhoneOverlay .char-phone-wechat {--folio-label: "01 / CORRESPONDENCE";}
#charPhoneOverlay :where(.mock-wechat-list, .mock-browser, .mock-notes, .mock-call-list, .mock-sms-thread, .char-phone-activity-list, .char-phone-order-list, .mock-album-grid, .mock-items-list) {max-height: none !important;
  overflow: visible !important;
  gap: 0 !important;
  padding: 0 0 calc(18px + var(--safe-bottom)) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-wechat .mock-chat-row {min-height: 78px;
  grid-template-columns: 46px minmax(0, 1fr) 52px !important;
  gap: 10px !important;
  padding: 12px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-wechat .mock-chat-row:first-child {min-height: 132px;
  margin-top: 8px;
  padding: 14px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-wechat .mock-contact-avatar,
#charPhoneOverlay .char-phone-wechat .mock-avatar {width: 42px !important;
  height: 42px !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-wechat .mock-chat-row strong {color: inherit !important; font: 500 18px/1.05 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-wechat .mock-chat-row p,
#charPhoneOverlay .char-phone-wechat .mock-chat-row time,
#charPhoneOverlay .char-phone-wechat .phone-account-label {color: inherit !important; opacity: .58; font-size: 9px !important;}
#charPhoneOverlay .mock-phone-chat-detail {border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .mock-phone-chat-detail header {border-bottom: 1px solid var(--museum-ink) !important; background: transparent !important;}
#charPhoneOverlay .mock-phone-bubbles p {border: 1px solid var(--museum-ink); border-radius: var(--museum-card-radius) !important; box-shadow: none !important;}
#charPhoneOverlay .mock-phone-bubbles .mock-phone-bubble-row.received,
#charPhoneOverlay .mock-phone-bubbles .mock-phone-bubble-row.sent {width: fit-content;
  max-width: 94%;
  color: inherit !important;
  background: transparent !important;}
#charPhoneOverlay .mock-phone-bubbles .mock-phone-bubble-row.received p {color: var(--museum-ink) !important; background: var(--museum-paper) !important;}
#charPhoneOverlay .mock-phone-bubbles .mock-phone-bubble-row.sent p {color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-friend-composer {border-top: 1px solid var(--museum-ink) !important; background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-friend-composer textarea {border: 1px solid var(--museum-ink) !important; border-radius: var(--museum-card-radius) !important; color: var(--museum-ink) !important; background: var(--museum-paper) !important;}
#charPhoneOverlay .char-phone-friend-composer button {color: var(--museum-paper) !important; background: var(--museum-ink) !important; border-radius: var(--museum-pill-radius) !important;}
#userPhoneOverlay [data-user-phone-app-panel="wechat"] {--reverse-label: "01 / CORRESPONDENCE";}
#userPhoneOverlay [data-user-phone-app-panel="wechat"] .x-tweet:nth-child(odd) {margin: 7px 0;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
.char-phone-moment-composer {border: 1px solid var(--museum-ink, #000) !important;
  border-radius: var(--museum-card-radius, 9px) !important;
  color: var(--museum-ink, #000) !important;
  background: var(--museum-putty, #c4c3b6) !important;
  box-shadow: none !important;}
.char-phone-moment-composer header {padding-bottom: 10px; border-bottom: 1px solid var(--museum-ink, #000);}
.char-phone-moment-composer header button,
.char-phone-moment-composer header button:last-child {border: 1px solid var(--museum-ink, #000) !important; border-radius: var(--museum-pill-radius, 28.8px) !important; color: var(--museum-ink, #000) !important; background: transparent !important;}
.char-phone-moment-composer header button:last-child {color: var(--museum-paper, #fff) !important; background: var(--museum-ink, #000) !important;}
.char-phone-moment-composer textarea {border: 1px solid var(--museum-ink, #000) !important; border-radius: var(--museum-card-radius, 9px) !important; color: var(--museum-ink, #000) !important; background: var(--museum-bone, #e7e5e4) !important;}
.char-phone-moment-image-pick {border: 1px solid var(--museum-ink, #000) !important; border-radius: var(--museum-card-radius, 9px) !important; color: var(--museum-ink, #000) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-content-view.char-phone-wechat {grid-row: 3 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 10px 12px 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-inner-back {color: var(--museum-graphite) !important;
  background: color-mix(in srgb, var(--museum-bone) 70%, transparent) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-app-title {border-bottom-color: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-app-title::before,
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-app-title h3 {color: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-app-title button {border-color: var(--museum-ink) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .char-phone-page-stage,
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .native-wechat-list {min-height: 0 !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .native-wechat-list {overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  -webkit-overflow-scrolling: touch;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .mock-chat-row {color: var(--museum-ink) !important;
  background: transparent !important;
  border-bottom-color: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .mock-chat-row:first-child {color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  border-color: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .mock-chat-row strong,
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .mock-chat-row p,
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .mock-chat-row time,
#charPhoneOverlay .char-phone-shell[data-char-phone-view="wechat"] .phone-account-label {color: inherit !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] {display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  height: var(--app-height, 100dvh) !important;
  min-height: 0 !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  background: var(--museum-putty) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] > .char-phone-detail-view {grid-row: 3 !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-detail-view {width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 6px !important;
  overflow: hidden !important;
  padding: 0 10px calc(8px + var(--safe-bottom)) !important;
  background: var(--wechat-paper) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-inner-back {margin-top: 6px !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .mock-phone-chat-detail {width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--wechat-paper) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .mock-phone-chat-detail header {flex: 0 0 auto;
  border-bottom: 1px solid var(--museum-ink) !important;
  background: var(--wechat-paper) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-friend-composer {position: relative !important;
  align-self: end !important;
  margin: 0 !important;
  padding: 10px !important;
  border-top: 1px solid var(--museum-ink) !important;
  background: var(--wechat-paper) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-friend-composer textarea {border-color: var(--museum-ink) !important;
  color: var(--museum-ink) !important;
  background: var(--wechat-paper-soft) !important;}
#charPhoneOverlay .char-phone-shell[data-char-phone-view^="wechat:"] .char-phone-friend-composer button {color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
}

.chat-avatar-change-card {display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  width: min(245px, 72vw);
  padding: 10px 14px 10px 10px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border, #dedede);
  border-radius: 18px;
  color: #202124;
  text-align: left;
  background: #fff;
  box-shadow: none;}

.chat-avatar-change-card .chat-avatar-change-image {width: 48px; height: 48px; border-radius: 50%;}

.chat-avatar-change-card > span {display: grid; min-width: 0; gap: 3px;}

.chat-avatar-change-card strong {font-size: 14px;}

.chat-avatar-change-card small {color: #707070; font-size: 11px; line-height: 1.45; white-space: normal;}

.live-detail-messages .live-comment {width: 100%;
  max-width: none;
  padding: 8px 54px 8px 9px;
  color: #1c1c20;
  background: #fff;
  text-shadow: none;}

.live-detail-messages .live-comment strong {color: #696970;}

.live-detail-messages .live-comment.is-user {background: #eafafd;}

.live-detail-messages .live-comment.is-replied {background: #fff0f3;}

.live-detail-messages .live-comment time {color: #a0a0a5;}

.live-detail-messages {max-height: 430px;
  display: grid;
  gap: 5px;
  overflow-y: auto;}

#appScreen .panel .chat-search-results {display: grid;
  min-height: 0;
  gap: 10px;
  padding: 12px 0 0;
  color: var(--skin-text) !important;
  background: transparent !important;}

.chat-search-summary {display: grid;
  gap: 3px;
  padding: 2px 2px 4px;}

.chat-search-summary small,
.chat-search-jump-hint {color: var(--skin-muted);
  font-size: 11px;}

.chat-search-result-row {display: grid;
  width: 100%;
  gap: 8px;
  padding: 12px;
  text-align: left;
  color: var(--skin-text);
  border: 1px solid var(--skin-border);
  border-radius: 15px;
  background: var(--surface-strong);
  box-shadow: none;}

.chat-search-result-row:active {transform: scale(.988);}

.chat-search-result-head {display: flex;
  align-items: center;
  min-width: 0;
  gap: 7px;}

.chat-search-result-head strong {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.chat-search-result-head small {margin-left: auto;
  color: var(--skin-muted);
  font-size: 11px;
  white-space: nowrap;}

.chat-search-result-row p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--skin-text);
  line-height: 1.55;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;}

.chat-search-jump-hint {justify-self: end;
  color: #4f6fc4;
  font-weight: 800;}

.chat-search-loading {display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px;
  color: var(--skin-muted);}

.chat-search-loading span {width: 16px;
  height: 16px;
  border: 2px solid color-mix(in srgb, var(--skin-muted) 28%, transparent);
  border-top-color: #5c77c8;
  border-radius: 50%;
  animation: chatSearchSpin .75s linear infinite;}

.chat-search-loading p {margin: 0;}

.message-row.chat-search-hit,
.chat-withdrawn-notice.chat-search-hit {border-radius: 16px;
  animation: chatSearchLocatePulse 1.05s ease-in-out 2;}

@media (prefers-reduced-motion: reduce) {
.message-row.chat-search-hit,
.chat-withdrawn-notice.chat-search-hit {background: rgba(91, 119, 210, .14);
    animation: none;}
}

@media (max-width: 420px) {
.chat-search-result-head {flex-wrap: wrap;}
.chat-search-result-head small {width: 100%;
    margin-left: 0;}
}

#messages > .message-row {contain: layout style;}

#messages > .message-row[hidden],
#messages > .message-time-divider[hidden] {display: none !important;}

@media (hover: none), (max-width: 768px) {
.chat-layout.bubble-glass .bubble {backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;}
.chat-layout.bubble-glass .bubble {box-shadow: 0 4px 14px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;}
}

.ying-setting-group-head {display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;background:transparent;text-align:left}

.ying-setting-group-head>span {display:grid;grid-template-columns:1fr auto;gap:3px 8px}

.ying-setting-group-head small {grid-column:1/-1;color:var(--ying-smoke);font-size:9px;letter-spacing:.1em}

.ying-setting-group-head strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:18px;font-weight:400}

.ying-setting-group-head em {color:var(--ying-smoke);font-size:10px;font-style:normal}

#appScreen:has(.chat-layout) {padding-bottom: 0 !important;}

#appScreen > .app-body:has(.chat-layout) {min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  flex: 1 1 0 !important;
  overflow: hidden !important;}

/* Existing canonical module rules follow. */
/*
 * wechat feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.wechat-group-chat .group-extra-panel[data-group-extra-panel="stickers"] {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  overflow-x: hidden !important;
  writing-mode: horizontal-tb !important;
}

.wechat-group-chat .group-extra-panel .sticker-send-group {
  display: block !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}

.wechat-group-chat .group-extra-panel .sticker-send-group-title {
  display: block !important;
  margin: 2px 2px 8px !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
}

.wechat-group-chat .group-extra-panel .sticker-send-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

.wechat-group-chat .group-extra-panel .sticker-button {
  min-width: 0 !important;
  min-height: 82px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 7px 3px !important;
  writing-mode: horizontal-tb !important;
}

.wechat-group-chat .group-extra-panel .sticker-button img {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  object-fit: contain !important;
}

.wechat-group-chat .group-extra-panel .sticker-button small {
  width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-align: center !important;
}

.wechat-group-chat .group-extra-panel[data-group-extra-panel="plus"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.group-red-packet-card {
  width: min(290px, 100%);
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  padding: 13px;
  background: #f29a38;
  color: #fff;
  text-align: left;
}

.group-red-packet-card.finished { background: #d6a06b; }

.group-red-packet-card.expired { filter: grayscale(.45); opacity: .78; }

.group-red-packet-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e7c16a;
  color: #b84931;
  font-weight: 900;
}

.group-red-packet-card strong,
.group-red-packet-card small,
.group-red-packet-card em { display: block; }

.group-red-packet-card small { margin-top: 4px; color: rgba(255,255,255,.86); }

.group-red-packet-card em { margin-top: 7px; color: rgba(255,255,255,.92); font-size: 10px; font-style: normal; line-height: 1.45; }

.group-recipient-list { display: grid; gap: 7px; max-height: 48vh; overflow: auto; }

.group-recipient-list button { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--skin-border, #dce3e8); border-radius: 7px; padding: 9px; background: var(--phone-bg, #f8fafb); color: var(--skin-text, #26313b); text-align: left; }

.group-recipient-list button > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #dfe9e5; color: #426b5e; font-weight: 900; }

.group-recipient-list button small { color: var(--skin-muted, #74808a); }

.group-red-packet-preview { display: grid; gap: 5px; border-radius: 8px; padding: 18px; background: linear-gradient(135deg, #f05c42, #d94732); color: #fff; }

.group-red-packet-preview strong { font-size: 30px; }

.group-red-packet-targets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  max-height: 150px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--skin-border, #dce3e8);
  border-radius: 10px;
  background: var(--phone-bg, #f8fafb);
}

.group-red-packet-targets[hidden] { display: none !important; }

.group-red-packet-targets label {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--skin-text, #26313b);
  font-size: 12px;
}

.group-red-packet-targets span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-poll-card,
.group-relay-card {
  width: min(310px, 100%);
  display: grid;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #9f7f8d) 16%, var(--skin-border, #dce3e8));
  border-radius: 16px;
  padding: 12px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, var(--skin-accent, #9f7f8d) 8%);
  color: var(--skin-text, #26313b);
  box-shadow: 0 8px 22px rgba(28, 42, 56, .06);
}

.group-message-row.user .group-poll-card,
.group-message-row.user .group-relay-card {
  justify-self: end;
}

.group-poll-card header,
.group-relay-card header {
  display: grid;
  gap: 3px;
}

.group-poll-card header span,
.group-relay-card header span {
  color: color-mix(in srgb, var(--skin-accent, #9f7f8d) 78%, var(--skin-text, #26313b));
  font-size: 11px;
  font-weight: 900;
}

.group-poll-card header strong,
.group-relay-card header strong {
  font-size: 14px;
  line-height: 1.35;
}

.group-poll-card header small,
.group-relay-card header small {
  color: var(--skin-muted, #72808c);
  font-size: 10px;
}

.group-poll-options {
  display: grid;
  gap: 7px;
}

.group-poll-options button {
  position: relative;
  min-height: 38px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #9f7f8d) 18%, var(--skin-border, #dce3e8));
  border-radius: 12px;
  padding: 0 10px;
  background: var(--phone-bg, #f8fafb);
  color: var(--skin-text, #26313b);
  text-align: left;
}

.group-poll-options button i {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 0;
  background: color-mix(in srgb, var(--skin-accent, #9f7f8d) 16%, transparent);
}

.group-poll-options button span,
.group-poll-options button em {
  position: relative;
  z-index: 1;
}

.group-poll-options button span {
  display: block;
  padding-right: 68px;
  font-size: 13px;
  font-weight: 800;
}

.group-poll-options button em {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  color: var(--skin-muted, #72808c);
  font-size: 10px;
  font-style: normal;
}

.group-relay-card p {
  margin: 0;
  color: var(--skin-muted, #72808c);
  font-size: 12px;
  line-height: 1.45;
}

.group-relay-entries {
  display: grid;
  gap: 6px;
}

.group-relay-entries > div {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px;
  border-radius: 12px;
  background: var(--phone-bg, #f8fafb);
}

.group-relay-entries b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-accent, #9f7f8d) 16%, transparent);
  color: color-mix(in srgb, var(--skin-accent, #9f7f8d) 78%, var(--skin-text, #26313b));
  font-size: 11px;
}

.group-relay-entries strong,
.group-relay-entries small {
  display: block;
  line-height: 1.4;
}

.group-relay-entries small {
  color: var(--skin-muted, #72808c);
  white-space: pre-wrap;
}

.group-relay-entries > em {
  color: var(--skin-muted, #72808c);
  font-size: 12px;
  font-style: normal;
}

.group-relay-card > button {
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-accent, #9f7f8d) 16%, var(--surface-strong, #fff));
  color: color-mix(in srgb, var(--skin-accent, #9f7f8d) 80%, var(--skin-text, #26313b));
  font-weight: 900;
}

.moments-gradient { background: linear-gradient(145deg, #253047, #61ca8b); }

.wechat-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.wechat-list-head > span { min-width: 0; }

.wechat-new-group { width: 34px; height: 34px; border: 0; border-radius: 7px; background: var(--skin-soft, #edf3f8); color: var(--skin-text, #23303d); font-size: 23px; line-height: 1; }

.group-avatar { width: 46px; height: 46px; flex: 0 0 46px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; padding: 3px; border-radius: 7px; background: #dce4ea; overflow: hidden; }

.group-avatar .group-avatar-person,
.group-avatar .avatar { width: 18px !important; height: 18px !important; min-width: 18px !important; border-radius: 4px !important; font-size: 8px !important; }

.group-editor-form label:not(.group-member-choice):not(.group-inline-check) { display: grid; gap: 7px; font-size: 12px; color: var(--skin-muted, #6f7b86); }

.group-member-picker { display: grid; }

.group-member-choice { min-width: 0; display: grid; grid-template-columns: 40px minmax(0, 1fr) 24px; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--skin-border, #e6ebef); }

.group-member-choice:last-child { border-bottom: 0; }

.group-member-choice > span { min-width: 0; display: grid; gap: 2px; }

.group-member-choice small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--skin-muted, #7a8791); }

.group-admin-picker { display: flex; flex-wrap: wrap; gap: 6px 14px; }

.group-create-wizard .wechat-section-head span { color: var(--skin-muted, #7a8791); font-size: 12px; font-weight: 800; }

.wechat-group-chat { height: 100%; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; background: color-mix(in srgb, var(--phone-bg, #f3f5f7) 90%, #dfe8ee 10%); }

.group-announcement-bar { width: 100%; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid var(--skin-border, #dfe5ea); padding: 9px 13px; background: var(--skin-panel, #fff); color: var(--skin-text, #26313b); text-align: left; }

.group-announcement-bar strong { font-size: 11px; color: #50806f; }

.group-announcement-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }

.group-announcement-bar em { font-style: normal; color: var(--skin-muted, #88939c); }

.group-message-list { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 14px 12px 18px; }

.group-message-row { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; }

.group-message-row.user { justify-content: flex-end; }

.group-message-row.loading { justify-content: flex-start; padding-left: 44px; }

.group-message-stack { min-width: 0; max-width: min(76%, 560px); display: grid; gap: 4px; }

.group-message-row.user .group-message-stack { justify-items: end; }

.group-message-stack > small { padding: 0 3px; color: var(--skin-muted, #7b8790); font-size: 10px; }

.group-message-stack > small b { margin-left: 5px; padding: 1px 4px; border-radius: 3px; background: #dcece6; color: #477263; font-weight: 600; }

.group-message-stack > small i { color: var(--skin-muted, #84909a); font-style: normal; opacity: .72; }

.group-message-bubble { white-space: pre-wrap; overflow-wrap: anywhere; padding: 9px 11px; border-radius: 7px; background: var(--skin-panel, #fff); color: var(--skin-text, #1d2730); box-shadow: 0 1px 2px rgba(30, 50, 65, .08); font-size: 14px; line-height: 1.45; }

.group-message-row.user .group-message-bubble { background: #95ec69; color: #172016; }

.group-message-bubble.error { color: #a23e45; }

.group-composer-wrap { border-top: 1px solid var(--skin-border, #dce3e8); background: var(--skin-panel, #fff); padding: 7px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)); }

.group-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: end; }

.group-composer textarea { min-height: 36px; max-height: 96px; resize: none; box-sizing: border-box; border: 1px solid var(--skin-border, #d7dfe5); border-radius: 7px; padding: 8px 10px; background: var(--phone-bg, #f8fafb); color: var(--skin-text, #1f2a33); font: inherit; }

.group-composer button { min-height: 36px; border: 0; border-radius: 7px; padding: 0 15px; background: #4f927b; color: #fff; font-weight: 600; }

.wechat-shell.group-conversation-open {
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding-bottom: max(4px, env(safe-area-inset-bottom)) !important;
}

.wechat-shell.group-conversation-open > .wechat-bottom-tabs { display: none !important; }

.wechat-shell.group-conversation-open > .wechat-main { overflow: hidden !important; padding-bottom: 0 !important; }

.wechat-group-chat.chat-layout {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background-color: var(--phone-bg, #ededed);
  background-position: center;
  background-size: cover;
}

.wechat-group-chat .wechat-chat-topbar,
.wechat-group-chat .group-announcement-bar { flex: 0 0 auto; }

.wechat-group-chat .group-message-list { flex: 1 1 auto; min-height: 0; }

.wechat-group-chat .group-composer-wrap { flex: 0 0 auto; min-width: 0; padding-bottom: max(8px, env(safe-area-inset-bottom)); }

.wechat-group-chat .group-composer { grid-template-columns: 36px 36px 36px minmax(0, 1fr) auto; align-items: center; }

.wechat-group-chat .group-composer .composer-icon { width: 36px; min-width: 36px; padding: 0; border-radius: 50%; background: transparent; color: var(--skin-text, #26323a); font-size: 22px; }

.wechat-group-chat .group-send-button { min-width: 58px; padding: 0 12px; }

.wechat-group-chat .group-extra-panel { position: static; max-height: min(34vh, 260px); margin-top: 7px; overflow: auto; }

.wechat-group-chat .group-quote-draft { margin: 0 0 7px; }

.wechat-group-chat .group-message-bubble { background: var(--chat-bubble-assistant, #fff); }

.wechat-group-chat .group-message-row.user .group-message-bubble { background: var(--chat-bubble-user, #95ec69); }

.wechat-group-chat.bubble-glass .group-message-bubble,
.wechat-group-chat.bubble-glass .chat-text-image-card,
.wechat-group-chat.bubble-glass .voice-card,
.wechat-group-chat.bubble-glass .location-card,
.wechat-group-chat.bubble-glass .transfer-card { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: var(--chat-bubble-assistant) !important; }

.wechat-group-chat.bubble-glass .group-message-row.user .group-message-bubble,
.wechat-group-chat.bubble-glass .group-message-row.user .chat-text-image-card,
.wechat-group-chat.bubble-glass .group-message-row.user .voice-card,
.wechat-group-chat.bubble-glass .group-message-row.user .location-card,
.wechat-group-chat.bubble-glass .group-message-row.user .transfer-card { background: var(--chat-bubble-user) !important; }

.group-avatar-mind { display: inline-grid; flex: 0 0 auto; border: 0; padding: 0; background: transparent; }

.group-avatar-mind .avatar { margin: 0; }

.group-message-stack .chat-text-image-card,
.group-message-stack .chat-image-card,
.group-message-stack .voice-card,
.group-message-stack .location-card,
.group-message-stack .transfer-card { max-width: 100%; }

.wechat-group-chat .mind-panel { z-index: 25; }

.wechat-group-chat .group-composer { grid-template-columns: 34px 34px 34px minmax(0, 1fr) 54px; gap: 5px; }

.wechat-group-chat .group-composer textarea { min-width: 0; }

.wechat-group-chat .group-message-stack { max-width: 78%; }

.wechat-chat-topbar {
  min-height: 52px;
  display: grid;
  grid-template-columns: 48px 1fr 56px;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(242, 242, 242, 0.94);
  color: #111318;
}

.wechat-chat-topbar strong {
  justify-self: center;
  font-size: 18px;
}

.wechat-top-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #111318;
  background: transparent;
  font-size: 34px;
  line-height: 1;
}

.wechat-top-icon.dots {
  font-size: 20px;
  letter-spacing: 2px;
}

[data-wechat-group-chat] [data-group-message-menu] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.wechat-shell {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 10px;
}

.wechat-main {
  min-height: 0;
  overflow: auto;
}

.wechat-list {
  display: grid;
  gap: 8px;
}

.wechat-section-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 8px;
  color: #17181c;
}

.wechat-section-head h2 {
  margin: 0;
  font-size: 22px;
  text-align: center;
}

.wechat-section-head button {
  width: 42px;
  height: 42px;
  justify-self: center;
  border-radius: 50%;
  color: #fff;
  background: #07c160;
  font-size: 26px;
  font-weight: 900;
}

.wechat-contact {
  width: 100%;
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 20px;
  color: #17181c;
  background: rgba(255, 255, 255, 0.86);
  text-align: left;
}

.wechat-contact small {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: var(--skin-muted, #626b78);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wechat-contact > span {
  min-width: 0;
}

.wechat-bottom-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.84);
}

.wechat-tab {
  min-height: 42px;
  border-radius: 16px;
  color: #5b6470;
  background: transparent;
  font-weight: 800;
}

.wechat-tab.active {
  color: #fff;
  background: #19b45b;
}

.wechat-back {
  justify-self: start;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  color: #0a84ff;
  background: rgba(255, 255, 255, 0.86);
  font-weight: 800;
}

.moments-page {
  min-height: 100%;
  background: #fff;
}

.moments-cover {
  position: relative;
  height: 260px;
  background: linear-gradient(145deg, rgba(20, 24, 28, 0.2), rgba(20, 24, 28, 0.35)), var(--wallpaper-image, url("data:image/webp;base64,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")) center / cover;
}

.moments-back,
.moments-camera {
  position: absolute;
  top: 16px;
  color: #fff;
  background: rgba(0, 0, 0, 0.16);
  font-weight: 900;
}

.moments-back {
  left: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 30px;
}

.moments-camera {
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 28px;
  line-height: 1;
}

.moments-top-menu {
  position: absolute;
  top: 58px;
  right: 14px;
  z-index: 4;
  display: grid;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(47, 54, 64, 0.96);
}

.moments-top-menu[hidden] {
  display: none;
}

.moments-top-menu button {
  min-width: 130px;
  min-height: 38px;
  padding: 0 12px;
  color: #fff;
  background: transparent;
  text-align: left;
}

.wechat-section-head button:first-child {
  justify-self: start;
}

.wechat-section-head button:last-child {
  justify-self: end;
}

.moments-profile {
  position: absolute;
  right: 18px;
  bottom: -32px;
  display: flex;
  align-items: end;
  gap: 12px;
  color: #fff;
  font-size: 25px;
}

.moments-avatar {
  width: 76px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 14px;
  background: linear-gradient(145deg, #22b872, #2e7cf7);
}

.wechat-shell,
.moments-page {
  background: var(--phone-bg);
  color: var(--skin-text);
}

.moments-top-menu {
  background: color-mix(in srgb, var(--phone-bg) 88%, #000 12%);
  border: 1px solid var(--skin-border);
  color: var(--skin-text);
}

.wechat-shell,
.wechat-main {
  color: var(--skin-text);
  background: var(--phone-bg);
}

.wechat-bottom-tabs {
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--phone-bg) 78%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.wechat-tab {
  color: var(--skin-muted);
}

.wechat-tab.active {
  color: #fff;
  background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
}

.moments-page {
  background: var(--phone-bg);
  color: var(--skin-text);
}

.moments-feed {
  display: grid;
  padding-top: 54px;
}

.wechat-me-card {
  min-height: 160px;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 18px;
  padding: 28px 24px;
  color: var(--skin-text);
  background: var(--surface-strong);
  border-bottom: 1px solid var(--skin-border);
}

.wechat-me-card .profile-avatar {
  width: 86px;
  height: 86px;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  background: transparent;
}

.wechat-me-card .profile-avatar .avatar {
  width: 86px;
  height: 86px;
  border-radius: 16px;
}

.wechat-me-info {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 0;
  text-align: left;
  background: transparent;
}

.wechat-me-info strong {
  color: var(--skin-text);
  font-size: 28px;
  line-height: 1;
}

.wechat-me-info span {
  color: var(--skin-muted);
  font-size: 18px;
}

.wechat-me-info small {
  display: flex;
  gap: 8px;
}

.wechat-me-info small span {
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  padding: 0 12px;
  border: 1px solid var(--skin-border);
  border-radius: 999px;
  color: var(--skin-muted);
  background: transparent;
}

.wechat-me-card > em {
  color: var(--skin-muted);
  font-style: normal;
  font-size: 22px;
}

.wechat-me-section {
  margin-top: 10px;
  border-top: 1px solid var(--skin-border);
  border-bottom: 1px solid var(--skin-border);
  background: var(--surface-strong);
}

.wechat-me-section.single {
  margin-top: 12px;
}

.wechat-me-section button {
  width: 100%;
  min-height: 66px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto 22px;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  border-bottom: 1px solid var(--skin-border);
  color: var(--skin-text);
  background: transparent;
  text-align: left;
}

.wechat-me-section button:last-child {
  border-bottom: 0;
}

.wechat-me-section strong {
  color: var(--skin-text);
  font-size: 20px;
  font-weight: 650;
}

.wechat-me-section small {
  color: var(--skin-muted);
  font-size: 13px;
}

.wechat-me-section em {
  color: var(--skin-muted);
  font-style: normal;
  font-size: 26px;
}

.wechat-tabbar {
  background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
}

.wechat-section-head h2 {
  color: var(--skin-text) !important;
}

.wechat-chat-topbar,
.wechat-bottom-tabs,
.wechat-contact {
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}

.wechat-top-icon,
.wechat-contact strong,
.wechat-tab {
  color: var(--skin-text) !important;
}

.wechat-tab.active {
  background: var(--skin-accent) !important;
  color: var(--phone-bg) !important;
}

.wechat-contact small {
  color: var(--skin-muted) !important;
}

.wechat-shell {
  min-height: 100%;
  gap: 0 !important;
  background: var(--phone-bg) !important;
}

.wechat-main {
  background: var(--phone-bg);
}

.wechat-chat-topbar {
  grid-template-columns: 46px 1fr 46px !important;
  min-height: 56px !important;
  padding: 8px !important;
  border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  color: var(--skin-text) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
}

.wechat-top-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
  min-width: 0;
}

.wechat-top-title strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--skin-text);
}

.wechat-top-title small {
  margin-top: 1px;
  font-size: 11px;
  color: var(--skin-muted);
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wechat-top-icon {
  color: var(--skin-text) !important;
}

.moments-back {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  font-size: 27px !important;
  line-height: 28px !important;
}

.moments-back {
  left: auto !important;
  right: 24px !important;
  top: 18px !important;
}

.moments-camera {
  right: 66px !important;
}

.wechat-chat-topbar {
  grid-template-columns: 42px 1fr 48px !important;
}

.wechat-top-icon {
  width: 38px !important;
  height: 38px !important;
  font-size: 28px !important;
}

.wechat-shell {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

.wechat-chat-topbar {
  border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
}

.wechat-shell,
.moments-page {
  background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}

.wechat-chat-topbar,
.wechat-section-head {
  border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

.wechat-top-icon,
.moments-back,
.moments-camera {
  min-width: var(--skin-control-height) !important;
  width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  border-radius: 50% !important;
  color: var(--skin-title) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-list {
  gap: var(--skin-gap) !important;
}

.wechat-shell {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 0 12px 12px !important;
}

.wechat-main {
  min-height: 0 !important;
  overflow: auto !important;
  padding-bottom: 4px !important;
}

.wechat-contact {
  min-height: 74px !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-contact small,
.wechat-tab {
  color: var(--skin-muted) !important;
}

.wechat-bottom-tabs {
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 8px !important;
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-tab {
  min-height: 42px !important;
  border-radius: var(--skin-radius-sm) !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.wechat-tab.active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
}

.wechat-shell,
.moments-page {
  color: var(--skin-text) !important;
}

.wechat-shell,
.moments-page {
  background: var(--phone-bg) !important;
}

.app-body:has(.wechat-shell) {
  overflow: hidden !important;
}

.wechat-shell {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 0 var(--skin-page-pad) var(--skin-page-pad) !important;
}

.wechat-main {
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 2px 0 4px !important;
}

.wechat-list {
  gap: 10px !important;
  padding-bottom: 6px !important;
}

.wechat-bottom-tabs {
  flex: 0 0 auto !important;
  min-height: 60px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 8px !important;
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  box-shadow: var(--skin-shadow-soft) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
}

.wechat-tab {
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 6px !important;
  border-radius: var(--skin-radius-sm) !important;
  color: var(--skin-muted) !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.wechat-tab.active {
  color: #fffaf0 !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}

.wechat-chat-topbar {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: var(--skin-control-height) minmax(0, 1fr) var(--skin-control-height) !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 0 0 var(--skin-radius-lg) var(--skin-radius-lg) !important;
  border-bottom: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-title) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-top-title {
  min-width: 0 !important;
}

.wechat-top-title strong,
.wechat-top-title small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.wechat-me-card,
.wechat-me-section {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-contact {
  min-height: 74px !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.wechat-contact strong,
.wechat-me-info strong {
  color: var(--skin-title) !important;
}

.wechat-contact small,
.wechat-me-info span,
.wechat-me-info small {
  color: var(--skin-muted) !important;
}

.wechat-top-icon,
.moments-back,
.moments-camera {
  width: var(--skin-control-height) !important;
  min-width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

.wechat-chat-topbar {
  position: relative !important;
  grid-template-columns: var(--skin-control-height) minmax(0, 1fr) var(--skin-control-height) !important;
}

.wechat-top-title {
  position: absolute !important;
  inset: 7px calc(var(--skin-control-height) + 16px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}

.wechat-top-icon {
  position: relative !important;
  z-index: 2 !important;
}

.wechat-top-title {
  position: relative;
  z-index: 4;
  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
}

.wechat-top-title {
  min-height: 44px;
  padding: 0 8px;
}

.wechat-chat-topbar {
  grid-row: 1 !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 20 !important;
}

body.theme-apple .wechat-chat-topbar,
body.theme-apple .wechat-tabbar {
  color: var(--skin-text) !important;
  background: rgba(247, 248, 251, 0.78) !important;
  border-color: rgba(110, 118, 130, 0.12) !important;
  box-shadow: 0 8px 22px rgba(74, 87, 110, 0.08) !important;
  backdrop-filter: blur(24px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.14) !important;
}

html[data-ui-mode="dark"] body.theme-apple .wechat-chat-topbar,
html[data-ui-mode="dark"] body.theme-apple .wechat-tabbar {
  color: var(--skin-text) !important;
  background: rgba(26, 28, 34, 0.78) !important;
  border-color: var(--skin-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.20) !important;
}

body.theme-apple .wechat-contact,
body.theme-apple .wechat-me-card,
body.theme-apple .wechat-me-section,
body.theme-apple .wechat-bottom-tabs {
  box-shadow: var(--skin-shadow-soft) !important;
}

body.theme-apple .wechat-tab.active {
  background: #8eb0da !important;
  color: #ffffff !important;
  border-color: rgba(87, 124, 166, 0.18) !important;
}

.wechat-chat-tools {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
}

.wechat-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 2px;
  color: var(--skin-text, #17181c);
}

.wechat-list-head h2 {
  margin: 0;
  font-size: 22px;
}

.wechat-list-head small {
  color: var(--skin-muted, #626b78);
  font-size: 12px;
  font-weight: 800;
}

.wechat-thread-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--skin-border, #d8dce3) 34%, transparent);
}

.wechat-thread-tabs button {
  min-height: 34px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: var(--skin-muted, #626b78);
  font-size: 13px;
  font-weight: 900;
}

.wechat-thread-tabs button.active {
  background: var(--surface-strong, #fff);
  color: var(--skin-text, #17181c);
  box-shadow: 0 8px 18px rgba(25, 35, 48, .08);
}

.wechat-head-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
  max-width: min(62vw, 360px);
}

.wechat-model-self-button {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #8b6f9f) 28%, var(--skin-border, #d8dce3));
  border-radius: 999px;
  padding: 0 12px;
  background: color-mix(in srgb, var(--skin-accent, #8b6f9f) 12%, var(--surface-strong, #fff));
  color: var(--skin-text, #17181c);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.wechat-head-actions {
    max-width: 58vw;
    gap: 5px;
  }

.wechat-model-self-button {
    min-height: 28px;
    padding: 0 8px;
    font-size: 10.5px;
  }

.wechat-contact-row {
  display: block;
}

.wechat-contact-row.pinned .wechat-contact {
  background: linear-gradient(145deg, color-mix(in srgb, var(--surface-strong, #fff) 86%, #d8f0e4 14%), color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent)) !important;
}

.wechat-contact-row.blocked {
  opacity: 0.72;
}

.wechat-pin-badge,
.wechat-block-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  margin-left: 6px;
  padding: 0 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-accent, #07c160) 16%, transparent);
  color: var(--skin-text, #17181c);
  font-size: 11px;
  font-weight: 900;
}

.wechat-block-badge {
  background: rgba(80, 86, 98, 0.14);
}

.wechat-message-toast {
  position: fixed;
  top: max(12px, calc(8px + var(--safe-top)));
  left: 14px;
  right: 14px;
  z-index: 1000001;
  min-height: 62px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 22px;
  color: #17181c;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 46px rgba(16, 20, 26, 0.22);
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
  text-align: left;
  animation: wechatToastDrop 0.22s ease both;
}

.wechat-message-toast .avatar {
  width: 42px;
  border-radius: 14px;
}

.wechat-message-toast strong,
.wechat-message-toast small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wechat-message-toast small {
  margin-top: 2px;
  color: rgba(23, 24, 28, 0.62);
  font-size: 12px;
}

.wechat-message-toast em {
  color: rgba(23, 24, 28, 0.52);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.wechat-chat-topbar > [data-back-wechat] {
  grid-column: 1 !important;
  justify-self: start !important;
}

.wechat-chat-topbar > .wechat-top-icon.dots,
.wechat-chat-topbar > #chatSettingsTopButton {
  grid-column: 3 !important;
  justify-self: end !important;
  align-self: center !important;
  margin-left: 0 !important;
}

.custom-ui-preview-demo .wechat-shell {
  min-height: auto;
  height: auto;
}

html[data-ui-mode="light"] body.theme-aurora :where(.app-topbar, .top-bar, .home-widget, .dock, .widget, .chat-composer, .chat-plus-panel, .wechat-header, .settings-topbar) {
  background: rgba(255, 248, 235, 0.74) !important;
  border-color: rgba(118, 84, 45, 0.18) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 16px 38px rgba(100, 72, 38, 0.13) !important;
}

.discover-page {
  min-height: 100%;
  padding: 14px 14px calc(92px + var(--safe-bottom));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: #1f2430;
  background:
    radial-gradient(circle at 18% 8%, rgba(191, 151, 80, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(246, 239, 224, 0.96), rgba(240, 232, 216, 0.94));
}

.discover-hero {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(124, 89, 42, 0.16);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.36)),
    repeating-linear-gradient(45deg, rgba(128, 92, 40, 0.06) 0 1px, transparent 1px 12px);
  box-shadow: 0 16px 34px rgba(60, 45, 22, 0.08), inset 0 1px rgba(255,255,255,.72);
}

.discover-orbit {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #9d6f2e;
  background:
    radial-gradient(circle, rgba(255,255,255,.92) 0 30%, transparent 31%),
    conic-gradient(from 28deg, rgba(157, 111, 46, .22), rgba(9, 27, 61, .16), rgba(157, 111, 46, .22));
  font-size: 25px;
  box-shadow: inset 0 0 0 1px rgba(157, 111, 46, 0.18);
}

.discover-hero h2 {
  margin: 0;
  font-size: 25px;
  letter-spacing: -.02em;
}

.discover-hero p {
  margin: 4px 0 0;
  color: rgba(39, 43, 50, .68);
  font-size: 13px;
  line-height: 1.55;
}

.discover-list {
  display: grid;
  gap: 10px;
}

.discover-row {
  width: 100%;
  min-height: 74px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(124, 89, 42, 0.12);
  border-radius: 22px;
  color: #1f2430;
  background: rgba(255, 255, 255, 0.82);
  text-align: left;
  box-shadow: 0 12px 22px rgba(42, 31, 19, 0.06);
}

.discover-row strong,
.discover-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.discover-row strong { font-size: 16px; }

.discover-row small { margin-top: 3px; color: rgba(31, 36, 48, .58); font-size: 12.5px; }

.discover-row em { color: rgba(31, 36, 48, .32); font-style: normal; font-size: 25px; }

.discover-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  font-size: 23px;
  font-weight: 900;
}

.discover-icon.moments { background: linear-gradient(145deg, #43c27d, #1e9162); }

.discover-icon.period { background: linear-gradient(145deg, #ef7d9f, #c84d7d); }

.discover-icon.tarot { background: linear-gradient(145deg, #091b3d, #173260 58%, #9d6f2e); }

.discover-list {
  gap: 12px;
}

.discover-row {
  min-height: 78px;
  border-radius: 24px;
  border-color: rgba(124, 89, 42, 0.10);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,247,241,.92));
  box-shadow: 0 14px 28px rgba(42, 31, 19, 0.08), inset 0 1px rgba(255,255,255,.6);
}

.discover-row strong { font-size: 16.5px; }

.discover-row small { color: rgba(31, 36, 48, .66); }

.discover-icon {
  border-radius: 18px;
  box-shadow: inset 0 1px rgba(255,255,255,.26), 0 10px 20px rgba(9, 24, 52, .12);
}

.discover-icon.album {
  background: linear-gradient(145deg, #7aa9ff, #6d78d8 58%, #b890ff);
}

.discover-hero {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
}

.discover-hero p { color: var(--ed-muted) !important; }

.app-screen .panel .wechat-contact,
.app-screen .wechat-contact {
  background: var(--ed-surface-strong) !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ed-text) 6%, transparent) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.app-screen .wechat-contact strong { color: var(--ed-text) !important; }

.app-screen .wechat-contact small { color: var(--ed-muted) !important; }

.discover-page {
  background: var(--ed-bg) !important;
  color: var(--ed-text) !important;
}

body.theme-apple  :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.favorite-search-result,.diary-card,.important-date-card,.life-status-section),
body.theme-aurora :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.favorite-search-result,.diary-card,.important-date-card,.life-status-section) {
  background: #ffffff !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
  box-shadow: 0 1px 2px rgba(34,52,74,.05) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.theme-apple  :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.diary-card,.important-date-card) :is(strong,h2,h3,h4,b),
body.theme-aurora :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.diary-card,.important-date-card) :is(strong,h2,h3,h4,b) {
  color: var(--ed-text) !important;
}

body.theme-apple  :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.diary-card,.important-date-card) :is(small,p,time,em,.muted),
body.theme-aurora :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.favorite-card,.diary-card,.important-date-card) :is(small,p,time,em,.muted) {
  color: var(--ed-muted) !important;
}

#appScreen :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.memory-module-card,.favorite-card,.favorite-search-result,.diary-card,.important-date-card,.life-status-section) {
  background: var(--ed-surface-strong) !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ed-text) 6%, transparent) !important;
  background-image: none !important;
}

#appScreen :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.memory-module-card,.favorite-card,.favorite-search-result,.diary-card,.important-date-card) :is(strong,h2,h3,h4,b) {
  color: var(--ed-text) !important;
}

#appScreen :is(.persona-row,.wechat-contact,.api-log-row,.api-log-block,.world-row,.memory-entry,.memory-module-card,.favorite-card,.favorite-search-result,.diary-card,.important-date-card) :is(small,p,time,em,.muted) {
  color: var(--ed-muted) !important;
}

body[class*="theme-tone-"] :is(.app-topbar, .wechat-chat-topbar, .composer, .wechat-tabbar, .date-char-strip) {
  color: var(--tone-text) !important;
  background: color-mix(in srgb, var(--tone-phone) 90%, transparent) !important;
  border-color: var(--tone-line) !important;
}

body[class*="theme-tone-"] :is(.app-topbar, .app-topbar span, .wechat-chat-topbar, .wechat-chat-topbar strong) {
  color: var(--tone-title) !important;
}

body[class*="theme-tone-"] :is(.back-button, .wechat-top-icon, .ghost-button, .tiny-button, .settings-back) {
  color: var(--tone-accent) !important;
  background: var(--tone-soft) !important;
  border-color: var(--tone-line) !important;
  box-shadow: none !important;
}

html[data-ui-mode="dark"] body[class*="theme-tone-"] :is(.message-action-menu, .moment-action-menu, .moments-top-menu) {
  color: var(--tone-text) !important;
  background: color-mix(in srgb, var(--tone-surface-strong) 94%, #000) !important;
  border-color: var(--tone-line) !important;
}

#appScreen .wechat-id-edit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; width: 100%; }

#appScreen .wechat-id-edit-row input { min-width: 0; width: 100%; }

#appScreen .wechat-id-edit-row .secondary-button { width: auto !important; min-width: 72px; max-width: 84px; padding-inline: 10px !important; flex: none; white-space: nowrap; }

#appScreen .wechat-account-badge,
#appScreen .wechat-title-account { display: inline-flex; align-items: center; margin-left: 6px; padding: 2px 5px; border-radius: 4px; background: #edf5fd; color: #5586ba; font-size: 9px; font-style: normal; font-weight: 700; vertical-align: middle; }

#appScreen .wechat-account-badge.alt,
#appScreen .account-thread .wechat-account-badge { background: #e3f0ff; color: #3778bc; }

#appScreen .wechat-account-line { color: #6f8eac; font-size: 10px; }

#appScreen .wechat-contact > span { min-width: 0; }

#appScreen .wechat-contact > span > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .wechat-top-title .wechat-title-account { max-width: 118px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .account-thread .wechat-account-line { color: #4f82b6; font-weight: 700; }

#appScreen .account-thread .wechat-contact[data-account-thread-delete] {
  -webkit-touch-callout: none;
  user-select: none;
  touch-action: pan-y;
}

#appScreen .wechat-chat-topbar #chatStatus { max-width: min(68vw, 330px); }

.wechat-group-chat { position: relative; }

.wechat-group-chat .mind-panel { z-index: 26; }

.wechat-group-chat .group-composer .composer-icon.group-send-batch { position: relative; }

.wechat-group-chat .group-composer .composer-icon.group-send-batch.has-pending { color: #4f927b; font-weight: 900; }

.wechat-group-chat .group-composer .composer-icon.group-send-batch.has-pending::after {
  content: ""; position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border-radius: 50%; background: #e8553d;
}

.wechat-group-chat .group-composer {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.wechat-group-chat .group-composer-input-wrap {
  min-width: 0;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 6px !important;
  border: 1px solid var(--skin-border, #d7dfe5) !important;
  border-radius: 20px !important;
  background: var(--phone-bg, #f8fafb) !important;
}

.wechat-group-chat .group-composer-input-wrap textarea {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 8px 4px;
  border: 0 !important;
  background: transparent !important;
  outline: 0;
}

.wechat-group-chat .group-composer .composer-icon {
  width: 34px;
  min-width: 34px;
  min-height: 38px;
}

.wechat-group-chat .group-send-button {
  min-width: 54px;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 19px !important;
}

.wechat-group-chat .group-plus-panel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 10px 6px 8px;
}

.wechat-group-chat .group-plus-panel .plus-action-button {
  min-width: 0;
}

.wechat-group-chat .group-plus-panel .plus-action-button.has-pending .plus-action-icon {
  color: #4f927b;
  font-weight: 900;
}

.wechat-group-chat .observer-plus-panel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.group-settings-page {
  min-height: 100%;
  padding-bottom: max(18px, env(safe-area-inset-bottom));
  background: var(--phone-bg, #f8fafb);
}

.group-settings-hero {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 10px 14px 12px;
  padding: 14px;
}

.group-settings-hero .group-avatar {
  width: 58px;
  height: 58px;
  border-radius: 18px;
}

.group-settings-hero span,
.group-settings-row span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.group-settings-hero strong {
  overflow: hidden;
  color: var(--skin-text, #26313b);
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-settings-hero small,
.group-settings-row small {
  color: var(--skin-muted, #72808c);
  font-size: 11px;
  line-height: 1.35;
}

.group-settings-list {
  display: grid;
  gap: 0;
  margin: 0 14px 12px;
  padding: 0;
  overflow: hidden;
}

.group-settings-row {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 0;
  border-bottom: 1px solid var(--skin-border, rgba(0,0,0,.08));
  padding: 10px 12px;
  background: transparent;
  color: var(--skin-text, #26313b);
  text-align: left;
}

.group-settings-row:last-child {
  border-bottom: 0;
}

.group-settings-row strong {
  font-size: 14px;
  font-weight: 800;
}

.group-settings-row em {
  color: var(--skin-muted, #9aa4ad);
  font-style: normal;
  font-size: 18px;
}

.wechat-group-chat .group-composer-wrap {
  padding: 8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, #dce3e8) 86%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, var(--phone-bg, #f8fafb) 8%) !important;
  box-shadow: 0 -8px 22px color-mix(in srgb, var(--skin-text, #26313b) 6%, transparent) !important;
}

.wechat-group-chat .group-mode-strip {
  min-height: 22px;
  margin: 0 2px 9px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 800;
}

.wechat-group-chat .group-mode-strip button {
  color: #4d7f72 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.wechat-group-chat .group-composer {
  grid-template-columns: 28px minmax(0, 1fr) 28px 28px 28px 56px !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 40px !important;
}

.wechat-group-chat .group-composer .composer-icon {
  width: 28px !important;
  min-width: 28px !important;
  height: 40px !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  color: var(--skin-muted, #6f7280) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.wechat-group-chat .group-composer .composer-icon[data-toggle-group-plus] {
  font-size: 20px !important;
}

.wechat-group-chat .group-composer .composer-icon.group-send-batch {
  font-size: 15px !important;
}

.wechat-group-chat .group-composer-input-wrap {
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 13px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #9f7f8d) 22%, var(--skin-border, #d7dfe5)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--phone-bg, #f8fafb) 84%, var(--surface-strong, #fff) 16%) !important;
  box-shadow: none !important;
}

.wechat-group-chat .group-composer-input-wrap textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  max-height: 96px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--skin-text, #26313b) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.wechat-group-chat .group-composer-input-wrap textarea::placeholder {
  color: color-mix(in srgb, var(--skin-muted, #788690) 66%, transparent) !important;
  font-weight: 800;
}

.wechat-group-chat .group-send-button {
  min-width: 56px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #9f7f8d) 32%, var(--skin-border, #d7dfe5)) !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--skin-accent, #9f7f8d) 78%, var(--skin-text, #26313b)) !important;
  background: color-mix(in srgb, var(--skin-accent, #9f7f8d) 12%, var(--surface-strong, #fff)) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.wechat-group-chat .group-composer { grid-template-columns: 24px minmax(0, 1fr) 24px 24px 24px 52px !important; gap: 5px !important; }

.wechat-group-chat .group-plus-panel,
.wechat-group-chat .observer-plus-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.chat-layout > .wechat-composer-v2.composer,
.wechat-group-chat .group-composer.wechat-composer-v2 {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 98px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: stretch !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 8px max(10px, env(safe-area-inset-right, 0px)) calc(7px + env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px)) !important;
  overflow: visible !important;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, #d8dce3) 72%, transparent) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--phone-bg, #f4f5f7) 94%, #fff 6%) !important;
  box-shadow: 0 -10px 26px rgba(24, 31, 40, 0.07) !important;
  backdrop-filter: blur(20px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.08) !important;
}

.wechat-composer-primary-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px 58px;
  align-items: center;
  gap: 8px;
}

.wechat-composer-primary-row .composer-input-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  max-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 9px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, #cfd4dc) 86%, transparent) !important;
  border-radius: 11px !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 96%, transparent) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66) !important;
}

.wechat-composer-primary-row .composer-input-wrap textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 32px !important;
  max-height: 94px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--skin-text, #15171b) !important;
  font: inherit !important;
  line-height: 1.35 !important;
  resize: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

.wechat-composer-primary-row .composer-model-send,
.wechat-group-chat .wechat-composer-primary-row .group-send-batch {
  box-sizing: border-box !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1.6px solid color-mix(in srgb, var(--skin-text, #17191d) 82%, transparent) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--skin-text, #17191d) !important;
  box-shadow: none !important;
}

.wechat-composer-primary-row .composer-model-send .moss-ui-icon {
  width: 22px;
  height: 22px;
  stroke-width: 1.9;
}

.wechat-composer-primary-row .composer-model-send.has-pending,
.wechat-group-chat .wechat-composer-primary-row .group-send-batch.has-pending {
  border-color: var(--skin-accent, #4775a8) !important;
  background: var(--skin-accent, #4775a8) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent, #4775a8) 28%, transparent) !important;
}

.wechat-composer-primary-row .composer-model-send:disabled,
.wechat-composer-primary-row .composer-send:disabled,
.wechat-composer-tool-row .composer-icon:disabled {
  opacity: 0.42 !important;
  pointer-events: none !important;
}

.wechat-composer-primary-row .composer-send,
.wechat-group-chat .wechat-composer-primary-row .group-send-button {
  box-sizing: border-box !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid #111318 !important;
  border-radius: 10px !important;
  background: #111318 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(17, 19, 24, 0.18) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.wechat-composer-tool-row {
  width: 100%;
  min-width: 0;
  min-height: 39px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 4px;
  padding: 0 1px;
}

.wechat-composer-tool-row .composer-icon,
.wechat-group-chat .wechat-composer-tool-row .composer-icon {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 39px !important;
  min-height: 39px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--skin-text, #17191d) !important;
  box-shadow: none !important;
  font-size: 0 !important;
}

.wechat-composer-tool-row .composer-icon .moss-ui-icon {
  width: 26px;
  height: 26px;
  stroke-width: 1.75;
}

.wechat-composer-tool-row .composer-icon:active {
  transform: scale(0.94);
  background: color-mix(in srgb, var(--skin-text, #17191d) 8%, transparent) !important;
}

.wechat-group-chat .group-composer-wrap {
  padding: 0 !important;
}

.wechat-group-chat .group-mode-strip,
.wechat-group-chat .group-quote-draft,
.wechat-group-chat .group-mention-panel {
  margin-inline: 9px !important;
}

.wechat-group-chat .group-plus-panel {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px 8px !important;
  margin: 0 !important;
  padding: 14px 12px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  border-radius: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
}

body:has(.chat-layout > .wechat-composer-v2) .inspiration-float-button {
  bottom: calc(122px + env(safe-area-inset-bottom, 0px)) !important;
}

body.keyboard-open .chat-layout > .wechat-composer-v2.composer,
body.keyboard-open .wechat-group-chat .group-composer.wechat-composer-v2 {
  min-height: 92px !important;
  padding-bottom: 5px !important;
}

.wechat-composer-primary-row {
    grid-template-columns: minmax(0, 1fr) 40px 54px;
    gap: 6px;
  }

.wechat-composer-primary-row .composer-model-send,
.wechat-group-chat .wechat-composer-primary-row .group-send-batch {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

.wechat-composer-primary-row .composer-send,
.wechat-group-chat .wechat-composer-primary-row .group-send-button {
    width: 54px !important;
    min-width: 54px !important;
  }

.wechat-composer-tool-row {
    gap: 0;
  }

.wechat-composer-tool-row .composer-icon,
.wechat-group-chat .wechat-composer-tool-row .composer-icon {
    width: 40px !important;
    min-width: 40px !important;
  }

.app-screen .wechat-group-chat { background: inherit; }

:root[data-ui-mode="dark"] .wechat-home,
:root[data-ui-mode="dark"] .wechat-list,
:root[data-ui-mode="dark"] .wechat-list-page,
:root[data-ui-mode="dark"] .wechat-tab-page,
:root[data-ui-mode="dark"] .moments-feed {
  background: transparent !important;
  color: var(--skin-text) !important;
}

:root[data-ui-mode="dark"] .wechat-row,
:root[data-ui-mode="dark"] .wechat-thread-row {
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
}

:root[data-ui-mode="dark"] .wechat-row strong,
:root[data-ui-mode="dark"] .wechat-thread-row strong,
:root[data-ui-mode="dark"] .discover-row strong {
  color: var(--skin-title) !important;
}

:root[data-ui-mode="dark"] .wechat-row small,
:root[data-ui-mode="dark"] .wechat-thread-row small,
:root[data-ui-mode="dark"] .discover-row small {
  color: var(--skin-muted) !important;
}

html[data-ui-mode="dark"] #appScreen :is(.wechat-shell,.wechat-main,.wechat-list,.wechat-group-chat,.group-message-list),
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen :is(.wechat-shell,.wechat-main,.wechat-list,.wechat-group-chat,.group-message-list) {
  background-color: var(--moss-dark-page, #110d0b) !important;
  color: var(--moss-dark-text, #f1e6dc) !important;
}

html[data-ui-mode="dark"] #appScreen :is(.wechat-contact,.wechat-contact-row.pinned .wechat-contact,.group-thread .wechat-contact),
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen :is(.wechat-contact,.wechat-contact-row.pinned .wechat-contact,.group-thread .wechat-contact) {
  background: var(--moss-dark-surface-strong, #2d222a) !important;
  color: var(--moss-dark-text, #f1e6dc) !important;
  border-color: var(--moss-dark-line, rgba(239,219,202,.13)) !important;
  box-shadow: 0 12px 30px color-mix(in srgb, #000 18%, transparent) !important;
}

html[data-ui-mode="dark"] #appScreen .wechat-contact :is(strong,b),
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-contact :is(strong,b) { color: var(--moss-dark-title, #fff5ec) !important; }

html[data-ui-mode="dark"] #appScreen .wechat-contact :is(small,em,p,time),
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-contact :is(small,em,p,time) { color: var(--moss-dark-muted, #b6a79b) !important; }

html[data-ui-mode="dark"] #appScreen .wechat-thread-tabs,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-thread-tabs {
  background: color-mix(in srgb, var(--moss-dark-surface-strong, #2d222a) 72%, transparent) !important;
  border-color: var(--moss-dark-line, rgba(239,219,202,.13)) !important;
}

html[data-ui-mode="dark"] #appScreen .wechat-thread-tabs button.active,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-thread-tabs button.active {
  background: color-mix(in srgb, var(--moss-dark-accent, #c39a78) 18%, var(--moss-dark-surface-strong, #2d222a)) !important;
  color: var(--moss-dark-title, #fff5ec) !important;
}

html[data-ui-mode="dark"] #appScreen .wechat-group-chat.chat-layout,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-group-chat.chat-layout {
  --chat-bubble-assistant: var(--moss-dark-surface-strong, #2d222a) !important;
  --chat-bubble-user: color-mix(in srgb, var(--moss-dark-accent, #c39a78) 20%, var(--moss-dark-surface-strong, #2d222a)) !important;
  --chat-bubble-text: var(--moss-dark-text, #f1e6dc) !important;
  background-color: var(--moss-dark-page, #110d0b) !important;
}

html[data-ui-mode="dark"] #appScreen .wechat-group-chat .group-message-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-group-chat .group-message-bubble {
  background: var(--chat-bubble-assistant, var(--moss-dark-surface-strong, #2d222a)) !important;
  color: var(--moss-dark-text, #f1e6dc) !important;
  border: 1px solid var(--moss-dark-line, rgba(239,219,202,.13)) !important;
  box-shadow: 0 8px 24px color-mix(in srgb, #000 14%, transparent) !important;
}

html[data-ui-mode="dark"] #appScreen .wechat-group-chat .group-message-row.user .group-message-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen .wechat-group-chat .group-message-row.user .group-message-bubble {
  background: var(--chat-bubble-user, color-mix(in srgb, var(--moss-dark-accent, #c39a78) 20%, var(--moss-dark-surface-strong, #2d222a))) !important;
  color: var(--moss-dark-title, #fff5ec) !important;
  border-color: color-mix(in srgb, var(--moss-dark-accent, #c39a78) 28%, var(--moss-dark-line, rgba(239,219,202,.13))) !important;
}

html[data-ui-mode="dark"] #appScreen :is(.group-composer-wrap,.wechat-chat-topbar,.composer,.composer-input-wrap,.group-composer-input-wrap),
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appScreen :is(.group-composer-wrap,.wechat-chat-topbar,.composer,.composer-input-wrap,.group-composer-input-wrap) {
  background: var(--moss-dark-phone, #17131a) !important;
  color: var(--moss-dark-text, #f1e6dc) !important;
  border-color: var(--moss-dark-line, rgba(239,219,202,.13)) !important;
}

.wechat-top-icon {
  display: grid !important;
  place-items: center !important;
}

.wechat-top-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 14px !important;
}

.wechat-top-icon.dots { letter-spacing: 0 !important; }

#appScreen .discover-page {
  min-height: 100%;
  padding: 18px var(--moss-ui-content-pad) calc(96px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .discover-hero {
  min-height: 94px;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 13px;
  margin: 0 0 12px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 20px;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}

#appScreen .discover-orbit {
  width: 48px;
  height: 48px;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 20%, var(--moss-ui-line));
  border-radius: 15px;
  color: var(--moss-ui-accent) !important;
  background: var(--moss-ui-accent-soft) !important;
  box-shadow: none !important;
}

#appScreen .discover-hero h2 {
  margin: 0;
  color: var(--moss-ui-text) !important;
  font-size: 23px;
  line-height: 1.1;
  font-weight: 680;
  letter-spacing: -.03em;
}

#appScreen .discover-hero p {
  margin: 6px 0 0;
  color: var(--moss-ui-muted) !important;
  font-size: 13px;
  line-height: 1.5;
}

#appScreen .discover-list {
  gap: 9px;
}

#appScreen .discover-row {
  min-height: 72px;
  grid-template-columns: 42px minmax(0,1fr) 18px;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
  transition: transform var(--moss-ui-fast) var(--moss-ui-ease), background var(--moss-ui-fast) ease;
}

#appScreen .discover-row:active { transform: scale(.985); background: var(--moss-ui-surface-soft) !important; }

#appScreen .discover-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 17%, var(--moss-ui-line)) !important;
  border-radius: 13px;
  color: var(--moss-ui-accent) !important;
  background: var(--moss-ui-accent-soft) !important;
  box-shadow: none !important;
}

#appScreen .discover-icon .moss-ui-icon { width: 19px; height: 19px; }

#appScreen .discover-row strong {
  color: var(--moss-ui-text) !important;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 650;
}

#appScreen .discover-row small {
  display: block;
  margin-top: 4px;
  color: var(--moss-ui-muted) !important;
  font-size: 12px;
  line-height: 1.45;
}

#appScreen .discover-row em {
  display: grid;
  place-items: center;
  color: var(--moss-ui-faint) !important;
  transform: rotate(180deg);
}

#appScreen .moments-page {
  min-width: 0;
  min-height: 100%;
  overflow-x: clip;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .moments-cover {
  height: 218px;
  overflow: visible;
  background-color: var(--moss-ui-surface-soft);
  background-position: center !important;
  border-bottom: 1px solid var(--moss-ui-line);
}

#appScreen .moments-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.16), transparent 42%, rgba(0,0,0,.28));
}

#appScreen .moments-back,
#appScreen .moments-camera {
  z-index: 3;
  top: 12px;
  width: 44px !important;
  height: 44px !important;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 15px !important;
  color: #fff !important;
  background: rgba(16,18,20,.24) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

#appScreen .moments-back { left: 12px; }

#appScreen .moments-camera { right: 12px; font-size: 0 !important; }

#appScreen .moments-profile {
  z-index: 3;
  right: 14px;
  bottom: -38px;
  gap: 11px;
  align-items: end;
}

#appScreen .moments-profile > strong {
  padding-bottom: 9px;
  color: #fff !important;
  font-size: 16px;
  font-weight: 650;
  text-shadow: 0 2px 10px rgba(0,0,0,.36);
}

#appScreen .moments-avatar {
  width: 76px;
  border: 3px solid var(--moss-ui-surface) !important;
  border-radius: 19px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

#appScreen .moments-feed {
  padding: 52px var(--moss-ui-content-pad) calc(24px + var(--safe-bottom));
  gap: 8px;
}

#appScreen .moments-top-menu {
  border: 1px solid var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 96%, transparent) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

#appScreen .moments-top-menu { top: 62px; right: 12px; padding: 4px; border-radius: 14px; }

#appScreen .moments-top-menu button {
  min-height: 42px;
  border-radius: 10px;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  font-size: 13px;
}

#appScreen .wechat-shell {
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .wechat-main {
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .wechat-list {
  gap: 8px;
  padding: 10px var(--moss-ui-content-pad) calc(86px + var(--safe-bottom));
}

#appScreen .wechat-list-head,
#appScreen .wechat-section-head {
  min-height: 54px;
  padding: 0 4px;
  border-bottom: 0 !important;
  background: transparent !important;
}

#appScreen .wechat-list-head h2,
#appScreen .wechat-section-head h2 {
  color: var(--moss-ui-text) !important;
  font-size: 20px;
  font-weight: 680;
  letter-spacing: -.025em;
}

#appScreen .wechat-head-actions > button,
#appScreen .wechat-section-head > button:not(.settings-back):not(.danger-button) {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen .wechat-contact,
#appScreen .wechat-contact-row {
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen :where(.wechat-contact, .wechat-contact-row, .friend-entry-row) strong {
  color: var(--moss-ui-text) !important;
  font-size: 15px;
  font-weight: 640;
}

#appScreen :where(.wechat-contact, .wechat-contact-row, .friend-entry-row) small {
  color: var(--moss-ui-muted) !important;
  font-size: 12px;
  line-height: 1.45;
}

#appScreen .wechat-me-card,
#appScreen .wechat-me-section,
#appScreen .group-settings-hero {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen .wechat-bottom-tabs {
  left: 8px !important;
  right: 8px !important;
  bottom: calc(8px + var(--safe-bottom)) !important;
  height: 58px !important;
  padding: 5px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-muted) !important;
  background: color-mix(in srgb, var(--moss-ui-surface, var(--surface)) 94%, transparent) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

#appScreen .wechat-tab {
  min-width: 0;
  min-height: 46px;
  border-radius: 13px !important;
  color: var(--moss-ui-muted) !important;
  background: transparent !important;
}

#appScreen .wechat-tab.active {
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .wechat-chat-topbar {
  min-height: 58px !important;
  padding: 6px 8px !important;
  border-bottom: 1px solid var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

#appScreen .wechat-top-title strong { color: var(--moss-ui-text) !important; font-size: 16px; font-weight: 660; }

#appScreen .wechat-top-title small { color: var(--moss-ui-muted) !important; }

#appScreen .wechat-top-icon {
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#appScreen .wechat-group-chat {
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .group-message-list {
  padding-left: 12px !important;
  padding-right: 12px !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .wechat-chat-bubble,
#appScreen .group-message-bubble {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen .wechat-chat-row.user .wechat-chat-bubble,
#appScreen .group-message-row.user .group-message-bubble {
  border-color: var(--moss-ui-accent-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .group-composer-wrap {
  border-top: 1px solid var(--moss-ui-line) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 94%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

#appScreen .group-composer-input-wrap {
  min-height: 44px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-control) !important;
  box-shadow: none !important;
}

#appScreen .group-composer textarea {
  min-height: 42px;
  font-size: 16px !important;
}

#appScreen :where(.group-settings-page, .group-editor-page, .group-memory-page,
  .group-feature-page, .friend-requests-page, .chat-search-results) {
  min-height: 100%;
  padding: 12px var(--moss-ui-content-pad) calc(24px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen :where(.group-settings-row, .group-manage-row, .group-data-search-row,
  .friend-search-row-item) {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen .wechat-thread-tabs {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen :where(.group-mode-strip, .wechat-thread-tabs) button.active {
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen[data-moss-app="chat"] :is(.bubble, .wechat-chat-bubble, .group-message-bubble, .chat-action-capture) {
  font-size: 14px !important;
  line-height: 1.62 !important;
  overflow-wrap: anywhere;
}

#appScreen[data-moss-app="chat"] :is(.wechat-list-head h2, .wechat-section-head h2) {
  font-family: var(--app-font-family, "Songti SC", serif);
  font-size: 20px !important;
  font-weight: 600 !important;
}

#appScreen .group-member-choice {
  border-color: var(--moss-ui-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .group-member-choice.active {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .wechat-bottom-tabs { left: 6px !important; right: 6px !important; }

#appScreen .wechat-me-card > em,
#appScreen .wechat-me-section em {
  display: grid;
  place-items: center;
}

#appScreen .wechat-me-card > em .moss-ui-icon { width: 22px; height: 22px; }

#appScreen .wechat-me-section em .moss-ui-icon { width: 18px; height: 18px; }

#appScreen .wechat-me-info small span {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

#appScreen .wechat-me-info small b {
  font: inherit;
  font-weight: 600;
}

#appScreen .wechat-status-circle { width: 38px; padding-inline: 0 !important; }

#appScreen .wechat-group-chat .wechat-top-icon .moss-ui-icon,
#appScreen .wechat-group-chat .group-observe-more .moss-ui-icon { width: 21px; height: 21px; }

#appScreen .wechat-group-chat .group-composer .composer-icon .moss-ui-icon {
  width: 20px;
  height: 20px;
}

#appScreen .wechat-group-chat .group-send-batch .moss-ui-icon { width: 18px; height: 18px; }

#appScreen .wechat-group-chat .plus-action-icon {
  display: grid;
  place-items: center;
}

#appScreen .wechat-group-chat .plus-action-icon .moss-ui-icon { width: 28px; height: 28px; }

#appScreen .wechat-group-chat .group-announcement-bar em,
#appScreen .wechat-group-chat .group-quote-draft button {
  display: grid;
  place-items: center;
}

#appScreen .wechat-group-chat.has-custom-chat-background {
  background-color: transparent !important;
}

#appScreen .wechat-group-chat.has-custom-chat-background .group-message-list {
  background: transparent !important;
}

body.keyboard-chat-open #appScreen :is(.wechat-chat-topbar, .composer, .group-composer, .group-composer-wrap) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.keyboard-chat-open #appScreen :is(.messages, .group-message-list) {
  scroll-behavior: auto !important;
  overscroll-behavior-y: contain !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-bubble-avatar,
#charPhoneOverlay .wechat-chat-detail .avatar.mock-bubble-avatar {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  color: var(--museum-ink) !important;
  background-color: var(--museum-paper) !important;
  background-size: cover !important;
  background-position: center !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-bubble-avatar img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.sent { justify-self: end !important; }

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.received { justify-self: start !important; }

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubbles {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: start !important;
  padding: 14px 12px 18px !important;
  scroll-padding-block: 14px 18px;
  overscroll-behavior-y: contain;
  touch-action: pan-y !important;
  background: var(--wechat-paper) !important;
  -webkit-overflow-scrolling: touch;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row,
#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.received,
#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.sent {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 94% !important;
  min-width: 0 !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.sent {
  flex-direction: row-reverse !important;
  justify-self: end !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.received {
  flex-direction: row !important;
  justify-self: start !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row p {
  flex: 0 1 auto !important;
  width: fit-content !important;
  max-width: min(72vw, 520px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  border-color: var(--museum-ink) !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.received p {
  color: var(--museum-ink) !important;
  background: var(--wechat-paper-soft) !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row.sent p {
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row .mock-bubble-avatar,
#charPhoneOverlay .wechat-chat-detail .mock-phone-bubble-row .avatar.mock-bubble-avatar {
  flex: 0 0 32px !important;
  margin: 0 !important;
  background-color: var(--wechat-paper-soft) !important;
}

#charPhoneOverlay .wechat-chat-detail .mock-bubble-avatar .avatar-image,
#charPhoneOverlay .wechat-chat-detail .avatar.mock-bubble-avatar .avatar-image {
  position: relative;
  z-index: 2;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.keyboard-open #charPhoneOverlay .wechat-chat-detail .mock-phone-bubbles {
  padding-bottom: 12px !important;
  scroll-padding-bottom: 12px !important;
}

.moments-feed {
  -webkit-overflow-scrolling: touch;
}

.wechat-group-chat.bubble-glass .group-message-bubble,
.wechat-group-chat.bubble-glass .chat-text-image-card,
.wechat-group-chat.bubble-glass .voice-card,
.wechat-group-chat.bubble-glass .location-card,
.wechat-group-chat.bubble-glass .transfer-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

#appScreen .chat-layout > form.wechat-composer-v2.composer,
#appScreen .wechat-group-chat form.group-composer.wechat-composer-v2 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 98px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: stretch !important;
  gap: 5px !important;
  padding: 8px max(10px, env(safe-area-inset-right, 0px)) calc(7px + env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px)) !important;
  overflow: visible !important;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, #d8dce3) 72%, transparent) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--phone-bg, #f4f5f7) 94%, var(--surface-strong, #fff) 6%) !important;
  box-shadow: 0 -10px 26px rgba(24, 31, 40, 0.07) !important;
}

#appScreen .wechat-composer-primary-row .composer-input-wrap,
#appScreen .wechat-composer-primary-row .group-composer-input-wrap {
  min-width: 0 !important;
  min-height: 34px !important;
  max-height: 96px !important;
  padding: 0 9px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, #cfd4dc) 86%, transparent) !important;
  border-radius: 11px !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 96%, transparent) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.66) !important;
}

#appScreen .wechat-composer-primary-row :is(#messageInput, #wechatGroupInput),
#appScreen .wechat-composer-primary-row :is(#messageInput, #wechatGroupInput):focus,
#appScreen .wechat-composer-primary-row :is(#messageInput, #wechatGroupInput):focus-visible {
  min-height: 32px !important;
  max-height: 94px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

#appScreen .wechat-composer-primary-row .composer-model-send,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-batch {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1.6px solid color-mix(in srgb, var(--skin-text, #17191d) 82%, transparent) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--skin-text, #17191d) !important;
  box-shadow: none !important;
}

#appScreen .wechat-composer-primary-row .composer-model-send.has-pending,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-batch.has-pending {
  border-color: var(--skin-accent, #4775a8) !important;
  background: var(--skin-accent, #4775a8) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent, #4775a8) 28%, transparent) !important;
}

#appScreen .wechat-composer-primary-row .composer-send,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-button {
  width: 58px !important;
  min-width: 58px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 10px !important;
  border: 1px solid #111318 !important;
  border-radius: 10px !important;
  background: #111318 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(17, 19, 24, .18) !important;
}

#appScreen .wechat-composer-tool-row .composer-icon,
#appScreen .wechat-group-chat .wechat-composer-tool-row .composer-icon {
  width: 44px !important;
  min-width: 44px !important;
  height: 39px !important;
  min-height: 39px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--skin-text, #17191d) !important;
  box-shadow: none !important;
}

#appScreen .wechat-composer-tool-row .composer-icon .moss-ui-icon,
#appScreen .wechat-group-chat .wechat-composer-tool-row .composer-icon .moss-ui-icon {
  width: 26px !important;
  height: 26px !important;
  stroke-width: 1.75 !important;
}

#appScreen .wechat-composer-primary-row .composer-model-send .moss-ui-icon,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-batch .moss-ui-icon {
  width: 22px !important;
  height: 22px !important;
}

#appScreen .wechat-composer-primary-row .composer-model-send,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-batch {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

#appScreen .wechat-composer-primary-row .composer-send,
#appScreen .wechat-group-chat .wechat-composer-primary-row .group-send-button {
    width: 54px !important;
    min-width: 54px !important;
  }

#appScreen .wechat-composer-tool-row .composer-icon,
#appScreen .wechat-group-chat .wechat-composer-tool-row .composer-icon {
    width: 40px !important;
    min-width: 40px !important;
  }

html.keyboard-open body.keyboard-chat-open #appScreen .wechat-group-chat {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html.keyboard-open body.keyboard-chat-open #appScreen :is(.messages, #messages.messages, .group-message-list) {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-bottom: 10px !important;
  scroll-padding-bottom: 10px !important;
}

html.keyboard-open body.keyboard-chat-open #appScreen :is(.composer.wechat-composer-v2, .group-composer-wrap, .group-composer.wechat-composer-v2) {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  transform: none !important;
}

#appScreen:has(.wechat-group-chat) {
  padding-bottom: 0 !important;
}

#appScreen > .app-body:has(.wechat-group-chat) {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  flex: 1 1 0 !important;
  overflow: hidden !important;
}

#appScreen :is(.chat-layout, .wechat-group-chat) {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  margin-bottom: 0 !important;
}

#appScreen .chat-layout > form.wechat-composer-v2.composer,
#appScreen .wechat-group-chat form.group-composer.wechat-composer-v2 {
  align-self: end !important;
  margin: 0 !important;
  padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
}

#appScreen .wechat-group-chat .group-composer-wrap {
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
}

body.keyboard-chat-open #appScreen:has(.wechat-group-chat) {
  padding-bottom: 0 !important;
}

body.keyboard-chat-open #appScreen :is(
  .chat-layout > .wechat-composer-v2.composer,
  .wechat-group-chat .group-composer.wechat-composer-v2,
  .wechat-group-chat .group-composer-wrap
) {
  padding-bottom: 6px !important;
}

body.keyboard-chat-open #appScreen :is(.messages, #messages.messages, .group-message-list) {
  padding-bottom: 8px !important;
  scroll-padding-bottom: 8px !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-open :is(
  .device-shell,
  .phone,
  .screen,
  .app-screen.active,
  #appScreen > .app-body,
  #appScreen .chat-layout,
  #appScreen .wechat-group-chat
) {
  min-height: 0 !important;
  max-height: 100% !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-chat-open #appScreen :is(
  .chat-layout > .wechat-composer-v2.composer,
  .wechat-group-chat .group-composer.wechat-composer-v2,
  .wechat-group-chat .group-composer-wrap
) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

html.ios-pwa-standalone.keyboard-open body.keyboard-chat-open #appScreen :is(
  .messages,
  #messages.messages,
  .group-message-list
) {
  padding-bottom: 6px !important;
  scroll-padding-bottom: 6px !important;
}

@keyframes wechatToastDrop {
  from { opacity: 0; transform: translateY(-12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/*# source: assets/css/features/calls.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.incoming-call-overlay {position: fixed;
  inset: 0;
  z-index: 92;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(7, 10, 16, .38);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

.incoming-call-card {width: min(330px, calc(100vw - 34px));
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 24px 20px;
  border-radius: 30px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--phone-bg, #f7f2e9) 92%, transparent);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  text-align: center;}

.incoming-call-card .avatar {width: 76px; height: 76px;}

.incoming-call-card h3 {margin: 4px 0 0; font-size: 22px;}

.incoming-call-card p {margin: 0; color: var(--skin-muted, #6f7380); line-height: 1.45;}

.incoming-call-actions {width: 100%;
  display: flex;
  justify-content: center;
  gap: 16px;
  padding-top: 8px;}

.incoming-call-actions button {min-width: 92px;
  min-height: 44px;
  border-radius: 999px;
  color: #fff;
  font-weight: 1000;}

.incoming-call-actions .decline {background: #e34b55;}

.incoming-call-actions .accept {background: #1fb56a;}

.call-soft-hangup-notice {position: absolute;
  z-index: 9;
  left: 50%;
  bottom: calc(168px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 36px);
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #fff;
  background: rgba(14,18,24,.76);
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
  font-size: 11px;
  font-weight: 850;
  text-align: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}

.call-soft-hangup-notice[hidden] {display: none !important;}

/* Existing canonical module rules follow. */
/*
 * calls feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.voice-capture-overlay,
.chat-call-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: end center;
  padding: 18px;
  background: rgba(10, 12, 16, .34);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.voice-capture-overlay {
  background: rgba(246, 250, 249, .08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: none;
}

.voice-capture-overlay .voice-capture-card {
  pointer-events: auto;
}

.voice-capture-card,
.chat-call-card {
  width: min(420px, calc(100vw - 28px));
  max-height: min(760px, calc(100dvh - 36px));
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 72%, transparent);
  border-radius: 28px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--phone-bg, #f7f2e9) 92%, transparent);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}

.voice-capture-card h3,
.chat-call-card h3 { margin: 0; font-size: 20px; }

.voice-capture-card p,
.chat-call-card p { margin: 0; color: var(--skin-muted, #6f7380); line-height: 1.45; }

.voice-capture-status {
  min-height: 22px;
  padding: 10px 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 82%, transparent);
  font-size: 13px;
  font-weight: 800;
}

.voice-capture-actions,
.chat-call-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.voice-capture-actions button,
.chat-call-actions button,
.chat-call-composer button {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--skin-accent, #b47a35);
  font-weight: 900;
}

.voice-capture-actions button.secondary,
.chat-call-actions button.secondary,
.chat-call-composer button.secondary {
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent);
}

.chat-call-overlay { place-items: center; }

.chat-call-card {
  height: min(720px, calc(100dvh - 40px));
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.chat-call-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.chat-call-transcript {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 12px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 78%, transparent);
  font-family: var(--app-font-family);
  -webkit-overflow-scrolling: touch;
}

.call-line {
  max-width: 82%;
  padding: 9px 11px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--phone-bg, #f7f2e9) 90%, transparent);
  color: var(--skin-text, #253044);
  font-family: var(--app-font-family);
  line-height: 1.45;
  word-break: break-word;
}

.call-line.user { justify-self: end; background: color-mix(in srgb, var(--skin-accent, #b47a35) 18%, var(--phone-bg, #f7f2e9)); }

.call-line.assistant { justify-self: start; }

.call-line small { display:block; color: var(--skin-muted, #6f7380); font-size: 11px; font-weight: 900; margin-bottom: 3px; }

.call-line-translation {
  display: block;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 70%, transparent);
  color: var(--skin-muted, #6f7380);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.chat-call-composer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.chat-call-composer textarea {
  min-height: 42px;
  max-height: 96px;
  resize: none;
  padding: 10px 12px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 18px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--surface-strong, #fff) 90%, transparent);
  font: inherit;
}

.chat-call-live-toolbar {
  display: flex;
  gap: 7px;
}

.chat-call-live-toolbar button {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.chat-call-live-toolbar button.active { color: #fff; background: #3f8068; }

.chat-call-live-toolbar button:disabled { opacity: .42; }

#chatCallLiveStatus[data-state="error"] { color: #a7444d; }

.call-line.live-draft { opacity: .72; }

.chat-call-overlay.call-mini {
  position: fixed;
  inset: 0;
  display: block;
  padding: 0;
  pointer-events: none;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: 86;
}

.chat-call-overlay.call-mini .chat-call-card {
  position: fixed;
  width: min(364px, calc(100vw - 22px));
  height: min(566px, calc(100dvh - 38px));
  max-height: calc(100dvh - 38px);
  pointer-events: auto;
  overflow: hidden;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  border-radius: 26px;
  box-shadow: 0 22px 70px rgba(20, 26, 36, .28), inset 0 1px rgba(255,255,255,.62);
  transition: width .18s ease, height .18s ease, border-radius .18s ease, transform .18s ease, opacity .18s ease;
}

.chat-call-overlay.call-mini .chat-call-card.call-compact {
  width: min(218px, calc(100vw - 28px));
  height: auto;
  min-height: 74px;
  max-height: 118px;
  padding: 10px 12px;
  border-radius: 24px;
  grid-template-rows: auto;
}

.chat-call-overlay.call-mini .chat-call-card.call-compact .voice-capture-status,
.chat-call-overlay.call-mini .chat-call-card.call-compact .chat-call-live-toolbar,
.chat-call-overlay.call-mini .chat-call-card.call-compact .chat-call-transcript,
.chat-call-overlay.call-mini .chat-call-card.call-compact .chat-call-composer {
  display: none !important;
}

.chat-call-card.dragging { transition: none !important; }

.chat-call-head[data-drag-chat-call] {
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.chat-call-head[data-drag-chat-call]:active { cursor: grabbing; }

.chat-call-head-main {
  min-width: 0;
}

.chat-call-head-main h3 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.chat-call-head-main p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
}

.chat-call-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.chat-call-mini-button {
  width: 38px;
  min-width: 38px;
  height: 38px;
  padding: 0 !important;
  border-radius: 999px;
  color: var(--skin-text, #253044) !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 90%, transparent) !important;
  font-size: 15px;
  font-weight: 1000;
  box-shadow: inset 0 1px rgba(255,255,255,.62);
}

.chat-call-card.call-compact .chat-call-mini-button[data-toggle-chat-call-size]::after { content: "放"; }

.chat-call-card:not(.call-compact) .chat-call-mini-button[data-toggle-chat-call-size]::after { content: "缩"; }

.chat-call-card.call-compact .chat-call-head { align-items: center; }

.chat-call-card.call-compact .chat-call-head-main p { display: none; }

.chat-call-card.call-compact .chat-call-duration { margin-top: 4px; }

.chat-call-duration {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-top: 6px;
  padding: 0 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 86%, transparent);
  color: var(--skin-muted, #6f7380);
  font-size: 12px;
  font-weight: 900;
}

.call-summary-card {
  width: min(280px, 72vw);
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 72%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
  color: var(--skin-text, #253044);
  box-shadow: 0 10px 24px rgba(47, 62, 82, 0.10);
  text-align: left;
}

.call-summary-card strong { font-size: 15px; }

.call-summary-card small { color: var(--skin-muted, #6f7380); font-weight: 800; }

.call-summary-lines {
  max-height: 128px;
  overflow: auto;
  display: grid;
  gap: 5px;
  font-size: 12px;
  line-height: 1.45;
}

.call-summary-lines p { margin: 0; }

.voice-capture-overlay { z-index: 94 !important; }

.call-decline-reason-overlay {
  position: fixed;
  inset: 0;
  z-index: 146;
  display: grid;
  align-items: end;
  padding: 18px;
  background: rgba(7, 10, 16, .42);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.call-decline-reason-sheet {
  width: min(460px, 100%);
  margin: 0 auto max(4px, env(safe-area-inset-bottom));
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 24px;
  color: var(--skin-text, #253044);
  background: color-mix(in srgb, var(--phone-bg, #f7f2e9) 96%, transparent);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .3);
}

.call-decline-reason-sheet header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.call-decline-reason-sheet header button { width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--skin-text, #253044) 8%, transparent); }

.call-decline-reason-sheet p { margin: 0; color: var(--skin-muted, #6f7380); font-size: 12px; line-height: 1.5; }

.call-decline-reason-sheet > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }

.call-decline-reason-sheet > div button { min-height: 43px; padding: 9px 12px; border-radius: 14px; background: color-mix(in srgb, var(--skin-card, #fff) 88%, transparent); color: inherit; font-weight: 850; }

body.video-call-active {
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}

.chat-call-overlay.video-call-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: block;
  padding: 0;
  color: #fff;
  background: #07090d;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.video-call-overlay:fullscreen,
.video-call-overlay:-webkit-full-screen {
  width: 100vw;
  height: 100dvh;
  background: #07090d;
}

.video-call-stage {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 100%;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: radial-gradient(circle at 50% 22%, #303541 0%, #11141b 54%, #06070a 100%);
}

.video-call-portrait-backdrop,
.video-call-portrait {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat !important;
  pointer-events: none;
}

.video-call-portrait-backdrop {
  z-index: -2;
  inset: -28px;
  background-position: center !important;
  background-size: cover !important;
  filter: blur(24px) brightness(.48) saturate(.82);
  transform: scale(1.08);
  opacity: .78;
}

.video-call-portrait {
  z-index: -1;
  display: grid;
  place-items: center;
  background-position: center bottom !important;
  background-size: contain !important;
  filter: drop-shadow(0 24px 44px rgba(0, 0, 0, .38));
  transition: opacity .35s ease, transform .45s ease;
}

.video-call-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 6, 10, .32) 0%, transparent 24%, transparent 54%, rgba(3, 5, 8, .42) 75%, rgba(3, 5, 8, .88) 100%);
}

.video-call-portrait > span {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  font-size: 56px;
  font-weight: 900;
  backdrop-filter: blur(16px);
}

.video-call-portrait.portrait-swap {
  animation: videoPortraitSwap .55s ease both;
}

.video-call-header {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: max(16px, env(safe-area-inset-top)) 154px 14px 18px;
  background: linear-gradient(180deg, rgba(3, 5, 8, .64), transparent);
  text-shadow: 0 2px 12px rgba(0,0,0,.52);
}

.video-call-header > div { display: grid; gap: 3px; min-width: 0; }

.video-call-header strong { overflow: hidden; font-size: 20px; text-overflow: ellipsis; white-space: nowrap; }

.video-call-header small { color: rgba(255,255,255,.76); font-size: 12px; font-weight: 800; }

.video-call-header > span {
  position: absolute;
  top: max(18px, env(safe-area-inset-top));
  right: 154px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  background: rgba(0,0,0,.22);
  font-size: 10px;
  font-weight: 900;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.video-call-user-window {
  position: absolute;
  z-index: 6;
  top: max(14px, env(safe-area-inset-top));
  right: 14px;
  width: clamp(104px, 27vw, 132px);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255,255,255,.46);
  border-radius: 17px;
  color: #fff;
  background: #171a20;
  box-shadow: 0 14px 36px rgba(0,0,0,.38);
}

.video-call-user-window video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scaleX(-1);
}

.video-call-user-window > span {
  position: absolute;
  inset: auto 5px 5px;
  padding: 4px 5px;
  border-radius: 8px;
  color: rgba(255,255,255,.9);
  background: rgba(0,0,0,.5);
  font-size: 8px;
  line-height: 1.25;
  text-align: center;
  backdrop-filter: blur(8px);
}

.video-call-user-window > span[data-state="ready"] { opacity: .62; }

.video-call-user-window > span[data-state="error"] { color: #ffd4d6; background: rgba(126, 19, 26, .72); }

.video-call-mic-state {
  position: absolute;
  z-index: 7;
  top: calc(max(14px, env(safe-area-inset-top)) + clamp(148px, 36vw, 180px));
  right: 17px;
  padding: 4px 8px;
  border-radius: 999px;
  color: rgba(255,255,255,.8);
  background: rgba(0,0,0,.4);
  font-size: 9px;
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.video-call-mic-state.is-on::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #59dc92; box-shadow: 0 0 9px #59dc92; }

.video-call-response {
  position: absolute;
  z-index: 4;
  left: 14px;
  right: 14px;
  bottom: calc(170px + env(safe-area-inset-bottom));
  display: grid;
  gap: 8px;
  max-height: min(38vh, 310px);
  overflow-y: auto;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(7, 9, 14, .72), rgba(15, 17, 23, .44));
  box-shadow: 0 18px 46px rgba(0,0,0,.24);
  backdrop-filter: blur(18px) saturate(1.16);
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
  -webkit-overflow-scrolling: touch;
}

.video-call-action { display: grid; gap: 4px; padding: 0 3px 8px; border-bottom: 1px solid rgba(255,255,255,.1); }

.video-call-action span { color: #a8e3ff; font-size: 10px; font-weight: 900; letter-spacing: .08em; }

.video-call-action p { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; font-style: italic; line-height: 1.55; }

.video-call-speech { display: grid; gap: 6px; }

.video-call-speech header { display: flex; align-items: center; gap: 8px; }

.video-call-speech header strong { font-size: 13px; }

.video-call-speech header .voice-wave { color: #8fe7be; transform: scale(.72); transform-origin: left center; }

.video-call-speech p { margin: 0; color: #fff; font-family: var(--app-font-family); font-size: 15px; font-weight: 700; line-height: 1.55; text-shadow: 0 1px 8px rgba(0,0,0,.42); }

.video-call-speech-translation {
  display: block;
  margin-top: 1px;
  padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.66);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
}

.video-call-speech.is-draft { opacity: .72; }

.video-call-last-user { color: rgba(255,255,255,.6); font-size: 10px; line-height: 1.4; }

.video-call-waiting { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.66); font-size: 12px; font-weight: 800; }

.video-call-waiting i { width: 8px; height: 8px; border-radius: 50%; background: #7ee4b2; box-shadow: 0 0 12px #7ee4b2; animation: videoCallPulse 1.35s ease-in-out infinite; }

.video-call-live-status {
  position: absolute;
  z-index: 5;
  left: 20px;
  right: 20px;
  bottom: calc(145px + env(safe-area-inset-bottom));
  overflow: hidden;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-call-live-status[data-state="error"] { color: #ffc3c7; }

.video-call-bottom {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  gap: 10px;
  padding: 8px 14px max(12px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, transparent, rgba(3,5,8,.76) 22%, rgba(3,5,8,.96));
}

.video-call-actions { display: flex; justify-content: center; gap: 34px; }

.video-call-control {
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 68px;
  padding: 0;
  color: rgba(255,255,255,.88);
  background: transparent;
  font-size: 10px;
  font-weight: 900;
}

.video-call-control > .moss-ui-icon {
  box-sizing: content-box;
  padding: 13px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 1px rgba(255,255,255,.2), 0 10px 24px rgba(0,0,0,.22);
}

.video-call-control.mic.is-on > .moss-ui-icon { background: rgba(42, 170, 105, .76); }

.video-call-control.mic.is-muted > .moss-ui-icon { background: rgba(255,255,255,.13); opacity: .78; }

.video-call-control.hangup > .moss-ui-icon { background: #e34850; transform: rotate(135deg); }

.video-call-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.video-call-composer textarea {
  width: 100%;
  min-height: 40px;
  max-height: 78px;
  resize: none;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  color: #fff;
  background: rgba(255,255,255,.11);
  font: inherit;
  outline: none;
  backdrop-filter: blur(14px);
}

.video-call-composer textarea::placeholder { color: rgba(255,255,255,.48); }

.video-call-composer textarea:focus { border-color: rgba(144, 220, 255, .58); background: rgba(255,255,255,.15); }

.video-call-composer button {
  min-height: 40px;
  padding: 0 15px;
  border-radius: 17px;
  color: #fff;
  background: #329b68;
  font-weight: 900;
}

.video-call-header { padding-right: 144px; }

.video-call-user-window { width: 96px; aspect-ratio: 4 / 3; }

.video-call-mic-state { top: calc(max(14px, env(safe-area-inset-top)) + 78px); }

.video-call-response { left: 18px; right: 150px; bottom: calc(78px + env(safe-area-inset-bottom)); max-height: 47vh; }

.video-call-live-status { left: auto; right: 18px; width: 122px; bottom: calc(82px + env(safe-area-inset-bottom)); white-space: normal; }

.video-call-bottom { left: auto; width: 140px; padding-left: 8px; }

.video-call-actions { gap: 8px; }

.video-call-control { min-width: 54px; }

.video-call-composer { grid-template-columns: 1fr; }

.video-call-composer button { display: none; }

.video-call-response { bottom: calc(158px + env(safe-area-inset-bottom)); max-height: 29vh; }

.video-call-live-status { bottom: calc(137px + env(safe-area-inset-bottom)); }

.video-call-bottom { gap: 6px; }

.video-call-control > .moss-ui-icon { padding: 9px; }

body[class*="theme-tone-"] :is(.context-debug-overlay, .forward-picker-overlay, .voice-capture-overlay, .incoming-call-overlay) {
  color: var(--tone-text) !important;
}

body.pwa-standalone .voice-capture-overlay {
  z-index: 99986;
  place-items: end center;
  padding: 0 max(12px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
}

body.pwa-standalone .voice-capture-overlay .voice-capture-card {
  max-height: min(52vh, 440px);
  overflow: auto;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.voice-capture-overlay {
  z-index: 99989 !important;
  display: grid !important;
  place-items: end center !important;
  padding: 0 max(12px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)) !important;
  background: rgba(246, 250, 249, .10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.voice-capture-overlay .voice-capture-card {
  width: min(430px, calc(100vw - 24px)) !important;
  max-height: min(52vh, 440px) !important;
  overflow: auto !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
}

body.keyboard-open :where(.modal-card, .action-sheet, .forward-picker-sheet, .chat-call-card, .voice-capture-card, [role='dialog']) {
  max-height: calc(var(--visible-height) - 20px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

body.video-call-active {
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: manipulation;
}

.chat-call-overlay.call-stage-overlay {
  inset: 0;
  width: auto;
  height: auto;
  transition: width .24s ease, height .24s ease, top .24s ease, right .24s ease, left .24s ease, border-radius .24s ease;
}

.call-stage-overlay .video-call-stage {
  width: 100%;
  height: 100%;
  min-height: 100svh;
  padding-top: max(env(safe-area-inset-top), var(--call-stage-safe-top, 0px));
  box-sizing: border-box;
}

.call-stage-overlay .video-call-header {
  top: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-height: calc(58px + var(--call-stage-safe-top, 0px));
  padding: calc(10px + var(--call-stage-safe-top, 0px)) 12px 10px;
}

.call-stage-overlay .video-call-header-meta { min-width: 0; display: grid; gap: 2px; }

.call-stage-overlay .video-call-header-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.call-stage-overlay .video-call-header > span {
  position: static;
  align-self: center;
  padding: 5px 8px;
}

.video-call-window-actions { display: flex; align-items: center; gap: 7px; }

.video-call-window-actions button {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  color: #fff;
  background: rgba(5,8,12,.32);
  font-size: 18px;
  font-weight: 800;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.call-stage-overlay .video-call-user-window {
  top: calc(max(10px, env(safe-area-inset-top), var(--call-stage-safe-top, 0px)) + 54px);
  right: 12px;
  width: clamp(92px, 24vw, 120px);
  border-radius: 15px;
}

.call-stage-overlay .video-call-mic-state {
  top: calc(max(10px, env(safe-area-inset-top), var(--call-stage-safe-top, 0px)) + 54px + clamp(124px, 32vw, 164px));
  right: 14px;
}

.call-stage-overlay.audio-call-overlay .video-call-mic-state {
  top: calc(max(10px, env(safe-area-inset-top), var(--call-stage-safe-top, 0px)) + 60px);
}

.call-stage-overlay .video-call-response {
  bottom: calc(164px + env(safe-area-inset-bottom));
  max-height: min(34vh, 280px);
}

.call-stage-overlay .video-call-live-status { bottom: calc(140px + env(safe-area-inset-bottom)); }

.call-stage-overlay .video-call-bottom { padding-bottom: max(10px, env(safe-area-inset-bottom)); }

body.keyboard-call-open #chatCallOverlay.call-stage-overlay:not(.is-mini) .video-call-stage {
  height: 100% !important;
  min-height: 0 !important;
}

.chat-call-overlay.call-stage-overlay.is-mini {
  inset: max(12px, calc(max(env(safe-area-inset-top), var(--call-stage-safe-top, 0px)) + 8px)) 10px auto auto;
  width: min(46vw, 190px);
  height: min(44vh, 320px);
  min-width: 158px;
  min-height: 236px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 24px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
  pointer-events: none;
}

.chat-call-overlay.call-stage-overlay.is-mini.is-dragging { transition: none !important; }

.call-stage-overlay.is-mini .video-call-stage {
  min-height: 0;
  height: 100%;
  border-radius: 23px;
  pointer-events: auto;
}

.call-stage-overlay.is-mini [data-drag-call-stage] {
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.call-stage-overlay.is-mini.is-dragging [data-drag-call-stage] { cursor: grabbing; }

.call-stage-overlay.is-mini .video-call-header {
  grid-template-columns: minmax(0,1fr) auto;
  min-height: 54px;
  padding: 8px;
  background: linear-gradient(180deg, rgba(3,5,8,.74), transparent);
}

.call-stage-overlay.is-mini .video-call-header-meta strong { font-size: 13px; }

.call-stage-overlay.is-mini .video-call-header-meta small { font-size: 9px; }

.call-stage-overlay.is-mini .video-call-header > span { display: none; }

.call-stage-overlay.is-mini .video-call-window-actions { gap: 4px; }

.call-stage-overlay.is-mini .video-call-window-actions button { width: 27px; height: 27px; font-size: 14px; }

.call-stage-overlay.is-mini .video-call-user-window {
  top: 58px;
  right: 8px;
  width: 54px;
  border-radius: 10px;
}

.call-stage-overlay.is-mini .video-call-user-window > span,
.call-stage-overlay.is-mini .video-call-mic-state,
.call-stage-overlay.is-mini .video-call-response,
.call-stage-overlay.is-mini .video-call-live-status,
.call-stage-overlay.is-mini .video-call-bottom { display: none; }

.call-stage-overlay.is-mini .video-call-portrait { background-position: center bottom !important; background-size: cover !important; }

.call-stage-overlay.is-mini .video-call-portrait::after { background: linear-gradient(180deg, rgba(4,6,10,.18), transparent 46%, rgba(3,5,8,.5)); }

.call-stage-overlay .video-call-header { grid-template-columns: minmax(0,1fr) auto; }

.call-stage-overlay .video-call-header > span { display: none; }

.call-stage-overlay .video-call-user-window { width: 88px; }

.call-stage-overlay .video-call-mic-state { top: calc(max(10px, env(safe-area-inset-top), var(--call-stage-safe-top, 0px)) + 174px); }

@keyframes videoPortraitSwap {
  0% { opacity: .35; transform: scale(1.025); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes videoCallPulse { 50% { opacity: .35; transform: scale(.76); } }

/*# source: assets/css/features/phonecheck.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.char-phone-overlay {position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: max(14px, var(--safe-top)) 14px max(14px, var(--safe-bottom));
  background: color-mix(in srgb, #000 38%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);}

.char-phone-shell {width: min(420px, 100%);
  height: min(760px, 100%);
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 34px;
  background: color-mix(in srgb, var(--phone-bg) 92%, transparent);
  color: var(--skin-text);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  overflow: hidden;}

.char-phone-head {display: grid;
  grid-template-columns: 38px 52px minmax(0, 1fr) 66px;
  align-items: center;
  gap: 10px;}

.char-phone-head button,
.char-phone-inner-back {min-height: 36px;
  border-radius: 18px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);}

.char-phone-head button:last-child {color: #fff;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2));}

.char-phone-avatar {width: 52px;
  height: 52px;
  border-radius: 16px;}

.char-phone-head span {display: grid;
  min-width: 0;
  gap: 2px;}

.char-phone-head strong,
.char-phone-head small {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.char-phone-head small,
.char-phone-status {color: var(--skin-muted);
  font-size: 12px;}

.char-phone-status {min-height: 18px;
  margin: 0;}

.char-phone-home {min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 18px;
  overflow-y: auto;
  padding: 8px 2px calc(10px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.char-phone-profile {display: grid;
  justify-items: center;
  gap: 6px;
  padding: 12px;
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface-strong) 68%, transparent);}

.char-phone-profile-avatar {width: 78px;
  height: 78px;
  border-radius: 24px;
  font-size: 28px;}

.char-phone-profile strong {color: var(--skin-text);
  font-size: 20px;}

.char-phone-profile small {color: var(--skin-muted);
  font-size: 12px;
  text-align: center;}

.char-phone-app-icon {display: grid;
  justify-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--skin-text);
  background: transparent;}

.char-phone-app-icon .icon-face {width: 58px;
  border-radius: 18px;
  font-size: 21px;}

.char-phone-app-icon small {max-width: 72px;
  overflow: hidden;
  color: var(--skin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;}

.char-phone-content-view {min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;}

.char-phone-content-view h3 {margin: 0;
  color: var(--skin-text);
  font-size: 22px;}

.char-phone-app-title {min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;}

.char-phone-app-title button {flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 30%, var(--skin-border));
  border-radius: 14px;
  color: var(--skin-accent);
  background: color-mix(in srgb, var(--skin-accent) 10%, var(--surface-strong));
  font-size: 12px;
  font-weight: 900;}

.char-phone-page-stage {min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
  overflow: hidden;
  touch-action: pan-y;}

.char-phone-pager {min-height: 38px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;}

.char-phone-pager button {min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 75%, transparent);
  border-radius: 14px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 82%, transparent);
  font-size: 22px;
  font-weight: 900;}

.char-phone-pager button:disabled {opacity: .32;}

.char-phone-pager > span {min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;}

.char-phone-pager i {width: 6px;
  height: 6px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--skin-muted) 38%, transparent);}

.char-phone-pager i.active {width: 16px;
  background: var(--skin-accent);}

.char-phone-pager small {margin-left: 4px;
  color: var(--skin-muted);
  font-size: 10px;
  font-weight: 800;}

.char-phone-inner-back {justify-self: start;
  padding: 0 14px;
  font-weight: 900;}

.char-phone-content {min-height: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.char-phone-item {display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 80%, transparent);}

.char-phone-item span {width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2));
  font-size: 12px;
  font-weight: 900;}

.char-phone-item p {margin: 0;
  color: var(--skin-text);
  line-height: 1.55;
  word-break: break-word;}

.mock-browser,
.mock-notes,
.mock-call-list,
.mock-sms-thread {min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.mock-browser-card,
.mock-note-card,
.mock-call-row {background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 18px;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent);}

.mock-browser-card,
.mock-note-card,
.mock-photo-tile,
.mock-call-row,
.mock-sms-row {width: 100%;
  text-align: left;
  color: inherit;
  cursor: pointer;}

.mock-avatar {width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #21c471, #2997ff);
  font-weight: 900;}

.mock-browser-card strong,
.mock-note-card strong,
.mock-call-row strong {color: var(--skin-text);}

.mock-browser-card p,
.mock-note-card p,
.mock-call-row p {margin: 4px 0 0;
  color: var(--skin-muted);
  line-height: 1.4;
  word-break: break-word;}

.char-phone-notes-page {gap: 11px;}

.char-phone-todo-panel {display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(49, 55, 63, .08);
  border-radius: 18px;
  background: linear-gradient(145deg, #fffdf5, #f5f0df);
  box-shadow: 0 8px 22px rgba(59, 53, 34, .07);}

.char-phone-todo-panel > header {display: flex; align-items: end; justify-content: space-between; gap: 12px;}

.char-phone-todo-panel > header > div {display: grid; gap: 2px;}

.char-phone-todo-panel > header small {color: #b09a62; font-size: 8px; font-weight: 900; letter-spacing: .15em;}

.char-phone-todo-panel > header strong {color: #272923; font-size: 15px;}

.char-phone-todo-panel > header span {color: #8c8879; font-size: 9px;}

.char-phone-todo-list {display: grid; gap: 3px;}

.char-phone-todo-list > p {margin: 0; padding: 9px 0 3px; color: #8a877c; font-size: 10px; line-height: 1.55;}

.char-phone-todo-item {width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 6px 2px;
  border: 0;
  border-bottom: 1px solid rgba(75, 73, 61, .08);
  color: #34362f;
  background: transparent;
  text-align: left;}

.char-phone-todo-item:last-child {border-bottom: 0;}

.char-phone-todo-item i {width: 20px; height: 20px; display: grid; place-items: center; border: 1.5px solid #aaa58f; border-radius: 50%; color: #fff; font-size: 11px; font-style: normal;}

.char-phone-todo-item span {font-size: 11px; line-height: 1.45;}

.char-phone-todo-item.completed i {border-color: #83927c; background: #83927c;}

.char-phone-todo-item.completed span {color: #9a998f; text-decoration: line-through; text-decoration-thickness: 1px;}

.mock-browser-card small,
.mock-call-row em {color: var(--skin-muted);
  font-size: 11px;
  font-style: normal;}

.mock-searchbar {height: 42px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 18px;
  color: var(--skin-muted);
  background: color-mix(in srgb, var(--phone-bg) 84%, transparent);
  border: 1px solid var(--skin-border);}

.mock-browser-card,
.mock-note-card {padding: 13px;}

.mock-album-grid {min-height: 0;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 10px;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.char-phone-order-list {min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.char-phone-activity-list,
.char-phone-wallet-page {min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 2px 2px calc(8px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;}

.char-phone-activity-row {width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 18px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  text-align: left;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent);}

.char-phone-activity-row > span {width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #c81d2e, #e7433f 52%, #ff8a7a);
  font-weight: 950;}

.char-phone-activity-row.usage > span {background: linear-gradient(145deg, #111827, #35d0a7 55%, #7dd3fc);}

.char-phone-activity-row div {min-width: 0;}

.char-phone-activity-row strong,
.char-phone-activity-row p,
.char-phone-activity-row small {display: block;
  min-width: 0;}

.char-phone-activity-row strong {overflow: hidden;
  color: var(--skin-text);
  text-overflow: ellipsis;
  white-space: nowrap;}

.char-phone-activity-row p {margin: 4px 0 2px;
  color: var(--skin-muted);
  line-height: 1.4;
  word-break: break-word;}

.char-phone-activity-row small {overflow: hidden;
  color: var(--skin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;}

.char-phone-wallet-page {gap: 12px;}

.char-phone-wallet-hero {padding: 20px 20px 18px;
  border-radius: 24px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.14);}

.char-phone-wallet-hero strong {margin: 18px 0 20px;
  font-size: 42px;
  letter-spacing: 0;}

.char-phone-wallet-records {display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 20px;
  background: color-mix(in srgb, var(--surface-strong) 82%, transparent);}

.char-phone-wallet-records .wallet-section-head small {color: var(--skin-muted);
  font-size: 11px;
  font-weight: 800;}

.char-phone-wallet-records .wallet-record-row {padding: 11px 0;}

.char-phone-wallet-page > .phone-wallet-toggle-input {position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;}

.phone-wallet-switch {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 70%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);}

.phone-wallet-switch label {min-height: 34px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--skin-muted);
  font-size: 13px;
  font-weight: 900;}

.phone-wallet-toggle-input[id$="-balance"]:checked ~ .phone-wallet-switch label[for$="-balance"],
.phone-wallet-toggle-input[id$="-profile"]:checked ~ .phone-wallet-switch label[for$="-profile"] {color: #fff;
  background: linear-gradient(135deg, #25282d, #555b63);
  box-shadow: 0 8px 18px rgba(36, 41, 48, .16);}

.phone-wallet-panels {display: grid;
  gap: 12px;}

.phone-wallet-panel {display: none;}

.phone-wallet-toggle-input[id$="-balance"]:checked ~ .phone-wallet-panels .phone-wallet-balance-panel,
.phone-wallet-toggle-input[id$="-profile"]:checked ~ .phone-wallet-panels .phone-wallet-profile-panel {display: grid;}

.char-phone-wallet-page .wallet-hero-card.char-phone-wallet-hero {background:
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.12), transparent 32%),
    linear-gradient(145deg, #1f2023, #303236 56%, #45484d);}

.phone-wallet-main-balance {overflow-wrap: anywhere;
  font-size: clamp(31px, 8.8vw, 42px) !important;
  letter-spacing: -0.035em !important;}

.phone-wallet-sub-grid {margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.12);}

.phone-wallet-profile-panel {gap: 12px;}

.phone-wallet-profile-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.phone-wallet-profile-grid > div,
.phone-wallet-profile-card {min-width: 0;
  display: grid;
  gap: 5px;
  padding: 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 70%, transparent);
  border-radius: 17px;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent);}

.phone-wallet-profile-grid span,
.phone-wallet-income-row small {color: var(--skin-muted);
  font-size: 11px;
  font-weight: 850;}

.phone-wallet-profile-grid strong {min-width: 0;
  overflow: hidden;
  color: var(--skin-text);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.phone-wallet-profile-card > strong {color: var(--skin-text);
  font-size: 13px;}

.phone-wallet-profile-card p {margin: 0;
  color: var(--skin-muted);
  font-size: 12px;
  line-height: 1.45;}

.phone-wallet-income-list {display: grid;
  gap: 2px;}

.phone-wallet-income-row {display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px 0;
  border-top: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);}

.phone-wallet-income-row:first-child {border-top: 0;}

.phone-wallet-income-row i {width: 7px;
  height: 7px;
  border-radius: 99px;
  background: #adb3ba;}

.phone-wallet-income-row.salary i {background: #59616a;}

.phone-wallet-income-row.family i {background: #8d949d;}

.phone-wallet-income-row.investment i {background: #646b73;}

.phone-wallet-income-row.freelance i {background: #717982;}

.phone-wallet-income-row strong,
.phone-wallet-income-row small {display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.phone-wallet-income-row strong {color: var(--skin-text);
  font-size: 13px;}

.phone-wallet-income-row em {color: #2d9b6f;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;}

.char-phone-activity-meta {display: grid;
  gap: 8px;
  margin: 12px 0 14px;}

.char-phone-activity-meta div {display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;}

.char-phone-activity-meta dt {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.char-phone-activity-meta dd {margin: 0;
  color: var(--skin-text);
  line-height: 1.45;
  word-break: break-word;}

.char-phone-order-row {width: 100%;
  min-width: 0;
  min-height: 86px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  color: var(--skin-text);
  text-align: left;}

.char-phone-order-icon,
.mock-photo-tile div {display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #ff8fab, #74b9ff);
  font-size: 28px;
  font-weight: 900;}

.mock-photo-tile div {aspect-ratio: 1;}

.char-phone-order-icon {width: 52px;
  height: 52px;}

.char-phone-order-copy {min-width: 0;
  display: grid;
  gap: 3px;}

.char-phone-order-copy strong {display: -webkit-box;
  overflow: hidden;
  color: var(--skin-text);
  font-size: 13px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.char-phone-order-copy em {overflow: hidden;
  color: var(--skin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-style: normal;}

.char-phone-order-copy small {display: -webkit-box;
  overflow: hidden;
  color: var(--skin-muted);
  font-size: 10px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.char-phone-order-copy small b {margin-right: 5px;
  color: var(--skin-accent);}

.char-phone-order-price {align-self: start;
  padding-top: 2px;
  color: #f04f5f;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 900;}

.mock-note-card {background: linear-gradient(145deg, rgba(255, 232, 126, 0.78), rgba(255, 248, 205, 0.9));}

.mock-photo-tile {display: grid;
  gap: 6px;}

.mock-photo-tile p {margin: 0;
  color: var(--skin-muted);
  font-size: 12px;
  line-height: 1.35;}

.mock-call-row {display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;}

.mock-call-row > span {width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #20c46b;
  font-weight: 900;}

.mock-sms-thread {align-content: start;
  background: color-mix(in srgb, var(--phone-bg) 88%, transparent);
  border-radius: 20px;
  padding: 12px;}

.mock-sms-list-head {margin-bottom: 4px;
  color: var(--skin-text);
  font-size: 22px;
  font-weight: 900;}

.mock-sms-row {display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  padding: 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent);}

.mock-sms-row strong {color: var(--skin-text);}

.mock-sms-row span {color: var(--skin-muted);
  font-size: 12px;}

.mock-sms-row p {grid-column: 1 / -1;
  margin: 0;
  color: var(--skin-muted);
  line-height: 1.45;}

.char-phone-detail-view {min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;}

.char-phone-detail-card {min-height: 0;
  overflow-y: auto;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent);
  -webkit-overflow-scrolling: touch;}

.char-phone-detail-card .detail-kicker {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.char-phone-detail-card h3 {margin: 8px 0 6px;
  color: var(--skin-text);
  font-size: 22px;
  line-height: 1.25;}

.char-phone-detail-card small {display: block;
  color: var(--skin-muted);
  margin-bottom: 14px;}

.char-phone-detail-card p {margin: 0;
  color: var(--skin-text);
  line-height: 1.72;
  white-space: pre-wrap;
  word-break: break-word;}

.char-phone-compose-overlay {position: fixed;
  inset: 0;
  z-index: 99920;
  display: grid;
  place-items: center;
  padding: max(16px, var(--safe-top)) 16px max(16px, var(--safe-bottom));
  background: rgba(20, 28, 24, .46);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}

.char-phone-overlay {background: rgba(34, 26, 20, 0.42) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;}

.phone-wallet-big-balance {display: block;
  margin: 10px 0 12px;
  color: var(--skin-text);
  font-size: 30px;
  font-weight: 950;}

.mock-item-card strong {display: flex;
  align-items: center;
  gap: 8px;}

.mock-item-card strong span {width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, #fff 64%, transparent);}

.hidden-photo-entry .mock-product-img,
.mock-photo-tile.hidden-photo-entry div {background: linear-gradient(145deg, #596275, #303952);}

.mock-sms-thread {align-content: start;
  gap: 10px;}

.mock-sms-row {grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  overflow: hidden;}

.mock-sms-row strong {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: keep-all;}

.mock-sms-row span {max-width: 86px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  justify-self: end;}

.mock-sms-row p {min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;}

.char-phone-x {display: flex !important;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 2px;}

.char-phone-x .char-phone-inner-back,
.char-phone-x h3 {flex: 0 0 auto;}

.user-phone-shell {grid-template-rows: auto auto minmax(0, 1fr);}

.user-phone-body {min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-right: 2px;}

.user-phone-reaction {display: flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent, #6c8cff) 16%, transparent), color-mix(in srgb, var(--skin-accent-2, #ff7aa8) 14%, transparent));
  border: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 55%, transparent);}

.user-phone-reaction p {margin: 0; font-size: 13px; line-height: 1.5; color: var(--skin-text);}

.user-phone-hide {display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 60%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 45%, transparent);}

.user-phone-hide small {opacity: 0.62; font-size: 12px;}

.user-phone-chips {display: flex; flex-wrap: wrap; gap: 7px;}

.user-phone-chip {border: 1px solid color-mix(in srgb, var(--skin-border, #cdd5e2) 70%, transparent);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px;
  background: transparent;
  color: var(--skin-text);
  cursor: pointer;}

.user-phone-chip.on {background: linear-gradient(135deg, var(--skin-accent, #6c8cff), var(--skin-accent-2, #33d6ad));
  color: #fff;
  border-color: transparent;}

.user-phone-chip.off {opacity: 0.5; text-decoration: line-through;}

.user-phone-hidden-note {margin: 0; font-size: 12px; opacity: 0.6;}

.user-phone-empty {margin: 16px 4px; font-size: 13px; opacity: 0.7; text-align: center;}

.user-phone-app {display: flex; flex-direction: column; gap: 10px;}

.user-phone-app h4 {margin: 4px 0 0;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: color-mix(in srgb, var(--skin-text, #1b2330) 62%, transparent);}

.user-phone-app-reaction {display: flex;
  gap: 8px;
  align-items: center;
  margin: 2px 0 4px;
  padding: 8px 11px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--skin-accent, #6c8cff) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-accent, #6c8cff) 22%, transparent);}

.user-phone-app-reaction p {margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--skin-text);}

.user-phone-controls {display: flex; gap: 8px;}

.user-phone-controls button {border: 1px solid color-mix(in srgb, var(--skin-border, #cdd5e2) 65%, transparent);
  background: color-mix(in srgb, var(--surface-strong, #fff) 60%, transparent);
  color: var(--skin-text);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12px;
  cursor: pointer;}

.user-phone-closing {display: flex;
  gap: 10px;
  align-items: center;
  margin: 4px 0 2px;
  padding: 10px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 55%, transparent);
  border: 1px dashed color-mix(in srgb, var(--skin-border, #d9dee8) 55%, transparent);}

.user-phone-closing p {margin: 0; font-size: 12.5px; opacity: 0.7;}

.user-phone-body.playing .user-phone-reaction,
.user-phone-body.playing .user-phone-app,
.user-phone-body.playing .user-phone-closing {opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;}

.user-phone-body.playing .user-phone-reaction.revealed,
.user-phone-body.playing .user-phone-app.revealed,
.user-phone-body.playing .user-phone-closing.revealed {opacity: 1;
  transform: none;}

.user-phone-stakes {display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px;}

.user-phone-stake {border: 1px solid color-mix(in srgb, var(--skin-border, #cdd5e2) 65%, transparent);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px;
  background: transparent;
  color: var(--skin-text);
  cursor: pointer;}

.user-phone-stake.on {background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent, #6c8cff) 88%, #000 4%), var(--skin-accent-2, #ff7aa8));
  color: #fff;
  border-color: transparent;}

.user-phone-stake.off {opacity: 0.55;}

#appScreen [class*="phone-inspect"] button {background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  box-shadow: none !important;}

#appScreen [class*="phone-inspect"] button :is(strong, span, small) {color: inherit !important;}

#appScreen [class*="phone-inspect"] button:is(.off, .excluded, [aria-pressed="false"], .is-off) {opacity: .5 !important;}

#appScreen [data-generate-user-phone],
#appScreen [data-generate-char-phone],
#appScreen :is(.char-phone-head, .user-phone-shell, .char-phone-shell) button:not(.danger-button):not(.secondary-button) {background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  box-shadow: none !important;}

#appScreen .user-phone-chip.on,
#appScreen .user-phone-stake.on {background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 30%, transparent) !important;}

#appScreen .user-phone-chip:not(.on),
#appScreen .user-phone-stake:not(.on) {background: color-mix(in srgb, var(--ed-accent) 8%, #f3f5f8) !important;
  background-image: none !important;
  color: var(--ed-muted) !important;
  border: 1px solid var(--ed-line) !important;}

.char-phone-overlay [data-generate-user-phone],
.char-phone-overlay [data-generate-char-phone],
.char-phone-overlay .user-phone-chip.on,
.char-phone-overlay .user-phone-stake.on {background: var(--ed-accent-soft, #eaf1fa) !important;
  background-image: none !important;
  color: var(--ed-accent, #6090c4) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent, #6090c4) 28%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;}

.char-phone-overlay .user-phone-chip:not(.on),
.char-phone-overlay .user-phone-stake:not(.on) {background: color-mix(in srgb, var(--ed-accent, #6090c4) 7%, #f3f5f8) !important;
  background-image: none !important;
  color: var(--ed-muted, #6c7985) !important;
  border: 1px solid var(--ed-line, rgba(38, 60, 84, 0.14)) !important;
  box-shadow: none !important;}

#charPhoneOverlay.char-phone-overlay,
#userPhoneOverlay.char-phone-overlay {z-index: 3000 !important;
  place-items: stretch !important;
  padding: 0 !important;
  background: #f5f5f6 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

#charPhoneOverlay .char-phone-shell,
#userPhoneOverlay .char-phone-shell {width: 100vw !important;
  max-width: none !important;
  height: var(--app-height) !important;
  max-height: none !important;
  min-height: var(--app-height) !important;
  padding: 0 !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f5f5f6 !important;
  color: #303136 !important;
  box-shadow: none !important;}

#charPhoneOverlay .char-phone-head,
#userPhoneOverlay .char-phone-head {min-height: calc(56px + var(--safe-top)) !important;
  padding: var(--safe-top) 16px 0 !important;
  grid-template-columns: 42px 44px minmax(0, 1fr) 68px !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(31, 35, 40, .08) !important;
  background: rgba(247, 247, 248, .94) !important;
  backdrop-filter: blur(22px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.15) !important;}

#charPhoneOverlay .char-phone-head button:first-child,
#userPhoneOverlay .char-phone-head button:first-child {width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  color: #3a3b3f !important;
  background: transparent !important;
  font-size: 34px !important;
  box-shadow: none !important;}

#charPhoneOverlay .char-phone-head button:last-child,
#userPhoneOverlay .char-phone-head button:last-child {min-height: 34px !important;
  border-radius: 17px !important;
  font-size: 12px !important;}

#charPhoneOverlay .char-phone-avatar,
#userPhoneOverlay .char-phone-avatar {width: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;}

#charPhoneOverlay .char-phone-status,
#userPhoneOverlay .char-phone-status {min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 18px !important;
  background: #f5f5f6 !important;}

#charPhoneOverlay .char-phone-home,
#userPhoneOverlay .user-phone-body {padding: 18px 18px calc(28px + var(--safe-bottom)) !important;}

#charPhoneOverlay .char-phone-content-view {padding: 12px 16px 0 !important;}

#charPhoneOverlay .char-phone-page-stage {min-height: 0 !important;}

#charPhoneOverlay .char-phone-content,
#userPhoneOverlay .user-phone-body {overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;}

#charPhoneOverlay .char-phone-pager {padding-bottom: max(6px, var(--safe-bottom)) !important;}

@supports (height: 100dvh) {
#charPhoneOverlay .char-phone-shell,
#userPhoneOverlay .char-phone-shell {height: 100dvh !important;
    min-height: 100dvh !important;}
}

#charPhoneOverlay .char-phone-home {display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  min-height: 0 !important;
  padding: 28px 18px calc(16px + var(--safe-bottom)) !important;
  overflow-y: auto !important;
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 255, 255, .86), transparent 28%),
    linear-gradient(180deg, #f7f7f8 0%, #f1f2f4 100%) !important;}

#charPhoneOverlay .char-phone-lockscreen {display: grid !important;
  justify-items: center !important;
  gap: 24px !important;
  padding-top: 8px !important;}

#charPhoneOverlay .char-phone-lock-clock {display: grid !important;
  justify-items: center !important;
  gap: 4px !important;
  color: #2f3033 !important;}

#charPhoneOverlay .char-phone-lock-clock strong {color: inherit !important;
  font-size: clamp(64px, 21vw, 96px) !important;
  line-height: .92 !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;}

#charPhoneOverlay .char-phone-lock-clock small {color: rgba(47, 48, 51, .66) !important;
  font-size: 15px !important;
  font-weight: 750 !important;}

#charPhoneOverlay .char-phone-lock-card {width: min(100%, 360px) !important;
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  padding: 24px 18px 22px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 18px 42px rgba(26, 30, 36, .08) !important;
  backdrop-filter: blur(24px) saturate(1.16) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.16) !important;}

#charPhoneOverlay .char-phone-lock-card .char-phone-profile-avatar {width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(22, 26, 32, .14) !important;}

#charPhoneOverlay .char-phone-lock-card strong {color: #303136 !important;
  font-size: 18px !important;
  font-weight: 850 !important;}

#charPhoneOverlay .char-phone-lock-card p {max-width: 100% !important;
  margin: 2px 0 0 !important;
  color: rgba(48, 49, 54, .58) !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-style: italic !important;
  overflow-wrap: anywhere !important;}

#charPhoneOverlay .char-phone-lock-card small {color: rgba(48, 49, 54, .42) !important;
  font-size: 11px !important;
  font-weight: 700 !important;}

#charPhoneOverlay .char-phone-app-icon {gap: 7px !important;
  min-height: 78px !important;}

#charPhoneOverlay .char-phone-app-icon .icon-face {width: 54px !important;
  height: 54px !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px rgba(24, 28, 34, .10) !important;}

#charPhoneOverlay .char-phone-app-icon small {max-width: 76px !important;
  color: rgba(47, 48, 51, .82) !important;
  font-size: 12px !important;
  font-weight: 750 !important;}

@media (max-height: 760px) {
#charPhoneOverlay .char-phone-home {gap: 18px !important;
    padding-top: 18px !important;}
#charPhoneOverlay .char-phone-lockscreen {gap: 16px !important;}
#charPhoneOverlay .char-phone-lock-clock strong {font-size: 58px !important;}
#charPhoneOverlay .char-phone-lock-card {padding: 18px 16px !important;}
}

#charPhoneOverlay .char-phone-content-view {min-height: 0 !important;
  overflow: hidden !important;}

#charPhoneOverlay .char-phone-page-stage {display: block !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  padding-bottom: calc(18px + var(--safe-bottom)) !important;}

#charPhoneOverlay .char-phone-pager {display: none !important;}

#charPhoneOverlay .char-phone-detail-view {min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: calc(24px + var(--safe-bottom)) !important;}

#charPhoneOverlay .char-phone-detail-card {max-height: none !important;}

#charPhoneOverlay .char-phone-content-view.char-phone-x {display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  padding-bottom: calc(22px + var(--safe-bottom)) !important;}

#charPhoneOverlay .char-phone-x .x-feed {flex: 0 0 auto !important;
  padding-bottom: calc(18px + var(--safe-bottom)) !important;}

.char-phone-care {--care-bg: color-mix(in srgb, var(--phone-bg, #f4ecdf) 76%, #fff7ed 24%);
  --care-card: color-mix(in srgb, var(--surface-strong, #fff) 78%, #fff8ef 22%);
  --care-line: color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 74%, var(--skin-accent-2, #c7a465) 26%);
  --care-accent: color-mix(in srgb, var(--skin-accent, #8f5360) 70%, #9d5966 30%);
  --care-gold: color-mix(in srgb, var(--skin-accent-2, #c7a465) 58%, #b89a68 42%);
  --care-text: var(--skin-text, #322824);
  --care-muted: var(--skin-muted, #86766c);}

#userPhoneOverlay .user-phone-shell {grid-template-rows: auto auto minmax(0, 1fr) !important;}

#userPhoneOverlay .user-phone-body {min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow: hidden !important;
  padding: 10px 12px calc(12px + var(--safe-bottom)) !important;
  background: #eef1f5 !important;}

#userPhoneOverlay .user-phone-privacy {flex: 0 0 auto;
  border: 1px solid rgba(37, 48, 63, .08);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 6px 18px rgba(28, 35, 46, .05);
  overflow: hidden;}

#userPhoneOverlay .user-phone-privacy summary {min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 13px;
  color: #343943;
  cursor: pointer;
  list-style: none;}

#userPhoneOverlay .user-phone-privacy summary::-webkit-details-marker {display: none;}

#userPhoneOverlay .user-phone-privacy summary span {font-size: 13px; font-weight: 780;}

#userPhoneOverlay .user-phone-privacy summary small {color: rgba(52,57,67,.5); font-size: 11px;}

#userPhoneOverlay .user-phone-privacy-content {display: grid;
  gap: 8px;
  padding: 0 12px 12px;
  border-top: 1px solid rgba(37, 48, 63, .06);}

#userPhoneOverlay .user-phone-privacy-content > p {margin: 9px 0 0;
  color: rgba(52,57,67,.6);
  font-size: 11px;
  line-height: 1.45;}

#userPhoneOverlay .user-phone-chips {max-height: 92px; overflow-y: auto;}

#userPhoneOverlay .user-phone-stage {flex: 1 1 auto;
  min-height: 0;
  display: grid;
  place-items: center;}

#userPhoneOverlay .user-phone-device {position: relative;
  width: min(100%, 410px);
  height: 100%;
  min-height: 390px;
  max-height: 690px;
  display: grid;
  grid-template-rows: 24px minmax(0, 1fr) 20px;
  overflow: hidden;
  border: 7px solid #1f2228;
  border-radius: 34px;
  background: #f6f7f9;
  box-shadow: 0 18px 48px rgba(20, 25, 33, .2);}

#userPhoneOverlay .user-phone-device::before {content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  z-index: 30;
  width: 82px;
  height: 18px;
  border-radius: 0 0 14px 14px;
  background: #1f2228;
  transform: translateX(-50%);}

#userPhoneOverlay .user-phone-device-status {z-index: 4;
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding: 0 14px 2px;
  color: #30343b;
  background: rgba(248,249,251,.94);
  font-size: 9px;
  font-weight: 800;}

#userPhoneOverlay .user-phone-device-screen {position: relative;
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 6%, rgba(167, 200, 231, .34), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(212, 225, 241, .62), transparent 36%),
    linear-gradient(165deg, #edf3f9 0%, #f7f8fa 48%, #e9edf3 100%);}

#userPhoneOverlay .user-phone-app,
#userPhoneOverlay .user-phone-ending-screen {position: absolute;
  inset: 0;
  min-height: 0;}

#userPhoneOverlay [data-user-phone-app-panel][hidden],
#userPhoneOverlay [data-user-phone-ending][hidden] {display: none !important;}

#userPhoneOverlay .user-phone-owner-card {display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 18px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 10px 28px rgba(43, 54, 68, .08);
  backdrop-filter: blur(18px);}

#userPhoneOverlay .user-phone-owner-avatar {width: 42px; height: 42px; border-radius: 14px;}

#userPhoneOverlay .user-phone-owner-card span {min-width: 0; display: grid; gap: 2px;}

#userPhoneOverlay .user-phone-owner-card strong {color: #30343b; font-size: 13px;}

#userPhoneOverlay .user-phone-owner-card small {color: rgba(48,52,59,.5); font-size: 9px;}

#userPhoneOverlay .user-phone-app {display: flex;
  flex-direction: column;
  background: #f4f5f7;}

#userPhoneOverlay .user-phone-app-head {flex: 0 0 auto;
  min-height: 48px;
  display: grid;
  grid-template-columns: 32px 30px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-bottom: 1px solid rgba(34, 42, 54, .08);
  background: rgba(250,251,252,.92);}

#userPhoneOverlay .user-phone-app-head button {width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #343943 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 26px;}

#userPhoneOverlay .user-phone-app-head .icon-face {width: 28px; height: 28px; border-radius: 9px; font-size: 12px;}

#userPhoneOverlay .user-phone-app-head strong {color: #30343b; font-size: 14px;}

#userPhoneOverlay .user-phone-app-scroll {flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
  overflow-y: auto;
  padding: 10px;
  -webkit-overflow-scrolling: touch;}

#userPhoneOverlay .user-phone-app-scroll .x-tweet,
#userPhoneOverlay .user-phone-app-scroll .x-profile {border: 1px solid rgba(38,47,59,.08);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(31,39,50,.05);}

#userPhoneOverlay .user-phone-app-empty {margin: auto;
  padding: 24px 16px;
  color: rgba(48,52,59,.5);
  text-align: center;
  font-size: 12px;}

#userPhoneOverlay .user-phone-thought-pop {position: absolute;
  left: 14px;
  right: 14px;
  bottom: 24px;
  z-index: 25;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 18px;
  color: #2f343c;
  background: rgba(255,255,255,.93);
  box-shadow: 0 14px 34px rgba(24,31,41,.2);
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
  opacity: 0;
  transform: translateY(16px) scale(.97);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;}

#userPhoneOverlay .user-phone-thought-pop.show {opacity: 1; transform: none;}

#userPhoneOverlay .user-phone-thought-avatar {width: 38px; height: 38px; border-radius: 50%;}

#userPhoneOverlay .user-phone-thought-pop div {min-width: 0; display: grid; gap: 2px;}

#userPhoneOverlay .user-phone-thought-pop small {color: rgba(47,52,60,.48); font-size: 9px; font-weight: 760;}

#userPhoneOverlay .user-phone-thought-pop p {margin: 0; color: #2f343c; font-size: 12px; line-height: 1.45;}

#userPhoneOverlay .user-phone-ending-screen {display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 22px 20px;
  overflow-y: auto;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(159,190,221,.42), transparent 38%),
    linear-gradient(180deg, #f8fafc, #eef2f6);}

#userPhoneOverlay .user-phone-ending-avatar {width: 64px; height: 64px; border-radius: 50%; box-shadow: 0 10px 26px rgba(27,36,48,.14);}

#userPhoneOverlay .user-phone-ending-kicker {color: rgba(48,52,59,.46); font-size: 10px; font-weight: 780; letter-spacing: .08em;}

#userPhoneOverlay .user-phone-ending-screen h3 {margin: 0; color: #30343b; font-size: 24px;}

#userPhoneOverlay .user-phone-intensity {display: flex; gap: 5px;}

#userPhoneOverlay .user-phone-intensity span {width: 18px; height: 4px; border-radius: 999px; background: rgba(50,58,70,.12);}

#userPhoneOverlay .user-phone-intensity span.on {background: #6f92b7;}

#userPhoneOverlay .user-phone-ending-action {margin: 4px 0 0; color: rgba(48,52,59,.62); font-size: 11px; line-height: 1.55;}

#userPhoneOverlay .user-phone-ending-screen blockquote {width: 100%;
  margin: 2px 0;
  padding: 12px 14px;
  border: 1px solid rgba(52,64,78,.08);
  border-radius: 15px;
  color: #30343b;
  background: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.55;
  font-style: normal;}

#userPhoneOverlay .user-phone-ending-screen blockquote.silent {color: rgba(48,52,59,.5);}

#userPhoneOverlay .user-phone-ending-thought {width: 100%; padding: 10px 12px; border-radius: 14px; background: rgba(105,140,178,.1); text-align: left;}

#userPhoneOverlay .user-phone-ending-thought small {color: #6484a5; font-size: 9px; font-weight: 800;}

#userPhoneOverlay .user-phone-ending-thought p {margin: 3px 0 0; color: #34404d; font-size: 11.5px; line-height: 1.5;}

#userPhoneOverlay .user-phone-ending-mode {margin: 0; color: rgba(48,52,59,.48); font-size: 9.5px;}

#userPhoneOverlay .user-phone-ending-screen > button {min-height: 34px;
  margin-top: 2px;
  padding: 0 16px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #7596b7 !important;}

#userPhoneOverlay .user-phone-controls {flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0 !important;}

#userPhoneOverlay .user-phone-controls button {min-height: 35px;
  padding: 0 8px !important;
  border: 1px solid rgba(40,50,64,.09) !important;
  border-radius: 11px !important;
  color: #4a5562 !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: none !important;
  font-size: 11px;}

#userPhoneOverlay .user-phone-empty-state {flex: 1 1 auto;
  min-height: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 28px;
  text-align: center;}

#userPhoneOverlay .user-phone-empty-avatar {width: 68px; height: 68px; border-radius: 50%;}

#userPhoneOverlay .user-phone-empty-state h3 {margin: 4px 0 0; color: #30343b; font-size: 18px;}

#userPhoneOverlay .user-phone-empty-state p {max-width: 28em; margin: 0; color: rgba(48,52,59,.56); font-size: 12px; line-height: 1.55;}

@media (max-height: 720px) {
#userPhoneOverlay .user-phone-body {gap: 7px !important; padding-top: 7px !important;}
#userPhoneOverlay .user-phone-device {min-height: 330px; border-width: 6px; border-radius: 29px;}
#userPhoneOverlay .user-phone-owner-card {padding: 8px;}
}

@media not all {
#charPhoneOverlay,
#userPhoneOverlay {--museum-putty: #c4c3b6;
  --museum-ink: #000000;
  --museum-bone: #e7e5e4;
  --museum-chalk: #ebebeb;
  --museum-vellum: #dfdcd5;
  --museum-graphite: #595855;
  --museum-ash: #808080;
  --museum-paper: #ffffff;
  --museum-serif: Georgia, "Times New Roman", "Songti SC", "STSong", serif;
  --museum-sans: "Helvetica Neue", Helvetica, Arial, "PingFang SC", sans-serif;
  --museum-card-radius: 9px;
  --museum-pill-radius: 28.8px;
  font-family: var(--museum-sans) !important;}
.char-phone-overlay {z-index: 99910 !important;
  padding: 0 !important;
  background: rgba(0, 0, 0, .68) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}
#charPhoneOverlay .char-phone-shell,
#userPhoneOverlay .char-phone-shell {width: min(440px, 100%) !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: var(--museum-putty) !important;
  box-shadow: none !important;}
#charPhoneOverlay .char-phone-head,
#userPhoneOverlay .char-phone-head {min-height: calc(58px + var(--safe-top));
  grid-template-columns: 34px 38px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  padding: var(--safe-top) 14px 0 !important;
  border-bottom: 1px solid var(--museum-ink);
  background: var(--museum-putty) !important;}
#charPhoneOverlay .char-phone-head button,
#userPhoneOverlay .char-phone-head button,
#charPhoneOverlay .char-phone-inner-back,
#userPhoneOverlay .char-phone-inner-back {min-height: 32px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 400 12px/1 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-head > button:first-child,
#userPhoneOverlay .char-phone-head > button:first-child {width: 32px;
  padding: 0 !important;
  font: 400 28px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-head > button:last-child,
#userPhoneOverlay .char-phone-head > button:last-child,
#charPhoneOverlay [data-generate-char-phone],
#userPhoneOverlay [data-generate-user-phone] {min-width: 58px;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  border: 1px solid var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-avatar,
#userPhoneOverlay .char-phone-avatar {width: 34px !important;
  height: 34px !important;
  border: 1px solid var(--museum-ink);
  border-radius: 50% !important;
  box-shadow: none !important;}
#charPhoneOverlay .char-phone-head strong,
#userPhoneOverlay .char-phone-head strong {color: var(--museum-ink) !important;
  font: 500 13px/1.2 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-head small,
#userPhoneOverlay .char-phone-head small {color: var(--museum-graphite) !important;
  font: 400 9px/1.3 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-status,
#userPhoneOverlay .char-phone-status {min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 14px !important;
  border-bottom: 1px solid var(--museum-vellum);
  color: var(--museum-graphite) !important;
  background: var(--museum-bone) !important;
  font: 400 9px/1.35 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-status:empty,
#userPhoneOverlay .char-phone-status:empty {display: none;}
#charPhoneOverlay :is(button, article, section, div),
#userPhoneOverlay :is(button, article, section, div) {text-shadow: none !important;}
#userPhoneOverlay :is(.icon-face, button, .panel, article, .x-profile, .x-tweet) {box-shadow: none !important;}
#charPhoneOverlay .icon-face,
#userPhoneOverlay .icon-face {color: currentColor !important;
  background: transparent !important;
  background-image: none !important;}
#charPhoneOverlay .char-phone-home {min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px 12px calc(18px + var(--safe-bottom)) !important;
  overflow-y: auto !important;
  background: var(--museum-putty) !important;}
#charPhoneOverlay .char-phone-lockscreen {display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(118px, .8fr);
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 8px !important;
  padding: 0 !important;}
#charPhoneOverlay .char-phone-lock-clock {min-height: 184px;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px !important;
  border: 1px solid var(--museum-ink);
  border-radius: var(--museum-card-radius);
  color: var(--museum-ink) !important;
  background: var(--museum-bone);}
#charPhoneOverlay .char-phone-lock-clock::before {content: "LOCAL TIME / 01";
  color: var(--museum-graphite);
  font: 500 8px/1.3 var(--museum-sans);
  letter-spacing: .15em;}
#charPhoneOverlay .char-phone-lock-clock strong {color: inherit !important;
  font: 500 clamp(64px, 21vw, 92px)/.78 var(--museum-serif) !important;
  letter-spacing: -.065em !important;}
#charPhoneOverlay .char-phone-lock-clock small {color: var(--museum-graphite) !important;
  font: 500 10px/1.2 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-lock-card {width: auto !important;
  min-width: 0;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px !important;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}
#charPhoneOverlay .char-phone-lock-card::before {content: "OWNER";
  font: 500 8px/1.2 var(--museum-sans);
  letter-spacing: .15em;}
#charPhoneOverlay .char-phone-lock-card .char-phone-profile-avatar {width: 58px !important;
  height: 58px !important;
  border: 1px solid var(--museum-paper);
  border-radius: 50% !important;
  box-shadow: none !important;}
#charPhoneOverlay .char-phone-lock-card strong {color: inherit !important;
  font: 500 18px/1.02 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-lock-card p {margin: 0 !important;
  color: inherit !important;
  opacity: .72;
  text-align: left !important;
  font: italic 400 10px/1.45 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-lock-card small {color: inherit !important;
  opacity: .54;
  font: 400 8px/1.35 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-app-icon {position: relative;
  grid-column: span 3;
  min-width: 0;
  min-height: 92px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  align-items: start;
  justify-items: stretch !important;
  gap: 8px !important;
  overflow: hidden;
  padding: 11px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;
  text-align: left;}
#charPhoneOverlay .char-phone-app-icon::after {grid-column: 1 / -1;
  align-self: end;
  color: currentColor;
  opacity: .56;
  font: 500 8px/1.3 var(--museum-sans);
  letter-spacing: .08em;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="x"] {grid-column: span 2; grid-row: span 2; min-height: 192px !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="screentime"] {grid-column: span 3;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="games"] {grid-column: span 2;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="browser"] {grid-column: span 4;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wallet"] {grid-column: span 2; min-height: 128px !important; color: var(--museum-paper) !important; background: var(--museum-graphite) !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="items"] {grid-column: span 3;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="care"] {grid-column: span 3; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="notes"] {grid-column: span 2;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="album"] {grid-column: span 4;}
#charPhoneOverlay .char-phone-app-icon .icon-face {grid-column: 1;
  grid-row: 1;
  width: 34px !important;
  height: 34px !important;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  font: 500 12px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-app-icon small {grid-column: 2;
  grid-row: 1;
  align-self: center;
  max-width: none !important;
  overflow: visible !important;
  color: inherit !important;
  text-overflow: clip !important;
  white-space: normal !important;
  font: 500 18px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="x"] small {align-self: end; font-size: 36px !important;}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="x"]::after {content: "PUBLIC NOTES / FEED";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="screentime"]::after {content: "TIME STUDY";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="games"]::after {content: "PLAY LOG";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="browser"]::after {content: "READING HISTORY";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wallet"]::after {content: "PRIVATE LEDGER";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="items"]::after {content: "CABINET OF THINGS";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="care"]::after {content: "CARE MANUAL";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="notes"]::after {content: "MANUSCRIPTS";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="album"]::after {content: "IMAGE ARCHIVE";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="phone"]::after {content: "CALL REGISTER";}
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="sms"]::after {content: "SHORT LETTERS";}
#charPhoneOverlay .char-phone-content-view {--folio-label: "PRIVATE APP / ARCHIVE";
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
  padding: 10px 12px 0 !important;
  background: var(--museum-putty) !important;}
#charPhoneOverlay .char-phone-x {--folio-label: "02 / PUBLIC NOTES";}
#charPhoneOverlay .char-phone-music {--folio-label: "03 / LISTENING ROOM";}
#charPhoneOverlay .char-phone-screentime {--folio-label: "04 / TIME STUDY";}
#charPhoneOverlay .char-phone-games {--folio-label: "05 / PLAY LOG";}
#charPhoneOverlay .char-phone-browser {--folio-label: "06 / READING HISTORY";}
#charPhoneOverlay .char-phone-shopping {--folio-label: "07 / CATALOGUE";}
#charPhoneOverlay .char-phone-wallet {--folio-label: "08 / PRIVATE LEDGER";}
#charPhoneOverlay .char-phone-items {--folio-label: "09 / CABINET";}
#charPhoneOverlay .char-phone-notes {--folio-label: "10 / MANUSCRIPTS";}
#charPhoneOverlay .char-phone-album {--folio-label: "11 / IMAGE ARCHIVE";}
#charPhoneOverlay .char-phone-phone {--folio-label: "12 / CALL REGISTER";}
#charPhoneOverlay .char-phone-sms {--folio-label: "13 / SHORT LETTERS";}
#charPhoneOverlay .char-phone-care {--folio-label: "14 / CARE MANUAL";}
#charPhoneOverlay .char-phone-inner-back {justify-self: start;
  width: fit-content;
  max-width: calc(100% - 4px);
  min-height: 28px !important;
  margin-left: 2px !important;
  padding: 0 7px !important;
  overflow: hidden;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-graphite) !important;
  background: color-mix(in srgb, var(--museum-bone) 70%, transparent) !important;
  font: 500 10px/1.2 var(--museum-sans) !important;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;}
#charPhoneOverlay .char-phone-app-title {position: relative;
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end !important;
  gap: 6px 8px !important;
  padding: 8px 0 12px;
  border-bottom: 1px solid var(--museum-ink);}
#charPhoneOverlay .char-phone-app-title::before {content: var(--folio-label);
  grid-column: 1 / -1;
  color: var(--museum-graphite);
  font: 500 8px/1.3 var(--museum-sans);
  letter-spacing: .16em;}
#charPhoneOverlay .char-phone-app-title h3 {margin: 0 !important;
  color: var(--museum-ink) !important;
  font: 500 clamp(42px, 13vw, 58px)/.84 var(--museum-serif) !important;
  letter-spacing: -.05em;}
#charPhoneOverlay .char-phone-app-title button {min-height: 30px !important;
  padding: 0 11px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  font: 400 9px/1 var(--museum-sans) !important;}
#charPhoneOverlay .char-phone-app-title button + button {margin-left: 4px;}
#charPhoneOverlay .char-phone-page-stage,
#charPhoneOverlay .char-phone-x {min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 0 calc(22px + var(--safe-bottom)) !important;
  background: transparent !important;
  -webkit-overflow-scrolling: touch !important;}
#charPhoneOverlay .char-phone-browser .mock-searchbar {margin: 8px 0;
  padding: 13px 14px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  font-size: 10px !important;}
#charPhoneOverlay .char-phone-browser .mock-browser {counter-reset: browser-entry;}
#charPhoneOverlay .char-phone-browser .mock-browser-card {counter-increment: browser-entry;
  position: relative;
  display: grid;
  gap: 6px;
  padding: 18px 8px 18px 46px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-browser .mock-browser-card::before {content: counter(browser-entry, decimal-leading-zero);
  position: absolute;
  left: 4px;
  top: 17px;
  font: 500 22px/.9 var(--museum-serif);}
#charPhoneOverlay .char-phone-browser .mock-browser-card strong {font: 500 20px/1.05 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-browser .mock-browser-card p {color: var(--museum-graphite) !important; font-size: 10px !important;}
#charPhoneOverlay .char-phone-browser .mock-browser-card small {color: var(--museum-graphite) !important; font-size: 8px !important; letter-spacing: .05em;}
#charPhoneOverlay .char-phone-music .char-phone-music-list {display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  padding-top: 8px !important;}
#charPhoneOverlay .char-phone-music .char-phone-activity-row {min-height: 146px;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: space-between;
  gap: 16px !important;
  padding: 13px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-music .char-phone-activity-row:first-child {grid-column: 1 / -1;
  min-height: 190px;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-music .char-phone-activity-row > span {width: 52px !important;
  height: 52px !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  font: 400 24px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-music .char-phone-activity-row strong {color: inherit !important; font: 500 20px/1.05 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-music .char-phone-activity-row p,
#charPhoneOverlay .char-phone-music .char-phone-activity-row small {color: inherit !important; opacity: .58; font-size: 9px !important;}
#charPhoneOverlay .char-phone-screentime .char-phone-activity-row {min-height: 94px;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-screentime .char-phone-activity-row > span {width: auto !important;
  height: auto !important;
  color: inherit !important;
  background: transparent !important;
  font: 500 54px/.78 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-screentime .char-phone-activity-row strong {font: 500 19px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-screentime .char-phone-activity-row p,
#charPhoneOverlay .char-phone-screentime .char-phone-activity-row small {color: var(--museum-graphite) !important; font-size: 9px !important;}
#charPhoneOverlay .char-phone-games .char-phone-game-list {display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  padding-top: 8px !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row {min-height: 138px;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: space-between;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row:nth-child(3n + 1) {color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row > span {width: 34px !important; height: 34px !important; border: 1px solid currentColor; border-radius: 50% !important; color: inherit !important; background: transparent !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row strong {color: inherit !important; font: 500 18px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row p,
#charPhoneOverlay .char-phone-games .char-phone-activity-row small {color: inherit !important; opacity: .58; font-size: 9px !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-list {display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  padding-top: 8px !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-row {min-height: 190px;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: space-between;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-row:first-child {grid-column: 1 / -1; min-height: 174px; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-icon {width: 62px !important;
  height: 62px !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  background-image: none !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-copy strong {color: inherit !important; font: 500 18px/1.1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-copy em,
#charPhoneOverlay .char-phone-shopping .char-phone-order-copy small {color: inherit !important; opacity: .58; font-size: 9px !important; white-space: normal !important;}
#charPhoneOverlay .char-phone-shopping .char-phone-order-price {color: inherit !important; font: 500 25px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-wallet .char-phone-wallet-page {gap: 8px !important; padding-top: 8px;}
#charPhoneOverlay .char-phone-wallet :is(.char-phone-wallet-hero, .wallet-hero-card) {padding: 18px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  background-image: none !important;}
#charPhoneOverlay .char-phone-wallet :is(.char-phone-wallet-hero, .wallet-hero-card) * {color: inherit !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-main-balance,
#charPhoneOverlay .char-phone-wallet .phone-wallet-big-balance {font: 500 clamp(38px, 12vw, 54px)/.88 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-switch {padding: 3px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-pill-radius) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-switch label {border-radius: var(--museum-pill-radius) !important; color: var(--museum-graphite) !important; background: transparent !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-toggle-input[id$="-balance"]:checked ~ .phone-wallet-switch label[for$="-balance"],
#charPhoneOverlay .char-phone-wallet .phone-wallet-toggle-input[id$="-profile"]:checked ~ .phone-wallet-switch label[for$="-profile"] {color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-wallet :is(.phone-wallet-profile-grid > div, .phone-wallet-profile-card, .phone-wallet-income-row, .wallet-record-row) {border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-income-row i {border: 1px solid var(--museum-ink); background: transparent !important;}
#charPhoneOverlay .char-phone-wallet .phone-wallet-income-row em {color: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-items .mock-items-list,
#charPhoneOverlay .char-phone-notes .char-phone-notes-page {display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  padding-top: 8px !important;}
#charPhoneOverlay .char-phone-items .mock-note-card,
#charPhoneOverlay .char-phone-notes .mock-note-card {min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;
  background-image: none !important;}
#charPhoneOverlay .char-phone-items .mock-note-card:nth-child(3n + 1),
#charPhoneOverlay .char-phone-notes .mock-note-card:nth-child(4n + 2) {color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-items .mock-note-card strong,
#charPhoneOverlay .char-phone-notes .mock-note-card strong {color: inherit !important; font: 500 18px/1.05 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-items .mock-note-card p,
#charPhoneOverlay .char-phone-notes .mock-note-card p {color: inherit !important; opacity: .62; font-size: 10px !important;}
#charPhoneOverlay .char-phone-notes .char-phone-todo-panel {grid-column: 1 / -1;
  padding: 14px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  background-image: none !important;}
#charPhoneOverlay .char-phone-notes .char-phone-todo-panel * {color: inherit !important;}
#charPhoneOverlay .char-phone-notes .char-phone-todo-item {border-bottom-color: rgba(255,255,255,.34) !important; background: transparent !important;}
#charPhoneOverlay .char-phone-notes .char-phone-todo-item i {border-color: currentColor !important; background: transparent !important;}
#charPhoneOverlay .char-phone-album .mock-album-grid {display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 8px !important;
  padding-top: 8px !important;}
#charPhoneOverlay .char-phone-album .mock-photo-tile {grid-column: span 3;
  min-height: 154px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 10px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-album .mock-photo-tile:nth-child(5n + 1) {grid-column: span 4; min-height: 214px; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-album .mock-photo-tile:nth-child(5n + 2) {grid-column: span 2; min-height: 214px;}
#charPhoneOverlay .char-phone-album .mock-photo-tile div {width: 100%;
  min-height: 0;
  aspect-ratio: auto !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  color: inherit !important;
  background: transparent !important;
  background-image: none !important;
  font: 500 36px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-album .mock-photo-tile p {color: inherit !important; font: 500 13px/1.2 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-phone .mock-call-row,
#charPhoneOverlay .char-phone-sms .mock-sms-row {min-height: 78px;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-phone .mock-call-row > span {width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--museum-ink);
  border-radius: 50% !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-phone .mock-call-row strong,
#charPhoneOverlay .char-phone-sms .mock-sms-row strong {color: var(--museum-ink) !important; font: 500 18px/1 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-phone .mock-call-row p,
#charPhoneOverlay .char-phone-phone .mock-call-row em,
#charPhoneOverlay .char-phone-sms .mock-sms-row p,
#charPhoneOverlay .char-phone-sms .mock-sms-row span {color: var(--museum-graphite) !important; font-size: 9px !important;}
#charPhoneOverlay .char-phone-sms .mock-sms-thread {border-radius: 0 !important; background: transparent !important;}
#charPhoneOverlay .char-phone-sms .mock-sms-list-head {margin: 10px 0 2px; color: var(--museum-ink) !important; font: 500 48px/.85 var(--museum-serif) !important; letter-spacing: -.045em;}
#charPhoneOverlay .char-phone-x {display: flex !important;
  flex-direction: column;
  gap: 8px !important;}
#charPhoneOverlay .char-phone-x .char-phone-app-title {flex: 0 0 auto;}
#charPhoneOverlay .char-phone-x .x-profile {flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#charPhoneOverlay .char-phone-x .x-profile-cover {height: 86px; border-bottom: 1px solid var(--museum-paper); background-color: var(--museum-graphite) !important; background-image: none;}
#charPhoneOverlay .char-phone-x .x-profile-avatar {border: 1px solid var(--museum-paper) !important; border-radius: 50% !important; box-shadow: none !important;}
#charPhoneOverlay .char-phone-x .x-profile * {color: inherit !important;}
#charPhoneOverlay .char-phone-x .x-feed {gap: 0 !important;}
#charPhoneOverlay .char-phone-x .x-tweet {padding: 15px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#charPhoneOverlay .char-phone-x .x-tweet-avatar,
#charPhoneOverlay .char-phone-x .x-comment-avatar {border: 1px solid var(--museum-ink); border-radius: 50% !important; color: var(--museum-ink) !important; background: transparent !important;}
#charPhoneOverlay .char-phone-x .x-tweet-content {color: var(--museum-ink) !important; font: 400 15px/1.55 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-x .x-tweet-image {border: 1px solid var(--museum-ink) !important; border-radius: var(--museum-card-radius) !important; background: var(--museum-bone) !important; background-image: none !important;}
#charPhoneOverlay .care-manual-page {gap: 8px !important;}
#charPhoneOverlay .care-manual-hero {padding: 18px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  background-image: none !important;}
#charPhoneOverlay .care-manual-hero * {color: inherit !important;}
#charPhoneOverlay .care-manual-hero h2 {font: 500 36px/.9 var(--museum-serif) !important;}
#charPhoneOverlay .care-manual-grid {gap: 8px !important;}
#charPhoneOverlay .care-manual-section {border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;
  box-shadow: none !important;}
#charPhoneOverlay .char-phone-empty-app {align-self: start;
  padding: 18px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-empty-app h3 {font: 500 32px/.95 var(--museum-serif) !important;}
#charPhoneOverlay .char-phone-empty-app button {color: var(--museum-paper) !important; background: var(--museum-ink) !important; border-radius: var(--museum-pill-radius) !important;}
#charPhoneOverlay .char-phone-detail-view {gap: 8px !important;}
#charPhoneOverlay .char-phone-detail-card {border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;}
#charPhoneOverlay .char-phone-detail-card h3 {color: var(--museum-ink) !important; font: 500 34px/.95 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-body {min-height: 0 !important;
  gap: 8px !important;
  padding: 10px 12px calc(14px + var(--safe-bottom)) !important;
  overflow-y: auto !important;
  background: var(--museum-putty) !important;}
#userPhoneOverlay .user-phone-privacy {flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  background: var(--museum-bone) !important;}
#userPhoneOverlay .user-phone-privacy summary {min-height: 46px;
  padding: 10px 12px !important;
  border: 0 !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-privacy summary span {font: 500 12px/1.2 var(--museum-sans) !important;}
#userPhoneOverlay .user-phone-privacy summary small {color: inherit !important; opacity: .58; font-size: 9px !important;}
#userPhoneOverlay .user-phone-privacy-content {gap: 10px !important; padding: 12px !important; border-top: 1px solid var(--museum-ink); background: var(--museum-bone) !important;}
#userPhoneOverlay .user-phone-privacy-content > p,
#userPhoneOverlay .user-phone-hidden-note {color: var(--museum-graphite) !important; font-size: 9px !important; line-height: 1.5;}
#userPhoneOverlay .user-phone-chips,
#userPhoneOverlay .user-phone-stakes {gap: 5px !important;}
#userPhoneOverlay .user-phone-chip,
#userPhoneOverlay .user-phone-stake,
#userPhoneOverlay .user-phone-chip.on,
#userPhoneOverlay .user-phone-stake.on,
#userPhoneOverlay .user-phone-chip:not(.on),
#userPhoneOverlay .user-phone-stake:not(.on) {min-height: 28px;
  padding: 0 10px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-ink) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font: 400 9px/1 var(--museum-sans) !important;
  text-decoration: none !important;}
#userPhoneOverlay .user-phone-chip.on,
#userPhoneOverlay .user-phone-stake.on {color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-chip.off,
#userPhoneOverlay .user-phone-stake.off {opacity: .42; text-decoration: line-through !important;}
#userPhoneOverlay .user-phone-stage {min-height: 0 !important; padding: 0 !important;}
#userPhoneOverlay .user-phone-device {min-height: min(610px, 72vh) !important;
  padding: 0 !important;
  overflow: hidden;
  border: 7px solid var(--museum-ink) !important;
  border-radius: 22px !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;}
#userPhoneOverlay .user-phone-device::before {display: none !important;}
#userPhoneOverlay .user-phone-device-status {min-height: 24px;
  padding: 6px 12px 4px !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  font: 500 8px/1 var(--museum-sans) !important;}
#userPhoneOverlay .user-phone-device-screen {background: var(--museum-putty) !important;}
#userPhoneOverlay .user-phone-owner-card {grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 9px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;}
#userPhoneOverlay .user-phone-owner-avatar {width: 42px !important; height: 42px !important; border: 1px solid var(--museum-paper); border-radius: 50% !important;}
#userPhoneOverlay .user-phone-owner-card strong,
#userPhoneOverlay .user-phone-owner-card small {color: inherit !important;}
#userPhoneOverlay .user-phone-owner-card strong {font: 500 14px/1 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-owner-card small {opacity: .58; font-size: 8px !important;}
#userPhoneOverlay .user-phone-app {--reverse-label: "PRIVATE APP";
  display: flex !important;
  flex-direction: column;
  color: var(--museum-ink) !important;
  background: var(--museum-putty) !important;}
#userPhoneOverlay [data-user-phone-app-panel="x"] {--reverse-label: "02 / PUBLIC NOTES";}
#userPhoneOverlay [data-user-phone-app-panel="screentime"] {--reverse-label: "04 / TIME STUDY";}
#userPhoneOverlay [data-user-phone-app-panel="games"] {--reverse-label: "05 / PLAY LOG";}
#userPhoneOverlay [data-user-phone-app-panel="browser"] {--reverse-label: "06 / READING HISTORY";}
#userPhoneOverlay [data-user-phone-app-panel="wallet"] {--reverse-label: "08 / PRIVATE LEDGER";}
#userPhoneOverlay [data-user-phone-app-panel="items"] {--reverse-label: "09 / CABINET";}
#userPhoneOverlay [data-user-phone-app-panel="notes"] {--reverse-label: "10 / MANUSCRIPTS";}
#userPhoneOverlay [data-user-phone-app-panel="album"] {--reverse-label: "11 / IMAGE ARCHIVE";}
#userPhoneOverlay [data-user-phone-app-panel="phone"] {--reverse-label: "12 / CALL REGISTER";}
#userPhoneOverlay [data-user-phone-app-panel="sms"] {--reverse-label: "13 / SHORT LETTERS";}
#userPhoneOverlay .user-phone-app-head {min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 28px 28px minmax(0, 1fr) 0 !important;
  grid-template-rows: auto auto;
  gap: 4px 7px !important;
  padding: 9px 10px !important;
  border-bottom: 1px solid var(--museum-paper) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-app-head::before {content: var(--reverse-label);
  grid-column: 1 / -1;
  grid-row: 1;
  font: 500 7px/1.2 var(--museum-sans);
  letter-spacing: .14em;
  opacity: .58;}
#userPhoneOverlay .user-phone-app-head button {grid-column: 1; grid-row: 2; width: 26px !important; height: 26px !important; color: inherit !important; font: 400 24px/1 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-app-head .icon-face {grid-column: 2; grid-row: 2; width: 25px !important; height: 25px !important; border: 1px solid currentColor; border-radius: 50% !important; color: inherit !important;}
#userPhoneOverlay .user-phone-app-head strong {grid-column: 3; grid-row: 2; color: inherit !important; font: 500 24px/.9 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-app-scroll {flex: 1 1 auto;
  min-height: 0;
  gap: 0 !important;
  padding: 0 10px calc(14px + var(--safe-bottom)) !important;
  background: var(--museum-putty) !important;}
#userPhoneOverlay .user-phone-app-scroll .x-tweet,
#userPhoneOverlay .user-phone-app-scroll .x-profile {padding: 13px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--museum-ink) !important;
  border-radius: 0 !important;
  color: var(--museum-ink) !important;
  background: transparent !important;}
#userPhoneOverlay .user-phone-app-scroll .x-profile {margin: 8px 0 0; padding: 12px !important; border: 1px solid var(--museum-ink) !important; border-radius: var(--museum-card-radius) !important; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-app-scroll .x-profile * {color: inherit !important;}
#userPhoneOverlay .user-phone-app-scroll .x-tweet-id strong {color: inherit !important; font: 500 17px/1.05 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-app-scroll .x-tweet-id small,
#userPhoneOverlay .user-phone-app-scroll .x-tweet-content {color: inherit !important;}
#userPhoneOverlay .user-phone-app-scroll .x-tweet-content {font: 400 12px/1.55 var(--museum-serif) !important;}
#userPhoneOverlay [data-user-phone-app-panel="sms"] .x-tweet:nth-child(odd) {margin: 7px 0;
  padding: 12px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;}
#userPhoneOverlay [data-user-phone-app-panel="screentime"] .x-tweet {padding-left: 46px !important;}
#userPhoneOverlay [data-user-phone-app-panel="wallet"] .x-tweet:first-child {margin-top: 8px; padding: 16px !important; border: 1px solid var(--museum-ink) !important; border-radius: var(--museum-card-radius) !important; color: var(--museum-paper) !important; background: var(--museum-ink) !important;}
#userPhoneOverlay .user-phone-thought-pop {left: 10px !important;
  right: 10px !important;
  bottom: 18px !important;
  padding: 10px !important;
  border: 1px solid var(--museum-paper) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}
#userPhoneOverlay .user-phone-thought-avatar {border: 1px solid var(--museum-paper); border-radius: 50% !important;}
#userPhoneOverlay .user-phone-thought-pop small,
#userPhoneOverlay .user-phone-thought-pop p {color: inherit !important;}
#userPhoneOverlay .user-phone-thought-pop small {opacity: .54; letter-spacing: .08em;}
#userPhoneOverlay .user-phone-ending-screen {align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  padding: 20px !important;
  color: var(--museum-paper) !important;
  text-align: left !important;
  background: var(--museum-ink) !important;
  background-image: none !important;}
#userPhoneOverlay .user-phone-ending-avatar {width: 76px !important; height: 76px !important; border: 1px solid var(--museum-paper); border-radius: 50% !important; box-shadow: none !important;}
#userPhoneOverlay .user-phone-ending-kicker,
#userPhoneOverlay .user-phone-ending-screen h3,
#userPhoneOverlay .user-phone-ending-action,
#userPhoneOverlay .user-phone-ending-mode {color: inherit !important;}
#userPhoneOverlay .user-phone-ending-kicker {opacity: .54; letter-spacing: .14em;}
#userPhoneOverlay .user-phone-ending-screen h3 {font: 500 54px/.84 var(--museum-serif) !important; letter-spacing: -.045em;}
#userPhoneOverlay .user-phone-intensity span {width: 24px; height: 2px; border-radius: 0 !important; background: rgba(255,255,255,.22) !important;}
#userPhoneOverlay .user-phone-intensity span.on {background: var(--museum-paper) !important;}
#userPhoneOverlay .user-phone-ending-screen blockquote,
#userPhoneOverlay .user-phone-ending-thought {width: 100%;
  padding: 12px !important;
  border: 1px solid var(--museum-paper) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-paper) !important;
  background: transparent !important;}
#userPhoneOverlay .user-phone-ending-thought small,
#userPhoneOverlay .user-phone-ending-thought p {color: inherit !important;}
#userPhoneOverlay .user-phone-ending-screen > button {min-height: 32px;
  padding: 0 14px !important;
  border: 1px solid var(--museum-paper) !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-paper) !important;}
#userPhoneOverlay .user-phone-controls {grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;}
#userPhoneOverlay .user-phone-controls button {min-height: 34px !important;
  padding: 0 7px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-pill-radius) !important;
  color: var(--museum-ink) !important;
  background: transparent !important;
  font-size: 9px !important;}
#userPhoneOverlay .user-phone-empty-state {border: 1px solid var(--museum-ink);
  border-radius: var(--museum-card-radius);
  color: var(--museum-ink);
  background: var(--museum-bone);}
#userPhoneOverlay .user-phone-empty-avatar {border: 1px solid var(--museum-ink); border-radius: 50% !important;}
#userPhoneOverlay .user-phone-empty-state h3 {color: inherit !important; font: 500 30px/.95 var(--museum-serif) !important;}
#userPhoneOverlay .user-phone-empty-state p {color: var(--museum-graphite) !important;}
.char-phone-compose-overlay {background: rgba(0,0,0,.72) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;}
@media (max-width: 370px) {
#charPhoneOverlay .char-phone-lockscreen {grid-template-columns: 1fr;}
#charPhoneOverlay .char-phone-lock-clock {min-height: 130px;}
#charPhoneOverlay .char-phone-lock-card {min-height: 140px;}
#charPhoneOverlay .char-phone-app-icon,
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app] {grid-column: span 2; min-height: 96px !important; grid-row: auto;}
}
@media (min-width: 700px) {
#charPhoneOverlay .char-phone-shell,
#userPhoneOverlay .char-phone-shell {height: min(820px, calc(100dvh - 28px)) !important;
    min-height: 0 !important;
    border: 1px solid var(--museum-ink) !important;
    border-radius: var(--museum-card-radius) !important;}
}
#charPhoneOverlay {--wechat-paper: var(--museum-bone);
  --wechat-paper-soft: #f0eee9;
  --wechat-line: #9e9d93;}
#charPhoneOverlay .char-phone-content-view.char-phone-x {width: 100% !important;
  box-sizing: border-box !important;
  padding-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right)) !important;}
#charPhoneOverlay .char-phone-x .char-phone-app-title,
#charPhoneOverlay .char-phone-x .x-profile,
#charPhoneOverlay .char-phone-x .x-feed {width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;}
#charPhoneOverlay .char-phone-x .char-phone-inner-back {align-self: flex-start !important;
  justify-self: start !important;
  width: fit-content !important;
  max-width: none !important;}
#charPhoneOverlay .char-phone-x .char-phone-app-title h3 {margin-left: 0 !important;
  padding-left: 0 !important;}
#charPhoneOverlay .char-phone-x .x-profile-cover {border-bottom: 0 !important;}
#charPhoneOverlay .char-phone-x .x-profile-main {position: relative;
  z-index: 1;
  margin-top: -24px !important;
  padding: 0 16px !important;
  align-items: flex-end !important;}
#charPhoneOverlay .char-phone-x .x-profile-meta {padding: 0 0 7px !important;}
#charPhoneOverlay .char-phone-x .x-profile-name {display: block;
  line-height: 1.08 !important;}
#charPhoneOverlay .char-phone-x .x-profile-bio,
#charPhoneOverlay .char-phone-x .x-profile-stats {margin-left: 16px !important;
  margin-right: 16px !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row,
#charPhoneOverlay .char-phone-games .char-phone-activity-row > div {min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row strong,
#charPhoneOverlay .char-phone-games .char-phone-activity-row p,
#charPhoneOverlay .char-phone-games .char-phone-activity-row small {width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row strong {font-size: clamp(15px, 4.3vw, 18px) !important;
  line-height: 1.08 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row p {display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;}
#charPhoneOverlay .char-phone-games .char-phone-activity-row small {display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}
@media (max-width: 370px) {
#charPhoneOverlay .char-phone-games .char-phone-game-list {grid-template-columns: 1fr !important;}
}
}

#charPhoneOverlay .char-phone-wallet .phone-wallet-main-balance,
#charPhoneOverlay .char-phone-wallet .phone-wallet-big-balance {color: var(--museum-paper, #f8f5ec) !important;
  -webkit-text-fill-color: var(--museum-paper, #f8f5ec) !important;
  opacity: 1 !important;}

#charPhoneOverlay .char-phone-music .char-phone-activity-row > div {width: 100%;
  min-width: 0;}

#charPhoneOverlay .char-phone-music .char-phone-activity-row :is(strong, p, small) {max-width: 100%;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;}

/* Existing canonical module rules follow. */
/*
 * phonecheck feature stylesheet.
 * Extracted from legacy app.css in 464.9.172.
 * Keep app-specific visual and structural rules here.
 */
.phonecheck-gradient { background: linear-gradient(145deg, #111827, #35d0a7 55%, #7dd3fc); }
.phone-inspect-app {
  min-height: 100%;
}
.phone-inspect-hero h2 {
  margin: 0;
  font-size: 24px;
}
.phone-inspect-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.phone-inspect-card {
  min-height: 166px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 8px;
  padding: 14px 10px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 76%, transparent);
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface-strong) 82%, transparent);
  color: var(--skin-text);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--skin-text) 8%, transparent);
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
}
.phone-inspect-avatar {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  font-size: 24px;
}
.phone-inspect-card strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 17px;
}
.phone-inspect-card small {
  max-width: 100%;
  color: var(--skin-muted);
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
}
body.theme-apple .phonecheck-gradient {
  color: #4c5663 !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(235, 240, 247, 0.66)),
    rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(112, 122, 136, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.88), 0 9px 22px rgba(74, 87, 110, 0.10) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
}
html[data-ui-mode="dark"] body.theme-apple .phonecheck-gradient {
  color: #dfe4ec !important;
  background:
    linear-gradient(145deg, rgba(54, 57, 66, 0.92), rgba(32, 34, 41, 0.72)),
    rgba(38, 40, 48, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.095) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.09), 0 9px 22px rgba(0, 0, 0, 0.22) !important;
}
.phone-inspect-app { perspective: 1400px; }
.phone-inspect-toggle-hero {
  display: flex;
  align-items: center;
  gap: 14px;
}
.phone-inspect-hero-text { flex: 1 1 auto; min-width: 0; }
.phone-inspect-flip {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  width: 64px;
  padding: 10px 6px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--skin-border, #d9dee8) 60%, transparent);
  background: color-mix(in srgb, var(--surface-strong, #fff) 70%, transparent);
  color: var(--skin-text);
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.phone-inspect-flip .phone-flip-knob {
  font-size: 20px;
  line-height: 1;
  transition: transform 0.45s cubic-bezier(0.5, 1.6, 0.4, 1);
}
.phone-inspect-flip small { font-size: 11px; opacity: 0.7; }
.phone-inspect-flip.reversed {
  background: linear-gradient(135deg, var(--skin-accent, #6c8cff), var(--skin-accent-2, #ff7aa8));
  color: #fff;
  border-color: transparent;
}
.phone-inspect-flip.reversed small { opacity: 0.9; }
.phone-inspect-flip.reversed .phone-flip-knob { transform: rotateY(180deg); }
#appScreen :is(.phone-inspect-card, .phone-inspect-hero) {
  background: var(--ed-surface) !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
}
#appScreen :is(.phone-inspect-card, .phone-inspect-hero) * { color: var(--ed-text) !important; }
#appScreen .phone-inspect-app button,
#appScreen .phone-inspect-app.is-reverse button {
  background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  box-shadow: none !important;
}
#appScreen .phone-inspect-app button:is(.off, .excluded, .is-off, [aria-pressed="false"]) { opacity: .5 !important; }
#appScreen.phone-inspect-fullscreen {
  padding-top: 0 !important;
  background: #f5f5f6 !important;
  color: #2f3033 !important;
}
#appScreen.phone-inspect-fullscreen .app-topbar {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(56px + var(--safe-top)) !important;
  padding: var(--safe-top) 16px 0 !important;
  border-bottom: 1px solid rgba(31, 35, 40, .08) !important;
  background: rgba(247, 247, 248, .92) !important;
  color: #3a3b3f !important;
  backdrop-filter: blur(22px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.15) !important;
}
#appScreen.phone-inspect-fullscreen #appTitle {
  color: #3a3b3f !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}
#appScreen.phone-inspect-fullscreen .back-button {
  color: #3a3b3f !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen.phone-inspect-fullscreen .app-body {
  height: 100% !important;
  padding: calc(56px + var(--safe-top)) 0 0 !important;
  background: #f5f5f6 !important;
}
#appScreen.phone-inspect-fullscreen .phone-inspect-app {
  min-height: 100% !important;
  padding: 20px 18px calc(28px + var(--safe-bottom)) !important;
}
#appScreen.phone-inspect-fullscreen .phone-inspect-hero {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen.phone-inspect-fullscreen .phone-inspect-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
#appScreen.phone-inspect-fullscreen .app-body {
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: clip !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  scroll-padding-top: calc(var(--moss-ui-header-height) + var(--safe-top));
}
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-app {
  min-height: 0 !important;
  padding-top: 14px !important;
}
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-hero,
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-toggle-hero {
  margin: 0 0 10px !important;
  padding: 4px 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-hero-text {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-hero-text p {
  margin: 6px 0 0 !important;
  max-width: 29em;
}
#appScreen.phone-inspect-fullscreen #appBody,
#appScreen.phone-inspect-fullscreen .app-body {
  box-sizing: border-box !important;
  padding-top: calc(56px + var(--safe-top)) !important;
}
#appScreen.phone-inspect-fullscreen .app-body:not(.moss-living-editorial) .phone-inspect-app {
  gap: 10px !important;
  padding-top: 12px !important;
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-modebar {
  position: relative;
  z-index: 12;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 4px;
  padding: 5px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px;
  background: color-mix(in srgb, var(--moss-ui-canvas) 88%, transparent) !important;
  box-shadow: 0 8px 24px rgba(24, 30, 40, .07);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-modebar button {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border: 0 !important;
  border-radius: 12px !important;
  color: var(--moss-ui-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-modebar button strong {
  color: inherit !important;
  font-size: 13px;
  font-weight: 760;
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-modebar button small {
  color: inherit !important;
  font-size: 10px;
  opacity: .74;
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-modebar button.active {
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: 0 4px 14px rgba(28, 38, 52, .08) !important;
}
#appScreen .app-body:not(.moss-living-editorial) .phone-inspect-mode-note {
  margin: 0 2px 4px;
  color: var(--moss-ui-muted) !important;
  font-size: 11.5px;
  line-height: 1.5;
}
@media not all {
#appScreen .phone-inspect-app {
  --museum-putty: #c4c3b6;
  --museum-ink: #000000;
  --museum-bone: #e7e5e4;
  --museum-chalk: #ebebeb;
  --museum-vellum: #dfdcd5;
  --museum-graphite: #595855;
  --museum-ash: #808080;
  --museum-paper: #ffffff;
  --museum-serif: Georgia, "Times New Roman", "Songti SC", "STSong", serif;
  --museum-sans: "Helvetica Neue", Helvetica, Arial, "PingFang SC", sans-serif;
  --museum-card-radius: 9px;
  --museum-pill-radius: 28.8px;
  font-family: var(--museum-sans) !important;
}
#appScreen.phone-inspect-fullscreen #appBody,
#appScreen.phone-inspect-fullscreen .app-body {
  background: var(--museum-putty) !important;
}
#appScreen.phone-inspect-fullscreen .phone-inspect-app {
  min-height: 100% !important;
  gap: 16px !important;
  padding: 10px 14px 34px !important;
  color: var(--museum-ink) !important;
  background: var(--museum-putty) !important;
  perspective: none !important;
}
#appScreen .phone-inspect-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 108px;
  min-height: 218px;
  overflow: hidden;
  border-bottom: 1px solid var(--museum-ink);
  background: var(--museum-putty);
}
#appScreen .phone-inspect-masthead > div {
  align-self: end;
  min-width: 0;
  padding: 10px 0 18px;
}
#appScreen .phone-inspect-masthead small,
#appScreen .phone-inspect-masthead aside span {
  display: block;
  color: var(--museum-graphite);
  font: 500 9px/1.3 var(--museum-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
#appScreen .phone-inspect-masthead h2 {
  margin: 28px 0 0 !important;
  color: var(--museum-ink) !important;
  font: 500 clamp(60px, 18vw, 86px)/.78 var(--museum-serif) !important;
  letter-spacing: -.055em;
}
#appScreen .phone-inspect-masthead h2 em {
  font-weight: 400;
}
#appScreen .phone-inspect-masthead aside {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 0 18px 14px;
  border-left: 1px solid var(--museum-ink);
}
#appScreen .phone-inspect-masthead aside p {
  margin: 0;
  color: var(--museum-graphite);
  font: 400 10px/1.55 var(--museum-sans);
}
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead {
  color: var(--museum-paper);
  background: var(--museum-ink);
}
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead h2,
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead small,
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead aside span,
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead aside p {
  color: var(--museum-paper) !important;
}
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead,
#appScreen .phone-inspect-app.is-reverse .phone-inspect-masthead aside {
  border-color: var(--museum-paper);
}
#appScreen .phone-inspect-modebar {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#appScreen .phone-inspect-modebar button {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--museum-graphite) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen .phone-inspect-modebar button + button {
  border-left: 1px solid var(--museum-ink) !important;
}
#appScreen .phone-inspect-modebar button strong {
  color: inherit !important;
  font: 500 13px/1.2 var(--museum-sans) !important;
}
#appScreen .phone-inspect-modebar button small {
  color: inherit !important;
  font: 400 9px/1.3 var(--museum-sans) !important;
  letter-spacing: .04em;
}
#appScreen .phone-inspect-modebar button.active {
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
}
#appScreen .phone-inspect-mode-note {
  margin: -2px 1px 1px !important;
  color: var(--museum-graphite) !important;
  font: 400 11px/1.6 var(--museum-sans) !important;
}
#appScreen .phone-inspect-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row;
  align-items: stretch;
  gap: 8px !important;
  animation: none !important;
  transform: none !important;
}
#appScreen .phone-inspect-card {
  position: relative;
  grid-column: auto;
  min-width: 0;
  min-height: 174px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto minmax(0, 1fr) auto;
  justify-items: stretch !important;
  align-content: stretch !important;
  gap: 10px !important;
  overflow: hidden;
  padding: 13px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: left;
}
#appScreen .phone-inspect-card:nth-child(odd) {
  color: var(--museum-ink) !important;
  background: var(--museum-bone) !important;
}
#appScreen .phone-inspect-card:nth-child(even) {
  color: var(--museum-paper) !important;
  background: var(--museum-ink) !important;
}
#appScreen .phone-inspect-card:only-child { grid-column: 1 / -1; min-height: 190px !important; }
#appScreen .phone-inspect-card-no {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  font: 500 9px/1 var(--museum-sans);
  letter-spacing: .16em;
}
#appScreen .phone-inspect-card-arrow {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  font: 400 20px/1 var(--museum-serif);
}
#appScreen .phone-inspect-avatar {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: center;
  justify-self: center;
  width: 82px !important;
  height: 82px !important;
  border: 1px solid currentColor;
  border-radius: 50% !important;
  font-size: 26px !important;
  box-shadow: none !important;
}
#appScreen .phone-inspect-card:only-child .phone-inspect-avatar {
  width: 96px !important;
  height: 96px !important;
}
#appScreen .phone-inspect-card-copy {
  grid-column: 1 / -1;
  grid-row: 3;
  min-width: 0;
  display: grid;
  gap: 4px;
}
#appScreen .phone-inspect-card strong {
  max-width: 100% !important;
  color: inherit !important;
  font: 500 22px/1.02 var(--museum-serif) !important;
  letter-spacing: -.025em;
}
#appScreen .phone-inspect-card small {
  max-width: 100% !important;
  color: inherit !important;
  opacity: .66;
  font: 400 9px/1.4 var(--museum-sans) !important;
  text-align: left !important;
}
#appScreen .phone-inspect-card.is-stale::after {
  content: "SYNC";
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: var(--museum-pill-radius);
  font-size: 8px;
  letter-spacing: .12em;
} }
@media not all {
 @media (max-width: 370px) {
  #appScreen .phone-inspect-masthead { grid-template-columns: minmax(0, 1fr) 92px; }
  #appScreen .phone-inspect-masthead h2 { font-size: 60px !important; }
  #appScreen .phone-inspect-card { grid-column: auto !important; min-height: 158px !important; } } }

/*# source: assets/css/features/haven.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.couple-gradient {background: linear-gradient(145deg, #786174, #6f9384 54%, #d4bea5);}

.couple-app {min-height: 100%;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 12px 12px calc(24px + var(--safe-bottom));
  color: var(--skin-text, #2c241d);
  background:
    radial-gradient(circle at 18% 4%, rgba(238, 205, 216, 0.72), transparent 26%),
    radial-gradient(circle at 94% 18%, rgba(177, 212, 197, 0.62), transparent 28%),
    linear-gradient(180deg, #fff8f6, #f2f6ef 56%, #eef3f6);}

.couple-title {min-width: 0; display: grid; gap: 3px;}

.couple-title strong {overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 20px;}

.couple-title small {color: var(--skin-muted, #7b6b5a); font-size: 12px; font-weight: 800;}

.couple-stage-pill {min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #77566a;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;}

.couple-quote {margin: 0;
  padding: 12px 14px;
  border-left: 4px solid #9d7d8e;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.66);
  color: #4d3f46;
  line-height: 1.55;}

.couple-stat-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;}

.couple-stat {display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.68);}

.couple-stat span {color: var(--skin-muted, #7b6b5a); font-size: 11px; font-weight: 900;}

.couple-stat strong {font-size: 18px;}

.couple-char-strip {display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0;
  -webkit-overflow-scrolling: touch;}

.couple-char-strip button {flex: 0 0 auto;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  color: #4d3f46;
  background: rgba(255, 255, 255, 0.68);
  font-weight: 900;
  white-space: nowrap;}

.couple-char-strip button.active {background: #2f3835; color: #fff;}

.couple-section {display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 14px 32px rgba(74, 62, 52, 0.08);}

.couple-section header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;}

.couple-section h3 {margin: 0; font-size: 17px;}

.couple-section small {color: var(--skin-muted, #7b6b5a); line-height: 1.45;}

.couple-section header button,
.couple-diary-card button {min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: #2f3835;
  font-size: 12px;
  font-weight: 900;}

.couple-section header button.secondary {color: #4d3f46; background: rgba(255, 255, 255, 0.82);}

.couple-api-status {padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  color: #5d5360;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;}

.couple-api-status.ready {background: linear-gradient(145deg, rgba(226, 238, 232, 0.9), rgba(245, 239, 231, 0.84));}

.couple-api-status.error {background: rgba(255, 231, 231, 0.86);
  color: #8b2f38;}

.couple-diary-list {display: grid;
  gap: 8px;}

.couple-diary-card {display: grid;
  gap: 6px;
  padding: 11px;
  border-radius: 18px;
  background: rgba(246, 241, 234, 0.9);}

.couple-diary-card strong {font-size: 15px;}

.couple-diary-card p {margin: 0; color: #5d5360; line-height: 1.48;}

@media (max-width: 390px) {
.couple-stat-grid {grid-template-columns: 1fr;}
}

.couple-picker {gap: 14px;
  padding-top: 14px;}

.couple-picker-hero {display: grid;
  gap: 8px;
  padding: 22px 18px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 82% 0%, rgba(255,255,255,.74), transparent 34%),
    linear-gradient(145deg, rgba(255,248,246,.92), rgba(226,239,231,.82));
  box-shadow: 0 18px 42px rgba(74,62,52,.11);}

.couple-picker-hero small,
.couple-title small:first-child {color: #8d6378;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;}

.couple-picker-hero h2 {margin: 0;
  font-size: 25px;
  letter-spacing: -.04em;}

.couple-picker-hero p {margin: 0;
  color: var(--skin-muted, #7b6b5a);
  line-height: 1.55;
  font-size: 13px;
  font-weight: 800;}

.couple-picker-grid {display: grid;
  gap: 10px;}

.couple-picker-card {display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 78px;
  padding: 12px;
  border-radius: 24px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 14px 30px rgba(74,62,52,.08);
  text-align: left;
  color: #342d2b;}

.couple-picker-card .avatar {width: 54px;
  height: 54px;
  box-shadow: 0 8px 18px rgba(74,62,52,.12);}

.couple-picker-card span {min-width: 0;
  display: grid;
  gap: 4px;}

.couple-picker-card strong {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 17px;}

.couple-picker-card small {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.couple-picker-card i {padding: 8px 10px;
  border-radius: 999px;
  background: rgba(47,56,53,.92);
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;}

.couple-back-list {justify-self: start;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #4d3f46;
  background: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(74,62,52,.08);}

.couple-meet-card {border-radius: 32px;}

.couple-wall {columns: 2; column-gap: 12px; margin-top: 8px;}

.couple-wall-note {break-inside: avoid; margin-bottom: 12px; border-radius: 14px; padding: 14px; font-size: 13px; line-height: 1.7; color: #3a2f28; box-shadow: 0 10px 22px rgba(0,0,0,.18);}

.couple-wall-note small {display: block; margin-top: 8px; font-size: 10.5px; color: rgba(0,0,0,.45); font-weight: 700;}

.couple-wall-note.wall-0 {background: linear-gradient(160deg,#ffe7b8,#ffd98c); transform: rotate(-1.2deg);}

.couple-wall-note.wall-1 {background: linear-gradient(160deg,#ffd4dd,#ffbccb); transform: rotate(1.1deg);}

.couple-wall-note.wall-2 {background: linear-gradient(160deg,#cfeede,#a9dcc6); transform: rotate(.7deg);}

.couple-wall-note.wall-3 {background: linear-gradient(160deg,#cfe0ff,#aec8ff); transform: rotate(-.9deg);}

.couple-consent {display: grid; gap: 14px;}

.couple-consent-card {display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
  padding: 26px 20px 30px;
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 40px rgba(74,62,52,.12);}

.couple-consent-card h2 {font-size: 19px; font-weight: 950; color: #4a3e34; margin: 4px 0 0;}

.couple-consent-sub {font-size: 13px; color: #8a7b70; font-weight: 800; margin: 0;}

.couple-consent-desc {font-size: 13px; line-height: 1.7; color: #6a5c52; margin: 2px 6px;}

.couple-consent-desc strong {color: #c4607a;}

.couple-consent-send {margin-top: 8px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 950;
  color: #fff;
  background: linear-gradient(135deg,#ff8aa6,#d76b8c);
  box-shadow: 0 14px 28px rgba(215,107,140,.32);}

.couple-consent-send:disabled {opacity: .7;}

.couple-consent-state {display: grid; justify-items: center; gap: 8px; width: 100%;}

.couple-consent-wait {font-size: 14px; font-weight: 850; color: #6a5c52; margin: 6px 0 0;}

.couple-consent-state small {font-size: 12px; color: #9a8b80; line-height: 1.6;}

.couple-consent-mood {font-style: italic;}

.couple-consent-tip {font-size: 12.5px; color: #8a7b70; line-height: 1.6; margin: 4px 8px 0;}

.couple-dots {display: inline-flex; gap: 4px; margin-left: 6px; vertical-align: middle;}

.couple-dots i {width: 5px; height: 5px; border-radius: 50%; background: #d76b8c; opacity: .35; animation: coupleDot 1.1s infinite ease-in-out;}

.couple-dots i:nth-child(2) {animation-delay: .18s;}

.couple-dots i:nth-child(3) {animation-delay: .36s;}

.couple-main-previews {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;}

.couple-chron-tools {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 12px; font-size: 12px; color: #8a7b70; font-weight: 700;}

.couple-chron-tools button {border: 1px solid rgba(196,96,122,.3); color: #c4607a; background: rgba(196,96,122,.07); border-radius: 999px; padding: 7px 13px; font-size: 12px; font-weight: 800;}

.couple-chron-tools button:disabled {opacity: .65;}

.couple-chron-chapter {font-family: "Songti SC","STSong",serif; font-size: 13px; letter-spacing: .08em; color: #9a7d68; margin: 16px 4px 12px;}

.couple-chron-chapter.prologue {color: #a98; opacity: .85;}

.couple-chron-line {position: relative; margin-left: 6px; padding-left: 22px;}

.couple-chron-line::before {content: ""; position: absolute; left: 4px; top: 6px; bottom: 8px; width: 2px; background: linear-gradient(180deg, #e7a37a, rgba(231,163,122,.2));}

.couple-chron-item {position: relative; margin-bottom: 14px; display: block; width: 100%; text-align: left; background: transparent; border: 0; padding: 0; cursor: pointer;}

.couple-chron-item:active .couple-chron-card {transform: scale(.99);}

.couple-chron-card {transition: transform .15s ease;}

.couple-chron-item::before {content: ""; position: absolute; left: -22px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid #e08a5c; box-shadow: 0 0 8px rgba(224,138,92,.4);}

.couple-chron-item.milestone::before {background: #e7799a; border-color: #e7799a; box-shadow: 0 0 10px rgba(231,121,154,.5);}

.couple-chron-item time {font-size: 11px; color: #c4607a; font-weight: 800; letter-spacing: .04em;}

.couple-chron-card {margin-top: 5px; border-radius: 16px; padding: 12px 14px; background: rgba(255,255,255,.72); box-shadow: 0 8px 18px rgba(74,62,52,.07);}

.couple-chron-card h4 {margin: 0 0 4px; font-size: 14.5px; font-weight: 850; color: #4a3a32;}

.couple-chron-card p {margin: 0; font-size: 12.5px; line-height: 1.6; color: #6a5c52;}

.couple-chron-card small {display: block; margin-top: 7px; font-size: 11px; color: #b07f6a; font-weight: 700;}

.couple-detail-panel {scroll-margin-top: 12px;}

@media (max-width: 390px) {
.couple-main-previews {grid-template-columns: 1fr;}
.couple-picker-card {grid-template-columns: auto 1fr;}
.couple-picker-card i {grid-column: 2; justify-self: start;}
}

:root .couple-diary-card.couple-diary-paper-card {display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;}

.couple-diary-list {gap: 16px !important;}

.couple-diary-paper {position: relative;
  border-radius: 4px 12px 12px 4px;
  padding: 14px 16px 18px 44px;
  color: var(--diary-ink);
  background:
    linear-gradient(180deg, #fdf4f0, #f7e7df),
    radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.55), transparent 44%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 10px 26px rgba(120, 70, 70, 0.16);
  overflow: hidden;}

.couple-diary-paper::before {content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 30px;
  width: 1.5px;
  background: rgba(206, 110, 120, 0.55);}

.couple-diary-heart {position: absolute;
  top: 10px;
  right: 13px;
  color: #d77a8a;
  font-size: 15px;
  line-height: 1;}

.couple-diary-head {display: flex;
  align-items: baseline;
  gap: 10px;
  padding-right: 24px;
  padding-bottom: 7px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(150, 90, 100, 0.16);
  font-family: var(--diary-hand);}

.couple-diary-date {color: var(--diary-ink) !important;
  font-size: 13px;
  font-weight: 700;}

.couple-diary-label {margin-left: auto;
  color: #b06a78 !important;
  font-size: 12px;}

.couple-diary-sheet {--rule-h: 28px;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(var(--rule-h) - 1px),
    rgba(150, 90, 100, 0.15) calc(var(--rule-h) - 1px),
    rgba(150, 90, 100, 0.15) var(--rule-h)
  );}

.couple-diary-title {display: block;
  margin: 0 !important;
  color: var(--diary-ink) !important;
  font-family: var(--diary-hand);
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 28px !important;}

.couple-diary-body {margin: 0 !important;
  color: var(--diary-ink) !important;
  font-family: var(--diary-hand);
  font-size: 15px !important;
  line-height: 28px !important;
  white-space: pre-wrap;
  word-break: break-word;}

.couple-diary-quote {margin: 6px 0 0 !important;
  padding-left: 10px;
  border-left: 2px solid rgba(206, 110, 120, 0.5);
  color: #9a5d6a !important;
  font-family: var(--diary-hand);
  font-size: 14px !important;
  line-height: 1.6 !important;}

@media (max-width: 430px) {
.couple-diary-paper {padding: 13px 13px 16px 40px;}
}

:root .couple-diary-paper-card .couple-diary-paper .couple-diary-title {color: var(--diary-ink) !important;}

:root .couple-diary-paper-card .couple-diary-paper .couple-diary-body {color: var(--diary-ink) !important;}

:root .couple-diary-paper-card .couple-diary-paper .couple-diary-quote {color: #9a5d6a !important;}

:root .couple-diary-paper-card .couple-diary-paper .couple-diary-date {color: var(--diary-ink) !important;}

:root .couple-diary-paper-card .couple-diary-paper .couple-diary-label {color: #b06a78 !important;}

.lifeline-gradient {background: linear-gradient(145deg, #27324b, #7f7aa8 55%, #d8b4a0); color: #fff;}

.lifeline-app {min-height: 100%;
  padding: 14px;
  background:
    radial-gradient(circle at 18% 0%, rgba(127,122,168,.2), transparent 35%),
    linear-gradient(180deg, rgba(247,249,252,.96), rgba(235,239,245,.96));
  color: #263142;}

.lifeline-hero,
.lifeline-char-strip,
.lifeline-relation-card,
.lifeline-event {border: 1px solid rgba(38,49,66,.1);
  background: rgba(255,255,255,.76);
  box-shadow: 0 8px 24px rgba(38,49,66,.07);}

.lifeline-hero {border-radius: 20px;
  padding: 16px;
  display: grid;
  gap: 14px;}

.lifeline-hero-main {display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; align-items: center;}

.lifeline-avatar {width: 56px !important; height: 56px !important;}

.lifeline-hero h2 {margin: 2px 0 5px; font-size: 22px;}

.lifeline-hero p,
.lifeline-event p,
.lifeline-relation-card p {margin: 0; color: #607083; font-size: 12px; line-height: 1.55;}

.lifeline-hero small,
.lifeline-event span,
.lifeline-event time {color: #8a7588; font-size: 11px; font-weight: 800;}

.lifeline-stat-grid {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px;}

.lifeline-stat-grid span {border-radius: 14px;
  padding: 9px 6px;
  background: rgba(127,122,168,.1);
  text-align: center;
  font-size: 10px;
  color: #6a7584;}

.lifeline-stat-grid b {display: block; color: #28334a; font-size: 18px;}

.lifeline-char-strip,
.lifeline-filters {display: flex; gap: 8px; overflow-x: auto; padding: 10px 0;}

.lifeline-char-strip {margin-top: 10px;
  border-radius: 18px;
  padding: 10px;}

.lifeline-char-strip button,
.lifeline-filters button {border: 1px solid rgba(38,49,66,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #526174;
  padding: 8px 11px;
  white-space: nowrap;
  font-weight: 800;}

.lifeline-char-strip button {display: inline-flex; align-items: center; gap: 7px;}

.lifeline-char-strip .avatar {width: 26px !important; height: 26px !important;}

.lifeline-char-strip button.active,
.lifeline-filters button.active {background: #313b58;
  color: #fff;}

.lifeline-relation-card {border-radius: 18px;
  padding: 14px;
  margin-bottom: 10px;}

.lifeline-relation-card strong {display: block; margin-bottom: 5px; font-size: 17px;}

.lifeline-relation-card div {display: grid; gap: 8px; margin-top: 12px;}

.lifeline-relation-card span {position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(49,59,88,.08);
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 900;}

.lifeline-relation-card span::before {content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--v);
  background: rgba(127,122,168,.22);}

.lifeline-weave-card {display: grid;
  gap: 12px;
  border-radius: 20px;
  padding: 15px;
  margin-bottom: 10px;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(245,240,250,.84));
  border: 1px solid rgba(75,78,112,.12);
  box-shadow: 0 12px 30px rgba(54,60,86,.08);}

.lifeline-weave-card header {display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;}

.lifeline-weave-card small {color: #8a7588; font-weight: 900; font-size: 11px;}

.lifeline-weave-card strong {display: block; margin-top: 2px; color: #293247; font-size: 18px;}

.lifeline-weave-card button {border: 0; border-radius: 999px; background: #313b58; color: #fff; padding: 9px 13px; font-weight: 900; white-space: nowrap;}

.lifeline-weave-card.empty {background: rgba(255,255,255,.7);}

.lifeline-weave-card.stale {border-color: rgba(190,142,90,.3);}

.lifeline-weave-summary,
.lifeline-weave-tension {margin: 0; color: #59687a; font-size: 12.5px; line-height: 1.65;}

.lifeline-weave-tension {padding: 9px 10px; border-radius: 14px; background: rgba(216,180,160,.16); color: #6c5361;}

.lifeline-chapter-list {display: grid; gap: 9px;}

.lifeline-chapter-list article {border-radius: 16px; padding: 11px 12px; background: rgba(255,255,255,.72); border: 1px solid rgba(75,78,112,.09);}

.lifeline-chapter-list article span {color: #9b8797; font-size: 11px; font-weight: 900;}

.lifeline-chapter-list h3 {margin: 4px 0 6px; color: #293247; font-size: 15px;}

.lifeline-chapter-list p {margin: 0; color: #5d6d7c; font-size: 12.5px; line-height: 1.62;}

.lifeline-chapter-list em {display: block; margin-top: 6px; color: #8a5f78; font-size: 12px; font-style: normal;}

.lifeline-chapter-list small {display: block; margin-top: 7px; color: #8f98a5;}

#lifelineWeaveStatus {color: #7f7189; font-size: 12px;}

.lifeline-raw-trace {border-radius: 18px; background: rgba(255,255,255,.52); border: 1px solid rgba(75,78,112,.09); overflow: hidden;}

.lifeline-raw-trace > summary {list-style: none; cursor: pointer; padding: 13px 15px; color: #425069; font-weight: 900;}

.lifeline-raw-trace > summary::-webkit-details-marker {display: none;}

.lifeline-raw-trace[open] > summary {border-bottom: 1px solid rgba(75,78,112,.08);}

.lifeline-timeline {display: grid; gap: 10px; padding-bottom: 34px;}

.lifeline-event {position: relative;
  border-radius: 18px;
  padding: 13px 76px 13px 14px;
  border-left: 5px solid #7f7aa8;}

.lifeline-event.chat {border-left-color: #7fb7a5;}

.lifeline-event.couple {border-left-color: #d08aa8;}

.lifeline-event.pinned {background: rgba(255,250,235,.9);}

.lifeline-event h3 {margin: 5px 0 6px; font-size: 15px;}

.lifeline-pin {position: absolute;
  right: 10px;
  top: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(49,59,88,.08);
  color: #536072;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 900;}

.lifeline-event.pinned .lifeline-pin {background: #313b58; color: #fff;}

.lifeline-empty {border-radius: 18px;
  padding: 22px;
  text-align: center;
  background: rgba(255,255,255,.7);
  color: #6a7584;}

.couple-temperature-card,
.couple-anniversary-strip {border: 1px solid rgba(69,82,98,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  padding: 14px;
  box-shadow: 0 8px 24px rgba(69,82,98,.06);}

.couple-temperature-card {display: grid; gap: 12px; margin: 10px 0;}

.couple-temperature-card small,
.couple-anniversary-strip small {color: #8b7180; font-weight: 800;}

.couple-temperature-card strong {display: block; margin: 3px 0 5px; font-size: 18px; color: #283142;}

.couple-temperature-card p {margin: 0; color: #637183; line-height: 1.55; font-size: 12px;}

.couple-temp-bars {display: grid; gap: 8px;}

.couple-temp-bars span {position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  border-radius: 999px;
  padding: 8px 10px;
  background: rgba(139,113,128,.09);
  color: #536071;
  font-size: 11px;
  font-weight: 900;}

.couple-temp-bars span::before {content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--value);
  background: rgba(208,138,168,.22);}

.couple-temp-bars i,
.couple-temp-bars b {position: relative; z-index: 1; font-style: normal;}

.couple-anniversary-strip {margin-top: 10px;}

.couple-anniversary-strip header {display: flex; justify-content: space-between; gap: 8px; align-items: baseline; margin-bottom: 10px;}

.couple-anniversary-strip h3 {margin: 0; font-size: 15px;}

.couple-anniversary-strip > div {display: grid; gap: 8px;}

.couple-anniversary-strip article {display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 4px 10px;
  align-items: center;
  border-radius: 14px;
  background: rgba(250,244,235,.8);
  padding: 10px;}

.couple-anniversary-strip article span {grid-row: span 2;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #9a6074;
  font-size: 12px;
  font-weight: 900;}

.couple-anniversary-strip article strong {min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

@media (max-width: 420px) {
.lifeline-stat-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
.lifeline-event {padding-right: 14px; padding-top: 42px;}
}

.couple-app {--cp-cream: color-mix(in srgb, var(--surface-strong, #fffdf8) 70%, #fff6ec 30%);
  --cp-pearl: color-mix(in srgb, var(--surface-strong, #fffdf8) 82%, #fffdf8 18%);
  --cp-bg: color-mix(in srgb, var(--phone-bg, #fff7ef) 72%, #fff1e8 28%);
  --cp-stage: color-mix(in srgb, var(--surface-strong, #fffaf4) 66%, #fff2e8 34%);
  --cp-blush: color-mix(in srgb, var(--skin-accent, #a94d5d) 24%, #eec7c9 76%);
  --cp-rose: color-mix(in srgb, var(--skin-accent, #a94d5d) 58%, #a94d5d 42%);
  --cp-gold: color-mix(in srgb, var(--skin-accent-2, #c7a465) 45%, #c7a465 55%);
  --cp-text: color-mix(in srgb, var(--skin-text, #4e3a31) 82%, #4e3a31 18%);
  --cp-title: color-mix(in srgb, var(--skin-title, #47352e) 78%, #47352e 22%);
  --cp-muted: color-mix(in srgb, var(--skin-muted, #a58f82) 72%, #a58f82 28%);
  --cp-line: color-mix(in srgb, var(--skin-border, rgba(125,88,65,.16)) 72%, #c7a465 28%);
  --cp-shadow: 0 22px 70px color-mix(in srgb, var(--skin-text, #4e3a31) 14%, transparent);}

body.theme-tone-light-green .couple-app,
body.theme-tone-mist-teal .couple-app {--cp-blush: #ead3cb;
  --cp-rose: #a46a66;
  --cp-gold: #b99a64;}

body.theme-tone-light-blue .couple-app,
body.theme-tone-light-gray .couple-app,
body.theme-tone-pure-white .couple-app {--cp-blush: #ecd1d9;
  --cp-rose: #9d5a72;
  --cp-gold: #bba16d;}

body.theme-tone-light-purple .couple-app {--cp-blush: #ead3e8;
  --cp-rose: #8f5c80;
  --cp-gold: #bca06a;}

body.theme-tone-deep-coffee .couple-app,
body.theme-tone-dark-gray .couple-app,
body.theme-tone-dark-berry .couple-app,
body.theme-tone-ink-green .couple-app {--cp-cream: color-mix(in srgb, var(--surface-strong, #322029) 72%, #3b2530 28%);
  --cp-pearl: color-mix(in srgb, var(--surface, #251821) 76%, #fff1e4 7%);
  --cp-bg: color-mix(in srgb, var(--phone-bg, #1b1217) 78%, #2c1720 22%);
  --cp-stage: color-mix(in srgb, var(--surface-strong, #322029) 78%, #3a222b 22%);
  --cp-blush: color-mix(in srgb, var(--skin-accent, #d49aae) 38%, #7b3a49 62%);
  --cp-rose: color-mix(in srgb, var(--skin-accent, #d49aae) 68%, #d99aa2 32%);
  --cp-gold: color-mix(in srgb, var(--skin-accent-2, #8a5063) 42%, #c7a465 58%);
  --cp-text: var(--skin-text, #f3e5eb);
  --cp-title: var(--skin-title, #fff1f7);
  --cp-muted: var(--skin-muted, #c3a9b4);
  --cp-line: color-mix(in srgb, var(--skin-border, rgba(243,229,235,.15)) 76%, #c7a465 24%);
  --cp-shadow: 0 24px 78px rgba(0,0,0,.38);}

.app-body:has(.couple-app),
#appBody:has(.couple-app) {background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--cp-blush) 36%, transparent), transparent 36%),
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--cp-gold) 26%, transparent), transparent 32%),
    linear-gradient(180deg, var(--cp-bg), var(--cp-cream)) !important;}

.couple-app {color: var(--cp-text) !important;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--cp-blush) 42%, transparent), transparent 34%),
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--cp-gold) 32%, transparent), transparent 32%),
    linear-gradient(180deg, var(--cp-bg), var(--cp-cream)) !important;
  border: 1px solid var(--cp-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--cp-shadow), inset 0 1px 0 color-mix(in srgb, var(--cp-pearl) 72%, transparent) !important;
  padding: 16px !important;
  overflow: hidden;
  position: relative;}

.couple-app::before {content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cp-text) 5%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in srgb, var(--cp-text) 4%, transparent) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .35;}

.couple-app > * {position: relative; z-index: 1;}

.couple-suite-hero {padding: 12px 4px 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;}

.couple-suite-hero small,
.couple-suite-kicker {display: inline-flex;
  width: max-content;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cp-gold) 42%, transparent);
  color: var(--cp-rose) !important;
  background: color-mix(in srgb, var(--cp-pearl) 55%, transparent);
  font-size: 10px !important;
  letter-spacing: .18em;}

.couple-suite-hero h2 {margin: 16px 0 8px !important;
  color: var(--cp-title) !important;
  font-family: "Songti SC", "STSong", serif;
  font-size: 30px !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;}

.couple-suite-hero p {color: var(--cp-muted) !important; font-size: 12px !important; line-height: 1.78 !important;}

.couple-suite-picker-grid {gap: 12px !important;}

.couple-suite-picker-card {display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 92px;
  padding: 14px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-pearl) 86%, transparent), color-mix(in srgb, var(--cp-cream) 56%, transparent)),
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--cp-blush) 44%, transparent), transparent 44%) !important;
  border: 1px solid color-mix(in srgb, var(--cp-line) 82%, transparent) !important;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--cp-text) 10%, transparent), inset 0 1px 0 rgba(255,255,255,.48) !important;
  color: var(--cp-text) !important;}

.couple-suite-picker-card em {color: var(--cp-gold);
  font-size: 11px;
  letter-spacing: .16em;
  font-style: normal;}

.couple-suite-picker-card .avatar {box-shadow: 0 14px 26px color-mix(in srgb, var(--cp-rose) 16%, transparent) !important;}

.couple-suite-picker-card span {min-width: 0; display: grid !important; gap: 4px;}

.couple-suite-picker-card strong {color: var(--cp-title) !important; font-size: 17px !important;}

.couple-suite-picker-card small {color: var(--cp-muted) !important; font-size: 11px !important;}

.couple-suite-picker-card b {color: color-mix(in srgb, var(--cp-text) 72%, transparent); font-size: 11px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.couple-suite-picker-card i {justify-self: end !important;
  white-space: nowrap;
  color: #fff !important;
  background: linear-gradient(135deg, var(--cp-rose), color-mix(in srgb, var(--cp-rose) 74%, #58252d)) !important;
  border-radius: 999px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;}

.couple-suite-cover {position: relative;
  min-height: 560px;
  margin: 4px 0 14px;
  padding: 14px;
  border-radius: 26px;
  border: 1px solid var(--cp-line);
  background:
    radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--cp-blush) 48%, transparent), transparent 34%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--cp-gold) 38%, transparent), transparent 32%),
    linear-gradient(180deg, var(--cp-bg), var(--cp-cream));
  box-shadow: var(--cp-shadow), inset 0 1px 0 color-mix(in srgb, var(--cp-pearl) 72%, transparent);
  overflow: hidden;}

.couple-suite-cover::before {content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cp-text) 5%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in srgb, var(--cp-text) 4%, transparent) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .42;}

.couple-suite-cover-light {position: absolute;
  top: 78px;
  right: 30px;
  width: 126px;
  height: 310px;
  background: linear-gradient(180deg, color-mix(in srgb, #fff 62%, var(--cp-gold) 20%), color-mix(in srgb, var(--cp-gold) 14%, transparent), transparent);
  clip-path: polygon(16% 0,100% 0,68% 100%,0 100%);
  opacity: .62;}

.couple-suite-cover-head {position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 76px;
  gap: 12px;
  align-items: center;}

.couple-suite-title {min-width: 0; display: grid; gap: 3px;}

.couple-suite-title small {color: var(--cp-rose) !important; font-size: 10px; letter-spacing: .16em; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.couple-suite-title strong {color: var(--cp-title) !important; font-family: "Songti SC","STSong",serif; font-size: 21px; font-weight: 600;}

.couple-suite-title p {margin: 0; color: var(--cp-muted) !important; font-size: 11px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

.couple-suite-days {border: 1px solid var(--cp-line);
  border-radius: 18px;
  padding: 10px 7px;
  text-align: center;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);}

.couple-suite-days b {display: block; color: var(--cp-rose); font-size: 18px;}

.couple-suite-days span {display: block; margin-top: 4px; color: var(--cp-muted); font-size: 9px; letter-spacing: .14em;}

.couple-suite-stage {position: absolute;
  left: 14px;
  right: 14px;
  top: 112px;
  bottom: 14px;
  border: 1px solid var(--cp-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 72% 8%, color-mix(in srgb, var(--cp-gold) 23%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--cp-pearl) 66%, transparent), color-mix(in srgb, var(--cp-stage) 86%, transparent));
  box-shadow: 0 18px 42px color-mix(in srgb, var(--cp-text) 8%, transparent), inset 0 1px 0 rgba(255,255,255,.32);
  overflow: hidden;}

.couple-suite-stage::before {content: ""; position: absolute; inset: 15px; border: 1px solid color-mix(in srgb, var(--cp-gold) 22%, transparent); border-radius: 18px; pointer-events: none;}

.couple-suite-shelf {position: absolute; left: 28px; right: 28px; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cp-text) 18%, transparent), transparent);}

.couple-suite-shelf.shelf-1 {top: 92px;}

.couple-suite-shelf.shelf-2 {top: 208px;}

.couple-suite-shelf.shelf-3 {bottom: 86px;}

.couple-suite-hot {position: absolute;
  border: 0;
  background: transparent;
  color: var(--cp-text);
  padding: 0;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease;}

.couple-suite-hot:active {transform: scale(.96);}

.couple-suite-hot small {display: block; margin-top: 8px; color: var(--cp-muted); font-size: 9px; letter-spacing: .14em;}

.couple-suite-hot b {display: block; margin-top: 3px; font-size: 12px; font-weight: 650; letter-spacing: .05em; color: var(--cp-title);}

.couple-suite-hot em {display: block; margin-top: 3px; color: var(--cp-muted); font-size: 10px; font-style: normal;}

.couple-suite-empty {position: absolute; left: 22px; right: 22px; bottom: 16px; padding: 11px 12px; border: 1px solid var(--cp-line); border-radius: 16px; color: var(--cp-muted); background: color-mix(in srgb, var(--cp-pearl) 52%, transparent); font-size: 12px; line-height: 1.6;}

.couple-temperature-card,
.couple-anniversary-strip,
.couple-section,
.couple-consent-card {border-color: var(--cp-line) !important;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent) !important;
  color: var(--cp-text) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-text) 8%, transparent), inset 0 1px 0 rgba(255,255,255,.28) !important;}

.couple-temperature-card strong,
.couple-section h3,
.couple-consent-card h2,
.couple-suite-card strong,
.couple-suite-letter strong {color: var(--cp-title) !important;}

.couple-temperature-card p,
.couple-section small,
.couple-consent-desc,
.couple-consent-sub {color: var(--cp-muted) !important;}

.couple-temp-bars span::after {background: linear-gradient(90deg, var(--cp-rose), var(--cp-gold)) !important;}

.couple-consent-send,
.couple-section header button,
.couple-back-list {border-color: var(--cp-line) !important;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent) !important;
  color: var(--cp-text) !important;}

.couple-consent-send {background: linear-gradient(135deg, var(--cp-rose), color-mix(in srgb, var(--cp-rose) 78%, #5f2730)) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--cp-rose) 30%, transparent) !important;}

.couple-suite-consent-card {display: grid !important; justify-items: center; gap: 14px; padding: 24px 18px !important; border-radius: 28px !important;}

.couple-suite-list {display: grid; gap: 12px;}

.couple-suite-card,
.couple-suite-letter {display: block;
  width: 100%;
  text-align: left;
  border: 1px solid color-mix(in srgb, var(--cp-text) 10%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--cp-pearl) 58%, transparent);
  padding: 14px;
  color: var(--cp-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);}

.couple-suite-card small,
.couple-suite-letter small {display: block; color: var(--cp-rose); font-size: 10px; letter-spacing: .14em; margin-bottom: 7px; font-weight: 800;}

.couple-suite-card p,
.couple-suite-letter p {margin: 8px 0 0; color: var(--cp-muted); font-size: 12.5px; line-height: 1.75;}

.couple-suite-letter {background: linear-gradient(135deg, color-mix(in srgb, var(--cp-pearl) 90%, transparent), color-mix(in srgb, var(--cp-gold) 18%, transparent));}

.couple-gazette {display: grid; gap: 12px;}

.couple-gazette .headline {background: linear-gradient(135deg, color-mix(in srgb, var(--cp-rose) 12%, var(--cp-pearl)), color-mix(in srgb, var(--cp-gold) 16%, var(--cp-pearl))) !important;}

@media (max-height: 740px) {
.couple-suite-cover {min-height: 520px;}
.couple-suite-stage {top: 106px;}
.couple-suite-title strong {font-size: 19px;}
}

@media (max-width: 390px) {
.couple-suite-cover-head {grid-template-columns: auto minmax(0, 1fr);}
.couple-suite-days {display: none;}
}

.couple-refresh-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;}

.couple-refresh-grid button {border: 1px solid var(--cp-line) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--cp-pearl) 68%, transparent) !important;
  color: var(--cp-text) !important;
  padding: 11px 12px !important;
  min-height: 54px;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28) !important;}

.couple-refresh-grid button:first-child {background: linear-gradient(135deg, var(--cp-rose), color-mix(in srgb, var(--cp-rose) 78%, #5f2730)) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--cp-rose) 30%, transparent) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cp-rose) 18%, transparent) !important;}

.couple-refresh-grid button b {display: block;
  font-size: 13px;
  font-weight: 700;
  color: inherit;}

.couple-refresh-grid button small {display: block;
  margin-top: 5px;
  font-size: 10.5px;
  line-height: 1.35;
  color: color-mix(in srgb, currentColor 72%, transparent) !important;}

.couple-refresh-note {margin: 10px 2px 0 !important;
  color: var(--cp-muted) !important;
  font-size: 11px !important;
  line-height: 1.65 !important;}

@media (max-width: 390px) {
.couple-refresh-grid {grid-template-columns: 1fr;}
}

.live-room-vignette {position: absolute;
  inset: 0;}

.live-room-vignette {z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .46) 0%, transparent 21%, transparent 54%, rgba(0, 0, 0, .38) 72%, rgba(0, 0, 0, .86) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, .22), transparent 24%, transparent 72%, rgba(0, 0, 0, .1));}

.live-room-topbar {position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  right: 0;
  min-height: calc(66px + env(safe-area-inset-top));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: calc(10px + env(safe-area-inset-top)) 10px 8px;}

.live-room-avatar {flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background-color: #33343a;
  background-position: center 24%;
  background-size: cover;}

.live-room-avatar {width: 38px;
  height: 38px;
  border: 1.5px solid rgba(255, 255, 255, .82);}

.live-room-avatar > span {color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 850;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .6);}

.live-room-top-actions {flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;}

.live-room-circle {height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(12,14,18,.5), rgba(12,14,18,.28));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.13);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);}

.live-room-circle {width: 40px;
  border-radius: 14px;
  transition: transform .16s cubic-bezier(.2,.8,.2,1), background .16s ease;}

.live-room-circle:active {transform: scale(.93); background: rgba(255,255,255,.18);}

.live-room-circle .moss-ui-icon {width: 17px;
  height: 17px;}

.live-room-labels {position: absolute;
  z-index: 15;
  top: calc(70px + env(safe-area-inset-top));
  left: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: calc(100% - 24px);}

.live-room-labels > span {padding: 4px 7px;
  border-radius: 5px;
  color: rgba(255, 255, 255, .82);
  background: rgba(0, 0, 0, .28);
  font-size: 8px;
  font-weight: 690;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);}

.live-room-labels .live-pill-live {color: #fff;
  background: var(--live-red);
  font-weight: 850;
  letter-spacing: .04em;}

/* Existing canonical module rules follow. */
/*
 * haven feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.custom-home .couple-home-hero {
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 8px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, #fff 30%, transparent);
  border-radius: 30px;
  color: var(--skin-text);
  text-align: left;
  background:
    radial-gradient(circle at 18% 18%, color-mix(in srgb, #f0d6df 74%, transparent), transparent 34%),
    radial-gradient(circle at 84% 16%, color-mix(in srgb, #b9d4c7 58%, transparent), transparent 32%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 42%, transparent), color-mix(in srgb, #9d7d8e 24%, transparent));
  backdrop-filter: blur(26px) saturate(1.28);
  -webkit-backdrop-filter: blur(26px) saturate(1.28);
  box-shadow: var(--skin-shadow);
  -webkit-tap-highlight-color: transparent;
}

.custom-home .couple-home-hero span,
.custom-home .couple-home-hero small,
.custom-home .couple-home-hero strong {
  display: block;
}

.custom-home .couple-home-hero span {
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--skin-muted);
  background: color-mix(in srgb, var(--surface-strong) 52%, transparent);
  font-size: 12px;
  font-weight: 900;
}

.custom-home .couple-home-hero strong {
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.custom-home .couple-home-hero small {
  color: var(--skin-muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.custom-home .couple-home-mini-stack {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  max-width: 100%;
  overflow: hidden;
}

.custom-home .couple-home-mini-stack i {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, #fff 46%, transparent);
  border-radius: 9px;
  background: color-mix(in srgb, var(--surface-strong) 56%, transparent);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.custom-home .couple-home-mini-stack b {
  min-width: 0;
  overflow: hidden;
  color: var(--skin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}

.couple-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 28px;
  background:
    radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.82), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(226, 238, 228, 0.76));
  box-shadow: 0 18px 42px rgba(74, 62, 52, 0.12);
}

.couple-hero-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.couple-avatar-stack {
  display: flex;
  align-items: center;
}

.couple-avatar-stack .avatar {
  width: 48px;
  height: 48px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 18px rgba(74, 62, 52, 0.12);
}

.couple-avatar-stack .avatar + .avatar { margin-left: -12px; }

.couple-room {
  position: relative;
  min-height: 246px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.66);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 251, 246, 0.92) 0 60%, rgba(216, 205, 186, 0.86) 60% 100%),
    radial-gradient(circle at 18% 16%, rgba(248, 222, 231, 0.68), transparent 30%);
  box-shadow: 0 18px 42px rgba(74, 62, 52, 0.12);
}

.couple-room-window {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 84px;
  height: 74px;
  border-radius: 24px;
  background: linear-gradient(145deg, #c7e2ec, #f5eee0);
  box-shadow: inset 0 0 0 8px rgba(255,255,255,0.58);
}

.couple-room-bed {
  position: absolute;
  left: 20px;
  bottom: 34px;
  width: 148px;
  height: 72px;
  border-radius: 26px 26px 18px 18px;
  background: linear-gradient(145deg, #dcc6cf, #f8eee9);
  box-shadow: 0 12px 24px rgba(100, 74, 58, 0.12);
}

.couple-room-bed::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 12px;
  width: 48px;
  height: 30px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
}

.couple-room-table {
  position: absolute;
  right: 28px;
  bottom: 42px;
  width: 100px;
  height: 50px;
  border-radius: 18px;
  background: linear-gradient(145deg, #b99b82, #d8c2a9);
  box-shadow: 0 12px 24px rgba(100, 74, 58, 0.14);
}

.couple-room-wallnote {
  position: absolute;
  left: 24px;
  top: 24px;
  max-width: 168px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  color: #6c5362;
  font-size: 12px;
  line-height: 1.4;
  box-shadow: 0 10px 20px rgba(74, 62, 52, 0.10);
}

.couple-room-item {
  position: absolute;
  display: grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 8px 18px rgba(74, 62, 52, 0.12);
  font-size: 22px;
}

.couple-room-item.item-0 { left: 48px; bottom: 116px; }

.couple-room-item.item-1 { right: 52px; bottom: 96px; }

.couple-room-item.item-2 { left: 176px; bottom: 38px; }

.couple-room-item.item-3 { right: 118px; top: 36px; }

.couple-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.couple-actions { flex-wrap: wrap; justify-content: flex-start; }

.couple-actions button,
.couple-memory-card button {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: #2f3835;
  font-size: 12px;
  font-weight: 900;
}

.couple-actions button.secondary { color: #4d3f46; background: rgba(255, 255, 255, 0.82); }

.couple-memory-list {
  display: grid;
  gap: 8px;
}

.couple-memory-card {
  display: grid;
  gap: 6px;
  padding: 11px;
  border-radius: 18px;
  background: rgba(246, 241, 234, 0.9);
}

.couple-memory-card.pinned { background: linear-gradient(145deg, rgba(246, 241, 234, 0.95), rgba(238, 219, 228, 0.82)); }

.couple-memory-card strong { font-size: 15px; }

.couple-memory-card p { margin: 0; color: #5d5360; line-height: 1.48; }

.couple-empty {
  padding: 18px;
  border: 1.5px dashed rgba(125, 106, 88, 0.28);
  border-radius: 20px;
  color: var(--skin-muted, #7b6b5a);
  text-align: center;
  line-height: 1.5;
}

.couple-room-cover { display: grid; gap: 8px; justify-items: start; padding: 4px 4px 12px; }

.couple-room-cover .couple-avatar-stack { transform: scale(1.05); transform-origin: left; }

.couple-room-title { display: grid; gap: 2px; }

.couple-room-title small { font-size: 12px; letter-spacing: .2em; color: #c4607a; font-weight: 800; }

.couple-room-title strong { font-family: "Songti SC","STSong",serif; font-size: 24px; font-weight: 600; color: #4a3a32; }

html[data-ui-mode="dark"] .couple-room-title strong { color: #f0e7dc; }

.couple-room-ambient { display: flex; flex-wrap: wrap; gap: 7px; }

.couple-room-ambient span { font-size: 11.5px; color: #8a7b70; border: 1px solid rgba(138,123,112,.25); border-radius: 999px; padding: 4px 10px; background: rgba(255,255,255,.04); }

.couple-room-stage { position: relative; border-radius: 22px; overflow: hidden; box-shadow: 0 20px 44px rgba(0,0,0,.4); background: #0c1018; margin-bottom: 14px; }

.couple-room-stage svg { display: block; width: 100%; height: auto; }

.couple-room-stage[data-stuff="empty"] .accrued { display: none; }

.couple-room-stage[data-time="night"] .crm-sky { opacity: .58; }

.couple-room-stage[data-time="night"] .crm-lamp { opacity: 1; }

.couple-room-stage[data-time="day"] .crm-lamp { opacity: .28; }

.couple-room-stage[data-time="day"] .crm-sky { opacity: 1; }

.couple-room-stage.crm-labels .crm-tip { display: block; }

.couple-room-stage.crm-labels .crm-hot::after { opacity: 0; }

.couple-room-item { border: 0; cursor: pointer; }

.couple-room-item:active { transform: scale(.92); }

.couple-room-hint { margin: 0 4px 12px; font-size: 12.5px; color: #8a7b70; line-height: 1.6; }

.couple-sheet-obj { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; font-size: 28px; margin-bottom: 12px; background: linear-gradient(150deg, rgba(255,183,132,.28), rgba(231,121,154,.2)); }

.couple-avatar-stack.big { transform: scale(1.18); margin-bottom: 8px; }

.couple-preview-card {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  display: grid;
  align-content: end;
  gap: 5px;
  padding: 14px;
  border-radius: 26px;
  text-align: left;
  color: #362d2f;
  background: rgba(255,255,255,.74);
  box-shadow: 0 14px 30px rgba(74,62,52,.09);
}

.couple-preview-card.chronicle {
  min-height: auto;
  margin-bottom: 10px;
  background: linear-gradient(150deg, rgba(255,233,221,.92), rgba(255,214,224,.9));
  color: #5a3f44;
}

.couple-preview-card.chronicle small { color: #c4607a; font-weight: 800; }

.couple-sheet-back { position: absolute; inset: 0; z-index: 70; display: flex; align-items: flex-end; background: rgba(8,11,22,.5); backdrop-filter: blur(3px); opacity: 0; transition: opacity .24s ease; }

.couple-sheet-back.show { opacity: 1; }

.couple-sheet { width: 100%; border-radius: 26px 26px 0 0; padding: 22px 20px calc(24px + env(safe-area-inset-bottom)); background: linear-gradient(160deg, #fff3ec, #ffe7ec); box-shadow: 0 -12px 40px rgba(74,62,52,.25); transform: translateY(24px); transition: transform .26s ease; }

.couple-sheet-back.show .couple-sheet { transform: none; }

.couple-sheet-kind { display: inline-block; font-size: 11px; font-weight: 900; color: #c4607a; letter-spacing: .06em; background: rgba(196,96,122,.1); padding: 4px 10px; border-radius: 999px; }

.couple-sheet h3 { margin: 10px 0 4px; font-size: 19px; font-weight: 850; color: #4a3a32; }

.couple-sheet-when { margin: 0; font-size: 12px; font-weight: 800; color: #c4607a; }

.couple-sheet-body { margin: 12px 0 0; font-size: 14.5px; line-height: 1.8; color: #5a4a40; font-family: "Songti SC","STSong",serif; }

.couple-sheet-meta { margin: 12px 0 0; font-size: 12px; color: #a98; }

.couple-sheet-done { margin-top: 18px; width: 100%; min-height: 46px; border-radius: 999px; font-size: 15px; font-weight: 850; color: #fff; background: linear-gradient(135deg,#ff8aa6,#d76b8c); box-shadow: 0 12px 26px rgba(215,107,140,.3); }

html[data-ui-mode="dark"] .couple-sheet { background: linear-gradient(160deg, #241c2c, #1b1626); }

html[data-ui-mode="dark"] .couple-sheet h3 { color: #f0e7dc; }

html[data-ui-mode="dark"] .couple-sheet-body { color: #cfc6ba; }

.couple-preview-card::before {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: rgba(255,255,255,.62);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62);
  font-size: 24px;
}

.couple-preview-card.film::before { content: "🎞️"; }

.couple-preview-card.diary::before { content: "📔"; }

.couple-preview-card small {
  color: #8d6378;
  font-size: 11px;
  font-weight: 950;
}

.couple-preview-card strong {
  font-size: 17px;
}

.couple-preview-card p {
  margin: 0;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  line-height: 1.4;
}

.couple-preview-card.film {
  background:
    radial-gradient(circle at 88% 10%, rgba(238,219,228,.86), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.84), rgba(245,238,228,.82));
}

.couple-preview-card.diary {
  background:
    radial-gradient(circle at 88% 10%, rgba(216,234,223,.86), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.84), rgba(240,234,244,.78));
}

.couple-room {
  min-height: 374px;
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,251,246,.96) 0 58%, rgba(226,216,199,.92) 58% 100%),
    radial-gradient(circle at 18% 15%, rgba(248,222,231,.62), transparent 28%);
  box-shadow: 0 22px 48px rgba(74,62,52,.14);
  touch-action: pan-y;
}

.couple-room-wall,
.couple-room-floor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.couple-room-wall {
  bottom: 42%;
  background:
    repeating-linear-gradient(90deg, rgba(141,99,120,.055) 0 1px, transparent 1px 34px),
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.72), transparent 25%);
}

.couple-room-floor {
  top: 58%;
  background:
    linear-gradient(135deg, rgba(169,139,111,.16) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(225deg, rgba(169,139,111,.13) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(180deg, rgba(222,206,185,.88), rgba(204,186,164,.9));
}

.couple-room-window {
  top: 26px;
  right: 22px;
  width: 98px;
  height: 94px;
  border-radius: 28px;
  background: linear-gradient(145deg, #b8dcea, #fff0d6 72%);
  box-shadow: inset 0 0 0 9px rgba(255,255,255,.64), 0 12px 24px rgba(74,62,52,.08);
}

.couple-room-window i,
.couple-room-window b {
  position: absolute;
  background: rgba(255,255,255,.72);
  content: "";
}

.couple-room-window i { left: 50%; top: 10px; bottom: 10px; width: 4px; transform: translateX(-50%); }

.couple-room-window b { left: 10px; right: 10px; top: 50%; height: 4px; transform: translateY(-50%); }

.couple-room-shelf {
  position: absolute;
  right: 28px;
  top: 136px;
  width: 112px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 -8px 0 rgba(155,122,94,.28), 0 10px 20px rgba(74,62,52,.08);
}

.couple-room-shelf span {
  position: absolute;
  bottom: 12px;
  width: 18px;
  height: 28px;
  border-radius: 7px 7px 4px 4px;
  background: rgba(141,99,120,.36);
}

.couple-room-shelf span:nth-child(1) { left: 20px; height: 31px; background: rgba(111,147,132,.38); }

.couple-room-shelf span:nth-child(2) { left: 46px; }

.couple-room-shelf span:nth-child(3) { left: 72px; height: 24px; background: rgba(212,190,165,.62); }

.couple-room-rug {
  position: absolute;
  left: 92px;
  right: 76px;
  bottom: 24px;
  height: 84px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(238,219,228,.72), rgba(238,219,228,.24) 60%, transparent 68%);
}

.couple-room-bed {
  left: 18px;
  bottom: 48px;
  width: 176px;
  height: 88px;
  border-radius: 34px 34px 20px 20px;
  background: linear-gradient(145deg, #d6bdc8, #fbefe9);
}

.couple-room-bed::before { display: none; }

.couple-room-bed i,
.couple-room-bed b {
  position: absolute;
  content: "";
  border-radius: 18px;
  background: rgba(255,255,255,.84);
}

.couple-room-bed i { left: 18px; top: 16px; width: 54px; height: 34px; }

.couple-room-bed b { right: 18px; top: 18px; width: 44px; height: 28px; background: rgba(247,232,238,.92); }

.couple-room-table {
  right: 24px;
  bottom: 70px;
  width: 116px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(145deg, #ad9077, #dbc4aa);
}

.couple-room-table::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -20px;
  height: 24px;
  border-radius: 0 0 12px 12px;
  background: rgba(123,93,68,.32);
}

.couple-room-table i {
  position: absolute;
  right: 18px;
  top: -22px;
  width: 32px;
  height: 32px;
  border-radius: 50% 50% 45% 45%;
  background: linear-gradient(145deg, #fff4dc, #dfc6a8);
  box-shadow: 0 0 28px rgba(255,226,158,.46);
}

.couple-room-lamp {
  position: absolute;
  right: 52px;
  bottom: 134px;
  width: 4px;
  height: 46px;
  border-radius: 999px;
  background: rgba(117,91,72,.5);
}

.couple-room-lamp::before {
  content: "";
  position: absolute;
  left: -20px;
  top: -28px;
  width: 44px;
  height: 32px;
  border-radius: 22px 22px 10px 10px;
  background: linear-gradient(145deg, #fff2c8, #d8b58e);
  box-shadow: 0 0 34px rgba(255,224,151,.5);
}

.couple-room-plant {
  position: absolute;
  left: 26px;
  bottom: 154px;
  width: 38px;
  height: 42px;
  border-radius: 8px 8px 16px 16px;
  background: linear-gradient(145deg, #cfae94, #96765d);
}

.couple-room-plant::before {
  content: "🌿";
  position: absolute;
  left: -8px;
  top: -31px;
  font-size: 34px;
}

.couple-room-wallnote {
  left: 22px;
  top: 24px;
  max-width: 154px;
  z-index: 4;
  transform: rotate(-2deg);
}

.couple-room-photo-wall {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
}

.couple-room-photo {
  position: absolute;
  width: 72px;
  min-height: 58px;
  transform: translate(-50%, -50%) rotate(-2deg);
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 7px 6px 6px;
  border-radius: 10px;
  background: #fffaf5;
  color: #5a4752;
  box-shadow: 0 10px 22px rgba(74,62,52,.16);
  font-size: 12px;
  font-weight: 950;
  pointer-events: auto;
  touch-action: none;
  cursor: grab;
  z-index: 8;
}

.couple-room-photo::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #b57989;
  box-shadow: 0 2px 4px rgba(74,62,52,.15);
}

.couple-room-photo span { font-size: 22px; line-height: 1; }

.couple-room-photo strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}

.couple-room-photo.dragging {
  z-index: 20;
  cursor: grabbing;
  transform: translate(-50%, -50%) rotate(1deg) scale(1.04);
}

.couple-room-item-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.couple-room-item {
  min-width: 50px;
  min-height: 48px;
  gap: 1px;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.couple-room-item span { font-size: 24px; line-height: 1; }

.couple-room-item small {
  max-width: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #685865;
  font-size: 9px;
  font-weight: 900;
}

.couple-room-item.item-0 { left: 82px; bottom: 150px; }

.couple-room-item.item-1 { right: 88px; bottom: 136px; }

.couple-room-item.item-2 { left: 205px; bottom: 44px; }

.couple-room-item.item-3 { right: 145px; top: 204px; }

.couple-room-item.item-4 { left: 148px; top: 150px; }

.couple-room-item.item-5 { right: 38px; bottom: 38px; }

.couple-room-item.item-6 { left: 32px; bottom: 28px; }

.couple-room-item.item-7 { right: 28px; top: 204px; }

.couple-room { min-height: 350px; }

.couple-room-bed { width: 156px; }

.couple-room-table { width: 104px; }

.couple-room-photo { width: 64px; }

html[data-ui-mode="dark"] body.theme-apple .couple-app :where(p, small, span, em, .couple-title small, .couple-section small, .couple-stat span, .couple-empty) {
  color: var(--couple-dark-muted) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-hero,
html[data-ui-mode="dark"] body.theme-apple .couple-preview-card,
html[data-ui-mode="dark"] body.theme-apple .couple-memory-card,
html[data-ui-mode="dark"] body.theme-apple .couple-empty {
  color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 255, 255, 0.045), transparent 30%),
    linear-gradient(145deg, rgba(36, 40, 48, 0.94), rgba(25, 28, 35, 0.92)) !important;
  border: 1px solid var(--couple-dark-border) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(22px) saturate(1.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.10) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-memory-card.pinned,
html[data-ui-mode="dark"] body.theme-apple .couple-preview-card.film,
html[data-ui-mode="dark"] body.theme-apple .couple-preview-card.diary {
  background:
    radial-gradient(circle at 86% 8%, rgba(136, 107, 132, 0.18), transparent 36%),
    linear-gradient(145deg, rgba(40, 43, 52, 0.96), rgba(26, 29, 36, 0.94)) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-actions button.secondary {
  color: #edf3f8 !important;
  background: rgba(45, 49, 58, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-actions button,
html[data-ui-mode="dark"] body.theme-apple .couple-memory-card button {
  color: #f7fbff !important;
  background: rgba(75, 92, 105, 0.92) !important;
  border: 1px solid rgba(190, 214, 231, 0.13) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room {
  color: var(--couple-dark-text) !important;
  background:
    linear-gradient(180deg, rgba(34, 38, 46, 0.98) 0 58%, rgba(26, 29, 35, 0.98) 58% 100%),
    radial-gradient(circle at 18% 15%, rgba(126, 94, 112, 0.26), transparent 28%) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-wall {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 34px),
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.07), transparent 25%) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-floor {
  background:
    linear-gradient(135deg, rgba(255,255,255,.045) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(225deg, rgba(255,255,255,.035) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(180deg, rgba(28, 31, 37, .98), rgba(22, 24, 30, .98)) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-window {
  background: linear-gradient(145deg, #263846, #4b3e35 72%) !important;
  box-shadow: inset 0 0 0 9px rgba(255,255,255,.10), 0 12px 24px rgba(0,0,0,.24) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-window i,
html[data-ui-mode="dark"] body.theme-apple .couple-room-window b {
  background: rgba(255,255,255,.20) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-shelf {
  background: rgba(44, 48, 56, .72) !important;
  box-shadow: inset 0 -8px 0 rgba(117, 91, 72, .26), 0 10px 20px rgba(0,0,0,.22) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-shelf span {
  background: rgba(154, 123, 147, .58) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-shelf span:nth-child(1) {
  background: rgba(104, 151, 132, .50) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-shelf span:nth-child(3) {
  background: rgba(178, 145, 105, .56) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-rug {
  background: radial-gradient(ellipse at center, rgba(125, 92, 112, .46), rgba(125, 92, 112, .18) 60%, transparent 70%) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-bed {
  background: linear-gradient(145deg, #5d4c59, #2f333d) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.26) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-bed i,
html[data-ui-mode="dark"] body.theme-apple .couple-room-bed b {
  background: rgba(236, 227, 234, .72) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-table {
  background: linear-gradient(145deg, #5a4739, #382f2a) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.26) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-table::after {
  background: rgba(20, 18, 18, .52) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-table i,
html[data-ui-mode="dark"] body.theme-apple .couple-room-lamp::before {
  background: linear-gradient(145deg, #f1dba7, #8d6f47) !important;
  box-shadow: 0 0 24px rgba(226, 185, 105, .26) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-lamp {
  background: rgba(167, 139, 111, .44) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-plant {
  background: linear-gradient(145deg, #765943, #46372e) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-wallnote,
html[data-ui-mode="dark"] body.theme-apple .couple-room-item,
html[data-ui-mode="dark"] body.theme-apple .couple-room-photo {
  color: #f1f4f8 !important;
  background: rgba(38, 42, 50, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.26), inset 0 1px rgba(255,255,255,.05) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-photo::before {
  background: #a97f92 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.22) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-room-item small,
html[data-ui-mode="dark"] body.theme-apple .couple-room-photo strong {
  color: rgba(230, 237, 246, 0.82) !important;
}

html[data-ui-mode="dark"] body.theme-apple .couple-avatar-stack .avatar {
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,0.28) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-app :where(p, small, span, em, .couple-title small, .couple-section small, .couple-stat span, .couple-empty) {
  color: var(--couple-dark-muted) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-hero,
html[data-ui-mode="dark"] body.theme-aurora .couple-preview-card,
html[data-ui-mode="dark"] body.theme-aurora .couple-memory-card,
html[data-ui-mode="dark"] body.theme-aurora .couple-empty {
  color: var(--couple-dark-text) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 255, 255, 0.045), transparent 30%),
    linear-gradient(145deg, rgba(36, 40, 48, 0.94), rgba(25, 28, 35, 0.92)) !important;
  border: 1px solid var(--couple-dark-border) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(22px) saturate(1.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.10) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-memory-card.pinned,
html[data-ui-mode="dark"] body.theme-aurora .couple-preview-card.film,
html[data-ui-mode="dark"] body.theme-aurora .couple-preview-card.diary {
  background:
    radial-gradient(circle at 86% 8%, rgba(136, 107, 132, 0.18), transparent 36%),
    linear-gradient(145deg, rgba(40, 43, 52, 0.96), rgba(26, 29, 36, 0.94)) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-actions button.secondary {
  color: #edf3f8 !important;
  background: rgba(45, 49, 58, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-actions button,
html[data-ui-mode="dark"] body.theme-aurora .couple-memory-card button {
  color: #f7fbff !important;
  background: rgba(75, 92, 105, 0.92) !important;
  border: 1px solid rgba(190, 214, 231, 0.13) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room {
  color: var(--couple-dark-text) !important;
  background:
    linear-gradient(180deg, rgba(34, 38, 46, 0.98) 0 58%, rgba(26, 29, 35, 0.98) 58% 100%),
    radial-gradient(circle at 18% 15%, rgba(126, 94, 112, 0.26), transparent 28%) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-wall {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 34px),
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.07), transparent 25%) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-floor {
  background:
    linear-gradient(135deg, rgba(255,255,255,.045) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(225deg, rgba(255,255,255,.035) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(180deg, rgba(28, 31, 37, .98), rgba(22, 24, 30, .98)) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-window {
  background: linear-gradient(145deg, #263846, #4b3e35 72%) !important;
  box-shadow: inset 0 0 0 9px rgba(255,255,255,.10), 0 12px 24px rgba(0,0,0,.24) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-window i,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-window b {
  background: rgba(255,255,255,.20) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-shelf {
  background: rgba(44, 48, 56, .72) !important;
  box-shadow: inset 0 -8px 0 rgba(117, 91, 72, .26), 0 10px 20px rgba(0,0,0,.22) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-shelf span {
  background: rgba(154, 123, 147, .58) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-shelf span:nth-child(1) {
  background: rgba(104, 151, 132, .50) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-shelf span:nth-child(3) {
  background: rgba(178, 145, 105, .56) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-rug {
  background: radial-gradient(ellipse at center, rgba(125, 92, 112, .46), rgba(125, 92, 112, .18) 60%, transparent 70%) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-bed {
  background: linear-gradient(145deg, #5d4c59, #2f333d) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.26) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-bed i,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-bed b {
  background: rgba(236, 227, 234, .72) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-table {
  background: linear-gradient(145deg, #5a4739, #382f2a) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.26) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-table::after {
  background: rgba(20, 18, 18, .52) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-table i,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-lamp::before {
  background: linear-gradient(145deg, #f1dba7, #8d6f47) !important;
  box-shadow: 0 0 24px rgba(226, 185, 105, .26) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-lamp {
  background: rgba(167, 139, 111, .44) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-plant {
  background: linear-gradient(145deg, #765943, #46372e) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-wallnote,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-item,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-photo {
  color: #f1f4f8 !important;
  background: rgba(38, 42, 50, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.26), inset 0 1px rgba(255,255,255,.05) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-photo::before {
  background: #a97f92 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.22) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-room-item small,
html[data-ui-mode="dark"] body.theme-aurora .couple-room-photo strong {
  color: rgba(230, 237, 246, 0.82) !important;
}

html[data-ui-mode="dark"] body.theme-aurora .couple-avatar-stack .avatar {
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,0.28) !important;
}

#appScreen .haven-v4-modal-shell {
  align-items: center !important;
  padding: 12px 12px 0 !important;
  background: rgba(13, 31, 52, .42) !important;
  backdrop-filter: blur(10px) saturate(.9) !important;
  -webkit-backdrop-filter: blur(10px) saturate(.9) !important;
}

#appScreen .haven-v4-modal-card {
  --haven-sheet-ink: #20364d;
  --haven-sheet-muted: #71839a;
  --haven-sheet-blue: #76a3db;
  --haven-sheet-blue-strong: #507fbd;
  --haven-sheet-wash: #edf5ff;
  --haven-sheet-line: #dfe9f4;
  width: min(760px, 100%) !important;
  max-height: min(89dvh, 860px) !important;
  margin: 0 auto !important;
  padding: 0 0 calc(24px + env(safe-area-inset-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid rgba(255, 255, 255, .92) !important;
  border-bottom: 0 !important;
  border-radius: 30px 30px 0 0 !important;
  color: var(--haven-sheet-ink) !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f3f8fe 46%, #eef5fc 100%) !important;
  box-shadow: 0 -22px 64px rgba(19, 46, 76, .24), inset 0 1px 0 #fff !important;
}

#appScreen .haven-v4-modal-grabber {
  position: sticky;
  top: 0;
  z-index: 8;
  width: 42px;
  height: 5px;
  margin: 10px auto 2px;
  border-radius: 999px;
  background: #c8d7e8;
}

#appScreen .haven-v4-modal-head {
  position: sticky;
  top: 0;
  z-index: 7;
  min-height: 82px;
  margin: 0 !important;
  padding: 12px 20px 14px !important;
  border-bottom: 1px solid rgba(213, 226, 240, .78) !important;
  background: rgba(250, 253, 255, .92) !important;
  backdrop-filter: blur(18px) saturate(1.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
}

#appScreen .haven-v4-modal-head small {
  color: var(--haven-sheet-muted) !important;
  font-size: 11px !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
}

#appScreen .haven-v4-modal-head h2 {
  margin-top: 5px !important;
  color: var(--haven-sheet-ink) !important;
  font-size: clamp(21px, 5.5vw, 27px) !important;
  font-weight: 730 !important;
  letter-spacing: -.025em;
}

#appScreen .haven-v4-modal-head h2 > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d5e4f5;
  border-radius: 13px;
  background: linear-gradient(145deg, #fff, #eaf3fd);
  box-shadow: 5px 5px 12px rgba(101, 137, 177, .13), -4px -4px 10px #fff;
  font-size: 18px;
}

#appScreen .haven-v4-modal-head button[data-haven-panel-close] {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border: 1px solid #dce7f2 !important;
  border-radius: 14px !important;
  color: #5f7590 !important;
  background: #f5f9fe !important;
  box-shadow: 5px 5px 12px rgba(86, 119, 157, .12), -5px -5px 12px #fff !important;
}

#appScreen .haven-v4-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 14px 20px 4px;
}

#appScreen .haven-v4-filter-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 48px;
  padding: 0 8px 0 14px;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  color: #7890ab;
  background: #f9fcff;
  box-shadow: inset 3px 3px 8px rgba(94, 128, 165, .08), inset -3px -3px 8px #fff;
}

#appScreen .haven-v4-filter-field .moss-ui-icon {
  width: 19px;
  height: 19px;
}

#appScreen .haven-v4-filter-field input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  outline: 0 !important;
  color: var(--haven-sheet-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
}

#appScreen .haven-v4-filter-field input::placeholder { color: #9aabbf !important; }

#appScreen .haven-v4-filter-field button {
  min-width: 48px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  color: var(--haven-sheet-blue-strong) !important;
  background: var(--haven-sheet-wash) !important;
  font-size: 12px;
  font-weight: 700;
}

#appScreen .haven-v4-filter-count {
  white-space: nowrap;
  color: var(--haven-sheet-muted);
  font-size: 12px;
  font-weight: 650;
}

#appScreen .haven-v4-modal-content {
  padding: 12px 20px 0;
}

#appScreen .haven-v4-modal-content .haven-panel {
  display: grid;
  gap: 14px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--haven-sheet-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#appScreen .haven-v4-modal-content .haven-panel + .haven-panel {
  margin-top: 16px;
  padding-top: 16px !important;
  border-top: 1px solid var(--haven-sheet-line) !important;
}

#appScreen .haven-v4-modal-content .haven-panel-head {
  align-items: center;
  gap: 12px;
  padding: 2px 0;
  border: 0 !important;
}

#appScreen .haven-v4-modal-content .haven-panel-head small {
  color: var(--haven-sheet-blue-strong) !important;
  font-size: 10px;
  letter-spacing: .12em;
}

#appScreen .haven-v4-modal-content .haven-panel-head h3 {
  margin-top: 3px;
  color: var(--haven-sheet-ink) !important;
  font-size: 18px;
  font-weight: 720;
}

#appScreen .haven-v4-modal-content .haven-panel-intro,
#appScreen .haven-v4-modal-content .haven-panel > p {
  margin: -4px 0 0 !important;
  padding: 12px 14px;
  border: 1px solid #e1ebf5;
  border-radius: 14px;
  color: var(--haven-sheet-muted) !important;
  background: rgba(255, 255, 255, .58);
  font-size: 13px !important;
  line-height: 1.65 !important;
}

#appScreen .haven-v4-modal-content :where(.haven-memory-list, .haven-note-list, .haven-diary-list, .haven-timeline) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

#appScreen .haven-v4-modal-content :where(.haven-memory-card, .haven-note-list article, .haven-timeline article, .haven-diary-list article) {
  min-width: 0;
  padding: 16px !important;
  border: 1px solid var(--haven-sheet-line) !important;
  border-radius: 18px !important;
  color: var(--haven-sheet-ink) !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 8px 8px 20px rgba(88, 122, 160, .10), -5px -5px 14px rgba(255, 255, 255, .96) !important;
}

#appScreen .haven-v4-modal-content [data-haven-filter-item][hidden] { display: none !important; }

#appScreen .haven-v4-modal-content :where(.haven-memory-card, .haven-note-list article, .haven-timeline article) > small,
#appScreen .haven-v4-modal-content .haven-timeline time {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #6683a4 !important;
  background: #eef5fc;
  font-size: 11px;
  font-weight: 700;
}

#appScreen .haven-v4-modal-content :where(.haven-memory-card, .haven-note-list article, .haven-timeline article) > strong {
  display: block;
  color: var(--haven-sheet-ink) !important;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.45;
}

#appScreen .haven-v4-modal-content :where(.haven-memory-card, .haven-note-list article, .haven-timeline article) > p {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #60758d !important;
  background: transparent !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

#appScreen .haven-v4-modal-content .haven-card-quote {
  padding: 10px 12px !important;
  border-left: 3px solid #b4cce7 !important;
  border-radius: 0 10px 10px 0 !important;
  background: #f4f8fd !important;
}

#appScreen .haven-v4-modal-content .haven-timeline article {
  padding-left: 56px !important;
}

#appScreen .haven-v4-modal-content .haven-timeline article::before {
  left: 16px;
  top: 18px;
  width: 28px;
  height: 28px;
  color: #fff;
  background: linear-gradient(145deg, #8bb3e2, #648fca);
  box-shadow: 0 6px 14px rgba(81, 126, 181, .24);
}

#appScreen .haven-v4-modal-content .haven-narrative {
  padding: 16px;
  border: 1px solid #dce8f5;
  border-radius: 18px;
  color: var(--haven-sheet-ink) !important;
  background: linear-gradient(145deg, #f7fbff, #eaf3fd) !important;
  box-shadow: inset 0 1px 0 #fff;
}

#appScreen .haven-v4-modal-content .haven-narrative :where(h4, strong) { color: var(--haven-sheet-ink) !important; }

#appScreen .haven-v4-modal-content .haven-narrative :where(p, li, ul) { color: #60758d !important; line-height: 1.7; }

#appScreen .haven-v4-modal-content .haven-small-btn,
#appScreen .haven-v4-modal-content .haven-panel-actions button {
  min-height: 44px !important;
  padding: 0 15px !important;
  border: 1px solid #bfd4eb !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(145deg, #82abe0, #6491cc) !important;
  box-shadow: 5px 7px 16px rgba(70, 113, 165, .20), inset 0 1px 0 rgba(255, 255, 255, .35) !important;
  font-size: 12px;
  font-weight: 720;
}

#appScreen .haven-v4-modal-content .haven-panel-actions button.secondary {
  color: #5c7da2 !important;
  background: #f4f8fd !important;
  box-shadow: 4px 5px 12px rgba(84, 118, 156, .10), -4px -4px 10px #fff !important;
}

#appScreen .haven-v4-modal-content .haven-empty,
#appScreen .haven-v4-filter-empty {
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 28px 18px !important;
  border: 1px dashed #cbdbea !important;
  border-radius: 18px !important;
  color: #7b8fa7 !important;
  background: rgba(255, 255, 255, .58) !important;
  text-align: center;
  font-size: 13px;
}

#appScreen .haven-v4-filter-empty { margin: 12px 20px 0; }

#appScreen .haven-v4-filter-empty[hidden] { display: none !important; }

#appScreen .haven-v4-filter-empty strong { color: var(--haven-sheet-ink); font-size: 15px; }

#appScreen .haven-v4-filter-empty span { color: var(--haven-sheet-muted); }

#appScreen .haven-v4-modal-card {
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 30px !important;
  }

#appScreen .haven-v4-modal-content :where(.haven-memory-list, .haven-note-list, .haven-diary-list, .haven-timeline) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

#appScreen .haven-v4-modal-shell { padding-inline: 0 !important; }

#appScreen .haven-v4-modal-card { max-height: 91dvh !important; border-radius: 26px 26px 0 0 !important; }

#appScreen .haven-v4-modal-head { padding-inline: 16px !important; }

#appScreen .haven-v4-filter-toolbar { grid-template-columns: 1fr; padding-inline: 16px; }

#appScreen .haven-v4-filter-count { padding-left: 2px; }

#appScreen .haven-v4-modal-content { padding-inline: 16px; }

#appScreen .haven-v4-filter-empty { margin-inline: 16px; }

#appScreen .haven-v4-modal-content .haven-panel-head { align-items: flex-start; }

#appScreen .haven-v4-modal-content .haven-small-btn { max-width: 46%; height: auto; line-height: 1.25; }

.couple-preview-card,
.couple-sheet {
  border-color: var(--cp-line) !important;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent) !important;
  color: var(--cp-text) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-text) 8%, transparent), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.couple-preview-card strong,
.couple-sheet h3 { color: var(--cp-title) !important; }

.couple-preview-card p,
.couple-empty,
.couple-sheet-body,
.couple-sheet-meta { color: var(--cp-muted) !important; }

.couple-actions button,
.couple-sheet-done {
  border-color: var(--cp-line) !important;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent) !important;
  color: var(--cp-text) !important;
}

.couple-actions button:not(.secondary),
.couple-sheet-done {
  background: linear-gradient(135deg, var(--cp-rose), color-mix(in srgb, var(--cp-rose) 78%, #5f2730)) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--cp-rose) 30%, transparent) !important;
}

.couple-panel-tools button {
  border: 1px solid var(--cp-line) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--cp-pearl) 68%, transparent) !important;
  color: var(--cp-text) !important;
  padding: 11px 12px !important;
  min-height: 54px;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.couple-panel-tools button:not(.secondary):first-child {
  background: linear-gradient(135deg, var(--cp-rose), color-mix(in srgb, var(--cp-rose) 78%, #5f2730)) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--cp-rose) 30%, transparent) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cp-rose) 18%, transparent) !important;
}

.couple-panel-tools {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.couple-panel-tools button {
  min-height: 36px;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  font-size: 12px;
  white-space: nowrap;
}

.couple-panel-tools button.secondary {
  color: var(--cp-text) !important;
  background: color-mix(in srgb, var(--cp-pearl) 62%, transparent) !important;
}

.couple-panel-tools { justify-content: flex-start; }

#appScreen .haven-v4-app {
  --haven-accent: var(--moss-ui-accent);
  color: var(--moss-ui-text);
}

#appScreen .haven-v4-controls {
  gap: 8px;
  padding: 8px;
  border: 1px solid color-mix(in srgb, #fff 14%, transparent) !important;
  border-radius: 18px !important;
  background: rgba(18,20,22,.54) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.2) !important;
  backdrop-filter: blur(18px) saturate(1.06);
  -webkit-backdrop-filter: blur(18px) saturate(1.06);
}

#appScreen .haven-v4-control-btn,
#appScreen .haven-v4-back {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
  box-shadow: none !important;
}

#appScreen .haven-v4-title-pill,
#appScreen .haven-v4-name-tag {
  border-color: rgba(255,255,255,.16) !important;
  color: #fff !important;
  background: rgba(18,20,22,.55) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

#appScreen .haven-v4-hotspot {
  border-color: color-mix(in srgb, var(--haven-accent) 42%, rgba(255,255,255,.18)) !important;
  background: color-mix(in srgb, rgba(18,20,22,.62) 88%, var(--haven-accent) 12%) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}

#appScreen .haven-v4-modal-shell {
  background: rgba(0,0,0,.36) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#appScreen .haven-v4-modal-card,
#appScreen .haven-panel {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 22px 22px 0 0 !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: 0 -18px 48px rgba(0,0,0,.2) !important;
}

#appScreen .haven-v4-modal-head,
#appScreen .haven-panel-head {
  border-color: var(--moss-ui-line) !important;
}

#appScreen :where(.haven-memory-card, .haven-note-list article, .haven-timeline article,
  .haven-diary-list article, .haven-lifeline-api-callout) {
  border-color: var(--moss-ui-line) !important;
  border-radius: 15px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;
}

#appScreen .haven-small-btn,
#appScreen .haven-panel-actions button {
  min-height: 42px;
  border-radius: 12px !important;
}

#appScreen .haven-v4-filter-field input[type="date"] {
  min-width: 0 !important;
  color-scheme: light;
  cursor: pointer;
}

#appScreen .haven-v4-filter-field input[type="date"]::-webkit-calendar-picker-indicator {
  width: 24px;
  height: 24px;
  margin: 0;
  opacity: .72;
  cursor: pointer;
}

@keyframes coupleDot { 0%,
80%,
100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

@keyframes coupleRecordSpin { to { transform: rotate(360deg); } }

/*# source: assets/css/features/music.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.rpo-lyrics {flex: 1; width: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 6px 4px 14px; mask-image: linear-gradient(180deg, transparent, #000 12%, #000 86%, transparent); -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 86%, transparent);}

.rpo-lyrics .rpo-line {color: rgba(236,231,255,.4); font-size: 16px; line-height: 1.7; text-align: center; margin: 12px 6px; transition: color .25s ease, transform .25s ease, opacity .25s ease;}

.rpo-lyrics .rpo-line b {display: block; font-size: 12px; color: rgba(236,231,255,.45); font-weight: 600; margin-bottom: 2px;}

.rpo-lyrics .rpo-line-song {font-style: italic;}

.rpo-lyrics .rpo-line.now-playing {color: #fff; font-size: 16px; font-weight: 700; transform: scale(1.02);}

.rpo-lyrics .rpo-line.now-playing b {color: hsl(var(--h,260) 90% 82%);}

.moss-music-player-overlay {position: fixed;
  z-index: 10060;
  inset: 0;
  overflow: hidden;
  color: #fff;
  background: #202329;}

.moss-music-player-bg,
.moss-music-player-shade {position: absolute; inset: -28px;}

.moss-music-player-bg {background-position: center; background-size: cover; filter: blur(24px) saturate(.75); transform: scale(1.08);}

.moss-music-player-shade {background: rgba(15, 18, 23, .58); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);}

.moss-music-player {position: relative; z-index: 1; width: min(520px, 100%); height: 100%; margin: auto; display: grid; grid-template-rows: auto minmax(220px, 1fr) auto minmax(72px, auto) auto auto auto; align-items: center; gap: 10px; padding: calc(12px + var(--safe-top)) 24px calc(20px + var(--safe-bottom)); box-sizing: border-box;}

.moss-music-player > header {display: grid; grid-template-columns: 42px minmax(0, 1fr) 48px; align-items: center;}

.moss-music-player > header strong {text-align: center; font-size: 13px;}

.moss-music-player > header button {min-height: 36px; border: 0; color: #fff; background: transparent; font-size: 12px;}

.moss-music-player > header [data-moss-player-close] {font-size: 28px;}

.moss-player-vinyl {position: relative; width: min(72vw, 320px); aspect-ratio: 1; justify-self: center; border-radius: 50%; background: repeating-radial-gradient(circle, #101114 0 7px, #25272b 8px 10px, #111216 11px 17px); box-shadow: 0 24px 58px rgba(0,0,0,.42);}

.moss-player-vinyl::after {content: ""; position: absolute; inset: 6%; border-radius: 50%; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.13) 42%, transparent 55%); pointer-events: none;}

.moss-player-cover {position: absolute; inset: 23%; display: block; overflow: hidden; border: 4px solid #111; border-radius: 50%; background-position: center; background-size: cover;}

.moss-player-cover > i {position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.65); font-size: 34px; font-style: normal;}

.moss-player-vinyl > i {position: absolute; z-index: 3; inset: 47%; border-radius: 50%; background: #ececea;}

.moss-player-vinyl.is-playing {animation: mossFullVinylSpin 5.2s linear infinite;}

.moss-player-meta {min-width: 0; display: grid; justify-items: center; gap: 3px;}

.moss-player-meta strong {max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 20px;}

.moss-player-meta span {color: rgba(255,255,255,.68); font-size: 12px;}

.moss-player-lyrics {min-height: 72px; display: grid; align-content: center; gap: 6px; text-align: center;}

.moss-player-lyrics span {color: rgba(255,255,255,.48); font-size: 12px;}

.moss-player-lyrics span.current {color: #fff; font-size: 15px; font-weight: 800;}

.moss-player-progress {width: 100%; accent-color: #fff;}

.moss-player-time {color: rgba(255,255,255,.58); text-align: center; font-size: 10px;}

.moss-player-controls {display: flex; align-items: center; justify-content: center; gap: 34px;}

.moss-player-controls button {width: 48px; height: 48px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); font-size: 15px;}

.moss-player-controls button.main {width: 66px; height: 66px; color: #202329; background: #fff; font-size: 22px;}

.moss-player-controls button.moss-player-more-control {font-size: 11px; font-weight: 900; letter-spacing: 0;}

.moss-player-more-control span {display: block; transform: scale(.92); white-space: nowrap;}

@media (max-height: 700px) {
.moss-music-player {grid-template-rows: auto minmax(170px, 1fr) auto minmax(54px, auto) auto auto auto; gap: 6px;}
.moss-player-vinyl {width: min(54vh, 270px);}
.moss-player-lyrics {min-height: 54px;}
}

.moss-netease-qr-overlay {position: fixed;
  z-index: 10080;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(10, 12, 16, .48);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}

.moss-netease-qr {width: min(360px, 100%);
  overflow: hidden;
  border: 1px solid var(--skin-border);
  border-radius: 8px;
  color: var(--skin-text);
  background: var(--surface-strong);
  box-shadow: 0 26px 70px rgba(0,0,0,.32);}

.moss-netease-qr > header {min-height: 48px;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 60px;
  align-items: center;
  padding: 4px 8px;
  border-bottom: 1px solid var(--skin-border);}

.moss-netease-qr > header strong {grid-column: 2; text-align: center; font-size: 14px;}

.moss-netease-qr > header button {grid-column: 3; border: 0; color: var(--skin-accent); background: transparent; font-size: 11px;}

.moss-netease-qr-body {min-height: 244px; display: grid; place-items: center; gap: 8px; padding: 16px;}

.moss-netease-qr-body img {width: min(220px, 100%); aspect-ratio: 1; border-radius: 7px; background: #fff;}

.moss-netease-qr-body span {color: var(--skin-muted); font-size: 11px;}

.moss-netease-qr > p {margin: 0; padding: 0 18px 18px; color: var(--skin-muted); text-align: center; font-size: 10px; line-height: 1.5;}

.moss-music-player-overlay.qq-light {color: #1c1c1e; background: #ffffff;}

.moss-music-player-overlay.qq-light .moss-music-player-bg {filter: blur(40px) saturate(1.05) brightness(1.12); opacity: .42;}

.moss-music-player-overlay.qq-light .moss-music-player-shade {background: linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.92) 42%, #ffffff 100%);
  backdrop-filter: blur(26px) saturate(1.1);
  -webkit-backdrop-filter: blur(26px) saturate(1.1);}

.moss-music-player-overlay.qq-light .moss-music-player > header strong {color: #1c1c1e;}

.moss-music-player-overlay.qq-light .moss-music-player > header button {color: #4a4a4f;}

.moss-music-player-overlay.qq-light .moss-player-vinyl {width: min(74vw, 320px);
  border-radius: 18px;
  background: #f1f1f4;
  box-shadow: 0 22px 50px rgba(0, 0, 0, .18);
  animation: none !important;}

.moss-music-player-overlay.qq-light .moss-player-vinyl::after {display: none;}

.moss-music-player-overlay.qq-light .moss-player-vinyl > i {display: none;}

.moss-music-player-overlay.qq-light .moss-player-cover {inset: 0;
  border: 0;
  border-radius: 18px;
  background-color: #e9e9ee;}

.moss-music-player-overlay.qq-light .moss-player-cover > i {color: rgba(0, 0, 0, .3);}

.moss-music-player-overlay.qq-light .moss-player-meta strong {color: #1c1c1e;}

.moss-music-player-overlay.qq-light .moss-player-meta span {color: #8a8a8f;}

.moss-music-player-overlay.qq-light .moss-player-lyrics span {color: #b0b0b5;}

.moss-music-player-overlay.qq-light .moss-player-lyrics span.current {color: #1c1c1e;}

.moss-music-player-overlay.qq-light .moss-player-progress {accent-color: #31c27c;}

.moss-music-player-overlay.qq-light .moss-player-time {color: #a0a0a5;}

.moss-music-player-overlay.qq-light .moss-player-controls button {color: #2c2c2e;
  background: rgba(0, 0, 0, .05);}

.moss-music-player-overlay.qq-light .moss-player-controls button.main {color: #fff;
  background: #31c27c;
  box-shadow: 0 10px 24px rgba(49, 194, 124, .34);}

.moss-netease-qr-fallback {display: block;
  min-height: 38px;
  margin: 0 auto 18px;
  padding: 0 16px;
  border: 1px solid var(--skin-border);
  border-radius: 7px;
  color: var(--skin-accent);
  background: var(--skin-button);
  font-size: 11px;
  font-weight: 800;}

.moss-netease-cookie-body {display: grid; gap: 12px; padding: 16px 18px 20px;}

.moss-netease-cookie-body label {display: grid; gap: 7px; color: var(--skin-muted); font-size: 10px; font-weight: 700;}

.moss-netease-cookie-body textarea {width: 100%;
  min-height: 112px;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid var(--skin-border);
  border-radius: 7px;
  padding: 10px;
  color: var(--skin-text);
  background: var(--surface-soft);
  font: 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;}

.moss-netease-cookie-body p {margin: 0; color: var(--skin-muted); font-size: 9px; line-height: 1.55;}

.moss-netease-cookie-body > button {min-height: 40px; border: 0; border-radius: 7px; color: #fff; background: var(--skin-accent); font-size: 12px; font-weight: 800;}

.moss-netease-cookie-body > small {min-height: 16px; color: #c34c4c; text-align: center; font-size: 9px;}

.moss-music-player-overlay.aqua-vinyl {color: #1c2529; background: #dff9fa;}

.moss-music-player-overlay.aqua-vinyl .moss-music-player-bg {opacity: .18; filter: blur(54px) saturate(1.3);}

.moss-music-player-overlay.aqua-vinyl .moss-music-player-shade {background: linear-gradient(180deg, rgba(157,239,242,.72), rgba(242,251,250,.96) 66%, #f8fbfa); backdrop-filter: blur(34px); -webkit-backdrop-filter: blur(34px);}

.moss-music-player-overlay.aqua-vinyl .moss-music-player {grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  gap: 7px;
  padding: calc(8px + var(--safe-top)) 24px calc(14px + var(--safe-bottom));
  overflow: hidden;}

.moss-music-player-overlay.aqua-vinyl .moss-music-player > header {grid-template-columns: 46px minmax(0, 1fr) 46px;}

.moss-music-player-overlay.aqua-vinyl .moss-music-player > header button {color: #3d5054; font-size: 24px;}

.moss-player-page-tabs {display: flex; justify-content: center; gap: 4px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-page-tabs button {min-height: 28px; padding: 0 10px; border-radius: 999px; color: #718487; font-size: 10px; font-weight: 700;}

.moss-music-player-overlay.aqua-vinyl .moss-player-page-tabs button.active {color: #182326; background: rgba(255,255,255,.54);}

.moss-player-pages {width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;}

.moss-player-pages::-webkit-scrollbar {display: none;}

.moss-player-page {min-width: 100%; height: 100%; min-height: 0; scroll-snap-align: start; scroll-snap-stop: always;}

.moss-player-cover-page {display: grid; grid-template-rows: minmax(0, 1fr) auto 34px; align-items: center; gap: 7px; padding: 3px 3px 0;}

.moss-player-deck {position: relative;
  width: min(76vw, 340px, 43vh);
  aspect-ratio: 1;
  justify-self: center;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 22px;
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 0 40px rgba(255,255,255,.32);}

.moss-music-player-overlay.aqua-vinyl .moss-player-vinyl {width: 77%;
  border: 0;
  background: repeating-radial-gradient(circle, rgba(79,196,202,.48) 0 2px, rgba(126,226,231,.56) 3px 8px, rgba(94,203,210,.44) 9px 12px);
  box-shadow: 0 16px 34px rgba(53,147,153,.2), inset 0 0 20px rgba(255,255,255,.45);}

.moss-music-player-overlay.aqua-vinyl .moss-player-vinyl::after {background: linear-gradient(118deg, transparent 27%, rgba(255,255,255,.35) 43%, transparent 58%);}

.moss-music-player-overlay.aqua-vinyl .moss-player-cover {inset: 23%; border: 3px solid rgba(43,128,134,.28);}

.moss-music-player-overlay.aqua-vinyl .moss-player-vinyl > i {background: rgba(246,250,248,.94);}

.moss-player-tonearm {position: absolute; z-index: 5; top: -9%; right: 7%; width: 30%; height: 78%; pointer-events: none; transform: rotate(-4deg); transform-origin: 74% 11%; transition: transform .35s;}

.moss-player-vinyl.is-playing + .moss-player-tonearm {transform: rotate(10deg);}

.moss-player-tonearm::before {content: ""; position: absolute; top: 5%; right: 6%; width: 39px; height: 39px; border-radius: 50%; background: #f7f6f1; box-shadow: 0 4px 11px rgba(53,80,82,.18);}

.moss-player-tonearm::after {content: ""; position: absolute; top: 15%; right: 22%; width: 7px; height: 68%; border-radius: 6px; background: linear-gradient(90deg, #809496, #f5f2eb 45%, #788b8d); transform: rotate(17deg); transform-origin: top; box-shadow: 0 2px 5px rgba(0,0,0,.14);}

.moss-player-tonearm i {position: absolute; z-index: 2; right: 10%; bottom: 6%; width: 34px; height: 18px; border-radius: 9px 9px 5px 5px; background: #f6f3ec; transform: rotate(17deg);}

.moss-music-player-overlay.aqua-vinyl .moss-player-meta {justify-items: start;}

.moss-music-player-overlay.aqua-vinyl .moss-player-meta strong {color: #182326; font-size: 22px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-meta span {color: #63777b; font-size: 12px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-lyrics {min-height: 34px; display: block; overflow: hidden; text-align: left;}

.moss-music-player-overlay.aqua-vinyl .moss-player-lyrics span {display: none; color: #8a9b9d; font-size: 12px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-lyrics span.current {display: block; color: #718487; font-size: 13px; font-weight: 500;}

.moss-player-lyric-page {display: grid; grid-template-rows: auto minmax(0,1fr); gap: 18px; padding: 22px 10px 4px;}

.moss-player-lyric-page > header {display: grid; gap: 5px; padding: 0 10px;}

.moss-player-lyric-page > header small {color: #6a8b8e; font-size: 8px; font-weight: 900; letter-spacing: .16em;}

.moss-player-lyric-page > header strong {overflow: hidden; color: #182326; font-size: 21px; text-overflow: ellipsis; white-space: nowrap;}

.moss-player-lyric-page > header span {color: #687b7f; font-size: 11px;}

.moss-player-full-lyrics {min-height: 0; overflow-y: auto; padding: 34% 10px 44%; scroll-behavior: auto; -webkit-overflow-scrolling: touch; mask-image: linear-gradient(transparent, #000 12%, #000 84%, transparent); -webkit-mask-image: linear-gradient(transparent, #000 12%, #000 84%, transparent);}

.moss-player-full-lyrics button {width: 100%; display: block; padding: 12px 0; border: 0; color: rgba(49,69,72,.34); background: transparent; font-size: 16px; line-height: 1.55; text-align: left; transition: color .24s, font-size .24s, transform .24s;}

.moss-player-full-lyrics button.current {color: #182326; font-size: 20px; font-weight: 760; transform: translateX(3px);}

.moss-player-no-lyrics {margin: 0; color: #78898b; font-size: 12px; line-height: 1.7;}

.moss-player-action-row {display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; max-width: 240px; width: 100%; justify-self: center;}

.moss-player-action-row button {display: grid; justify-items: center; gap: 2px; border: 0; color: #4f6265; background: transparent; font-size: 24px;}

.moss-player-action-row small {font-size: 8px; font-weight: 500;}

.moss-player-progress-wrap {display: grid; gap: 2px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-progress {height: 18px; margin: 0; accent-color: #1e292c;}

.moss-music-player-overlay.aqua-vinyl .moss-player-time {display: flex; justify-content: space-between; color: #718184; font-size: 9px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-controls {justify-content: space-between; gap: 8px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-controls button {width: 46px; height: 46px; color: #152023; background: transparent; font-size: 19px;}

.moss-music-player-overlay.aqua-vinyl .moss-player-controls button.main {width: 68px; height: 68px; border: 2px solid #152023; color: #152023; background: rgba(255,255,255,.42); box-shadow: none; font-size: 24px;}

@media (max-height: 720px) {
.moss-music-player-overlay.aqua-vinyl .moss-music-player {grid-template-rows: auto minmax(0, 1fr) auto auto auto; gap: 4px;}
.moss-music-player-overlay.aqua-vinyl .moss-player-deck {width: min(62vw, 258px, 39vh);}
.moss-player-action-row button {font-size: 19px;}
.moss-music-player-overlay.aqua-vinyl .moss-player-controls button.main {width: 58px; height: 58px;}
}

.moss-player-queue-overlay {position: absolute;
  z-index: 8;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 10px;
  background: rgba(22, 31, 34, .28);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);}

.moss-player-queue-sheet {width: min(520px, 100%);
  max-height: min(68vh, 620px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(54, 79, 80, .12);
  border-radius: 8px 8px 0 0;
  color: #1f2a2c;
  background: rgba(248, 252, 251, .97);
  box-shadow: 0 -18px 52px rgba(33, 63, 65, .2);
  padding-bottom: env(safe-area-inset-bottom, 0px);}

.moss-player-queue-sheet > header {min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(54, 79, 80, .1);}

.moss-player-queue-sheet > header > div {min-width: 0; display: grid; gap: 2px;}

.moss-player-queue-sheet > header strong {font-size: 16px;}

.moss-player-queue-sheet > header small {color: #718184; font-size: 10px;}

.moss-player-queue-sheet > header button {min-height: 34px; padding: 0 10px; border: 0; color: #3f7778; background: transparent; font-weight: 800;}

.moss-player-queue-list {min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;}

.moss-player-queue-track {width: 100%;
  min-height: 60px;
  display: grid;
  grid-template-columns: 24px 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 7px 14px 7px 8px;
  border: 0;
  border-bottom: 1px solid rgba(54, 79, 80, .08);
  color: #253335;
  background: transparent;
  text-align: left;}

.moss-player-queue-track.active {color: #238c87; background: rgba(77, 190, 185, .1);}

.moss-player-queue-index {color: #778688; text-align: center; font-size: 11px;}

.moss-player-queue-track.active .moss-player-queue-index {color: #238c87; font-weight: 900;}

.moss-player-queue-cover {position: relative; width: 42px; height: 42px; display: block; overflow: hidden; border-radius: 6px; background: #d9efed center/cover;}

.moss-player-queue-cover > i {position: absolute; inset: 0; display: grid; place-items: center; color: #4b7777; font-style: normal;}

.moss-player-queue-copy {min-width: 0; display: grid; gap: 3px;}

.moss-player-queue-copy :is(strong, small) {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

.moss-player-queue-copy strong {font-size: 13px;}

.moss-player-queue-copy small {color: #758386; font-size: 9px;}

.moss-player-queue-track > i {color: #238c87; font-size: 9px; font-style: normal; white-space: nowrap;}

.moss-player-queue-empty {margin: 0; padding: 26px 18px; color: #718184; font-size: 12px; line-height: 1.6; text-align: center;}

.moss-music-more-overlay {position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  align-items: end;
  padding: 12px;
  background: rgba(8,10,14,.36);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);}

.moss-music-more-sheet {display: grid;
  gap: 10px;
  width: min(520px, 100%);
  max-height: min(82vh, 620px);
  overflow: auto;
  margin: 0 auto;
  padding: 14px 14px calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,248,.92));
  color: #1f2d3a;
  box-shadow: 0 24px 64px rgba(0,0,0,.24);}

.moss-music-more-sheet header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;}

.moss-music-more-sheet header div {min-width: 0;}

.moss-music-more-sheet header strong {display: block;
  overflow: hidden;
  color: #172331;
  text-overflow: ellipsis;
  white-space: nowrap;}

.moss-music-more-sheet header small {color: #647484;}

.moss-music-more-sheet header button {width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(31,45,60,.08);
  color: #24384a;
  font-weight: 900;}

.moss-music-more-sheet > button,
.moss-music-more-list button {width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(36,52,68,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  color: #203040;
  padding: 11px 12px;
  text-align: left;
  font-weight: 900;}

.moss-music-more-sheet > button {grid-template-columns: minmax(0, 1fr);}

.moss-music-more-sheet > button span,
.moss-music-more-sheet > button small,
.moss-music-more-list button span,
.moss-music-more-list button small {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.moss-music-more-sheet > button small,
.moss-music-more-list button small {font-weight: 700;}

.moss-music-more-list {display: grid;
  gap: 8px;}

.moss-music-more-list p {margin: 0;
  color: #647484;
  text-align: center;}

.rp-v3-lyrics-wrap {min-height: 0; position: relative; border-radius: 22px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); overflow: hidden; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); contain: layout paint;}

.rp-v3-lyrics-wrap::before,
.rp-v3-lyrics-wrap::after {content: ""; position: absolute; left: 0; right: 0; height: 54px; z-index: 2; pointer-events: none;}

.rp-v3-lyrics-wrap::before {top: 0; background: linear-gradient(180deg, rgba(21,23,26,.95), transparent);}

.rp-v3-lyrics-wrap::after {bottom: 0; background: linear-gradient(0deg, rgba(21,23,26,.95), transparent);}

.rp-v3-lyrics.rpo-lyrics {height: 100%; width: 100%; overflow-y: auto; scroll-behavior: smooth; overflow-anchor: none; padding: 44px 16px; -webkit-overflow-scrolling: touch; mask-image: none; -webkit-mask-image: none;}

.rp-v3-lyrics::-webkit-scrollbar {display: none;}

.rp-v3-lyrics .rpo-line {min-height:1.68em; margin: 16px 0; color: rgba(255,255,255,.34); line-height: 1.68; font-size: 15.5px; font-weight: 650; letter-spacing: -.01em; transform: scale(.965); transform-origin: left center; opacity: .55; filter: blur(.55px); transition: transform .38s cubic-bezier(.2,.82,.2,1), color .38s, opacity .38s, filter .38s; text-align: left;}

.rp-v3-lyrics .rpo-line b {display: block; font-size: 11px; margin-bottom: 4px; opacity: .72; color: rgba(255,255,255,.55); letter-spacing: .08em; text-transform: uppercase;}

.rp-v3-lyrics .rpo-line-original,
.rp-v3-lyrics .rpo-line-translation {margin: 0; color: inherit;}

.rp-v3-lyrics .rpo-line-translation {margin-top: 5px;
  color: rgba(255,255,255,.48);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0;}

.rp-v3-lyrics .rpo-line.now-playing {opacity: 1; transform: scale(1); color: #fff; font-size: 15.5px; font-weight: 850; filter: blur(0); text-shadow: 0 6px 22px rgba(255,255,255,.14);}

.rp-v3-lyrics .rpo-line.now-playing b {color: rgba(220,229,240,.78);}

.rp-v3-lyrics .rpo-line.now-playing .rpo-line-translation {color: rgba(255,255,255,.7); font-weight: 650; text-shadow: none;}

.rp-v3-lyrics .rpo-song-meta {display: block; margin-top: 6px; color: rgba(255,220,145,.58); font-size: 12px; font-style: normal; font-weight: 750;}

.rp-v3-lyrics .rpo-line.now-playing .rpo-song-meta {color: rgba(255,226,166,.88);}

@media (max-height: 790px) {
.rp-v3-lyrics .rpo-line.now-playing {font-size: 15.5px;}
}

.live-comment-form .live-queue-send {height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border: 0;
  border-radius: 11px;
  color: #171a1c;
  background: linear-gradient(180deg, #fff, #eeeef0);
  box-shadow: 0 5px 14px rgba(0,0,0,.16), inset 0 1px 0 #fff;
  font-size: 9.5px;
  font-weight: 820;
  transition: transform .16s cubic-bezier(.2,.8,.2,1), opacity .16s ease;}

.live-queue-send .moss-ui-icon {width: 13px; height: 13px;}

.live-queue-send:not(:disabled):active {transform: scale(.96);}

@media (max-width: 390px) {
.live-comment-form .live-queue-send {padding-inline: 8px;}
.live-queue-send > span {display: none;}
}

/* Existing canonical module rules follow. */
/*
 * music feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.music-gradient { background: linear-gradient(145deg, #ff365e, #b030ff); }

body.theme-apple .icon-face:not(.custom-icon),
body.theme-apple .chat-gradient,
body.theme-apple .people-gradient,
body.theme-apple .settings-gradient,
body.theme-apple .notes-gradient,
body.theme-apple .gallery-gradient,
body.theme-apple .music-gradient,
body.theme-apple .map-gradient,
body.theme-apple .weather-gradient,
body.theme-apple .world-gradient,
body.theme-apple .beauty-gradient,
body.theme-apple .moments-gradient,
body.theme-apple .preset-gradient,
body.theme-apple .diary-gradient,
body.theme-apple .period-gradient,
body.theme-apple .date-gradient,
body.theme-apple .theater-gradient {
  color: #4c5663 !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(235, 240, 247, 0.66)),
    rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(112, 122, 136, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.88), 0 9px 22px rgba(74, 87, 110, 0.10) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
}

html[data-ui-mode="dark"] body.theme-apple .icon-face:not(.custom-icon),
html[data-ui-mode="dark"] body.theme-apple .chat-gradient,
html[data-ui-mode="dark"] body.theme-apple .people-gradient,
html[data-ui-mode="dark"] body.theme-apple .settings-gradient,
html[data-ui-mode="dark"] body.theme-apple .notes-gradient,
html[data-ui-mode="dark"] body.theme-apple .gallery-gradient,
html[data-ui-mode="dark"] body.theme-apple .music-gradient,
html[data-ui-mode="dark"] body.theme-apple .map-gradient,
html[data-ui-mode="dark"] body.theme-apple .weather-gradient,
html[data-ui-mode="dark"] body.theme-apple .world-gradient,
html[data-ui-mode="dark"] body.theme-apple .beauty-gradient,
html[data-ui-mode="dark"] body.theme-apple .moments-gradient,
html[data-ui-mode="dark"] body.theme-apple .preset-gradient,
html[data-ui-mode="dark"] body.theme-apple .diary-gradient,
html[data-ui-mode="dark"] body.theme-apple .period-gradient,
html[data-ui-mode="dark"] body.theme-apple .date-gradient,
html[data-ui-mode="dark"] body.theme-apple .theater-gradient {
  color: #dfe4ec !important;
  background:
    linear-gradient(145deg, rgba(54, 57, 66, 0.92), rgba(32, 34, 41, 0.72)),
    rgba(38, 40, 48, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.095) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.09), 0 9px 22px rgba(0, 0, 0, 0.22) !important;
}

.music-gradient { background: linear-gradient(150deg, #c81d2e, #e7433f 52%, #ff8a7a); color: #fff5f3; }

.music-app { padding: 14px 14px 40px; display: flex; flex-direction: column; gap: 14px; }

.music-hero { background: linear-gradient(150deg, #c81d2e, #e7433f); color: #fff; border-radius: 18px; padding: 16px 18px; }

.music-hero strong { font-size: 20px; display: block; }

.music-hero p { margin: 6px 0 0; font-size: 12px; opacity: .92; line-height: 1.5; }

.music-add { display: flex; gap: 8px; }

.music-add input { flex: 1; min-width: 0; border: 1px solid rgba(0,0,0,.12); border-radius: 12px; padding: 11px 13px; font-size: 14px; background: #fff; }

.music-add button { border: none; border-radius: 12px; padding: 0 18px; font-size: 14px; font-weight: 600; color: #fff; background: #e7433f; }

.music-hint { margin: 0; font-size: 11px; color: #8a8f99; line-height: 1.5; }

.music-list { display: flex; flex-direction: column; gap: 12px; }

.music-empty { text-align: center; color: #9aa0aa; padding: 36px 16px; }

.music-empty strong { display: block; margin-bottom: 6px; color: #5a606b; }

.music-card { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 12px; background: #fff; box-shadow: 0 6px 18px rgba(20,20,40,.05); }

.music-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }

.music-meta strong { display: block; font-size: 15px; color: #20242c; }

.music-meta small { color: #8a8f99; font-size: 12px; }

.music-card-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

.music-card-actions a, .music-card-actions button { font-size: 12px; border-radius: 9px; padding: 5px 9px; border: 1px solid rgba(0,0,0,.12); background: #f6f7f9; color: #4a505b; text-decoration: none; }

.music-open { color: #e7433f !important; border-color: rgba(231,67,63,.35) !important; }

.music-iframe { width: 100%; border: none; border-radius: 10px; display: block; background: #f3f4f6; }

.music-import-btn { display: block; text-align: center; border: 1px dashed rgba(231,67,63,.5); color: #e7433f; background: rgba(231,67,63,.06); border-radius: 12px; padding: 12px; font-size: 14px; font-weight: 600; margin-bottom: 4px; }

.music-status { font-size: 12px; color: #8a8f99; min-height: 14px; text-align: center; }

.music-group { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }

.music-group-title { font-size: 13px; color: #6a7080; font-weight: 700; margin: 8px 2px 0; letter-spacing: .02em; }

.music-local-card { border-color: rgba(109,79,158,.25); }

.music-local-audio { width: 100%; margin-top: 4px; }

.music-empty.small { padding: 18px 14px; color: #9aa0aa; font-size: 13px; }

.music-empty.small p { margin: 0; }

#appScreen .music-hero {
  background: linear-gradient(150deg, #5f93c8, #8fb4dd) !important;
  color: #ffffff !important;
}

#appScreen .music-hero * { color: #ffffff !important; }

#appScreen .music-add button {
  background: var(--ed-accent) !important;
  color: #ffffff !important;
}

#appScreen .music-open {
  color: var(--ed-accent) !important;
  border-color: color-mix(in srgb, var(--ed-accent) 35%, transparent) !important;
}

.custom-home :is(.home-music-mini, .home-music-vinyl, .home-music-lyrics-card) {
  position: relative;
  overflow: hidden;
  color: var(--skin-text);
}

.custom-home :is(.home-music-mini-cover, .home-music-lyrics-cover) {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #fff 26%, transparent);
  padding: 0;
  background: color-mix(in srgb, var(--surface-strong) 16%, transparent);
}

.custom-home :is(.home-music-mini-cover, .home-music-lyrics-cover) > span,
.custom-home .home-music-vinyl-disc > span {
  position: absolute;
  inset: 0;
  display: block;
  background-position: center;
  background-size: cover;
}

.custom-home :is(.home-music-mini-cover, .home-music-lyrics-cover, .home-music-vinyl-disc) > i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--skin-muted);
  font-size: 28px;
  font-style: normal;
}

.custom-home .home-music-mini {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto 5px 36px;
  gap: 7px;
  padding: 10px;
}

.custom-home .home-music-mini-cover {
  width: min(104px, 100%);
  height: min(104px, 100%);
  justify-self: center;
  align-self: center;
  border-radius: 50%;
}

.custom-home :is(.home-music-meta, .home-vinyl-copy, .home-music-lyrics-title) {
  min-width: 0;
  display: block;
  overflow: hidden;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: center;
}

.custom-home :is(.home-music-meta, .home-vinyl-copy, .home-music-lyrics-title) strong,
.custom-home :is(.home-music-meta, .home-vinyl-copy, .home-music-lyrics-title) small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-home :is(.home-music-meta, .home-vinyl-copy, .home-music-lyrics-title) strong { font-size: 13px; }

.custom-home :is(.home-music-meta, .home-vinyl-copy, .home-music-lyrics-title) small { margin-top: 2px; color: var(--skin-muted); font-size: 9px; }

.custom-home .home-music-progress {
  position: relative;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-muted) 22%, transparent);
}

.custom-home .home-music-progress > i {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--music-progress, 0%);
  border-radius: inherit;
  background: var(--skin-accent);
  transition: width .2s linear;
}

.custom-home .home-music-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.custom-home .home-music-controls button {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  border-radius: 50%;
  padding: 0;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 20%, transparent);
  font-size: 10px;
}

.custom-home .home-music-controls .home-music-main-control {
  width: 34px;
  height: 34px;
  color: var(--surface-strong);
  background: var(--skin-text);
  font-size: 13px;
}

.custom-home .home-music-vinyl {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px 12px;
  padding: 10px 12px;
}

.custom-home .home-music-vinyl-disc {
  position: relative;
  width: min(152px, 100%);
  aspect-ratio: 1;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: repeating-radial-gradient(circle, #111 0 5px, #252525 6px 7px, #111 8px 12px);
  box-shadow: 0 10px 24px color-mix(in srgb, #000 28%, transparent);
  transform: rotate(0deg);
}

.custom-home .home-music-vinyl-disc > span {
  inset: 27%;
  z-index: 1;
  border: 3px solid #171717;
  border-radius: 50%;
}

.custom-home .home-music-vinyl-disc > i {
  z-index: 2;
  inset: 45%;
  border-radius: 50%;
  color: transparent;
  background: #e9e9e7;
}

.custom-home .home-music-vinyl-disc.is-playing {
  animation: mossMusicVinylSpin 4.8s linear infinite;
}

.custom-home .home-music-lyrics {
  min-height: 0;
  display: grid;
  align-content: center;
  gap: 4px;
  overflow: hidden;
  color: var(--skin-muted);
  text-align: center;
}

.custom-home .home-music-lyrics > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  opacity: .68;
}

.custom-home .home-music-lyrics > span.current {
  color: var(--skin-text);
  font-size: 11px;
  font-weight: 800;
  opacity: 1;
}

.custom-home .home-music-vinyl > .home-music-controls {
  align-self: end;
}

.custom-home .home-music-lyrics-card {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 10px;
  padding: 9px;
}

.custom-home .home-music-lyrics-cover {
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

.custom-home .home-music-lyrics-main {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) 4px 32px;
  gap: 5px;
}

.custom-home .home-music-lyrics-title { text-align: left; }

.custom-home .home-music-lyrics-card .home-music-lyrics { text-align: left; }

.custom-home .home-music-lyrics-card .home-music-controls { justify-content: space-between; }

.home-screen.home-editing :is(.home-music-controls, .home-music-progress) {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-home .home-music-vinyl-disc.is-playing { animation-duration: 12s; } }

@media (max-width: 370px) {
  .custom-home .home-music-vinyl { gap: 5px 8px; padding: 8px; } }

@media (max-width: 370px) {
  .custom-home .home-music-vinyl-disc { width: min(132px, 100%); } }

@media (max-width: 370px) {
  .custom-home .home-music-lyrics-card { gap: 7px; padding: 7px; } }

.music-shared-player {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--tone-line, var(--skin-border));
  border-radius: 8px;
  color: var(--tone-text, var(--skin-text));
  background: color-mix(in srgb, var(--tone-surface-strong, var(--surface-strong)) 72%, transparent);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.music-shared-player > div:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.music-shared-player :is(strong, small, span) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.music-shared-player small,
.music-shared-player span { color: var(--tone-muted, var(--skin-muted)); font-size: 10px; }

.music-shared-player strong { font-size: 14px; }

.music-shared-player > div:last-child { flex: 0 0 auto; display: flex; gap: 6px; }

.music-shared-player button {
  width: 30px;
  height: 30px;
  border: 1px solid var(--tone-line, var(--skin-border));
  border-radius: 50%;
  padding: 0;
  color: var(--tone-text, var(--skin-text));
  background: var(--tone-soft, var(--skin-button));
}

#appScreen .music-cloud-app {
  position: relative;
  min-height: 100%;
  display: block;
  padding: 0 12px calc(102px + var(--safe-bottom));
  color: var(--tone-text, var(--ed-text));
  background: var(--tone-bg, var(--ed-bg));
}

#appScreen .music-cloud-hero {
  min-height: 190px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  margin: 0 -12px;
  padding: 22px 16px 18px;
  color: var(--tone-text, var(--ed-text));
  background: color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 14%, var(--tone-surface, var(--ed-surface)));
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
}

#appScreen .music-cloud-avatar {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border: 2px solid color-mix(in srgb, #fff 54%, transparent);
  border-radius: 50%;
  color: var(--tone-accent, var(--ed-accent));
  background: color-mix(in srgb, var(--tone-surface-strong, var(--ed-surface-strong)) 72%, transparent);
  box-shadow: 0 10px 26px color-mix(in srgb, #000 12%, transparent);
  font-size: 25px;
}

#appScreen .music-cloud-hero > strong { margin-top: 4px; font-size: 20px; }

#appScreen .music-cloud-hero > small { color: var(--tone-muted, var(--ed-muted)); font-size: 11px; }

#appScreen .music-cloud-hero > div { display: grid; grid-template-columns: auto auto auto auto; align-items: baseline; gap: 5px 7px; margin-top: 6px; }

#appScreen .music-cloud-hero > div b { font-size: 14px; }

#appScreen .music-cloud-hero > div span { color: var(--tone-muted, var(--ed-muted)); font-size: 10px; }

#appScreen .music-cloud-tabs {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 -12px 12px;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
  background: color-mix(in srgb, var(--tone-surface-strong, var(--ed-surface-strong)) 90%, transparent);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

#appScreen .music-cloud-tabs button {
  position: relative;
  min-height: 46px;
  border: 0;
  color: var(--tone-muted, var(--ed-muted));
  background: transparent;
  font-size: 13px;
  font-weight: 800;
}

#appScreen .music-cloud-tabs button.active { color: var(--tone-text, var(--ed-text)); }

#appScreen .music-cloud-tabs button.active::after {
  content: "";
  position: absolute;
  right: 34%;
  bottom: 0;
  left: 34%;
  height: 3px;
  border-radius: 999px;
  background: var(--tone-accent, var(--ed-accent));
}

#appScreen .music-cloud-section {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--tone-line, var(--ed-line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--tone-surface, var(--ed-surface)) 86%, transparent);
}

#appScreen .music-cloud-section > header {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
}

#appScreen .music-cloud-section > header > div { min-width: 0; display: grid; gap: 2px; }

#appScreen .music-cloud-section > header strong { font-size: 14px; }

#appScreen .music-cloud-section > header small { color: var(--tone-muted, var(--ed-muted)); font-size: 9px; }

#appScreen .music-cloud-section > header label {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 28%, transparent);
  border-radius: 7px;
  color: var(--tone-accent, var(--ed-accent));
  background: var(--tone-soft, var(--ed-accent-soft));
  font-size: 11px;
  font-weight: 800;
}

#appScreen .music-song-list { display: grid; }

#appScreen .music-song-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
}

#appScreen .music-song-row:last-child { border-bottom: 0; }

#appScreen .music-song-row.active { background: var(--tone-soft, var(--ed-accent-soft)); }

#appScreen .music-song-cover-button {
  position: relative;
  width: 46px;
  height: 46px;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  padding: 0;
  background: color-mix(in srgb, var(--tone-muted, var(--ed-muted)) 12%, transparent);
}

#appScreen .music-song-cover {
  position: absolute;
  inset: 0;
  display: block;
  background-position: center;
  background-size: cover;
}

#appScreen .music-song-cover > i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--tone-muted, var(--ed-muted));
  font-style: normal;
}

#appScreen .music-song-cover-button > i {
  position: absolute;
  right: 3px;
  bottom: 2px;
  color: #fff;
  font-size: 8px;
  font-style: normal;
  text-shadow: 0 1px 4px #000;
}

#appScreen .music-song-main {
  min-width: 0;
  display: grid;
  gap: 3px;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

#appScreen .music-song-main :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-song-main strong { font-size: 13px; }

#appScreen .music-song-main small { color: var(--tone-muted, var(--ed-muted)); font-size: 10px; }

#appScreen .music-song-actions { display: flex; flex-direction: column; gap: 2px; }

#appScreen .music-song-actions button {
  border: 0;
  padding: 2px 5px;
  color: var(--tone-muted, var(--ed-muted));
  background: transparent;
  font-size: 8px;
}

#appScreen .music-list-empty { padding: 22px 14px; text-align: center; }

#appScreen .music-list-empty strong { font-size: 13px; }

#appScreen .music-list-empty p { margin: 5px 0 0; color: var(--tone-muted, var(--ed-muted)); font-size: 10px; }

#appScreen .music-cloud-list { display: grid; }

#appScreen .music-cloud-item { border-bottom: 1px solid var(--tone-line, var(--ed-line)); }

#appScreen .music-cloud-item:last-child { border-bottom: 0; }

#appScreen .music-cloud-item > summary {
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  list-style: none;
}

#appScreen .music-cloud-item > summary::-webkit-details-marker { display: none; }

#appScreen .music-cloud-cover { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 7px; color: var(--tone-accent, var(--ed-accent)); background: var(--tone-soft, var(--ed-accent-soft)); font-weight: 900; }

#appScreen .music-cloud-item > summary > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }

#appScreen .music-cloud-item > summary :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-cloud-item > summary strong { font-size: 13px; }

#appScreen .music-cloud-item > summary small { color: var(--tone-muted, var(--ed-muted)); font-size: 9px; }

#appScreen .music-cloud-item > summary > i { color: var(--tone-muted, var(--ed-muted)); font-style: normal; transition: transform .2s; }

#appScreen .music-cloud-item[open] > summary > i { transform: rotate(180deg); }

#appScreen .music-cloud-actions { display: flex; gap: 7px; padding: 4px 10px 9px 65px; }

#appScreen .music-cloud-actions :is(a, button) { border: 0; padding: 4px 7px; color: var(--tone-accent, var(--ed-accent)); background: transparent; font-size: 9px; text-decoration: none; }

#appScreen .music-cloud-item .music-iframe { width: calc(100% - 20px); margin: 0 10px 10px; border-radius: 7px; background: #fff; }

#appScreen .music-cloud-track-names { display: grid; gap: 0; margin: 0 10px 10px; padding: 0; overflow: hidden; border: 1px solid var(--tone-line, var(--ed-line)); border-radius: 7px; list-style: none; }

#appScreen .music-cloud-track-names li { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 7px; padding: 7px 9px; border-bottom: 1px solid var(--tone-line, var(--ed-line)); }

#appScreen .music-cloud-track-names li:last-child { border-bottom: 0; }

#appScreen .music-cloud-track-names li > b { color: var(--tone-muted, var(--ed-muted)); text-align: center; font-size: 9px; }

#appScreen .music-cloud-track-names li > span { min-width: 0; display: grid; gap: 2px; }

#appScreen .music-cloud-track-names li :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-cloud-track-names li strong { font-size: 11px; }

#appScreen .music-cloud-track-names li small { color: var(--tone-muted, var(--ed-muted)); font-size: 9px; }

#appScreen .music-cloud-manage { margin-top: 12px; border: 1px solid var(--tone-line, var(--ed-line)); border-radius: 8px; background: var(--tone-surface, var(--ed-surface)); }

#appScreen .music-cloud-manage > summary { padding: 12px; color: var(--tone-accent, var(--ed-accent)); font-size: 12px; font-weight: 800; }

#appScreen .music-cloud-manage .music-add { padding: 0 10px 8px; }

#appScreen .music-cloud-manage > p { margin: 0; padding: 0 11px 11px; color: var(--tone-muted, var(--ed-muted)); font-size: 9px; line-height: 1.5; }

#appScreen .music-cloud-spacer { height: 12px; }

#appScreen .music-app-mini-player {
  position: fixed;
  z-index: 90;
  right: 14px;
  bottom: calc(10px + var(--safe-bottom));
  left: 14px;
  min-height: 58px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 38px 38px;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, #fff 32%, var(--tone-line, var(--ed-line)));
  border-radius: 8px;
  color: var(--tone-text, var(--ed-text));
  background: color-mix(in srgb, var(--tone-surface-strong, var(--ed-surface-strong)) 82%, transparent);
  box-shadow: 0 14px 38px color-mix(in srgb, #000 18%, transparent);
  backdrop-filter: blur(26px) saturate(1.25);
  -webkit-backdrop-filter: blur(26px) saturate(1.25);
}

#appScreen .music-app-mini-player button { border: 0; padding: 0; color: inherit; background: transparent; }

#appScreen .music-app-mini-cover { position: relative; width: 44px; height: 44px; overflow: hidden; border-radius: 50% !important; }

#appScreen .music-app-mini-art { position: absolute; inset: 0; display: block; background-position: center; background-size: cover; background-color: var(--tone-soft, var(--ed-accent-soft)); }

#appScreen .music-app-mini-art > i { position: absolute; inset: 0; display: grid; place-items: center; color: var(--tone-accent, var(--ed-accent)); font-style: normal; }

#appScreen .music-app-mini-copy { min-width: 0; display: grid; gap: 2px; text-align: left; }

#appScreen .music-app-mini-copy :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-app-mini-copy strong { font-size: 12px; }

#appScreen .music-app-mini-copy small { color: var(--tone-muted, var(--ed-muted)); font-size: 9px; }

#appScreen .music-app-mini-player > button:nth-last-child(-n+2) { width: 36px; height: 36px; border: 1px solid var(--tone-line, var(--ed-line)); border-radius: 50%; font-size: 13px; }

#appScreen .music-cloud-avatar.has-image {
  background-position: center;
  background-size: cover;
}

#appScreen .music-netease-login {
  margin-top: 8px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 28%, transparent);
  border-radius: 7px;
  color: var(--tone-accent, var(--ed-accent));
  background: var(--tone-soft, var(--ed-accent-soft));
  font-size: 10px;
  font-weight: 800;
}

#appScreen .music-cloud-refresh {
  border: 0;
  padding: 6px 8px;
  color: var(--tone-accent, var(--ed-accent));
  background: transparent;
  font-size: 10px;
}

#appScreen .music-account-playlists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 9px;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
}

#appScreen .music-account-playlist {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 8px;
  border: 1px solid var(--tone-line, var(--ed-line));
  border-radius: 7px;
  padding: 6px;
  color: inherit;
  background: color-mix(in srgb, var(--tone-surface-strong, var(--ed-surface-strong)) 74%, transparent);
  text-align: left;
}

#appScreen .music-account-playlist > span {
  grid-row: 1 / 3;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 6px;
  color: var(--tone-muted, var(--ed-muted));
  background-position: center;
  background-size: cover;
  background-color: var(--tone-soft, var(--ed-accent-soft));
}

#appScreen .music-account-playlist > span i { font-size: 9px; font-style: normal; }

#appScreen .music-account-playlist :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-account-playlist strong { font-size: 11px; }

#appScreen .music-account-playlist small { color: var(--tone-muted, var(--ed-muted)); font-size: 8px; }

#appScreen .music-selected-playlist-head {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
  background: var(--tone-soft, var(--ed-accent-soft));
}

#appScreen .music-selected-playlist-head > span { width: 58px; height: 58px; border-radius: 7px; background-position: center; background-size: cover; }

#appScreen .music-selected-playlist-head > div { min-width: 0; display: grid; gap: 3px; }

#appScreen .music-selected-playlist-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }

#appScreen .music-selected-playlist-head small { color: var(--tone-muted, var(--ed-muted)); font-size: 9px; }

#appScreen .music-song-cloud-mark { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--tone-accent, var(--ed-accent)); background: var(--tone-soft, var(--ed-accent-soft)); font-size: 9px; font-weight: 900; }

@media (max-width: 370px) {
  #appScreen .music-account-playlists { grid-template-columns: 1fr; } }

#appScreen .music-collection-card {
  width: 100%;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 11px;
  padding: 9px 4px;
  border: 0;
  border-bottom: 1px solid var(--tone-line, var(--ed-line));
  background: transparent;
  text-align: left;
  cursor: pointer;
}

#appScreen .music-collection-card:last-child { border-bottom: 0; }

#appScreen .music-collection-card-cover {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 9px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-color: var(--tone-soft, var(--ed-accent-soft));
}

#appScreen .music-collection-card-cover > i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--tone-accent, var(--ed-accent));
  font-style: normal;
  font-size: 16px;
}

#appScreen .music-collection-card-main { min-width: 0; display: grid; gap: 3px; }

#appScreen .music-collection-card-main :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-collection-card-main strong { font-size: 13px; }

#appScreen .music-collection-card-main small { color: var(--tone-muted, var(--ed-muted)); font-size: 9.5px; }

#appScreen .music-collection-card-go { color: var(--tone-muted, var(--ed-muted)); font-size: 16px; text-align: center; }

#appScreen .music-collection-detail { gap: 12px; }

#appScreen .music-collection-hero { display: grid; gap: 12px; }

#appScreen .music-collection-headline { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 13px; align-items: center; }

#appScreen .music-collection-cover {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: 14px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-color: var(--tone-soft, var(--ed-accent-soft));
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
}

#appScreen .music-collection-cover > i {
  position: absolute; inset: 0; display: grid; place-items: center;
  color: var(--tone-accent, var(--ed-accent)); font-style: normal; font-size: 30px;
}

#appScreen .music-collection-title { min-width: 0; display: grid; gap: 4px; align-content: center; }

#appScreen .music-collection-title small { color: var(--tone-accent, var(--ed-accent)); font-size: 10px; font-weight: 800; letter-spacing: .04em; }

#appScreen .music-collection-title h2 { margin: 0; font-size: 18px; line-height: 1.25; }

#appScreen .music-collection-title p { margin: 0; color: var(--tone-muted, var(--ed-muted)); font-size: 11px; }

#appScreen .music-collection-actions { display: flex; flex-wrap: wrap; gap: 8px; }

#appScreen .music-collection-actions > :is(a, button) {
  min-height: 30px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 28%, transparent);
  border-radius: 8px;
  background: var(--tone-soft, var(--ed-accent-soft));
  color: var(--tone-accent, var(--ed-accent));
  font-size: 11.5px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

#appScreen .music-collection-block { display: grid; gap: 8px; }

#appScreen .music-collection-block > header { color: var(--tone-strong, var(--ed-strong)); font-size: 12.5px; font-weight: 800; }

#appScreen .music-collection-iframe { width: 100%; border-radius: 12px; background: #fff; }

#appScreen .music-collection-note { margin: 0; color: var(--tone-muted, var(--ed-muted)); font-size: 9.5px; line-height: 1.5; }

#appScreen .music-cloud-hero > .music-netease-login-actions {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
}

#appScreen .music-netease-login-actions .music-netease-login { margin-top: 0; }

#appScreen .music-netease-login.secondary { color: var(--tone-muted, var(--ed-muted)); background: transparent; }

#appScreen .music-playlist-page {
  position: relative;
  min-height: 100%;
  padding: 0 0 calc(92px + var(--safe-bottom));
  color: #20242a;
  background: #f5f9fc;
}

#appScreen .music-playlist-hero {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  color: #fff;
  background-color: #7696a5;
  background-position: center;
  background-size: cover;
}

#appScreen .music-playlist-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 16, 25, .22), rgba(9, 16, 25, .12) 34%, rgba(9, 16, 25, .76));
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

#appScreen .music-playlist-hero > header {
  position: relative;
  z-index: 1;
  min-height: 54px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  padding: 8px 12px;
}

#appScreen .music-playlist-hero > header strong { text-align: center; font-size: 14px; }

#appScreen .music-playlist-hero > header :is(button, a) { width: 40px; height: 40px; display: grid; place-items: center; border: 0; color: #fff; background: transparent; font-size: 26px; text-decoration: none; }

#appScreen .music-playlist-hero-copy {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 24px;
  left: 20px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: end;
  gap: 13px;
}

#appScreen .music-playlist-cover {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 7px;
  background: rgba(255,255,255,.18) center/cover;
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
}

#appScreen .music-playlist-cover i { font-style: normal; font-size: 24px; }

#appScreen .music-playlist-hero-copy > div { min-width: 0; }

#appScreen .music-playlist-hero-copy h2 { margin: 0 0 7px; overflow: hidden; text-overflow: ellipsis; font-size: 20px; line-height: 1.25; }

#appScreen .music-playlist-hero-copy p { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 10px; font-weight: 700; }

#appScreen .music-playlist-hero-copy small { display: -webkit-box; overflow: hidden; color: rgba(255,255,255,.8); font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

#appScreen .music-playlist-creator-avatar { width: 19px; height: 19px; border-radius: 50%; background: rgba(255,255,255,.28) center/cover; }

#appScreen .music-playlist-toolbar { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 12px 16px; background: #fff; }

#appScreen .music-playlist-toolbar button { min-height: 43px; border: 0; border-radius: 22px; color: #24282d; background: #f1f4f6; font-size: 15px; font-weight: 800; }

#appScreen .music-playlist-toolbar button span { margin-left: 5px; font-size: 11px; }

#appScreen .music-playlist-toolbar .music-playlist-play-all { color: #fff; background: #22272d; }

#appScreen .music-playlist-list { background: #fff; }

#appScreen .music-playlist-list > header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border-top: 1px solid #edf0f2; }

#appScreen .music-playlist-list > header strong { font-size: 13px; }

#appScreen .music-playlist-list > header div { display: flex; gap: 5px; }

#appScreen .music-playlist-list > header button { width: 34px; height: 34px; border: 0; color: #30353b; background: transparent; font-size: 17px; }

#appScreen .music-playlist-track { min-width: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px 28px; align-items: center; gap: 5px; min-height: 62px; padding: 5px 10px 5px 8px; }

#appScreen .music-playlist-track.active { background: #eef8f6; }

#appScreen .music-playlist-index { color: #555d66; text-align: center; font-size: 14px; }

#appScreen .music-playlist-track-main { min-width: 0; display: grid; gap: 3px; border: 0; padding: 0; color: inherit; background: transparent; text-align: left; }

#appScreen .music-playlist-track-main :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .music-playlist-track-main strong { font-size: 14px; font-weight: 600; }

#appScreen .music-playlist-track-main small { color: #7d8791; font-size: 10px; }

#appScreen :is(.music-playlist-like, .music-playlist-more) { width: 32px; height: 32px; border: 0; color: #77818b; background: transparent; font-size: 20px; }

#appScreen .music-playlist-loading { min-height: 180px; display: grid; place-items: center; color: #71808a; font-size: 11px; }

#appScreen .music-playlist-list .music-list-empty button { margin-top: 12px; min-height: 34px; padding: 0 13px; border: 0; border-radius: 6px; color: #fff; background: #2b3339; font-size: 10px; font-weight: 800; }

.moss-player-controls [data-moss-music-mode][data-music-mode="single"] { font-size: 16px !important; font-weight: 900; }

.moss-player-controls [data-moss-music-mode][data-music-mode="shuffle"] { font-size: 23px !important; }

#appScreen .music-playlist-track { grid-template-columns: 34px minmax(0, 1fr) 34px 52px; }

#appScreen .music-playlist-radio,
#appScreen .music-song-radio-add {
  min-width: 50px;
  min-height: 30px;
  padding: 0 6px;
  border: 1px solid color-mix(in srgb, var(--tone-accent, #6090c4) 28%, transparent);
  border-radius: 6px;
  color: var(--tone-accent, #6090c4);
  background: var(--tone-soft, #eaf1fa);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

#appScreen :is(.music-playlist-radio, .music-song-radio-add).added { color: var(--tone-muted, #687887); border-color: var(--tone-line, rgba(0,0,0,.1)); background: transparent; }

#appScreen .music-radio-ncm-group { margin-top: 8px; border-top: 8px solid var(--tone-page, #edf2f7); }

#appScreen .music-radio-ncm-group > header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--tone-line, rgba(0,0,0,.1));
}

#appScreen .music-radio-ncm-group > header > div { min-width: 0; display: grid; gap: 2px; }

#appScreen .music-radio-ncm-group > header strong { font-size: 13px; }

#appScreen .music-radio-ncm-group > header small { color: var(--tone-muted, #687887); font-size: 9px; line-height: 1.4; }

#appScreen .music-radio-ncm-group > header b { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--tone-accent, #6090c4); background: var(--tone-soft, #eaf1fa); font-size: 10px; }

.music-request-panel{display:grid;gap:10px;margin-bottom:14px;padding:12px;border:1px solid rgba(36,52,68,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,248,252,.86));box-shadow:0 12px 28px rgba(31,45,60,.06)}

.music-request-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px}

.music-request-panel header strong{display:block;color:#202b38}

.music-request-panel header small{display:block;margin-top:2px;color:#7a8794}

.music-search-form{display:grid;grid-template-columns:minmax(0,1fr)68px;gap:8px}

.music-search-form input{min-width:0;border:1px solid rgba(46,64,82,.14);border-radius:14px;background:#fff;padding:11px 12px;color:#1f2e3d}

.music-search-form button{border:0;border-radius:14px;background:#202d3a;color:#fff;font-weight:900}

.music-search-results{max-height:360px;overflow:auto;padding-right:2px}

.music-search-empty{padding:12px 4px;text-align:left}

.music-library-group {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid rgba(36,52,68,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 28px rgba(31,45,60,.06);
}

.music-library-group > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.music-library-group > header strong {
  display: block;
  color: #202b38;
}

.music-library-group > header small {
  color: #7a8794;
}

.music-library-group > header button,
.music-library-group > header b {
  border: 0;
  border-radius: 999px;
  background: #eef4f7;
  color: #26394a;
  padding: 8px 12px;
  font-weight: 900;
}

.music-custom-list-card {
  touch-action: manipulation;
}

.custom-home :is(.home-image-frame-layer, .home-gallery-slot-img, .home-frame-2x2-img, .home-polaroid-photo > span, .home-stack-photo > span, .home-memory-photo > span, .home-kins-avatar > span, .home-kins-photo > span, .home-ins-photo-slot > span, .home-weather-photo > span, .home-profile-week-photo > span, .home-music-mini-cover > span, .home-music-lyrics-cover > span, .home-music-vinyl-disc > span) {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}

.custom-home :is(.home-image-frame-hint, .home-gallery-slot-hint, .home-frame-2x2-hint, .home-polaroid-photo small, .home-stack-photo small, .home-memory-photo small, .home-weather-photo small, .home-profile-week-photo small, .home-kins-avatar small, .home-kins-photo small, .home-ins-photo-slot small, .home-music-mini-cover i, .home-music-lyrics-cover i, .home-music-vinyl-disc i) {
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.24) !important;
}

.custom-home .home-music-mini { padding: 12px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }

.custom-home .home-music-mini-cover { position: relative !important; width: 100% !important; height: 112px !important; border: 0 !important; border-radius: 18px !important; background: linear-gradient(135deg,#dbeafe,#fce7f3) !important; overflow: hidden !important; }

.custom-home .home-music-meta { text-align: left !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit !important; }

.custom-home .home-music-meta strong,
.custom-home .home-vinyl-copy strong,
.custom-home .home-music-lyrics-title strong { font-weight: 900 !important; font-size: 13px !important; }

.custom-home .home-music-meta small,
.custom-home .home-vinyl-copy small,
.custom-home .home-music-lyrics-title small { color: var(--home-preview-sub) !important; font-size: 11px !important; font-weight: 800 !important; }

.custom-home .home-music-controls { display: flex !important; justify-content: space-around !important; align-items: center !important; margin-top: auto !important; }

.custom-home .home-music-controls button { width: 30px !important; height: 30px !important; border-radius: 50% !important; background: var(--home-preview-card) !important; }

.custom-home .home-music-vinyl { padding: 15px !important; display: grid !important; grid-template-columns: minmax(112px,135px) minmax(0,1fr) !important; gap: 14px !important; align-items: center !important; }

.custom-home .home-music-vinyl-disc { position: relative !important; width: 100% !important; height: 100% !important; border-radius: 50% !important; background: radial-gradient(circle, rgba(255,255,255,.9) 0 11%, #222 12% 18%, #111 19% 100%) !important; overflow: hidden !important; }

.custom-home .home-music-vinyl-disc.is-playing { animation: mossWidgetPreviewSpin 6s linear infinite !important; }

.custom-home .home-music-lyrics-card { padding: 14px !important; display: grid !important; grid-template-columns: 82px minmax(0,1fr) !important; gap: 12px !important; align-items: center !important; }

.custom-home .home-music-lyrics-cover { position: relative !important; width: 82px !important; height: 82px !important; border: 0 !important; border-radius: 20px !important; background: linear-gradient(135deg,#bfdbfe,#fbcfe8) !important; overflow: hidden !important; }

.custom-home .home-music-lyrics-title { text-align: left !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit !important; }

.custom-home .home-music-lyrics { color: var(--home-preview-sub) !important; line-height: 1.35 !important; font-size: 12px !important; font-weight: 800 !important; }

.custom-home .home-music-progress { height: 5px !important; border-radius: 999px !important; background: var(--home-preview-card) !important; overflow: hidden !important; }

.custom-home .home-music-progress i { display: block !important; height: 100% !important; border-radius: inherit !important; background: var(--skin-accent) !important; }

:root[data-ui-mode="dark"] .app-body,
:root[data-ui-mode="dark"] .settings-app,
:root[data-ui-mode="dark"] .notes-app,
:root[data-ui-mode="dark"] .date-picker-app,
:root[data-ui-mode="dark"] .radio-app,
:root[data-ui-mode="dark"] .radio-app-v2,
:root[data-ui-mode="dark"] .shop-app,
:root[data-ui-mode="dark"] .album-app,
:root[data-ui-mode="dark"] .moss-album-app,
:root[data-ui-mode="dark"] .discover-page,
:root[data-ui-mode="dark"] .period-page,
:root[data-ui-mode="dark"] .couple-space-app,
:root[data-ui-mode="dark"] .lifeline-app,
:root[data-ui-mode="dark"] .news-app,
:root[data-ui-mode="dark"] .phone-check-app,
:root[data-ui-mode="dark"] .music-app,
:root[data-ui-mode="dark"] .coread-app {
  background: var(--moss-live-canvas, var(--phone-bg)) !important;
  color: var(--moss-live-text, var(--skin-text)) !important;
}

:root[data-ui-mode="dark"] .panel,
:root[data-ui-mode="dark"] .settings-card,
:root[data-ui-mode="dark"] .settings-section,
:root[data-ui-mode="dark"] .settings-row,
:root[data-ui-mode="dark"] .preset-card,
:root[data-ui-mode="dark"] .world-row,
:root[data-ui-mode="dark"] .discover-row,
:root[data-ui-mode="dark"] .radio-card,
:root[data-ui-mode="dark"] .radio-card-v2,
:root[data-ui-mode="dark"] .radio-show-panel,
:root[data-ui-mode="dark"] .radio-track-row,
:root[data-ui-mode="dark"] .moss-album-stat-row article,
:root[data-ui-mode="dark"] .moss-album-empty,
:root[data-ui-mode="dark"] .moss-album-role-strip button,
:root[data-ui-mode="dark"] .moss-album-tabs button,
:root[data-ui-mode="dark"] .shop-card,
:root[data-ui-mode="dark"] .order-card,
:root[data-ui-mode="dark"] .coread-card,
:root[data-ui-mode="dark"] .music-panel,
:root[data-ui-mode="dark"] .music-song-row,
:root[data-ui-mode="dark"] .period-card,
:root[data-ui-mode="dark"] .couple-card,
:root[data-ui-mode="dark"] .lifeline-card,
:root[data-ui-mode="dark"] .news-card,
:root[data-ui-mode="dark"] .phone-check-card {
  background: var(--surface-strong) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

@media (display-mode: standalone) {

  .app-body,
  .messages,
  .thread-list,
  .moment-feed,
  .date-scroll,
  .dream-list,
  .album-grid,
  .music-library {
    -webkit-overflow-scrolling: touch !important;
    scroll-padding-bottom: max(20px, var(--safe-bottom)) !important;
  } }

#appScreen .music-app,
#appScreen .music-cloud-app,
#appScreen .music-playlist-page,
#appScreen .music-collection-detail,
#appScreen .music-custom-playlist-page {
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}

#appScreen .music-cloud-app {
  padding: 14px var(--moss-ui-content-pad) calc(96px + var(--safe-bottom));
}

#appScreen .music-cloud-hero,
#appScreen .music-playlist-hero,
#appScreen .music-collection-hero {
  overflow: hidden;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 21px !important;
  color: var(--moss-ui-text) !important;
  background: linear-gradient(145deg, var(--moss-ui-accent-wash), var(--moss-ui-card)) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}

#appScreen .music-cloud-hero h2,
#appScreen .music-playlist-hero h2,
#appScreen .music-collection-title { color: var(--moss-ui-text) !important; font-weight: 690; letter-spacing: -.03em; }

#appScreen .music-cloud-hero p,
#appScreen .music-playlist-hero p,
#appScreen .music-collection-note { color: var(--moss-ui-muted) !important; }

#appScreen .music-cloud-avatar,
#appScreen .music-playlist-cover,
#appScreen .music-collection-cover {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;
}

#appScreen .music-cloud-tabs {
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .music-cloud-tabs button {
  min-height: 38px;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--moss-ui-muted) !important;
  background: transparent !important;
}

#appScreen .music-cloud-tabs button.active {
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .music-cloud-section,
#appScreen .music-request-panel,
#appScreen .music-netease-login,
#appScreen .music-library-group {
  padding: 14px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}

#appScreen .music-search-form {
  min-height: 46px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-control) !important;
}

#appScreen :where(.music-song-row, .music-cloud-item, .music-account-playlist,
  .music-collection-card, .music-custom-list-card, .music-playlist-track) {
  min-height: 62px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;
}

#appScreen :where(.music-song-row, .music-cloud-item, .music-account-playlist,
  .music-collection-card, .music-playlist-track) strong { color: var(--moss-ui-text) !important; }

#appScreen :where(.music-song-row, .music-cloud-item, .music-account-playlist,
  .music-collection-card, .music-playlist-track) small { color: var(--moss-ui-muted) !important; }

#appScreen .music-song-cover,
#appScreen .music-cloud-cover,
#appScreen .music-collection-card-cover {
  border-radius: 11px !important;
  background: var(--moss-ui-card-soft) !important;
}

#appScreen .music-add,
#appScreen .music-cloud-refresh,
#appScreen .music-song-actions button,
#appScreen .music-cloud-actions button {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 11px !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}

#appScreen .music-app-mini-player {
  left: 10px;
  right: 10px;
  bottom: calc(10px + var(--safe-bottom));
  min-height: 62px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

@media (max-width: 430px) {
  #appScreen .music-cloud-hero,
  #appScreen .music-playlist-hero,
  #appScreen .music-collection-hero { grid-template-columns: 72px minmax(0,1fr) !important; } }

.music-share-picker-overlay {
  box-sizing: border-box !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
}

.music-share-picker-sheet {
  box-sizing: border-box !important;
  width: min(100%, 430px) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))) !important;
  overflow: hidden !important;
}

.music-share-picker-sheet {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.music-share-picker-sheet > header {
  min-width: 0 !important;
}

.music-share-picker-sheet .forward-picker-list {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  scrollbar-gutter: stable;
  padding: 2px 2px max(10px, env(safe-area-inset-bottom)) 2px !important;
}

.music-share-picker-sheet .forward-picker-char {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 68px !important;
  align-items: center !important;
  overflow: hidden !important;
  text-align: left !important;
}

.music-share-picker-sheet .forward-picker-char {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 11px !important;
  padding: 10px 12px !important;
}

.music-share-picker-sheet .forward-picker-avatar {
  grid-column: 1 !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  align-self: center !important;
}

.music-share-picker-sheet .forward-picker-char > span:last-child {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  overflow: hidden !important;
}

.music-share-picker-sheet .forward-picker-char strong {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.35 !important;
}

.music-share-picker-sheet .forward-picker-char small {
  min-width: 0 !important;
  max-width: 100% !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
}

.music-share-picker-sheet > header > div {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

.music-share-picker-sheet > header > div > small {
  display: block !important;
  min-width: 0 !important;
  max-width: min(72vw, 320px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 380px) {
  .music-share-picker-overlay {
    padding-left: 8px !important;
    padding-right: 8px !important;
  } }

@media (max-width: 380px) {

  .music-share-picker-sheet {
    padding: 12px !important;
    border-radius: 22px 22px 18px 18px !important;
  } }

#appScreen .music-playlist-track.is-loading,
#appScreen .music-song-row.is-loading {
  opacity: .72;
  pointer-events: none;
}

#appScreen .music-playlist-track.is-loading::after,
#appScreen .music-song-row.is-loading::after {
  content: "正在播放…";
  font-size: 11px;
  color: var(--skin-muted, #7b7f88);
}

@media not all {
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="music"] { grid-column: span 3; } }

@media not all {
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="music"]::after,
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="music"]::after { content: "LISTENING ROOM"; } }

@media not all {
#userPhoneOverlay [data-user-phone-app-panel="music"] { --reverse-label: "03 / LISTENING ROOM"; } }

@media not all {
#userPhoneOverlay [data-user-phone-app-panel="music"] .x-tweet::before { content: "◯"; display: block; margin-bottom: 9px; font: 400 34px/1 var(--museum-serif); } }

/*# source: assets/css/features/live.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.live-gradient {background: linear-gradient(145deg, #1f1f23 0%, #0f0f12 55%, #ff315b 140%) !important;
  color: #fff !important;}

#appScreen.live-screen-active {padding: 0 !important;
  padding-bottom: 0 !important;
  background: #f5f5f3 !important;}

#appScreen.live-screen-active > .app-topbar {display: none !important;}

#appScreen.live-screen-active > .app-body,
#appScreen.live-screen-active > .app-body.live-app-active {width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--moss-live-canvas, #f5f5f3) !important;
  overscroll-behavior: none;}

.live-app,
.live-room,
.live-app *,
.live-room * {box-sizing: border-box;}

.live-app {--live-ink: #151518;
  --live-muted: #737379;
  --live-line: rgba(16, 16, 19, .09);
  --live-paper: #fff;
  --live-canvas: #f5f5f3;
  --live-red: #ff2c55;
  --live-blue: #20d5ec;
  --live-control: color-mix(in srgb, var(--skin-accent, #748178) 72%, #22272a 28%);
  --live-control-strong: color-mix(in srgb, var(--skin-accent, #748178) 48%, #15191b 52%);
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  color: var(--live-ink);
  background: var(--live-canvas);
  font-family: var(--app-font-family), -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
  overflow: hidden;}

.live-scroll {width: 100%;
  height: 100%;
  min-height: 0;
  padding: calc(72px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;}

.live-page-header {position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: calc(58px + env(safe-area-inset-top));
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: end;
  gap: 8px;
  padding: env(safe-area-inset-top) 12px 8px;
  color: var(--live-ink);
  background: rgba(245, 245, 243, .92);
  border-bottom: 1px solid var(--live-line);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  backdrop-filter: blur(22px) saturate(1.4);}

.live-icon-button,
.live-header-spacer {width: 42px;
  height: 42px;}

.live-icon-button {display: grid;
  place-items: center;
  border: 0;
  border-radius: 13px;
  color: var(--live-ink);
  background: transparent;
  transition: color .16s ease, background .16s ease, transform .16s cubic-bezier(.2,.8,.2,1);}

.live-icon-button .moss-ui-icon {width: 21px;
  height: 21px;}

.live-icon-button:active {color: var(--live-control-strong);
  background: color-mix(in srgb, var(--live-control) 12%, transparent);
  transform: scale(.94);}

.live-header-back {grid-column: 3;}

.live-header-leading,
.live-header-spacer {grid-column: 1;}

.live-page-title {align-self: center;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 1px;
  line-height: 1.15;}

.live-page-title strong {max-width: 100%;
  overflow: hidden;
  color: var(--live-ink);
  font-size: 16px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-page-title span {color: var(--live-muted);
  font-size: 10px;}

.live-kicker {display: block;
  color: #85858b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;}

.live-primary-button,
.live-secondary-button,
.live-text-button {min-height: 48px;
  border: 0;
  border-radius: 15px;
  font: inherit;
  font-weight: 780;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease, opacity .18s ease;}

.live-primary-button {display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #fff;
  background: linear-gradient(145deg, var(--live-control), var(--live-control-strong));
  box-shadow: 0 14px 28px color-mix(in srgb, var(--live-control-strong) 26%, transparent), inset 0 1px 0 rgba(255,255,255,.14);}

.live-primary-button .moss-ui-icon {width: 19px;
  height: 19px;}

.live-primary-button:disabled,
.live-secondary-button:disabled {opacity: .42;
  box-shadow: none;}

.live-secondary-button {color: var(--live-ink);
  background: color-mix(in srgb, var(--live-paper) 94%, transparent);
  border: 1px solid var(--live-line);
  box-shadow: 0 8px 22px rgba(22,24,27,.05), inset 0 1px 0 rgba(255,255,255,.56);}

.live-text-button {min-height: 42px;
  color: #6a6a70;
  background: transparent;}

.live-primary-button:not(:disabled):active,
.live-secondary-button:not(:disabled):active,
.live-text-button:not(:disabled):active {transform: scale(.985);
  box-shadow: none;}

.live-hero-start {width: 100%;
  margin-top: 7px;
  color: #151719;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,247,245,.95));
  box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 #fff;}

.live-section-heading {display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 0 3px 11px;}

.live-section-heading h2 {margin: 3px 0 0;
  color: var(--live-ink);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;}

.live-section-heading > span {color: var(--live-muted);
  font-size: 10px;
  font-weight: 650;}

.live-live-dot {display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #fff !important;
  background: var(--live-red);
  font-size: 9px !important;
  font-weight: 820 !important;}

.live-live-dot::before {content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .17);}

.live-active-card,
.live-history-row {width: 100%;
  border: 0;
  color: var(--live-ink);
  text-align: left;
  background: var(--live-paper);}

.live-active-card {display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 9px 13px 9px 9px;
  border-radius: 22px;
  box-shadow: 0 8px 26px rgba(20, 20, 23, .06);}

.live-active-thumb {width: 70px;
  height: 70px;
  border-radius: 17px;
  background-color: #222;
  background-position: center 24%;
  background-size: cover;}

.live-active-copy {min-width: 0;
  display: grid;
  gap: 5px;}

.live-active-copy strong,
.live-history-row strong {overflow: hidden;
  font-size: 13px;
  font-weight: 770;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-active-copy small,
.live-history-row small {overflow: hidden;
  color: var(--live-muted);
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-active-card > .moss-ui-icon,
.live-history-row > .moss-ui-icon {width: 17px;
  color: #a0a0a5;}

.live-history-list {overflow: hidden;
  border-radius: 22px;
  background: var(--live-paper);
  box-shadow: 0 8px 26px rgba(20, 20, 23, .04);}

.live-history-row {display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 11px;
  min-height: 64px;
  padding: 10px 13px;
  border-bottom: 1px solid var(--live-line);}

.live-history-row:last-child {border-bottom: 0;}

.live-history-row > span:nth-child(2) {min-width: 0;
  display: grid;
  gap: 4px;}

.live-history-date {color: #949499;
  font-size: 10px;
  font-weight: 750;}

.live-empty-state {display: grid;
  justify-items: center;
  gap: 7px;
  padding: 34px 24px;
  color: var(--live-muted);
  text-align: center;}

.live-empty-state > span {width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #55555a;
  background: #f0f0ee;}

.live-empty-state .moss-ui-icon {width: 20px;}

.live-empty-state strong {color: var(--live-ink);
  font-size: 13px;}

.live-empty-state p {max-width: 270px;
  margin: 0;
  font-size: 10px;
  line-height: 1.55;}

.live-prep-scroll {padding-left: 15px;
  padding-right: 15px;}

.live-prep-host {display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  padding: 14px;
  border-radius: 24px;
  background: #17171b;
  color: #fff;}

.live-prep-portrait {width: 82px;
  height: 104px;
  border-radius: 18px;
  background-color: #303036;
  background-position: center 22%;
  background-size: cover;}

.live-prep-host-copy {min-width: 0;}

.live-prep-host-copy .live-kicker {color: rgba(255, 255, 255, .46);}

.live-prep-host-copy h1 {margin: 6px 0 5px;
  font-size: 23px;
  font-weight: 810;
  letter-spacing: -.03em;}

.live-prep-host-copy p {margin: 0;
  color: rgba(255, 255, 255, .64);
  font-size: 10px;
  line-height: 1.5;}

.live-notice,
.live-preflight-card {margin-top: 12px;
  padding: 12px 13px;
  border-radius: 16px;}

.live-notice {display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #743e29;
  background: #fff0e8;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.5;}

.live-notice .moss-ui-icon {flex: 0 0 auto;
  width: 15px;
  margin-top: 1px;}

.live-preflight-card.is-blocked {color: #6c343b;
  background: #ffeef0;}

.live-preflight-card strong {font-size: 11px;}

.live-preflight-card p {margin: 4px 0 0;
  font-size: 9px;
  line-height: 1.5;}

.live-prep-form {display: grid;
  gap: 12px;
  margin-top: 12px;}

.live-form-section {padding: 15px;
  border: 1px solid var(--live-line);
  border-radius: 22px;
  background: #fff;}

.live-form-stack {display: grid;
  gap: 12px;}

.live-field,
.live-field-label {display: grid;
  gap: 7px;}

.live-field > span,
.live-field-label > span {color: var(--live-ink);
  font-size: 11px;
  font-weight: 760;}

.live-field-label {margin-bottom: 11px;}

.live-field-label small {color: var(--live-muted);
  font-size: 9px;
  line-height: 1.45;}

.live-field input,
.live-field select {width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(17, 17, 20, .1);
  border-radius: 13px;
  outline: 0;
  color: var(--live-ink);
  background: #f7f7f5;
  font: inherit;
  font-size: 12px;}

.live-field input:focus,
.live-field select:focus {border-color: rgba(17, 17, 20, .3);
  background: #fff;}

.live-mode-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.live-mode-choice {min-height: 67px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border: 1px solid rgba(17, 17, 20, .08);
  border-radius: 15px;
  color: var(--live-ink);
  text-align: left;
  background: #f7f7f5;}

.live-mode-choice strong {font-size: 11px;
  font-weight: 760;}

.live-mode-choice span {color: var(--live-muted);
  font-size: 8.5px;
  line-height: 1.35;}

.live-mode-choice.is-selected {color: #fff;
  background: #19191d;
  border-color: #19191d;
  box-shadow: 0 8px 18px rgba(15, 15, 18, .14);}

.live-mode-choice.is-selected span {color: rgba(255, 255, 255, .62);}

.live-mode-choice:disabled {opacity: .38;}

.live-segmented {display: grid;
  gap: 7px;}

.live-scene-segmented {grid-template-columns: repeat(2, minmax(0, 1fr));}

.live-segmented button,
.live-memory-options button {display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(17, 17, 20, .09);
  border-radius: 14px;
  color: var(--live-ink);
  text-align: left;
  background: #f8f8f6;}

.live-segmented button strong,
.live-memory-options button strong {font-size: 10px;
  font-weight: 750;}

.live-segmented button small,
.live-memory-options button span {color: var(--live-muted);
  font-size: 8px;
  line-height: 1.35;}

.live-segmented button.is-selected,
.live-memory-options button.is-selected {border-color: #1c1c20;
  background: #fff;
  box-shadow: inset 0 0 0 1px #1c1c20;}

.live-memory-options {display: grid;
  gap: 7px;}

.live-memory-options button {min-height: 58px;
  padding: 10px 12px;}

.live-toggle-list {padding: 4px 15px;}

.live-toggle-list label {position: relative;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--live-line);}

.live-toggle-list label:last-child {border-bottom: 0;}

.live-toggle-list label > span {min-width: 0;
  display: grid;
  gap: 4px;}

.live-toggle-list strong {color: var(--live-ink);
  font-size: 11px;
  font-weight: 740;}

.live-toggle-list small {color: var(--live-muted);
  font-size: 8.5px;
  line-height: 1.4;}

.live-toggle-list input {position: absolute;
  opacity: 0;
  pointer-events: none;}

.live-toggle-list i {position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 25px;
  border-radius: 999px;
  background: #dedee0;
  transition: background .18s ease;}

.live-toggle-list i::after {content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .18);
  transition: transform .18s ease;}

.live-toggle-list input:checked + i {background: #18181c;}

.live-toggle-list input:checked + i::after {transform: translateX(17px);}

.live-toggle-list input:disabled + i {opacity: .38;}

.live-preflight-summary {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: 20px;
  background: var(--live-line);}

.live-preflight-summary div {min-height: 62px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 11px 13px;
  background: #fff;}

.live-preflight-summary span {color: var(--live-muted);
  font-size: 8.5px;}

.live-preflight-summary strong {overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-start-button {position: sticky;
  z-index: 5;
  bottom: 4px;
  width: 100%;
  margin: 2px 0 4px;}

.live-room {--live-room-white: #fff;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  color: var(--live-room-white);
  background: #050506;
  font-family: var(--app-font-family), -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
  isolation: isolate;}

.live-visual-stage,
.live-visual-layer,
.live-visual-backdrop,
.live-visual-portrait,
.live-scene-wash {position: absolute;
  inset: 0;}

.live-visual-stage {z-index: -3;
  overflow: hidden;
  background: radial-gradient(circle at 50% 35%, #3b3b42, #09090b 72%);}

.live-visual-layer {opacity: 0;
  transform: scale(1.018);
  transition: opacity .68s cubic-bezier(.2, .8, .2, 1), transform 1s ease;}

.live-visual-layer.is-active {opacity: 1;
  transform: scale(1);}

.live-visual-backdrop {inset: -22px;
  background-position: center;
  background-size: cover;
  filter: blur(19px) brightness(.56) saturate(.78);
  transform: scale(1.08);}

.live-visual-portrait {background-position: center 34%;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(.94) contrast(1.02);}

.live-scene-wash {z-index: 2;
  pointer-events: none;
  mix-blend-mode: soft-light;
  opacity: .28;}

.live-scene-wash.scene-bedroom {background: linear-gradient(155deg, #2d2b64, transparent 48%, #d68056 140%);}

.live-scene-wash.scene-studio {background: linear-gradient(145deg, #1c5a65, transparent 48%, #8d553f 130%);}

.live-scene-wash.scene-outdoor {background: linear-gradient(145deg, #5c8eaa, transparent 50%, #d3a05c 130%);}

.live-host-chip {min-width: 0;
  max-width: calc(100% - 138px);
  height: 46px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 11px 4px 4px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  text-align: left;
  background: rgba(0, 0, 0, .34);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  backdrop-filter: blur(12px) saturate(1.2);}

.live-avatar {flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background-color: #33343a;
  background-position: center 24%;
  background-size: cover;}

.live-avatar > span {color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 850;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .6);}

.live-host-chip > span:last-child {min-width: 0;
  display: grid;
  gap: 3px;}

.live-host-chip strong {overflow: hidden;
  font-size: 12px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-host-chip small {display: flex;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  color: rgba(255, 255, 255, .62);
  font-size: 8.5px;
  white-space: nowrap;}

.live-host-chip small i {width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--live-red);
  box-shadow: 0 0 0 3px rgba(255, 44, 85, .18);}

.live-viewer-pill {height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(12,14,18,.5), rgba(12,14,18,.28));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.13);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);}

.live-viewer-pill {gap: 4px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 9px;}

.live-viewer-pill .moss-ui-icon {width: 13px;
  height: 13px;}

.live-viewer-pill b {font-weight: 700;}

.live-caption-zone {position: absolute;
  z-index: 16;
  left: 14px;
  right: 68px;
  bottom: calc(282px + env(safe-area-inset-bottom));
  max-height: min(38vh, 330px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  pointer-events: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;}

.live-caption-zone::-webkit-scrollbar {display: none;}

.live-host-caption-list,
.live-host-caption-entry {display: grid;}

.live-host-caption-list {gap: 10px;
  padding-top: 18px;}

.live-host-caption-entry {gap: 7px;}

.live-host-action {display: flex;}

.live-host-action span {max-width: 92%;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  color: rgba(255, 255, 255, .72);
  background: rgba(0, 0, 0, .28);
  font-size: 9px;
  font-weight: 560;
  line-height: 1.45;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);}

.live-host-caption {max-width: 100%;
  display: grid;
  gap: 8px;
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.13);
  border-left: 2px solid rgba(255, 255, 255, .84);
  border-radius: 0 16px 16px 0;
  background: linear-gradient(110deg, rgba(7,9,12,.72), rgba(10,12,16,.38));
  box-shadow: 0 12px 32px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.06);
  text-shadow: 0 1px 10px rgba(0, 0, 0, .65);
  pointer-events: auto;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);}

.live-host-caption > small {color: #8de9f4;
  font-size: 8px;
  font-weight: 760;}

.live-host-caption > p {margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 620;
  font-family: var(--app-font-family);
  letter-spacing: .005em;
  line-height: 1.55;}

.live-caption-audio,
.live-voice-state {justify-self: start;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 10px 5px 5px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  color: rgba(255, 255, 255, .94);
  background: linear-gradient(145deg, rgba(255,255,255,.17), rgba(255,255,255,.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 20px rgba(0,0,0,.12);
  font-size: 9px;
  text-align: left;
  transition: transform .16s cubic-bezier(.2,.8,.2,1), background .16s ease;}

.live-caption-audio:not(:disabled):active {transform: scale(.97); background: rgba(255,255,255,.2);}

.live-caption-audio-icon {width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 11px;
  color: #14171a;
  background: rgba(255,255,255,.94);
  box-shadow: 0 6px 16px rgba(0,0,0,.16);}

.live-caption-audio-icon .moss-ui-icon {width: 15px;
  height: 15px;}

.live-caption-audio-copy {min-width: 0;
  display: grid;
  gap: 1px;}

.live-caption-audio-copy strong {font-size: 10px; font-weight: 820; line-height: 1.25;}

.live-caption-audio-copy small {color: rgba(255,255,255,.58); font-size: 7.5px; line-height: 1.25;}

.live-audio-wave {height: 22px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: 2px;}

.live-audio-wave b {width: 2px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  opacity: .62;}

.live-audio-wave b:nth-child(2) {height: 15px;}

.live-audio-wave b:nth-child(3) {height: 11px;}

.live-audio-wave b:nth-child(4) {height: 18px;}

.live-caption-audio.is-ready:hover .live-audio-wave b,
.live-caption-audio.is-ready:focus-visible .live-audio-wave b {animation: liveAudioWave .8s ease-in-out infinite alternate;}

.live-caption-audio.is-ready .live-audio-wave b:nth-child(2) {animation-delay: -.2s;}

.live-caption-audio.is-ready .live-audio-wave b:nth-child(3) {animation-delay: -.4s;}

.live-caption-audio.is-ready .live-audio-wave b:nth-child(4) {animation-delay: -.1s;}

.live-voice-state.is-generating .live-caption-audio-icon {color: #fff;
  background: rgba(255,255,255,.13);}

.live-caption-audio.is-error {color: #ffd0d8;
  border-color: rgba(255,91,120,.26);
  background: linear-gradient(145deg, rgba(116,20,39,.54), rgba(66,13,25,.42));}

.live-caption-audio.is-error .live-caption-audio-icon {color: #8c2038; background: #ffe4e9;}

.live-voice-state.is-generating::before {content: none;}

.live-voice-state.is-generating .live-audio-wave b {animation: liveAudioWave .72s ease-in-out infinite alternate;}

.live-voice-state.is-generating .live-audio-wave b:nth-child(2) {animation-delay: -.18s;}

.live-voice-state.is-generating .live-audio-wave b:nth-child(3) {animation-delay: -.36s;}

.live-voice-state.is-generating .live-audio-wave b:nth-child(4) {animation-delay: -.1s;}

.live-caption-thinking {display: inline-flex;
  align-items: center;
  gap: 4px;
  justify-self: start;
  padding: 8px 10px;
  border-radius: 999px;
  color: #fff;
  background: rgba(0, 0, 0, .34);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);}

.live-caption-thinking span {width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  animation: liveThinking 1.1s ease-in-out infinite;}

.live-caption-thinking span:nth-child(2) {animation-delay: .12s;}

.live-caption-thinking span:nth-child(3) {animation-delay: .24s;}

.live-caption-thinking em {margin-left: 4px;
  color: rgba(255, 255, 255, .68);
  font-size: 8px;
  font-style: normal;}

.live-comments {position: absolute;
  z-index: 15;
  left: 12px;
  right: 82px;
  bottom: calc(132px + env(safe-area-inset-bottom));
  max-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(transparent 0, #000 18%, #000 100%);
  mask-image: linear-gradient(transparent 0, #000 18%, #000 100%);}

.live-comments-placeholder {color: rgba(255, 255, 255, .46);
  font-size: 9px;}

.live-comment {position: relative;
  width: fit-content;
  max-width: 100%;
  display: grid;
  gap: 2px;
  padding: 3px 7px 4px;
  border-radius: 8px;
  color: #fff;
  background: rgba(0, 0, 0, .22);
  text-shadow: 0 1px 6px rgba(0, 0, 0, .72);
  transition: background .2s ease, transform .2s ease;}

.live-comment > div {display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;}

.live-comment strong {color: rgba(255, 255, 255, .7);
  font-size: 8.5px;
  font-weight: 710;}

.live-comment p {margin: 0;
  font-size: 11px;
  line-height: 1.35;
  word-break: break-word;}

.live-comment > .live-detail-host-segments {display: grid;
  align-items: stretch;
  gap: 6px;}

.live-detail-host-segments .live-detail-host-speech {color: inherit;}

.live-detail-host-segments .live-detail-host-action {padding: 6px 8px;
  border-left: 2px solid rgba(115, 124, 136, .34);
  border-radius: 0 8px 8px 0;
  color: #777b84;
  background: rgba(115, 124, 136, .08);
  font-size: 10px;
  font-weight: 520;
  line-height: 1.5;
  text-shadow: none;}

.live-comment.is-user {background: rgba(24, 131, 148, .42);}

.live-comment.is-user strong {color: #9af2ff;}

.live-comment.is-replied {background: rgba(255, 44, 85, .32);
  box-shadow: inset 2px 0 0 #ff5d7c;}

.live-comment.is-host {background: rgba(255, 255, 255, .1);}

.live-reply-badge,
.live-comment-state {padding: 2px 4px;
  border-radius: 4px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  font-size: 6.5px;
  font-weight: 700;
  text-shadow: none;}

.live-comment-state.is-error {color: #ffd0d8;
  background: rgba(255, 44, 85, .22);}

.live-comment time {position: absolute;
  top: 6px;
  right: 7px;
  color: rgba(255, 255, 255, .4);
  font-size: 7px;}

.live-turn-error {position: absolute;
  z-index: 22;
  left: 12px;
  right: 12px;
  bottom: calc(128px + env(safe-area-inset-bottom));
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 9px 9px 11px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 15px;
  color: #fff;
  background: rgba(37, 10, 17, .82);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);}

.live-turn-error > div {min-width: 0;
  display: grid;
  gap: 3px;}

.live-turn-error > .live-turn-error-actions {min-width: 88px;
  gap: 5px;}

.live-turn-error strong {font-size: 9px;}

.live-turn-error span {display: -webkit-box;
  overflow: hidden;
  color: rgba(255, 255, 255, .66);
  font-size: 7.5px;
  line-height: 1.35;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}

.live-turn-error button {min-height: 34px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--live-red);
  font-size: 8px;
  font-weight: 760;}

.live-turn-error button .moss-ui-icon {width: 12px;}

.live-turn-error button.is-secondary {justify-content: center;
  color: rgba(255, 255, 255, .86);
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);}

.live-side-actions {position: absolute;
  z-index: 17;
  right: 9px;
  bottom: calc(142px + env(safe-area-inset-bottom));
  display: grid;
  gap: 11px;}

.live-side-actions button {width: 56px;
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .75);
  transition: transform .16s cubic-bezier(.2,.8,.2,1);}

.live-side-actions button:active {transform: scale(.94);}

.live-side-actions button > .live-action-surface {width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(16,18,22,.56), rgba(16,18,22,.3));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);}

.live-side-actions button .moss-ui-icon {width: 21px;
  height: 21px;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .4));}

.live-side-actions button:first-child > .live-action-surface {color: #ff5d7c;
  border-color: rgba(255,255,255,.55);
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,242,242,.88));}

.live-side-actions small {color: #fff;
  font-size: 8px;
  font-weight: 620;}

.live-heart-stage {position: absolute;
  z-index: 18;
  right: 23px;
  bottom: calc(196px + env(safe-area-inset-bottom));
  width: 40px;
  height: 180px;
  overflow: visible;
  pointer-events: none;}

.live-floating-heart {position: absolute;
  right: 7px;
  bottom: 0;
  color: #ff486c;
  opacity: 0;
  animation: liveFloatHeart 2.2s cubic-bezier(.16, .82, .28, 1) var(--heart-delay, 0ms) forwards;}

.live-floating-heart-icon {width: 25px;
  height: 25px;
  fill: currentColor;
  filter: drop-shadow(0 2px 7px rgba(0, 0, 0, .35));}

.live-composer-bar {position: absolute;
  z-index: 25;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: calc(120px + env(safe-area-inset-bottom));
  padding: 14px 10px calc(10px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, transparent, rgba(4,6,9,.56) 14%, rgba(4,6,9,.9) 48%, rgba(4,6,9,.96));
  pointer-events: none;}

.live-composer-shell {width: min(100%, 620px);
  min-height: 94px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(25,28,34,.78), rgba(13,15,19,.7));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(24px) saturate(1.18);
  backdrop-filter: blur(24px) saturate(1.18);
  pointer-events: auto;}

.live-composer-more {width: 46px;
  min-height: 46px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  padding: 4px 0;
  border: 0;
  border-radius: 15px;
  color: rgba(255,255,255,.9);
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .16s cubic-bezier(.2,.8,.2,1), background .16s ease;}

.live-composer-more:active {transform: scale(.94); background: rgba(255,255,255,.16);}

.live-composer-more .moss-ui-icon {width: 17px;
  height: 17px;}

.live-composer-more > span {color: rgba(255,255,255,.57); font-size: 7px; font-weight: 760; line-height: 1;}

.live-comment-form {min-width: 0;
  display: grid;
  gap: 7px;}

.live-comment-input-row {min-width: 0;
  height: 42px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  padding: 0 4px 0 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.08);}

.live-comment-input-row:focus-within {border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.12);
  box-shadow: 0 0 0 3px rgba(255,255,255,.06);}

.live-comment-input-row input {min-width: 0;
  width: 100%;
  height: 100%;
  padding: 0 8px 0 12px;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font: inherit;
  font-size: 10.5px;}

.live-comment-input-row input::placeholder {color: rgba(255, 255, 255, .56);}

.live-comment-form .live-send-model {min-width: 0;
  min-height: 45px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 8px 5px 6px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  color: rgba(255,255,255,.91);
  text-align: left;
  background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.07));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
  transition: transform .16s cubic-bezier(.2,.8,.2,1), background .16s ease, opacity .16s ease;}

.live-comment-form .live-send-model.has-queue:not(:disabled) {color: #fff;
  border-color: color-mix(in srgb, var(--live-blue) 36%, transparent);
  background: linear-gradient(135deg, rgba(22,133,151,.9), rgba(12,74,87,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 20px rgba(0,70,82,.22);}

.live-send-model:not(:disabled):active {transform: scale(.98);}

.live-send-model-icon {width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #15181b;
  background: rgba(255,255,255,.9);}

.live-send-model-icon .moss-ui-icon {width: 15px; height: 15px;}

.live-send-model-copy {min-width: 0; display: grid; gap: 1px;}

.live-send-model-copy strong {overflow: hidden; font-size: 10px; font-weight: 840; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap;}

.live-send-model-copy small {overflow: hidden; color: rgba(255,255,255,.55); font-size: 7.5px; font-weight: 620; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap;}

.live-send-model.has-queue .live-send-model-copy small {color: rgba(255,255,255,.72);}

.live-send-model-count {min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  color: #101315;
  background: rgba(255,255,255,.92);
  font-size: 8px;
  font-weight: 850;}

.live-send-model-count[hidden] {display: none;}

.live-comment-form button:disabled,
.live-comment-form input:disabled {opacity: .44;}

.live-sheet-overlay {position: absolute;
  z-index: 70;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;}

.live-sheet-overlay.is-open {pointer-events: auto;}

.live-sheet-scrim {position: absolute;
  inset: 0;
  border: 0;
  opacity: 0;
  background: rgba(0, 0, 0, .42);
  transition: opacity .22s ease;}

.live-sheet-overlay.is-open .live-sheet-scrim {opacity: 1;}

.live-sheet {position: relative;
  width: min(100%, 520px);
  max-height: min(72vh, 650px);
  padding: 8px 15px calc(16px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  color: #18181c;
  background: #f8f8f6;
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -18px 60px rgba(0, 0, 0, .26);
  transform: translateY(104%);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1);}

.live-sheet::before {content: "";
  display: block;
  width: 34px;
  height: 4px;
  margin: 0 auto 7px;
  border-radius: 999px;
  background: #d7d7d5;}

.live-sheet-overlay.is-open .live-sheet {transform: translateY(0);}

.live-sheet-head {min-height: 49px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;}

.live-sheet-head h2 {margin: 3px 0 0;
  font-size: 18px;
  font-weight: 810;
  letter-spacing: -.025em;}

.live-sheet-head > button {width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 13px;
  color: #333339;
  background: linear-gradient(145deg, #efefed, #e5e5e3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  transition: transform .16s cubic-bezier(.2,.8,.2,1), background .16s ease;}

.live-sheet-head > button:active {transform: scale(.94); background: #ddddda;}

.live-sheet-head .moss-ui-icon {width: 16px;}

.live-sheet-intro {margin: 4px 0 14px;
  color: #77777d;
  font-size: 10px;
  line-height: 1.55;}

.live-gift-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

.live-gift-grid button {min-height: 92px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 9px;
  padding: 10px;
  border: 1px solid rgba(17, 17, 20, .07);
  border-radius: 16px;
  color: #1b1b1f;
  text-align: left;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 20px rgba(22,24,27,.04);
  transition: transform .16s cubic-bezier(.2,.8,.2,1), border-color .16s ease, box-shadow .16s ease;}

.live-gift-grid button:active {transform: scale(.98); border-color: rgba(255,49,91,.2); box-shadow: none;}

.live-gift-grid button > span {grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  align-self: center;
  border-radius: 50%;
  color: #ff3e66;
  background: #fff0f3;}

.live-gift-grid .moss-ui-icon {width: 18px;}

.live-gift-grid strong {align-self: end;
  font-size: 10px;}

.live-gift-grid small {align-self: start;
  margin-top: 3px;
  color: #85858a;
  font-size: 7.5px;
  line-height: 1.35;}

.live-now-program,
.live-memory-sheet-mode {display: grid;
  gap: 5px;
  margin: 6px 0 11px;
  padding: 14px;
  border-radius: 17px;
  color: #fff;
  background: #1b1b1f;}

.live-now-program span,
.live-memory-sheet-mode span {color: rgba(255, 255, 255, .5);
  font-size: 8px;}

.live-now-program strong,
.live-memory-sheet-mode strong {font-size: 14px;
  font-weight: 780;}

.live-now-program small,
.live-memory-sheet-mode p {margin: 0;
  color: rgba(255, 255, 255, .62);
  font-size: 9px;
  line-height: 1.45;}

.live-program-list {display: grid;
  gap: 1px;
  overflow: hidden;
  border-radius: 17px;
  background: rgba(17, 17, 20, .08);}

.live-program-list button {min-height: 59px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 0;
  color: #1a1a1e;
  text-align: left;
  background: #fff;}

.live-program-list button > span:first-child {color: #a0a0a5;}

.live-program-list button.is-current > span:first-child {color: #ff315b;}

.live-program-list .moss-ui-icon {width: 16px;}

.live-program-list button > span:last-child {min-width: 0;
  display: grid;
  gap: 4px;}

.live-program-list strong {font-size: 10px;}

.live-program-list small {overflow: hidden;
  color: #85858b;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-program-list button:disabled {opacity: .4;}

.live-sheet-secondary,
.live-sheet-danger {width: 100%;
  min-height: 48px;
  margin-top: 11px;
  border: 0;
  border-radius: 15px;
  font: inherit;
  font-size: 11px;
  font-weight: 760;}

.live-sheet-secondary {color: #1a1a1e;
  background: linear-gradient(180deg, #eeeeec, #e5e5e2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);}

.live-sheet-danger {color: #fff;
  background: linear-gradient(145deg, #ff4269, #dc2349);
  box-shadow: 0 10px 22px rgba(220,35,73,.19), inset 0 1px 0 rgba(255,255,255,.15);}

.live-sheet-secondary:active,
.live-sheet-danger:active {transform: scale(.985); box-shadow: none;}

.live-sheet-comments {max-height: 54vh;
  display: grid;
  gap: 6px;
  padding: 4px 0;
  overflow-y: auto;}

.live-sheet-comments .live-comment {width: 100%;
  max-width: none;
  padding: 8px 54px 8px 9px;
  color: #1c1c20;
  background: #fff;
  text-shadow: none;}

.live-sheet-comments .live-comment strong {color: #696970;}

.live-sheet-comments .live-comment.is-user {background: #eafafd;}

.live-sheet-comments .live-comment.is-replied {background: #fff0f3;}

.live-sheet-comments .live-comment time {color: #a0a0a5;}

.live-setting-summary {min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 9px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #fff;}

.live-setting-summary > div {display: grid;
  gap: 4px;}

.live-setting-summary span {color: #85858a;
  font-size: 8px;}

.live-setting-summary strong {font-size: 11px;}

.live-setting-summary button {min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  color: #1b1b1f;
  background: #eeeeec;
  font-size: 8px;
  font-weight: 700;}

.live-sheet-toggles {padding: 0 12px;
  border-radius: 17px;
  background: #fff;}

.live-candidate-list {display: grid;
  gap: 7px;}

.live-candidate-list > div {display: grid;
  gap: 5px;
  padding: 11px;
  border-radius: 14px;
  background: #fff;}

.live-candidate-list > div > span {justify-self: start;
  padding: 3px 6px;
  border-radius: 5px;
  color: #8e3548;
  background: #fff0f3;
  font-size: 7px;
  font-weight: 720;}

.live-candidate-list p {margin: 0;
  color: #242429;
  font-size: 10px;
  line-height: 1.5;}

.live-candidate-list small {color: #8a8a90;
  font-size: 7.5px;}

.live-leave-actions {display: grid;
  gap: 2px;}

.live-sheet-warning {margin: 10px 0 2px;
  padding: 10px 11px;
  border: 1px solid rgba(255, 49, 91, .18);
  border-radius: 12px;
  color: #8c3347;
  background: #fff2f5;
  font-size: 9px;
  line-height: 1.55;}

.live-settlement-scroll,
.live-detail-scroll {padding-left: 15px;
  padding-right: 15px;}

.live-settlement-hero {position: relative;
  min-height: 245px;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 6px;
  overflow: hidden;
  padding: 30px 18px 24px;
  border-radius: 26px;
  color: #fff;
  text-align: center;
  background-color: #222226;
  background-position: center 28%;
  background-size: cover;
  isolation: isolate;}

.live-settlement-hero > div {position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .82));}

.live-settlement-hero .live-kicker {color: rgba(255, 255, 255, .58);}

.live-settlement-hero h1 {margin: 0;
  font-size: 35px;
  font-weight: 820;
  letter-spacing: -.045em;}

.live-settlement-hero p {margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;}

.live-settlement-stats {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 11px;
  overflow: hidden;
  border-radius: 19px;
  background: var(--live-line);}

.live-settlement-stats div {min-height: 70px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 5px;
  background: #fff;}

.live-settlement-stats strong {font-size: 17px;
  font-weight: 810;}

.live-settlement-stats span {color: var(--live-muted);
  font-size: 8px;}

.live-summary-card,
.live-detail-title,
.live-detail-meta {margin-top: 11px;
  padding: 16px;
  border: 1px solid var(--live-line);
  border-radius: 21px;
  background: #fff;}

.live-summary-card h2 {margin: 5px 0 8px;
  color: var(--live-ink);
  font-size: 15px;
  font-weight: 790;}

.live-summary-card > p,
.live-summary-card li {color: #5e5e65;
  font-size: 10px;
  line-height: 1.62;}

.live-summary-card > p {margin: 0;}

.live-summary-card ul {display: grid;
  gap: 6px;
  margin: 0;
  padding: 0 0 0 16px;}

.live-topic-tags {display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 11px;}

.live-topic-tags span {padding: 5px 8px;
  border-radius: 999px;
  color: #68686e;
  background: #f1f1ef;
  font-size: 8px;}

.live-settlement-actions {display: grid;
  gap: 7px;
  margin-top: 14px;}

.live-detail-title {padding-top: 22px;
  padding-bottom: 22px;
  background: #1b1b1f;
  color: #fff;}

.live-detail-title .live-kicker {color: rgba(255, 255, 255, .46);}

.live-detail-title h1 {margin: 7px 0 6px;
  font-size: 24px;
  font-weight: 820;
  letter-spacing: -.035em;}

.live-detail-title p {margin: 0;
  color: rgba(255, 255, 255, .6);
  font-size: 9px;}

.live-summary-card .live-section-heading {margin: 0 0 9px;}

.live-detail-meta {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;}

.live-detail-meta div {min-width: 0;
  display: grid;
  gap: 5px;}

.live-detail-meta span {color: var(--live-muted);
  font-size: 8px;}

.live-detail-meta strong {overflow: hidden;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.live-delete-record {width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
  border: 0;
  border-radius: 15px;
  color: #a62f46;
  background: #ffecef;
  font-size: 10px;
  font-weight: 740;}

.live-delete-record .moss-ui-icon {width: 15px;}

@media (max-width: 390px) {
.live-scroll {padding-left: 11px; padding-right: 11px;}
.live-form-section {padding: 13px;}
.live-mode-grid {gap: 6px;}
.live-caption-zone {right: 64px; bottom: calc(276px + env(safe-area-inset-bottom));}
.live-host-caption > p {font-size: 13px;}
.live-comments {right: 74px;}
.live-side-actions {right: 6px;}
.live-side-actions button {width: 50px;}
.live-side-actions button > .live-action-surface {width: 43px; height: 43px;}
.live-composer-bar {padding-inline: 7px;}
.live-composer-shell {grid-template-columns: 43px minmax(0,1fr) 43px; gap: 6px; padding: 7px;}
.live-composer-more {width: 43px;}
}

@media (prefers-reduced-motion: reduce) {
.live-visual-layer,
.live-sheet,
.live-sheet-scrim,
.live-toggle-list i,
.live-toggle-list i::after {transition: none !important;}
.live-caption-thinking span,
.live-voice-state.is-generating::before,
.live-audio-wave b,
.live-floating-heart {animation: none !important;}
}

/*# source: assets/css/features/radio.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.rpo-inner {width: 100%; max-width: 560px; height: 100%; display: flex; flex-direction: column; align-items: center; padding: 14px 22px calc(34px + env(safe-area-inset-bottom)); background: linear-gradient(180deg, hsl(var(--h,260) 38% 30%), hsl(calc(var(--h,260) + 30) 40% 16%) 60%, #14121f); animation: rpoUp .28s ease;}

.rpo-head {width: 100%; display: flex; align-items: center; justify-content: space-between; color: #e9e5ff; font-size: 13px; padding-top: calc(8px + env(safe-area-inset-top));}

.rpo-head .rpo-close {background: rgba(255,255,255,.14); border: none; color: #fff; width: 38px; height: 38px; border-radius: 50%; font-size: 20px;}

.rpo-head i {width: 38px;}

.rpo-cover {margin: 6vh 0 4vh; width: min(64vw, 280px); height: min(64vw, 280px); border-radius: 22px; display: flex; align-items: center; justify-content: center; font-size: 84px; font-weight: 800; color: #fff; background: linear-gradient(150deg, hsl(var(--h,260) 72% 54%), hsl(calc(var(--h,260) + 45) 76% 40%)); box-shadow: 0 24px 60px rgba(0,0,0,.45);}

.rpo-meta {width: 100%; text-align: center; display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px;}

.rpo-meta strong {font-size: 21px; color: #fff; line-height: 1.3;}

.rpo-meta small {font-size: 13px; color: #cfc9ea;}

.rpo-meta .rpo-status {color: #ffe6a8; font-size: 12px; min-height: 14px;}

.rpo-scrub {width: 100%;}

.rpo-scrub input[type="range"] {width: 100%;}

.rpo-time {display: flex; justify-content: space-between; color: #c4bee0; font-size: 12px; margin-top: 4px;}

.rpo-controls {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 22px;}

.rpo-controls button {background: rgba(255,255,255,.1); border: none; color: #fff; border-radius: 14px; height: 52px; flex: 1; font-size: 15px; font-weight: 600;}

.rpo-controls .rpo-play {flex: 1.3; height: 64px; font-size: 26px; background: rgba(255,255,255,.92); color: #2a2350; border-radius: 50%; max-width: 64px;}

.rpo-controls .rpo-speed,
.rpo-controls .rpo-export {flex: .7; font-size: 14px;}

.rpo-seg {color: #b6b0d6; font-size: 12px; margin-top: 18px; text-align: center;}

.rpo-cover.rpo-cover-sm {margin: 2.4vh 0 1.6vh; width: min(34vw, 150px); height: min(34vw, 150px); border-radius: 18px; font-size: 48px;}

.rpo-meta {margin-bottom: 10px;}

.rpo-controls {margin-top: 14px;}

.rp-v3-backdrop {position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 50% 8%, rgba(190,202,214,.16), transparent 34%), radial-gradient(circle at 14% 68%, rgba(111,147,181,.12), transparent 32%), linear-gradient(180deg, #191c20 0%, #0d0f12 100%);}

.rp-v3-backdrop::after {content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(180deg, rgba(0,0,0,.8), transparent 72%); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.8), transparent 72%);}

.rp-v3-container {height: 100%; width: 100%; max-width: 620px; margin: 0 auto; display: grid; grid-template-rows: auto minmax(220px, 42vh) auto minmax(150px, 1fr) auto; padding: calc(12px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom)); gap: 13px;}

.rp-v3-head {display: flex; justify-content: space-between; align-items: center; color: rgba(255,255,255,.72); min-height: 42px;}

.rp-v3-close,
.rp-v3-icon-btn {width: 38px; height: 38px; border: 0; color: inherit; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; display: grid; place-items: center;}

.rp-v3-channel {display: flex; flex-direction: column; align-items: center; gap: 2px; font-weight: 900; letter-spacing: .08em; font-size: 11.5px; text-transform: uppercase; text-align: center;}

.rp-v3-channel small {color: rgba(255,255,255,.42); font-size: 10.5px; letter-spacing: .05em;}

.rp-v3-art-zone {position: relative; display: flex; align-items: stretch; justify-content: center; min-height: 0;}

.rp-v3-art-card {width: 100%; border-radius: 28px; overflow: hidden; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.09); box-shadow: 0 28px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.1); position: relative;}

.rp-v3-art-card::after {content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 44%, rgba(0,0,0,.5) 100%), radial-gradient(circle at 50% 20%, rgba(255,255,255,.14), transparent 52%); pointer-events: none;}

.rp-v3-art-img {width: 100%; height: 100%; background-size: cover !important; background-position: center 14% !important; filter: saturate(.92) contrast(1.02);}

.rp-v3-art-text {height: 100%; display: grid; place-items: center; font-size: 90px; font-weight: 950; color: #fff; background: linear-gradient(135deg, hsl(var(--theme-h) 35% 45%), hsl(calc(var(--theme-h) + 30) 36% 26%));}

.rp-v3-floating-tag {position: absolute; left: 16px; bottom: 16px; z-index: 2; display: flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; background: rgba(0,0,0,.38); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-size: 11.5px; font-weight: 850;}

.rp-v3-floating-tag i {width: 7px; height: 7px; border-radius: 50%; background: #d8e0ea; box-shadow: 0 0 12px rgba(216,224,234,.8);}

.rp-v3-info {padding: 0 2px; display: flex; flex-direction: column; gap: 6px;}

.rp-v3-title {margin: 0; color: #fff; font-size: 24px; line-height: 1.18; font-weight: 930; letter-spacing: -.04em;}

.rp-v3-sub {margin: 0; color: rgba(255,255,255,.47); font-size: 13.5px; line-height: 1.45; font-weight: 650;}

.rp-v3-info .rpo-status {color: #dfe8f4; font-size: 12px; min-height: 14px;}

.rp-v3-playback {display: flex; flex:0 0 auto; flex-direction: column; gap: 16px; min-height:114px; padding-top: 4px; contain:layout;}

.rp-v3-time-row {margin-top: 7px; display: flex; justify-content: space-between; color: rgba(255,255,255,.42); font-size: 11.5px; font-variant-numeric: tabular-nums; font-weight: 800;}

.rp-v3-controls {display: grid; grid-template-columns: 52px 1fr 52px; align-items: center;}

.rp-v3-speed,
.rp-v3-mode {height: 38px; border: 0; border-radius: 12px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.74); font-size: 13px; font-weight: 850;}

.rp-v3-main-ops {display: flex; align-items: center; justify-content: center; gap: 24px;}

.rp-v3-skip,
.rp-v3-play {border: 0; background: transparent; color: #fff; display: grid; place-items: center;}

.rp-v3-skip {width: 42px; height: 42px; color: rgba(255,255,255,.74);}

.rp-v3-play {width: 68px; height: 68px; background: #fff; color: #15171a; border-radius: 50%; box-shadow: 0 14px 34px rgba(255,255,255,.13), 0 16px 30px rgba(0,0,0,.28); font-size: 28px;}

.rp-v3-play:active,
.rp-v3-skip:active,
.rp-v3-close:active,
.rp-v3-icon-btn:active {transform: scale(.94);}

@media (max-height: 790px) {
.rp-v3-container {grid-template-rows: auto minmax(178px, 34vh) auto minmax(120px, 1fr) auto; gap: 10px; padding-left: 18px; padding-right: 18px;}
.rp-v3-title {font-size: 21px;}
.rp-v3-play {width: 60px; height: 60px;}
}

.rp-v3-art-img.sprite-swap {animation: mossRadioSpriteSwap .55s ease both;}

/* Existing canonical module rules follow. */
/*
 * radio feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.radio-gradient { background: linear-gradient(150deg, #11163a, #3a2a6e 50%, #6d4f9e); color: #ece7ff; }
.radio-app { padding: 14px; display: flex; flex-direction: column; gap: 14px; }
.radio-hero { padding: 18px 16px; border-radius: 18px; background: linear-gradient(150deg, #141a3c, #2a2156 60%, #3c2f63); color: #efe9ff; box-shadow: 0 14px 34px rgba(20,16,48,.28); }
.radio-dial { font-size: 16px; font-weight: 900; letter-spacing: .04em; }
.radio-hero p { margin: 8px 0 0; font-size: 12.5px; line-height: 1.6; color: rgba(236,231,255,.78); }
.radio-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.radio-char-filter { flex: 1 1 100%; display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.14)) 85%, transparent); background: color-mix(in srgb, var(--surface-strong, #fff) 84%, transparent); color: color-mix(in srgb, var(--skin-text, #2c2740) 70%, transparent); font-size: 12px; font-weight: 800; }
.radio-char-filter input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; color: var(--skin-text, #2c2740); font-size: 13px; font-weight: 800; }
.radio-char-filter input::placeholder { color: color-mix(in srgb, var(--skin-text, #2c2740) 38%, transparent); }
.radio-slot-field { flex: 1 1 150px; display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.14)) 85%, transparent); background: color-mix(in srgb, var(--surface-strong, #fff) 84%, transparent); color: color-mix(in srgb, var(--skin-text, #2c2740) 70%, transparent); font-size: 12px; font-weight: 800; }
.radio-slot-field .radio-select { min-height: 30px; padding: 0 4px; border: 0; background: transparent; }
.radio-select { flex: 1 1 120px; min-height: 38px; padding: 0 12px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.14)) 85%, transparent); background: var(--surface-strong, #fff); color: var(--skin-text, #2c2740); font-size: 13px; font-weight: 700; }
.radio-record { min-height: 38px; padding: 0 16px; border-radius: 999px; border: none; background: linear-gradient(135deg, #3a2a6e, #6d4f9e); color: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.radio-record-all { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid color-mix(in srgb, #6d4f9e 45%, transparent); background: transparent; color: #6d4f9e; font-size: 12.5px; font-weight: 800; white-space: nowrap; }
.radio-status { min-height: 16px; font-size: 12px; color: color-mix(in srgb, var(--skin-text, #2c2740) 62%, transparent); }
.radio-list { display: flex; flex-direction: column; gap: 12px; }
.radio-empty { padding: 26px 18px; text-align: center; font-size: 13px; line-height: 1.7; color: color-mix(in srgb, var(--skin-text, #2c2740) 60%, transparent); border: 1px dashed color-mix(in srgb, var(--skin-border, rgba(0,0,0,.2)) 80%, transparent); border-radius: 16px; }
.radio-card { padding: 14px 15px; border-radius: 16px; background: var(--surface-strong, #fff); border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.1)) 80%, transparent); box-shadow: 0 10px 26px color-mix(in srgb, #2a2156 8%, transparent); }
.radio-card.fav { border-color: color-mix(in srgb, #6d4f9e 50%, transparent); }
.radio-card header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.radio-card-meta strong { font-size: 14px; font-weight: 900; color: var(--skin-text, #2c2740); }
.radio-card-meta small { display: block; margin-top: 2px; font-size: 11.5px; color: color-mix(in srgb, var(--skin-text, #2c2740) 58%, transparent); }
.radio-card time { font-size: 11px; color: color-mix(in srgb, var(--skin-text, #2c2740) 50%, transparent); white-space: nowrap; }
.radio-content { margin: 0 0 10px; font-size: 14px; line-height: 1.85; color: var(--skin-text, #2c2740); white-space: pre-wrap; }
.radio-player { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 8px 0 10px; padding: 8px 10px; border-radius: 14px; background: color-mix(in srgb, #6d4f9e 8%, var(--surface-strong, #fff)); border: 1px solid color-mix(in srgb, #6d4f9e 18%, transparent); }
.radio-progress { width: 100%; accent-color: #6d4f9e; }
.radio-progress:disabled { opacity: .42; }
.radio-time { font-size: 11px; font-weight: 800; color: color-mix(in srgb, var(--skin-text, #2c2740) 58%, transparent); white-space: nowrap; }
.radio-voice-error { margin: -2px 0 8px; font-size: 11.5px; line-height: 1.5; color: #9b3f3f; }
.radio-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.radio-card-actions button { min-height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 80%, transparent); background: color-mix(in srgb, var(--surface-strong, #fff) 70%, transparent); color: var(--skin-text, #2c2740); font-size: 12px; font-weight: 700; }
.radio-card-actions button[data-radio-play] { color: #6d4f9e; border-color: color-mix(in srgb, #6d4f9e 40%, transparent); }
.radio-show-panel { margin: 6px 0 4px; border: 1px solid rgba(120,110,150,.22); border-radius: 12px; background: rgba(255,255,255,.5); overflow: hidden; }
.radio-show-panel > summary { padding: 11px 14px; font-weight: 700; font-size: 14px; cursor: pointer; list-style: none; color: #4a3f63; }
.radio-show-panel > summary::-webkit-details-marker { display: none; }
.radio-show-panel-body { padding: 4px 14px 14px; display: flex; flex-direction: column; gap: 12px; }
.radio-show-field { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #5a5170; }
.radio-show-field.col { flex-direction: column; align-items: stretch; gap: 7px; }
.radio-show-field > span { flex: 0 0 auto; min-width: 56px; }
.radio-show-field .radio-select { flex: 1; min-height: 38px; padding: 0 10px; border: 1px solid rgba(120,110,150,.3); border-radius: 9px; background: #fff; }
.radio-guest-chips, .radio-track-list { display: flex; flex-wrap: wrap; gap: 8px; }
.radio-guest-chip { padding: 6px 12px; border: 1px solid rgba(120,110,150,.3); border-radius: 999px; background: #fff; font-size: 13px; color: #5a5170; }
.radio-guest-chip.on { background: #6c5ce7; border-color: #6c5ce7; color: #fff; }
.radio-track-list { flex-direction: column; gap: 6px; }
.radio-track-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid rgba(120,110,150,.2); border-radius: 9px; background: #fff; }
.radio-track-row.on { border-color: #6c5ce7; background: rgba(108,92,231,.07); }
.radio-track-pick { flex: 0 0 auto; width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(108,92,231,.12); color: #6c5ce7; font-size: 14px; }
.radio-track-row.on .radio-track-pick { background: #6c5ce7; color: #fff; }
.radio-track-name { flex: 1; font-size: 13px; color: #4a3f63; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.radio-track-del { flex: 0 0 auto; padding: 4px 10px; border: 0; border-radius: 7px; background: rgba(220,80,80,.1); color: #c0392b; font-size: 12px; }
.radio-track-empty { font-size: 12.5px; color: #9a93ad; margin: 2px 0; }
.radio-track-import { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-height: 36px; padding: 0 14px; border: 1px dashed rgba(108,92,231,.5); border-radius: 9px; color: #6c5ce7; font-size: 13px; font-weight: 650; cursor: pointer; }
.radio-show-record { margin-top: 2px; }
.radio-show-card .radio-show-script { display: flex; flex-direction: column; gap: 9px; margin: 8px 0 10px; }
.radio-seg { display: flex; gap: 10px; padding: 8px 10px; border-radius: 9px; background: rgba(120,110,150,.06); transition: background .2s, box-shadow .2s; }
.radio-seg.now-playing { background: rgba(108,92,231,.14); box-shadow: inset 3px 0 0 #6c5ce7; }
.radio-seg-who { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; min-width: 58px; font-size: 13px; font-weight: 700; color: #4a3f63; }
.radio-seg-who small { font-weight: 500; font-size: 10.5px; color: #9a93ad; }
.radio-seg-text { flex: 1; font-size: 13.5px; line-height: 1.62; color: #2f2a3d; }
.radio-seg-text > span { display: block; }
.radio-seg-text .radio-seg-translation { display: block; margin-top: 5px; padding-top: 5px; border-top: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.1)) 72%, transparent); color: var(--skin-muted, #777184); font-size: 11.5px; font-weight: 600; line-height: 1.5; }
.radio-seg-song { background: rgba(255,193,94,.12); }
.radio-seg-song .radio-seg-text em { display: block; margin-top: 3px; font-style: normal; font-weight: 700; color: #b8860b; }
.radio-seg-text .radio-voice-error { color: #c0392b; font-size: 11.5px; }
.radio-theme-input { flex: 1; min-height: 38px; padding: 0 10px; border: 1px solid rgba(120,110,150,.3); border-radius: 9px; background: #fff; font-size: 13px; }
.radio-theme-input::placeholder { color: #b3adc4; }
.radio-mailbox-panel { border-radius: 14px; padding: 10px; background: rgba(255,255,255,.54); border: 1px solid rgba(120,110,150,.16); }
.radio-mailbox-input { width: 100%; min-height: 78px; resize: vertical; border: 1px solid rgba(120,110,150,.28); border-radius: 10px; background: #fff; color: #3f3658; padding: 10px; font: inherit; line-height: 1.55; box-sizing: border-box; }
.radio-mailbox-input::placeholder { color: #aaa2bd; }
.radio-mailbox-add { align-self: flex-start; border: 0; border-radius: 999px; padding: 9px 14px; background: #3f5f82; color: #fff; font-weight: 800; }
.radio-mailbox-list { display: grid; gap: 7px; }
.radio-mailbox-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; align-items: center; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.72); border: 1px solid rgba(120,110,150,.13); }
.radio-mailbox-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #403956; font-size: 12.5px; }
.radio-mailbox-list p { grid-column: 1 / -1; margin: 0; color: #746d86; font-size: 11.5px; line-height: 1.45; }
.radio-mailbox-list button { border: 0; border-radius: 8px; background: rgba(189,75,75,.1); color: #a64141; padding: 5px 8px; font-size: 11px; }
.radio-hero,
.radio-gradient {
  background: linear-gradient(150deg, #2f4660, #466389 60%, #5786b1) !important;
  color: #eef3f9 !important;
  box-shadow: 0 12px 30px rgba(34, 52, 74, 0.22) !important;
}
.radio-record { background: linear-gradient(135deg, #466389, #5786b1) !important; }
.radio-player {
  background: color-mix(in srgb, var(--ed-accent) 7%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--ed-accent) 18%, transparent) !important;
}
.radio-shuffle-bar { display: flex; align-items: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.radio-shuffle-btn { border: none; border-radius: 12px; padding: 9px 16px; font-size: 13px; font-weight: 600; color: #fff; background: linear-gradient(135deg, #3a2a6e, #6d4f9e); }
.radio-shuffle-stop { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #ece7ff; border-radius: 12px; padding: 9px 14px; font-size: 13px; }
.radio-shuffle-status { font-size: 12px; color: #c9c2ec; flex: 1; min-width: 120px; }
.radio-track-edit { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #ece7ff; border-radius: 8px; padding: 3px 9px; font-size: 12px; margin-right: 4px; }
.radio-row { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 10px 12px; margin-bottom: 10px; }
.radio-row.fav { border-color: rgba(255,214,120,.55); }
.radio-row-main { display: flex; gap: 12px; align-items: flex-start; width: 100%; background: none; border: none; padding: 0; text-align: left; color: inherit; }
.radio-cover { flex-shrink: 0; width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800; color: #fff; background: linear-gradient(150deg, hsl(var(--h,260) 70% 52%), hsl(calc(var(--h,260) + 40) 75% 42%)); box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.radio-row-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.radio-row-date { color: #b9b3d6; font-size: 11px; }
.radio-row-title { font-size: 15px; color: #f3f0ff; line-height: 1.35; }
.radio-row-sub { color: #c6c0e4; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.radio-row-preview { color: #8f8aac; font-size: 12px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.radio-row-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.radio-row-play { border: none; border-radius: 999px; padding: 7px 16px; font-size: 13px; font-weight: 600; color: #fff; background: linear-gradient(135deg, #6d4f9e, #3a2a6e); }
.radio-row-play:disabled { opacity: .6; }
.radio-row-menu { position: relative; }
.radio-row-menu > summary { list-style: none; cursor: pointer; padding: 6px 12px; border-radius: 10px; background: rgba(255,255,255,.08); color: #ece7ff; font-size: 16px; line-height: 1; }
.radio-row-menu > summary::-webkit-details-marker { display: none; }
.radio-row-menu[open] > summary { background: rgba(255,255,255,.16); }
.radio-row-menu-body { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 5; display: flex; flex-direction: column; gap: 4px; background: #241f3a; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 6px; min-width: 150px; box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.radio-row-menu-body button { background: none; border: none; color: #ece7ff; text-align: left; padding: 9px 10px; border-radius: 8px; font-size: 13px; }
.radio-row-menu-body button:active { background: rgba(255,255,255,.1); }
.radio-player-overlay { position: fixed; inset: 0; z-index: 6000; display: flex; align-items: flex-end; justify-content: center; background: rgba(8,8,20,.55); backdrop-filter: blur(6px); }
#appScreen :is(.radio-hero, .radio-gradient) {
  background: linear-gradient(150deg, #e3edf8, #cfddf0) !important;
  color: var(--ed-text) !important;
  box-shadow: 0 8px 22px rgba(34,52,74,.08) !important;
}
#appScreen :is(.radio-hero, .radio-gradient) * { color: var(--ed-text) !important; }
#appScreen .radio-record {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
}
body[class*="theme-tone-"] #appScreen :is(.radio-hero, .radio-gradient, .music-hero, .shop-hero-badge, .shop-gradient) {
  color: var(--tone-text) !important;
  background: linear-gradient(145deg, var(--tone-soft), color-mix(in srgb, var(--tone-accent-2) 28%, var(--tone-surface-strong))) !important;
  border-color: var(--tone-line) !important;
  box-shadow: none !important;
}
body[class*="theme-tone-"] #appScreen :is(.radio-hero, .radio-gradient, .music-hero, .shop-hero-badge, .shop-gradient) * {
  color: var(--tone-text) !important;
}
body[class*="theme-tone-"] #appScreen :is(.shop-order-status.received, .radio-record, .radio-shuffle-btn, .radio-row-play) {
  color: var(--tone-accent) !important;
  background: var(--tone-soft) !important;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 26%, transparent) !important;
  box-shadow: none !important;
}
#appScreen .radio-row {
  border-color: var(--skin-border, rgba(63, 76, 90, .16));
  background: color-mix(in srgb, var(--surface-strong, #fff) 94%, var(--skin-accent, #6f93b5) 6%);
}
#appScreen .radio-row-title { color: var(--skin-text, #25303b); }
#appScreen :is(.radio-row-date, .radio-row-sub, .radio-row-preview) { color: var(--skin-muted, #687887); }
#appScreen .radio-row-menu > summary { color: var(--skin-text, #25303b); background: var(--skin-button, #e7eef6); }
.radio-track-name { min-width: 0; display: grid; gap: 2px; white-space: normal; }
.radio-track-name small { color: #9a93ad; font-size: 9px; font-weight: 700; }
.radio-app-v2 {
  max-width: 768px;
  margin: 0 auto;
  padding: 16px 20px calc(40px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 100%;
  color: var(--skin-text, #25303b);
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--skin-accent, #6f93b5) 12%, transparent), transparent 34%),
    var(--phone-bg, #f7f8fb);
}
.radio-app-v2 .ra-header { display: block; }
.radio-app-v2 .ra-hero-title h2 {
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -0.045em;
  color: var(--skin-text, #1a1f24);
  margin: 0 0 6px;
}
.radio-app-v2 .ra-hero-title p {
  font-size: 13.5px;
  color: var(--skin-muted, #687887);
  margin: 0;
  line-height: 1.55;
}
.radio-app-v2 .ra-control-deck {
  background: color-mix(in srgb, var(--surface-strong, #fff) 95%, var(--skin-accent, #6f93b5) 5%);
  border: 1px solid var(--skin-border, rgba(63, 76, 90, 0.12));
  border-radius: 20px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.035);
}
.radio-app-v2 .ra-deck-row { display: flex; gap: 10px; flex-wrap: wrap; }
.radio-app-v2 .flex-1 { flex: 1; min-width: 140px; }
.radio-app-v2 .ra-input-group {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
  background: var(--surface-strong, #fff);
  border: 1px solid var(--skin-border, rgba(0,0,0,0.08));
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s, box-shadow .2s;
}
.radio-app-v2 .ra-input-group:focus-within {
  border-color: var(--skin-text, #25303b);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--skin-text, #25303b) 8%, transparent);
}
.radio-app-v2 .ra-input-group.search svg { margin-left: 12px; color: var(--skin-muted, #888); width: 16px; height: 16px; flex: 0 0 auto; }
.radio-app-v2 .ra-input-group input,
.radio-app-v2 .ra-input-group select {
  width: 100%;
  border: none;
  background: transparent;
  padding: 12px 14px;
  font-size: 14px;
  color: var(--skin-text, #25303b);
  outline: none;
  appearance: none;
  font-family: inherit;
  font-weight: 700;
}
.radio-app-v2 .ra-input-group.select::after {
  content: '▾';
  position: absolute;
  right: 14px;
  color: var(--skin-muted, #687887);
  pointer-events: none;
}
.radio-app-v2 .ra-btn-primary {
  background: var(--skin-text, #25303b);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 0 20px;
  min-height: 44px;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  transition: transform .12s, opacity .2s;
  white-space: nowrap;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text, #25303b) 18%, transparent);
}
.radio-app-v2 .ra-btn-primary:active { transform: scale(0.96); }
.radio-app-v2 .ra-btn-primary:disabled { opacity: .5; }
.radio-app-v2 .ra-deck-actions { display: flex; justify-content: flex-end; }
.radio-app-v2 .ra-btn-text {
  background: none;
  border: none;
  color: var(--skin-accent, #6f93b5);
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
  padding: 4px 8px;
}
.radio-app-v2 .ra-feed-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--skin-text, #25303b);
  margin: 0 0 16px;
}
.radio-app-v2 .ra-list { display: flex; flex-direction: column; gap: 14px; }
.radio-empty-state {
  font-size: 13px;
  color: var(--skin-muted, #687887);
  padding: 26px 16px;
  text-align: center;
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 86%, transparent);
  border: 1px dashed var(--skin-border, rgba(63,76,90,.18));
}
.radio-empty-state .re-icon { font-size: 28px; margin-bottom: 6px; }
.radio-secret-panel {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  color: var(--skin-text, #25303b);
  border: 1px solid color-mix(in srgb, var(--skin-accent, #6f93b5) 24%, var(--skin-border, rgba(63,76,90,.14)));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, #7f719d 18%, transparent), transparent 38%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong, #fff) 94%, #77708e 6%), var(--surface-strong, #fff));
  box-shadow: 0 14px 34px rgba(37,35,52,.07);
}
.radio-secret-panel::after { content: ""; position: absolute; right: -34px; top: -42px; width: 130px; height: 130px; border-radius: 50%; border: 1px solid color-mix(in srgb, #8a7aa5 18%, transparent); pointer-events: none; }
.radio-secret-head { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: start; position: relative; z-index: 1; }
.radio-secret-icon { width: 42px; height: 42px; border-radius: 15px; display: grid; place-items: center; font-size: 22px; color: #fff; background: linear-gradient(145deg, #5e596d, #2f3038); box-shadow: 0 8px 20px rgba(37,35,52,.18); }
.radio-secret-title-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.radio-secret-title-row h3 { margin: 0; font-size: 18px; font-weight: 920; letter-spacing: -.025em; }
.radio-secret-title-row span { padding: 3px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 850; color: #655c73; background: rgba(112,100,132,.12); border: 1px solid rgba(112,100,132,.14); }
.radio-secret-head p { margin: 5px 0 0; color: var(--skin-muted, #687887); font-size: 12.5px; line-height: 1.55; }
.radio-secret-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.radio-secret-grid label, .radio-secret-theme { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.radio-secret-grid label > span, .radio-secret-theme > span { font-size: 11.5px; font-weight: 850; color: color-mix(in srgb, var(--skin-text, #25303b) 68%, transparent); }
.radio-secret-grid select, .radio-secret-theme textarea { width: 100%; border: 1px solid var(--skin-border, rgba(63,76,90,.13)); border-radius: 12px; background: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent); color: var(--skin-text, #25303b); font: inherit; outline: none; }
.radio-secret-grid select { min-height: 42px; padding: 0 12px; font-size: 13px; font-weight: 760; }
.radio-secret-theme textarea { min-height: 104px; padding: 12px 13px; resize: vertical; line-height: 1.65; font-size: 13.5px; }
.radio-secret-grid select:focus, .radio-secret-theme textarea:focus { border-color: color-mix(in srgb, #746982 52%, var(--skin-border, rgba(0,0,0,.1))); box-shadow: 0 0 0 3px rgba(112,100,132,.09); }
.radio-secret-theme textarea::placeholder { color: color-mix(in srgb, var(--skin-muted, #687887) 62%, transparent); }
.radio-secret-foot { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
.radio-secret-foot small { color: var(--skin-muted, #687887); line-height: 1.5; font-size: 11px; }
.radio-secret-foot button { min-height: 44px; padding: 0 17px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #5d586b, #303139); font-size: 13.5px; font-weight: 880; box-shadow: 0 9px 22px rgba(37,35,52,.18); }
.radio-secret-foot button:disabled { opacity: .48; }
.radio-card-v2.is-secret { border-color: color-mix(in srgb, #7b708e 30%, var(--skin-border, rgba(63,76,90,.15))); background: linear-gradient(145deg, color-mix(in srgb, var(--surface-strong, #fff) 97%, #7a7188 3%), var(--surface-strong, #fff)); }
.radio-card-v2.is-secret .rc-sub { color: #746982; }
@media (max-width: 430px) {
  .radio-secret-grid { grid-template-columns: 1fr; }
  .radio-secret-foot { grid-template-columns: 1fr; }
  .radio-secret-foot button { width: 100%; }
}
.radio-card-v2 {
  background: var(--surface-strong, #fff);
  border: 1px solid var(--skin-border, rgba(63,76,90,.15));
  border-radius: 18px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow .25s, transform .18s;
  box-shadow: 0 8px 22px rgba(26,35,48,.04);
}
.radio-card-v2:active { transform: scale(.985); }
.radio-card-v2.is-fav { border-left: 4px solid #e5ba4a; }
.radio-card-v2:active .rc-cover-img { transform: scale(1.05); }
.radio-show-panel-v2 { background: var(--surface-strong, #fff); border: 1px solid var(--skin-border, rgba(63,76,90,.15)); border-radius: 20px; overflow: hidden; box-shadow: 0 12px 32px rgba(0,0,0,.04); margin-top: 8px; transition: all .3s ease; }
.radio-show-panel-v2[open] .rsp-summary-arrow { transform: rotate(180deg); }
.radio-show-panel-v2[open] .rsp-summary { border-bottom: 1px solid var(--skin-border, rgba(0,0,0,.08)); }
.radio-player-v3.radio-player-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  background: #15171a;
  color: #ececf1;
  animation: radioPlayerV3Rise .42s cubic-bezier(.2,.84,.2,1);
}
@keyframes radioPlayerV3Rise { from { transform: translateY(100%); } to { transform: translateY(0); } }
.rp-v3-slider.radio-progress { width: 100%; appearance: none; height: 6px; border-radius: 999px; background: linear-gradient(90deg, #ececf1 var(--progress, 0%), rgba(255,255,255,.13) var(--progress, 0%)); outline: none; }
.rp-v3-slider.radio-progress::-webkit-slider-thumb { appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 2px 10px rgba(255,255,255,.24); }
@media (max-width: 380px) {
  .radio-app-v2 { padding-left: 14px; padding-right: 14px; }
}
@keyframes mossRadioSpriteSwap { 0% { opacity: .28; transform: scale(1.025); filter: blur(5px); } 100% { opacity: 1; transform: scale(1); filter: blur(0); } }
#appScreen .radio-app-v2 {
  min-height: 100%;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .ra-header {
  padding: 18px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 20px !important;
  color: var(--moss-ui-text) !important;
  background: linear-gradient(145deg, var(--moss-ui-accent-wash), var(--moss-ui-card)) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .ra-hero-title h2 { color: var(--moss-ui-text) !important; font-size: 22px; font-weight: 690; letter-spacing: -.03em; }
#appScreen .ra-hero-title p { color: var(--moss-ui-muted) !important; }
#appScreen .ra-control-deck,
#appScreen .ra-show-wrapper {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .ra-input-group {
  border-color: var(--moss-ui-line) !important;
  border-radius: 13px !important;
  background: var(--moss-ui-control) !important;
}
#appScreen .ra-btn-primary {
  min-height: 44px;
  border-radius: 13px !important;
}
#appScreen .ra-btn-text {
  min-height: 40px;
  border-radius: 11px !important;
}
#appScreen .ra-feed-title { color: var(--moss-ui-text) !important; font-size: 17px; font-weight: 680; }
#appScreen .ra-list { gap: 9px; }
#appScreen .radio-card-v2,
#appScreen .radio-show-card,
#appScreen .radio-empty-state {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .radio-card-v2 strong,
#appScreen .radio-show-card strong { color: var(--moss-ui-text) !important; }
#appScreen .radio-card-v2 p,
#appScreen .radio-card-meta,
#appScreen .radio-time { color: var(--moss-ui-muted) !important; }
#appScreen .radio-seg {
  border-color: var(--moss-ui-line) !important;
  border-radius: 12px !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .radio-seg-who { color: var(--moss-ui-accent-strong) !important; }
#appScreen .radio-player {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
}
#appScreen .radio-progress > i { background: var(--moss-ui-accent) !important; }
#appScreen .radio-app-v2 {
  --ra-ink: var(--skin-text, #2b2d34);
  --ra-muted: var(--skin-muted, #7f7d84);
  --ra-line: color-mix(in srgb, var(--skin-border, rgba(70,65,72,.14)) 82%, transparent);
  --ra-paper: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent);
  max-width: 720px;
  padding: 14px 16px calc(42px + env(safe-area-inset-bottom));
  gap: 20px;
  background:
    radial-gradient(circle at 82% 2%, rgba(223,190,165,.22), transparent 30%),
    radial-gradient(circle at 5% 42%, rgba(177,193,183,.18), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--phone-bg, #f5f1ec) 92%, #f4e5d8 8%), var(--phone-bg, #f7f8fb));
}
.radio-dream-hub {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 30px;
  padding: 22px 16px 18px;
  min-height: 620px;
  color: #413a36;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,240,220,.78), transparent 26%),
    radial-gradient(circle at 14% 70%, rgba(225,238,221,.68), transparent 30%),
    linear-gradient(145deg, rgba(224,211,204,.98), rgba(239,231,219,.98) 48%, rgba(212,222,213,.96));
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: 0 24px 60px rgba(96,78,67,.15), inset 0 1px 0 rgba(255,255,255,.8);
}
.radio-dream-hub::before,
.radio-dream-hub::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  filter: blur(10px);
  opacity: .72;
}
.radio-dream-hub::before { width: 210px; height: 210px; border-radius: 50%; left: -88px; top: 86px; background: rgba(255,255,255,.64); }
.radio-dream-hub::after { width: 230px; height: 160px; border-radius: 50%; right: -110px; bottom: 40px; background: rgba(246,205,185,.52); }
.radio-hub-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 19px; padding: 0 4px; }
.radio-hub-head > div { min-width: 0; }
.radio-hub-head small { display: block; margin-bottom: 5px; color: rgba(74,63,57,.58); font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.radio-hub-head h2 { margin: 0; color: #453d38; font: 900 25px/1.12 -apple-system, "PingFang SC", sans-serif; letter-spacing: -.04em; }
.radio-hub-head > span { flex: 0 0 auto; max-width: 96px; color: rgba(74,63,57,.56); font-size: 10.5px; line-height: 1.45; text-align: right; }
.radio-zone-grid {
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
  grid-template-rows: 150px 152px 148px;
  gap: 12px;
}
.radio-zone {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255,255,255,.54);
  color: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 30px rgba(75,61,53,.16), inset 0 1px 0 rgba(255,255,255,.22);
  transform: translateZ(0);
  transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s;
}
.radio-zone:active { transform: scale(.975); box-shadow: 0 8px 18px rgba(75,61,53,.14); }
.radio-zone-solo { grid-column: 1; grid-row: 1; border-radius: 26px 10px 26px 10px; background: linear-gradient(145deg,#a98c78,#6e655e); }
.radio-zone-sleep { grid-column: 2; grid-row: 1 / span 2; border-radius: 48% 48% 30px 30px; background: linear-gradient(150deg,#c2a67d,#7c6b5b); }
.radio-zone-podcast { grid-column: 1; grid-row: 2 / span 2; border-radius: 18px 30px 10px 30px; background: linear-gradient(155deg,#87968d,#536b62); }
.radio-zone-secret { grid-column: 2; grid-row: 3; border-radius: 12px 30px 30px 18px; background: linear-gradient(145deg,#a58b85,#6f656e); }
.radio-zone-art { position: absolute; inset: 0; background-position: center 18% !important; background-size: cover !important; filter: saturate(.78) contrast(.92); transform: scale(1.01); transition: transform .5s ease; }
.radio-zone:active .radio-zone-art { transform: scale(1.05); }
.radio-zone-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.32); font: 300 72px/1 Georgia, serif; background: radial-gradient(circle at 48% 28%, rgba(255,255,255,.26), transparent 32%); }
.radio-zone-sheen { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 36%, rgba(24,20,18,.7)); }
.radio-zone-sleep .radio-zone-sheen { background: radial-gradient(circle at 50% 18%, rgba(255,238,204,.22), transparent 36%), linear-gradient(180deg, transparent 36%, rgba(42,32,24,.76)); }
.radio-zone-copy { position: absolute; z-index: 2; left: 14px; right: 12px; bottom: 14px; display: grid; gap: 2px; text-shadow: 0 3px 13px rgba(0,0,0,.4); }
.radio-zone-copy small { color: rgba(255,255,255,.72); font-size: 8.5px; font-weight: 850; letter-spacing: .12em; }
.radio-zone-copy strong { font: 880 20px/1.12 -apple-system,"PingFang SC",sans-serif; letter-spacing: -.04em; }
.radio-zone-sleep .radio-zone-copy strong { font-size: 24px; }
.radio-zone-copy em { position: absolute; right: 0; bottom: 2px; padding: 3px 6px; border-radius: 999px; color: #fff5e9; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.2); font-size: 8.5px; font-style: normal; font-weight: 900; letter-spacing: .08em; backdrop-filter: blur(8px); }
.radio-hub-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 18px 0 0; color: rgba(74,63,57,.58); font-size: 10.5px; }
.radio-hub-note i { width: 6px; height: 6px; border-radius: 50%; background: #76887c; box-shadow: 0 0 0 5px rgba(118,136,124,.12); }
.radio-mode-head { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; align-items: start; padding: 4px 2px 2px; }
.radio-mode-head > button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ra-line); border-radius: 50%; color: var(--ra-ink); background: var(--ra-paper); font: 300 29px/1 Georgia,serif; box-shadow: 0 8px 20px rgba(50,48,48,.06); }
.radio-mode-head small { display: block; margin: 2px 0 3px; color: var(--ra-muted); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.radio-mode-head h2 { margin: 0; color: var(--ra-ink); font-size: 25px; line-height: 1.1; font-weight: 930; letter-spacing: -.045em; }
.radio-mode-head p { margin: 7px 0 0; color: var(--ra-muted); font-size: 12.5px; line-height: 1.55; }
.radio-mode-panel,
.radio-podcast-shell {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid var(--ra-line);
  border-radius: 24px;
  background: var(--ra-paper);
  box-shadow: 0 16px 38px rgba(47,48,51,.07), inset 0 1px 0 rgba(255,255,255,.54);
}
.radio-mode-panel-lead,
.radio-podcast-lead { position: relative; z-index: 1; display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.radio-mode-panel-lead > span,
.radio-podcast-lead > span { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,#73767b,#3c4045); font-size: 21px; box-shadow: 0 10px 20px rgba(39,41,45,.16); }
.radio-mode-panel-lead > div,
.radio-podcast-lead > div { min-width: 0; }
.radio-mode-panel-lead strong,
.radio-podcast-lead strong { display: block; color: var(--ra-ink); font-size: 16px; font-weight: 900; line-height: 1.3; }
.radio-mode-panel-lead p,
.radio-podcast-lead p { margin: 5px 0 0; color: var(--ra-muted); font-size: 11.5px; line-height: 1.55; }
.radio-form-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.radio-form-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; }
.radio-form-field.wide { grid-column: 1 / -1; }
.radio-form-field > span,
.radio-form-field > legend { padding: 0; color: color-mix(in srgb, var(--ra-ink) 72%, transparent); font-size: 11.5px; font-weight: 850; }
.radio-form-field input,
.radio-form-field select,
.radio-form-field textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 43px;
  border: 1px solid var(--ra-line);
  border-radius: 13px;
  outline: none;
  color: var(--ra-ink);
  background: color-mix(in srgb, var(--surface-strong,#fff) 96%, transparent);
  font: 650 13px/1.5 -apple-system,"PingFang SC",sans-serif;
}
.radio-form-field input,
.radio-form-field select { padding: 0 12px; }
.radio-form-field textarea { min-height: 98px; padding: 11px 12px; resize: vertical; }
.radio-form-field :is(input,select,textarea):focus { border-color: color-mix(in srgb, var(--skin-accent,#768a7f) 58%, var(--ra-line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--skin-accent,#768a7f) 11%, transparent); }
.radio-form-field :is(input,textarea)::placeholder { color: color-mix(in srgb,var(--ra-muted) 58%,transparent); }
.radio-field-muted { opacity: .48; }
.radio-choice-row { display: flex; flex-wrap: wrap; gap: 7px; }
.radio-choice { min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--ra-line); color: var(--ra-muted); background: color-mix(in srgb,var(--surface-strong,#fff) 88%,transparent); font-size: 11.5px; font-weight: 800; }
.radio-choice.on { color: #fff; border-color: transparent; background: linear-gradient(145deg,#8c7c70,#5e6264); box-shadow: 0 7px 16px rgba(72,66,62,.16); }
.radio-length-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.radio-length-choice { min-width: 0; min-height: 62px; display: grid; align-content: center; gap: 3px; padding: 8px 6px; border: 1px solid var(--ra-line); border-radius: 14px; color: var(--ra-ink); background: color-mix(in srgb,var(--surface-strong,#fff) 88%,transparent); text-align: center; }
.radio-length-choice strong { font-size: 11.5px; font-weight: 880; }
.radio-length-choice small { color: var(--ra-muted); font-size: 8.5px; font-weight: 700; }
.radio-length-choice.on { border-color: color-mix(in srgb,#8f7c6d 52%,transparent); background: linear-gradient(145deg,rgba(220,202,183,.45),rgba(255,255,255,.82)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.44); }
.radio-mode-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 17px; }
.radio-mode-actions > small { flex: 1; color: var(--ra-muted); font-size: 9.5px; line-height: 1.45; }
.radio-primary-btn,
.radio-subtle-btn { min-height: 43px; padding: 0 15px; border-radius: 13px; font-size: 12.5px; font-weight: 880; }
.radio-primary-btn { border: 0; color: #fff; background: linear-gradient(145deg,#60686b,#363c3f); box-shadow: 0 10px 22px rgba(38,43,45,.18); }
.radio-primary-btn:disabled { opacity: .48; }
.radio-subtle-btn { border: 1px solid var(--ra-line); color: var(--ra-muted); background: transparent; }
.radio-sleep-panel { background: radial-gradient(circle at 94% 2%, rgba(223,199,166,.34), transparent 34%), var(--ra-paper); }
.radio-sleep-panel::after { content:""; position:absolute; width:180px; height:180px; right:-92px; top:-92px; border:1px solid rgba(154,130,103,.16); border-radius:50%; box-shadow:0 0 0 24px rgba(154,130,103,.035),0 0 0 52px rgba(154,130,103,.025); }
.radio-sleep-moon { position: absolute; right: 19px; top: 16px; width: 48px; height: 48px; display:grid; place-items:center; color:#8a7564; }
.radio-sleep-moon span { position:relative; z-index:1; font: 35px/1 Georgia,serif; filter:drop-shadow(0 8px 12px rgba(87,72,59,.18)); }
.radio-sleep-moon i { position:absolute; width:30px; height:30px; border-radius:50%; background:rgba(226,199,162,.34); box-shadow:0 0 26px rgba(226,199,162,.5); animation:radioSleepGlow 3.2s ease-in-out infinite; }
@keyframes radioSleepGlow { 50% { transform:scale(1.28); opacity:.62; } }
.radio-sleep-panel .radio-mode-panel-lead { padding-right: 54px; }
.radio-secret-panel { background: radial-gradient(circle at 92% 0%, rgba(157,143,166,.24), transparent 32%), var(--ra-paper); }
.radio-secret-panel .radio-mode-panel-lead > span { background: linear-gradient(145deg,#746d7c,#41404a); }
.radio-podcast-shell { padding: 18px 12px 12px; }
.radio-podcast-lead { padding: 0 6px; }
.radio-podcast-shell .radio-show-panel-v2 { margin: 0; border-radius: 18px; box-shadow: none; }
.radio-podcast-shell .radio-show-panel-v2 > .rsp-summary { display: none; }
.radio-podcast-shell .radio-show-panel-v2 > .rsp-body { border-top: 0; }
.radio-app-v2 .radio-status { min-height: 0; margin: -6px 0; color: var(--skin-accent,#71867a); font-size: 11.5px; font-weight: 800; text-align: center; }
.radio-app-v2 .radio-status:not(:empty) { min-height: 34px; display: grid; place-items: center; border-radius: 12px; background: color-mix(in srgb,var(--skin-accent,#71867a) 9%,transparent); }
.radio-app-v2 .ra-feed { display: grid; gap: 12px; }
.radio-app-v2 .ra-feed-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.radio-app-v2 .ra-feed-title { margin: 0; font-size: 16px; font-weight: 920; color: var(--ra-ink); letter-spacing: -.025em; }
.radio-app-v2 .ra-feed-head > span { color: var(--ra-muted); font-size: 10.5px; font-weight: 750; }
.radio-card-v2.is-sleep { border-color: color-mix(in srgb,#9b8067 30%,var(--ra-line)); background: linear-gradient(145deg,color-mix(in srgb,var(--surface-strong,#fff) 96%,#d8c3aa 4%),var(--surface-strong,#fff)); }
.radio-card-v2.is-sleep .rc-sub { color:#8b725f; }
html[data-ui-mode="dark"] #appScreen .radio-app-v2,
:root[data-ui-mode="dark"] #appScreen .radio-app-v2 { --ra-paper:rgba(31,32,35,.92); --ra-ink:#f0ede8; --ra-muted:#aaa6a1; --ra-line:rgba(255,255,255,.1); }
html[data-ui-mode="dark"] .radio-dream-hub,
:root[data-ui-mode="dark"] .radio-dream-hub { color:#ece6de; background:radial-gradient(circle at 78% 18%,rgba(109,84,70,.42),transparent 28%),radial-gradient(circle at 12% 72%,rgba(63,91,79,.34),transparent 34%),linear-gradient(145deg,#37312f,#2d2f2d); border-color:rgba(255,255,255,.08); }
html[data-ui-mode="dark"] .radio-hub-head h2,
:root[data-ui-mode="dark"] .radio-hub-head h2 { color:#f1ebe4; }
html[data-ui-mode="dark"] .radio-hub-head :is(small,span),
html[data-ui-mode="dark"] .radio-hub-note,
:root[data-ui-mode="dark"] .radio-hub-head :is(small,span),
:root[data-ui-mode="dark"] .radio-hub-note { color:rgba(239,232,224,.58); }
html[data-ui-mode="dark"] .radio-form-field :is(input,select,textarea),
:root[data-ui-mode="dark"] .radio-form-field :is(input,select,textarea) { background:#26282c; color:#f0ede8; }
html[data-ui-mode="dark"] .radio-length-choice,
html[data-ui-mode="dark"] .radio-choice,
:root[data-ui-mode="dark"] .radio-length-choice,
:root[data-ui-mode="dark"] .radio-choice { background:#27292d; }
@media (max-width: 390px) {
  .radio-zone-grid { grid-template-rows: 136px 142px 136px; gap:10px; }
  .radio-dream-hub { min-height: 572px; padding:20px 13px 16px; border-radius:26px; }
  .radio-zone-copy strong { font-size:18px; }
  .radio-zone-sleep .radio-zone-copy strong { font-size:21px; }
  .radio-form-grid { grid-template-columns:1fr; }
  .radio-form-field.wide { grid-column:auto; }
  .radio-mode-actions { align-items:stretch; flex-direction:column; }
  .radio-mode-actions > :is(button,small) { width:100%; box-sizing:border-box; }
  .radio-length-row { gap:6px; }
  .radio-length-choice { min-height:58px; padding-left:3px; padding-right:3px; }
  .radio-length-choice strong { font-size:10.5px; }
}
#appScreen.radio-screen-active,
#appScreen:has(> .app-body.radio-app-active) {
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: pan-y !important;
  background: var(--phone-bg, #f7f8fb) !important;
}
#appScreen.radio-screen-active > .app-body.radio-app-active,
#appScreen > .app-body.radio-app-active {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-x: none !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  scrollbar-width: none !important;
  contain: inline-size layout !important;
  -webkit-overflow-scrolling: touch !important;
}
#appScreen > .app-body.radio-app-active::-webkit-scrollbar { display: none !important; }
#appScreen .app-body.radio-app-active > .radio-app-v2 {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding-left: clamp(10px, 3.8vw, 16px) !important;
  padding-right: clamp(10px, 3.8vw, 16px) !important;
  box-sizing: border-box !important;
  overflow: hidden visible !important;
  transform: none !important;
  contain: inline-size !important;
}
#appScreen .app-body.radio-app-active .radio-app-v2,
#appScreen .app-body.radio-app-active .radio-app-v2 *,
#appScreen .app-body.radio-app-active .radio-app-v2 *::before,
#appScreen .app-body.radio-app-active .radio-app-v2 *::after {
  box-sizing: border-box !important;
  max-width: 100%;
}
#appScreen .app-body.radio-app-active :is(
  .radio-dream-hub,
  .radio-zone-grid,
  .radio-mode-head,
  .radio-mode-panel,
  .radio-podcast-shell,
  .radio-show-panel-v2,
  .rsp-body,
  .ra-feed,
  .ra-list,
  .radio-card-v2,
  .rc-main-click,
  .rc-content,
  .rc-actions
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
#appScreen .app-body.radio-app-active .radio-zone-grid {
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr) !important;
  overflow: hidden !important;
}
#appScreen .app-body.radio-app-active :is(.radio-zone, .radio-form-field, .rsp-field, .rsp-input-wrap, .rsp-track-row, .rsp-mail-card) {
  min-width: 0 !important;
  max-width: 100% !important;
}
#appScreen .app-body.radio-app-active :is(input, select, textarea, button) {
  max-width: 100% !important;
}
#appScreen .app-body.radio-app-active .radio-card-v2 {
  overflow: hidden !important;
}
#appScreen .app-body.radio-app-active .rc-main-click {
  overflow: hidden !important;
}
#appScreen .app-body.radio-app-active .rc-content {
  overflow: hidden !important;
}
#appScreen .app-body.radio-app-active :is(.rc-title, .rc-sub, .rc-preview, .radio-mode-head p, .radio-mode-panel-lead p, .radio-podcast-lead p) {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
#appScreen .app-body.radio-app-active .rc-actions {
  flex-wrap: wrap !important;
  row-gap: 8px !important;
}
#appScreen .app-body.radio-app-active .rc-menu-dropdown {
  max-width: min(160px, calc(100vw - 28px)) !important;
}
@media (max-width: 719px), (hover: none) and (pointer: coarse) {
  #appScreen.radio-screen-active,
  #appScreen:has(> .app-body.radio-app-active) {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    width: 100dvw !important;
    min-width: 100vw !important;
    min-width: 100dvw !important;
    max-width: 100vw !important;
    max-width: 100dvw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    z-index: 1200 !important;
  }
  #appScreen.radio-screen-active .app-topbar,
  #appScreen:has(> .app-body.radio-app-active) .app-topbar {
    position: absolute !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    max-width: none !important;
  }
  #appScreen .app-body.radio-app-active > .radio-app-v2 {
    padding-bottom: max(34px, calc(22px + env(safe-area-inset-bottom))) !important;
  }
}
.radio-player-v3.radio-player-overlay {
  inset: 0 !important;
  width: 100vw !important;
  width: 100dvw !important;
  min-width: 0 !important;
  max-width: 100vw !important;
  max-width: 100dvw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: pan-y !important;
}
.radio-player-v3 .rp-v3-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: min(620px, 100%) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding-left: max(14px, env(safe-area-inset-left)) !important;
  padding-right: max(14px, env(safe-area-inset-right)) !important;
  padding-top: max(12px, env(safe-area-inset-top)) !important;
  padding-bottom: max(16px, env(safe-area-inset-bottom)) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.radio-player-v3 :is(.rp-v3-head, .rp-v3-art-zone, .rp-v3-art-card, .rp-v3-info, .rp-v3-lyrics-wrap, .rp-v3-playback, .rp-v3-controls) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 390px) {
  #appScreen .app-body.radio-app-active > .radio-app-v2 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  #appScreen .app-body.radio-app-active .radio-dream-hub {
    border-radius: 24px !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
  #appScreen .app-body.radio-app-active .radio-zone-copy {
    left: 10px !important;
    right: 9px !important;
  }
  #appScreen .app-body.radio-app-active .rc-visual {
    width: 62px !important;
    height: 62px !important;
    flex-basis: 62px !important;
  }
  #appScreen .app-body.radio-app-active .rc-main-click { gap: 10px !important; }
}

/*# source: assets/css/features/diary.css */
/*
 * diary feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.diary-gradient { background: linear-gradient(145deg, #8e735b, #c9a46b 52%, #f5e8c8); color: #251a12; }

.diary-app .button-row {
  justify-content: flex-start;
}

.diary-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  background: var(--surface-strong);
  border: 1px solid var(--skin-border);
  color: var(--skin-text);
}

.diary-card header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.diary-card header button {
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: #e5484d;
  font-weight: 800;
}

.diary-card strong {
  color: var(--skin-title);
}

.diary-card p {
  margin: 0;
  line-height: 1.65;
  white-space: pre-wrap;
}

.diary-status {
  min-height: 20px;
  margin: 8px 0 0;
  color: var(--skin-muted);
  font-size: 13px;
  font-weight: 800;
}

.diary-card header button[data-delete-diary] {
  background: color-mix(in srgb, #e34b55 90%, var(--phone-bg)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.diary-role-profile {
  display: flex;
  align-items: center;
  gap: 10px;
}

.diary-role-profile small {
  display: block;
  color: var(--skin-muted);
  font-size: 12px;
}

.diary-entry-list {
  display: grid;
  gap: 12px;
}

.diary-app {
  background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}

.diary-card {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.diary-app {
  color: var(--skin-text) !important;
}

.diary-app {
  background: var(--phone-bg) !important;
}

.diary-card {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

.diary-card strong {
  color: var(--skin-title) !important;
}

.diary-app {
  padding: var(--skin-page-pad) !important;
}

.diary-home-hero,
.diary-home-section,
.diary-toolbar {
  display: grid;
  gap: 10px;
}

.diary-home-section h2,
.diary-home-hero h2 {
  margin: 0;
}

.diary-today-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.diary-mini-card,
.diary-respond-row {
  width: 100%;
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0, 0, 0, 0.08)) 78%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 78%, #fff 22%);
  color: var(--skin-text, #2c241d);
  text-align: left;
}

.diary-mini-card strong,
.diary-respond-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diary-mini-card p,
.diary-respond-row small {
  margin: 0;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  line-height: 1.45;
}

.diary-respond-list {
  display: grid;
  gap: 8px;
}

.diary-toolbar {
  position: sticky;
  top: 0;
  z-index: 6;
  background: color-mix(in srgb, var(--phone-bg, #f4f6fa) 80%, transparent) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.diary-search-input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 16px;
  padding: 0 12px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 84%, transparent);
  color: var(--skin-text, #2c241d);
}

.diary-filter-row,
.diary-mark-row,
.diary-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.diary-filter-row button,
.diary-mark,
.diary-card-actions button,
.diary-note-head button,
.diary-note-card footer button,
.diary-card-footer button,
.diary-favorite {
  min-height: 32px;
  padding: 0 11px;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0, 0, 0, 0.08)) 78%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 76%, transparent) !important;
  color: var(--skin-text, #2c241d) !important;
  font-size: 12px;
  font-weight: 900;
}

.diary-filter-row button.active,
.diary-mark.active,
.diary-favorite.active {
  background: linear-gradient(135deg, var(--skin-accent, #b47a35), var(--skin-accent-2, #d2a45f)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.diary-timeline {
  display: grid;
  gap: 12px;
}

.diary-card {
  position: relative;
  display: grid;
  gap: 10px;
  overflow: hidden;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong, #fffdf7) 90%, #fff 10%), color-mix(in srgb, var(--phone-bg, #f4f6fa) 64%, #fff 36%)) !important;
}

.diary-card.favorite::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--skin-accent, #b47a35), var(--skin-accent-2, #d2a45f));
}

.diary-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 8px !important;
}

.diary-card-head div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.diary-card-head time {
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;
}

.diary-card-head strong {
  min-width: 0;
  overflow: hidden;
  color: var(--skin-text, #2c241d) !important;
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diary-favorite {
  min-width: 36px;
  padding: 0 !important;
  font-size: 17px !important;
}

.diary-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.diary-mood-pill,
.diary-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.diary-mood-pill {
  background: color-mix(in srgb, var(--skin-accent, #b47a35) 18%, var(--surface-strong, #fffdf7));
  color: var(--skin-text, #2c241d);
}

.diary-tag {
  background: color-mix(in srgb, var(--skin-muted, #7b6b5a) 12%, transparent);
  color: var(--skin-muted, #7b6b5a);
}

.diary-summary {
  margin: 0 !important;
  color: var(--skin-text, #2c241d) !important;
  font-weight: 850;
  line-height: 1.5;
}

.diary-inner-preview {
  margin: 0 !important;
  color: var(--skin-muted, #7b6b5a) !important;
  line-height: 1.7 !important;
  white-space: pre-wrap;
  word-break: break-word;
}

.diary-card.compact .diary-inner-preview {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.diary-hidden-want {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px dashed color-mix(in srgb, var(--skin-accent, #b47a35) 34%, var(--skin-border, rgba(0, 0, 0, 0.08)));
  border-radius: 16px;
  background: color-mix(in srgb, var(--skin-accent, #b47a35) 9%, transparent);
}

.diary-hidden-want span,
.diary-note-head strong {
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 900;
}

.diary-hidden-want p {
  margin: 0 !important;
  color: var(--skin-text, #2c241d) !important;
}

.diary-card-footer,
.diary-note-head,
.diary-note-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.diary-card-footer span,
.diary-note-card footer span {
  min-width: 0;
  overflow: hidden;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diary-note-area {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.diary-note-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255, 246, 199, 0.84), rgba(255, 252, 230, 0.72));
  color: #4c3a17;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.52);
}

.diary-note-card p {
  margin: 0 !important;
  color: #4c3a17 !important;
  line-height: 1.55;
}

.diary-note-card footer {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.diary-card-actions .danger-button,
.diary-card-actions button[data-delete-diary] {
  background: color-mix(in srgb, #e34b55 90%, var(--phone-bg, #fff)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.diary-today-grid {
    grid-template-columns: 1fr;
  }

.diary-card {
    gap: 9px;
    padding: 13px !important;
  }

.diary-card-actions button,
.diary-filter-row button,
.diary-mark {
    flex: 1 1 auto;
  }

.diary-pink-header .diary-btn { position: relative; z-index: 22; }

.diary-entry-list.diary-timeline {
  gap: 18px !important;
}

:root .diary-card.diary-paper-card {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

:root .diary-card.diary-paper-card.favorite::before {
  display: none !important;
}

.diary-paper {
  position: relative;
  border-radius: 4px 12px 12px 4px;
  padding: 16px 18px 20px 48px;
  color: var(--diary-ink);
  background:
    linear-gradient(180deg, var(--diary-paper-a), var(--diary-paper-b)),
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, 0.55), transparent 42%);
  background-blend-mode: normal;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 10px 26px rgba(74, 52, 28, 0.16),
    0 2px 6px rgba(74, 52, 28, 0.1);
  overflow: hidden;
}

.diary-paper::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 34px;
  width: 1.5px;
  background: var(--diary-margin);
  opacity: 0.85;
}

.diary-paper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  width: 6px;
  border-radius: 6px;
  background:
    radial-gradient(circle at 50% 14px, rgba(120, 96, 64, 0.32) 0 2.4px, transparent 3px),
    radial-gradient(circle at 50% 52px, rgba(120, 96, 64, 0.28) 0 2.4px, transparent 3px),
    radial-gradient(circle at 50% 90px, rgba(120, 96, 64, 0.24) 0 2.4px, transparent 3px),
    radial-gradient(circle at 50% 128px, rgba(120, 96, 64, 0.2) 0 2.4px, transparent 3px);
  pointer-events: none;
}

.diary-paper .diary-favorite {
  position: absolute;
  top: 10px;
  right: 12px;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--diary-ink-soft) !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.diary-paper .diary-favorite.active {
  color: #d98a2b !important;
}

.diary-paper-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding-right: 26px;
  padding-bottom: 8px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(120, 96, 64, 0.16);
  font-family: var(--diary-hand);
}

.diary-paper-date {
  color: var(--diary-ink) !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.diary-paper-time {
  color: var(--diary-ink-soft) !important;
  font-size: 12px;
}

.diary-paper-mood {
  margin-left: auto;
  color: #9a5d3a !important;
  font-size: 12.5px;
}

.diary-paper-sheet {
  --rule-h: 30px;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(var(--rule-h) - 1px),
    var(--diary-rule) calc(var(--rule-h) - 1px),
    var(--diary-rule) var(--rule-h)
  );
  background-position: left top;
}

.diary-paper-title {
  margin: 0 !important;
  color: var(--diary-ink) !important;
  font-family: var(--diary-hand);
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 30px !important;
  letter-spacing: 0.3px !important;
}

.diary-paper-body {
  margin: 0 !important;
  color: var(--diary-ink) !important;
  font-family: var(--diary-hand);
  font-size: 16px !important;
  line-height: 30px !important;
  letter-spacing: 0.2px;
  white-space: pre-wrap;
  word-break: break-word;
}

.diary-paper-card.compact .diary-paper-body {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
}

.diary-paper-tags {
  color: #8a6a8c !important;
  font-family: var(--diary-hand);
  font-size: 13px;
  line-height: 30px !important;
}

.diary-paper-tags span {
  margin-right: 8px;
  white-space: nowrap;
}

.diary-paper-aside {
  margin-top: 8px;
  padding: 8px 12px;
  border-left: 2px dashed rgba(206, 92, 86, 0.5);
  background: rgba(206, 92, 86, 0.06);
  border-radius: 0 10px 10px 0;
  font-family: var(--diary-hand);
}

.diary-paper-aside span {
  display: block;
  color: #b06a52 !important;
  font-size: 12px;
  margin-bottom: 2px;
}

.diary-paper-aside p {
  margin: 0 !important;
  color: var(--diary-ink) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.diary-tray {
  display: grid;
  gap: 10px;
  margin: 8px 6px 0;
  padding-top: 10px;
}

.diary-tray.compact-tray {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.diary-tray-meta {
  min-width: 0;
  overflow: hidden;
  color: var(--skin-muted, #8a7a66);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diary-open-btn {
  flex: none;
  min-height: 30px;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(150, 110, 70, 0.32) !important;
  background: rgba(255, 250, 238, 0.9) !important;
  color: #7a5a36 !important;
  font-size: 12px;
  font-weight: 800;
}

:root[data-ui-mode="dark"] .diary-tray-meta {
  color: rgba(226, 214, 196, 0.78);
}

.diary-paper {
    padding: 14px 14px 18px 44px;
  }

:root .diary-paper .diary-paper-title { color: var(--diary-ink) !important; }

:root .diary-paper .diary-paper-aside p { color: var(--diary-ink) !important; }

.app-screen :where(.note-card-main, .period-card, .diary-card, .favorite-card) strong { font-size: 14px !important; font-weight: 600 !important; }

.app-screen :where(.note-card-main, .period-card, .diary-card, .favorite-card) p { font-size: 12px !important; line-height: 1.5 !important; }

.app-screen :where(.note-card-main, .period-card, .diary-card, .favorite-card) small { font-size: 10.5px !important; color: var(--ed-muted) !important; letter-spacing: 0.02em !important; }

body .diary-private-stage {
  min-height: calc(100dvh - 54px);
  margin: -12px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body .diary-private-stage {
  color: #f8ead6;
  background:
    radial-gradient(circle at 20% 7%, rgba(223,180,110,.2), transparent 28%),
    radial-gradient(circle at 85% 70%, rgba(155,118,74,.22), transparent 32%),
    linear-gradient(160deg, #21170f 0%, #4b3422 45%, #1d1611 100%);
}

body .diary-cover-scene {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 76dvh;
  padding: 32px 18px 28px;
  overflow: hidden;
}

body .diary-cover-scene::before,
body .diary-cover-scene::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

body .diary-cover-scene::before {
  inset: 8% auto auto 8%;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(255,236,184,.18), transparent 70%);
  filter: blur(3px);
}

body .diary-cover-scene::after {
  left: 0;
  right: 0;
  bottom: -12px;
  height: 180px;
  background: linear-gradient(to top, rgba(13,9,6,.78), transparent);
}

body .diary-cover-props span {
  position: absolute;
  display: block;
  border-radius: 12px;
  transform: rotate(var(--r, -8deg));
  background: rgba(248,236,210,.84);
  box-shadow: 0 16px 34px rgba(0,0,0,.24);
}

body .diary-cover-props span:nth-child(1) { --r:-12deg; width: 112px; height: 72px; top: 42px; right: 24px; opacity: .75; }

body .diary-cover-props span:nth-child(2) { --r:8deg; width: 88px; height: 112px; top: 72px; left: 20px; opacity: .55; }

body .diary-cover-props span:nth-child(3) { --r:18deg; width: 52px; height: 90px; bottom: 108px; right: 18px; opacity: .46; }

body .diary-cover-book {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: min(82vw, 320px);
  min-height: 470px;
  padding: 34px 28px;
  border: 1px solid rgba(244,215,154,.26);
  border-radius: 22px 28px 28px 22px;
  color: #f8d991;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.12), transparent 22%),
    repeating-linear-gradient(42deg, rgba(255,255,255,.025) 0 2px, transparent 2px 7px),
    linear-gradient(145deg, var(--diary-leather-2), var(--diary-leather) 58%, #21120c);
  box-shadow: inset 0 0 0 1px rgba(255,240,190,.12), inset 12px 0 18px rgba(0,0,0,.22), 0 28px 70px rgba(0,0,0,.5);
  font: inherit;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

body .diary-cover-book::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(245,207,128,.28);
  border-radius: 18px 23px 23px 18px;
  box-shadow: inset 0 0 28px rgba(0,0,0,.18);
}

body .diary-cover-book::after {
  content: "";
  position: absolute;
  right: -9px;
  top: 45%;
  width: 38px;
  height: 74px;
  border: 1px solid rgba(245,211,150,.26);
  border-radius: 15px 5px 5px 15px;
  background: linear-gradient(135deg, #4c2c1b, #29170f);
  box-shadow: -8px 8px 22px rgba(0,0,0,.28);
}

body .diary-cover-title {
  display: block;
  margin-top: 62px;
  font-family: "Songti SC", "STSong", serif;
  font-size: clamp(50px, 17vw, 72px);
  letter-spacing: .2em;
  text-indent: .2em;
  text-shadow: 0 2px 0 rgba(0,0,0,.28), 0 0 18px rgba(246,205,123,.22);
}

body .diary-cover-book small,
body .diary-cover-book i {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 210px;
  color: rgba(255,232,185,.78);
  font-style: normal;
  line-height: 1.8;
}

body .diary-cover-book i { align-self: end; font-size: 12px; letter-spacing: .12em; }

body .diary-cover-generate {
  position: relative;
  z-index: 2;
  margin-top: 14px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,232,185,.22);
  border-radius: 999px;
  color: #f6e4c5;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body .diary-bubble-scene {
  position: relative;
  min-height: 72dvh;
  padding: 28px 18px 54px;
  background:
    radial-gradient(circle at 50% 0%, rgba(225,188,255,.25), transparent 35%),
    linear-gradient(180deg, rgba(92,73,104,.38), rgba(245,206,208,.12));
}

body .diary-scene-title {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}

body .diary-scene-title span {
  font-size: 10px;
  letter-spacing: .22em;
  opacity: .66;
}

body .diary-scene-title h2 {
  margin: 0;
  font-family: "Songti SC", "STSong", serif;
  font-size: 25px;
  font-weight: 500;
}

body .diary-scene-title p {
  max-width: 260px;
  margin: 0;
  color: rgba(255,245,234,.74);
  font-size: 12px;
  line-height: 1.55;
}

body .diary-bubble-field {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 12px;
  min-height: 430px;
  padding: 28px 4px 8px;
}

body .diary-char-bubble {
  position: relative;
  display: grid;
  place-items: center;
  justify-self: center;
  width: var(--bubble-size, 94px);
  min-height: calc(var(--bubble-size, 94px) + 44px);
  border: 0;
  color: #fff;
  background: transparent;
  font: inherit;
  text-align: center;
  animation: diaryBubbleFloat calc(4.6s + var(--i) * .35s) ease-in-out infinite alternate;
  -webkit-tap-highlight-color: transparent;
}

body .diary-char-bubble:nth-child(2n) { margin-top: 36px; }

body .diary-char-bubble:nth-child(3n) { margin-left: 18px; }

body .diary-char-bubble:nth-child(4n) { margin-right: 12px; }

body .diary-bubble-glow,
body .diary-char-bubble .avatar {
  width: var(--bubble-size, 94px) !important;
  height: var(--bubble-size, 94px) !important;
  border-radius: 999px !important;
}

body .diary-bubble-glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.9), rgba(255,255,255,.16) 20%, rgba(179,149,255,.12) 62%, rgba(255,255,255,.06));
  box-shadow: inset -12px -16px 28px rgba(119,94,180,.18), inset 8px 10px 18px rgba(255,255,255,.22), 0 18px 36px rgba(55,28,85,.2);
}

body .diary-char-bubble .avatar {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.52) !important;
  background: rgba(255,255,255,.18) !important;
  box-shadow: inset 0 0 24px rgba(255,255,255,.16);
  overflow: hidden;
}

body .diary-char-bubble .avatar img { width: 100%; height: 100%; object-fit: cover; }

body .diary-bubble-name {
  z-index: 2;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 800;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}

body .diary-char-bubble small {
  z-index: 2;
  max-width: 112px;
  overflow: hidden;
  color: rgba(255,255,255,.72);
  font-size: 10.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .diary-secret-strip {
  display: grid;
  gap: 8px;
  margin: 0 14px 18px;
  padding: 14px;
  border: 1px solid rgba(255,232,190,.16);
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body .diary-secret-strip div { color: rgba(255,246,232,.72); font-size: 12px; line-height: 1.5; }

body .diary-secret-strip strong { display: block; margin-bottom: 3px; color: #fff5df; font-size: 13px; }

body .diary-open-book {
  margin: -12px;
  min-height: calc(100dvh - 54px);
  padding: 12px 12px calc(24px + env(safe-area-inset-bottom));
  color: var(--diary-paper-ink);
  background:
    linear-gradient(90deg, rgba(72,43,23,.52), transparent 16%, transparent 84%, rgba(72,43,23,.42)),
    radial-gradient(circle at 20% 0%, rgba(255,248,221,.7), transparent 38%),
    linear-gradient(160deg, #53351f, #2b1b12 40%, #130d09);
}

body .diary-book-topline {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 4px 10px;
  color: #fff0d4;
}

body .diary-book-topline button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255,231,187,.2);
  border-radius: 999px;
  color: #fff0d4;
  background: rgba(255,255,255,.08);
}

body .diary-book-topline span { overflow: hidden; text-align: center; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }

body .diary-book-profile,
body .diary-book-toolbar,
body .diary-empty-page {
  border: 1px solid rgba(92,55,32,.18) !important;
  background: linear-gradient(145deg, #fff7e8, #eed9b9) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.22), inset 16px 0 24px rgba(112,74,39,.1) !important;
}

body .diary-book-profile {
  position: relative;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 10px;
  align-items: center;
  padding: 18px 16px 16px 22px;
  border-radius: 24px 18px 18px 24px;
  overflow: hidden;
}

body .diary-book-profile::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(160,86,65,.18);
}

body .diary-book-label {
  position: absolute;
  right: 18px;
  top: 0;
  display: grid;
  justify-items: center;
  padding: 10px 8px 14px;
  color: #73513b;
  background: #e0c69d;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
}

body .diary-book-label small { font-size: 10px; writing-mode: vertical-rl; }

body .diary-book-label strong { display: none; }

body .diary-book-avatar.avatar { width: 52px !important; height: 52px !important; box-shadow: 0 8px 18px rgba(99,61,39,.18); }

body .diary-book-profile-text { display: grid; gap: 4px; padding-right: 50px; }

body .diary-book-profile-text strong { color: #39271d; font-size: 17px; }

body .diary-book-profile-text small { color: #806951; line-height: 1.45; }

body .diary-book-tabs {
  grid-column: 1 / -1;
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding-top: 8px;
}

body .diary-book-tabs button {
  flex: 0 0 auto;
  display: grid;
  gap: 2px;
  min-width: 54px;
  padding: 7px 9px;
  border: 0;
  border-radius: 12px;
  color: #704b35;
  background: rgba(133,83,55,.1);
}

body .diary-book-toolbar { border-radius: 22px !important; }

body .diary-page-stack { display: grid; gap: 16px; }

body .diary-card.diary-paper-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .diary-card.diary-paper-card .diary-paper {
  position: relative;
  padding: 22px 18px 18px 24px;
  border: 1px solid rgba(112,74,42,.16);
  border-radius: 24px 18px 18px 24px;
  color: var(--diary-paper-ink);
  background:
    linear-gradient(90deg, rgba(146,83,61,.13) 0 1px, transparent 1px 100%),
    repeating-linear-gradient(180deg, transparent 0 31px, rgba(110,76,52,.09) 31px 32px),
    linear-gradient(145deg, #fff7e8, #efd9b5);
  box-shadow: 0 18px 44px rgba(0,0,0,.2), inset 18px 0 26px rgba(139,87,48,.08);
}

body .diary-card.diary-paper-card .diary-paper::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 16px;
  bottom: 16px;
  width: 1px;
  background: rgba(171,89,78,.2);
}

body .diary-paper-head { display: flex; flex-wrap: wrap; gap: 6px; color: #7a6048; font-size: 11px; }

body .diary-paper-title { margin: 12px 0 10px !important; color: #2f2118 !important; font-family: "Songti SC", "STSong", serif; font-size: 22px !important; font-weight: 600; }

body .diary-paper-body { color: #433026 !important; font-family: "Kaiti SC", "STKaiti", "Songti SC", serif; font-size: 16px; line-height: 1.9 !important; white-space: pre-wrap; }

body .diary-paper-tags span { color: #9a6744 !important; background: rgba(154,103,68,.12); }

body .diary-paper-aside { border-color: rgba(141,85,59,.16) !important; background: rgba(255,248,230,.58) !important; }

body .diary-tray { border-color: rgba(255,231,185,.18) !important; color: rgba(255,242,218,.8); background: rgba(58,38,26,.5) !important; }

body .diary-tray button { color: #fff0d6; background: rgba(255,255,255,.1); }

body .diary-empty-dark { color: rgba(255,255,255,.7) !important; }

body .dream-weaving-panel .diary-status { color: rgba(255,255,255,.86); background: transparent; }

body .diary-bubble-field { gap: 16px 6px; }

body .diary-cover-book { min-height: 430px; }

.diary-cottage-intro,
.diary-bubble-cinematic,
.diary-romance-stage{color:inherit}

.diary-cover-cinematic{position:relative;overflow:hidden;min-height:calc(100dvh - 164px);padding:24px 18px calc(28px + env(safe-area-inset-bottom));border-radius:34px;background:radial-gradient(circle at 18% 18%,rgba(255,228,190,.28),transparent 28%),radial-gradient(circle at 86% 18%,rgba(159,98,62,.18),transparent 28%),linear-gradient(180deg,#6d4630 0%,#533625 34%,#2d1e18 100%);box-shadow:0 26px 58px rgba(34,18,12,.32), inset 0 1px 0 rgba(255,255,255,.12);display:grid;align-content:start;gap:18px;color:#f8ecd9}

.diary-cover-props span{position:absolute;display:block;pointer-events:none}

.diary-prop-photo{width:90px;height:112px;border-radius:8px;background:linear-gradient(180deg,#fffdf8,#f1e8da);box-shadow:0 16px 30px rgba(0,0,0,.18)}

.diary-prop-photo::after{content:"";position:absolute;inset:10px 10px 22px;border-radius:4px;background:linear-gradient(180deg,rgba(187,152,127,.34),rgba(91,69,60,.48))}

.diary-prop-photo.photo-a{left:-8px;top:54px;transform:rotate(-12deg)}

.diary-prop-photo.photo-b{right:-4px;top:96px;transform:rotate(11deg)}

.diary-prop-flower{width:84px;height:84px;opacity:.5;filter:blur(.1px)}

.diary-prop-flower::before,
.diary-prop-flower::after{content:"";position:absolute;background:rgba(216,183,136,.7);border-radius:50% 50% 20% 20%}

.diary-prop-flower::before{width:36px;height:16px;left:10px;top:16px;transform:rotate(-32deg)}

.diary-prop-flower::after{width:42px;height:18px;left:34px;top:26px;transform:rotate(28deg)}

.diary-prop-flower.flower-a{left:20px;bottom:156px}

.diary-prop-flower.flower-b{right:24px;bottom:124px}

.diary-entry-heading{text-align:center;display:grid;gap:8px;position:relative;z-index:1}

.diary-entry-heading small{letter-spacing:.3em;color:rgba(255,236,214,.72);font-size:11px}

.diary-entry-heading h2{margin:0;font-size:42px;letter-spacing:.16em;color:#fff3e0}

.diary-entry-heading p{margin:0;color:rgba(255,241,226,.84);line-height:1.68}

.diary-leather-book{position:relative;z-index:1;width:min(82vw,320px);height:406px;margin:8px auto 0;border:none;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0)),linear-gradient(145deg,#7a4b31 0%,#603c29 34%,#43291d 100%);box-shadow:0 28px 54px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.14), inset 14px 0 24px rgba(255,255,255,.05), inset -10px 0 18px rgba(0,0,0,.16);display:grid;place-content:center;gap:10px;color:#fff4e6;text-align:center}

.diary-leather-book::before{content:"";position:absolute;inset:18px;border-radius:22px;border:1px solid rgba(255,228,196,.2)}

.diary-leather-strap{position:absolute;right:16px;top:70px;width:48px;height:120px;border-radius:16px;background:linear-gradient(180deg,#4e2f20,#341e15);box-shadow:inset 0 0 0 1px rgba(255,228,196,.08)}

.diary-leather-strap::after{content:"";position:absolute;left:50%;top:44px;transform:translateX(-50%);width:18px;height:18px;border-radius:50%;background:#bc9567;box-shadow:inset 0 1px 1px rgba(255,255,255,.4),0 0 0 4px rgba(53,31,21,.38)}

.diary-leaf-charm{position:absolute;right:40px;bottom:48px;width:16px;height:54px;background:linear-gradient(180deg,rgba(245,214,150,.9),rgba(211,161,85,.8));clip-path:path('M8 0 C14 9 16 18 15 29 C14 40 11 49 8 54 C5 49 2 40 1 29 C0 18 2 9 8 0 Z');filter:drop-shadow(0 10px 10px rgba(0,0,0,.22))}

.diary-leaf-charm::before{content:"";position:absolute;left:7px;top:-26px;width:2px;height:28px;background:rgba(240,222,183,.84)}

.diary-leather-book strong{font-size:40px;letter-spacing:.2em;font-weight:700}

.diary-leather-book em{font-style:normal;color:rgba(255,238,215,.76);font-size:13px}

.diary-cover-note{text-align:center;color:rgba(255,239,220,.82);font-size:13px}

.diary-cover-footer{display:grid;gap:10px;justify-items:center;position:relative;z-index:1}

.diary-enter-cover{border:none;background:transparent;color:#ffefda;font-size:15px;letter-spacing:.08em}

.diary-cover-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:rgba(255,237,215,.74);font-size:12px}

.diary-bubble-cinematic{min-height:calc(100dvh - 164px);padding:18px 14px calc(24px + env(safe-area-inset-bottom));border-radius:32px;background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.46),transparent 24%),radial-gradient(circle at 84% 18%,rgba(255,255,255,.32),transparent 24%),linear-gradient(180deg,#f3dff2 0%,#d6bef3 42%,#c6bcff 100%);box-shadow:0 18px 48px rgba(114,84,142,.22);display:grid;align-content:start;gap:14px}

.diary-select-head.dreamy{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 8px}

.diary-title-wrap{display:grid;gap:6px}

.diary-title-wrap small{letter-spacing:.2em;color:rgba(71,47,86,.58);font-size:11px}

.diary-title-wrap strong{font-size:28px;color:#402845;line-height:1.22}

.diary-title-wrap p{margin:0;color:rgba(72,48,87,.7);line-height:1.55}

.diary-bubble-dream-stage{position:relative;overflow:hidden;padding:12px 8px 4px;min-height:58dvh}

.diary-bubble-clouds span{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.46),rgba(255,255,255,.05) 70%)}

.diary-bubble-clouds span:nth-child(1){width:118px;height:118px;left:-16px;top:16px}

.diary-bubble-clouds span:nth-child(2){width:160px;height:160px;right:-34px;top:84px}

.diary-bubble-clouds span:nth-child(3){width:74px;height:74px;left:26%;bottom:18%}

.diary-bubble-clouds span:nth-child(4){width:96px;height:96px;right:16%;bottom:8%}

.diary-bubble-field.dreamy{min-height:52dvh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;align-items:start;justify-items:center;padding:14px 6px 0}

.diary-char-bubble.dreamy{width:100%;background:transparent;border:none;display:grid;justify-items:center;gap:8px;padding:2px;color:#2f1f34}

.diary-char-bubble.dreamy .diary-bubble-glow{position:absolute;width:var(--bubble-size);height:var(--bubble-size);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.95),rgba(255,255,255,.45) 42%,rgba(255,255,255,.14) 72%,rgba(255,255,255,0) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 12px 28px rgba(125,94,155,.24)}

.diary-char-bubble.dreamy .avatar{position:relative;width:var(--bubble-size)!important;height:var(--bubble-size)!important;border:5px solid rgba(255,255,255,.46);box-shadow:0 16px 32px rgba(87,60,102,.16)}

.diary-char-bubble.dreamy .diary-bubble-name{position:relative;font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(63,34,75,.46)}

.diary-char-bubble.dreamy small{position:relative;color:rgba(255,255,255,.82);font-size:12px;text-shadow:0 2px 8px rgba(63,34,75,.36)}

.diary-bubble-footer{display:grid;justify-items:center;gap:8px;padding:8px 0}

.diary-random-bubble{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:none;border-radius:999px;background:rgba(255,255,255,.68);box-shadow:0 16px 28px rgba(91,61,112,.18);color:#5a3c62}

.diary-bubble-footer small{color:rgba(67,43,80,.72)}

.diary-romance-stage{display:grid;gap:14px}

.diary-romance-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;border-radius:24px;background:linear-gradient(145deg,#6c4028,#41271a);color:#fff4e2;box-shadow:0 18px 36px rgba(55,30,18,.22)}

.diary-open-bookstage{position:relative;padding:4px 0 calc(24px + env(safe-area-inset-bottom))}

.diary-open-book-cover{position:relative;background:linear-gradient(180deg,#f5e4c7 0%,#efe1c6 100%);border-radius:32px;padding:18px 14px 84px;box-shadow:0 24px 46px rgba(109,77,49,.12), inset 0 1px 0 rgba(255,255,255,.45);overflow:hidden}

.diary-open-book-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(120,87,45,.08) 0 4%,transparent 10% 48%,rgba(120,87,45,.08) 50% 54%,transparent 60% 100%);pointer-events:none}

.diary-open-book-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}

.diary-open-book-person{display:flex;align-items:center;gap:12px}

.diary-open-book-person strong{display:block;font-size:24px;color:#422715}

.diary-open-book-person small{display:block;color:rgba(72,47,29,.72)}

.diary-open-sticky{padding:8px 10px;border-radius:0 0 8px 8px;background:#e2cc9e;color:#78583b;font-size:13px;box-shadow:0 8px 18px rgba(96,66,39,.14)}

.diary-open-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

.diary-open-tags span{padding:8px 12px;border-radius:999px;background:rgba(226,200,156,.42);color:#634124}

.diary-edge-tabs{display:flex;gap:10px;overflow:auto;padding:0 2px 10px;margin-bottom:12px}

.diary-edge-tabs button{min-width:76px;padding:10px 12px;border:none;border-radius:18px;background:rgba(255,251,244,.84);box-shadow:0 10px 22px rgba(113,79,50,.08);text-align:left}

.diary-edge-tabs button span{display:block;font-weight:800;color:#523422}

.diary-edge-tabs button small{color:rgba(83,58,39,.68)}

.diary-book-pages.reading-layout .diary-entry-list{display:grid;gap:14px}

.diary-page-canvas.new-open-page{position:relative;padding:16px 18px 18px 30px;background:linear-gradient(180deg,#fffaf1,#f6ead1);border:1px solid rgba(171,131,89,.18);border-radius:26px;box-shadow:0 18px 34px rgba(125,95,61,.09);overflow:hidden}

.diary-page-canvas.new-open-page::before{content:"";position:absolute;inset:0 0 0 18px;background:repeating-linear-gradient(180deg,transparent 0 42px,rgba(139,103,66,.16) 42px 43px);pointer-events:none}

.diary-page-canvas.new-open-page::after{content:"";position:absolute;left:46px;top:0;bottom:0;width:2px;background:rgba(170,128,88,.2);pointer-events:none}

.diary-page-headline.new-headline{position:relative;display:grid;gap:8px;padding-right:74px;margin-bottom:10px}

.diary-page-headline.new-headline small{display:block;color:rgba(89,66,47,.76);font-size:12px;line-height:1.5}

.diary-sun-icon{display:inline-block;margin-right:6px}

.diary-page-headline.new-headline h3{margin:0;color:#314748;font-size:24px;line-height:1.35;font-weight:700}

.diary-handwrite-text{position:relative;white-space:pre-wrap;line-height:2.02;color:#4e3627;font-size:18px;padding-right:6px}

.diary-page-ribbon{position:absolute;right:18px;top:0;width:54px;height:124px;background:linear-gradient(180deg,#ddb46d,#cea060);clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);display:grid;place-items:center}

.diary-page-ribbon span{writing-mode:vertical-rl;color:#6a4925;font-weight:700;letter-spacing:.06em}

.diary-page-star{position:absolute;left:56px;top:16px;z-index:2;border-radius:18px;background:rgba(255,255,255,.85)!important;border:1px solid rgba(178,146,99,.18)!important;color:#39504d!important}

.diary-page-hole{left:8px!important;background:#d8c9b0!important;border:1px solid rgba(134,98,60,.16)!important}

.diary-page-hole.h1{top:66px}

.diary-page-hole.h2{top:170px}

.diary-page-hole.h3{top:274px}

.diary-page-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

.diary-page-tags span{background:rgba(213,171,125,.16);color:#a36549;border:none}

.diary-page-decor{position:relative;display:flex;justify-content:flex-end;gap:14px;margin:14px 4px 6px 0;height:110px}

.diary-polaroid,
.diary-dried-flower{display:block}

.diary-polaroid{width:104px;height:94px;border-radius:4px;background:linear-gradient(180deg,#fffdf8,#efe8dc);box-shadow:0 14px 24px rgba(100,73,47,.16);transform:rotate(8deg);position:relative}

.diary-polaroid::before{content:"☕";position:absolute;inset:10px 10px 20px;border-radius:3px;background:linear-gradient(180deg,rgba(139,107,86,.28),rgba(73,57,48,.54));display:grid;place-items:center;color:#fff;font-size:32px}

.diary-polaroid::after{content:"咖啡馆随拍";position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:10px;color:#77573e}

.diary-dried-flower{width:54px;height:96px;position:relative;transform:rotate(-10deg)}

.diary-dried-flower::before{content:"";position:absolute;left:25px;top:0;bottom:0;width:2px;background:rgba(118,94,55,.45)}

.diary-dried-flower::after{content:"";position:absolute;left:0;top:24px;width:52px;height:46px;background:radial-gradient(circle at 24px 10px,rgba(196,150,102,.78),transparent 10px),radial-gradient(circle at 12px 22px,rgba(205,164,122,.68),transparent 9px),radial-gradient(circle at 34px 24px,rgba(214,175,138,.6),transparent 8px)}

.diary-bottom-toolbar{position:absolute;left:14px;right:14px;bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;border-radius:22px;background:rgba(255,251,244,.92);box-shadow:0 18px 30px rgba(104,74,46,.15)}

.diary-bottom-toolbar button{border:none;background:transparent;display:grid;gap:4px;justify-items:center;color:#4f3523}

.diary-bottom-toolbar span{font-size:18px}

.diary-bottom-toolbar b{font-size:12px}

.diary-floating-tools{margin-top:16px;padding:12px;border-radius:20px;background:rgba(255,249,240,.76);border:1px solid rgba(170,132,89,.14)}

.diary-floating-tools summary{color:#62412a;font-weight:700}

.diary-note-card.paper-note,
.diary-corner-note{background:rgba(255,247,232,.76);border-color:rgba(183,144,97,.16)!important}

.diary-entry-heading h2{font-size:38px}

.diary-open-book-person strong{font-size:20px}

.diary-page-headline.new-headline h3{font-size:22px}

.diary-handwrite-text{font-size:16px}

.diary-bottom-tools-v2 details[open] > *:not(summary) {
  position: fixed !important;
  left: max(12px, env(safe-area-inset-left, 0px)) !important;
  right: max(12px, env(safe-area-inset-right, 0px)) !important;
  bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 120 !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: min(38vh, 280px) !important;
  overflow: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.diary-bottom-tools-v2 details[open] .diary-filter-row.compact {
  justify-content: flex-start;
}

#appBody.diary-app-active,
.app-body.diary-app-active,
#appBody:has(.diary-pink-theme),
.app-body:has(.diary-pink-theme) {
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  background: #fff0f3 !important;
}

.diary-pink-theme {
  --diary-bg-pink: #fff0f3;
  --diary-paper: #ffffff;
  --diary-text-main: #5c4b51;
  --diary-text-muted: #9b898e;
  --diary-accent: #f28b9d;
  --diary-accent-deep: #df657b;
  --diary-accent-light: #fbe3e8;
  --diary-border: #f9d8df;
  --diary-btn-bg: #ffffff;
  --diary-hand-font: "Kaiti SC", "STKaiti", KaiTi, "楷体", "手札体-简", serif;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 201, 216, 0.72), transparent 24%),
    radial-gradient(circle at 88% 14%, rgba(255, 231, 238, 0.95), transparent 25%),
    linear-gradient(180deg, var(--diary-bg-pink) 0%, #fffbfb 100%);
  color: var(--diary-text-main);
  overflow: hidden;
}

.diary-pink-header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 10px;
  background: rgba(255, 240, 243, 0.88);
  border-bottom: 1px solid var(--diary-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 5;
}

.diary-title {
  min-width: 0;
  text-align: center;
  font-size: 16px;
  font-weight: 900;
  color: var(--diary-text-main);
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.diary-header-spacer { width: 78px; height: 1px; display: inline-block; }

.diary-btn {
  appearance: none;
  border: 1px solid var(--diary-border);
  background: var(--diary-btn-bg);
  color: var(--diary-accent-deep);
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 4px 12px rgba(242, 139, 157, 0.14);
}

.diary-btn.write-btn {
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--diary-accent), #f67288);
}

.diary-tools-area {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 10px 16px 0;
  min-height: 0;
}

.diary-search-input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--diary-border) !important;
  border-radius: 17px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: var(--diary-text-main) !important;
  outline: none !important;
  padding: 8px 14px !important;
  box-shadow: 0 4px 12px rgba(242, 139, 157, 0.08) !important;
}

.diary-search-input::placeholder { color: var(--diary-text-muted); }

.diary-tabs-scroll,
.diary-filters-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 6px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.diary-tabs-scroll::-webkit-scrollbar,
.diary-filters-scroll::-webkit-scrollbar { display: none; }

.diary-date-tab,
.diary-filter-pill {
  flex: 0 0 auto;
  min-height: 32px;
  border: 1px solid var(--diary-border);
  border-radius: 13px;
  background: #fff;
  color: var(--diary-text-muted);
  padding: 6px 13px;
  font-size: 13px;
  font-weight: 900;
}

.diary-date-tab.active {
  color: #fff;
  border-color: var(--diary-accent);
  background: var(--diary-accent);
  box-shadow: 0 6px 14px rgba(242, 139, 157, 0.28);
}

.diary-filter-pill.active {
  color: #fff;
  border-color: var(--diary-text-main);
  background: var(--diary-text-main);
}

.diary-paper-container {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  touch-action: pan-y;
}

.diary-empty-paper {
  min-height: 50vh;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--diary-border);
  border-radius: 22px;
  color: var(--diary-text-muted);
}

.diary-cute-paper {
  position: relative;
  min-height: min-content;
  border: 1px solid rgba(249, 216, 223, 0.9);
  border-radius: 22px;
  background-color: var(--diary-paper);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 29px, rgba(242,139,157,0.11) 29px, rgba(242,139,157,0.11) 30px);
  background-attachment: local;
  padding: 24px;
  color: var(--diary-text-main);
  box-shadow: 0 12px 34px rgba(242, 139, 157, 0.16), inset 0 1px 0 rgba(255,255,255,.96);
}

.diary-scroll-area { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 18px 18px calc(28px + env(safe-area-inset-bottom,0px)); }

.diary-char-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.diary-char-card { border: 1px solid var(--diary-border); border-radius: 18px; background: #fff; padding: 18px 10px; display: flex; flex-direction: column; align-items: center; gap: 10px; box-shadow: 0 8px 20px rgba(242,139,157,.11); }

.diary-char-card:active { transform: scale(.97); }

.diary-center-action { margin-top: 26px; text-align: center; }

.diary-home-center { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }

.diary-cute-book {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(75vw, 340px);
  height: min(58vh, 480px);
  min-height: 330px;
  max-height: calc(100% - 96px);
  border: 2px dashed rgba(255, 255, 255, 0.48);
  border-radius: 12px 32px 32px 12px;
  background: linear-gradient(135deg, #ffc0cb, #f9a8d4);
  box-shadow: 16px 24px 40px rgba(242, 139, 157, 0.35), inset -6px 0 20px rgba(255,255,255,0.5);
  transition: transform .2s cubic-bezier(.25,1,.5,1);
}

.diary-cute-book:active { transform: scale(.97); }

.diary-cute-book::before { content: ""; position: absolute; left: 24px; top: 0; bottom: 0; width: 3px; background: rgba(0,0,0,.08); box-shadow: 1px 0 2px rgba(255,255,255,.32); }

.diary-whisper-text { margin: 28px 0 0; color: var(--diary-text-muted); text-align: center; font-size: 15px; letter-spacing: 1.5px; }

.diary-pink-header { padding-inline: 12px; }

.diary-title { font-size: 15px; }

.diary-btn { padding: 7px 10px; font-size: 12px; }

.diary-tools-area,
.diary-paper-container { padding-inline: 12px; }

.diary-cute-paper { padding: 20px 18px; border-radius: 20px; }

.diary-cute-book { width: min(80vw, 320px); height: min(56vh, 440px); }

.diary-empty-paper { gap: 14px; padding: 22px; text-align: center; }

.diary-pink-theme button { cursor: pointer; touch-action: manipulation; }

.diary-paper-container > .diary-cute-paper { margin-bottom: 12px; }

.diary-btn:disabled,
.diary-pink-theme button:disabled {
  opacity: .62;
  pointer-events: none;
  filter: grayscale(.08);
}

.diary-generation-banner {
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid var(--diary-border);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  color: var(--diary-text-main);
  box-shadow: 0 8px 20px rgba(242,139,157,.12);
}

.diary-generation-banner b { display: block; margin-bottom: 4px; color: var(--diary-accent-deep); }

.diary-generation-banner p { margin: 0; color: var(--diary-text-muted); font-size: 13px; line-height: 1.55; }

.diary-generation-dots { display: flex; gap: 6px; margin-top: 10px; }

.diary-generation-dots i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--diary-accent);
  animation: diaryDotPulse 1s ease-in-out infinite;
}

.diary-generation-dots i:nth-child(2) { animation-delay: .16s; }

.diary-generation-dots i:nth-child(3) { animation-delay: .32s; }

@keyframes diaryBubbleFloat { from { transform: translate3d(0, 6px, 0) scale(.98); } to { transform: translate3d(0, -10px, 0) scale(1.02); } }

@keyframes diaryPageFlip {
  0% { transform: perspective(1200px) rotateY(50deg) translateX(4px); opacity: 0; }
  100% { transform: perspective(1200px) rotateY(0) translateX(0); opacity: 1; }
}

@keyframes diaryDotPulse { 0%,
80%,
100% { opacity: .28; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

/*# source: assets/css/features/dream.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.cinematic-stats {display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

.cinematic-stats p {background:rgba(255,255,255,.04);border:1px solid rgba(242,228,191,.08);padding:10px 12px;border-radius:16px;text-align:center}

.cinematic-stats strong {display:block;color:#f4ebe0}

.cinematic-actions {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:transparent;border-top:none;padding-top:10px}

.cinematic-actions button {border:1px solid rgba(240,227,197,.12);background:rgba(255,255,255,.04);color:#f2ece1;border-radius:16px;padding:12px 10px}

.somnium-orbit-home {border-radius:34px;background:#030307!important;color:#f3f0ea!important;overflow:hidden}

.somnium-reader {background:#05060c!important;color:#f2efe7!important;border-radius:34px;overflow:hidden}

.somnium-head {position:relative;padding:18px 56px 28px!important;background:linear-gradient(180deg,rgba(20,23,34,.96),rgba(9,11,18,.92));color:#f3eee5!important;text-align:center;border-bottom:1px solid rgba(238,226,198,.12)}

.somnium-head small {display:block;color:rgba(238,226,198,.54);font-size:11px;letter-spacing:.24em;font-weight:800}

.somnium-head h2 {margin:8px 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:42px;letter-spacing:.16em;color:#f7f1e8}

.somnium-head>p {margin:0 0 18px;font-size:17px;letter-spacing:.34em;font-weight:800;color:rgba(236,211,155,.86)}

.somnium-list {padding:18px 16px 0;display:grid;gap:18px;background:transparent!important;color:#f2eee5!important}

.somnium-card {gap:12px;color:#f2eee5!important}

.somnium-card.compact {cursor:pointer;-webkit-tap-highlight-color:rgba(236,211,155,.12)}

.somnium-card.compact:focus-visible {outline:2px solid rgba(236,211,155,.48);outline-offset:3px}

.somnium-paper {border-radius:0!important;background:linear-gradient(180deg,rgba(18,21,31,.96),rgba(10,12,20,.96))!important;border:1px solid rgba(238,226,198,.12)!important;box-shadow:0 18px 42px rgba(0,0,0,.32)!important;color:#f2eee5!important}

.somnium-card.compact .somnium-paper {position:relative;min-height:180px;padding:20px 18px!important;background:radial-gradient(circle at 72% 8%,rgba(236,211,155,.1),transparent 28%),linear-gradient(180deg,rgba(18,21,31,.97),rgba(8,10,17,.98))!important}

.somnium-paper h3 {margin:16px 0 14px!important;padding-bottom:14px;border-bottom:1px dashed rgba(238,226,198,.16);color:#f8f1e6!important;font-size:28px!important;line-height:1.35!important;font-family:"Songti SC","STSong","Noto Serif CJK SC",serif}

.somnium-actions {position:sticky;bottom:8px;margin-top:0;padding:8px;border-radius:18px;background:rgba(8,10,16,.84)!important;box-shadow:0 12px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px)}

.somnium-actions button {color:#f2eee5!important;background:rgba(255,255,255,.07)!important;border-color:rgba(238,226,198,.14)!important}

.somnium-empty {margin:18px 16px;background:rgba(255,255,255,.055)!important;border-color:rgba(238,226,198,.16)!important;color:#f2eee5!important}

@media (max-width:420px) {
.somnium-head h2 {font-size:36px}
}

#appScreen .somnium-reader,
#appScreen .somnium-list,
#appScreen .somnium-orbit-home {--dream-accent: var(--moss-ui-accent);
  --dream-line: color-mix(in srgb, #fff 13%, transparent);
  color: #f5f5f4 !important;
  background: color-mix(in srgb, #101216 94%, var(--moss-ui-accent) 6%) !important;}

#appScreen .somnium-head {border-color: var(--dream-line) !important;
  background: color-mix(in srgb, #111318 86%, transparent) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);}

#appScreen .somnium-orbit-home {background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;}

#appScreen .somnium-actions button:active {transform: translate(2px, -2px) !important;
  box-shadow: 2px -2px 0 0 var(--dream-charcoal) !important;}

#appScreen .somnium-head {overflow: hidden;
  padding: 26px 56px 30px !important;
  border: 0 !important;
  border-bottom: 1.5px solid var(--dream-ink) !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
  text-align: left !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

#appScreen .somnium-head::after {content: "";
  position: absolute;
  right: -54px;
  top: 80px;
  width: 206px;
  height: 86px;
  border: 1.5px solid var(--dream-blue);
  border-radius: 52% 48% 45% 55% / 56% 42% 58% 44%;
  transform: rotate(-14deg);
  pointer-events: none;}

#appScreen .somnium-head small {color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
  letter-spacing: .12em !important;}

#appScreen .somnium-head h2 {margin: 10px 0 0 !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: clamp(46px, 13vw, 62px) !important;
  font-style: italic;
  font-weight: 300 !important;
  line-height: .94 !important;
  letter-spacing: -.03em !important;}

#appScreen .somnium-head > p {margin: 2px 0 22px !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  letter-spacing: .04em !important;}

#appScreen .somnium-list {counter-reset: dream-card;
  gap: 24px !important;
  padding: 24px 20px 0 !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;}

#appScreen .somnium-card {counter-increment: dream-card;
  border: 0 !important;
  border-radius: 30px !important;
  background: transparent !important;
  color: var(--dream-ink) !important;
  box-shadow: none !important;}

#appScreen .somnium-card.compact:nth-child(odd) {margin-right: 10px;}

#appScreen .somnium-card.compact:nth-child(even) {margin-left: 10px;}

#appScreen .somnium-paper,
#appScreen .somnium-card.compact .somnium-paper {position: relative !important;
  overflow: hidden !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 30px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 5px -5px 0 0 var(--dream-charcoal) !important;}

#appScreen .somnium-card.compact .somnium-paper {min-height: 190px !important;
  padding: 54px 20px 22px !important;}

#appScreen .somnium-card.compact .somnium-paper::before {content: counter(dream-card, decimal-leading-zero);
  position: absolute;
  left: 20px;
  top: 16px;
  color: var(--dream-ink);
  font-family: var(--dream-serif);
  font-size: 22px;
  font-weight: 300;}

#appScreen .somnium-card.compact .somnium-paper::after {content: "";
  position: absolute;
  right: -26px;
  top: -22px;
  width: 118px;
  height: 72px;
  border: 1.5px solid var(--dream-ink);
  border-radius: 48% 52% 57% 43% / 54% 45% 55% 46%;
  transform: rotate(17deg);
  pointer-events: none;}

#appScreen .somnium-card.expanded .somnium-paper {padding: 20px !important;}

#appScreen .somnium-paper h3 {margin: 22px 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1.5px solid var(--dream-ink) !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 32px !important;
  font-style: italic;
  font-weight: 300 !important;
  line-height: 1.25 !important;}

#appScreen .somnium-actions {bottom: 10px !important;
  gap: 8px !important;
  padding: 9px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 24px !important;
  background: var(--dream-card) !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;}

#appScreen .somnium-actions button {min-height: 40px;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 3000px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: none !important;}

#appScreen .somnium-empty {margin: 26px 20px !important;
  padding: 34px 22px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 30px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 5px -5px 0 0 var(--dream-charcoal) !important;}

#appScreen .somnium-empty p {margin: 0 0 10px;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 30px;
  font-style: italic;}

#appScreen .somnium-empty small {color: var(--dream-charcoal) !important;}

@media (max-width: 420px) {
#appScreen .somnium-head {padding-left: 54px !important; padding-right: 54px !important;}
#appScreen .somnium-head h2 {font-size: 45px !important;}
#appScreen .somnium-list {padding-left: 14px !important; padding-right: 14px !important;}
#appScreen .somnium-card.compact:nth-child(odd) {margin-right: 6px;}
#appScreen .somnium-card.compact:nth-child(even) {margin-left: 6px;}
#appScreen .somnium-card.expanded .somnium-paper {padding: 16px !important;}
#appScreen .somnium-actions {grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
}

/* Existing canonical module rules follow. */
/*
 * dream feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

body .dream-void-app {
  min-height: calc(100dvh - 54px);
  margin: -12px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body .dream-scene-title {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}

body .dream-scene-title span {
  font-size: 10px;
  letter-spacing: .22em;
  opacity: .66;
}

body .dream-scene-title h2 {
  margin: 0;
  font-family: "Songti SC", "STSong", serif;
  font-size: 25px;
  font-weight: 500;
}

body .dream-scene-title p {
  max-width: 260px;
  margin: 0;
  color: rgba(255,245,234,.74);
  font-size: 12px;
  line-height: 1.55;
}

body .dream-echo-line {
  display: grid;
  gap: 8px;
  margin: 0 14px 18px;
  padding: 14px;
  border: 1px solid rgba(255,232,190,.16);
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body .dream-echo-line { color: rgba(255,246,232,.72); font-size: 12px; line-height: 1.5; }

body .dream-echo-line strong { display: block; margin-bottom: 3px; color: #fff5df; font-size: 13px; }

body .dream-void-app,
body .dream-reader-stage {
  color: rgba(255,255,255,.9) !important;
  background:
    radial-gradient(circle at 48% 8%, rgba(255,255,255,.08), transparent 24%),
    radial-gradient(circle at 12% 72%, rgba(110,122,160,.12), transparent 30%),
    linear-gradient(180deg, #010205, #07090d 48%, #020305) !important;
}

body .dream-portal-scene {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 78dvh;
  padding: 28px 18px;
  overflow: hidden;
}

body .dream-star-map span {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  box-shadow: 0 0 18px rgba(255,255,255,.7);
  animation: dreamTwinkle 3s ease-in-out infinite alternate;
}

body .dream-star-map span:nth-child(1) { top: 14%; left: 21%; }

body .dream-star-map span:nth-child(2) { top: 26%; right: 18%; animation-delay: .8s; }

body .dream-star-map span:nth-child(3) { bottom: 18%; left: 50%; animation-delay: 1.4s; }

body .dream-gate {
  position: absolute;
  bottom: 82px;
  width: 164px;
  height: 246px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 82px 82px 12px 12px;
  background: linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: inset 0 0 50px rgba(255,255,255,.05), 0 0 70px rgba(255,255,255,.06);
}

body .dream-gate i {
  position: absolute;
  left: 50%;
  top: 16px;
  bottom: 0;
  width: 4px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.8), transparent);
  box-shadow: 0 0 26px rgba(255,255,255,.8);
}

body .dream-title-block { position: relative; z-index: 1; display: grid; gap: 10px; justify-items: center; margin-bottom: 170px; text-align: center; }

body .dream-title-block span { color: rgba(255,255,255,.46); font-size: 10px; letter-spacing: .26em; }

body .dream-title-block h2 { margin: 0; font-family: "Songti SC", "STSong", serif; font-size: 64px; font-weight: 500; letter-spacing: .06em; text-shadow: 0 0 34px rgba(255,255,255,.18); }

body .dream-title-block p { max-width: 248px; margin: 0; color: rgba(255,255,255,.64); line-height: 1.8; }

body .dream-enter-hint {
  position: absolute;
  bottom: 34px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body .dream-puzzle-scene { min-height: 76dvh; padding: 28px 14px 52px; }

body .dream-scene-title p { color: rgba(255,255,255,.54); }

body .dream-puzzle-field {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 12px;
  min-height: 500px;
  padding: 36px 2px 18px;
}

body .dream-puzzle-piece {
  position: relative;
  display: grid;
  gap: 5px;
  justify-items: center;
  align-content: center;
  justify-self: center;
  width: 132px;
  min-height: 148px;
  padding: 14px 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025));
  clip-path: polygon(14% 0, 47% 0, 51% 10%, 59% 10%, 63% 0, 86% 0, 100% 14%, 100% 43%, 89% 47%, 89% 56%, 100% 60%, 100% 86%, 86% 100%, 56% 100%, 52% 89%, 43% 89%, 39% 100%, 14% 100%, 0 86%, 0 60%, 11% 56%, 11% 47%, 0 43%, 0 14%);
  box-shadow: 0 18px 42px rgba(0,0,0,.45), inset 0 0 28px rgba(255,255,255,.05);
  animation: dreamPuzzleFloat calc(5s + var(--i) * .26s) ease-in-out infinite alternate;
  -webkit-tap-highlight-color: transparent;
}

body .dream-puzzle-piece:nth-child(2n) { margin-top: 38px; }

body .dream-puzzle-piece:nth-child(3n) { transform: rotate(-5deg); }

body .dream-puzzle-piece:nth-child(4n) { transform: rotate(5deg); }

body .dream-puzzle-glow {
  position: absolute;
  inset: 12px;
  background: radial-gradient(circle, rgba(255,255,255,.18), transparent 64%);
  filter: blur(8px);
}

body .dream-puzzle-piece .avatar {
  width: 68px !important;
  height: 68px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.08) !important;
  filter: grayscale(.5) contrast(1.06);
  overflow: hidden;
}

body .dream-puzzle-piece .avatar img { width: 100%; height: 100%; object-fit: cover; }

body .dream-puzzle-piece span:not(.avatar):not(.dream-puzzle-glow) { position: relative; z-index: 1; font-weight: 800; }

body .dream-puzzle-piece small { position: relative; z-index: 1; max-width: 108px; overflow: hidden; color: rgba(255,255,255,.48); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }

body .dream-empty-dark { color: rgba(255,255,255,.7) !important; }

body .dream-reader-stage { margin: -12px; min-height: calc(100dvh - 54px); padding: 12px 12px calc(24px + env(safe-area-inset-bottom)); }

body .dream-reader-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 8px 2px 12px;
}

body .dream-reader-head button { min-height: 34px; padding: 0 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.84); background: rgba(255,255,255,.05); }

body .dream-reader-person { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 8px; }

body .dream-reader-person .avatar { width: 34px !important; height: 34px !important; border-radius: 14px !important; }

body .dream-reader-person span { display: grid; min-width: 0; }

body .dream-reader-person strong,
body .dream-reader-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body .dream-reader-person small { color: rgba(255,255,255,.45); font-size: 11px; }

body .dream-weaving-panel {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 28px 16px 24px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 26px;
  background: radial-gradient(circle at 50% 0, rgba(255,255,255,.08), transparent 52%), rgba(255,255,255,.025);
}

body .dream-loading-orbit {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);
  background: radial-gradient(circle at 68% 32%, rgba(255,255,255,.8) 0 3px, transparent 4px), radial-gradient(circle, transparent 52%, rgba(255,255,255,.08) 53% 100%);
  box-shadow: 0 0 38px rgba(255,255,255,.08);
  animation: dreamOrbit 4s linear infinite;
}

body .dream-weaving-panel small { max-width: 270px; color: rgba(255,255,255,.48); text-align: center; line-height: 1.6; }

body .dream-night-list { display: grid; gap: 16px; }

body .dream-card.dream-night-card,
body .dream-card.dream-night-card .dream-card-paper {
  color: rgba(255,255,255,.86) !important;
  background: #15171c !important;
  border-color: rgba(255,255,255,.09) !important;
}

body .dream-card.dream-night-card .dream-card-paper {
  padding: 22px 20px;
  border-radius: 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body .dream-card.dream-night-card h3 { color: #fff !important; font-family: "Songti SC", "STSong", serif; font-size: 24px; font-weight: 500; }

body .dream-card.dream-night-card .dream-card-head { color: rgba(255,255,255,.48) !important; }

body .dream-card.dream-night-card .dream-mood { color: rgba(255,255,255,.86) !important; background: rgba(255,255,255,.08) !important; }

body .dream-card.dream-night-card .dream-text {
  color: rgba(255,255,255,.82) !important;
  font-family: "Songti SC", "STSong", serif;
  font-size: 15px;
  line-height: 2.05 !important;
  white-space: pre-wrap;
}

body .dream-card.dream-night-card.compact .dream-text { -webkit-line-clamp: 12 !important; }

body .dream-card.dream-night-card .dream-detail-box,
body .dream-card.dream-night-card .dream-symbol-list span {
  color: rgba(255,255,255,.75) !important;
  border-color: rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.04) !important;
}

body .dream-card.dream-night-card .dream-detail-box strong,
body .dream-card.dream-night-card .dream-symbol-list b { color: rgba(255,255,255,.92) !important; }

body .dream-card.dream-night-card .dream-symbol-list small,
body .dream-card.dream-night-card .dream-detail-box p { color: rgba(255,255,255,.62) !important; }

body .dream-night-actions { color: rgba(255,255,255,.66); background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.09) !important; }

body .dream-night-actions button { color: rgba(255,255,255,.86); background: rgba(255,255,255,.08); }

body .dream-empty-reader { display: grid; justify-items: center; gap: 8px; padding: 44px 16px; color: rgba(255,255,255,.78); text-align: center; }

body .dream-empty-reader small { max-width: 260px; color: rgba(255,255,255,.48); line-height: 1.6; }

body .dream-puzzle-field { gap: 16px 6px; }

body .dream-puzzle-piece { width: 118px; min-height: 138px; }

.dream-cosmic-select,
.dream-reader-stage.cinematic,
.dream-stage-intro{color:inherit}

.dream-stage-intro .dream-portal-screen.cinematic-intro{position:relative;overflow:hidden;min-height:calc(100dvh - 164px);padding:26px 18px calc(26px + env(safe-area-inset-bottom));border-radius:34px;background:radial-gradient(circle at 50% 18%,rgba(219,229,255,.09),transparent 22%),linear-gradient(180deg,#030407 0%,#0a0c11 38%,#15181f 100%);display:grid;align-content:start;gap:18px;box-shadow:0 24px 60px rgba(2,4,10,.5);color:#f3eee5}

.dream-star-map.orbital span{position:absolute;border-radius:50%}

.dream-star-map.orbital span:nth-child(1){width:2px;height:2px;left:18%;top:10%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8)}

.dream-star-map.orbital span:nth-child(2){width:3px;height:3px;right:16%;top:16%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.75)}

.dream-star-map.orbital span:nth-child(3){width:4px;height:4px;left:72%;top:28%;background:#fff;box-shadow:0 0 14px rgba(255,255,255,.72)}

.dream-star-map.orbital span:nth-child(4){left:50%;top:86px;width:240px;height:240px;transform:translateX(-50%);border:1px solid rgba(196,206,229,.12);background:transparent}

.dream-star-map.orbital span:nth-child(5){left:50%;top:106px;width:186px;height:186px;transform:translateX(-50%);border:1px solid rgba(196,206,229,.1);background:transparent}

.dream-star-map.orbital span:nth-child(6){left:50%;top:126px;width:130px;height:130px;transform:translateX(-50%);border:1px solid rgba(196,206,229,.08);background:transparent}

.dream-title-block.cinematic{text-align:center;display:grid;gap:8px}

.dream-title-block.cinematic small{font-size:12px;letter-spacing:.26em;color:rgba(236,228,208,.46)}

.dream-title-block.cinematic h2{margin:0;font-size:44px;letter-spacing:.12em;font-family:Georgia,"Times New Roman","Songti SC",serif;color:#f4ece1}

.dream-title-block.cinematic p{margin:0;color:rgba(242,235,221,.78)}

.dream-archway{position:relative;width:min(86vw,340px);height:430px;margin:6px auto 0}

.dream-archway::before{content:"";position:absolute;left:50%;top:66px;transform:translateX(-50%);width:182px;height:246px;border-radius:92px 92px 8px 8px;background:linear-gradient(180deg,rgba(60,62,69,.64),rgba(31,33,40,.98));box-shadow:0 0 0 1px rgba(225,214,183,.12),0 32px 54px rgba(0,0,0,.38),inset 0 0 0 10px rgba(112,112,116,.18)}

.dream-door-panel{position:absolute;top:86px;width:86px;height:210px;background:linear-gradient(180deg,#56585e,#35373d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}

.dream-door-panel.left{left:calc(50% - 80px);transform:skewY(1deg)}

.dream-door-panel.right{right:calc(50% - 80px);transform:skewY(-1deg)}

.dream-door-light{position:absolute;left:50%;top:86px;transform:translateX(-50%);width:42px;height:210px;border-radius:999px;background:linear-gradient(180deg,rgba(255,243,214,.95),rgba(255,221,156,.66) 38%,rgba(255,255,255,.05) 100%);filter:blur(2px)}

.dream-archway::after{content:"";position:absolute;left:50%;bottom:44px;transform:translateX(-50%);width:240px;height:96px;background:radial-gradient(ellipse at center,rgba(188,195,212,.18),rgba(188,195,212,0) 72%);filter:blur(6px)}

.dream-stair{position:absolute;left:50%;transform:translateX(-50%);display:block;border-radius:999px;background:linear-gradient(180deg,#3a3d44,#22252b);box-shadow:0 16px 24px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04)}

.dream-stair.s1{bottom:66px;width:210px;height:18px}

.dream-stair.s2{bottom:48px;width:238px;height:18px}

.dream-stair.s3{bottom:30px;width:264px;height:18px}

.dream-stair.s4{bottom:12px;width:292px;height:18px}

.dream-touch-tip{text-align:center;color:rgba(244,236,223,.88);letter-spacing:.16em}

.dream-enter-button{position:relative;margin:0 auto;border:none;background:transparent;width:88px;height:88px}

.dream-ripple,
.dream-enter-button::before,
.dream-enter-button::after{content:"";position:absolute;inset:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(242,228,191,.42)}

.dream-ripple{width:48px;height:48px;box-shadow:0 0 16px rgba(245,225,182,.28)}

.dream-enter-button::before{width:68px;height:68px;opacity:.7}

.dream-enter-button::after{width:88px;height:88px;opacity:.34}

.dream-cosmic-select{min-height:calc(100dvh - 164px);padding:16px 12px calc(24px + env(safe-area-inset-bottom));border-radius:32px;background:linear-gradient(180deg,#06080d 0%,#0b0f16 44%,#141923 100%);box-shadow:0 24px 60px rgba(2,4,10,.46);color:#f4ede3}

.dream-select-header.cinematic{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 6px 0}

.dream-select-header h2{margin:6px 0 0;font-size:30px;color:#f4ece1}

.dream-select-header small{letter-spacing:.18em;color:rgba(242,234,222,.5)}

.dream-puzzle-scene.cinematic{position:relative;padding:20px 8px 10px;background:transparent;border:none;box-shadow:none}

.dream-puzzle-field.cinematic{position:relative;min-height:62dvh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:start;justify-items:center;padding:12px 6px 0}

.dream-puzzle-piece.cinematic{position:relative;width:100%;max-width:160px;min-height:170px;padding:18px 12px 16px;border:none;background:linear-gradient(180deg,rgba(77,83,96,.62),rgba(35,38,48,.92));clip-path:polygon(14% 0,43% 0,50% 12%,57% 0,86% 0,100% 18%,100% 82%,86% 100%,57% 100%,50% 88%,43% 100%,14% 100%,0 82%,0 18%);box-shadow:0 18px 34px rgba(0,0,0,.3), inset 0 0 0 1px rgba(255,255,255,.06);display:grid;justify-items:center;align-content:center;gap:8px;color:#fff}

.dream-puzzle-piece.cinematic .avatar{width:76px!important;height:76px!important;border:3px solid rgba(255,255,255,.26);box-shadow:0 10px 20px rgba(0,0,0,.22)}

.dream-puzzle-piece.cinematic span,
.dream-puzzle-piece.cinematic small{position:relative;z-index:1;text-align:center}

.dream-puzzle-piece.cinematic span{font-size:18px;font-weight:700}

.dream-puzzle-piece.cinematic small{color:rgba(255,255,255,.76);line-height:1.4}

.dream-puzzle-piece.spotlight{box-shadow:0 0 0 1px rgba(220,180,92,.46),0 0 22px rgba(220,180,92,.2),0 18px 34px rgba(0,0,0,.3)}

.dream-puzzle-piece.spotlight::after{content:"";position:absolute;inset:-2px;border:1px solid rgba(230,189,98,.66);clip-path:inherit;border-radius:inherit;pointer-events:none}

.dream-empty-fragment{position:absolute;display:block;width:94px;height:110px;background:linear-gradient(180deg,rgba(66,70,82,.36),rgba(31,35,46,.66));clip-path:polygon(14% 0,43% 0,50% 12%,57% 0,86% 0,100% 18%,100% 82%,86% 100%,57% 100%,50% 88%,43% 100%,14% 100%,0 82%,0 18%);opacity:.5}

.dream-empty-fragment.frag-a{left:6px;top:52px}

.dream-empty-fragment.frag-b{right:10px;top:24px}

.dream-empty-fragment.frag-c{right:28%;bottom:36px}

.dream-page-dots{display:flex;justify-content:center;gap:8px;padding-top:8px}

.dream-page-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.26)}

.dream-page-dots span.active{background:#efe4cd;box-shadow:0 0 12px rgba(240,227,196,.36)}

.dream-reader-stage.cinematic{display:grid;gap:12px}

.dream-reader-head.cinematic-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;border-radius:22px;background:linear-gradient(180deg,rgba(12,14,20,.96),rgba(18,21,30,.96));box-shadow:0 18px 42px rgba(2,4,10,.28);border:1px solid rgba(238,226,198,.08)}

.dream-reader-head.cinematic-head .settings-back,
.dream-more-btn{border:none;background:rgba(255,255,255,.04);color:#f2ebe0;border-radius:50%;width:36px;height:36px}

.dream-reader-title{text-align:center;display:grid;gap:4px}

.dream-reader-title small{letter-spacing:.18em;color:rgba(242,234,220,.48)}

.dream-reader-title strong{color:#f5eee4;font-size:20px}

.dream-reader-title span{color:rgba(231,206,143,.72)}

.dream-reader-personline{display:flex;justify-content:center;align-items:center;gap:10px;color:#f2ebe0}

.dream-reader-personline .avatar{width:40px!important;height:40px!important}

.dream-card-paper.cinematic{padding:18px 16px 16px;border-radius:26px;background:linear-gradient(180deg,#11141b,#1d2330);border:1px solid rgba(239,227,197,.08);box-shadow:0 18px 42px rgba(2,4,10,.28)}

.dream-eclipse-line{width:110px;height:20px;margin:4px auto 10px;border-top:1px solid rgba(239,227,197,.16);position:relative}

.dream-eclipse-line::after{content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px rgba(239,227,197,.22) inset,0 0 12px rgba(242,202,121,.18);background:radial-gradient(circle at 30% 30%,rgba(240,198,109,.76),rgba(240,198,109,.08) 64%,transparent 65%)}

.dream-finish-sign{text-align:right;color:rgba(240,226,196,.7);margin-top:10px;letter-spacing:.08em}

.dream-list.cinematic-list{display:grid;gap:14px}

.dream-title-block.cinematic h2{font-size:38px}

.dream-archway{height:390px}

.dream-orbit-stage{position:relative;min-height:calc(100dvh - 150px);padding:18px 0 calc(28px + env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.08),transparent 18%),radial-gradient(circle at 50% 72%,rgba(180,186,225,.12),transparent 30%),linear-gradient(180deg,#02020a 0%,#070813 48%,#020205 100%)}

.dream-orbit-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}

.dream-orbit-stars i{position:absolute;width:var(--s,3px);height:var(--s,3px);left:var(--x,50%);top:var(--y,50%);border-radius:50%;background:rgba(255,255,255,.74);box-shadow:0 0 12px rgba(255,255,255,.55);opacity:.72}

.dream-orbit-stars i:nth-child(3n){--s:4px;background:rgba(220,196,112,.82);box-shadow:0 0 14px rgba(220,196,112,.56)}

.dream-orbit-stars i:nth-child(4n){--s:2px;filter:blur(.5px);opacity:.5}

.dream-orbit-stage::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.14),transparent);box-shadow:0 0 22px rgba(255,255,255,.12)}

.dream-orbit-top{position:relative;z-index:3;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:0 18px;color:rgba(242,238,230,.78)}

.dream-orbit-top span{text-align:center;font-family:Georgia,"Times New Roman","Songti SC",serif;letter-spacing:.28em;font-weight:800;transform:translateX(.14em)}

.dream-orbit-top .dream-more-dot{position:static;width:42px;height:42px}

.dream-orbit-title{position:relative;z-index:3;text-align:center;margin:26px 18px 8px;display:grid;gap:8px}

.dream-orbit-title small{font-size:11px;letter-spacing:.22em;color:rgba(243,238,230,.42)}

.dream-orbit-title h2{margin:0;font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:34px;letter-spacing:.2em;color:#f6f2ea;transform:translateX(.1em)}

.dream-orbit-title p{margin:0;color:rgba(243,238,230,.68);font-size:13px}

.dream-orbit-scroll{position:relative;z-index:4;display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:0;align-items:center;min-height:64dvh;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:14%;padding:28px 14% 46px;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;scroll-behavior:smooth;perspective:900px;transform-style:preserve-3d}

.dream-orbit-scroll::-webkit-scrollbar{display:none}

.dream-orbit-person{position:relative;width:100%;scroll-snap-align:center;scroll-snap-stop:always;min-height:430px;border:0;background:transparent;color:#f7f2ea;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;font-family:Georgia,"Times New Roman","Songti SC",serif;transform-origin:center center;will-change:transform,opacity,filter;transition:opacity .1s linear,filter .1s linear;--detail-opacity:1}

.dream-orbit-person::before{content:"";position:absolute;left:50%;top:52%;width:92px;height:70px;transform:translate(-50%,-50%) rotate(-26deg);border-radius:52% 48% 56% 44%;background:rgba(255,255,255,.26);box-shadow:0 0 24px rgba(255,255,255,.16);filter:blur(.2px)}

.dream-orbit-person::after{content:"";position:absolute;left:50%;top:50%;width:156px;height:156px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 34px rgba(255,255,255,.05)}

.dream-orbit-person.has-dream::after{border-color:rgba(220,196,112,.18);box-shadow:0 0 36px rgba(220,196,112,.12)}

.dream-orbit-avatar{position:relative;z-index:2;width:78px!important;height:78px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 12px 28px rgba(0,0,0,.48),0 0 0 8px rgba(255,255,255,.025)!important;filter:contrast(1.05) saturate(.9);font-size:28px}

.dream-orbit-avatar::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.35),transparent 26%);pointer-events:none}

.dream-orbit-person strong{position:relative;z-index:2;margin-top:26px;font-size:32px;font-weight:400;letter-spacing:.18em;text-shadow:0 0 22px rgba(255,255,255,.3);transition:transform .3s ease,opacity .18s ease}

.dream-orbit-person span{position:relative;z-index:2;max-width:238px;color:rgba(242,238,230,.72);font-size:15px;line-height:1.6;opacity:var(--detail-opacity,1);transition:opacity .1s ease-out;pointer-events:none}

.dream-orbit-person small{position:relative;z-index:2;color:rgba(220,196,112,.72);font-family:var(--app-font-family);font-size:12px;letter-spacing:.12em;opacity:var(--detail-opacity,1);transition:opacity .1s ease-out;pointer-events:none}

.dream-orbit-person.is-generating{pointer-events:none;filter:brightness(.82)}

.dream-orbit-caption{position:relative;z-index:2;margin:0 18px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;color:rgba(243,238,230,.66)}

.dream-orbit-caption strong{font-size:22px;color:#f6f1e8}

.dream-orbit-caption span{font-weight:800}

.dream-orbit-caption em{font-style:normal;text-align:right;font-size:12px;color:rgba(243,238,230,.48)}

.dream-screen-03.somnium-reader{padding:0 0 calc(24px + env(safe-area-inset-bottom))!important;background:radial-gradient(circle at 50% 0,rgba(218,190,126,.13),transparent 30%),linear-gradient(180deg,#03040a 0%,#0b0d16 52%,#040509 100%)!important}

.somnium-head .dream-back-minimal{position:absolute;left:16px;top:16px;color:#f4ead8;background:rgba(255,255,255,.06);border-color:rgba(238,226,198,.16)}

.somnium-head .dream-more-dot{position:absolute;right:16px;top:16px;color:#f4ead8;background:rgba(255,255,255,.06);border-color:rgba(238,226,198,.16)}

.somnium-head .dream-reader-personline{gap:10px;color:#f3eee5}

.somnium-head .dream-reader-avatar{width:42px!important;height:42px!important;border-radius:50%!important}

.somnium-head .dream-reader-personline span{display:grid;text-align:left;gap:2px}

.somnium-head .dream-reader-personline strong{font-size:15px;color:#f5efe5}

.somnium-head .dream-reader-personline em{font-style:normal;color:rgba(238,226,198,.68);font-size:12px}

.somnium-card.compact .dream-somnium-tag{margin-top:12px}

.dream-visual-panel{position:relative;height:168px;margin:-24px -20px 22px;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.52)),radial-gradient(circle at 50% 0,rgba(245,220,160,.8),transparent 18%),repeating-linear-gradient(170deg,rgba(255,255,255,.13) 0 1px,transparent 1px 7px),linear-gradient(115deg,#111515,#4c493f 44%,#111);display:grid;align-items:end;padding:12px;overflow:hidden}

.dream-visual-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.dream-visual-panel.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.52))}

.dream-visual-panel small{position:relative;z-index:1;color:rgba(255,255,255,.74);font-size:11px;line-height:1.45;text-align:left}

.dream-visual-panel button{position:absolute;right:10px;bottom:10px;z-index:2;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(12,14,24,.68);backdrop-filter:blur(10px);color:#fff;padding:7px 10px;font-size:11px;font-weight:800}

.dream-visual-panel button:disabled{opacity:.6}

.dream-visual-panel.is-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.18),transparent);animation:dreamSheen 1.5s linear infinite}

.dream-somnium-meta,
.dream-poem-date{display:flex;justify-content:space-between;align-items:center;gap:10px;color:rgba(238,226,198,.62)!important;font-size:12px;font-family:var(--app-font-family)}

.dream-somnium-tag{display:inline-block;padding:6px 10px;background:rgba(236,211,155,.16);border:1px solid rgba(236,211,155,.24);color:#f5e5bd;font-size:12px;letter-spacing:.06em}

.dream-somnium-echo{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:rgba(236,211,155,.14);border-bottom:1px solid rgba(236,211,155,.3);padding:2px 7px;color:#f8f1e6;font-size:24px;line-height:1.65;font-weight:900}

.dream-card-preview{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin:16px 0 0;color:rgba(242,236,226,.84);line-height:1.9;font-size:16px;text-align:left}

.dream-bgm-row{display:grid;grid-template-columns:54px minmax(0,1fr)46px;align-items:center;gap:12px;margin:6px 0 20px;padding-bottom:16px;border-bottom:1px dashed rgba(238,226,198,.14);color:#f2eee5}

.dream-bgm-disc{width:50px;height:50px;border-radius:50%;border:2px solid rgba(238,226,198,.26);display:grid;place-items:center;animation:dreamDiscSpin 8s linear infinite}

.dream-bgm-row p{margin:0;display:grid;gap:4px;min-width:0}

.dream-bgm-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}

.dream-bgm-row small,
.dream-bgm-row em{color:rgba(238,226,198,.6);font-size:12px;font-style:normal}

.dream-poem-text.somnium{color:rgba(245,239,230,.92)!important;font-size:18px!important;line-height:2.12!important;letter-spacing:.03em!important;text-align:left!important;font-family:"Songti SC","STSong","Noto Serif CJK SC",serif!important}

.dream-dropcap{float:left;margin:12px 12px 0 0;font-size:70px;line-height:.82;color:#f7e9c6;font-weight:900}

.dream-detail-section{margin-top:26px;padding-top:22px;border-top:1px dashed rgba(238,226,198,.15);color:rgba(245,239,230,.9)}

.dream-detail-section h4{margin:0 0 14px;color:rgba(236,211,155,.72);font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.28em}

.dream-detail-section p{margin:0;color:rgba(245,239,230,.8);line-height:1.72;text-align:left}

.dream-anchor-list{display:grid;gap:10px;color:#f5e5bd;font-weight:700;text-align:left}

.dream-whisper-row{display:grid;grid-template-columns:38px minmax(0,1fr)46px;align-items:center;gap:10px;padding:11px;border:1px solid rgba(238,226,198,.14);background:rgba(255,255,255,.055)}

.dream-whisper-row button{width:34px;height:34px;border-radius:50%;border:2px solid rgba(238,226,198,.28);background:rgba(255,255,255,.06);color:#f8f1e6;display:grid;place-items:center;font-weight:900}

.dream-whisper-row p{margin:0;color:#f2eee5;display:grid;gap:3px;min-width:0}

.dream-whisper-row p small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(245,239,230,.58);font-size:12px}

.dream-whisper-row em{font-style:normal;color:rgba(238,226,198,.6);font-size:12px}

.dream-whisper-row audio{grid-column:1/-1;width:100%;height:34px;margin-top:2px;filter:invert(1) hue-rotate(180deg) saturate(.6);opacity:.92}

.dream-whisper-row.is-loading button{opacity:.7;animation:dreamDiscSpin 1.4s linear infinite}

.dream-voice-error{margin-top:8px!important;color:#ffb6b6!important;font-size:12px!important}

.dream-transcript{margin-top:12px!important;color:rgba(245,239,230,.76)!important}

.somnium-actions .dream-delete-mini{color:#ffb6b6!important}

.dream-orbit-scroll{grid-auto-columns:72%;scroll-padding-inline:14%;padding:24px 14% 42px}

.dream-orbit-person{min-height:410px}

.dream-orbit-person strong{font-size:29px}

.dream-poem-text.somnium{font-size:16px!important}

.dream-somnium-echo{font-size:22px}

.dream-more-overlay {
  position: fixed;
  inset: calc(86px + env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) auto auto;
  z-index: 10000;
  display: block;
  width: min(318px, calc(100vw - 28px));
  padding: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.dream-more-sheet {
  display: grid;
  gap: 10px;
  width: min(520px, 100%);
  max-height: min(82vh, 620px);
  overflow: auto;
  margin: 0 auto;
  padding: 14px 14px calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,248,.92));
  color: #1f2d3a;
  box-shadow: 0 24px 64px rgba(0,0,0,.24);
}

.dream-more-sheet header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dream-more-sheet header {
  min-width: 0;
}

.dream-more-sheet header strong {
  display: block;
  overflow: hidden;
  color: #172331;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dream-more-sheet header span,
.dream-more-sheet small {
  color: #647484;
}

.dream-more-sheet header button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(31,45,60,.08);
  color: #24384a;
  font-weight: 900;
}

.dream-more-sheet > button {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(36,52,68,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  color: #203040;
  padding: 11px 12px;
  text-align: left;
  font-weight: 900;
}

.dream-more-sheet > button {
  grid-template-columns: 28px minmax(0, 1fr);
}

.dream-more-sheet > button span,
.dream-more-sheet > button small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dream-more-sheet > button small {
  font-weight: 700;
}

.dream-more-sheet > button small {
  grid-column: 2;
}

.dream-more-sheet {
  background: linear-gradient(180deg, rgba(20,22,28,.98), rgba(8,9,12,.96));
  border-color: rgba(226,202,154,.16);
  color: #f1e7d6;
  width: 100%;
  max-height: min(56vh, 430px);
  margin: 0;
  padding: 12px;
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(0,0,0,.34);
}

.dream-more-sheet header strong,
.dream-more-sheet > button {
  color: #f1e7d6;
}

.dream-more-sheet header button,
.dream-more-sheet > button {
  background: rgba(255,255,255,.06);
  border-color: rgba(226,202,154,.14);
}

.dream-more-sheet > button b {
  color: #d8b66f;
}

.lifeline-event.dream { border-left-color: #6e6d9f; }

.suite-obj.dream { height: 58px; border-radius: 18px; background: radial-gradient(circle at 22% 34%, color-mix(in srgb, var(--cp-gold) 72%, transparent) 0 2px, transparent 3px), radial-gradient(circle at 66% 55%, color-mix(in srgb, var(--cp-rose) 38%, transparent) 0 1.5px, transparent 2.4px), linear-gradient(135deg, color-mix(in srgb, var(--cp-pearl) 78%, transparent), color-mix(in srgb, var(--cp-blush) 26%, transparent)); }

#appScreen .dream-cinema-ui {
  --dream-accent: var(--moss-ui-accent);
  --dream-line: color-mix(in srgb, #fff 13%, transparent);
  color: #f5f5f4 !important;
  background: color-mix(in srgb, #101216 94%, var(--moss-ui-accent) 6%) !important;
}

#appScreen .dream-screen-01,
#appScreen .dream-screen-03 {
  min-height: 100%;
  overflow-x: clip;
}

#appScreen .dream-orbit-top,
#appScreen .dream-reader-cinema-head {
  border-color: var(--dream-line) !important;
  background: color-mix(in srgb, #111318 86%, transparent) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

#appScreen .dream-back-minimal,
#appScreen .dream-more-dot {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--dream-line) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: color-mix(in srgb, #fff 6%, transparent) !important;
}

#appScreen .dream-orbit-caption,
#appScreen .dream-orbit-title,
#appScreen .dream-reader-personline strong { color: #f7f7f5 !important; }

#appScreen .dream-orbit-caption p,
#appScreen .dream-reader-personline small,
#appScreen .dream-somnium-meta { color: rgba(255,255,255,.62) !important; }

#appScreen .dream-poem-card,
#appScreen .dream-poem-paper,
#appScreen .dream-detail-section,
#appScreen .dream-more-sheet {
  border-color: var(--dream-line) !important;
  border-radius: 18px !important;
  color: #f5f5f4 !important;
  background: color-mix(in srgb, #1b1e24 92%, var(--moss-ui-accent) 8%) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.24) !important;
}

#appScreen .dream-start-weave,
#appScreen .dream-bottom-actions button {
  min-height: 44px;
  border-color: color-mix(in srgb, var(--dream-accent) 40%, var(--dream-line)) !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: color-mix(in srgb, var(--dream-accent) 78%, #111 22%) !important;
  box-shadow: none !important;
}

#appScreen .dream-somnium-tag,
#appScreen .dream-symbol-list span,
#appScreen .dream-anchor-list span {
  border-color: color-mix(in srgb, var(--dream-accent) 36%, var(--dream-line)) !important;
  color: color-mix(in srgb, var(--dream-accent) 58%, #fff 42%) !important;
  background: color-mix(in srgb, var(--dream-accent) 14%, transparent) !important;
}

#appScreen:has(.dream-cinema-ui),
#appScreen .dream-cinema-ui {
  --dream-paper: #f5f5f3;
  --dream-card: #ffffff;
  --dream-ink: #000000;
  --dream-charcoal: #333333;
  --dream-blue: #81aed9;
  --dream-blue-bright: #55a1ea;
  --dream-coral: #ff8562;
  --dream-serif: "Iowan Old Style", Baskerville, "Times New Roman", "Songti SC", STSong, serif;
  --dream-ui: "Avenir Next", Manrope, Inter, "PingFang SC", system-ui, sans-serif;
}

#appScreen:has(.dream-cinema-ui),
#appScreen:has(.dream-cinema-ui) > .app-body,
#appScreen .dream-cinema-ui,
#appScreen .dream-orbit-stage,
#appScreen .dream-screen-03.somnium-reader {
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-cinema-ui {
  overflow: hidden !important;
  border-radius: 30px !important;
  font-family: var(--dream-ui) !important;
}

#appScreen .dream-cinema-ui button,
body #dreamMoreOverlay button {
  font-family: var(--dream-ui) !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

#appScreen .dream-orbit-stage {
  min-height: calc(100dvh - 150px) !important;
  padding: 18px 0 calc(26px + env(safe-area-inset-bottom)) !important;
  isolation: isolate;
}

#appScreen .dream-orbit-stage::before,
#appScreen .dream-orbit-stage::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

#appScreen .dream-orbit-stage::before {
  top: 168px !important;
  bottom: auto !important;
  left: -72px !important;
  width: 286px !important;
  height: 132px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 47% 53% 44% 56% / 55% 46% 54% 45% !important;
  transform: rotate(-13deg) !important;
}

#appScreen .dream-orbit-stage::after {
  right: -58px !important;
  bottom: 112px !important;
  width: 230px !important;
  height: 116px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 58% 42% 52% 48% / 45% 58% 42% 55% !important;
  transform: rotate(19deg) !important;
}

#appScreen .dream-orbit-stars i {
  background: var(--dream-ink) !important;
  box-shadow: none !important;
  opacity: .22 !important;
}

#appScreen .dream-orbit-stars i:nth-child(3n) {
  background: var(--dream-blue-bright) !important;
  box-shadow: none !important;
  opacity: .42 !important;
}

#appScreen .dream-orbit-top {
  border: 0 !important;
  background: transparent !important;
  color: var(--dream-ink) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#appScreen .dream-orbit-top span {
  font-family: var(--dream-serif) !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
}

#appScreen .dream-back-minimal,
#appScreen .dream-more-dot {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 50% !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#appScreen .dream-back-minimal:active,
#appScreen .dream-more-dot:active,
#appScreen .dream-visual-panel button:active,
body #dreamMoreOverlay button:active {
  transform: translate(2px, -2px) !important;
  box-shadow: 2px -2px 0 0 var(--dream-charcoal) !important;
}

#appScreen .dream-orbit-title {
  margin: 44px 24px 4px !important;
  text-align: left !important;
}

#appScreen .dream-orbit-title small {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
}

#appScreen .dream-orbit-title h2 {
  margin: 0 !important;
  max-width: 330px;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: clamp(48px, 14vw, 66px) !important;
  font-weight: 300 !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
  transform: none !important;
}

#appScreen .dream-orbit-title h2::after {
  content: " / Somnium";
  color: var(--dream-ink);
  font-size: .62em;
  font-style: italic;
  white-space: nowrap;
}

#appScreen .dream-orbit-title p {
  margin-left: 38% !important;
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-serif) !important;
  font-size: 16px !important;
  font-style: italic;
}

#appScreen .dream-orbit-scroll {
  min-height: 54dvh !important;
  padding-top: 24px !important;
  padding-bottom: 38px !important;
}

#appScreen .dream-orbit-person {
  min-height: 356px !important;
  padding: 34px 22px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 30px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 5px -5px 0 0 var(--dream-charcoal) !important;
  font-family: var(--dream-serif) !important;
}

#appScreen .dream-orbit-person::before {
  top: 45% !important;
  width: 132px !important;
  height: 88px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 48% 52% 44% 56% / 58% 43% 57% 42% !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate(-50%, -50%) rotate(-19deg) !important;
}

#appScreen .dream-orbit-person::after {
  top: 45% !important;
  width: 172px !important;
  height: 146px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 54% 46% 58% 42% / 43% 57% 46% 54% !important;
  box-shadow: none !important;
  transform: translate(-50%, -50%) rotate(11deg) !important;
}

#appScreen .dream-orbit-avatar {
  width: 96px !important;
  height: 96px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 50% !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
  filter: grayscale(.1) saturate(.82) !important;
}

#appScreen .dream-orbit-person strong {
  margin-top: 34px !important;
  color: var(--dream-ink) !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-shadow: none !important;
}

#appScreen .dream-orbit-person span {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-serif) !important;
  font-size: 16px !important;
}

#appScreen .dream-orbit-person small {
  color: #3d6f9e !important;
  font-family: var(--dream-ui) !important;
  letter-spacing: .02em !important;
}

#appScreen .dream-orbit-caption {
  margin: 0 24px !important;
  padding: 15px 0 0 !important;
  border-top: 1.5px solid var(--dream-ink) !important;
  color: var(--dream-charcoal) !important;
}

#appScreen .dream-orbit-caption strong {
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 30px !important;
  font-weight: 300 !important;
}

#appScreen .dream-orbit-caption em {
  color: var(--dream-charcoal) !important;
}

#appScreen .dream-orbit-caption em::before { content: "("; }

#appScreen .dream-orbit-caption em::after { content: ")"; }

#appScreen .dream-screen-03.somnium-reader {
  min-height: calc(100dvh - 150px) !important;
  padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important;
  border-radius: 0 !important;
}

#appScreen .somnium-head .dream-reader-personline {
  position: relative;
  z-index: 1;
  justify-content: flex-start !important;
  color: var(--dream-ink) !important;
}

#appScreen .somnium-head .dream-reader-avatar {
  width: 52px !important;
  height: 52px !important;
  border: 1.5px solid var(--dream-ink) !important;
  box-shadow: 3px -3px 0 0 var(--dream-charcoal) !important;
}

#appScreen .somnium-head .dream-reader-personline strong {
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

#appScreen .somnium-head .dream-reader-personline em {
  color: var(--dream-charcoal) !important;
}

#appScreen .dream-poem-date,
#appScreen .dream-somnium-meta {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
}

#appScreen .dream-somnium-tag {
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 3000px !important;
  background: var(--dream-card) !important;
  color: #315f88 !important;
}

#appScreen .dream-somnium-echo {
  display: block !important;
  margin-top: 14px;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1.5px solid var(--dream-blue) !important;
  background: transparent !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 28px !important;
  font-style: italic;
  font-weight: 300 !important;
  line-height: 1.35 !important;
}

#appScreen .dream-card-preview {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

#appScreen .dream-visual-panel {
  height: 220px !important;
  margin: 0 0 26px !important;
  padding: 14px !important;
  overflow: hidden !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 28px !important;
  background:
    repeating-linear-gradient(165deg, rgba(0,0,0,.045) 0 1px, transparent 1px 9px),
    var(--dream-paper) !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
}

#appScreen .dream-visual-panel.has-image::after {
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.34)) !important;
}

#appScreen .dream-visual-panel small {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
}

#appScreen .dream-visual-panel.has-image small { color: #fff !important; }

#appScreen .dream-visual-panel button {
  right: 14px !important;
  bottom: 14px !important;
  min-height: 36px;
  padding: 7px 13px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 3000px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 3px -3px 0 0 var(--dream-charcoal) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#appScreen .dream-bgm-row {
  margin: 8px 0 24px !important;
  padding: 14px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 22px !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-bgm-disc {
  border-color: var(--dream-ink) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-bgm-row strong { color: var(--dream-ink) !important; }

#appScreen .dream-bgm-row small,
#appScreen .dream-bgm-row em { color: var(--dream-charcoal) !important; }

#appScreen .dream-poem-text.somnium {
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
}

#appScreen .dream-dropcap {
  color: var(--dream-ink) !important;
  font-family: var(--dream-serif) !important;
  font-weight: 300 !important;
}

#appScreen .dream-detail-section {
  margin-top: 24px !important;
  padding: 18px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 22px !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
}

#appScreen .dream-detail-section h4 {
  margin: 0 0 14px !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-ui) !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
}

#appScreen .dream-detail-section p,
#appScreen .dream-transcript {
  color: var(--dream-charcoal) !important;
  font-family: var(--dream-ui) !important;
}

#appScreen .dream-anchor-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  color: var(--dream-ink) !important;
  font-family: var(--dream-ui) !important;
}

#appScreen .dream-anchor-list span,
#appScreen .dream-symbol-list span {
  padding: 8px 11px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 20px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-symbol-list b { color: var(--dream-ink) !important; }

#appScreen .dream-symbol-list small { color: var(--dream-charcoal) !important; }

#appScreen .dream-whisper-row {
  padding: 12px !important;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 20px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-whisper-row button {
  border: 1.5px solid var(--dream-ink) !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-whisper-row p { color: var(--dream-ink) !important; }

#appScreen .dream-whisper-row p small,
#appScreen .dream-whisper-row em { color: var(--dream-charcoal) !important; }

#appScreen .dream-whisper-row audio { filter: none !important; opacity: 1 !important; }

#appScreen .dream-voice-error { color: #9b463d !important; }

#appScreen .somnium-actions .dream-delete-mini {
  color: #8f453d !important;
}

#appScreen .dream-start-weave {
  min-height: 48px;
  margin-top: 20px;
  padding: 0 22px;
  border: 1.5px solid var(--dream-ink) !important;
  border-radius: 3000px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 4px -4px 0 0 var(--dream-charcoal) !important;
}

body #dreamMoreOverlay {
  --dream-paper: #f5f5f3;
  --dream-card: #ffffff;
  --dream-ink: #000000;
  --dream-charcoal: #333333;
  --dream-blue: #81aed9;
  top: calc(78px + env(safe-area-inset-top, 0px)) !important;
}

body #dreamMoreOverlay .dream-more-sheet {
  padding: 14px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 24px !important;
  background: var(--dream-card) !important;
  color: var(--dream-ink) !important;
  box-shadow: 5px -5px 0 0 var(--dream-charcoal) !important;
}

body #dreamMoreOverlay .dream-more-sheet header strong,
body #dreamMoreOverlay .dream-more-sheet header span,
body #dreamMoreOverlay .dream-more-sheet small,
body #dreamMoreOverlay .dream-more-sheet > button {
  color: var(--dream-ink, #000) !important;
}

body #dreamMoreOverlay .dream-more-sheet header button,
body #dreamMoreOverlay .dream-more-sheet > button {
  border: 1.5px solid var(--dream-blue, #81aed9) !important;
  border-radius: 20px !important;
  background: var(--dream-card, #fff) !important;
  color: var(--dream-ink, #000) !important;
}

body #dreamMoreOverlay .dream-more-sheet header button {
  border-color: var(--dream-ink, #000) !important;
  border-radius: 50% !important;
  box-shadow: 3px -3px 0 0 var(--dream-charcoal, #333) !important;
}

body #dreamMoreOverlay .dream-more-sheet > button b {
  color: #315f88 !important;
}

body #dreamMoreOverlay .dream-more-sheet > button small {
  color: var(--dream-charcoal, #333) !important;
}

html[data-ui-mode="dark"] #appScreen .dream-cinema-ui,
html[data-ui-mode="dark"] #appScreen .dream-orbit-stage,
html[data-ui-mode="dark"] #appScreen .dream-screen-03.somnium-reader,
body.theme-tone-black #appScreen .dream-cinema-ui,
body.theme-tone-graphite #appScreen .dream-cinema-ui {
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
}

#appScreen .dream-cinema-ui { border-radius: 24px !important; }

#appScreen .dream-orbit-title { margin-left: 20px !important; margin-right: 20px !important; }

#appScreen .dream-orbit-title h2 { font-size: 50px !important; }

#appScreen .dream-orbit-title p { margin-left: 30% !important; }

#appScreen .dream-orbit-scroll { grid-auto-columns: 76% !important; scroll-padding-inline: 12% !important; padding-left: 12% !important; padding-right: 12% !important; }

#appScreen .dream-orbit-person { min-height: 340px !important; padding: 28px 18px !important; }

#appScreen .dream-orbit-person strong { font-size: 30px !important; }

#appScreen .dream-orbit-caption { margin-left: 20px !important; margin-right: 20px !important; grid-template-columns: auto auto 1fr !important; }

#appScreen .dream-orbit-caption em { font-size: 11px !important; }

#appScreen .dream-visual-panel { height: 198px !important; }

#appScreen .dream-poem-text.somnium { font-size: 16px !important; }

#appScreen .dream-detail-section { padding: 15px !important; }

#appScreen .somnium-actions .dream-delete-mini { grid-column: 1 / -1 !important; }

#appScreen .dream-orbit-person,
#appScreen .dream-bgm-disc,
#appScreen .dream-whisper-row.is-loading button,
#appScreen .dream-visual-panel.is-loading::before {
    animation: none !important;
    transition: none !important;
  }

#appBody.dream-app-active {
  --dream-paper: #f5f5f3;
  --dream-card: #ffffff;
  --dream-ink: #111111;
  --dream-charcoal: #333333;
  --dream-blue: #81aed9;
  --dream-blue-bright: #55a1ea;
  --dream-coral: #ff8562;
  padding: 0 !important;
  background: var(--dream-paper) !important;
  color: var(--dream-ink) !important;
}

#appBody.dream-app-active > .dream-sketch-app { min-height: 100%; }

.dream-sketch-app,
.dream-sketch-app * { box-sizing: border-box; }

.dream-sketch-app {
  position: relative;
  min-height: calc(100dvh - 58px);
  padding: 12px 14px calc(30px + env(safe-area-inset-bottom));
  overflow: hidden;
  color: var(--dream-ink);
  background:
    radial-gradient(circle at 14% 9%, rgba(129,174,217,.12) 0 1px, transparent 1.5px),
    radial-gradient(circle at 78% 18%, rgba(0,0,0,.07) 0 1px, transparent 1.5px),
    var(--dream-paper);
  background-size: 27px 27px, 41px 41px, auto;
  font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}

.dream-sketch-app button,
.dream-sketch-app input,
.dream-sketch-app textarea { font: inherit; }

.dream-sketch-topbar {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  margin-bottom: 18px;
}

.dream-sketch-topbar > div { display: grid; gap: 1px; min-width: 0; text-align: center; }

.dream-sketch-topbar small { color: #666; font-size: 9px; font-weight: 600; letter-spacing: .18em; }

.dream-sketch-topbar strong { overflow: hidden; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 17px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }

.dream-sketch-round,
.dream-sketch-pill {
  min-height: 38px;
  border: 1.5px solid #111;
  color: #111;
  background: #fff;
  box-shadow: 3px -3px 0 #333;
}

.dream-sketch-round { display: grid; width: 38px; padding: 0; place-items: center; border-radius: 50%; font-size: 23px; line-height: 1; }

.dream-sketch-pill { padding: 0 13px; border-radius: 999px; font-size: 11px; font-weight: 700; }

.dream-sketch-round:active,
.dream-sketch-pill:active,
.dream-sketch-person:active,
.dream-sketch-latest:active { translate: -1px 1px; box-shadow: 1px -1px 0 #333; }

.dream-sketch-hero,
.dream-sketch-reader-hero {
  position: relative;
  margin: 0 3px 34px;
  padding: 24px 18px 20px;
  border: 1.5px solid var(--dream-blue);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: 5px -5px 0 var(--dream-charcoal);
}

.dream-sketch-section-no {
  display: inline-grid;
  width: 32px;
  height: 32px;
  margin-bottom: 12px;
  place-items: center;
  border: 1.5px solid #111;
  border-radius: 50%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
}

.dream-sketch-kicker,
.dream-sketch-lead,
.dream-sketch-directory-note { color: #4a4a4a; font-size: 12px; line-height: 1.62; }

.dream-sketch-kicker { margin: 0 0 8px; }

.dream-sketch-hero h1 {
  position: relative;
  z-index: 2;
  max-width: 310px;
  margin: 0;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: clamp(27px, 7.5vw, 34px);
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -.025em;
}

.dream-sketch-hero h1 i { display: block; margin-top: 5px; color: #333; font-weight: 400; }

.dream-sketch-line { position: absolute; z-index: 1; overflow: visible; pointer-events: none; }

.dream-sketch-line path { fill: none; stroke: #111; stroke-width: 1.4; stroke-linecap: round; }

.dream-sketch-line-a { top: 100px; right: -15px; width: 175px; opacity: .76; transform: rotate(-8deg); }

.dream-sketch-line-b { right: -22px; bottom: 72px; width: 180px; opacity: .68; transform: rotate(7deg); }

.dream-sketch-lead { position: relative; z-index: 2; max-width: 286px; margin: 18px 0 16px; }

.dream-sketch-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 0 0 16px; }

.dream-sketch-stats > span {
  display: grid;
  gap: 2px;
  min-height: 64px;
  padding: 10px 12px;
  align-content: center;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 20px;
  background: var(--dream-paper);
}

.dream-sketch-stats strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }

.dream-sketch-stats small { color: #666; font-size: 10px; }

.dream-sketch-latest {
  display: grid;
  width: calc(100% + 8px);
  margin: 4px -4px -4px;
  padding: 15px 16px;
  gap: 4px;
  border: 1.5px solid #111;
  border-radius: 22px;
  color: #f5f5f3;
  text-align: left;
  background: #333;
  box-shadow: 4px -4px 0 var(--dream-blue);
}

.dream-sketch-latest small { color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: .08em; }

.dream-sketch-latest strong { font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 18px; font-weight: 400; line-height: 1.35; }

.dream-sketch-latest span { color: rgba(255,255,255,.68); font-size: 10px; }

.dream-sketch-latest.is-empty { border-style: dashed; background: #f5f5f3; color: #333; box-shadow: none; }

.dream-sketch-latest.is-empty small,
.dream-sketch-latest.is-empty span { color: #777; }

.dream-sketch-directory,
.dream-sketch-reader-directory { position: relative; z-index: 2; padding: 0 3px; }

.dream-sketch-section-head { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 10px; margin: 0 0 10px; }

.dream-sketch-section-head > span { padding-top: 4px; font-family: Georgia, "Times New Roman", serif; font-size: 13px; }

.dream-sketch-section-head small { color: #6f6f6f; font-size: 9px; font-weight: 600; letter-spacing: .16em; }

.dream-sketch-section-head h2 { margin: 2px 0 0; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 22px; font-weight: 400; line-height: 1.18; }

.dream-sketch-section-head h2 i { font-weight: 400; }

.dream-sketch-directory-note { margin: 0 0 14px 44px; }

.dream-sketch-person-list { display: grid; gap: 14px; }

.dream-sketch-person {
  position: relative;
  display: grid;
  grid-template-columns: 24px 58px minmax(0,1fr) 25px;
  min-height: 108px;
  padding: 15px 12px 13px 10px;
  align-items: center;
  gap: 9px;
  border: 1.5px solid var(--dream-blue);
  border-radius: 24px;
  color: #111;
  text-align: left;
  background: #fff;
  box-shadow: 5px -5px 0 #333;
}

.dream-sketch-person:nth-child(even) { width: calc(100% - 10px); margin-left: 10px; border-color: #111; box-shadow: -5px 5px 0 var(--dream-blue); }

.dream-sketch-person.no-dream { background: #f9f9f7; }

.dream-sketch-person-index { align-self: start; padding-top: 2px; font-family: Georgia, "Times New Roman", serif; font-size: 12px; }

.dream-sketch-avatar-wrap { display: grid; place-items: center; }

.dream-sketch-avatar,
.dream-sketch-reader-avatar { overflow: hidden !important; border: 1.5px solid #111 !important; border-radius: 50% !important; background: #eee !important; }

.dream-sketch-avatar { width: 58px !important; height: 58px !important; }

.dream-sketch-avatar img,
.dream-sketch-reader-avatar img { width: 100%; height: 100%; object-fit: cover; }

.dream-sketch-person-copy { display: grid; min-width: 0; gap: 3px; }

.dream-sketch-person-copy small { color: #777; font-size: 9px; }

.dream-sketch-person-copy strong { font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 19px; font-weight: 400; }

.dream-sketch-person-copy em { overflow: hidden; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 13px; font-style: italic; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.dream-sketch-person-copy b { color: #666; font-size: 10px; font-weight: 500; }

.dream-sketch-person-arrow { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid #111; border-radius: 50%; font-size: 12px; }

.dream-sketch-person.is-generating::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed var(--dream-blue-bright);
  border-radius: 19px;
  animation: dreamSketchPulse 1.3s ease-in-out infinite alternate;
  pointer-events: none;
}

.dream-sketch-footnote { display: flex; margin: 24px 4px 0; align-items: flex-start; gap: 8px; color: #666; font-size: 10px; line-height: 1.5; }

.dream-sketch-footnote span { color: var(--dream-blue-bright); }

.dream-sketch-footnote p { margin: 0; }

.dream-sketch-reader-hero { padding-bottom: 17px; }

.dream-sketch-reader-person { position: relative; z-index: 2; display: grid; grid-template-columns: 70px minmax(0,1fr); align-items: center; gap: 14px; }

.dream-sketch-reader-avatar { width: 70px !important; height: 70px !important; }

.dream-sketch-reader-person small { color: #666; font-size: 10px; }

.dream-sketch-reader-person h1 { margin: 2px 0 4px; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 27px; font-weight: 400; line-height: 1.1; }

.dream-sketch-reader-person h1 i { display: block; font-weight: 400; }

.dream-sketch-reader-person p { margin: 0; color: #555; font-size: 11px; line-height: 1.5; }

.dream-sketch-reader-summary { position: relative; z-index: 2; display: grid; grid-template-columns: 62px 62px minmax(0,1fr); gap: 8px; margin-top: 17px; }

.dream-sketch-reader-summary > span { display: grid; padding: 9px 8px; place-items: center; border: 1px solid rgba(0,0,0,.17); border-radius: 18px; background: var(--dream-paper); }

.dream-sketch-reader-summary strong { font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }

.dream-sketch-reader-summary small { color: #666; font-size: 9px; }

.dream-sketch-reader-summary button,
.dream-sketch-empty button,
.dream-sketch-actions button,
.dream-visual-panel button {
  min-height: 42px;
  padding: 0 13px;
  border: 1.5px solid #111 !important;
  border-radius: 999px !important;
  color: #111 !important;
  background: #fff !important;
  box-shadow: 3px -3px 0 #333 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.dream-sketch-reader-summary button { background: #333 !important; color: #fff !important; box-shadow: 3px -3px 0 var(--dream-blue) !important; }

.dream-sketch-card-list { display: grid; gap: 18px; margin-top: 15px; }

.dream-sketch-card { position: relative; }

.dream-sketch-card-paper {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border: 1.5px solid var(--dream-blue);
  border-radius: 25px;
  background: #fff;
  box-shadow: 5px -5px 0 #333;
}

.dream-sketch-card:nth-child(even) .dream-sketch-card-paper { border-color: #111; box-shadow: -5px 5px 0 var(--dream-blue); }

.dream-sketch-card.compact { cursor: pointer; }

.dream-sketch-card.compact.favorite .dream-sketch-card-paper::after { content: "★"; position: absolute; right: 13px; top: 12px; color: var(--dream-coral); font-size: 13px; }

.dream-sketch-card-head { display: flex; padding-right: 20px; justify-content: space-between; gap: 8px; color: #666; font-size: 9px; }

.dream-sketch-card-head b { font-weight: 500; }

.dream-sketch-card-title { margin-top: 12px; }

.dream-sketch-card-title small,
.dream-sketch-entry-kicker { color: #5e7894; font-size: 10px; font-weight: 700; letter-spacing: .06em; }

.dream-sketch-card-title h3 { margin: 3px 0 5px; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 21px; font-weight: 400; line-height: 1.2; }

.dream-sketch-card-title p { margin: 0; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 14px; font-style: italic; line-height: 1.4; }

.dream-sketch-card .dream-card-preview { display: -webkit-box; margin: 13px 0 0 !important; overflow: hidden; color: #555 !important; font-size: 11.5px !important; line-height: 1.65 !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.dream-sketch-card-foot { display: flex; margin-top: 14px; padding-top: 11px; align-items: center; gap: 8px; border-top: 1px dashed rgba(0,0,0,.2); color: #666; font-size: 9px; }

.dream-sketch-card-foot em { margin-left: auto; color: var(--dream-coral); font-style: normal; font-weight: 700; }

.dream-sketch-card.expanded .dream-sketch-card-paper { padding: 0 17px 22px; overflow: visible; }

.dream-sketch-entry-cover { margin: 0 -17px 18px; padding: 18px 17px 20px; border-radius: 24px 24px 20px 20px; background: var(--dream-paper); }

.dream-sketch-entry-meta { display: flex; justify-content: space-between; gap: 8px; color: #666; font-size: 9px; }

.dream-sketch-entry-kicker { margin: 18px 0 4px; }

.dream-sketch-entry-cover h2 { margin: 0; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 25px; font-weight: 400; line-height: 1.18; }

.dream-sketch-entry-cover h3 { margin: 9px 0 0; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 15px; font-style: italic; font-weight: 400; line-height: 1.45; }

.dream-sketch-story { margin-top: 24px; }

.dream-sketch-section-label,
.dream-sketch-detail h4 { display: block; margin: 0 0 11px; color: #5d7891 !important; font-family: Manrope, Inter, sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .08em !important; }

.dream-sketch-app .dream-poem-text.somnium { color: #222 !important; font-family: Georgia, "Times New Roman", "Songti SC", serif !important; font-size: 15px !important; line-height: 1.92 !important; letter-spacing: 0 !important; }

.dream-sketch-app .dream-dropcap { margin: 10px 9px 0 0 !important; color: #111 !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 50px !important; font-weight: 400 !important; line-height: .75 !important; }

.dream-sketch-app .dream-detail-section,
.dream-sketch-detail { margin-top: 24px !important; padding-top: 18px !important; border-top: 1px dashed rgba(0,0,0,.22) !important; color: #333 !important; }

.dream-sketch-detail-note { margin: -4px 0 11px !important; color: #777 !important; font-size: 10px !important; line-height: 1.5 !important; }

.dream-sketch-app .dream-detail-section > p:not(.dream-sketch-detail-note):not(.dream-voice-error):not(.dream-transcript) { margin: 0 !important; color: #444 !important; font-size: 12px !important; line-height: 1.7 !important; }

.dream-sketch-app .dream-anchor-list { display: flex !important; flex-wrap: wrap; gap: 8px !important; }

.dream-sketch-app .dream-anchor-list span { padding: 7px 10px; border: 1px solid var(--dream-blue); border-radius: 999px; color: #222 !important; background: #fff; font-size: 10px; font-weight: 600; }

.dream-sketch-app .dream-symbol-list { display: grid !important; gap: 9px !important; }

.dream-sketch-app .dream-symbol-list span { display: grid !important; gap: 3px !important; padding: 11px 12px !important; border: 1px solid var(--dream-blue) !important; border-radius: 18px !important; background: var(--dream-paper) !important; }

.dream-sketch-app .dream-symbol-list b { color: #111 !important; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 14px; font-weight: 400; }

.dream-sketch-app .dream-symbol-list small { color: #666 !important; font-size: 10px !important; line-height: 1.5 !important; }

.dream-sketch-after { margin-bottom: 4px; }

.dream-sketch-app .dream-visual-panel {
  position: relative;
  display: grid;
  min-height: 172px;
  margin: 0 0 20px !important;
  padding: 10px !important;
  align-content: end;
  gap: 9px;
  overflow: hidden;
  border: 1.5px solid #111 !important;
  border-radius: 26px !important;
  background: var(--dream-paper) !important;
  box-shadow: 4px -4px 0 var(--dream-blue) !important;
}

.dream-sketch-app .dream-visual-panel.has-image { min-height: 260px; }

.dream-sketch-app .dream-visual-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.dream-sketch-app .dream-visual-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.55)); pointer-events: none; }

.dream-sketch-app .dream-visual-panel:not(.has-image)::after { background: linear-gradient(135deg, transparent, rgba(129,174,217,.16)); }

.dream-sketch-app .dream-visual-panel > small,
.dream-sketch-app .dream-visual-panel > button { position: relative; z-index: 2; }

.dream-sketch-app .dream-visual-panel > small { color: #555 !important; font-size: 10px !important; line-height: 1.5; }

.dream-sketch-app .dream-visual-panel.has-image > small { color: #fff !important; }

.dream-sketch-app .dream-visual-panel button { justify-self: start; min-height: 38px !important; }

.dream-sketch-app .dream-visual-panel.has-image button { color: #fff !important; background: rgba(0,0,0,.6) !important; box-shadow: 3px -3px 0 #fff !important; }

.dream-sketch-app .dream-visual-panel.is-loading::before { content: ""; position: absolute; z-index: 3; inset: 9px; border: 1px dashed #fff; border-radius: 19px; animation: dreamSketchPulse 1.2s ease-in-out infinite alternate; pointer-events: none; }

.dream-sketch-app .dream-bgm-row {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  padding: 11px !important;
  align-items: center;
  gap: 9px !important;
  border: 1.5px solid #111 !important;
  border-radius: 20px !important;
  color: #111 !important;
  background: #fff !important;
  box-shadow: 3px -3px 0 var(--dream-blue) !important;
}

.dream-sketch-app .dream-bgm-disc { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #111; border-radius: 50%; color: #111 !important; background: var(--dream-paper) !important; }

.dream-sketch-app .dream-bgm-row strong { color: #111 !important; font-size: 11px !important; }

.dream-sketch-app .dream-bgm-row small,
.dream-sketch-app .dream-bgm-row em { color: #666 !important; font-size: 9px !important; }

.dream-sketch-app .dream-whisper-row {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) 40px !important;
  padding: 11px !important;
  align-items: center;
  gap: 8px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 20px !important;
  color: #111 !important;
  background: var(--dream-paper) !important;
}

.dream-sketch-app .dream-whisper-row button { display: grid; width: 34px; height: 34px; padding: 0 !important; place-items: center; border: 1.5px solid #111 !important; border-radius: 50% !important; color: #fff !important; background: #333 !important; box-shadow: 2px -2px 0 var(--dream-blue) !important; }

.dream-sketch-app .dream-whisper-row p { display: grid; min-width: 0; margin: 0 !important; color: #222 !important; font-size: 11px !important; gap: 3px; }

.dream-sketch-app .dream-whisper-row p small { overflow: hidden; color: #666 !important; font-size: 9px !important; text-overflow: ellipsis; white-space: nowrap; }

.dream-sketch-app .dream-whisper-row em { color: #666 !important; font-size: 9px !important; font-style: normal; }

.dream-sketch-app .dream-whisper-row audio { grid-column: 1/-1; width: 100%; height: 34px; margin-top: 4px; filter: none !important; opacity: 1 !important; }

.dream-sketch-app .dream-transcript { margin: 10px 0 0 !important; padding: 10px 11px; border-left: 2px solid var(--dream-blue); color: #555 !important; background: rgba(129,174,217,.08); font-size: 10px !important; line-height: 1.6 !important; }

.dream-sketch-app .dream-voice-error { color: #b34232 !important; font-size: 10px !important; }

.dream-sketch-actions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px !important; margin-top: 15px; padding: 0 3px 4px; }

.dream-sketch-actions button { width: 100%; }

.dream-sketch-actions button.primary { color: #fff !important; background: #333 !important; box-shadow: 3px -3px 0 var(--dream-blue) !important; }

.dream-sketch-actions .dream-delete-mini { grid-column: 1/-1; min-height: 36px !important; border-color: rgba(0,0,0,.25) !important; color: #8b382e !important; background: transparent !important; box-shadow: none !important; }

#appScreen .dream-sketch-app .dream-sketch-actions > button {
  color: #171717 !important;
  background: rgba(255,255,255,.98) !important;
  border-color: #171717 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  box-shadow: 3px -3px 0 #333 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  -webkit-text-fill-color: currentColor;
}

#appScreen .dream-sketch-app .dream-sketch-actions > button.primary {
  color: #fff !important;
  background: #303030 !important;
  border-color: #171717 !important;
  box-shadow: 3px -3px 0 var(--dream-blue) !important;
  -webkit-text-fill-color: #fff;
}

#appScreen .dream-sketch-app .dream-sketch-actions > button.is-favorite {
  color: #74382f !important;
  background: #fff1ec !important;
  border-color: #74382f !important;
  box-shadow: 3px -3px 0 #e5a18f !important;
  -webkit-text-fill-color: #74382f;
}

#appScreen .dream-sketch-app .dream-sketch-actions > button.dream-delete-mini {
  color: #7c2f28 !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(124,47,40,.55) !important;
  box-shadow: none !important;
  -webkit-text-fill-color: #7c2f28;
}

.dream-sketch-empty { display: grid; min-height: 190px; padding: 25px 20px; place-items: center; align-content: center; gap: 8px; border: 1.5px dashed #111; border-radius: 26px; text-align: center; background: rgba(255,255,255,.62); }

.dream-sketch-empty strong { font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 19px; font-weight: 400; }

.dream-sketch-empty p { max-width: 280px; margin: 0 0 7px; color: #666; font-size: 11px; line-height: 1.6; }

.dream-sketch-more-overlay { background: rgba(20,20,20,.42) !important; backdrop-filter: none !important; }

.dream-sketch-more-sheet {
  width: min(430px, calc(100vw - 22px)) !important;
  padding: 17px !important;
  border: 1.5px solid var(--dream-blue) !important;
  border-radius: 28px 28px 22px 22px !important;
  color: #111 !important;
  background: var(--dream-paper) !important;
  box-shadow: 5px -5px 0 #333 !important;
}

.dream-sketch-more-sheet header { display: flex !important; padding: 0 0 12px !important; align-items: center; justify-content: space-between; border: 0 !important; background: transparent !important; }

.dream-sketch-more-sheet header div { display: grid; gap: 2px; }

.dream-sketch-more-sheet header small { color: #666; font-size: 9px; letter-spacing: .16em; }

.dream-sketch-more-sheet header strong { color: #111 !important; font-family: Georgia, "Times New Roman", "Songti SC", serif !important; font-size: 20px !important; font-weight: 400 !important; }

.dream-sketch-more-sheet header button { display: grid; width: 36px; height: 36px; padding: 0 !important; place-items: center; border: 1.5px solid #111 !important; border-radius: 50% !important; color: #111 !important; background: #fff !important; box-shadow: 2px -2px 0 #333 !important; }

.dream-sketch-more-note { margin: 0 0 12px; color: #666; font-size: 10px; line-height: 1.5; }

.dream-sketch-more-sheet > button { display: grid !important; grid-template-columns: 32px minmax(0,1fr) !important; width: 100%; min-height: 72px; margin-top: 10px; padding: 12px !important; align-items: center; gap: 2px 10px !important; border: 1.5px solid #111 !important; border-radius: 21px !important; color: #111 !important; text-align: left; background: #fff !important; box-shadow: 3px -3px 0 var(--dream-blue) !important; }

.dream-sketch-more-sheet > button b { grid-row: 1/3; color: #111 !important; font-family: Georgia, "Times New Roman", serif; font-size: 13px; }

.dream-sketch-more-sheet > button span { color: #111 !important; font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 15px; }

.dream-sketch-more-sheet > button small { color: #666 !important; font-size: 9px !important; line-height: 1.4; }

.dream-sketch-app { padding-inline: 11px; }

.dream-sketch-hero,
.dream-sketch-reader-hero { padding-inline: 15px; }

.dream-sketch-reader-person { grid-template-columns: 62px minmax(0,1fr); gap: 11px; }

.dream-sketch-reader-avatar { width: 62px !important; height: 62px !important; }

.dream-sketch-reader-person h1 { font-size: 24px; }

.dream-sketch-reader-summary { grid-template-columns: 54px 54px minmax(0,1fr); }

.dream-sketch-person { grid-template-columns: 20px 52px minmax(0,1fr) 22px; gap: 8px; }

.dream-sketch-avatar { width: 52px !important; height: 52px !important; }

.dream-sketch-actions { grid-template-columns: 1fr; }

.dream-sketch-actions .dream-delete-mini { grid-column: auto; }

@keyframes dreamTwinkle { from { opacity:.2; transform:scale(.6); } to { opacity:1; transform:scale(1.4); } }

@keyframes dreamPuzzleFloat { from { translate: 0 8px; filter: brightness(.88); } to { translate: 0 -10px; filter: brightness(1.08); } }

@keyframes dreamOrbit { to { transform: rotate(360deg); } }

@keyframes dreamSheen{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

@keyframes dreamDiscSpin{to{transform:rotate(360deg)}}

@keyframes dreamSketchPulse { from { opacity: .28; } to { opacity: 1; } }

/*# source: assets/css/features/tarot.css */
/*
 * tarot feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.tarot-page {
  min-height: 100%;
  padding: 14px 14px calc(92px + var(--safe-bottom));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: #1f2430;
  background:
    radial-gradient(circle at 18% 8%, rgba(191, 151, 80, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(246, 239, 224, 0.96), rgba(240, 232, 216, 0.94));
}

.tarot-hero h2 {
  margin: 0;
  font-size: 25px;
  letter-spacing: -.02em;
}

.tarot-hero p {
  margin: 4px 0 0;
  color: rgba(39, 43, 50, .68);
  font-size: 13px;
  line-height: 1.55;
}

.tarot-page {
  padding-top: 10px;
  color: #efe3ca;
  background:
    radial-gradient(circle at 20% 12%, rgba(190, 144, 70, .2), transparent 28%),
    radial-gradient(circle at 82% 2%, rgba(120, 154, 219, .14), transparent 30%),
    linear-gradient(180deg, #07152f 0%, #0b1630 46%, #10172c 100%);
}

.tarot-hero {
  position: relative;
  min-height: 158px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  padding: 16px 16px 18px;
  overflow: hidden;
  border: 1px solid rgba(197, 151, 77, .26);
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(197, 151, 77, .2) 1px, transparent 1px),
    linear-gradient(0deg, rgba(197, 151, 77, .18) 1px, transparent 1px),
    radial-gradient(circle at 26% 34%, rgba(255, 240, 202, .16), transparent 4px),
    radial-gradient(circle at 62% 22%, rgba(255, 240, 202, .2), transparent 3px),
    radial-gradient(circle at 80% 72%, rgba(255, 240, 202, .12), transparent 4px),
    linear-gradient(135deg, rgba(9, 27, 61, .92), rgba(6, 15, 35, .92));
  background-size: 34px 34px, 34px 34px, auto, auto, auto, auto;
  box-shadow: 0 22px 50px rgba(1, 5, 16, .36), inset 0 1px rgba(255,255,255,.08);
}

.tarot-hero::after {
  content: "☉  ☽  ☿  ♀  ♂  ♃  ♄";
  position: absolute;
  right: 14px;
  bottom: 12px;
  color: rgba(197, 151, 77, .38);
  font-size: 14px;
  letter-spacing: .32em;
}

.tarot-back.settings-back {
  width: 38px;
  height: 38px;
  justify-self: start;
  border-radius: 50%;
  color: #f5dfad;
  background: rgba(255, 255, 255, .08);
  font-size: 28px;
}

.tarot-hero-copy span,
.tarot-reader small,
.tarot-card-caption small {
  color: rgba(239, 227, 202, .64);
}

.tarot-hero-copy h2 { color: #f7e7bf; }

.tarot-hero-copy p { color: rgba(239, 227, 202, .72); }

.tarot-compose,
.tarot-result,
.tarot-history {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(197, 151, 77, .18);
  border-radius: 24px;
  background: rgba(255, 248, 230, .08);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tarot-compose { display: grid; gap: 10px; }

.tarot-compose label { color: #f5dfad; font-size: 13px; font-weight: 900; }

.tarot-compose textarea {
  width: 100%;
  min-height: 58px;
  border: 1px solid rgba(197, 151, 77, .2);
  border-radius: 18px;
  padding: 11px 12px;
  color: #f7e7bf;
  background: rgba(3, 11, 29, .38);
  font: inherit;
  resize: vertical;
  box-sizing: border-box;
}

.tarot-compose textarea::placeholder { color: rgba(239, 227, 202, .42); }

.tarot-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.tarot-actions button,
.tarot-history-head button {
  min-height: 42px;
  border-radius: 16px;
  color: #1a1730;
  background: linear-gradient(145deg, #f4d99f, #b98638);
  font-weight: 900;
  box-shadow: inset 0 1px rgba(255,255,255,.44), 0 10px 22px rgba(0,0,0,.18);
}

.tarot-actions button:disabled { opacity: .68; }

.tarot-reader {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.tarot-reader span {
  grid-row: span 2;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #f4d99f;
  background: rgba(197, 151, 77, .12);
}

.tarot-reader strong { color: #f7e7bf; }

.tarot-spread {
  display: grid;
  grid-template-columns: repeat(var(--tarot-cols, 1), minmax(0, 1fr));
  gap: 12px;
  justify-items: center;
  align-items: start;
  margin: 4px 0 14px;
}

.tarot-spread.count-3 { --tarot-cols: 3; }

.tarot-slot {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 9px;
}

.tarot-card {
  width: min(118px, 25vw);
  aspect-ratio: 0.64;
  border-radius: 16px;
  padding: 5px;
  background: linear-gradient(145deg, #d4aa5d, #76511e);
  box-shadow: 0 16px 28px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.5);
}

.tarot-spread.count-1 .tarot-card { width: min(152px, 42vw); }

.tarot-card.reversed .tarot-card-inner { transform: rotate(180deg); }

.tarot-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(244, 217, 159, .56);
  border-radius: 12px;
  background:
    linear-gradient(45deg, transparent calc(50% - .7px), rgba(244,217,159,.34) 50%, transparent calc(50% + .7px)),
    linear-gradient(-45deg, transparent calc(50% - .7px), rgba(244,217,159,.24) 50%, transparent calc(50% + .7px)),
    radial-gradient(circle at 50% 50%, rgba(244, 217, 159, .13), transparent 31%),
    linear-gradient(180deg, #071a3d, #0a1430 68%, #11142a);
}

.tarot-card-inner::before,
.tarot-card-inner::after {
  content: "";
  position: absolute;
  inset: 11px;
  border: 1px solid rgba(244, 217, 159, .36);
  border-radius: 50%;
}

.tarot-card-inner::after {
  inset: 24px 18px;
  border-style: dashed;
  opacity: .58;
}

.tarot-roman {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 2;
  color: #f7e7bf;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .08em;
}

.tarot-corner {
  position: absolute;
  right: 8px;
  z-index: 2;
  color: rgba(247, 231, 191, .88);
  font-size: 14px;
}

.tarot-corner.top { top: 8px; }

.tarot-corner.bottom { bottom: 8px; }

.tarot-star-map {
  position: absolute;
  inset: 0;
}

.tarot-star-map i {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f7e7bf;
  box-shadow: 0 0 12px rgba(247, 231, 191, .72);
}

.tarot-star-map i:nth-child(1) { left: 28%; top: 31%; }

.tarot-star-map i:nth-child(2) { left: 64%; top: 23%; }

.tarot-star-map i:nth-child(3) { left: 48%; top: 48%; }

.tarot-star-map i:nth-child(4) { left: 32%; top: 68%; }

.tarot-star-map i:nth-child(5) { left: 70%; top: 72%; }

.tarot-sigil-ring {
  position: absolute;
  inset: 35px 18px 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
  color: #f4d99f;
  font-size: 18px;
  text-shadow: 0 0 12px rgba(244, 217, 159, .36);
}

.tarot-sigil-ring b {
  font-weight: 500;
}

.tarot-sigil-ring b:nth-child(1) { grid-column: 2; font-size: 26px; }

.tarot-sigil-ring b:nth-child(2) { grid-column: 1; }

.tarot-sigil-ring b:nth-child(3) { grid-column: 3; }

.tarot-sigil-ring b:nth-child(4) { grid-column: 1 / 3; }

.tarot-sigil-ring b:nth-child(5) { grid-column: 2 / 4; }

.tarot-card-caption {
  width: 100%;
  display: grid;
  gap: 3px;
  text-align: center;
}

.tarot-card-caption strong { color: #f4d99f; font-size: 12px; }

.tarot-card-caption span { color: #f7e7bf; font-size: 13px; font-weight: 900; }

.tarot-card-caption small { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 11px; line-height: 1.35; }

.tarot-reading-text {
  display: grid;
  gap: 9px;
  margin-top: 12px;
  padding: 13px;
  border-radius: 18px;
  color: #2a2116;
  background:
    linear-gradient(90deg, rgba(127, 84, 31, .13) 1px, transparent 1px),
    linear-gradient(0deg, rgba(127, 84, 31, .1) 1px, transparent 1px),
    linear-gradient(180deg, #efe0bd, #dfc999);
  background-size: 24px 24px, 24px 24px, auto;
  box-shadow: inset 0 1px rgba(255,255,255,.48);
}

.tarot-reading-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.68;
  white-space: pre-wrap;
}

.tarot-empty-oracle,
.tarot-loading {
  min-height: 178px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  color: rgba(239, 227, 202, .76);
}

.tarot-empty-oracle span,
.tarot-loading span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #f4d99f;
  background: rgba(197, 151, 77, .12);
  font-size: 28px;
}

.tarot-empty-oracle strong,
.tarot-loading strong { color: #f7e7bf; }

.tarot-empty-oracle p,
.tarot-loading p { margin: 0; max-width: 260px; line-height: 1.55; font-size: 13px; }

.tarot-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  color: #f7e7bf;
}

.tarot-history-head button {
  min-height: 32px;
  padding: 0 12px;
  font-size: 12px;
}

.tarot-history-list {
  display: grid;
  gap: 8px;
}

.tarot-history-list > p {
  margin: 0;
  color: rgba(239, 227, 202, .55);
  font-size: 13px;
}

.tarot-history-row {
  width: 100%;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(197, 151, 77, .16);
  border-radius: 16px;
  color: #efe3ca;
  background: rgba(2, 8, 22, .22);
  text-align: left;
}

.tarot-history-row.active {
  border-color: rgba(244, 217, 159, .46);
  background: rgba(197, 151, 77, .16);
}

.tarot-history-row strong,
.tarot-history-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tarot-history-row small { color: rgba(239, 227, 202, .58); }

.tarot-card { width: min(102px, 27vw); border-radius: 14px; }

.tarot-page {
  padding: 14px 14px 22px;
  color: #f6ebcf;
  background:
    radial-gradient(circle at 18% 8%, rgba(204, 164, 90, .18), transparent 26%),
    radial-gradient(circle at 84% 4%, rgba(117, 151, 214, .14), transparent 30%),
    linear-gradient(180deg, #06142d 0%, #0a1734 42%, #0f1830 100%);
}

.tarot-page > * {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.tarot-hero {
  min-height: 182px;
  grid-template-columns: 48px 1fr;
  align-items: start;
  gap: 14px;
  padding: 18px 18px 22px;
  border: 1px solid rgba(200, 162, 90, .34);
  border-radius: 30px;
  background:
    linear-gradient(90deg, rgba(200, 162, 90, .16) 1px, transparent 1px),
    linear-gradient(0deg, rgba(200, 162, 90, .14) 1px, transparent 1px),
    radial-gradient(circle at 26% 34%, rgba(255, 241, 207, .14), transparent 4px),
    radial-gradient(circle at 62% 22%, rgba(255, 241, 207, .16), transparent 3px),
    radial-gradient(circle at 80% 72%, rgba(255, 241, 207, .10), transparent 4px),
    linear-gradient(135deg, rgba(10, 29, 64, .96), rgba(6, 15, 35, .96));
  background-size: 34px 34px, 34px 34px, auto, auto, auto, auto;
  box-shadow: 0 24px 52px rgba(1, 5, 16, .42), inset 0 1px rgba(255,255,255,.08);
}

.tarot-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 14, 35, .20), rgba(4, 10, 26, .48));
  pointer-events: none;
}

.tarot-hero > * {
  position: relative;
  z-index: 1;
}

.tarot-hero::after {
  right: 18px;
  bottom: 14px;
  color: rgba(218, 181, 102, .56);
  font-size: 14px;
  letter-spacing: .28em;
}

.tarot-back.settings-back {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.14);
  color: #f5dfad;
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.18);
}

.tarot-hero-copy {
  display: grid;
  gap: 6px;
  align-content: start;
  padding-right: 74px;
}

.tarot-hero-copy span,
.tarot-reader small,
.tarot-card-caption small {
  color: rgba(246, 235, 207, .80);
  text-shadow: 0 1px 2px rgba(0,0,0,.24);
}

.tarot-hero-copy span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #e8d2a0;
}

.tarot-hero-copy h2 {
  margin: 0;
  color: #f6ebcf;
  font-size: 33px;
  line-height: 1.06;
  letter-spacing: .01em;
  text-shadow: 0 2px 10px rgba(0,0,0,.22);
}

.tarot-hero-copy p {
  margin: 0;
  max-width: 430px;
  color: rgba(246, 235, 207, .88);
  font-size: 13px;
  line-height: 1.68;
  text-shadow: 0 1px 2px rgba(0,0,0,.28);
}

.tarot-compose,
.tarot-result,
.tarot-history {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(200, 162, 90, .22);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(24, 37, 74, .92), rgba(11, 23, 49, .92));
  box-shadow: 0 18px 38px rgba(0,0,0,.20), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.tarot-compose {
  display: grid;
  gap: 12px;
}

.tarot-compose label {
  color: #f3dfb2;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .01em;
}

.tarot-compose textarea {
  min-height: 76px;
  padding: 14px 15px;
  border: 1px solid rgba(200, 162, 90, .18);
  border-radius: 20px;
  color: #3a2c1a;
  background: linear-gradient(180deg, rgba(255,250,239,.98), rgba(244,235,216,.96));
  box-shadow: inset 0 1px rgba(255,255,255,.78), 0 6px 16px rgba(0,0,0,.08);
}

.tarot-compose textarea::placeholder {
  color: rgba(58, 44, 26, .46);
}

.tarot-actions {
  gap: 12px;
}

.tarot-actions button,
.tarot-history-head button {
  min-height: 48px;
  border-radius: 18px;
  border: 1px solid rgba(117, 81, 30, .18);
  color: #231a10;
  background: linear-gradient(145deg, #f3d89b 0%, #d8a448 56%, #b67b2c 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.48), 0 12px 26px rgba(0,0,0,.18);
}

.tarot-reader {
  gap: 10px;
  margin-bottom: 14px;
}

.tarot-reader span {
  color: #f4d99f;
  background: rgba(197, 151, 77, .14);
}

.tarot-reader strong {
  color: #f7eed6;
  font-size: 15px;
}

.tarot-reader small {
  grid-column: 2;
  font-size: 12px;
}

.tarot-spread {
  gap: 14px;
  margin: 8px 0 16px;
}

.tarot-card {
  width: min(126px, 27vw);
  border-radius: 18px;
  padding: 5px;
  background: linear-gradient(160deg, #efcf8f, #bd8a36 48%, #78521e 100%);
  box-shadow: 0 18px 32px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.46);
}

.tarot-spread.count-1 .tarot-card {
  width: min(168px, 44vw);
}

.tarot-card-inner {
  border-radius: 14px;
  background:
    linear-gradient(45deg, transparent calc(50% - .7px), rgba(244,217,159,.34) 50%, transparent calc(50% + .7px)),
    linear-gradient(-45deg, transparent calc(50% - .7px), rgba(244,217,159,.24) 50%, transparent calc(50% + .7px)),
    radial-gradient(circle at 50% 50%, rgba(244, 217, 159, .13), transparent 31%),
    linear-gradient(180deg, #081a3d, #0a1430 68%, #11142a);
}

.tarot-card-caption {
  gap: 4px;
}

.tarot-card-caption strong {
  color: #eacb89;
  font-size: 12px;
}

.tarot-card-caption span {
  color: #f7eed6;
  font-size: 14px;
  font-weight: 900;
}

.tarot-card-caption small {
  color: rgba(246, 235, 207, .84);
  font-size: 11px;
  line-height: 1.45;
}

.tarot-reading-text {
  margin-top: 14px;
  padding: 16px 16px 17px;
  border-radius: 20px;
  color: #2c2214;
  background:
    linear-gradient(90deg, rgba(127, 84, 31, .12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(127, 84, 31, .10) 1px, transparent 1px),
    linear-gradient(180deg, #f3e5c5, #e1cca0);
  background-size: 24px 24px, 24px 24px, auto;
  box-shadow: 0 12px 28px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.60);
}

.tarot-reading-text p {
  color: #2c2214;
  font-size: 14px;
  line-height: 1.78;
}

.tarot-empty-oracle,
.tarot-loading {
  min-height: 188px;
  gap: 9px;
  color: rgba(246, 235, 207, .84);
}

.tarot-empty-oracle strong,
.tarot-loading strong {
  color: #f7eed6;
}

.tarot-empty-oracle p,
.tarot-loading p {
  color: rgba(246, 235, 207, .78);
  max-width: 300px;
  line-height: 1.6;
}

.tarot-history-head {
  margin-bottom: 12px;
  color: #f7eed6;
}

.tarot-history-list {
  gap: 10px;
}

.tarot-history-list > p {
  color: rgba(246, 235, 207, .74);
}

.tarot-history-row {
  gap: 4px;
  padding: 12px 13px;
  border: 1px solid rgba(200, 162, 90, .18);
  border-radius: 18px;
  color: #f6ebcf;
  background: linear-gradient(180deg, rgba(7, 16, 37, .52), rgba(7, 17, 39, .34));
  box-shadow: inset 0 1px rgba(255,255,255,.05);
}

.tarot-history-row strong {
  color: #f9eed3;
  font-size: 13px;
}

.tarot-history-row small {
  color: rgba(246, 235, 207, .74);
}

.tarot-history-row.active {
  border-color: rgba(244, 217, 159, .52);
  background: linear-gradient(180deg, rgba(195, 151, 77, .16), rgba(26, 35, 70, .52));
  box-shadow: 0 10px 24px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.06);
}

.tarot-hero-copy h2 { font-size: 30px; }

.tarot-page { padding-left: 12px; padding-right: 12px; }

.tarot-hero {
    min-height: 170px;
    padding: 16px 15px 20px;
    border-radius: 26px;
  }

.tarot-hero-copy { padding-right: 64px; }

.tarot-hero-copy h2 { font-size: 28px; }

.tarot-compose,
.tarot-result,
.tarot-history { padding: 14px; border-radius: 22px; }

.tarot-spread.count-3 { gap: 8px; }

.tarot-card { width: min(104px, 27vw); border-radius: 16px; }

.tarot-card-caption small { display: none; }

.tarot-page {
  color: #fbf3de;
  background:
    radial-gradient(circle at 18% 7%, rgba(214, 178, 105, .20), transparent 24%),
    radial-gradient(circle at 86% 4%, rgba(148, 171, 214, .12), transparent 28%),
    linear-gradient(180deg, #051126 0%, #091631 40%, #0e1a33 100%);
}

.tarot-hero {
  border-color: rgba(214, 176, 98, .42);
  background:
    linear-gradient(90deg, rgba(214, 176, 98, .22) 1px, transparent 1px),
    linear-gradient(0deg, rgba(214, 176, 98, .18) 1px, transparent 1px),
    radial-gradient(circle at 24% 28%, rgba(255, 243, 215, .18), transparent 4px),
    radial-gradient(circle at 66% 20%, rgba(255, 243, 215, .16), transparent 3px),
    radial-gradient(circle at 84% 74%, rgba(255, 243, 215, .12), transparent 4px),
    linear-gradient(135deg, rgba(7, 23, 53, .98), rgba(4, 11, 28, .98));
  box-shadow: 0 26px 56px rgba(1, 5, 16, .48), inset 0 1px rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,233,188,.06);
}

.tarot-hero::before {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 224, 168, .06), transparent 40%),
    linear-gradient(180deg, rgba(4, 10, 27, .16), rgba(3, 8, 22, .50));
}

.tarot-hero::after {
  content: "☉  ☽  ☿  ♀  ♂  ♃  ♄";
  color: rgba(240, 210, 144, .72);
}

.tarot-back.settings-back {
  color: #fff3cf;
  background: rgba(255,255,255,.09);
  border-color: rgba(255, 240, 211, .18);
}

.tarot-hero-copy span {
  color: #edd5a4;
  text-shadow: 0 1px 4px rgba(0,0,0,.34);
}

.tarot-hero-copy h2 {
  color: #fff4d8;
  text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

.tarot-hero-copy p {
  color: rgba(255, 247, 229, .96);
  text-shadow: 0 1px 3px rgba(0,0,0,.34);
}

.tarot-compose,
.tarot-result,
.tarot-history {
  border-color: rgba(214, 176, 98, .24);
  background:
    linear-gradient(180deg, rgba(19, 31, 60, .95), rgba(10, 20, 44, .95));
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,233,188,.04);
}

.tarot-compose label,
.tarot-history-head,
.tarot-reader strong,
.tarot-empty-oracle strong,
.tarot-loading strong {
  color: #fff2cf;
}

.tarot-reader small,
.tarot-card-caption small,
.tarot-empty-oracle,
.tarot-loading,
.tarot-empty-oracle p,
.tarot-loading p,
.tarot-history-list > p,
.tarot-history-row small {
  color: rgba(255, 245, 224, .86);
}

.tarot-compose textarea {
  color: #fdf7ea;
  border-color: rgba(224, 191, 118, .20);
  background:
    linear-gradient(180deg, rgba(12, 21, 42, .86), rgba(16, 28, 55, .90));
  box-shadow: inset 0 1px rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,235,198,.03);
}

.tarot-compose textarea::placeholder {
  color: rgba(255, 244, 220, .72);
}

.tarot-actions button,
.tarot-history-head button {
  color: #271d11;
  background: linear-gradient(145deg, #f8e3b2 0%, #ddb15b 56%, #b97f2c 100%);
}

.tarot-reader span,
.tarot-empty-oracle span,
.tarot-loading span {
  color: #ffe7b0;
  background: rgba(214, 176, 98, .14);
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 0 0 1px rgba(255,238,200,.05);
}

.tarot-card {
  background: linear-gradient(160deg, #f2d699, #c7923b 48%, #7d5520 100%);
}

.tarot-card-inner {
  border-color: rgba(255, 235, 191, .62);
  background:
    linear-gradient(45deg, transparent calc(50% - .7px), rgba(255,231,177,.34) 50%, transparent calc(50% + .7px)),
    linear-gradient(-45deg, transparent calc(50% - .7px), rgba(255,231,177,.24) 50%, transparent calc(50% + .7px)),
    radial-gradient(circle at 50% 50%, rgba(255, 230, 176, .15), transparent 31%),
    linear-gradient(180deg, #081632, #0a1430 68%, #12172d);
}

.tarot-roman,
.tarot-card-caption span,
.tarot-history-row strong {
  color: #fff1cd;
}

.tarot-corner,
.tarot-sigil-ring,
.tarot-card-caption strong {
  color: #f7db9d;
}

.tarot-star-map i {
  background: #fff1ca;
  box-shadow: 0 0 14px rgba(255, 240, 201, .78);
}

.tarot-reading-text {
  color: #2b2115;
  background:
    linear-gradient(90deg, rgba(134, 91, 37, .12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(134, 91, 37, .10) 1px, transparent 1px),
    linear-gradient(180deg, #f5e7c7, #e4d0a7);
}

.tarot-history-row {
  color: #fff0cb;
  border-color: rgba(214, 176, 98, .20);
  background: linear-gradient(180deg, rgba(9, 17, 38, .58), rgba(8, 16, 36, .42));
}

.tarot-history-row.active {
  border-color: rgba(255, 229, 169, .56);
  background: linear-gradient(180deg, rgba(198, 152, 78, .18), rgba(23, 33, 68, .58));
}

.tarot-hero {
  background:
    linear-gradient(90deg, rgba(218, 180, 105, .18) 1px, transparent 1px),
    linear-gradient(0deg, rgba(218, 180, 105, .14) 1px, transparent 1px),
    linear-gradient(135deg, #061226 0%, #081a3b 55%, #050d1f 100%) !important;
}

.tarot-hero-copy {
  display: block;
  max-width: calc(100% - 72px);
  padding: 10px 14px 12px 14px;
  border-radius: 18px;
  background: rgba(2, 8, 22, .72);
  box-shadow: inset 0 0 0 1px rgba(255, 230, 178, .08), 0 10px 24px rgba(0,0,0,.18);
}

.tarot-hero-copy span {
  display: block;
  color: #ffe3a6 !important;
  opacity: 1 !important;
  font-weight: 900;
  letter-spacing: .18em;
  text-shadow: 0 2px 4px rgba(0,0,0,.65);
}

.tarot-hero-copy h2 {
  margin: 7px 0 8px;
  color: #fff8e6 !important;
  opacity: 1 !important;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 950;
  text-shadow: 0 2px 5px rgba(0,0,0,.72);
}

.tarot-hero-copy p {
  margin: 0;
  color: #fff3d6 !important;
  opacity: 1 !important;
  font-size: 13px;
  line-height: 1.62;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0,0,0,.70);
}

.tarot-history {
  background: #091833 !important;
  border-color: rgba(234, 194, 115, .36) !important;
}

.tarot-history-head strong {
  color: #fff4d7 !important;
  opacity: 1 !important;
  font-size: 18px;
  font-weight: 950;
  text-shadow: 0 2px 4px rgba(0,0,0,.60);
}

.tarot-history-list > p {
  color: #fff0cd !important;
  opacity: 1 !important;
  font-weight: 800;
}

.tarot-history-row {
  background: #13264b !important;
  border-color: rgba(245, 213, 151, .58) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 8px 20px rgba(0,0,0,.16);
}

.tarot-history-row.active {
  background: #18335f !important;
  border-color: rgba(255, 226, 163, .78) !important;
}

.tarot-history-row strong {
  color: #fff6df !important;
  opacity: 1 !important;
  font-size: 14px;
  font-weight: 950;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}

.tarot-history-row small {
  color: #ffe8b3 !important;
  opacity: 1 !important;
  font-size: 12px;
  font-weight: 800;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}

.tarot-hero-copy {
    max-width: calc(100% - 58px);
    padding: 9px 12px 11px;
  }

.tarot-hero-copy h2 {
    font-size: 27px;
  }

.tarot-hero-copy p {
    font-size: 12.5px;
    line-height: 1.58;
  }

.tarot-page {
  --tarot-gold: #d8b676;
  --tarot-gold-deep: #b08438;
  --tarot-ink: #efe6d2;
  padding-top: 12px;
  background:
    radial-gradient(120% 80% at 18% -8%, rgba(176, 140, 92, .22), transparent 42%),
    radial-gradient(90% 70% at 88% 4%, rgba(108, 120, 196, .2), transparent 46%),
    radial-gradient(140% 120% at 50% 120%, rgba(86, 58, 96, .42), transparent 60%),
    linear-gradient(178deg, #0a1330 0%, #0d1230 40%, #15132e 72%, #1a1228 100%) !important;
}

.tarot-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 18%, rgba(255,247,224,.7), transparent),
    radial-gradient(1.2px 1.2px at 78% 12%, rgba(255,247,224,.55), transparent),
    radial-gradient(1.1px 1.1px at 32% 42%, rgba(255,247,224,.45), transparent),
    radial-gradient(1.3px 1.3px at 64% 64%, rgba(255,247,224,.5), transparent),
    radial-gradient(1px 1px at 90% 48%, rgba(255,247,224,.4), transparent),
    radial-gradient(1.2px 1.2px at 46% 86%, rgba(255,247,224,.4), transparent);
  opacity: .8;
  z-index: 0;
}

.tarot-page > * { position: relative; z-index: 1; }

.tarot-hero {
  border-color: rgba(216, 182, 118, .3) !important;
  box-shadow: 0 26px 56px rgba(2, 6, 20, .5), inset 0 1px rgba(255, 244, 214, .12) !important;
}

.tarot-hero-copy span {
  font-size: 11.5px; letter-spacing: .42em; text-transform: uppercase;
  color: rgba(216, 182, 118, .82) !important;
}

.tarot-hero-copy h2 {
  font-family: "Songti SC", Georgia, "Times New Roman", serif;
  font-weight: 600; letter-spacing: .04em; font-size: 25px;
  color: #f6e6c0 !important;
}

.tarot-hero-copy p { font-size: 12.5px; line-height: 1.62; }

.tarot-hero::after { opacity: .55; letter-spacing: .36em; }

.tarot-compose,
.tarot-result,
.tarot-history {
  border-color: rgba(216, 182, 118, .2) !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, rgba(40, 36, 58, .46), rgba(20, 20, 40, .4)) !important;
  box-shadow: inset 0 1px rgba(255, 244, 214, .1), 0 18px 40px rgba(2, 6, 20, .3) !important;
}

.tarot-compose textarea {
  border-radius: 16px !important;
  background: rgba(8, 12, 30, .46) !important;
  border-color: rgba(216, 182, 118, .22) !important;
}

.tarot-compose textarea:focus {
  outline: none;
  border-color: rgba(216, 182, 118, .5) !important;
  box-shadow: 0 0 0 3px rgba(216, 182, 118, .14) !important;
}

.tarot-actions button {
  border: 1px solid rgba(255, 244, 214, .5);
  border-radius: 15px !important;
  letter-spacing: .04em;
  background: linear-gradient(150deg, #ecd29a 0%, #c79a4e 52%, #a9792f 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.5), inset 0 -2px rgba(120, 82, 30, .35), 0 12px 24px rgba(0,0,0,.24) !important;
  transition: transform .12s ease, filter .12s ease;
}

.tarot-actions button:active { transform: translateY(1px) scale(.985); filter: brightness(.97); }

.tarot-actions button[data-tarot-draw="three"] {
  color: #f3e2b6 !important;
  background: linear-gradient(150deg, rgba(216,182,118,.16), rgba(216,182,118,.08)) !important;
  border-color: rgba(216, 182, 118, .5);
  box-shadow: inset 0 1px rgba(255, 244, 214, .14) !important;
}

.tarot-reader {
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(216, 182, 118, .2);
}

.tarot-reader span {
  background: radial-gradient(circle at 50% 35%, rgba(216,182,118,.3), rgba(216,182,118,.1)) !important;
  box-shadow: 0 0 0 1px rgba(216,182,118,.3), 0 6px 16px rgba(0,0,0,.25);
}

.tarot-reader strong {
  font-family: "Songti SC", Georgia, serif; letter-spacing: .04em;
}

.tarot-card {
  background: linear-gradient(150deg, #e7c887, #b98a3f 46%, #7c531c) !important;
  box-shadow: 0 20px 34px rgba(0,0,0,.42), 0 2px 0 rgba(255,244,214,.4) inset, inset 0 0 0 1px rgba(120,82,30,.5) !important;
  animation: tarotCardRise .6s cubic-bezier(.2,.7,.25,1) both;
  animation-delay: calc(var(--card-index, 0) * .12s + .05s);
}

.tarot-card-inner {
  border-color: rgba(247, 231, 191, .6) !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(216, 182, 118, .22), transparent 42%),
    linear-gradient(45deg, transparent calc(50% - .7px), rgba(244,217,159,.3) 50%, transparent calc(50% + .7px)),
    linear-gradient(-45deg, transparent calc(50% - .7px), rgba(244,217,159,.2) 50%, transparent calc(50% + .7px)),
    linear-gradient(180deg, #0a1c40, #0b1431 66%, #141430) !important;
}

.tarot-roman {
  font-family: Georgia, "Times New Roman", serif; font-style: italic;
  color: #f6e6c0 !important; text-shadow: 0 1px 6px rgba(0,0,0,.5);
}

.tarot-star-map i { box-shadow: 0 0 14px rgba(247, 231, 191, .85); animation: tarotTwinkle 3.2s ease-in-out infinite; }

.tarot-star-map i:nth-child(2) { animation-delay: .6s; }

.tarot-star-map i:nth-child(3) { animation-delay: 1.1s; }

.tarot-star-map i:nth-child(4) { animation-delay: 1.7s; }

.tarot-star-map i:nth-child(5) { animation-delay: 2.3s; }

.tarot-sigil-ring b { text-shadow: 0 0 14px rgba(244, 217, 159, .5); }

.tarot-card-caption strong {
  letter-spacing: .26em; text-transform: uppercase; font-size: 10.5px;
  color: var(--tarot-gold) !important;
}

.tarot-card-caption span { font-family: "Songti SC", Georgia, serif; }

.tarot-card.reversed { animation: none; }

.tarot-reading-text {
  border-radius: 20px !important;
  padding: 16px 16px 15px !important;
  color: #34281a !important;
  background:
    radial-gradient(120% 60% at 50% -10%, rgba(255,255,255,.5), transparent 40%),
    linear-gradient(180deg, #f4e7c9, #e7d3a6) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.6), inset 0 0 0 1px rgba(176,132,56,.28), 0 14px 30px rgba(0,0,0,.26) !important;
}

.tarot-reading-text p { font-size: 14px; line-height: 1.74; }

.tarot-reading-text p:first-child {
  padding-bottom: 11px; margin-bottom: 2px;
  border-bottom: 1px solid rgba(176, 132, 56, .3);
  font-weight: 700; color: #2c2114;
}

.tarot-empty-oracle span {
  background: radial-gradient(circle at 50% 32%, rgba(216,182,118,.3), rgba(216,182,118,.08)) !important;
  box-shadow: 0 0 0 1px rgba(216,182,118,.28), 0 0 40px rgba(216,182,118,.18);
}

.tarot-empty-oracle strong { font-family: "Songti SC", Georgia, serif; font-size: 16px; letter-spacing: .04em; }

.tarot-history-row { border-radius: 15px !important; background: rgba(10, 12, 30, .34) !important; transition: border-color .15s ease, background .15s ease; }

.tarot-history-row.active {
  border-color: rgba(216, 182, 118, .55) !important;
  background: linear-gradient(90deg, rgba(216,182,118,.2), rgba(216,182,118,.08)) !important;
  box-shadow: inset 3px 0 0 var(--tarot-gold);
}

.tarot-history-head strong { font-family: "Songti SC", Georgia, serif; letter-spacing: .04em; }

.tarot-card { animation: none; }

.tarot-star-map i { animation: none; }

#appScreen :where(.panel, .settings-row):not(.tarot-app *):not(.rule-world-app *):not(.memory-universe-app *) {
  border-color: var(--moss-ui-line) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}

#appScreen .tarot-page {
  color: #fbf3de !important;
  background:
    radial-gradient(120% 80% at 18% -8%, rgba(176, 140, 92, .22), transparent 42%),
    radial-gradient(90% 70% at 88% 4%, rgba(108, 120, 196, .2), transparent 46%),
    radial-gradient(140% 120% at 50% 120%, rgba(86, 58, 96, .42), transparent 60%),
    linear-gradient(178deg, #0a1330 0%, #0d1230 40%, #15132e 72%, #1a1228 100%) !important;
}

#appScreen .tarot-compose,
#appScreen .tarot-result,
#appScreen .tarot-history {
  color: #fbf3de !important;
  border-color: rgba(216, 182, 118, .24) !important;
  background: linear-gradient(180deg, rgba(31, 31, 54, .96), rgba(13, 18, 39, .96)) !important;
  box-shadow: inset 0 1px rgba(255,244,214,.10), 0 18px 40px rgba(2,6,20,.30) !important;
}

#appScreen .tarot-compose label,
#appScreen .tarot-history-head,
#appScreen .tarot-reader strong,
#appScreen .tarot-empty-oracle strong,
#appScreen .tarot-loading strong {
  color: #fff2cf !important;
  opacity: 1 !important;
}

#appScreen .tarot-reader small,
#appScreen .tarot-empty-oracle,
#appScreen .tarot-empty-oracle p,
#appScreen .tarot-loading,
#appScreen .tarot-loading p,
#appScreen .tarot-history-list > p,
#appScreen .tarot-history-row small {
  color: rgba(255,245,224,.88) !important;
  opacity: 1 !important;
}

#appScreen .tarot-compose textarea {
  color: #fdf7ea !important;
  border-color: rgba(216,182,118,.28) !important;
  background: rgba(8,12,30,.58) !important;
}

#appScreen .tarot-compose textarea::placeholder {
  color: rgba(255,244,220,.72) !important;
  opacity: 1 !important;
}

#appScreen .tarot-actions button[data-tarot-draw="three"] {
  color: #f5e3b8 !important;
}

@keyframes tarotCardRise {
  from { opacity: 0; transform: translateY(18px) rotateX(12deg) scale(.94); }
  to { opacity: 1; transform: none; }
}

@keyframes tarotTwinkle {
  0%,
100% { opacity: 1; }
  50% { opacity: .35; }
}

/*# source: assets/css/features/memory.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.mind-history-panel {display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  max-height: min(70vh, 560px);
  overflow: hidden;}

.mind-history-list {min-height: 0;
  max-height: 100%;
  display: grid;
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-right: 2px;}

.mind-history-list article {display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 66%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);}

.mind-history-list time {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;}

.mind-history-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.mind-history-panel {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.mind-panel:not(.mind-history-panel) {height: max-content !important;
  min-height: 0 !important;
  max-height: min(calc(100% - 76px), 520px) !important;
  bottom: auto !important;
  align-content: start !important;
  grid-auto-rows: max-content;
  gap: 8px !important;
  padding: 10px !important;}

.mind-panel:not(.mind-history-panel) header {gap: 8px;}

.mind-panel:not(.mind-history-panel) .mind-title {grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;}

.mind-panel:not(.mind-history-panel) .mind-avatar.avatar {width: 38px;}

.mind-panel:not(.mind-history-panel) .mind-panel-actions {gap: 5px;}

.mind-panel:not(.mind-history-panel) header button {min-width: 48px;
  min-height: 32px;
  height: 32px;
  padding: 0 10px;}

.mind-panel:not(.mind-history-panel) .mind-grid {gap: 6px;}

.mind-panel:not(.mind-history-panel) p {gap: 3px;
  padding: 8px;
  border-radius: 14px;
  line-height: 1.35;}

.mind-panel:not(.mind-history-panel) .mind-score {font-size: 18px;}

.mind-panel:not(.mind-history-panel) .mind-score::after {margin-top: 4px;}

/* Existing canonical module rules follow. */
/*
 * memory feature stylesheet.
 * Extracted from legacy app.css in 464.9.172.
 * Keep app-specific visual and structural rules here.
 */
.memory-gradient { background: linear-gradient(145deg, #2d3436, #74b9ff 55%, #a29bfe); }
.memory-gradient {
  color: var(--glass-icon-text) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.025)),
    var(--glass-icon-bg) !important;
  border: 1px solid var(--glass-icon-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 10px 28px rgba(0, 0, 0, 0.14) !important;
  backdrop-filter: blur(20px) saturate(1.25);
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
}
.memory-search-input {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  outline: 0;
  color: var(--skin-text);
  background: var(--surface-strong);
}
.memory-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.memory-hero h2 {
  margin: 0;
  font-size: clamp(24px, 7vw, 34px);
  line-height: 1.1;
}
.memory-hero p {
  margin: 4px 0 0;
}
.memory-hero > strong,
.memory-filter-pill,
.memory-back-button {
  min-height: 36px;
  display: inline-grid;
  place-items: center;
  padding: 0 14px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface-strong);
  white-space: nowrap;
}
.memory-toolbar {
  display: grid;
  grid-template-columns: minmax(58px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.memory-role-list {
  display: grid;
  gap: 8px;
}
.memory-role-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px;
  border-radius: 18px;
  color: var(--skin-text);
  background: transparent;
  text-align: left;
}
.memory-role-row:hover,
.memory-role-row:focus-visible {
  background: var(--surface-strong);
}
.memory-role-avatar,
.memory-selected-avatar {
  width: 48px;
  height: 48px;
}
.memory-role-row span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.memory-role-row strong,
.memory-selected-head strong {
  color: var(--skin-text);
}
.memory-role-row small,
.memory-selected-head small {
  overflow: visible;
  color: var(--skin-muted);
  text-overflow: clip;
  white-space: normal;
}
.memory-role-row em {
  color: var(--skin-text);
  font-style: normal;
  font-weight: 900;
}
.memory-selected-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.memory-module-list {
  display: grid;
  gap: 12px;
}
.memory-module-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 18px;
  background: var(--surface);
}
.memory-module-card header {
  display: grid;
  gap: 4px;
}
.memory-module-card header strong {
  color: var(--skin-text);
}
.memory-module-card header small,
.memory-entry > header > span {
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;
}
.memory-entry-list {
  display: grid;
  gap: 8px;
}
.memory-detail-panel .memory-entry-list {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-right: 2px;
}
.memory-entry {
  display: grid;
  gap: 5px;
  padding: 10px;
  border-radius: 14px;
  background: var(--surface-strong);
}
.memory-entry.pinned {
  border: 1px solid color-mix(in srgb, #ffd166 70%, var(--skin-border));
  background: color-mix(in srgb, #ffd166 12%, var(--surface-strong));
}
.memory-entry header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}
.memory-entry header > span {
  flex: 1 1 180px;
  min-width: 0;
}
.memory-entry-actions {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
}
.memory-entry-actions button {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--skin-text);
  background: var(--surface);
}
.memory-entry p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--skin-text);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.memory-entry-preview {
  cursor: pointer;
}
.memory-detail-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: end;
  padding: 18px;
  background: rgba(8, 10, 14, 0.34);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.memory-detail-panel {
  max-height: min(78vh, 680px);
  min-height: 420px;
  display: grid;
  grid-template-rows: auto minmax(220px, 1fr) auto;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 78%, transparent);
  border-radius: 28px;
  color: var(--skin-text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.08)),
    color-mix(in srgb, var(--phone-bg) 88%, transparent);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.36);
  backdrop-filter: blur(28px) saturate(1.12);
  -webkit-backdrop-filter: blur(28px) saturate(1.12);
}
.memory-detail-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.memory-detail-panel header > button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);
  font-size: 20px;
  font-weight: 900;
}
.memory-detail-title {
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.memory-detail-avatar.avatar {
  width: 46px;
  border-radius: 15px;
}
.memory-detail-title span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.memory-detail-title strong,
.memory-detail-title small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.memory-detail-title strong {
  color: var(--skin-text);
  font-size: 17px;
}
.memory-detail-title small {
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;
}
.memory-detail-panel textarea {
  width: 100%;
  min-height: 0;
  resize: none;
  border: 1px solid color-mix(in srgb, var(--skin-border) 68%, transparent);
  border-radius: 20px;
  outline: 0;
  padding: 13px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);
  line-height: 1.65;
  -webkit-overflow-scrolling: touch;
}
.memory-detail-actions {
  display: grid;
  grid-template-columns: 1fr 0.9fr 0.8fr;
  gap: 8px;
}
.memory-detail-actions button {
  min-height: 42px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2));
  font-weight: 900;
}
.memory-detail-actions button:nth-child(2) {
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 82%, transparent);
}
.memory-app {
  gap: 14px !important;
  padding: 14px !important;
}
.memory-hero,
.memory-toolbar,
.memory-role-panel,
.memory-selected-role,
.memory-module-card,
.memory-entry {
  border: 1px solid color-mix(in srgb, var(--skin-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
}
.memory-hero,
.memory-toolbar,
.memory-role-panel,
.memory-selected-role,
.memory-module-card {
  border-radius: 24px !important;
}
.memory-entry {
  border-radius: 18px !important;
}
.memory-hero h2,
.memory-module-card header strong {
  color: var(--skin-text) !important;
  letter-spacing: 0 !important;
}
.memory-hero p,
.memory-module-card header small,
.memory-entry header span,
.memory-entry p {
  color: var(--skin-muted) !important;
}
.memory-entry-actions button,
.memory-back-button {
  min-height: 38px;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent) !important;
  background: color-mix(in srgb, var(--phone-bg) 72%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--skin-text) 6%, transparent);
}
.memory-filter-pill {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.memory-entry-actions button[data-memory-delete] {
  background: color-mix(in srgb, #e34b55 90%, var(--phone-bg)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.memory-search-input {
  border-radius: 18px !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 82%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .memory-entry {
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent) !important;
}
.memory-detail-panel {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}
.memory-search-input {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
}
.memory-back-button {
  border-radius: var(--skin-radius-sm) !important;
}
.memory-back-button {
  min-width: var(--skin-control-height) !important;
  width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  border-radius: 50% !important;
  color: var(--skin-title) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.memory-module-card {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.memory-search-input {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent) !important;
}
.memory-module-card,
.memory-detail-panel {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.memory-search-input {
  width: 100%;
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 74%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent) !important;
}
.memory-back-button {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-sm) !important;
  font-size: var(--skin-control-font) !important;
  font-weight: 800 !important;
}
.memory-back-button {
  color: var(--skin-title) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.memory-back-button {
  width: var(--skin-control-height) !important;
  min-width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
.memory-detail-panel {
  background: var(--surface-strong) !important;
}
body.theme-apple .memory-app {
  color: var(--skin-text) !important;
  background-color: var(--phone-bg) !important;
  background-image: none !important;
}
body.theme-apple .memory-gradient {
  color: #4c5663 !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(235, 240, 247, 0.66)),
    rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(112, 122, 136, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.88), 0 9px 22px rgba(74, 87, 110, 0.10) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
}
html[data-ui-mode="dark"] body.theme-apple .memory-gradient {
  color: #dfe4ec !important;
  background:
    linear-gradient(145deg, rgba(54, 57, 66, 0.92), rgba(32, 34, 41, 0.72)),
    rgba(38, 40, 48, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.095) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.09), 0 9px 22px rgba(0, 0, 0, 0.22) !important;
}
body.theme-apple .memory-module-card,
body.theme-apple .memory-entry {
  box-shadow: var(--skin-shadow-soft) !important;
}
body.theme-apple .memory-entry-actions button {
  background: #8eb0da !important;
  color: #ffffff !important;
  border-color: rgba(87, 124, 166, 0.18) !important;
}
.memory-entry-meta,
.memory-entry-flags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.memory-entry-meta,
.memory-entry-flags{margin-top:6px;font-size:11px;color:var(--skin-muted)}
.memory-entry-flags span{border:1px solid var(--skin-border);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent)}
.memory-entry.muted,
.memory-entry.no-mention{opacity:.62}
.memory-entry.permanent{border-color:color-mix(in srgb,var(--skin-accent) 45%,var(--skin-border))}
.memory-detail-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.memory-detail-controls .field{margin:0}
@media (max-width:520px) {.memory-detail-controls{grid-template-columns:1fr} }
.app-screen .memory-entry-actions button {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
#appScreen .memory-module-card button {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 22%, transparent) !important;
  box-shadow: none !important;
  background-image: none !important;
}
#appScreen .memory-role-row {
  background: #ffffff !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
  box-shadow: 0 1px 2px rgba(34,52,74,.05) !important;
  background-image: none !important;
}
#appScreen .memory-role-row :is(strong,h3,b) { color: var(--ed-text) !important; }
#appScreen .memory-role-row :is(small,p,span) { color: var(--ed-muted) !important; }
.memory-type-tabs {
  overscroll-behavior-x: contain;
  scroll-padding-inline: 0;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  padding: 4px 18px 4px 4px !important;
  -webkit-overflow-scrolling: touch;
}
.memory-type-tabs button {
  flex: 0 0 auto !important;
  scroll-margin-inline: 0;
}
.memory-round-summary-card {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 82%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 72%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.memory-round-summary-card h3 {
  margin: 0 0 6px;
  font-size: 15px;
  color: var(--skin-title, #1f2a24);
}
.memory-round-summary-card .field strong {
  color: var(--skin-accent, #667f6f);
  font-variant-numeric: tabular-nums;
}
.memory-round-summary-card input[type="range"] {
  width: 100%;
  accent-color: var(--skin-accent, #667f6f);
}
.app-body:has(.memory-app) { padding: calc(50px + var(--safe-top)) 8px calc(10px + var(--safe-bottom) + var(--browser-bottom-reserve, 0px)) !important; overflow: hidden !important; }
.memory-app { width: 100%; max-width: none !important; height: 100%; min-height: 0; display: flex; flex-direction: column; gap: 10px; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; color: var(--skin-text, #20242c); }
.memory-app.memory-detail-mode { overflow: hidden; }
.memory-app :where(.panel, .memory-role-card, .memory-list-backup) { border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 88%, transparent) !important; background: color-mix(in srgb, var(--surface-strong, #ffffff) 88%, transparent) !important; color: var(--skin-text, #20242c) !important; box-shadow: 0 14px 36px color-mix(in srgb, var(--skin-text, #111827) 8%, transparent) !important; backdrop-filter: blur(24px) saturate(1.18); -webkit-backdrop-filter: blur(24px) saturate(1.18); }
.memory-hero { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px !important; border-radius: 24px !important; }
.memory-hero h2 { margin: 0 0 3px; font-size: 21px; line-height: 1.12; color: var(--skin-title, var(--skin-text, #16181d)) !important; }
.memory-hero p,
.memory-section-title-row .hint-text,
.memory-selected-head small,
.memory-list-backup summary small { color: var(--skin-muted, #69707b) !important; }
.memory-hero > strong,
.memory-section-title-row em,
.memory-role-count { border: 1px solid color-mix(in srgb, var(--skin-accent, #8ea7ff) 26%, var(--skin-border, rgba(0,0,0,.12))) !important; background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 12%, var(--surface-strong, #fff)) !important; color: var(--skin-title, var(--skin-text, #16181d)) !important; }
.memory-toolbar { flex: 0 0 auto; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: center; padding: 10px !important; border-radius: 22px !important; }
.memory-toolbar input,
.memory-search-input { min-width: 0; width: 100%; height: 42px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 86%, transparent) !important; border-radius: 999px !important; background: color-mix(in srgb, var(--surface, #fff) 84%, transparent) !important; color: var(--skin-text, #20242c) !important; padding: 0 14px !important; font-weight: 800; }
.memory-filter-pill,
.memory-back-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, var(--skin-accent, #8ea7ff) 22%, var(--skin-border, rgba(0,0,0,.12))) !important; border-radius: 999px !important; padding: 0 14px !important; background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 10%, var(--surface-strong, #fff)) !important; color: var(--skin-title, var(--skin-text, #20242c)) !important; font-weight: 950; }
.memory-role-panel { flex: 1 1 auto; min-height: 0; padding: 16px !important; overflow: hidden; }
.memory-section-title-row { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.memory-section-title-row h2 { margin: 0 0 4px; color: var(--skin-title, var(--skin-text, #17181c)); }
.memory-section-title-row p { margin: 0; font-weight: 750; line-height: 1.45; }
.memory-section-title-row em { flex: 0 0 auto; border-radius: 999px; padding: 8px 11px; font-style: normal; font-weight: 950; font-size: 12px; }
.memory-role-gallery { height: calc(100% - 58px); min-height: 360px; overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(152px, 1fr)); gap: 12px; padding: 2px 2px 14px; -webkit-overflow-scrolling: touch; }
.memory-role-card { position: relative; min-height: 178px; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; justify-items: start; gap: 10px; padding: 14px !important; border-radius: 28px !important; text-align: left; transform: translateZ(0); touch-action: manipulation; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; will-change: transform; }
.memory-role-card:active,
.memory-role-card.memory-card-pressing { transform: scale(.985) translateZ(0); }
.memory-role-glow { position: absolute; inset: -44% -22% auto auto; width: 150px; height: 150px; border-radius: 999px; background: radial-gradient(circle, color-mix(in srgb, var(--skin-accent, #8ea7ff) 26%, transparent), transparent 65%); pointer-events: none; }
.memory-role-card .avatar,
.memory-role-avatar.avatar,
.memory-selected-avatar.avatar { width: 58px !important; height: 58px !important; border-radius: 21px !important; box-shadow: 0 12px 26px rgba(0,0,0,.12) !important; }
.memory-role-copy { display: grid; gap: 5px; min-width: 0; align-self: end; }
.memory-role-copy strong { color: var(--skin-title, var(--skin-text, #111827)) !important; font-size: 17px; line-height: 1.18; }
.memory-role-copy small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--skin-muted, #69707b) !important; font-size: 12px; font-weight: 750; line-height: 1.35; }
.memory-role-count { display: inline-flex; align-items: baseline; gap: 5px; border-radius: 999px; padding: 7px 10px; }
.memory-role-count b { font-size: 18px; }
.memory-role-count small { font-size: 11px; font-weight: 900; color: inherit !important; opacity: .72; }
.memory-role-total { position: absolute; right: 13px; bottom: 13px; color: var(--skin-muted, #69707b) !important; font-size: 11px; font-weight: 850; }
.memory-selected-role,
.memory-tabs-panel { flex: 0 0 auto; padding: 12px !important; border-radius: 22px !important; }
.memory-selected-head { display: flex; align-items: center; gap: 12px; }
.memory-selected-head span { min-width: 0; display: grid; gap: 4px; }
.memory-selected-head strong { color: var(--skin-title, var(--skin-text, #16181d)) !important; font-size: 18px; }
.memory-chip-row { display: flex; flex-wrap: nowrap; gap: 7px; overflow-x: auto; padding: 10px 0 1px; scrollbar-width: none; }
.memory-chip-row::-webkit-scrollbar,
.memory-type-tabs::-webkit-scrollbar { display: none; }
.memory-table-chip { flex: 0 0 auto; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 90%, transparent); background: color-mix(in srgb, var(--surface, #fff) 76%, transparent); color: var(--skin-muted, #69707b); padding: 6px 9px; font-size: 11px; font-weight: 850; }
.memory-type-tabs { display: flex !important; gap: 8px !important; overflow-x: auto !important; padding: 0 !important; scroll-snap-type: x proximity; }
.memory-type-tabs button { flex: 0 0 auto !important; min-height: 38px !important; border-radius: 999px !important; scroll-snap-align: start; font-weight: 900 !important; color: var(--skin-muted, #69707b) !important; background: color-mix(in srgb, var(--surface, #fff) 70%, transparent) !important; }
.memory-type-tabs button.active { color: var(--skin-title, #111827) !important; background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 17%, var(--surface-strong, #fff)) !important; border-color: color-mix(in srgb, var(--skin-accent, #8ea7ff) 34%, var(--skin-border, rgba(0,0,0,.12))) !important; }
.memory-universe-panel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; border-radius: 30px; padding: 12px; overflow: hidden; border: 1px solid rgba(180,190,255,.18); background: radial-gradient(circle at 52% 56%, rgba(101,128,255,.28), transparent 32%), radial-gradient(circle at 92% 10%, rgba(255,156,205,.13), transparent 28%), linear-gradient(150deg, #080b15 0%, #101523 48%, #070914 100%); color: #eef3ff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 24px 48px rgba(7,9,18,.26); }
.memory-universe-topline { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 2px; }
.memory-universe-topline span { min-width: 0; display: grid; gap: 3px; }
.memory-universe-topline strong { color: #f8fbff; font-size: 16px; line-height: 1.1; }
.memory-universe-topline small,
.memory-universe-hint { color: rgba(236,242,255,.62); font-size: 11px; font-weight: 760; }
.memory-universe-topline em { flex: 0 0 auto; border-radius: 999px; padding: 8px 10px; background: rgba(255,255,255,.1); color: #fff; font-style: normal; font-weight: 950; }
.memory-universe-stage { position: relative; flex: 1 1 auto; min-height: 360px; overflow: hidden; border-radius: 24px; border: 1px solid rgba(202,211,255,.13); background: rgba(8,10,18,.36); touch-action: none; contain: layout paint size; isolation: isolate; user-select: none; }
.memory-space-gradient,
.memory-starfield,
.memory-orbit,
.memory-universe-layer { position: absolute; inset: 0; pointer-events: none; }
.memory-space-gradient { background: radial-gradient(circle at 50% 58%, rgba(93,125,255,.36), transparent 26%), linear-gradient(180deg, rgba(255,255,255,.03), transparent 55%); }
.memory-starfield { opacity: .74; background-image: radial-gradient(circle, rgba(255,255,255,.82) 0 1px, transparent 1.4px), radial-gradient(circle, rgba(150,174,255,.58) 0 1px, transparent 1.6px), radial-gradient(circle, rgba(255,255,255,.36) 0 1px, transparent 1.3px); background-size: 42px 42px, 73px 73px, 113px 113px; background-position: 4px 8px, 16px 31px, 26px 5px; }
.memory-orbit { inset: 23% 7% 13%; border: 1px solid rgba(222,231,255,.12); border-radius: 50%; transform: rotateX(64deg) rotateZ(-7deg); box-shadow: 0 0 38px rgba(105,132,255,.08); }
.memory-orbit-b { inset: 30% 18% 22%; transform: rotateX(68deg) rotateZ(25deg); opacity: .5; }
.memory-universe-layer { inset: 0; transform: translateZ(0); will-change: transform; }
.memory-star-card { position: absolute; left: 0; top: 0; width: clamp(180px, 58vw, 248px); min-height: 124px; display: grid; gap: 7px; padding: 11px 12px; border: 1px solid rgba(238,242,255,.18); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); box-shadow: 0 12px 30px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.05); color: #f7f9ff; text-align: left; transform-origin: center; will-change: transform, opacity; contain: layout paint; pointer-events: auto; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.memory-star-card.pinned,
.memory-star-card.permanent { border-color: rgba(255,226,155,.42); box-shadow: 0 12px 34px rgba(255,198,92,.16), 0 12px 30px rgba(0,0,0,.32); }
.memory-star-card.muted,
.memory-star-card.no-mention { filter: saturate(.72); }
.memory-star-card-top,
.memory-star-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.memory-star-card-top b { font-size: 12px; color: #fff; white-space: nowrap; }
.memory-star-card-top em,
.memory-star-card-foot small,
.memory-star-card-foot i { color: rgba(236,242,255,.64); font-size: 10px; font-style: normal; font-weight: 800; white-space: nowrap; }
.memory-star-card-text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; color: rgba(248,251,255,.91); font-size: 12.5px; font-weight: 760; line-height: 1.45; }
.memory-star-card-foot small,
.memory-star-card-foot i { overflow: hidden; text-overflow: ellipsis; }
.memory-star-card-foot i { max-width: 52%; }
.memory-universe-empty { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: rgba(236,242,255,.68); font-weight: 850; }
.memory-universe-hint { flex: 0 0 auto; text-align: center; }
.memory-list-backup { flex: 0 0 auto; max-height: 38%; overflow: auto; border-radius: 22px !important; padding: 0 !important; }
.memory-list-backup summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; font-weight: 950; color: var(--skin-title, var(--skin-text, #16181d)); }
.memory-list-backup summary::-webkit-details-marker { display: none; }
.memory-list-backup .memory-module-list { padding: 0 12px 12px; }
.memory-list-backup .memory-module-card { box-shadow: none !important; }
.memory-entry-actions { row-gap: 6px !important; }
.memory-entry-actions button,
.memory-detail-actions button { touch-action: manipulation; }
@media (max-width: 430px) {
  .app-body:has(.memory-app) { padding-left: 6px !important; padding-right: 6px !important; }
  .memory-hero { padding: 12px 13px !important; }
  .memory-hero p { display: none; }
  .memory-role-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .memory-role-card { min-height: 164px; padding: 12px !important; border-radius: 24px !important; }
  .memory-universe-stage { min-height: 390px; }
  .memory-star-card { width: clamp(172px, 62vw, 224px); min-height: 116px; }
  .memory-selected-role { display: none; }
  .memory-view-switch { padding: 7px !important; border-radius: 22px !important; }
  .memory-view-switch button { min-height: 40px; }
  .app-body:has(.memory-app) {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  .memory-app,
.memory-app.memory-detail-mode {
    gap: 10px !important;
    padding: 8px 6px 32px !important;
  }
  .memory-role-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .memory-app.memory-detail-mode .memory-universe-stage,
.memory-universe-stage {
    min-height: clamp(600px, 78dvh, 880px) !important;
  } }
@media (prefers-reduced-motion: reduce) { .memory-role-card,
.memory-star-card { transition: none !important; }
  .memory-universe-stage.memory-fly-in .memory-space-gradient,
.memory-universe-stage.memory-fly-in .memory-orbit,
.memory-universe-stage.memory-fly-in .memory-starfield,
.memory-universe-stage.memory-fly-in .memory-universe-layer,
.memory-universe-stage.memory-fly-in .memory-star-card { animation: none !important; transition: none !important; } }
.memory-view-switch {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px !important;
  border-radius: 24px !important;
}
.memory-view-switch button {
  min-height: 42px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--skin-muted, #69707b);
  font-weight: 950;
  letter-spacing: .02em;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.memory-view-switch button.active {
  background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 16%, var(--surface-strong, #fff));
  border-color: color-mix(in srgb, var(--skin-accent, #8ea7ff) 32%, var(--skin-border, rgba(0,0,0,.12)));
  color: var(--skin-title, var(--skin-text, #16181d));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-accent, #8ea7ff) 14%, transparent);
}
.memory-detail-columns {
  flex: 1 1 auto;
  min-height: 0;
  display: block;
  overflow: hidden;
}
.memory-column-pane {
  height: 100%;
  min-height: 0;
  display: none !important;
}
.memory-column-pane.active {
  display: flex !important;
}
.memory-list-backup.memory-column-pane {
  flex: none !important;
  max-height: none !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  padding: 12px !important;
  flex-direction: column;
  gap: 10px;
}
.memory-list-topline {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
}
.memory-list-topline span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.memory-list-topline strong {
  color: var(--skin-title, var(--skin-text, #16181d));
  font-size: 16px;
  line-height: 1.1;
}
.memory-list-topline small {
  color: var(--skin-muted, #69707b);
  font-size: 11px;
  font-weight: 780;
}
.memory-list-topline em {
  flex: 0 0 auto;
  max-width: 46%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  padding: 8px 10px;
  background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 11%, var(--surface-strong, #fff));
  color: var(--skin-title, var(--skin-text, #16181d));
  font-style: normal;
  font-weight: 950;
  font-size: 11px;
}
.memory-list-backup.memory-column-pane .memory-module-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0 !important;
  -webkit-overflow-scrolling: touch;
}
.memory-list-backup.memory-column-pane .memory-module-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.memory-list-backup.memory-column-pane .memory-module-card > header {
  flex: 0 0 auto;
}
.memory-list-backup.memory-column-pane .memory-entry-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
  display: grid;
  gap: 10px;
  padding-bottom: 12px;
}
@media (min-width: 760px) {
  .memory-detail-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 10px;
  }
  .memory-column-pane,
.memory-column-pane.active {
    display: flex !important;
  }
  .memory-view-switch { display: none !important; }
  .memory-detail-columns,
.memory-app.memory-detail-mode .memory-detail-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .memory-column-pane,
.memory-column-pane.active,
.memory-column-pane.force-visible {
    display: flex !important;
  }
  .memory-list-backup.memory-column-pane .memory-module-list {
    max-height: none !important;
  } }
.memory-app.memory-detail-mode {
  height: 100%;
  min-height: 0;
  overflow: hidden !important;
}
.memory-app.memory-detail-mode .memory-detail-columns {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: hidden;
}
.memory-app.memory-detail-mode .memory-column-pane {
  height: 100%;
  min-height: 0;
}
.memory-app.memory-detail-mode .memory-column-pane.active,
.memory-app.memory-detail-mode .memory-column-pane.force-visible {
  display: flex !important;
}
.memory-app.memory-detail-mode .memory-universe-panel.memory-column-pane {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.memory-app.memory-detail-mode .memory-universe-stage {
  flex: 1 0 auto;
  min-height: clamp(520px, 70dvh, 820px);
}
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane {
  overflow: hidden !important;
}
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane .memory-module-list {
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane .memory-entry-list {
  overflow: visible !important;
}
@media (max-width: 760px) {
  .app-body:has(.memory-app) {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  .memory-app.memory-detail-mode {
    gap: 8px;
  }
  .memory-app.memory-detail-mode .memory-hero {
    display: none !important;
  }
  .memory-app.memory-detail-mode .memory-selected-role {
    display: none !important;
  }
  .memory-app.memory-detail-mode .memory-toolbar,
.memory-app.memory-detail-mode .memory-tabs-panel,
.memory-app.memory-detail-mode .memory-view-switch {
    flex: 0 0 auto;
  }
  .memory-app.memory-detail-mode .memory-toolbar {
    padding: 8px !important;
    border-radius: 20px !important;
  }
  .memory-app.memory-detail-mode .memory-search-input,
.memory-app.memory-detail-mode .memory-back-button {
    min-height: 38px !important;
    height: 38px !important;
  }
  .memory-app.memory-detail-mode .memory-tabs-panel {
    padding: 9px !important;
    border-radius: 20px !important;
  }
  .memory-app.memory-detail-mode .memory-type-tabs button {
    min-height: 36px !important;
  }
  .memory-app.memory-detail-mode .memory-view-switch {
    padding: 7px !important;
    border-radius: 20px !important;
  }
  .memory-app.memory-detail-mode .memory-view-switch button {
    min-height: 38px !important;
  }
  .memory-app.memory-detail-mode .memory-detail-columns {
    flex: 1 1 auto;
    min-height: 0;
  }
  .memory-app.memory-detail-mode .memory-universe-panel {
    border-radius: 26px;
    padding: 10px;
  }
  .memory-app.memory-detail-mode .memory-universe-stage {
    min-height: calc(100dvh - 250px);
    border-radius: 22px;
  }
  .memory-app.memory-detail-mode .memory-list-backup.memory-column-pane {
    border-radius: 26px !important;
    padding: 10px !important;
  } }
@media (min-width: 761px) {
  .memory-app.memory-detail-mode .memory-detail-columns {
    min-height: min(760px, calc(100dvh - 300px));
  }
  .memory-app.memory-detail-mode .memory-universe-stage {
    min-height: 560px;
  } }
.app-body:has(.memory-app) {
  padding: calc(50px + var(--safe-top, 0px)) 8px calc(28px + var(--safe-bottom, 0px) + var(--browser-bottom-reserve, 0px)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
}
.memory-app,
.memory-app.memory-gallery-mode,
.memory-app.memory-detail-mode {
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-content: start !important;
  gap: 12px !important;
  padding: 10px 8px 28px !important;
  touch-action: pan-y !important;
}
.memory-app .memory-hero,
.memory-app .memory-toolbar,
.memory-app .memory-tabs-panel,
.memory-app .memory-view-switch,
.memory-app .memory-selected-role,
.memory-app .memory-role-panel,
.memory-app .memory-detail-columns,
.memory-app .memory-column-pane,
.memory-app .memory-list-backup,
.memory-app .memory-module-list,
.memory-app .memory-module-card,
.memory-app .memory-entry-list {
  max-height: none !important;
}
.memory-role-panel {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.memory-role-gallery {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: auto !important;
  touch-action: pan-y !important;
}
.memory-role-card {
  touch-action: pan-y !important;
  -webkit-tap-highlight-color: transparent;
}
.memory-detail-columns,
.memory-app.memory-detail-mode .memory-detail-columns {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}
.memory-column-pane,
.memory-app.memory-detail-mode .memory-column-pane {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.memory-column-pane:not(.active):not(.force-visible) {
  display: none !important;
}
.memory-column-pane.active,
.memory-column-pane.force-visible {
  display: flex !important;
}
.memory-app.memory-detail-mode .memory-universe-panel.memory-column-pane,
.memory-universe-panel.memory-column-pane {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.memory-app.memory-detail-mode .memory-universe-stage,
.memory-universe-stage {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: clamp(580px, 72dvh, 860px) !important;
  max-height: none !important;
  touch-action: pan-y !important;
  overflow: hidden !important;
}
.memory-list-backup.memory-column-pane,
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane,
.memory-list-backup.memory-column-pane .memory-module-list,
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane .memory-module-list,
.memory-list-backup.memory-column-pane .memory-entry-list,
.memory-app.memory-detail-mode .memory-list-backup.memory-column-pane .memory-entry-list {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: auto !important;
}
.memory-view-switch {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}
.memory-view-switch button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  touch-action: manipulation !important;
}
.memory-view-switch button:nth-child(1) { grid-column: 1 !important; }
.memory-view-switch button:nth-child(2) { grid-column: 2 !important; }
.memory-universe-stage.memory-fly-in .memory-space-gradient,
.memory-universe-stage.memory-fly-in .memory-orbit,
.memory-universe-stage.memory-fly-in .memory-starfield,
.memory-universe-stage.memory-fly-in .memory-universe-layer {
  animation: memoryUniverseFlyIn 1.55s cubic-bezier(.18,.78,.18,1) both;
  transform-origin: center center;
}
.memory-universe-stage.memory-fly-in .memory-star-card {
  animation: memoryStarWake .9s cubic-bezier(.18,.78,.18,1) both;
  animation-delay: calc(min(var(--card-index, 0), 18) * 18ms);
}
:root[data-ui-mode="dark"] .memory-app {
  background: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .memory-entry,
:root[data-ui-mode="dark"] .memory-card {
  background: var(--surface-strong) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
html[data-ui-mode="dark"] body.theme-apple .memory-app {
  background-color: var(--phone-bg, #16171c) !important;
  background-image: none !important;
  color: var(--skin-text, #e4e7ec) !important;
}
html.memory-detail-open,
html.memory-detail-open body {
  overscroll-behavior: none !important;
}
html.memory-detail-open .app-body:has(.memory-app) {
  overflow: hidden !important;
}
#memoryDetailPanel.memory-detail-backdrop {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  z-index: 2147482500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(16px, env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
  background: rgba(8, 10, 18, .76) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  perspective: none !important;
  contain: none !important;
  isolation: isolate !important;
  touch-action: manipulation !important;
}
#memoryDetailPanel .memory-detail-panel {
  position: relative !important;
  align-self: stretch !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: calc(100dvh - max(28px, env(safe-area-inset-top, 0px)) - max(32px, env(safe-area-inset-bottom, 0px))) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 14px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout style !important;
  background: #f7f8fb !important;
  background: var(--surface-strong, #f7f8fb) !important;
  color: var(--skin-text, #20242c) !important;
  box-shadow: 0 24px 74px rgba(0, 0, 0, .34) !important;
}
html[data-ui-mode="dark"] #memoryDetailPanel .memory-detail-panel {
  background: var(--surface-strong, #1b2029) !important;
}
#memoryDetailPanel .memory-detail-panel > header,
#memoryDetailPanel .memory-detail-controls,
#memoryDetailPanel .memory-entry-flags,
#memoryDetailPanel .memory-detail-actions {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}
#memoryDetailPanel .memory-detail-title,
#memoryDetailPanel .memory-detail-title span {
  min-width: 0 !important;
}
#memoryDetailPanel .memory-detail-panel textarea {
  flex: 1 1 190px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 150px !important;
  max-height: 56dvh !important;
  overflow: auto !important;
  resize: none !important;
  display: block !important;
  touch-action: pan-y !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#memoryDetailPanel .memory-detail-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, .8fr) !important;
}
html.memory-detail-open .memory-universe-stage,
html.memory-detail-open .memory-universe-layer,
html.memory-detail-open .memory-star-card {
  pointer-events: none !important;
  will-change: auto !important;
}
@media (min-width: 760px) and (pointer: fine) {
  #memoryDetailPanel .memory-detail-panel {
    align-self: center !important;
    flex: 0 1 auto !important;
    width: min(560px, calc(100vw - 40px)) !important;
    max-width: 560px !important;
  } }
@media (max-height: 620px) {
  #memoryDetailPanel.memory-detail-backdrop {
    align-items: stretch !important;
  }
  #memoryDetailPanel .memory-detail-panel {
    max-height: none !important;
  }
  #memoryDetailPanel .memory-detail-panel textarea {
    min-height: 110px !important;
  } }
html.ios-pwa-standalone.keyboard-open body.keyboard-open #memoryDetailPanel.memory-detail-backdrop.moss-keyboard-surface-active {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open #memoryDetailPanel.moss-keyboard-surface-active .memory-detail-panel {
  min-height: 0 !important;
  max-height: 100% !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open #memoryDetailPanel.moss-keyboard-surface-active .memory-detail-panel textarea {
  min-height: 96px !important;
  max-height: none !important;
}
#appScreen .memory-toolbar {
  grid-template-columns: auto minmax(0, 1fr) !important;
}
#appScreen .memory-toolbar .memory-search-fields {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px auto;
  align-items: center;
  gap: 8px;
}
#appScreen .memory-toolbar .memory-search-fields .memory-search-input {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
}
#appScreen .memory-date-search {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 44px;
  width: 44px;
  height: 42px;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 86%, transparent);
  border-radius: 999px;
  color: var(--skin-muted, #69707b);
  background: color-mix(in srgb, var(--surface, #fff) 84%, transparent);
}
#appScreen .memory-date-search .moss-ui-icon {
  width: 18px;
  height: 18px;
}
#appScreen .memory-toolbar .memory-date-search input[type="date"] {
  min-width: 0 !important;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 40px !important;
  padding: 0 !important;
  opacity: 0;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--skin-text, #20242c) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  color-scheme: light dark;
}
#appScreen .memory-date-clear {
  grid-column: 3;
  grid-row: 1;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #8ea7ff) 26%, var(--skin-border, rgba(0,0,0,.12)));
  border-radius: 999px;
  color: var(--skin-title, var(--skin-text, #20242c));
  background: color-mix(in srgb, var(--skin-accent, #8ea7ff) 10%, var(--surface-strong, #fff));
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
#appScreen .memory-view-switch,
#appScreen .memory-universe-panel {
  display: none !important;
}
#appScreen .memory-detail-columns.memory-list-only {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100%;
}
#appScreen .memory-detail-columns.memory-list-only .memory-list-backup.memory-column-pane {
  display: flex !important;
  width: 100%;
}
@media (max-width: 620px) {
  #appScreen .memory-toolbar {
    align-items: start !important;
  }
  #appScreen .memory-toolbar .memory-search-fields {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  #appScreen .memory-toolbar .memory-search-fields .memory-search-input {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  #appScreen .memory-date-search {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
  }
  #appScreen .memory-date-clear {
    grid-column: 2;
    grid-row: 2;
  } }

/*# source: assets/css/features/monitor.css */
/*
 * monitor feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.monitor-gradient {
  background: linear-gradient(145deg, #26302b, #62766b 54%, #b7c4bb);
  color: #fff;
}
#appScreen.monitor-screen-active,
#appScreen:has(> .app-body.monitor-app-active) {
  --monitor-ink: #18201c;
  --monitor-subtle: #69736d;
  --monitor-moss: #5f7467;
  --monitor-moss-deep: #34443b;
  --monitor-line: rgba(45, 61, 52, .13);
  --monitor-paper: #f4f5f2;
  --monitor-card: rgba(255, 255, 255, .88);
  --monitor-dark: #141a17;
  --monitor-dark-2: #202a24;
  --monitor-amber: #ae7d52;
  overflow: hidden;
}
#appScreen .app-body.monitor-app-active {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-x: none;
  background: var(--monitor-paper);
  color: var(--monitor-ink);
}
.monitor-app,
.monitor-app * { box-sizing: border-box; }
.monitor-app {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  padding-bottom: max(30px, calc(18px + env(safe-area-inset-bottom)));
  background:
    radial-gradient(circle at 90% 4%, rgba(95,116,103,.09), transparent 26%),
    linear-gradient(180deg, #f7f8f5 0%, #f1f3ef 100%);
  color: var(--monitor-ink);
  font-family: var(--app-font, -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", sans-serif);
}
.monitor-local-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid var(--monitor-line);
}
.monitor-local-head > div { display: grid; gap: 3px; min-width: 0; }
.monitor-local-head small,
.monitor-section-heading small,
.monitor-overview-card small,
.monitor-access-hero > small,
.monitor-settings-group > small,
.monitor-detail-head small,
.monitor-detail-lead + small {
  color: var(--monitor-subtle);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}
.monitor-local-head strong { font-size: 21px; line-height: 1; letter-spacing: -.03em; }
.monitor-char-picker {
  display: grid;
  gap: 3px;
  max-width: 48%;
  text-align: right;
}
.monitor-char-picker > span { color: var(--monitor-subtle); font-size: 10px; }
.monitor-char-picker select,
.monitor-filter-row select,
.monitor-settings-group select {
  min-width: 0;
  height: 30px;
  padding: 0 25px 0 10px;
  border: 1px solid var(--monitor-line);
  border-radius: 10px;
  background: rgba(255,255,255,.76);
  color: var(--monitor-ink);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}
.monitor-tabs {
  position: sticky;
  top: 0;
  z-index: 15;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  padding: 0 18px;
  background: rgba(247,248,245,.92);
  border-bottom: 1px solid var(--monitor-line);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.monitor-tabs button {
  position: relative;
  height: 42px;
  border: 0;
  background: none;
  color: #7d8681;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}
.monitor-tabs button.active { color: var(--monitor-ink); }
.monitor-tabs button.active::after {
  content: "";
  position: absolute;
  left: 30%; right: 30%; bottom: -1px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--monitor-moss);
}
.monitor-view { width: 100%; min-width: 0; }
.monitor-star-map {
  position: relative;
  margin: 14px 14px 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 25px;
  background: #161d19;
  box-shadow: 0 16px 40px rgba(25,36,30,.15);
  color: #f6f8f5;
}
.monitor-star-map::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 28%, rgba(127,157,139,.2), transparent 24%),
    radial-gradient(circle at 26% 72%, rgba(81,111,93,.18), transparent 27%),
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
  background-size: auto, auto, 28px 28px, 28px 28px;
  pointer-events: none;
}
.monitor-star-field { position: relative; height: 210px; }
.monitor-star-field > i {
  position: absolute;
  left: var(--star-x); top: var(--star-y);
  width: var(--star-size); height: var(--star-size);
  border-radius: 50%;
  background: #eff7f1;
  opacity: var(--star-opacity);
  box-shadow: 0 0 6px rgba(229,245,234,.55);
}
.monitor-log-star {
  position: absolute;
  left: var(--star-x); top: var(--star-y);
  width: max(25px, var(--log-size));
  height: max(25px, var(--log-size));
  margin: -12px 0 0 -12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.monitor-log-star > span {
  position: absolute;
  left: 50%; top: 50%;
  width: var(--log-size); height: var(--log-size);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: #dcebe1;
  box-shadow: 0 0 10px rgba(195,225,205,.8), 0 0 24px rgba(91,129,104,.38);
}
.monitor-log-star.selected > span { background: #fff; box-shadow: 0 0 0 5px rgba(210,235,219,.13), 0 0 18px #b9d3c2, 0 0 38px rgba(117,158,132,.65); }
.monitor-log-star.newest > span { animation: monitor-star-breathe 2.8s ease-in-out infinite; }
@keyframes monitor-star-breathe { 50% { transform: translate(-50%, -50%) scale(1.25); opacity: .78; } }
.monitor-star-caption {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px 14px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.monitor-star-caption span { font-size: 12px; font-weight: 800; }
.monitor-star-caption small { overflow: hidden; color: rgba(240,246,242,.56); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-dashboard-section { padding: 20px 14px 10px; }
.monitor-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 2px 13px; }
.monitor-section-heading h1 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.04em; }
.monitor-return-pill {
  height: 30px;
  padding: 0 11px;
  border: 1px solid var(--monitor-line);
  border-radius: 99px;
  background: rgba(255,255,255,.72);
  color: var(--monitor-subtle);
  font: inherit;
  font-size: 10px;
  font-weight: 800;
}
.monitor-return-pill.on { background: #e5eee8; color: var(--monitor-moss-deep); border-color: rgba(72,102,84,.18); }
.monitor-overview-card {
  padding: 17px;
  border: 1px solid var(--monitor-line);
  border-radius: 20px;
  background: var(--monitor-card);
  box-shadow: 0 8px 26px rgba(39,52,44,.045);
}
.monitor-overview-card.empty { border-style: dashed; background: rgba(255,255,255,.54); }
.monitor-overview-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.monitor-overview-top span { padding: 4px 8px; border-radius: 99px; background: #e9eeea; color: var(--monitor-moss-deep); font-size: 10px; font-weight: 800; }
.monitor-overview-card h2 { margin: 13px 0 8px; font-size: 21px; line-height: 1.3; letter-spacing: -.04em; }
.monitor-overview-card p { margin: 0; color: var(--monitor-subtle); font-size: 12px; line-height: 1.6; }
.monitor-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.monitor-tags i { padding: 4px 8px; border-radius: 8px; background: #eff2ef; color: #647069; font-size: 9px; font-style: normal; font-weight: 700; }
.monitor-inline-meters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 1px; }
.monitor-inline-meters > :only-child { grid-column: 1 / -1; }
.monitor-meter { min-width: 0; }
.monitor-meter > div { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 5px; color: var(--monitor-subtle); font-size: 10px; }
.monitor-meter b { color: var(--monitor-ink); font-size: 12px; }
.monitor-meter > i { display: block; height: 4px; overflow: hidden; border-radius: 99px; background: rgba(64,83,72,.1); }
.monitor-meter > i > em { display: block; height: 100%; border-radius: inherit; background: var(--monitor-moss); }
.monitor-meter.amber > i > em { background: var(--monitor-amber); }
.monitor-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.monitor-channel-card {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 75px;
  padding: 10px;
  border: 1px solid var(--monitor-line);
  border-radius: 17px;
  background: rgba(255,255,255,.8);
  color: var(--monitor-ink);
  text-align: left;
  box-shadow: 0 5px 18px rgba(38,50,43,.035);
}
.monitor-channel-card:disabled { opacity: .64; }
.monitor-channel-card.locked { background: rgba(238,240,237,.72); color: #7a837e; }
.monitor-channel-index {
  display: grid;
  place-items: center;
  width: 32px; height: 32px;
  border-radius: 11px;
  background: #e8eee9;
  color: var(--monitor-moss-deep);
  font-size: 11px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.monitor-channel-card.locked .monitor-channel-index { background: #e5e7e4; color: #969c98; }
.monitor-channel-copy { display: grid; gap: 4px; min-width: 0; }
.monitor-channel-copy b { font-size: 13px; }
.monitor-channel-copy small { display: -webkit-box; overflow: hidden; color: var(--monitor-subtle); font-size: 9px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.monitor-channel-card > i { color: #a1aaa5; font-size: 18px; font-style: normal; }
.monitor-draft-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(174,125,82,.19);
  border-radius: 16px;
  background: #f7f0e9;
}
.monitor-draft-card > div { display: grid; gap: 2px; min-width: 0; }
.monitor-draft-card small { color: #9a7657; font-size: 9px; font-weight: 800; }
.monitor-draft-card b { font-size: 12px; }
.monitor-draft-card span { overflow: hidden; color: #806f61; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-draft-card button { flex: 0 0 auto; height: 30px; padding: 0 13px; border: 0; border-radius: 99px; background: #9c7656; color: #fff; font: inherit; font-size: 10px; font-weight: 800; }
.monitor-error { margin: 10px 2px 0; color: #a05e56; font-size: 11px; line-height: 1.5; }
.monitor-peek-button {
  display: grid;
  gap: 2px;
  width: 100%;
  margin-top: 14px;
  padding: 13px 16px;
  border: 0;
  border-radius: 17px;
  background: var(--monitor-moss-deep);
  color: #fff;
  box-shadow: 0 11px 25px rgba(48,67,56,.17);
  font: inherit;
}
.monitor-peek-button:disabled { opacity: .62; }
.monitor-peek-button span { font-size: 14px; font-weight: 850; }
.monitor-peek-button small { color: rgba(255,255,255,.58); font-size: 9px; }
.monitor-generation-overlay {
  position: fixed;
  inset: 0;
  z-index: 6000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 28px;
  background: rgba(18,25,21,.94);
  color: #eff5f1;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.monitor-radar { position: relative; width: 128px; height: 128px; border: 1px solid rgba(209,232,217,.22); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 20px, rgba(203,228,211,.08) 21px 22px); overflow: hidden; }
.monitor-radar::before, .monitor-radar::after { content: ""; position: absolute; background: rgba(219,238,225,.13); }
.monitor-radar::before { left: 50%; top: 0; width: 1px; height: 100%; }
.monitor-radar::after { left: 0; top: 50%; width: 100%; height: 1px; }
.monitor-radar i { position: absolute; left: 50%; top: 50%; width: 50%; height: 50%; transform-origin: left top; background: conic-gradient(from -20deg, rgba(113,154,126,.65), transparent 34%); animation: monitor-radar-scan 2.2s linear infinite; }
.monitor-radar span { position: absolute; left: 62%; top: 37%; width: 6px; height: 6px; border-radius: 50%; background: #dff1e4; box-shadow: 0 0 12px #a8d0b4; }
@keyframes monitor-radar-scan { to { transform: rotate(360deg); } }
.monitor-generation-overlay > strong { font-size: 16px; }
.monitor-generation-overlay > small { color: rgba(233,243,236,.5); font-size: 10px; }
.monitor-generation-steps { display: grid; gap: 9px; width: min(270px, 100%); }
.monitor-generation-steps span { display: flex; align-items: center; gap: 10px; color: rgba(235,244,238,.35); font-size: 11px; }
.monitor-generation-steps span i { width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.monitor-generation-steps span.active { color: #e6f2e9; }
.monitor-generation-steps span.active i { background: #a9cbb4; box-shadow: 0 0 9px rgba(169,203,180,.8); }
.monitor-generation-steps span.done { color: rgba(203,226,211,.7); }
.monitor-generation-steps span.done i { background: #718f7b; border-color: #718f7b; }
.monitor-list-page,
.monitor-access-page,
.monitor-settings-page { padding: 16px 14px 12px; }
.monitor-filter-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin-bottom: 18px; }
.monitor-filter-row label { display: grid; gap: 5px; }
.monitor-filter-row label > span { color: var(--monitor-subtle); font-size: 9px; font-weight: 800; }
.monitor-filter-row select { width: 100%; height: 36px; }
.monitor-date-group { margin-bottom: 19px; }
.monitor-date-group h2 { margin: 0 2px 9px; color: var(--monitor-subtle); font-size: 10px; letter-spacing: .06em; }
.monitor-log-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  padding: 13px;
  border: 1px solid var(--monitor-line);
  border-radius: 16px;
  background: var(--monitor-card);
}
.monitor-log-row > div { display: grid; gap: 4px; min-width: 0; flex: 1; }
.monitor-log-row small { color: var(--monitor-subtle); font-size: 9px; }
.monitor-log-row b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-log-row span { color: #7b837e; font-size: 9px; }
.monitor-log-row > button { flex: 0 0 auto; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #eef0ed; color: #969d98; font-size: 17px; }
.monitor-empty-state { display: grid; justify-items: center; gap: 8px; padding: 54px 24px; color: var(--monitor-subtle); text-align: center; }
.monitor-empty-state strong { color: var(--monitor-ink); font-size: 16px; }
.monitor-empty-state p { margin: 0; font-size: 11px; line-height: 1.65; }
.monitor-empty-state button { margin-top: 8px; padding: 9px 15px; border: 0; border-radius: 99px; background: var(--monitor-moss-deep); color: #fff; font: inherit; font-size: 11px; font-weight: 800; }
.monitor-access-hero { padding: 20px; border-radius: 22px; background: var(--monitor-dark); color: #f2f5f3; }
.monitor-access-hero h1 { margin: 7px 0 19px; font-size: 22px; letter-spacing: -.04em; }
.monitor-access-hero .monitor-meter { margin-top: 11px; }
.monitor-access-hero .monitor-meter > div { color: rgba(242,247,244,.55); }
.monitor-access-hero .monitor-meter b { color: #fff; }
.monitor-access-hero .monitor-meter > i { background: rgba(255,255,255,.1); }
.monitor-access-hero p { margin: 9px 0 0; color: rgba(242,247,244,.48); font-size: 9px; }
.monitor-access-bands { display: grid; gap: 8px; margin-top: 13px; }
.monitor-access-bands article { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--monitor-line); border-radius: 15px; background: rgba(255,255,255,.62); color: #87908b; }
.monitor-access-bands article.active { background: rgba(255,255,255,.9); color: var(--monitor-ink); }
.monitor-access-bands article > span { font-size: 11px; font-weight: 900; font-variant-numeric: tabular-nums; }
.monitor-access-bands article div { min-width: 0; }
.monitor-access-bands b { font-size: 12px; }
.monitor-access-bands p { margin: 3px 0 0; color: var(--monitor-subtle); font-size: 9px; line-height: 1.4; }
.monitor-access-bands i { color: #9da49f; font-size: 8px; font-style: normal; font-weight: 800; }
.monitor-access-bands .active i { color: var(--monitor-moss); }
.monitor-rule-note { margin-top: 13px; padding: 15px; border: 1px solid var(--monitor-line); border-radius: 16px; background: #ecefea; }
.monitor-rule-note b { font-size: 12px; }
.monitor-rule-note p { margin: 7px 0 0; color: var(--monitor-subtle); font-size: 10px; line-height: 1.65; }
.monitor-settings-page { display: grid; gap: 12px; }
.monitor-settings-group { overflow: hidden; border: 1px solid var(--monitor-line); border-radius: 18px; background: var(--monitor-card); }
.monitor-settings-group > small { display: block; padding: 12px 14px 6px; }
.monitor-settings-group > label { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 13px 14px; border-top: 1px solid var(--monitor-line); }
.monitor-settings-group > label > span { display: grid; gap: 3px; min-width: 0; }
.monitor-settings-group label b { font-size: 12px; }
.monitor-settings-group label em { color: var(--monitor-subtle); font-size: 9px; font-style: normal; line-height: 1.4; }
.monitor-settings-group input[type="checkbox"] { width: 42px; height: 24px; accent-color: var(--monitor-moss); }
.monitor-settings-summary { padding: 10px 14px 14px; border-top: 1px solid var(--monitor-line); }
.monitor-settings-summary b { font-size: 12px; }
.monitor-settings-summary p { margin: 5px 0 10px; color: var(--monitor-subtle); font-size: 9px; line-height: 1.5; }
.monitor-settings-summary button { padding: 7px 10px; border: 1px solid var(--monitor-line); border-radius: 9px; background: #edf0ec; color: var(--monitor-moss-deep); font: inherit; font-size: 9px; font-weight: 800; }
.monitor-settings-danger { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid rgba(166,84,76,.14); border-radius: 18px; background: #f8f0ef; }
.monitor-settings-danger > div { display: grid; gap: 4px; }
.monitor-settings-danger b { color: #884f4a; font-size: 12px; }
.monitor-settings-danger p { margin: 0; color: #927873; font-size: 9px; line-height: 1.45; }
.monitor-settings-danger button { padding: 7px 11px; border: 0; border-radius: 9px; background: #a76059; color: #fff; font: inherit; font-size: 9px; font-weight: 800; }
.monitor-detail-page { min-height: 620px; padding: 14px; }
.monitor-detail-head { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.monitor-detail-head > button { flex: 0 0 auto; width: 35px; height: 35px; border: 1px solid var(--monitor-line); border-radius: 12px; background: rgba(255,255,255,.76); color: var(--monitor-ink); font-size: 25px; line-height: 1; }
.monitor-detail-head > div { min-width: 0; }
.monitor-detail-head h1 { margin: 2px 0; font-size: 23px; line-height: 1; letter-spacing: -.04em; }
.monitor-detail-head p { margin: 0; color: var(--monitor-subtle); font-size: 9px; }
.monitor-signal-locked { display: grid; justify-items: center; gap: 9px; padding: 66px 26px; border: 1px dashed rgba(70,88,78,.2); border-radius: 22px; background: rgba(255,255,255,.5); text-align: center; }
.monitor-signal-locked > i { width: 62px; height: 62px; border-radius: 50%; background: repeating-linear-gradient(0deg, #d8ddd9 0 2px, transparent 2px 5px); opacity: .55; }
.monitor-signal-locked small { color: var(--monitor-subtle); font-size: 9px; letter-spacing: .12em; }
.monitor-signal-locked h2 { margin: 0; font-size: 18px; }
.monitor-signal-locked p { max-width: 300px; margin: 0; color: var(--monitor-subtle); font-size: 10px; line-height: 1.65; }
.monitor-detail-rows { display: grid; gap: 8px; margin-top: 11px; }
.monitor-detail-rows article { padding: 12px 13px; border: 1px solid var(--monitor-line); border-radius: 14px; background: var(--monitor-card); }
.monitor-detail-rows span { display: block; margin-bottom: 5px; color: var(--monitor-subtle); font-size: 9px; font-weight: 800; }
.monitor-detail-rows p { margin: 0; color: var(--monitor-ink); font-size: 11px; line-height: 1.6; white-space: pre-wrap; }
.monitor-detail-lead { margin: 0 0 11px; color: var(--monitor-subtle); font-size: 10px; line-height: 1.6; }
.monitor-home-map { position: relative; min-height: 250px; overflow: hidden; border-radius: 22px; background: var(--monitor-dark); color: #f3f7f4; }
.monitor-home-map::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 24px 24px; }
.monitor-home-map-title { position: absolute; left: 16px; top: 15px; z-index: 1; display: grid; gap: 3px; }
.monitor-home-map-title small { color: rgba(240,247,242,.48); font-size: 9px; }
.monitor-home-map-title b { font-size: 13px; }
.monitor-room-core { position: absolute; left: 50%; top: 52%; display: grid; place-items: center; gap: 4px; min-width: 120px; min-height: 74px; padding: 12px; border: 1px solid rgba(210,231,217,.22); border-radius: 18px; transform: translate(-50%,-50%); background: rgba(101,126,110,.15); }
.monitor-room-core.occupied { border-color: rgba(187,214,195,.5); box-shadow: 0 0 0 7px rgba(109,147,121,.08), 0 0 35px rgba(93,137,108,.22); }
.monitor-room-core span { font-size: 14px; font-weight: 850; }
.monitor-room-core small { color: #aac9b4; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.monitor-room-arrow { position: absolute; left: 50%; bottom: 18px; z-index: 2; width: 34px; height: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 99px; transform: translateX(-50%); background: rgba(255,255,255,.05); color: #dce8df; }
.monitor-room-nav { position: absolute; left: 12px; right: 12px; bottom: 52px; z-index: 3; display: flex; gap: 6px; overflow-x: auto; padding: 8px; border-radius: 14px; background: rgba(22,30,25,.94); box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.monitor-room-nav button { flex: 0 0 auto; padding: 7px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: transparent; color: rgba(240,246,242,.65); font: inherit; font-size: 9px; }
.monitor-room-nav button.active { background: #6f8978; color: #fff; }
.monitor-expand-list, .monitor-evidence-list { margin-top: 14px; }
.monitor-expand-list > h2, .monitor-evidence-list > h2 { margin: 0 2px 8px; font-size: 12px; }
.monitor-expand-list article, .monitor-screen-modules article, .monitor-evidence-list > article { overflow: hidden; margin-bottom: 7px; border: 1px solid var(--monitor-line); border-radius: 14px; background: var(--monitor-card); }
.monitor-expand-list article > button, .monitor-screen-modules article > button, .monitor-evidence-list article > button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 47px; padding: 10px 12px; border: 0; background: transparent; color: var(--monitor-ink); font: inherit; text-align: left; }
.monitor-expand-list article > button span { font-size: 11px; font-weight: 800; }
.monitor-expand-list article > div, .monitor-module-content, .monitor-evidence-list article > div { padding: 0 12px 12px; color: var(--monitor-subtle); font-size: 10px; line-height: 1.6; }
.monitor-expand-list p, .monitor-module-content p { margin: 0 0 5px; }
.monitor-body-stage { display: grid; justify-items: center; gap: 13px; padding: 23px 10px 15px; border-radius: 22px; background: linear-gradient(180deg,#19211c,#222e27); }
.monitor-silhouette { position: relative; width: 132px; height: 245px; border: 0; background: transparent; color: #e5eee8; }
.monitor-silhouette > i { position: absolute; left: 50%; top: 11px; width: 55px; height: 55px; border-radius: 50%; transform: translateX(-50%); background: rgba(185,211,193,.35); box-shadow: 0 59px 0 13px rgba(185,211,193,.29), 0 129px 0 -4px rgba(185,211,193,.25); filter: blur(.4px); }
.monitor-silhouette > i::before, .monitor-silhouette > i::after { content: ""; position: absolute; top: 70px; width: 23px; height: 132px; border-radius: 99px; background: rgba(185,211,193,.22); }
.monitor-silhouette > i::before { right: 47px; transform: rotate(7deg); }
.monitor-silhouette > i::after { left: 47px; transform: rotate(-7deg); }
.monitor-silhouette.layer-1 > i { background: rgba(208,195,170,.34); filter: blur(1px); }
.monitor-silhouette.layer-2 > i { background: rgba(198,167,161,.32); filter: blur(1.4px); }
.monitor-silhouette span { position: absolute; left: 0; right: 0; bottom: 0; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.monitor-layer-switch { display: flex; gap: 6px; }
.monitor-layer-switch button { padding: 6px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 99px; background: transparent; color: rgba(239,246,241,.46); font: inherit; font-size: 9px; font-weight: 800; }
.monitor-layer-switch button.active { background: #dbe8df; color: #25362c; }
.monitor-layer-switch button.locked:not(.active) { opacity: .42; }
.monitor-body-copy { margin-top: 10px; padding: 14px; border-radius: 16px; background: var(--monitor-card); }
.monitor-body-copy h2 { margin: 0; font-size: 14px; }
.monitor-body-copy p { margin: 7px 0 0; color: var(--monitor-subtle); font-size: 10px; line-height: 1.6; }
.monitor-body-copy.locked { background: #eceeeb; }
.monitor-coordinate-hero { padding: 18px; border-radius: 20px; background: #dfe8e1; }
.monitor-coordinate-hero small { color: var(--monitor-moss); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.monitor-coordinate-hero h2 { margin: 7px 0; font-size: 20px; }
.monitor-coordinate-hero p { margin: 0; color: var(--monitor-subtle); font-size: 10px; line-height: 1.55; }
.monitor-route-line { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; margin: 14px 0; padding: 14px 6px; border: 1px solid var(--monitor-line); border-radius: 16px; background: var(--monitor-card); }
.monitor-route-line::before { content: ""; position: absolute; left: 12%; right: 12%; top: 25px; height: 1px; background: #c9d2cc; }
.monitor-route-line article { position: relative; z-index: 1; min-width: 0; text-align: center; }
.monitor-route-line i { display: block; width: 9px; height: 9px; margin: 0 auto 8px; border: 2px solid #f5f6f3; border-radius: 50%; background: #8b9b91; box-shadow: 0 0 0 1px #8b9b91; }
.monitor-route-line .current i { background: var(--monitor-moss-deep); box-shadow: 0 0 0 1px var(--monitor-moss-deep),0 0 0 5px rgba(95,116,103,.1); }
.monitor-route-line span { display: block; color: var(--monitor-subtle); font-size: 7px; }
.monitor-route-line b { display: block; overflow: hidden; margin-top: 3px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-route-line p { display: -webkit-box; overflow: hidden; margin: 3px 2px 0; color: var(--monitor-subtle); font-size: 7px; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.monitor-brain-map { position: relative; height: 330px; overflow: hidden; border-radius: 23px; background: radial-gradient(circle at 50% 47%, #34463a 0, #1b251f 38%, #121814 72%); }
.monitor-brain-map::before { content: ""; position: absolute; inset: 27px; border: 1px solid rgba(194,220,201,.08); border-radius: 50%; box-shadow: inset 0 0 45px rgba(115,158,126,.08); }
.monitor-brain-orbit button { position: absolute; width: 72px; min-height: 40px; padding: 6px; border: 1px solid rgba(215,233,220,.14); border-radius: 12px; background: rgba(218,236,222,.05); color: rgba(237,245,239,.58); font: inherit; font-size: 9px; }
.monitor-brain-orbit button.active { border-color: rgba(203,229,211,.52); background: rgba(122,161,134,.2); color: #fff; box-shadow: 0 0 22px rgba(113,158,126,.24); }
.monitor-brain-orbit .region-0 { left: 50%; top: 30px; transform: translateX(-50%); }
.monitor-brain-orbit .region-1 { right: 28px; top: 103px; }
.monitor-brain-orbit .region-2 { right: 47px; bottom: 42px; }
.monitor-brain-orbit .region-3 { left: 47px; bottom: 42px; }
.monitor-brain-orbit .region-4 { left: 28px; top: 103px; }
.monitor-brain-core { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; gap: 6px; width: 130px; min-height: 94px; padding: 14px; border: 1px solid rgba(214,233,219,.14); border-radius: 50%; transform: translate(-50%,-46%); background: rgba(8,12,9,.26); text-align: center; }
.monitor-brain-core small { color: rgba(232,243,235,.46); font-size: 8px; }
.monitor-brain-core b { color: #eef6f0; font-size: 11px; line-height: 1.45; }
.monitor-focus-card { margin-top: 10px; padding: 15px; border: 1px solid var(--monitor-line); border-radius: 17px; background: var(--monitor-card); }
.monitor-focus-card small { color: var(--monitor-moss); font-size: 9px; font-weight: 900; }
.monitor-focus-card h2 { margin: 7px 0 12px; font-size: 14px; line-height: 1.55; }
.monitor-focus-card > i { display: block; width: var(--strength); height: 3px; border-radius: 99px; background: var(--monitor-moss); }
.monitor-viscera-list { display: grid; gap: 7px; }
.monitor-viscera-list > button { display: grid; grid-template-columns: minmax(0,1fr) 70px; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid var(--monitor-line); border-radius: 14px; background: var(--monitor-card); color: var(--monitor-ink); font: inherit; text-align: left; }
.monitor-viscera-list > button.active { border-color: rgba(76,105,87,.3); background: #e8eee9; }
.monitor-viscera-list span { display: grid; gap: 3px; min-width: 0; }
.monitor-viscera-list b { font-size: 12px; }
.monitor-viscera-list small { overflow: hidden; color: var(--monitor-subtle); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-viscera-list > button > i { position: relative; height: 3px; border-radius: 99px; background: #e2e6e3; }
.monitor-viscera-list > button > i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--intensity); border-radius: inherit; background: var(--monitor-moss); }
.monitor-viscera-list > button > p { grid-column: 1 / -1; margin: 0; padding-top: 9px; border-top: 1px solid var(--monitor-line); color: #4f5c54; font-size: 11px; line-height: 1.65; }
.monitor-desire-core { position: relative; display: grid; place-items: center; min-height: 310px; overflow: hidden; border-radius: 24px; background: #171d19; color: #f2f5f3; text-align: center; }
.monitor-desire-core > i { position: absolute; width: calc(110px + var(--desire)); height: calc(110px + var(--desire)); border: 1px solid rgba(188,216,196,.12); border-radius: 50%; animation: monitor-desire-pulse 4s ease-in-out infinite; }
.monitor-desire-core > i:nth-child(2) { width: calc(48px + var(--desire)); height: calc(48px + var(--desire)); animation-delay: -2s; }
@keyframes monitor-desire-pulse { 50% { transform: scale(.84); opacity: .45; } }
.monitor-desire-core > div { position: relative; z-index: 1; max-width: 220px; padding: 20px; }
.monitor-desire-core small { color: rgba(239,246,241,.48); font-size: 9px; letter-spacing: .08em; }
.monitor-desire-core h2 { margin: 8px 0; font-size: 23px; line-height: 1.2; }
.monitor-desire-core p { margin: 0; color: #b9cabe; font-size: 10px; }
.monitor-wave-list { display: grid; gap: 9px; }
.monitor-wave-list article { padding: 13px; border: 1px solid var(--monitor-line); border-radius: 16px; background: var(--monitor-card); }
.monitor-wave-list article > div:first-child { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; font-weight: 850; }
.monitor-wave-list article > div b { color: var(--monitor-moss); }
.monitor-wave-list p { margin: 6px 0 10px; color: var(--monitor-subtle); font-size: 10px; line-height: 1.5; }
.monitor-wave { display: flex !important; align-items: center; gap: 3px; height: 42px; overflow: hidden; }
.monitor-wave i { flex: 1 1 0; min-width: 2px; max-width: 5px; border-radius: 99px; background: linear-gradient(180deg,#7f9988,#b8c9bd); transform-origin: center; animation: monitor-wave-shiver 1.7s ease-in-out infinite alternate; }
.monitor-wave i:nth-child(3n) { animation-delay: -.7s; }
.monitor-wave i:nth-child(4n) { animation-delay: -1.1s; }
@keyframes monitor-wave-shiver { to { transform: scaleY(.55); opacity: .62; } }
.monitor-vital-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.monitor-vital-grid article { padding: 14px; border: 1px solid var(--monitor-line); border-radius: 17px; background: var(--monitor-card); }
.monitor-vital-grid span { color: var(--monitor-subtle); font-size: 9px; font-weight: 800; }
.monitor-vital-grid b { display: block; margin: 8px 0 10px; font-size: 23px; letter-spacing: -.04em; }
.monitor-vital-grid b small { margin-left: 3px; color: var(--monitor-subtle); font-size: 8px; font-weight: 700; }
.monitor-vital-grid > article > i { display: block; height: 3px; overflow: hidden; border-radius: 99px; background: #e6eae7; }
.monitor-vital-grid em { display: block; height: 100%; border-radius: inherit; background: var(--monitor-moss); }
.monitor-narrative-disclaimer { margin: 12px 2px 0; color: var(--monitor-subtle); font-size: 8px; text-align: center; }
.monitor-device-strip { display: flex; align-items: center; gap: 8px; padding: 14px; border-radius: 17px; background: var(--monitor-dark); color: #f1f5f2; }
.monitor-device-strip small { color: rgba(240,246,242,.46); font-size: 8px; }
.monitor-device-strip b { flex: 1; font-size: 12px; }
.monitor-device-strip span { color: #a9bdb0; font-size: 9px; }
.monitor-screen-modules { display: grid; gap: 8px; margin-top: 10px; }
.monitor-screen-modules article > button > span, .monitor-evidence-list article > button > span { display: grid; gap: 2px; min-width: 0; }
.monitor-screen-modules small, .monitor-evidence-list small { color: var(--monitor-subtle); font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.monitor-screen-modules b, .monitor-evidence-list b { font-size: 11px; }
.monitor-screen-modules em, .monitor-evidence-list em { overflow: hidden; color: #7f8882; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.monitor-screen-modules article.locked { background: #e9ebe8; }
.monitor-breach { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px 12px; border-top: 1px solid var(--monitor-line); }
.monitor-breach span { color: var(--monitor-subtle); font-size: 8px; }
.monitor-breach button { flex: 0 0 auto; padding: 6px 9px; border: 0; border-radius: 8px; background: var(--monitor-moss-deep); color: #fff; font: inherit; font-size: 8px; font-weight: 800; }
.monitor-trace-summary { padding: 17px; border-radius: 19px; background: #e5ebe6; }
.monitor-trace-summary small { color: var(--monitor-moss); font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.monitor-trace-summary h2 { margin: 7px 0 0; font-size: 17px; line-height: 1.45; }
.monitor-trace-timeline { position: relative; display: grid; gap: 0; margin: 12px 0; padding-left: 18px; }
.monitor-trace-timeline::before { content: ""; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 1px; background: #bcc8c0; }
.monitor-trace-timeline article { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 8px; padding: 8px 0; }
.monitor-trace-timeline article::before { content: ""; position: absolute; left: -17px; top: 12px; width: 7px; height: 7px; border: 2px solid #f3f5f2; border-radius: 50%; background: var(--monitor-moss); }
.monitor-trace-timeline time { color: var(--monitor-subtle); font-size: 8px; }
.monitor-trace-timeline p { margin: 0; font-size: 10px; line-height: 1.5; }
.monitor-evidence-list .monitor-detail-rows { margin: 0; gap: 6px; }
.monitor-evidence-list .monitor-detail-rows article { padding: 9px 10px; background: #f3f5f2; }
.monitor-dream-detail.no-signal { position: relative; display: grid; justify-items: center; gap: 8px; overflow: hidden; min-height: 430px; padding: 95px 28px; border-radius: 23px; background: #1b201d; color: #edf2ee; text-align: center; }
.monitor-static-field { width: 112px; height: 72px; margin-bottom: 10px; opacity: .38; background: repeating-linear-gradient(0deg,rgba(225,234,227,.55) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg,rgba(225,234,227,.25) 0 2px, transparent 2px 7px); filter: blur(.4px); animation: monitor-static 1.2s steps(2) infinite; }
@keyframes monitor-static { 50% { transform: translate(4px,-2px); opacity: .24; } }
.monitor-dream-detail.no-signal small { color: rgba(235,243,237,.42); font-size: 9px; letter-spacing: .14em; }
.monitor-dream-detail.no-signal h2 { margin: 0; font-size: 21px; }
.monitor-dream-detail.no-signal p { max-width: 260px; margin: 0; color: rgba(235,243,237,.54); font-size: 10px; line-height: 1.65; }
.monitor-dream-detail.signal { padding: 18px; overflow: hidden; border-radius: 23px; background: linear-gradient(180deg,#20251f,#303b32); color: #f1f4f1; }
.monitor-dream-halo { position: relative; display: grid; place-items: center; width: 150px; height: 150px; margin: 8px auto 24px; border: 1px solid rgba(217,233,220,.12); border-radius: 50%; box-shadow: 0 0 50px rgba(125,157,133,.12); }
.monitor-dream-halo i { position: absolute; inset: 25px; border: 1px solid rgba(217,233,220,.18); border-radius: 50%; animation: monitor-desire-pulse 4.6s ease-in-out infinite; }
.monitor-dream-halo span { color: #c8dacd; font-size: 10px; font-weight: 800; }
.monitor-dream-detail.signal article > small { color: rgba(235,243,237,.44); font-size: 8px; letter-spacing: .12em; }
.monitor-dream-detail.signal h2 { margin: 7px 0 15px; font-size: 18px; }
.monitor-dream-detail.signal p { margin: 0 0 8px; color: rgba(237,244,239,.68); font-size: 10px; line-height: 1.6; }
.monitor-dream-detail.signal blockquote { margin: 15px 0 0; padding: 14px; border-left: 2px solid #829c89; border-radius: 0 12px 12px 0; background: rgba(255,255,255,.05); color: #eef4ef; font-size: 11px; line-height: 1.75; }
.monitor-dream-detail.signal .monitor-detail-rows article { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.05); }
.monitor-dream-detail.signal .monitor-detail-rows span { color: rgba(236,244,238,.45); }
.monitor-dream-detail.signal .monitor-detail-rows p { color: #eef3ef; }
html[data-ui-mode="dark"] #appScreen.monitor-screen-active,
html[data-ui-mode="dark"] #appScreen:has(> .app-body.monitor-app-active) {
  --monitor-ink: #edf2ee;
  --monitor-subtle: #9aa79f;
  --monitor-line: rgba(225,235,228,.1);
  --monitor-paper: #121713;
  --monitor-card: rgba(31,39,34,.9);
}
html[data-ui-mode="dark"] .monitor-app { background: radial-gradient(circle at 90% 4%,rgba(95,116,103,.12),transparent 27%),#121713; }
html[data-ui-mode="dark"] .monitor-tabs { background: rgba(18,23,19,.92); }
html[data-ui-mode="dark"] .monitor-char-picker select,
html[data-ui-mode="dark"] .monitor-filter-row select,
html[data-ui-mode="dark"] .monitor-settings-group select { background: #202721; color: #edf2ee; }
html[data-ui-mode="dark"] :is(.monitor-channel-index,.monitor-overview-top span,.monitor-tags i,.monitor-rule-note,.monitor-settings-summary button,.monitor-log-row > button) { background: #29322c; color: #c5d4ca; }
html[data-ui-mode="dark"] :is(.monitor-access-bands article,.monitor-body-copy,.monitor-coordinate-hero,.monitor-trace-summary,.monitor-settings-danger,.monitor-draft-card) { background: #202721; }
html[data-ui-mode="dark"] .monitor-signal-locked { background: rgba(31,39,34,.65); }
@media (max-width: 390px) {
  .monitor-local-head { padding-left: 13px; padding-right: 13px; }
  .monitor-tabs { padding: 0 12px; }
  .monitor-star-map { margin-left: 10px; margin-right: 10px; border-radius: 22px; }
  .monitor-star-field { height: 190px; }
  .monitor-dashboard-section,
  .monitor-list-page,
  .monitor-access-page,
  .monitor-settings-page,
  .monitor-detail-page { padding-left: 10px; padding-right: 10px; }
  .monitor-channel-card { min-height: 72px; padding: 9px; grid-template-columns: 29px minmax(0,1fr) 8px; gap: 7px; }
  .monitor-channel-index { width: 29px; height: 29px; border-radius: 9px; }
  .monitor-channel-copy b { font-size: 12px; }
  .monitor-channel-copy small { font-size: 8px; }
}
#appScreen.monitor-screen-active,
#appScreen:has(> .app-body.monitor-app-active) {
  --monitor-ink: #171a18;
  --monitor-subtle: #69716d;
  --monitor-moss: #4f866b;
  --monitor-moss-deep: #213128;
  --monitor-blue: #5a82a5;
  --monitor-blue-soft: #edf3f8;
  --monitor-green-soft: #edf4f0;
  --monitor-line: #e3e7e4;
  --monitor-paper: #f4f6f5;
  --monitor-card: #fff;
  --monitor-dark: #213128;
  --monitor-shadow: 0 10px 28px rgba(25, 37, 30, .055);
}
#appScreen .monitor-app {
  min-height: 100%;
  background: var(--monitor-paper);
}
#appScreen .monitor-local-head {
  align-items: center;
  min-height: 96px;
  padding: 20px 20px 14px;
  border-bottom: 0;
  background: rgba(244, 246, 245, .96);
}
#appScreen .monitor-local-head strong { font-size: 25px; }
#appScreen .monitor-char-picker select,
#appScreen .monitor-filter-row select,
#appScreen .monitor-settings-group select {
  height: 38px;
  border-color: var(--monitor-line);
  border-radius: 999px !important;
  background: #fff;
  font-size: 11px;
}
#appScreen .monitor-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  width: calc(100% - 40px);
  margin: 0 20px 8px;
  padding: 4px;
  border: 0;
  border-radius: 999px;
  background: #e9ecea;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
#appScreen .monitor-tabs button {
  height: 38px;
  border-radius: 999px !important;
  font-size: 11px;
}
#appScreen .monitor-tabs button.active {
  background: #fff;
  color: var(--monitor-ink);
  box-shadow: 0 3px 11px rgba(27, 39, 32, .08);
}
#appScreen .monitor-tabs button.active::after { display: none; }
#appScreen .monitor-star-map {
  margin: 14px 20px 0;
  border-color: var(--monitor-line);
  border-radius: 28px;
  background: #fff;
  color: var(--monitor-ink);
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-star-map::before {
  background:
    radial-gradient(circle at 78% 25%, rgba(79, 134, 107, .13), transparent 25%),
    radial-gradient(circle at 20% 78%, rgba(90, 130, 165, .10), transparent 28%),
    linear-gradient(rgba(48, 65, 55, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(48, 65, 55, .035) 1px, transparent 1px);
  background-size: auto, auto, 28px 28px, 28px 28px;
}
#appScreen .monitor-star-field { height: 196px; }
#appScreen .monitor-star-field > i {
  background: #76867d;
  box-shadow: none;
}
#appScreen .monitor-log-star > span {
  background: #75a88d;
  box-shadow: 0 0 0 4px rgba(79, 134, 107, .09);
}
#appScreen .monitor-log-star.selected > span {
  background: #416f58;
  box-shadow: 0 0 0 6px rgba(79, 134, 107, .12);
}
#appScreen .monitor-star-caption {
  padding: 14px 17px 16px;
  border-top-color: var(--monitor-line);
}
#appScreen .monitor-star-caption small { color: var(--monitor-subtle); }
#appScreen .monitor-dashboard-section { padding: 24px 20px 18px; }
#appScreen .monitor-section-heading { margin-bottom: 16px; }
#appScreen .monitor-section-heading h1 { font-size: 23px; }
#appScreen .monitor-return-pill {
  min-height: 34px;
  border-color: var(--monitor-line);
  border-radius: 999px !important;
  background: #fff;
}
#appScreen .monitor-return-pill.on { border-color: #d4e3da; background: var(--monitor-green-soft); }
#appScreen .monitor-overview-card {
  padding: 22px;
  border-color: var(--monitor-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-overview-top span,
#appScreen .monitor-tags i,
#appScreen .monitor-channel-index {
  background: var(--monitor-green-soft);
  color: #3f6f57;
}
#appScreen .monitor-overview-card h2 { font-size: 23px; }
#appScreen .monitor-channel-grid { gap: 12px; margin-top: 14px; }
#appScreen .monitor-channel-card {
  min-height: 88px;
  padding: 14px;
  border-color: var(--monitor-line);
  border-radius: 22px !important;
  background: #fff;
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-channel-card:nth-child(3n + 2) .monitor-channel-index {
  background: var(--monitor-blue-soft);
  color: #527897;
}
#appScreen .monitor-channel-index { width: 36px; height: 36px; border-radius: 13px; }
#appScreen .monitor-channel-copy b { font-size: 14px; }
#appScreen .monitor-channel-copy small { font-size: 9px; line-height: 1.5; }
#appScreen .monitor-draft-card {
  margin-top: 14px;
  padding: 16px;
  border-color: #eadfd4;
  border-radius: 22px;
  background: #f7f2ed;
}
#appScreen .monitor-draft-card button,
#appScreen .monitor-peek-button,
#appScreen .monitor-settings-summary button,
#appScreen .monitor-settings-danger button,
#appScreen .monitor-empty-state button {
  border-radius: 999px !important;
}
#appScreen .monitor-peek-button {
  min-height: 58px;
  margin-top: 16px;
  border-radius: 999px !important;
  background: var(--monitor-moss-deep);
  box-shadow: 0 9px 22px rgba(33, 49, 40, .14);
}
#appScreen .monitor-list-page,
#appScreen .monitor-settings-page,
#appScreen .monitor-detail-page {
  padding: 20px 20px 46px;
}
#appScreen .monitor-filter-row { gap: 10px; margin-bottom: 22px; }
#appScreen .monitor-filter-row select { width: 100%; }
#appScreen .monitor-date-group h2 { margin: 0 4px 10px; font-size: 11px; }
#appScreen .monitor-log-row {
  margin-bottom: 11px;
  padding: 17px;
  border-color: var(--monitor-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--monitor-shadow);
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
#appScreen .monitor-log-row b { font-size: 13px; }
#appScreen .monitor-log-row > button { width: 32px; height: 32px; background: #f0f2f1; }
#appScreen .monitor-settings-page { gap: 16px; }
#appScreen .monitor-settings-group {
  border-color: var(--monitor-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-settings-group > small { padding: 18px 20px 9px; }
#appScreen .monitor-settings-group > label { min-height: 68px; padding: 15px 20px; border-top-color: var(--monitor-line); }
#appScreen .monitor-settings-group label b { font-size: 13px; }
#appScreen .monitor-settings-group label em { font-size: 10px; line-height: 1.5; }
#appScreen .monitor-settings-summary { padding: 14px 20px 20px; border-top-color: var(--monitor-line); }
#appScreen .monitor-settings-danger {
  padding: 18px 20px;
  border-radius: 24px;
  background: #f8eeee;
}
#appScreen .monitor-detail-page { min-height: 0; }
#appScreen .monitor-detail-head { gap: 13px; margin-bottom: 20px; }
#appScreen .monitor-detail-head > button {
  width: 42px;
  height: 42px;
  border-color: var(--monitor-line);
  border-radius: 50% !important;
  background: #fff;
}
#appScreen .monitor-detail-head h1 { font-size: 26px; }
#appScreen .monitor-detail-rows { gap: 11px; margin-top: 14px; }
#appScreen .monitor-detail-rows article,
#appScreen .monitor-body-copy,
#appScreen .monitor-focus-card,
#appScreen .monitor-wave-list article,
#appScreen .monitor-vital-grid article,
#appScreen .monitor-expand-list article,
#appScreen .monitor-screen-modules article,
#appScreen .monitor-evidence-list > article,
#appScreen .monitor-route-line {
  border-color: var(--monitor-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-detail-rows article { padding: 16px 17px; }
#appScreen .monitor-detail-rows span { font-size: 10px; }
#appScreen .monitor-detail-rows p { font-size: 12px; line-height: 1.7; }
#appScreen .monitor-home-map {
  min-height: 260px;
  border: 1px solid #dfe8e2;
  border-radius: 28px;
  background: #edf4f0;
  color: var(--monitor-ink);
}
#appScreen .monitor-home-map::before {
  background: linear-gradient(rgba(42, 71, 55, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(42, 71, 55, .045) 1px, transparent 1px);
  background-size: 24px 24px;
}
#appScreen .monitor-home-map-title small { color: #66806f; }
#appScreen .monitor-room-core { border-color: #c9ddd1; background: rgba(255, 255, 255, .74); }
#appScreen .monitor-room-core.occupied { border-color: #8cb39d; box-shadow: 0 0 0 7px rgba(79, 134, 107, .07); }
#appScreen .monitor-room-core small { color: #4f866b; }
#appScreen .monitor-room-arrow { border-color: #d1dfd7; background: #fff; color: #466653; }
#appScreen .monitor-room-nav { background: rgba(255, 255, 255, .97); box-shadow: var(--monitor-shadow); }
#appScreen .monitor-room-nav button { border-color: var(--monitor-line); border-radius: 999px !important; color: var(--monitor-subtle); }
#appScreen .monitor-room-nav button.active { background: var(--monitor-moss-deep); color: #fff; }
#appScreen .monitor-body-stage {
  border: 1px solid #dce8e1;
  border-radius: 28px;
  background: var(--monitor-green-soft);
}
#appScreen .monitor-silhouette { color: var(--monitor-ink); }
#appScreen .monitor-silhouette > i { background: rgba(79, 134, 107, .30); box-shadow: 0 59px 0 13px rgba(79, 134, 107, .24), 0 129px 0 -4px rgba(79, 134, 107, .20); }
#appScreen .monitor-silhouette > i::before,
#appScreen .monitor-silhouette > i::after { background: rgba(79, 134, 107, .18); }
#appScreen .monitor-layer-switch button {
  border-color: #cfddd5;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .72);
  color: var(--monitor-subtle);
}
#appScreen .monitor-layer-switch button.active { background: var(--monitor-moss-deep); color: #fff; }
#appScreen .monitor-coordinate-hero,
#appScreen .monitor-trace-summary,
#appScreen .monitor-device-strip {
  padding: 22px;
  border: 1px solid #dbe6df;
  border-radius: 26px;
  background: var(--monitor-green-soft);
  color: var(--monitor-ink);
}
#appScreen .monitor-device-strip small { color: #6f7d75; }
#appScreen .monitor-device-strip span { color: #61786a; }
#appScreen .monitor-brain-map {
  border: 1px solid #dce7e0;
  border-radius: 28px;
  background: radial-gradient(circle at 50% 47%, #fff 0, #edf4f0 42%, #e7ece9 74%);
}
#appScreen .monitor-brain-map::before { border-color: rgba(79, 134, 107, .14); box-shadow: none; }
#appScreen .monitor-brain-orbit button {
  border-color: #dbe5df;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .82);
  color: #68746d;
}
#appScreen .monitor-brain-orbit button.active {
  border-color: #a9c7b6;
  background: #dcebe2;
  color: #2f5e46;
  box-shadow: none;
}
#appScreen .monitor-brain-core { border-color: #cfe0d6; background: #fff; }
#appScreen .monitor-brain-core small { color: #748078; }
#appScreen .monitor-brain-core b { color: var(--monitor-ink); }
#appScreen .monitor-viscera-list { gap: 10px; }
#appScreen .monitor-viscera-list > button {
  padding: 15px;
  border-color: var(--monitor-line);
  border-radius: 20px !important;
  background: #fff;
  box-shadow: var(--monitor-shadow);
}
#appScreen .monitor-viscera-list > button.active { border-color: #bfd3c7; background: var(--monitor-green-soft); }
#appScreen .monitor-desire-core {
  min-height: 300px;
  border: 1px solid #dce7e0;
  border-radius: 28px;
  background: var(--monitor-green-soft);
  color: var(--monitor-ink);
}
#appScreen .monitor-desire-core > i { border-color: rgba(79, 134, 107, .16); }
#appScreen .monitor-desire-core small { color: #6d7b73; }
#appScreen .monitor-desire-core p { color: #64766b; }
#appScreen .monitor-vital-grid { gap: 11px; }
#appScreen .monitor-vital-grid article { padding: 18px; border-radius: 22px; }
#appScreen .monitor-wave-list { gap: 11px; }
#appScreen .monitor-wave-list article { padding: 17px; }
#appScreen .monitor-screen-modules,
#appScreen .monitor-evidence-list { gap: 11px; }
#appScreen .monitor-expand-list article > button,
#appScreen .monitor-screen-modules article > button,
#appScreen .monitor-evidence-list article > button { min-height: 58px; padding: 14px 16px; }
#appScreen .monitor-dream-detail.no-signal,
#appScreen .monitor-dream-detail.signal {
  min-height: 390px;
  padding: 48px 24px;
  border: 1px solid #dce7e0;
  border-radius: 28px;
  background: var(--monitor-green-soft);
  color: var(--monitor-ink);
}
#appScreen .monitor-dream-detail.no-signal small,
#appScreen .monitor-dream-detail.no-signal p,
#appScreen .monitor-dream-detail.signal article > small,
#appScreen .monitor-dream-detail.signal p { color: var(--monitor-subtle); }
#appScreen .monitor-dream-detail.signal blockquote {
  border-left-color: #6a9a80;
  background: #fff;
  color: var(--monitor-ink);
}
#appScreen .monitor-dream-detail.signal .monitor-detail-rows article { border-color: var(--monitor-line); background: #fff; }
#appScreen .monitor-dream-detail.signal .monitor-detail-rows span { color: var(--monitor-subtle); }
#appScreen .monitor-dream-detail.signal .monitor-detail-rows p { color: var(--monitor-ink); }
#appScreen .monitor-dream-halo { border-color: #bfd2c6; box-shadow: none; }
#appScreen .monitor-dream-halo i { border-color: #c7d9ce; }
#appScreen .monitor-dream-halo span { color: #446b56; }
#appScreen .monitor-generation-overlay {
  background: rgba(244, 246, 245, .97);
  color: var(--monitor-ink);
}
#appScreen .monitor-radar { border-color: #cfdcd4; background: repeating-radial-gradient(circle, transparent 0 20px, rgba(79, 134, 107, .09) 21px 22px); }
#appScreen .monitor-radar::before,
#appScreen .monitor-radar::after { background: rgba(79, 134, 107, .12); }
#appScreen .monitor-radar i { background: conic-gradient(from -20deg, rgba(79, 134, 107, .5), transparent 34%); }
#appScreen .monitor-radar span { background: #4f866b; box-shadow: 0 0 0 5px rgba(79, 134, 107, .12); }
#appScreen .monitor-generation-steps span { color: #9aa39e; }
#appScreen .monitor-generation-steps span.active { color: var(--monitor-ink); }
#appScreen .monitor-generation-overlay > small { color: var(--monitor-subtle); }
html[data-ui-mode="dark"] #appScreen.monitor-screen-active,
html[data-ui-mode="dark"] #appScreen:has(> .app-body.monitor-app-active) {
  --monitor-ink: #edf2ee;
  --monitor-subtle: #9da7a1;
  --monitor-line: rgba(232, 239, 234, .1);
  --monitor-paper: #131714;
  --monitor-card: #1d231f;
  --monitor-green-soft: #202c25;
  --monitor-blue-soft: #202a32;
  --monitor-shadow: 0 10px 28px rgba(0, 0, 0, .13);
}
html[data-ui-mode="dark"] #appScreen :is(.monitor-app, .monitor-local-head) { background: var(--monitor-paper); }
html[data-ui-mode="dark"] #appScreen .monitor-tabs { background: #1b211d; }
html[data-ui-mode="dark"] #appScreen :is(.monitor-tabs button.active, .monitor-star-map, .monitor-overview-card, .monitor-channel-card, .monitor-log-row, .monitor-settings-group, .monitor-detail-rows article, .monitor-body-copy, .monitor-focus-card, .monitor-wave-list article, .monitor-vital-grid article, .monitor-expand-list article, .monitor-screen-modules article, .monitor-evidence-list > article, .monitor-route-line) { background: var(--monitor-card); }
html[data-ui-mode="dark"] #appScreen :is(.monitor-char-picker select, .monitor-filter-row select, .monitor-settings-group select) { border-color: var(--monitor-line); background: #1d231f; color: var(--monitor-ink); }
html[data-ui-mode="dark"] #appScreen :is(.monitor-home-map, .monitor-body-stage, .monitor-coordinate-hero, .monitor-trace-summary, .monitor-device-strip, .monitor-desire-core, .monitor-dream-detail.no-signal, .monitor-dream-detail.signal) { border-color: var(--monitor-line); background: var(--monitor-green-soft); color: var(--monitor-ink); }
html[data-ui-mode="dark"] #appScreen .monitor-brain-map { border-color: var(--monitor-line); background: radial-gradient(circle at 50% 47%, #28332d 0, #202722 46%, #171c18 76%); }
html[data-ui-mode="dark"] #appScreen .monitor-brain-orbit button,
html[data-ui-mode="dark"] #appScreen .monitor-brain-core { border-color: var(--monitor-line); background: #1d231f; color: var(--monitor-ink); }
html[data-ui-mode="dark"] #appScreen .monitor-brain-core b { color: var(--monitor-ink); }
@media (max-width: 390px) {
  #appScreen .monitor-local-head { min-height: 90px; padding: 17px 14px 12px; }
  #appScreen .monitor-tabs { width: calc(100% - 28px); margin-left: 14px; margin-right: 14px; }
  #appScreen .monitor-star-map { margin-left: 12px; margin-right: 12px; }
  #appScreen .monitor-dashboard-section,
  #appScreen .monitor-list-page,
  #appScreen .monitor-settings-page,
  #appScreen .monitor-detail-page { padding-left: 12px; padding-right: 12px; }
  #appScreen .monitor-channel-card { min-height: 84px; padding: 12px; grid-template-columns: 33px minmax(0, 1fr) 8px; }
  #appScreen .monitor-channel-index { width: 33px; height: 33px; }
}

/*# source: assets/css/features/schedule.css */
/*
 * schedule feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.agenda-gradient {
  background:
    radial-gradient(circle at 72% 24%, rgba(61, 122, 255, .9) 0 7%, transparent 8%),
    radial-gradient(circle at 30% 72%, rgba(77, 171, 116, .92) 0 10%, transparent 11%),
    linear-gradient(145deg, #ffffff, #edf0ec) !important;
  color: #171a18 !important;
  box-shadow: inset 0 0 0 1px rgba(18, 24, 20, .07), 0 8px 22px rgba(22, 31, 25, .1) !important;
}

#appScreen .app-body.agenda-app-body {
  overflow-x: hidden;
  padding: 0 !important;
  background: #f4f5f2;
  color: #171a18;
}

#appScreen .agenda-app {
  --agenda-ink: #171a18;
  --agenda-muted: #757c77;
  --agenda-line: #e5e8e3;
  --agenda-paper: #fff;
  --agenda-soft: #f0f2ee;
  --agenda-green: #347f55;
  --agenda-green-soft: #e9f5ed;
  --agenda-blue: #356fe8;
  --agenda-blue-soft: #edf3ff;
  position: relative;
  width: min(920px, 100%);
  min-height: 100%;
  margin: 0 auto;
  padding: 34px 24px 116px;
  color: var(--agenda-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", sans-serif;
}

#appScreen .agenda-app button,
#appScreen .agenda-app input {
  font: inherit;
}

#appScreen .agenda-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

#appScreen .agenda-hero small,
#appScreen .agenda-sheet header small {
  display: block;
  margin-bottom: 8px;
  color: var(--agenda-green);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

#appScreen .agenda-hero h1 {
  margin: 0;
  color: var(--agenda-ink);
  font-size: clamp(38px, 8vw, 62px);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: .96;
}

#appScreen .agenda-hero p {
  margin: 12px 0 0;
  color: var(--agenda-muted);
  font-size: 14px;
  line-height: 1.65;
}

#appScreen .agenda-hero > button {
  display: grid;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--agenda-ink);
  color: #fff;
  box-shadow: 0 10px 25px rgba(23, 26, 24, .17);
  font-size: 28px;
  font-weight: 300;
}

#appScreen .agenda-character-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  margin: 0 -24px 20px;
  padding: 0 24px 6px;
  scrollbar-width: none;
}

#appScreen .agenda-character-strip::-webkit-scrollbar { display: none; }

#appScreen .agenda-character-strip button {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--agenda-line);
  border-radius: 999px;
  padding: 6px 12px 6px 6px;
  background: rgba(255, 255, 255, .78);
  color: var(--agenda-muted);
  box-shadow: 0 4px 14px rgba(27, 38, 30, .035);
}

#appScreen .agenda-character-strip button.active {
  border-color: var(--agenda-ink);
  background: var(--agenda-ink);
  color: #fff;
}

#appScreen .agenda-character-avatar,
#appScreen .agenda-batch-avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  object-fit: cover;
}

#appScreen .agenda-character-strip span {
  max-width: 112px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appScreen .agenda-date-card {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  border: 1px solid var(--agenda-line);
  border-radius: 24px;
  padding: 12px;
  background: var(--agenda-paper);
  box-shadow: 0 10px 30px rgba(29, 42, 33, .055);
}

#appScreen .agenda-date-card > button {
  border: 0;
  background: transparent;
  color: #a0a6a1;
  font-size: 24px;
}

#appScreen .agenda-date-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(36px, 1fr));
  gap: 4px;
}

#appScreen .agenda-date-strip button {
  min-width: 0;
  border: 0;
  border-radius: 16px;
  padding: 9px 2px 8px;
  background: transparent;
  color: var(--agenda-muted);
}

#appScreen .agenda-date-strip button small {
  display: block;
  margin-bottom: 5px;
  font-size: 9px;
}

#appScreen .agenda-date-strip button b {
  display: block;
  font-size: 15px;
}

#appScreen .agenda-date-strip button.today:not(.active) {
  color: var(--agenda-green);
  background: var(--agenda-green-soft);
}

#appScreen .agenda-date-strip button.active {
  background: var(--agenda-ink);
  color: #fff;
  box-shadow: 0 7px 16px rgba(23, 26, 24, .16);
}

#appScreen .agenda-travel-card,
#appScreen .agenda-summary-card {
  border-radius: 24px;
  background: var(--agenda-paper);
  box-shadow: 0 9px 28px rgba(29, 42, 33, .05);
}

#appScreen .agenda-travel-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  border: 1px solid #dcecdf;
  padding: 16px 18px;
  background: var(--agenda-green-soft);
}

#appScreen .agenda-travel-card > span {
  border-radius: 999px;
  padding: 7px 9px;
  background: var(--agenda-green);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
}

#appScreen .agenda-travel-card b {
  display: block;
  font-size: 15px;
}

#appScreen .agenda-travel-card p {
  margin: 4px 0 0;
  color: #66806d;
  font-size: 11px;
}

#appScreen .agenda-travel-card em {
  color: var(--agenda-green);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

#appScreen .agenda-summary-card {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  border: 1px solid var(--agenda-line);
  padding: 20px;
}

#appScreen .agenda-summary-card small {
  color: var(--agenda-muted);
  font-size: 10px;
  letter-spacing: .08em;
}

#appScreen .agenda-summary-card h2 {
  max-width: 560px;
  margin: 7px 0 0;
  color: var(--agenda-ink);
  font-size: 19px;
  line-height: 1.4;
}

#appScreen .agenda-summary-card > span {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 8px 11px;
  background: var(--agenda-green-soft);
  color: var(--agenda-green);
  font-size: 10px;
  font-weight: 750;
}

#appScreen .agenda-summary-card > span i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(52, 127, 85, .12);
}

#appScreen .agenda-summary-card > span.muted {
  background: var(--agenda-soft);
  color: var(--agenda-muted);
}

#appScreen .agenda-timeline {
  position: relative;
  padding: 4px 0 12px;
}

#appScreen .agenda-timeline-item {
  display: grid;
  grid-template-columns: 58px 12px minmax(0, 1fr);
  gap: 12px;
  position: relative;
  padding-bottom: 14px;
}

#appScreen .agenda-timeline-item::after {
  position: absolute;
  top: 18px;
  bottom: -4px;
  left: 75px;
  width: 1px;
  background: var(--agenda-line);
  content: "";
}

#appScreen .agenda-timeline-item:last-child::after { display: none; }

#appScreen .agenda-timeline-item > time {
  padding-top: 13px;
  text-align: right;
}

#appScreen .agenda-timeline-item > time b,
#appScreen .agenda-timeline-item > time span {
  display: block;
}

#appScreen .agenda-timeline-item > time b {
  color: var(--agenda-ink);
  font-size: 13px;
}

#appScreen .agenda-timeline-item > time span {
  margin-top: 3px;
  color: #a0a6a1;
  font-size: 9px;
}

#appScreen .agenda-timeline-item > i {
  z-index: 1;
  width: 9px;
  height: 9px;
  margin-top: 17px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--agenda-green);
  box-shadow: 0 0 0 2px rgba(52, 127, 85, .18);
}

#appScreen .agenda-item-card {
  border: 1px solid var(--agenda-line);
  border-radius: 22px;
  padding: 17px 18px;
  background: var(--agenda-paper);
  box-shadow: 0 8px 24px rgba(28, 40, 31, .045);
}

#appScreen .agenda-item-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

#appScreen .agenda-item-heading strong {
  color: var(--agenda-ink);
  font-size: 15px;
  line-height: 1.45;
}

#appScreen .agenda-item-heading em {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 5px 7px;
  background: var(--agenda-blue-soft);
  color: var(--agenda-blue);
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

#appScreen .agenda-item-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 0;
}

#appScreen .agenda-item-card dl div {
  min-width: 0;
  border-radius: 14px;
  padding: 9px 10px;
  background: var(--agenda-soft);
}

#appScreen .agenda-item-card dt {
  margin-bottom: 4px;
  color: #979e99;
  font-size: 8px;
  font-weight: 700;
}

#appScreen .agenda-item-card dd {
  overflow: hidden;
  margin: 0;
  color: #4b514d;
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appScreen .agenda-change-note {
  margin: 12px 0 0;
  border-left: 2px solid var(--agenda-blue);
  padding-left: 9px;
  color: var(--agenda-blue);
  font-size: 10px;
  line-height: 1.55;
}

#appScreen .agenda-timeline-item.is-new > i {
  background: var(--agenda-blue);
  box-shadow: 0 0 0 2px rgba(53, 111, 232, .16);
}

#appScreen .agenda-timeline-item.is-new .agenda-item-card {
  border-color: #d5e1fa;
  background: var(--agenda-blue-soft);
}

#appScreen .agenda-timeline-item.is-completed > i {
  background: #4d8b68;
  box-shadow: 0 0 0 2px rgba(77, 139, 104, .16);
}

#appScreen .agenda-timeline-item.is-completed .agenda-item-card {
  border-color: rgba(77, 139, 104, .24);
}

#appScreen .agenda-timeline-item.is-completed .agenda-item-heading em {
  background: rgba(77, 139, 104, .12);
  color: #3f7658;
}

#appScreen .agenda-timeline-item.is-replaced {
  opacity: .62;
}

#appScreen .agenda-timeline-item.is-replaced > i {
  background: #aeb4af;
  box-shadow: none;
}

#appScreen .agenda-timeline-item.is-replaced .agenda-item-heading strong,
#appScreen .agenda-timeline-item.is-replaced .agenda-item-card dd,
#appScreen .agenda-timeline-item.is-replaced > time {
  text-decoration: line-through;
}

#appScreen .agenda-timeline-item.is-replaced .agenda-item-heading em {
  background: #ebedea;
  color: #777e79;
}

#appScreen .agenda-empty {
  display: grid;
  min-height: 250px;
  place-items: center;
  align-content: center;
  border: 1px dashed #d9ddd8;
  border-radius: 28px;
  padding: 36px 24px;
  background: rgba(255, 255, 255, .58);
  text-align: center;
}

#appScreen .agenda-empty span {
  margin-bottom: 12px;
  color: var(--agenda-green);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}

#appScreen .agenda-empty b { font-size: 18px; }

#appScreen .agenda-empty p { max-width: 360px; margin: 9px 0 18px; color: var(--agenda-muted); font-size: 12px; line-height: 1.7; }

#appScreen .agenda-empty button,
#appScreen .agenda-primary-button {
  border: 0;
  border-radius: 999px;
  padding: 12px 20px;
  background: var(--agenda-ink);
  color: #fff;
  font-weight: 750;
}

#appScreen .agenda-bottom-bar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  position: sticky;
  z-index: 20;
  bottom: 16px;
  width: min(420px, calc(100% - 8px));
  margin: 24px auto -88px;
  border: 1px solid rgba(30, 37, 32, .08);
  border-radius: 26px;
  padding: 8px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 48px rgba(20, 27, 22, .16);
  backdrop-filter: blur(20px);
}

#appScreen .agenda-bottom-bar button {
  display: grid;
  gap: 3px;
  place-items: center;
  border: 0;
  border-radius: 18px;
  padding: 7px 5px;
  background: transparent;
  color: #949b96;
}

#appScreen .agenda-bottom-bar button.active {
  color: var(--agenda-ink);
}

#appScreen .agenda-bottom-bar button span {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 9px;
  background: var(--agenda-soft);
  font-size: 11px;
  font-weight: 800;
}

#appScreen .agenda-bottom-bar button b { font-size: 9px; }

#appScreen .agenda-bottom-bar .agenda-generate-button span {
  width: 37px;
  height: 37px;
  border-radius: 50%;
  background: var(--agenda-ink);
  color: #fff;
  font-size: 21px;
  font-weight: 300;
}

#appScreen .agenda-sheet-backdrop,
#appScreen .agenda-generating {
  position: fixed;
  /* 日程弹层必须盖过挂在 body 上的 Moss 浮球，否则右侧关闭键会被浮球截获。 */
  z-index: 100100;
  inset: 0;
  background: rgba(17, 21, 18, .28);
  backdrop-filter: blur(6px);
}

#appScreen .agenda-sheet-backdrop {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
}

#appScreen .agenda-sheet {
  width: min(620px, 100%);
  max-height: min(760px, 88vh);
  overflow-y: auto;
  border: 1px solid rgba(23, 26, 24, .08);
  border-radius: 28px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 20, 17, .22);
}

#appScreen .agenda-sheet > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

#appScreen .agenda-sheet h2 {
  margin: 0;
  color: var(--agenda-ink);
  font-size: 24px;
}

#appScreen .agenda-sheet > header > button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--agenda-soft);
  color: var(--agenda-ink);
  font-size: 20px;
}

#appScreen .agenda-sheet > p {
  margin: 16px 0;
  color: var(--agenda-muted);
  font-size: 12px;
  line-height: 1.65;
}

#appScreen .agenda-sheet > p b { color: var(--agenda-ink); }

#appScreen .agenda-batch-list {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

#appScreen .agenda-batch-list label {
  cursor: pointer;
}

#appScreen .agenda-batch-list input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#appScreen .agenda-batch-list label > span {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--agenda-line);
  border-radius: 18px;
  padding: 9px;
  background: #fff;
}

#appScreen .agenda-batch-list input:checked + span {
  border-color: #bfd1f7;
  background: var(--agenda-blue-soft);
  box-shadow: inset 0 0 0 1px #bfd1f7;
}

#appScreen .agenda-batch-list b {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appScreen .agenda-batch-list small {
  color: var(--agenda-muted);
  font-size: 9px;
}

#appScreen .agenda-primary-button {
  width: 100%;
  margin-top: 4px;
}

#appScreen .agenda-primary-button:disabled {
  opacity: .4;
}

#appScreen .agenda-generating {
  display: grid;
  place-items: center;
  align-content: center;
  color: #fff;
  text-align: center;
}

#appScreen .agenda-generating i {
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border: 3px solid rgba(255, 255, 255, .28);
  border-top-color: #fff;
  border-radius: 50%;
  animation: agenda-spin .8s linear infinite;
}

#appScreen .agenda-generating b { font-size: 16px; }

#appScreen .agenda-generating p { margin: 7px 0 0; color: rgba(255, 255, 255, .72); font-size: 12px; }

#appScreen .agenda-result-list,
#appScreen .agenda-history-list {
  display: grid;
  gap: 8px;
  margin: 18px 0;
}

#appScreen .agenda-result-list p,
#appScreen .agenda-history-list article {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  border-radius: 16px;
  padding: 12px;
  background: var(--agenda-soft);
  color: var(--agenda-ink);
  font-size: 11px;
}

#appScreen .agenda-result-list p.ok span { color: var(--agenda-green); }

#appScreen .agenda-result-list p.error span { color: #c54545; }

#appScreen .agenda-history-list article time {
  flex: 0 0 auto;
  color: var(--agenda-muted);
  font-size: 9px;
}

#appScreen .agenda-history-list article b { font-size: 12px; }

#appScreen .agenda-history-list article p { margin: 4px 0 0; color: var(--agenda-muted); line-height: 1.5; }

#appScreen .agenda-empty-line { color: var(--agenda-muted); font-size: 12px; text-align: center; }

@keyframes agenda-spin { to { transform: rotate(360deg); } }

html[data-ui-mode="dark"] #appScreen .app-body.agenda-app-body,
html[data-ui-mode="dark"] #appScreen .agenda-app {
  background: #f4f5f2 !important;
  color: #171a18 !important;
}

@media (max-width: 560px) {
  #appScreen .agenda-app { padding: 26px 16px 108px; }
  #appScreen .agenda-character-strip { margin-inline: -16px; padding-inline: 16px; }
  #appScreen .agenda-date-card { border-radius: 22px; padding: 9px 6px; }
  #appScreen .agenda-date-strip { gap: 1px; }
  #appScreen .agenda-date-strip button { border-radius: 13px; padding-inline: 0; }
  #appScreen .agenda-summary-card { display: block; padding: 17px; }
  #appScreen .agenda-summary-card > span { display: inline-block; margin-top: 12px; }
  #appScreen .agenda-travel-card { grid-template-columns: auto minmax(0, 1fr); }
  #appScreen .agenda-travel-card em { display: none; }
  #appScreen .agenda-timeline-item { grid-template-columns: 48px 10px minmax(0, 1fr); gap: 9px; }
  #appScreen .agenda-timeline-item::after { left: 61px; }
  #appScreen .agenda-item-card { border-radius: 20px; padding: 15px; }
  #appScreen .agenda-item-card dl { grid-template-columns: 1fr; }
  #appScreen .agenda-bottom-bar { bottom: 10px; }
  #appScreen .agenda-sheet-backdrop { padding: 10px; }
  #appScreen .agenda-sheet { border-radius: 26px; padding: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  #appScreen .agenda-generating i { animation: none; }
}

/*# source: assets/css/features/travel.css */
/*
 * travel feature stylesheet.
 * Extracted from legacy app.css in 464.9.172.
 * Keep app-specific visual and structural rules here.
 */


.travel-gradient {
  background: linear-gradient(145deg, #f9f5eb 0%, #d9e6e1 58%, #90a49c 100%);
  color: #17201d;
  border: 1px solid rgba(255,255,255,.72);
}
.travel-app-body {
  padding: 0 !important;
  overflow: hidden !important;
  background: #f3f4f2;
}
.travel-app {
  --travel-ink: #171b19;
  --travel-muted: #707874;
  --travel-paper: #fff;
  --travel-line: #d9ddda;
  --travel-soft: #eef1ef;
  --travel-green: #667f74;
  position: relative;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 96% 2%, rgba(169,192,182,.28), transparent 28%),
    linear-gradient(180deg, #fafbf9 0%, #eef1ef 100%);
  color: var(--travel-ink);
  padding-bottom: calc(88px + env(safe-area-inset-bottom));
  font-family: Inter, "SF Pro Display", "PingFang SC", system-ui, sans-serif;
}
.travel-page { width: min(100%, 760px); margin: 0 auto; padding: 16px 14px 32px; }
.travel-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 20px 4px 14px;
}
.travel-hero span,
.travel-section-title small,
.travel-archive-hero > small,
.travel-map-head small {
  display: block;
  margin-bottom: 7px;
  color: var(--travel-muted);
  font: 700 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .14em;
}
.travel-hero h1,
.travel-map-head h1,
.travel-archive-hero h1 { margin: 0; font-size: clamp(25px, 6.4vw, 38px); letter-spacing: -.04em; }
.travel-hero p,
.travel-map-head p { margin: 9px 0 0; color: var(--travel-muted); font-size: 13px; line-height: 1.7; }
.travel-character-select {
  display: grid;
  gap: 6px;
  min-width: 112px;
  color: var(--travel-muted);
  font-size: 11px;
}
.travel-character-select select {
  appearance: none;
  min-height: 42px;
  border: 1px solid var(--travel-line);
  border-radius: 15px;
  padding: 0 34px 0 13px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") calc(100% - 12px) center / 12px no-repeat;
  color: var(--travel-ink);
  font-weight: 700;
}
.travel-section {
  margin: 14px 0;
  padding: 17px;
  border: 1px solid rgba(216,220,217,.94);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 44px rgba(36,49,43,.07);
}
.travel-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.travel-section-title h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.travel-section-title button,
.travel-ticket-open,
.travel-map-head button {
  border: 0;
  border-radius: 999px;
  padding: 9px 13px;
  background: var(--travel-soft);
  color: var(--travel-ink);
  font-weight: 700;
}
.travel-section-title > span { padding: 7px 10px; border-radius: 999px; background: #e5ece8; color: #526c60; font-size: 12px; font-weight: 800; }
.travel-ticket-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #cfd4d1;
  border-radius: 20px;
  padding: 18px;
  background:
    radial-gradient(circle at 0 74%, transparent 9px, #fff 10px) left center / 51% 100% no-repeat,
    radial-gradient(circle at 100% 74%, transparent 9px, #fff 10px) right center / 51% 100% no-repeat;
  color: #141817;
}
.travel-ticket-card::after { content: ""; position: absolute; left: 18px; right: 18px; top: 73%; border-top: 1px dashed #c5cbc8; }
.travel-ticket-card > header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-bottom: 15px; border-bottom: 1px solid #dfe2e0; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }
.travel-ticket-card > header span { justify-self: start; font-size: 12px; }
.travel-ticket-card > header strong { font-size: 15px; letter-spacing: .12em; }
.travel-ticket-card > header em { justify-self: end; border: 1px solid #d8dcda; border-radius: 999px; padding: 6px 9px; font-size: 11px; font-style: normal; }
.travel-ticket-route { display: grid; grid-template-columns: auto 1fr auto; gap: 6px 10px; align-items: end; padding: 17px 0 12px; }
.travel-ticket-route small { grid-column: 1 / -1; color: #8a908d; font: 700 9px/1.2 ui-monospace, monospace; letter-spacing: .12em; }
.travel-ticket-route b { font-size: 15px; }
.travel-ticket-route i { grid-column: 2; grid-row: 2; justify-self: end; color: #929895; font-style: normal; }
.travel-ticket-route h2 { grid-column: 1 / -1; margin: 2px 0 0; font-size: 29px; letter-spacing: -.04em; }
.travel-ticket-time { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 8px 0 14px; border-bottom: 1px dashed #d7dbd9; }
.travel-ticket-time p,
.travel-ticket-meta p { margin: 0; }
.travel-ticket-time span,
.travel-ticket-meta span,
.travel-ticket-fare small { display: block; color: #8b918e; font: 700 9px/1.3 ui-monospace, monospace; letter-spacing: .1em; }
.travel-ticket-time b { display: block; margin-top: 4px; font: 700 11px/1.5 ui-monospace, monospace; }
.travel-ticket-meta { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; padding: 14px 0 20px; }
.travel-ticket-meta b { display: block; margin-top: 5px; font-size: 13px; }
.travel-ticket-fare { padding: 15px 0 8px; text-align: center; }
.travel-ticket-fare strong { display: block; margin-top: 4px; font: 700 31px/1.2 ui-monospace, monospace; }
.travel-primary-button {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 16px;
  background: var(--travel-ink);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .05em;
}
.travel-ticket-open { display: block; margin: 8px auto 0; background: var(--travel-ink); color: #fff; }
.travel-barcode { width: 52%; height: 34px; margin: 18px auto 8px; opacity: .7; background: repeating-linear-gradient(90deg, #222 0 3px, transparent 3px 7px, #222 7px 11px, transparent 11px 14px); }
.travel-ticket-card > footer { text-align: center; color: #838986; font: 700 10px/1.4 ui-monospace, monospace; letter-spacing: .06em; }
.travel-destination-info { margin: 13px 2px 2px; color: var(--travel-muted); font-size: 13px; line-height: 1.7; }
.travel-recommend-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.travel-recommend-card { min-width: 0; min-height: 178px; border: 0; border-radius: 20px; padding: 15px; text-align: left; color: #18201d; background: linear-gradient(155deg, #edf3f0, #dbe6e1); }
.travel-recommend-card.lively { background: linear-gradient(155deg, #f6eee3, #ead5bf); }
.travel-recommend-card.surprise { background: linear-gradient(155deg, #ecebf3, #d9d8e6); }
.travel-recommend-card.culture { background: linear-gradient(155deg, #edf0e6, #dce2cf); }
.travel-recommend-card small { display: block; color: #6d7772; font-size: 10px; }
.travel-recommend-card strong { display: block; margin-top: 18px; font-size: 17px; line-height: 1.3; }
.travel-recommend-card span { display: inline-block; margin-top: 9px; border-radius: 999px; padding: 5px 8px; background: rgba(255,255,255,.6); font-size: 10px; font-weight: 800; }
.travel-recommend-card p { margin: 11px 0 0; color: #5f6964; font-size: 11px; line-height: 1.55; }
.travel-quick-entry { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; margin-bottom: 15px; }
.travel-quick-entry button { min-width: 0; border: 0; padding: 9px 3px; border-radius: 13px; background: var(--travel-soft); color: var(--travel-ink); text-align: center; font-size: 11px; font-weight: 700; }
.travel-quick-entry button:active { transform: translateY(1px); background: #dfe5e1; }
.travel-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-bottom: 14px; }
.travel-form-grid label { display: grid; gap: 6px; color: var(--travel-muted); font-size: 11px; }
.travel-form-grid label.wide { grid-column: 1 / -1; }
.travel-form-grid input,
.travel-form-grid select { width: 100%; min-height: 44px; box-sizing: border-box; border: 1px solid var(--travel-line); border-radius: 14px; padding: 0 12px; background: #fafbf9; color: var(--travel-ink); font-size: 13px; outline: none; }
.travel-form-grid input:focus,
.travel-form-grid select:focus { border-color: #829a90; box-shadow: 0 0 0 3px rgba(102,127,116,.12); }
.travel-status-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 22px; border-radius: 25px; background: linear-gradient(150deg, #1a201d, #334039); color: #fff; }
.travel-status-card small { color: #bdc9c3; }
.travel-status-card h1 { margin: 7px 0 4px; font-size: 26px; }
.travel-status-card p { margin: 0; color: #d2dad6; font-size: 12px; line-height: 1.6; }
.travel-status-card > span { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font: 700 14px ui-monospace, monospace; }
.travel-progress-rail { display: grid; grid-template-columns: repeat(7,1fr); gap: 3px; margin: 16px 2px; }
.travel-progress-rail span { position: relative; display: grid; justify-items: center; gap: 5px; color: #99a09d; font-size: 8px; text-align: center; }
.travel-progress-rail span::before { content: ""; position: absolute; top: 5px; left: -52%; width: 100%; height: 1px; background: #d5dad7; }
.travel-progress-rail span:first-child::before { display: none; }
.travel-progress-rail i { position: relative; z-index: 1; width: 11px; height: 11px; border: 2px solid #c7cdca; border-radius: 50%; background: #f4f6f4; }
.travel-progress-rail span.done { color: #26312c; font-weight: 800; }
.travel-progress-rail span.done i { border-color: #26312c; background: #26312c; }
.travel-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.travel-info-grid article { min-height: 84px; padding: 14px; border: 1px solid var(--travel-line); border-radius: 18px; background: #fff; }
.travel-info-grid span { display: block; color: var(--travel-muted); font-size: 10px; }
.travel-info-grid strong { display: block; margin-top: 9px; font-size: 13px; line-height: 1.5; }
.travel-timeline { display: grid; }
.travel-itinerary-node { display: grid; grid-template-columns: 68px 16px 1fr; gap: 9px; min-height: 86px; }
.travel-itinerary-node time { color: #7e8682; font: 700 10px/1.4 ui-monospace, monospace; }
.travel-itinerary-node time b { display: block; margin-bottom: 4px; color: #29342f; font-size: 9px; letter-spacing: .08em; }
.travel-itinerary-node > i { position: relative; width: 10px; height: 10px; border: 2px solid #b9c0bc; border-radius: 50%; }
.travel-itinerary-node > i::after { content: ""; position: absolute; left: 3px; top: 12px; width: 1px; height: 67px; background: #d9dddb; }
.travel-itinerary-node:last-child > i::after { display: none; }
.travel-itinerary-node.done > i,
.travel-itinerary-node.current > i { border-color: #26322c; background: #26322c; }
.travel-itinerary-node strong,
.travel-itinerary-node span { display: block; }
.travel-itinerary-node span { margin-top: 3px; color: #6f7773; font-size: 11px; }
.travel-itinerary-node p { margin: 7px 0 0; color: #7d8581; font-size: 11px; line-height: 1.55; }
.travel-map-head { display: flex; justify-content: space-between; gap: 15px; align-items: flex-start; padding: 10px 3px 14px; }
.travel-map-head button { flex: 0 0 auto; }
.travel-map-canvas { position: relative; isolation: isolate; height: min(52vh, 430px); min-height: 330px; overflow: hidden; border: 1px solid #d1d7d4; border-radius: 27px; }
.travel-map-canvas svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.travel-map-scale { position: absolute; z-index: 7; left: 14px; bottom: 12px; border-radius: 999px; padding: 6px 9px; background: rgba(255,255,255,.86); color: #59645e; box-shadow: 0 5px 15px rgba(28,43,35,.1); font: 700 9px/1 ui-monospace, monospace; letter-spacing: .06em; }
.travel-map-label { position: absolute; z-index: 5; max-width: 140px; border-radius: 999px; padding: 8px 11px; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(20,37,28,.15); color: #1c2822; font-size: 10px; font-weight: 800; text-align: center; }
.travel-map-canvas.level-world { background: radial-gradient(circle at 63% 34%,#dbe9e3,#b9d1c7 52%,#91b2a5); }
.travel-world-grid { fill: none; stroke: rgba(255,255,255,.34); stroke-width: 1; }
.travel-world-land { fill: rgba(246,245,224,.88); stroke: rgba(72,100,87,.3); stroke-width: 1.5; }
.travel-world-route { fill: none; stroke: #24362e; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2 9; }
.travel-world-origin { fill: #fff; stroke: #263b31; stroke-width: 3; }
.travel-world-destination { fill: #263b31; stroke: #fff; stroke-width: 4; }
.travel-map-canvas.level-city { background: #eee9dc; }
.travel-city-water { fill: #c5dcd8; }
.travel-city-road { fill: none; stroke: #fff; stroke-width: 8; stroke-linecap: round; }
.travel-city-road.major { stroke: #f8f6ef; stroke-width: 15; }
.travel-city-blocks rect { fill: #d8d0bb; stroke: #c4baa3; rx: 7; }
.travel-city-current { fill: #25362e; stroke: #fff; stroke-width: 4; }
.travel-city-pulse { fill: none; stroke: rgba(37,54,46,.32); stroke-width: 2; }
.travel-map-avatar { position: absolute; z-index: 8; display: grid; place-items: center; width: 46px; height: 46px; border: 5px solid #fff; border-radius: 50%; background: #1d2521; color: #fff; box-shadow: 0 9px 22px rgba(21,35,28,.22); font-weight: 900; }
.travel-map-avatar.city { left: 59.5%; top: 41.5%; transform: translate(-50%,-50%); }
.travel-map-canvas.level-local { background: #f2efe6; }
.travel-local-path { fill: none; stroke: #fff; stroke-width: 13; stroke-linecap: round; }
.travel-local-green { fill: #d6dfca; stroke: #c0ccb3; stroke-width: 1; }
.travel-local-route { fill: none; stroke: #273b32; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 7 6; }
.travel-local-nodes { position: absolute; inset: 0; z-index: 5; }
.travel-local-node { position: absolute; left: var(--map-x); top: var(--map-y); display: grid; transform: translate(-50%,-50%); justify-items: center; min-width: 74px; color: #6c756f; text-align: center; }
.travel-local-node i { width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: #a9b3ad; box-shadow: 0 2px 8px rgba(26,42,34,.2); }
.travel-local-node b { margin-top: 4px; border-radius: 8px; padding: 3px 5px; background: rgba(255,255,255,.82); font-size: 9px; }
.travel-local-node small { font-size: 8px; }
.travel-local-node.done i { background: #263a31; }
.travel-local-node.current i { width: 17px; height: 17px; background: #d0835d; }
.travel-map-avatar.local { left: var(--map-x); top: var(--map-y); transform: translate(-50%,-115%); }
.travel-map-detail { position: relative; z-index: 4; margin: -44px 13px 0; padding: 18px; border: 1px solid rgba(214,219,216,.95); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 15px 35px rgba(41,57,49,.11); }
.travel-map-detail > small { color: #818985; }
.travel-map-detail h2 { margin: 6px 0; }
.travel-map-detail p { color: var(--travel-muted); font-size: 12px; line-height: 1.65; }
.travel-map-detail > div:not(.travel-companion-panel) { display: flex; flex-wrap: wrap; gap: 6px; }
.travel-map-detail > div:not(.travel-companion-panel) span { padding: 6px 9px; border-radius: 999px; background: var(--travel-soft); font-size: 10px; }
.travel-companion-panel { display: grid; gap: 5px; margin-top: 14px; padding: 13px; border: 1px solid #d8ded9; border-radius: 15px; background: #f5f7f5; }
.travel-companion-panel.active { border-color: #c7d8cd; background: #eef5f0; }
.travel-companion-panel small { color: #77817b; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.travel-companion-panel strong { color: #1d2922; font-size: 13px; }
.travel-companion-panel p { margin: 0; font-size: 10px; line-height: 1.55; }
.travel-companion-panel button { width: 100%; margin-top: 5px; border: 0; border-radius: 12px; padding: 10px; background: #1b211e; color: #fff; font-weight: 800; }
.travel-companion-panel.active button { background: #735b50; }
.travel-map-levels { display: grid; grid-template-columns: repeat(3,1fr); margin: 14px; padding: 4px; border-radius: 999px; background: #e3e7e4; }
.travel-map-levels button { border: 0; border-radius: 999px; padding: 11px; background: transparent; color: #69716d; font-weight: 800; }
.travel-map-levels button.active { background: #1a201d; color: #fff; }
.travel-inbox-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.travel-inbox-summary button { min-width: 0; padding: 15px 8px; border: 1px solid var(--travel-line); border-radius: 19px; background: #fff; color: var(--travel-ink); text-align: center; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.travel-inbox-summary button:active { transform: scale(.97); }
.travel-inbox-summary button.active { border-color: #1f2924; background: #1f2924; color: #fff; box-shadow: 0 8px 20px rgba(31,41,36,.16); }
.travel-inbox-summary span { display: block; color: var(--travel-muted); font-size: 11px; }
.travel-inbox-summary button.active span { color: rgba(255,255,255,.72); }
.travel-inbox-summary strong { display: block; margin-top: 7px; font-size: 28px; }
.travel-inbox-list { display: grid; gap: 11px; margin-top: 14px; }
.travel-inbox-item { position: relative; border: 1px solid var(--travel-line); border-radius: 21px; padding: 16px; background: #fff; }
.travel-inbox-item.pending { border-color: #d8c9bc; background: #fffcf7; }
.travel-inbox-item.help.pending { border-color: #e2b9b9; background: #fff9f8; }
.travel-inbox-item.postcard,
.travel-inbox-item.gift { padding: 11px; border-radius: 18px; touch-action: pan-y; cursor: default; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.travel-inbox-item.postcard *,
.travel-inbox-item.gift * { -webkit-touch-callout: none; -webkit-user-drag: none; }
.travel-inbox-item.postcard.is-long-pressing,
.travel-inbox-item.gift.is-long-pressing { z-index: 2; border-color: #768c80; background: #f7faf8; box-shadow: 0 10px 24px rgba(35,54,44,.14); transform: scale(.985); }
.travel-inbox-item.postcard.is-long-pressing::after,
.travel-inbox-item.gift.is-long-pressing::after { content: ""; position: absolute; inset: 5px; pointer-events: none; border: 2px solid rgba(69,94,80,.62); border-radius: 14px; animation: travel-collectible-hold .58s linear both; }
.travel-inbox-item.postcard.is-long-press-fired,
.travel-inbox-item.gift.is-long-press-fired { border-color: #486556; box-shadow: 0 0 0 3px rgba(72,101,86,.13); transform: scale(.98); }
.travel-inbox-copy { min-width: 0; }
.travel-inbox-item header { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px dashed #d7dcda; color: #69716d; font-size: 10px; }
.travel-inbox-item h3 { margin: 12px 0 6px; }
.travel-inbox-item p { margin: 0; color: #67706b; font-size: 12px; line-height: 1.65; }
.travel-inbox-copy > small { display: block; margin-top: 10px; color: #8a918e; }
.travel-inbox-copy > button,
.travel-help-actions button { margin-top: 12px; border: 0; border-radius: 999px; padding: 9px 13px; background: #1c221f; color: #fff; font-weight: 800; }
.travel-inbox-photo { position: relative; display: block; width: 100%; height: clamp(190px, 48vw, 310px); overflow: hidden; margin: 0 0 14px; border: 0; border-radius: 15px; padding: 0; background: #e5e9e6; }
.travel-inbox-photo img { width: 100%; height: 100%; object-fit: cover; }
.travel-inbox-photo span { position: absolute; right: 9px; bottom: 9px; border-radius: 999px; padding: 6px 9px; background: rgba(18,27,23,.72); color: #fff; font-size: 9px; }
.travel-postcard-visual { position:relative; display:block; min-height:260px; overflow:hidden; margin:0 0 14px; border:1px solid rgba(48,65,57,.15); border-radius:18px; padding:12px; background:linear-gradient(155deg,#fbfaf5 0%,#f2efe5 100%); color:#26332d; box-shadow:0 15px 36px rgba(34,48,41,.12),inset 0 1px rgba(255,255,255,.85); }
.travel-postcard-visual::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:repeating-linear-gradient(90deg,hsl(var(--travel-hue) 46% 52%) 0 24px,#f7f2e7 24px 38px,hsl(calc(var(--travel-hue) + 155) 38% 56%) 38px 62px,#f7f2e7 62px 76px); opacity:.82; }
.travel-postcard-topline { display:flex!important; justify-content:space-between; gap:12px; padding:5px 2px 9px!important; border:0!important; color:#65726b!important; font:750 7px/1.2 ui-monospace,monospace!important; letter-spacing:.13em; }
.travel-postcard-topline b { overflow:hidden; max-width:58%; text-overflow:ellipsis; white-space:nowrap; }
.travel-postcard-panorama { position:relative; height:102px; overflow:hidden; border-radius:13px; background:linear-gradient(145deg,hsl(var(--travel-hue) 37% 72%),hsl(calc(var(--travel-hue) + 42) 42% 89%)); }
.travel-postcard-panorama::before { content:""; position:absolute; left:-8%; right:-8%; bottom:-50px; height:92px; border-radius:50%; background:rgba(247,248,241,.82); transform:rotate(-4deg); }
.travel-postcard-panorama > i { position:absolute; bottom:25px; width:72px; height:55px; background:rgba(30,54,43,.22); clip-path:polygon(50% 0,100% 100%,0 100%); }
.travel-postcard-panorama > i:nth-child(1) { left:7%; }
.travel-postcard-panorama > i:nth-child(2) { left:29%; width:96px; height:73px; opacity:.78; }
.travel-postcard-panorama > i:nth-child(3) { right:7%; width:62px; height:42px; opacity:.55; }
.travel-postcard-panorama > div { position:absolute; z-index:2; left:11px; bottom:9px; display:grid; gap:2px; max-width:72%; }
.travel-postcard-panorama > div small { color:rgba(34,52,43,.62); font:800 6px/1 ui-monospace,monospace; letter-spacing:.14em; }
.travel-postcard-panorama > div strong { overflow:hidden; color:#26372f; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.travel-postcard-seal { position:absolute; z-index:3; right:10px; top:9px; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.74); border-radius:50%; background:rgba(31,52,43,.68); color:#fff; font:700 6px/1 ui-monospace,monospace; letter-spacing:.08em; backdrop-filter:blur(6px); }
.travel-postcard-seal b { font-size:12px; }
.travel-postcard-letter { display:grid; grid-template-columns:minmax(0,1fr) 61px; gap:13px; padding:14px 3px 11px; }
.travel-postcard-letter section > small { color:#89928d; font:800 7px/1 ui-monospace,monospace; letter-spacing:.15em; }
.travel-postcard-letter p { margin:7px 0 0; color:#5d574c; font-family:"STKaiti","KaiTi",serif; font-size:12px; line-height:1.72; }
.travel-postcard-letter aside { position:relative; min-height:75px; border-left:1px dashed rgba(75,91,82,.23); }
.travel-postcard-letter aside > i { position:absolute; right:2px; width:40px; border-top:1px solid rgba(75,91,82,.22); transform:rotate(-10deg); }
.travel-postcard-letter aside > i:nth-of-type(1) { top:42px; }
.travel-postcard-letter aside > i:nth-of-type(2) { top:49px; }
.travel-postcard-letter aside > i:nth-of-type(3) { top:56px; }
.travel-postcard-stamp { position:absolute; z-index:2; right:2px; top:0; display:grid; place-items:center; width:42px; height:47px; border:1px dashed rgba(64,83,73,.48); border-radius:4px; background:linear-gradient(145deg,#fffdf7,#e7eee9); color:#4f665a; transform:rotate(3deg); }
.travel-postcard-stamp span,
.travel-postcard-stamp b,
.travel-postcard-stamp small { font:800 6px/1 ui-monospace,monospace; letter-spacing:.08em; }
.travel-postcard-stamp b { font-size:10px; }
.travel-postcard-address { display:grid!important; grid-template-columns:1fr 1fr; gap:5px 12px; margin:0!important; padding:10px 3px 1px!important; border:0!important; border-top:1px solid rgba(65,82,73,.13)!important; color:#4e5d55!important; font:800 8px/1.25 ui-monospace,monospace!important; letter-spacing:.04em; }
.travel-postcard-address span { display:flex; align-items:baseline; gap:6px; min-width:0; }
.travel-postcard-address small { color:#99a19d!important; font:800 6px/1 ui-monospace,monospace!important; letter-spacing:.12em; }
.travel-postcard-address em { grid-column:1/-1; overflow:hidden; color:#8a938e; font-style:normal; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.travel-gift-visual { display:grid; grid-template-columns:104px 1fr; gap:17px; align-items:center; min-height:130px; margin-bottom:14px; border-radius:15px; padding:16px; background:linear-gradient(145deg,hsl(var(--travel-hue) 36% 91%),#faf8f1); }
.travel-gift-box { position:relative; display:grid; place-items:center; width:92px; height:82px; border-radius:9px; background:hsl(var(--travel-hue) 35% 68%); color:#fff; box-shadow:0 11px 22px rgba(41,52,45,.15); }
.travel-gift-box::before { content:""; position:absolute; left:42px; top:0; bottom:0; width:8px; background:rgba(255,255,255,.74); }
.travel-gift-box i { position:absolute; left:0; right:0; top:33px; height:9px; background:rgba(255,255,255,.74); }
.travel-gift-box b { z-index:1; border-radius:999px; padding:4px 7px; background:rgba(33,45,39,.58); font-size:9px; letter-spacing:.12em; }
.travel-gift-visual > div:last-child small,
.travel-gift-visual > div:last-child strong,
.travel-gift-visual > div:last-child span { display:block; }
.travel-gift-visual > div:last-child small { color:#828b86; font:700 9px ui-monospace,monospace; }
.travel-gift-visual > div:last-child strong { margin-top:6px; }
.travel-gift-visual > div:last-child span { margin-top:8px; color:#65706a; font-size:11px; }
.travel-inbox-item.postcard .travel-postcard-visual { min-height: 0; margin-bottom: 9px; border-radius: 14px; padding: 8px; box-shadow: 0 8px 18px rgba(34,48,41,.09), inset 0 1px rgba(255,255,255,.85); }
.travel-inbox-item.postcard .travel-postcard-topline { gap: 7px; padding: 3px 1px 6px!important; }
.travel-inbox-item.postcard .travel-postcard-panorama { height: 60px; border-radius: 10px; }
.travel-inbox-item.postcard .travel-postcard-panorama::before { bottom: -61px; height: 83px; }
.travel-inbox-item.postcard .travel-postcard-panorama > i { bottom: 13px; width: 51px; height: 34px; }
.travel-inbox-item.postcard .travel-postcard-panorama > i:nth-child(2) { width: 67px; height: 46px; }
.travel-inbox-item.postcard .travel-postcard-panorama > i:nth-child(3) { width: 43px; height: 29px; }
.travel-inbox-item.postcard .travel-postcard-panorama > div { left: 8px; bottom: 6px; }
.travel-inbox-item.postcard .travel-postcard-panorama > div strong { font-size: 10px; }
.travel-inbox-item.postcard .travel-postcard-seal { right: 7px; top: 6px; width: 27px; height: 27px; }
.travel-inbox-item.postcard .travel-postcard-seal b { font-size: 9px; }
.travel-inbox-item.postcard .travel-postcard-letter { grid-template-columns: minmax(0,1fr) 43px; gap: 8px; padding: 8px 2px 6px; }
.travel-inbox-item.postcard .travel-postcard-letter p { display: -webkit-box; overflow: hidden; margin-top: 4px; font-size: 10.5px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.travel-inbox-item.postcard .travel-postcard-letter aside { min-height: 48px; }
.travel-inbox-item.postcard .travel-postcard-stamp { width: 33px; height: 36px; }
.travel-inbox-item.postcard .travel-postcard-letter aside > i { width: 31px; }
.travel-inbox-item.postcard .travel-postcard-letter aside > i:nth-of-type(1) { top: 34px; }
.travel-inbox-item.postcard .travel-postcard-letter aside > i:nth-of-type(2) { top: 40px; }
.travel-inbox-item.postcard .travel-postcard-letter aside > i:nth-of-type(3) { top: 46px; }
.travel-inbox-item.postcard .travel-postcard-address { gap: 3px 8px; padding: 6px 2px 0!important; font-size: 7px!important; }
.travel-inbox-item.gift .travel-gift-visual { grid-template-columns: 62px 1fr; gap: 10px; min-height: 68px; margin-bottom: 9px; border-radius: 13px; padding: 9px; }
.travel-inbox-item.gift .travel-gift-box { width: 56px; height: 52px; border-radius: 7px; box-shadow: 0 7px 14px rgba(41,52,45,.13); }
.travel-inbox-item.gift .travel-gift-box::before { left: 25px; width: 6px; }
.travel-inbox-item.gift .travel-gift-box i { top: 21px; height: 7px; }
.travel-inbox-item.gift .travel-gift-box b { padding: 3px 5px; font-size: 7px; }
.travel-inbox-item.gift .travel-gift-visual > div:last-child strong { margin-top: 3px; font-size: 12px; }
.travel-inbox-item.gift .travel-gift-visual > div:last-child span { overflow: hidden; margin-top: 4px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.travel-inbox-item.postcard .travel-inbox-copy header,
.travel-inbox-item.gift .travel-inbox-copy header { padding-bottom: 7px; }
.travel-inbox-item.postcard .travel-inbox-copy h3,
.travel-inbox-item.gift .travel-inbox-copy h3 { margin: 8px 0 4px; font-size: 14px; }
.travel-inbox-item.gift .travel-inbox-copy > p { display: -webkit-box; overflow: hidden; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.travel-inbox-item.postcard .travel-inbox-copy > small,
.travel-inbox-item.gift .travel-inbox-copy > small { margin-top: 7px; font-size: 9px; }
.travel-help-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.travel-help-actions button:last-child { background: #eef1ef; color: #222a26; }
.travel-archive-hero { padding: 27px 19px; border-radius: 28px; background: linear-gradient(145deg,#e1e8e4,#f7f5ef); }
.travel-archive-hero > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 24px; }
.travel-archive-hero article { padding: 12px; border-left: 1px solid rgba(50,65,58,.18); }
.travel-archive-hero article:first-child { border-left: 0; }
.travel-archive-hero strong,
.travel-archive-hero span { display: block; }
.travel-archive-hero strong { font-size: 29px; }
.travel-archive-hero span { margin-top: 4px; color: #6b736f; font-size: 10px; }
.travel-archive-list { display: grid; gap: 10px; margin-top: 14px; }
.travel-archive-list > button { border: 1px solid var(--travel-line); border-radius: 20px; padding: 16px; background: #fff; text-align: left; color: var(--travel-ink); }
.travel-archive-list span { display: inline-block; border-radius: 999px; padding: 5px 8px; background: var(--travel-soft); color: #627068; font-size: 9px; }
.travel-archive-list strong { display: block; margin-top: 10px; font-size: 18px; }
.travel-archive-list p { margin: 6px 0; color: #69716d; font-size: 12px; }
.travel-archive-list small { color: #8a918e; }
.travel-empty { display: grid; place-items: center; min-height: 60vh; padding: 30px; text-align: center; }
.travel-empty.small { min-height: 260px; }
.travel-empty span { color: var(--travel-muted); }
.travel-empty h2 { margin: 8px 0; }
.travel-empty p { color: var(--travel-muted); line-height: 1.7; }
.travel-empty button { border: 0; border-radius: 999px; padding: 11px 18px; background: #1b211e; color: #fff; font-weight: 800; }
.travel-muted { color: var(--travel-muted); }
.travel-tabbar { position: fixed; z-index: 28; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: calc(9px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5,1fr); gap: 3px; max-width: 720px; margin: 0 auto; padding: 5px; border: 1px solid rgba(211,217,213,.9); border-radius: 23px; background: rgba(255,255,255,.9); box-shadow: 0 14px 34px rgba(24,39,31,.17); backdrop-filter: blur(20px); }
.travel-tabbar button { border: 0; border-radius: 18px; padding: 12px 3px; background: transparent; color: #747d78; font-size: 11px; font-weight: 800; }
.travel-tabbar button.active { background: #1a201d; color: #fff; }
.travel-chat-card { width: min(76vw, 330px); box-sizing: border-box; border: 1px solid rgba(201,207,203,.95); border-radius: 20px; padding: 15px; background: rgba(255,255,255,.88); color: #202724; box-shadow: 0 12px 28px rgba(35,48,41,.1); backdrop-filter: blur(16px); }
.travel-chat-card.gift,
.travel-chat-card.postcard { width: min(68vw, 286px); border-radius: 17px; padding: 12px; }
.travel-chat-card.postcard { background: #fffaf0; }
.travel-chat-card.help { border-color: #e1b9b7; background: #fff9f8; }
.travel-chat-card header { display: flex; justify-content: space-between; align-items: center; color: #7d8681; font-size: 10px; }
.travel-chat-card header em { border-radius: 999px; padding: 5px 8px; background: #ecefed; color: #59635e; font-style: normal; }
.travel-chat-card.gift header em,
.travel-chat-card.postcard header em { padding: 4px 7px; font-size: 9px; }
.travel-chat-card .travel-postcard-visual,
.travel-chat-card .travel-gift-visual { margin-top: 8px; margin-bottom: 8px; }
.travel-chat-card .travel-postcard-visual { min-height: 166px; border-radius: 13px; padding: 7px; }
.travel-chat-card .travel-postcard-topline { padding: 2px 1px 5px!important; font-size: 6px!important; }
.travel-chat-card .travel-postcard-panorama { height: 56px; border-radius: 9px; }
.travel-chat-card .travel-postcard-panorama > div strong { font-size: 10px; }
.travel-chat-card .travel-postcard-seal { right: 7px; top: 6px; width: 27px; height: 27px; font-size: 5px; }
.travel-chat-card .travel-postcard-seal b { font-size: 9px; }
.travel-chat-card .travel-postcard-letter { grid-template-columns:minmax(0,1fr) 38px; gap:6px; padding:7px 1px 5px; }
.travel-chat-card .travel-postcard-letter p { margin-top:5px; font-size:9px; line-height:1.48; }
.travel-chat-card .travel-postcard-letter aside { min-height: 55px; }
.travel-chat-card .travel-postcard-stamp { width: 31px; height: 35px; }
.travel-chat-card .travel-postcard-stamp span,
.travel-chat-card .travel-postcard-stamp b,
.travel-chat-card .travel-postcard-stamp small { font-size: 5px; }
.travel-chat-card .travel-postcard-stamp b { font-size: 8px; }
.travel-chat-card .travel-postcard-address { gap: 3px 8px; padding-top: 7px!important; font-size: 7px!important; }
.travel-chat-card .travel-gift-visual { grid-template-columns: 54px 1fr; min-height: 70px; gap: 8px; border-radius: 12px; padding: 8px; }
.travel-chat-card .travel-gift-box { width: 50px; height: 46px; border-radius: 7px; }
.travel-chat-card .travel-gift-box::before { left: 22px; width: 6px; }
.travel-chat-card .travel-gift-box i { top: 19px; height: 7px; }
.travel-chat-card .travel-gift-box b { padding: 3px 5px; font-size: 7px; }
.travel-chat-card .travel-gift-visual > div:last-child small { font-size: 7px; }
.travel-chat-card .travel-gift-visual > div:last-child strong { margin-top: 3px; font-size: 11px; }
.travel-chat-card .travel-gift-visual > div:last-child span { margin-top: 4px; font-size: 9px; }
.travel-chat-card.gift > strong,
.travel-chat-card.postcard > strong { margin-top: 8px; font-size: 14px; }
.travel-chat-card.gift > p,
.travel-chat-card.postcard > p { margin: 7px 0; font-size: 11px; line-height: 1.5; }
.travel-chat-card.gift > footer,
.travel-chat-card.postcard > footer { padding-top: 8px; }
.travel-chat-card > strong { display: block; margin-top: 12px; font-size: 17px; line-height: 1.35; }
.travel-chat-card > small { display: block; margin-top: 5px; color: #75807a; }
.travel-chat-card > p { margin: 11px 0; color: #626b66; font-size: 12px; line-height: 1.65; }
.travel-chat-card > b { display: block; margin: 7px 0; font: 700 25px/1.2 ui-monospace, monospace; }
.travel-chat-card > footer { display: flex; gap: 8px; padding-top: 11px; border-top: 1px dashed #d4d9d6; }
.travel-chat-card > footer button,
.travel-chat-help-actions button { flex: 1; border: 0; border-radius: 999px; padding: 9px; background: #eef1ef; color: #25302a; font-size: 11px; font-weight: 800; }
.travel-chat-card > footer button:last-child { background: #1c231f; color: #fff; }
.travel-chat-help-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.travel-chat-help-actions button { flex: 1 1 30%; }
@media (max-width: 560px) {
  .travel-page { padding-inline: 11px; }
  .travel-hero { grid-template-columns: 1fr; }
  .travel-character-select { width: 100%; grid-template-columns: auto 1fr; align-items: center; }
  .travel-recommend-grid { grid-template-columns: 1fr; }
  .travel-recommend-card { min-height: 132px; }
  .travel-recommend-card strong { margin-top: 13px; }
  .travel-ticket-card { padding: 15px; }
  .travel-ticket-route h2 { font-size: 25px; }
  .travel-ticket-time { grid-template-columns: 1fr; }
  .travel-ticket-meta { grid-template-columns: 1fr 1fr; }
  .travel-progress-rail span b { display: none; }
  .travel-info-grid { grid-template-columns: 1fr 1fr; }
}
html[data-ui-mode="dark"] .travel-app { --travel-ink:#edf2ef; --travel-muted:#9aa69f; --travel-paper:#121814; --travel-line:#35413b; --travel-soft:#232d28; background: linear-gradient(180deg,#111713,#171f1a); color: var(--travel-ink); }
html[data-ui-mode="dark"] .travel-section,
html[data-ui-mode="dark"] .travel-info-grid article,
html[data-ui-mode="dark"] .travel-inbox-summary button,
html[data-ui-mode="dark"] .travel-inbox-item,
html[data-ui-mode="dark"] .travel-archive-list > button { background:#171e1a; border-color:#35413b; color:#edf2ef; }
html[data-ui-mode="dark"] .travel-inbox-summary button.active { background:#edf2ef; border-color:#edf2ef; color:#171e1a; }
html[data-ui-mode="dark"] .travel-inbox-summary button.active span { color:#5c6962; }
html[data-ui-mode="dark"] .travel-form-grid input,
html[data-ui-mode="dark"] .travel-form-grid select,
html[data-ui-mode="dark"] .travel-character-select select { background-color:#151c18; border-color:#35413b; color:#edf2ef; }
.travel-inbox-item {
  contain: layout style;
  will-change: auto !important;
}
html.moss-ios-webkit .travel-tabbar { background-color: #fff !important; }
.travel-page {
  -webkit-overflow-scrolling: touch;
}
.travel-inbox-load-more {
  display: block;
  width: calc(100% - 28px);
  min-height: 44px;
  margin: 12px 14px calc(22px + env(safe-area-inset-bottom));
  padding: 10px 14px;
  border: 1px solid var(--moss-ui-line, rgba(90, 100, 110, .18));
  border-radius: 14px;
  background: var(--moss-ui-surface, var(--surface-strong, #fff));
  color: var(--moss-ui-text, var(--skin-text, #20242c));
  font: 700 13px/1.3 inherit;
  touch-action: manipulation;
}

/*# source: assets/css/features/forum.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
#appScreen .npc-candidate-list {display: grid; gap: 7px; max-height: 50vh; overflow: auto;}

#appScreen .npc-candidate-card {display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; padding: 10px; border: 1px solid rgba(91, 133, 176, .13); border-radius: 7px; background: rgba(248, 252, 255, .76);}

#appScreen .npc-candidate-card strong {display: block; font-size: 13px;}

#appScreen .npc-candidate-card small {display: block; margin-top: 2px; color: var(--tone-muted, #72808e); font-size: 11px;}

#appScreen .npc-candidate-card p {margin: 5px 0 0; color: #536373; font-size: 12px; line-height: 1.45;}

#appScreen .npc-candidate-card em {display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px;}

#appScreen .npc-candidate-card i {padding: 2px 6px; border-radius: 4px; background: rgba(99, 158, 220, .12); color: #4e83ba; font-size: 10px; font-style: normal;}

#appScreen .npc-candidate-card b {color: #9a6b6b; font-size: 11px;}

@media (max-width: 760px) {
#appScreen .npc-candidate-list {max-height: 38vh;}
}

.forum-detail-page .settings-back,
.forum-setting-generator .settings-back {border-color: var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent);
  color: var(--skin-text);}

/* Existing canonical module rules follow. */
/*
 * forum feature stylesheet.
 * Extracted from legacy app.css in 464.9.172.
 * Keep app-specific visual and structural rules here.
 */
.forum-gradient { background: linear-gradient(145deg, #f45b69, #f6b44b 54%, #2cb3a3); }
.forum-share-card {
  width: min(238px, 72vw);
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 14px;
  text-align: left;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
  border: 1px solid var(--skin-border);
  box-shadow: 0 10px 24px rgba(20, 24, 30, 0.12);
}
.forum-share-card span {
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;
}
.forum-share-card strong {
  font-size: 16px;
  line-height: 1.35;
}
.forum-share-card small {
  color: var(--skin-muted);
  line-height: 1.45;
}
.forum-share-card {
  border-left: 4px solid #f45b69;
}
.forum-share-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: end center;
  padding: 18px;
  background: rgba(0, 0, 0, 0.26);
}
.forum-share-picker {
  width: min(390px, 100%);
  max-height: min(72vh, 620px);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border-radius: 24px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--phone-bg) 94%, transparent);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
.forum-share-picker header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.forum-share-picker header button {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--skin-text);
  background: var(--surface-strong);
}
.forum-share-preview {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  background: var(--surface);
}
.forum-share-preview span,
.forum-share-preview p,
.forum-share-char-list small {
  color: var(--skin-muted);
}
.forum-share-preview p {
  margin: 0;
  line-height: 1.5;
}
.forum-share-char-list {
  min-height: 0;
  display: grid;
  gap: 8px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.forum-share-char-list button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 16px;
  color: var(--skin-text);
  background: var(--surface-strong);
  text-align: left;
}
.forum-share-avatar {
  width: 48px;
  height: 48px;
}
.forum-post {
  border: 1px solid var(--skin-border);
  background: var(--surface);
  color: var(--skin-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.forum-page {
  background: var(--phone-bg);
  color: var(--skin-text);
}
.forum-post h2 {
  color: var(--skin-accent);
  letter-spacing: 0.02em;
}
.forum-comment-form input {
  border-color: var(--skin-border);
  background: var(--surface-strong);
  color: var(--skin-text);
}
.forum-post,
.forum-comments {
  background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
}
.forum-gradient {
  color: var(--glass-icon-text) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.025)),
    var(--glass-icon-bg) !important;
  border: 1px solid var(--glass-icon-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 10px 28px rgba(0, 0, 0, 0.14) !important;
  backdrop-filter: blur(20px) saturate(1.25);
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
}
.forum-post h2 {
  color: var(--skin-text) !important;
}
.forum-post,
.forum-comments {
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}
.forum-comment,
.forum-comment span {
  color: var(--skin-text) !important;
}
.forum-comment-form input {
  background: var(--surface-strong) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}
.forum-tab.active {
  background: var(--skin-accent) !important;
  color: var(--phone-bg) !important;
}
.forum-post-stats {
  color: var(--skin-muted) !important;
}
.forum-app {
  gap: 14px !important;
  padding: 14px !important;
}
.forum-post,
.forum-comments,
.forum-post-full,
.forum-board-config,
.forum-share-picker {
  border: 1px solid color-mix(in srgb, var(--skin-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
}
.forum-post,
.forum-comments,
.forum-post-full,
.forum-board-config,
.forum-share-picker {
  border-radius: 24px !important;
}
.forum-post h2,
.forum-detail-head h2,
.forum-share-picker strong {
  color: var(--skin-text) !important;
  letter-spacing: 0 !important;
}
.forum-post p,
.forum-post-stats,
.forum-hidden-tip,
.forum-status,
.forum-share-preview p,
.forum-share-char-list small {
  color: var(--skin-muted) !important;
}
.forum-post button,
.forum-detail-head button,
.forum-comment-form button,
.forum-share-picker button {
  min-height: 38px;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent) !important;
  background: color-mix(in srgb, var(--phone-bg) 72%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--skin-text) 6%, transparent);
}
.forum-refresh-button,
.forum-add-button {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.forum-comment-form input {
  border-radius: 18px !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 82%, transparent) !important;
  color: var(--skin-text) !important;
}
.forum-share-overlay {
  background: color-mix(in srgb, #000 38%, transparent) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.forum-share-char-list {
  max-height: min(420px, 62vh) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
.forum-share-char-list button {
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--phone-bg) 76%, transparent) !important;
}
:root[data-ui-mode="dark"] .forum-post,
:root[data-ui-mode="dark"] .forum-comments,
:root[data-ui-mode="dark"] .forum-post-full,
:root[data-ui-mode="dark"] .forum-share-picker {
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent) !important;
}
:root[data-ui-mode="dark"] .forum-comment,
:root[data-ui-mode="dark"] .forum-discussion,
:root[data-ui-mode="dark"] .forum-discussion p {
  background: color-mix(in srgb, var(--phone-bg) 70%, transparent) !important;
  border-color: color-mix(in srgb, var(--skin-border) 82%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .forum-comment strong,
:root[data-ui-mode="dark"] .forum-comment span,
:root[data-ui-mode="dark"] .forum-discussion strong,
:root[data-ui-mode="dark"] .forum-discussion span {
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .forum-comment small {
  color: var(--skin-muted) !important;
}
.forum-toolbar {
  align-items: center;
}
.forum-tab,
.forum-refresh-button,
.forum-add-button {
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.forum-tab:active,
.forum-refresh-button:active,
.forum-add-button:active {
  transform: scale(0.97);
}
.forum-tab {
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent) !important;
  color: var(--skin-text) !important;
}
.forum-tab.active {
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}
.forum-comment,
.forum-discussion {
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent) !important;
}
.forum-app {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
.forum-post {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.forum-app {
  background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
.forum-post,
.forum-share-picker {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.forum-comment-form input {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent) !important;
}
.forum-refresh-button,
.forum-add-button {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-sm) !important;
  font-size: 14px !important;
}
.forum-refresh-button,
.forum-add-button {
  color: #fff !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}
.forum-app {
  color: var(--skin-text) !important;
}
.forum-app {
  background: var(--phone-bg) !important;
}
.forum-post,
.forum-comments,
.forum-post-full,
.forum-share-picker {
  border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.forum-comment-form input {
  width: 100%;
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 74%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent) !important;
}
.forum-refresh-button,
.forum-add-button {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-sm) !important;
  font-size: var(--skin-control-font) !important;
  font-weight: 800 !important;
}
.forum-refresh-button,
.forum-add-button {
  color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}
.forum-app {
  padding: var(--skin-page-pad) !important;
}
.forum-share-overlay {
  background: rgba(34, 26, 20, 0.42) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.forum-share-picker {
  background: var(--surface-strong) !important;
}
:root[data-ui-mode="dark"] .forum-search-bar,
:root[data-ui-mode="dark"] .forum-hot-searches,
:root[data-ui-mode="dark"] .forum-channel-summary,
:root[data-ui-mode="dark"] .forum-detail-note,
:root[data-ui-mode="dark"] .forum-comment-thread,
:root[data-ui-mode="dark"] .forum-note-card {
  background: color-mix(in srgb, var(--phone-bg) 76%, #fff 6%) !important;
  border-color: color-mix(in srgb, var(--skin-border) 88%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .forum-title-block h1,
:root[data-ui-mode="dark"] .forum-hot-searches strong,
:root[data-ui-mode="dark"] .forum-channel-summary span,
:root[data-ui-mode="dark"] .forum-note-title,
:root[data-ui-mode="dark"] .forum-detail-note h1,
:root[data-ui-mode="dark"] .forum-detail-note p,
:root[data-ui-mode="dark"] .forum-detail-author strong {
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .forum-title-block p,
:root[data-ui-mode="dark"] .forum-channel-summary p,
:root[data-ui-mode="dark"] .forum-note-summary,
:root[data-ui-mode="dark"] .forum-note-meta {
  color: rgba(237, 237, 239, 0.76) !important;
}
:root[data-ui-mode="dark"] .forum-search-bar input {
  background: color-mix(in srgb, var(--phone-bg) 82%, #fff 8%) !important;
  color: var(--skin-text) !important;
  border: 1px solid var(--skin-border) !important;
}
body.theme-apple .forum-app {
  color: var(--skin-text) !important;
  background-color: var(--phone-bg) !important;
  background-image: none !important;
}
body.theme-apple .forum-gradient {
  color: #4c5663 !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(235, 240, 247, 0.66)),
    rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(112, 122, 136, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.88), 0 9px 22px rgba(74, 87, 110, 0.10) !important;
  backdrop-filter: blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
}
body.theme-apple .forum-share-card {
  border-left-color: #9bb7d9 !important;
}
html[data-ui-mode="dark"] body.theme-apple .forum-gradient {
  color: #dfe4ec !important;
  background:
    linear-gradient(145deg, rgba(54, 57, 66, 0.92), rgba(32, 34, 41, 0.72)),
    rgba(38, 40, 48, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.095) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.09), 0 9px 22px rgba(0, 0, 0, 0.22) !important;
}
html[data-ui-mode="dark"] body.theme-apple .forum-share-card {
  border-left-color: #8fb1d9 !important;
}
.forum-v3 {
  --ef-bg: color-mix(in srgb, var(--phone-bg, #f4f7fb) 78%, #f7efe6 22%);
  --ef-bg-2: color-mix(in srgb, var(--skin-page, var(--phone-bg, #f4f7fb)) 82%, #fff7ed 18%);
  --ef-surface: color-mix(in srgb, var(--surface-strong, #fff) 76%, #fffaf4 24%);
  --ef-card: color-mix(in srgb, var(--surface-strong, #fff) 70%, #fff8ef 30%);
  --ef-panel: color-mix(in srgb, var(--surface, #fbfdff) 72%, #f7efe7 28%);
  --ef-line: color-mix(in srgb, var(--skin-border, rgba(38,60,84,.14)) 74%, #b89a68 26%);
  --ef-text: color-mix(in srgb, var(--skin-text, #25303b) 88%, #3f332d 12%);
  --ef-title: color-mix(in srgb, var(--skin-title, #1f2933) 86%, #2d2420 14%);
  --ef-muted: color-mix(in srgb, var(--skin-muted, #6c7985) 80%, #8d7b70 20%);
  --ef-accent: color-mix(in srgb, var(--skin-accent, #426f9f) 72%, #8f5360 28%);
  --ef-accent-2: color-mix(in srgb, var(--skin-accent-2, #8fb4da) 54%, #b89a68 46%);
  --ef-shadow: 0 20px 58px color-mix(in srgb, var(--skin-text, #25303b) 10%, transparent);
  position: relative;
  min-height: 100%;
  padding: 14px 14px 90px;
  color: var(--ef-text);
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--ef-accent-2) 18%, transparent), transparent 30%),
    radial-gradient(circle at 100% 7%, color-mix(in srgb, var(--ef-accent) 12%, transparent), transparent 24%),
    linear-gradient(180deg, var(--ef-bg), var(--ef-bg-2));
  overflow: auto;
}
body.theme-tone-light-green .forum-v3,
body.theme-tone-mist-teal .forum-v3 {
  --ef-accent: color-mix(in srgb, var(--skin-accent, #456f5b) 70%, #8f6b5d 30%);
  --ef-accent-2: #b49a6a;
}
html[data-ui-mode="dark"] .forum-v3,
body.theme-tone-deep-coffee .forum-v3,
body.theme-tone-dark-gray .forum-v3,
body.theme-tone-dark-berry .forum-v3,
body.theme-tone-ink-green .forum-v3 {
  --ef-bg: color-mix(in srgb, var(--phone-bg, #171a1f) 84%, #21151a 16%);
  --ef-bg-2: color-mix(in srgb, var(--phone-bg, #171a1f) 86%, #2b1c22 14%);
  --ef-surface: color-mix(in srgb, var(--surface-strong, #272c34) 80%, #322028 20%);
  --ef-card: color-mix(in srgb, var(--surface-strong, #272c34) 82%, #2b1d22 18%);
  --ef-panel: color-mix(in srgb, var(--surface, #20242b) 82%, #24191d 18%);
  --ef-text: var(--skin-text, #edf0f4);
  --ef-title: var(--skin-title, #fff);
  --ef-muted: var(--skin-muted, #a9b1bd);
  --ef-line: color-mix(in srgb, var(--skin-border, rgba(237,240,244,.15)) 76%, #b89a68 24%);
  --ef-accent: color-mix(in srgb, var(--skin-accent, #8ea2bd) 70%, #c78fa0 30%);
  --ef-accent-2: color-mix(in srgb, var(--skin-accent-2, #53677f) 50%, #b89a68 50%);
  --ef-shadow: 0 22px 70px rgba(0,0,0,.34);
}
.forum-v3::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--ef-text) 4%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in srgb, var(--ef-text) 3%, transparent) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .36;
  pointer-events: none;
}
.forum-v3 > * {
  position: relative;
  z-index: 1;
}
.forum-v3-hero,
.forum-v3-search-card,
.forum-v3-engine,
.forum-v3-board-card,
.forum-v3 .forum-note-card,
.forum-v3 .forum-channel-summary,
.forum-v3 .forum-hot-searches {
  border: 1px solid var(--ef-line) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ef-accent-2) 13%, transparent), transparent 42%),
    linear-gradient(135deg, color-mix(in srgb, var(--ef-card) 88%, transparent), color-mix(in srgb, var(--ef-panel) 58%, transparent)) !important;
  box-shadow: var(--ef-shadow) !important;
  color: var(--ef-text) !important;
}
.forum-v3-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 15px;
  border-radius: 24px;
}
.forum-v3-title-block > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--ef-accent-2) 30%, transparent);
  background: color-mix(in srgb, var(--ef-surface) 48%, transparent);
  color: var(--ef-accent);
  font-size: 10px;
  letter-spacing: .16em;
  font-weight: 800;
}
.forum-v3-title-block h1 {
  margin: 13px 0 0;
  color: var(--ef-title);
  font-size: 26px;
  line-height: 1.1;
  font-weight: 520;
  font-family: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
}
.forum-v3-title-block p {
  margin: 10px 0 0;
  color: var(--ef-muted);
  font-size: 12px;
  line-height: 1.72;
}
.forum-v3 .forum-header-actions {
  display: grid;
  gap: 8px;
}
.forum-v3 .forum-round-button {
  border-color: var(--ef-line);
  background: color-mix(in srgb, var(--ef-surface) 66%, transparent);
  color: var(--ef-title);
}
.forum-v3 .forum-round-button.accent,
.forum-v3 .forum-refresh-pill,
.forum-v3-wide-button.accent {
  border-color: color-mix(in srgb, var(--ef-accent) 24%, transparent) !important;
  background: linear-gradient(135deg, var(--ef-accent), color-mix(in srgb, var(--ef-accent) 72%, #372029)) !important;
  color: #fff !important;
}
.forum-v3-mode-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 11px;
}
.forum-mode-tab {
  min-height: 40px;
  border: 1px solid var(--ef-line);
  border-radius: 15px;
  background: color-mix(in srgb, var(--ef-surface) 55%, transparent);
  color: var(--ef-muted);
  font-size: 11px;
}
.forum-mode-tab.active {
  color: #fff;
  background: linear-gradient(135deg, var(--ef-accent), color-mix(in srgb, var(--ef-accent) 72%, #372029));
  border-color: color-mix(in srgb, var(--ef-accent) 22%, transparent);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--ef-accent) 15%, transparent);
}
.forum-v3-search-card {
  margin-top: 11px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 9px;
  align-items: center;
  padding: 9px;
  border-radius: 18px;
}
.forum-v3 .forum-search-bar {
  min-height: 42px;
  border-color: var(--ef-line);
  background: color-mix(in srgb, var(--ef-surface) 58%, transparent);
  color: var(--ef-text);
}
.forum-v3 .forum-search-bar input {
  color: var(--ef-text);
}
.forum-v3-board-strip,
.forum-v3-channel-strip,
.forum-v3-hot-tags {
  margin-top: 12px;
}
.forum-v3 .forum-board-pill,
.forum-v3 .forum-channel-tab,
.forum-v3-hot-tags button {
  border-color: var(--ef-line) !important;
  background: color-mix(in srgb, var(--ef-surface) 55%, transparent) !important;
  color: var(--ef-muted) !important;
}
.forum-v3 .forum-board-pill.active,
.forum-v3 .forum-channel-tab.active,
.forum-v3-hot-tags button:active {
  color: var(--ef-title) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ef-accent-2) 15%, transparent), color-mix(in srgb, var(--ef-accent) 8%, transparent)) !important;
  border-color: color-mix(in srgb, var(--ef-accent-2) 32%, var(--ef-line)) !important;
}
.forum-v3-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 10px;
  margin: 14px 2px 10px;
}
.forum-v3-section-head h2 {
  margin: 0;
  color: var(--ef-title);
  font-size: 19px;
  font-weight: 590;
}
.forum-v3-section-head span {
  color: var(--ef-muted);
  font-size: 11px;
}
.forum-v3-feed {
  margin-top: 10px;
}
.forum-v3 .forum-note-card {
  border-radius: 22px !important;
  overflow: hidden;
}
.forum-v3 .forum-note-title,
.forum-v3 .forum-detail-note h1 {
  color: var(--ef-title) !important;
}
.forum-v3 .forum-note-summary,
.forum-v3 .forum-note-meta,
.forum-v3 .forum-channel-summary p,
.forum-v3 .forum-hot-searches strong {
  color: var(--ef-muted) !important;
}
.forum-v3 .forum-type-badge {
  background: color-mix(in srgb, var(--ef-accent) 9%, transparent) !important;
  color: var(--ef-accent) !important;
}
.forum-v3-board-list {
  display: grid;
  gap: 10px;
}
.forum-v3-board-card {
  width: 100%;
  padding: 14px;
  border-radius: 24px;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.forum-v3-avatar {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ef-accent), color-mix(in srgb, var(--ef-accent-2) 70%, #fff));
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 21px;
  font-weight: 800;
  box-shadow: 0 13px 28px color-mix(in srgb, var(--ef-accent) 14%, transparent);
}
.forum-v3-board-info strong {
  display: block;
  color: var(--ef-title);
  font-size: 16px;
  margin-bottom: 6px;
}
.forum-v3-board-info p {
  margin: 0;
  color: var(--ef-muted);
  font-size: 11px;
  line-height: 1.55;
}
.forum-v3-kv {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.forum-v3-kv span,
.forum-v3-board-card > small {
  color: var(--ef-muted);
  font-size: 10px;
  letter-spacing: .06em;
}
.forum-v3-wide-button {
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  border: 1px solid var(--ef-line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--ef-surface) 58%, transparent);
  color: var(--ef-text);
}
.forum-v3-engine {
  padding: 14px;
  border-radius: 22px;
}
.forum-v3-engine h3 {
  margin: 0 0 8px;
  color: var(--ef-title);
  font-size: 16px;
}
.forum-v3-engine p {
  margin: 0;
  color: var(--ef-muted);
  font-size: 12px;
  line-height: 1.75;
}
.forum-v3-steps {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.forum-v3-steps div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--ef-text) 8%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--ef-surface) 48%, transparent);
}
.forum-v3-steps b {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--ef-accent-2), var(--ef-accent));
  color: #fff;
  font-size: 12px;
}
.forum-v3-steps span {
  color: var(--ef-muted);
  font-size: 12px;
}
@media (max-height: 760px) {
  .forum-v3-title-block h1 { font-size: 22px; }
  .forum-v3 { padding-top: 10px; } }
.forum-v4 {
  --forum-blue: #4d8fd6;
  --forum-blue-soft: #edf5fd;
  --forum-bg: #f4f5f7;
  --forum-paper: #fff;
  --forum-line: #e8eaed;
  --forum-text: #20242a;
  --forum-muted: #8b929c;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 82px;
  color: var(--forum-text);
  background: var(--forum-bg);
  font-family: var(--app-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.forum-v4 *,
.forum-v4 *::before,
.forum-v4 *::after { box-sizing: border-box; }
.forum-v4 button,
.forum-v4 input,
.forum-v4 textarea,
.forum-v4 select { font: inherit; }
.forum-v4 button { border: 0; color: inherit; background: transparent; -webkit-tap-highlight-color: transparent; }
.forum-v4-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 10px;
  padding: 13px 15px 10px;
  background: var(--forum-paper);
  border-bottom: 1px solid var(--forum-line);
}
.forum-v4-top h2,
.forum-v4-board-profile h2,
.forum-v4-form-head h2 { margin: 0; color: var(--forum-text); font-size: 18px; line-height: 1.25; font-weight: 760; }
.forum-v4-top p,
.forum-v4-board-profile p,
.forum-v4-form-head p { margin: 3px 0 0; color: var(--forum-muted); font-size: 11px; line-height: 1.4; }
.forum-v4-top > button {
  width: 32px; height: 32px; border-radius: 9px; background: var(--forum-blue);
  color: #fff; font-size: 21px; line-height: 1; font-weight: 500;
}
.forum-v4-search {
  min-height: 34px; display: flex; align-items: center; gap: 7px;
  margin: 9px 12px; padding: 0 10px; border-radius: 9px;
  background: #e9ebee; color: var(--forum-muted);
}
.forum-v4-search span { font-size: 16px; transform: translateY(-1px); }
.forum-v4-search input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 0; background: transparent; color: var(--forum-text); font-size: 12px; }
.forum-v4-section { margin-top: 8px; background: var(--forum-paper); border-top: 1px solid var(--forum-line); border-bottom: 1px solid var(--forum-line); }
.forum-v4-section > header,
.forum-v4-floor-divider {
  min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 0 14px; border-bottom: 1px solid var(--forum-line);
}
.forum-v4-section > header strong,
.forum-v4-floor-divider span { font-size: 13px; font-weight: 760; }
.forum-v4-section > header small,
.forum-v4-floor-divider small { color: var(--forum-muted); font-size: 10px; }
.forum-v4-hot-list,
.forum-v4-board-list,
.forum-v4-post-list,
.forum-v4-floors { display: grid; gap: 0; background: var(--forum-paper); }
.forum-v4-hot-row {
  width: 100%; min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) 12px;
  align-items: center; gap: 8px; padding: 9px 13px; text-align: left; border-bottom: 1px solid var(--forum-line) !important;
}
.forum-v4-hot-row:last-child { border-bottom: 0 !important; }
.forum-v4-hot-row > b { color: var(--forum-blue); font-size: 13px; text-align: center; font-weight: 800; }
.forum-v4-hot-row > span { min-width: 0; display: grid; gap: 3px; }
.forum-v4-hot-row strong { overflow: hidden; color: var(--forum-text); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-hot-row small { overflow: hidden; color: var(--forum-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-hot-row > i { color: #c1c5ca; font-size: 18px; font-style: normal; }
.forum-v4-board { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 30px; align-items: center; min-width: 0; padding: 10px 11px 10px 13px; border-bottom: 1px solid var(--forum-line); background: var(--forum-paper); }
.forum-v4-board:last-child { border-bottom: 0; }
.forum-v4-board-open { min-width: 0; display: grid; grid-template-columns: 43px minmax(0, 1fr) 36px; align-items: center; gap: 9px; text-align: left; }
.forum-v4-board-icon {
  width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #dbe8f5;
  border-radius: 10px; background: linear-gradient(145deg, #f7fbff, #e7f1fb); color: var(--forum-blue); font-size: 20px; font-weight: 800;
}
.forum-v4-board-icon.large { width: 48px; height: 48px; border-radius: 11px; font-size: 22px; }
.forum-v4-board-main { min-width: 0; display: grid; gap: 2px; }
.forum-v4-board-title { min-width: 0; display: flex; align-items: center; gap: 6px; }
.forum-v4-board-title strong { min-width: 0; overflow: hidden; color: var(--forum-text); font-size: 13px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-board-title i { flex: 0 0 auto; padding: 1px 5px; border-radius: 4px; background: var(--forum-blue-soft); color: var(--forum-blue); font-size: 9px; font-style: normal; }
.forum-v4-board-main > small,
.forum-v4-board-main > em { overflow: hidden; color: var(--forum-muted); font-size: 10px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-count { display: grid; justify-items: end; gap: 0; color: var(--forum-muted); }
.forum-v4-count b { color: #686f78; font-size: 10px; font-weight: 650; }
.forum-v4-count small { font-size: 9px; }
.forum-v4-board-manage { width: 28px; height: 30px; color: #a2a8b0 !important; font-size: 13px !important; letter-spacing: 1px; }
.forum-v4-board-head { background: var(--forum-paper); border-bottom: 1px solid var(--forum-line); }
.forum-v4-board-nav,
.forum-v4-detail-nav,
.forum-v4-form-head {
  min-height: 43px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 46px; align-items: center; padding: 0 7px; border-bottom: 1px solid var(--forum-line);
}
.forum-v4-board-nav > button,
.forum-v4-detail-nav > button,
.forum-v4-form-head > button { min-width: 36px; min-height: 34px; color: #606770; font-size: 12px; }
.forum-v4-board-nav > button:first-child,
.forum-v4-detail-nav > button:first-child,
.forum-v4-form-head > button:first-child { font-size: 26px; font-weight: 300; }
.forum-v4-board-nav > strong { overflow: hidden; font-size: 14px; font-weight: 700; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-board-profile { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 11px 13px 12px; }
.forum-v4-board-profile h2 { font-size: 16px; }
.forum-v4-board-profile p { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-board-profile small { display: block; margin-top: 4px; color: #a0a5ac; font-size: 9px; line-height: 1.3; }
.forum-v4-board-profile > button { min-height: 28px; padding: 0 9px; border: 1px solid var(--forum-blue); border-radius: 7px; color: var(--forum-blue); font-size: 10px; font-weight: 700; }
.forum-v4-board-profile > button.checked { border-color: #d7dbe0; color: #979da5; background: #f5f6f7; }
.forum-v4-filter { display: flex; gap: 2px; overflow-x: auto; padding: 0 9px; background: var(--forum-paper); border-top: 1px solid var(--forum-line); border-bottom: 1px solid var(--forum-line); scrollbar-width: none; }
.forum-v4-filter::-webkit-scrollbar { display: none; }
.forum-v4-filter button { flex: 0 0 auto; min-height: 35px; padding: 0 9px; color: #7c838c; font-size: 11px; }
.forum-v4-filter button.active { position: relative; color: var(--forum-blue); font-weight: 720; }
.forum-v4-filter button.active::after { content: ""; position: absolute; right: 9px; bottom: 0; left: 9px; height: 2px; border-radius: 2px; background: var(--forum-blue); }
.forum-v4-filter .forum-v4-refresh { margin-left: auto; color: var(--forum-blue); }
.forum-v4-status { margin: 7px 10px; padding: 6px 9px; border-radius: 7px; background: var(--forum-blue-soft); color: #5d7894; font-size: 10px; line-height: 1.4; }
.forum-v4-post-list { margin-top: 8px; border-top: 1px solid var(--forum-line); border-bottom: 1px solid var(--forum-line); }
.forum-v4-post-row { width: 100%; min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: start; gap: 8px; padding: 10px 11px; text-align: left; border-bottom: 1px solid var(--forum-line) !important; background: var(--forum-paper) !important; }
.forum-v4-post-row:last-child { border-bottom: 0 !important; }
.forum-v4-reply-count { width: 32px; min-height: 34px; display: grid; place-content: center; justify-items: center; border-radius: 7px; background: #f0f2f4; color: #8b929a; }
.forum-v4-reply-count b { font-size: 11px; font-weight: 700; }
.forum-v4-reply-count small { margin-top: -1px; font-size: 8px; }
.forum-v4-post-main { min-width: 0; display: grid; gap: 4px; }
.forum-v4-post-main > strong { color: var(--forum-text); font-size: 13px; line-height: 1.35; font-weight: 670; overflow-wrap: anywhere; }
.forum-v4-post-main > strong > b { display: inline-flex; margin-right: 5px; padding: 1px 4px; border-radius: 3px; background: var(--forum-blue); color: #fff; font-size: 9px; vertical-align: 1px; }
.forum-v4-post-main > small { display: -webkit-box; overflow: hidden; color: #747b84; font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-v4-post-foot { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 7px; color: var(--forum-muted); font-size: 9px; }
.forum-v4-post-foot em { min-width: 0; display: flex; align-items: center; overflow: hidden; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-post-foot > span { flex: 0 0 auto; }
.forum-v4-mini-avatar { width: 14px; height: 14px; display: inline-grid; place-items: center; margin-right: 4px; border-radius: 50%; background: #e9eef4; color: #6e849a; font-size: 8px; font-style: normal; }
.forum-v4-row-tags { display: flex; align-items: center; gap: 4px; min-height: 16px; }
.forum-v4-row-tags i,
.forum-v4-badge { display: inline-flex; align-items: center; min-height: 15px; padding: 0 4px; border-radius: 3px; background: #f1f2f4; color: #9399a1; font-size: 8px; font-style: normal; font-weight: 600; }
.forum-v4-badge.role,
.forum-v4-badge.guess,
.forum-v4-badge.exposed { background: var(--forum-blue-soft); color: var(--forum-blue); }
.forum-v4-badge.anon { border: 1px dashed #cfd3d8; background: transparent; }
.forum-v4-badge.user { color: var(--forum-blue); }
.forum-v4-thumb { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; background: #edf2f7; color: #8296aa; font-size: 9px; }
.forum-v4-compose-fab { position: fixed; right: 18px; bottom: calc(74px + env(safe-area-inset-bottom)); z-index: 50; min-height: 34px; display: flex; align-items: center; gap: 5px; padding: 0 12px; border-radius: 17px; background: var(--forum-blue) !important; color: #fff !important; box-shadow: 0 5px 16px rgba(48, 105, 166, .26); font-size: 11px; font-weight: 700; }
.forum-v4-compose-fab span { font-size: 14px; }
.forum-v4-detail { padding-bottom: 66px; }
.forum-v4-detail-nav { position: sticky; top: 0; z-index: 8; grid-template-columns: 38px minmax(0, 1fr) 50px; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.forum-v4-detail-nav > div { min-width: 0; display: grid; justify-items: center; }
.forum-v4-detail-nav strong { max-width: 100%; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-detail-nav small { color: var(--forum-muted); font-size: 8px; }
.forum-v4-owner,
.forum-v4-floor { padding: 12px 13px; border-bottom: 1px solid var(--forum-line); background: var(--forum-paper); }
.forum-v4-owner > header,
.forum-v4-floor > header { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: 8px; }
.forum-v4-owner > header > div,
.forum-v4-floor > header > div { min-width: 0; }
.forum-v4-owner > header strong,
.forum-v4-floor > header strong { color: #58616b; font-size: 11px; font-weight: 700; }
.forum-v4-owner > header p,
.forum-v4-floor > header p { margin: 2px 0 0; color: var(--forum-muted); font-size: 9px; line-height: 1.4; }
.forum-v4-owner > header > small,
.forum-v4-floor > header > small { color: #a8adb4; font-size: 9px; }
.forum-v4-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #edf1f5; color: #71869b; font-size: 11px; font-weight: 750; }
.forum-v4-avatar.role,
.forum-v4-avatar.anon-role { background: var(--forum-blue-soft); color: var(--forum-blue); }
.forum-v4-owner h1 { margin: 11px 0 7px; color: var(--forum-text); font-size: 17px; line-height: 1.38; font-weight: 730; overflow-wrap: anywhere; }
.forum-v4-owner > p,
.forum-v4-floor > p { margin: 8px 0; color: #353b42; font-size: 13px; line-height: 1.72; white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-v4-owner > footer,
.forum-v4-floor > footer,
.forum-v4-nested-reply > footer { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.forum-v4-owner footer button,
.forum-v4-floor footer button,
.forum-v4-nested-reply footer button { min-height: 26px; padding: 0 7px; border-radius: 5px; color: #7d858e; font-size: 9px; }
.forum-v4-owner footer button:active,
.forum-v4-floor footer button:active { background: #f0f2f4; }
.forum-v4-owner footer button.danger { color: #b56a67; }
.forum-v4-floor-divider { margin-top: 8px; background: var(--forum-paper); border-top: 1px solid var(--forum-line); }
.forum-v4-floor blockquote,
.forum-v4-nested-reply blockquote { margin: 7px 0; padding: 5px 7px; border-left: 2px solid #c9d7e5; background: #f5f7f9; color: #7b838c; font-size: 9px; line-height: 1.45; }
.forum-v4-nested-list { display: grid; gap: 0; margin: 9px 0 0 39px; border-radius: 7px; overflow: hidden; background: #f5f6f8; }
.forum-v4-nested-reply { padding: 8px 9px; border-bottom: 1px solid #e7e9ec; }
.forum-v4-nested-reply:last-child { border-bottom: 0; }
.forum-v4-nested-reply > header { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 7px; }
.forum-v4-nested-reply .forum-v4-avatar { width: 24px; height: 24px; font-size: 9px; }
.forum-v4-nested-reply header strong { color: #65707a; font-size: 10px; }
.forum-v4-nested-reply header p { margin: 1px 0 0; color: #9aa0a8; font-size: 8px; }
.forum-v4-nested-reply > p { margin: 6px 0; color: #424950; font-size: 11px; line-height: 1.55; }
.forum-v4-replybar { position: sticky; bottom: 0; z-index: 12; display: grid; grid-template-columns: 62px minmax(0, 1fr) 48px; gap: 6px; padding: 7px 9px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid var(--forum-line); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.forum-v4-replybar select,
.forum-v4-replybar input { width: 100%; min-width: 0; min-height: 32px; border: 1px solid #dfe2e6; border-radius: 8px; outline: 0; padding: 0 8px; background: #f5f6f7; color: var(--forum-text); font-size: 10px; }
.forum-v4-replybar button { border-radius: 8px; background: var(--forum-blue); color: #fff; font-size: 10px; font-weight: 700; }
.forum-v4-form-head { background: var(--forum-paper); }
.forum-v4-form-head > div { min-width: 0; text-align: center; }
.forum-v4-form-head h2 { font-size: 15px; }
.forum-v4-form-head p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-form { display: grid; gap: 0; margin-top: 8px; border-top: 1px solid var(--forum-line); border-bottom: 1px solid var(--forum-line); background: var(--forum-paper); }
.forum-v4-form > label { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 45px; padding: 6px 13px; border-bottom: 1px solid var(--forum-line); }
.forum-v4-form > label > span { color: #535b64; font-size: 11px; font-weight: 650; }
.forum-v4-form input,
.forum-v4-form textarea,
.forum-v4-form select { width: 100%; min-width: 0; min-height: 32px; border: 0; outline: 0; padding: 5px 7px; border-radius: 6px; background: #f4f5f7; color: var(--forum-text); font-size: 11px; }
.forum-v4-form textarea { resize: vertical; line-height: 1.5; }
.forum-v4-form > button[type="submit"] { min-height: 37px; margin: 11px 13px; border-radius: 8px; background: var(--forum-blue); color: #fff; font-size: 12px; font-weight: 700; }
.forum-v4-fieldset { min-width: 0; margin: 8px 13px 0; padding: 8px; border: 1px solid var(--forum-line); border-radius: 8px; }
.forum-v4-fieldset legend { padding: 0 4px; color: #59616a; font-size: 10px; font-weight: 700; }
.forum-v4-fieldset p { margin: 7px 2px 0; color: var(--forum-muted); font-size: 9px; line-height: 1.4; }
.forum-v4-speaker-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; max-height: 190px; overflow-y: auto; }
.forum-v4-speaker-row { min-width: 0; display: grid; grid-template-columns: 16px 22px minmax(0, 1fr); align-items: center; gap: 5px; min-height: 34px; padding: 4px 6px; border-radius: 7px; background: #f5f6f8; }
.forum-v4-speaker-row input { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; margin: 0; border: 1px solid #c6cbd1; border-radius: 4px; background: #fff; }
.forum-v4-speaker-row input:checked { position: relative; border-color: var(--forum-blue); background: var(--forum-blue); }
.forum-v4-speaker-row input:checked::after { content: ""; position: absolute; width: 6px; height: 3px; top: 3px; left: 3px; border-left: 1.5px solid #fff; border-bottom: 1.5px solid #fff; transform: rotate(-45deg); }
.forum-v4-speaker-avatar { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #e7eef5; color: #6d8399; font-size: 8px; }
.forum-v4-speaker-row > strong { min-width: 0; overflow: hidden; color: #4f5861; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v4-danger-zone { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 5px; margin: 0 13px 12px; padding: 8px; border: 1px solid #eee4e3; border-radius: 8px; background: #fffafa; }
.forum-v4-danger-zone > strong { color: #8b6b69; font-size: 10px; }
.forum-v4-danger-zone button { min-height: 29px; padding: 0 7px; border: 1px solid #e5d3d1; border-radius: 6px; color: #9b6d69; font-size: 9px; }
.forum-v4-danger-zone button.danger { border-color: #dba5a0; color: #b34f49; }
.forum-v4-empty { min-height: 150px; display: grid; place-content: center; justify-items: center; gap: 5px; padding: 25px; color: var(--forum-muted); text-align: center; }
.forum-v4-empty strong { color: #69717a; font-size: 12px; }
.forum-v4-empty span { font-size: 10px; line-height: 1.5; }
.forum-v4-analysis .forum-share-preview p { white-space: normal; }
.forum-v4-analysis-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
html[data-ui-mode="dark"] .forum-v4 {
  --forum-blue: #75a8dd; --forum-blue-soft: #253748; --forum-bg: #17191c; --forum-paper: #22252a;
  --forum-line: #30343a; --forum-text: #e6e9ed; --forum-muted: #939aa4;
}
html[data-ui-mode="dark"] .forum-v4-search,
html[data-ui-mode="dark"] .forum-v4-reply-count,
html[data-ui-mode="dark"] .forum-v4-speaker-row,
html[data-ui-mode="dark"] .forum-v4-form input,
html[data-ui-mode="dark"] .forum-v4-form textarea,
html[data-ui-mode="dark"] .forum-v4-form select,
html[data-ui-mode="dark"] .forum-v4-replybar input,
html[data-ui-mode="dark"] .forum-v4-replybar select { background: #2b2f34; color: var(--forum-text); }
html[data-ui-mode="dark"] .forum-v4-detail-nav,
html[data-ui-mode="dark"] .forum-v4-replybar { background: rgba(34,37,42,.96); }
html[data-ui-mode="dark"] .forum-v4-owner > p,
html[data-ui-mode="dark"] .forum-v4-floor > p,
html[data-ui-mode="dark"] .forum-v4-nested-reply > p { color: #d4d8dd; }
html[data-ui-mode="dark"] .forum-v4-nested-list,
html[data-ui-mode="dark"] .forum-v4-floor blockquote,
html[data-ui-mode="dark"] .forum-v4-nested-reply blockquote { background: #292d32; }
html[data-ui-mode="dark"] .forum-v4-danger-zone { border-color: #4a3737; background: #2b2425; }
@media (max-width: 350px) {
  .forum-v4-board-profile { grid-template-columns: 44px minmax(0, 1fr); }
  .forum-v4-board-profile > button { grid-column: 2; justify-self: start; }
  .forum-v4-post-row { grid-template-columns: 32px minmax(0, 1fr); }
  .forum-v4-thumb { display: none; }
  .forum-v4-speaker-list { grid-template-columns: 1fr; } }
:root[data-ui-mode="dark"] .forum-search-bar {
  background: var(--surface) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
}
html[data-ui-mode="dark"] body.theme-apple .forum-app {
  background-color: var(--phone-bg, #16171c) !important;
  background-image: none !important;
  color: var(--skin-text, #e4e7ec) !important;
}
.app-body:has(.forum-v4) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-x: clip !important;
}
.forum-v4 {
  --forum-blue: var(--moss-ui-accent);
  --forum-blue-soft: var(--moss-ui-accent-soft);
  --forum-bg: var(--moss-ui-canvas);
  --forum-paper: var(--moss-ui-surface);
  --forum-line: var(--moss-ui-line);
  --forum-text: var(--moss-ui-text);
  --forum-muted: var(--moss-ui-muted);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 100%;
  overflow-x: clip;
  padding: 0 0 calc(86px + var(--safe-bottom));
  background: var(--forum-bg);
  font-size: 16px;
}
.forum-v4 > * { max-width: 100%; }
.forum-v4-top {
  grid-template-columns: minmax(0,1fr) 44px;
  gap: 12px;
  padding: 20px var(--moss-ui-content-pad) 12px;
  border: 0;
  background: transparent;
}
.forum-v4-top h2,
.forum-v4-board-profile h2,
.forum-v4-form-head h2 {
  font-size: 21px;
  font-weight: 680;
  letter-spacing: -.025em;
}
.forum-v4-top p,
.forum-v4-board-profile p,
.forum-v4-form-head p {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.5;
}
.forum-v4-top > button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--forum-blue) 16%, var(--forum-line));
  border-radius: 15px;
  color: var(--forum-blue);
  background: var(--forum-blue-soft);
  box-shadow: none;
}
.forum-v4-search {
  min-height: 44px;
  margin: 0 var(--moss-ui-content-pad) 12px;
  padding: 0 13px;
  gap: 9px;
  border: 1px solid var(--forum-line);
  border-radius: 14px;
  background: var(--forum-paper);
  color: var(--forum-muted);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-search span { display: grid; place-items: center; font-size: 0; transform: none; }
.forum-v4-search input { font-size: 16px; }
.forum-v4-section,
.forum-v4-post-list {
  margin: 12px var(--moss-ui-content-pad) 0;
  overflow: hidden;
  border: 1px solid var(--forum-line);
  border-radius: 18px;
  background: var(--forum-paper);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-section > header,
.forum-v4-floor-divider {
  min-height: 46px;
  padding: 0 15px;
}
.forum-v4-section > header strong,
.forum-v4-floor-divider span { font-size: 15px; font-weight: 650; }
.forum-v4-section > header small,
.forum-v4-floor-divider small { font-size: 12px; }
.forum-v4-hot-row {
  min-height: 60px;
  grid-template-columns: 24px minmax(0,1fr) 14px;
  gap: 10px;
  padding: 11px 14px;
}
.forum-v4-hot-row > b { font-size: 14px; }
.forum-v4-hot-row strong { font-size: 14px; font-weight: 600; }
.forum-v4-hot-row small { font-size: 12px; }
.forum-v4-board {
  min-height: 76px;
  grid-template-columns: minmax(0,1fr) 44px;
  padding: 12px 8px 12px 14px;
}
.forum-v4-board-open {
  grid-template-columns: 48px minmax(0,1fr) 42px;
  gap: 11px;
}
.forum-v4-board-icon {
  width: 48px;
  height: 48px;
  border-color: color-mix(in srgb, var(--forum-blue) 18%, var(--forum-line));
  border-radius: 14px;
  background: var(--forum-blue-soft);
  color: var(--forum-blue);
  font-size: 21px;
}
.forum-v4-board-icon.large { width: 54px; height: 54px; border-radius: 16px; font-size: 23px; }
.forum-v4-board-main { gap: 4px; }
.forum-v4-board-title strong { font-size: 15px; font-weight: 650; }
.forum-v4-board-title i,
.forum-v4-badge,
.forum-v4-row-tags i { min-height: 19px; padding: 1px 6px; border-radius: 6px; font-size: 10px; }
.forum-v4-board-main > small,
.forum-v4-board-main > em { font-size: 12px; line-height: 1.45; }
.forum-v4-count b { color: var(--forum-text); font-size: 12px; }
.forum-v4-count small { font-size: 10px; }
.forum-v4-board-manage { width: 44px; height: 44px; display: grid; place-items: center; font-size: 0 !important; }
.forum-v4-board-head {
  margin: 12px var(--moss-ui-content-pad) 0;
  overflow: hidden;
  border: 1px solid var(--forum-line);
  border-radius: 18px;
  background: var(--forum-paper);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-board-nav,
.forum-v4-detail-nav,
.forum-v4-form-head {
  min-height: 50px;
  grid-template-columns: 44px minmax(0,1fr) 44px;
  padding: 0 4px;
}
.forum-v4-board-nav > button,
.forum-v4-detail-nav > button,
.forum-v4-form-head > button {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--forum-text);
  font-size: 13px;
}
.forum-v4-board-nav > button:first-child,
.forum-v4-detail-nav > button:first-child,
.forum-v4-form-head > button:first-child { font-size: 0; }
.forum-v4-board-nav > strong { font-size: 16px; font-weight: 650; }
.forum-v4-board-profile {
  grid-template-columns: 54px minmax(0,1fr) auto;
  gap: 12px;
  padding: 14px;
}
.forum-v4-board-profile h2 { font-size: 18px; }
.forum-v4-board-profile small { margin-top: 6px; color: var(--forum-muted); font-size: 11px; line-height: 1.45; }
.forum-v4-board-profile > button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  font-size: 12px;
}
.forum-v4-board-profile > button.checked {
  border-color: var(--forum-line);
  color: var(--forum-muted);
  background: var(--moss-ui-surface-soft);
}
.forum-v4-filter {
  margin: 10px var(--moss-ui-content-pad) 0;
  gap: 4px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid var(--forum-line);
  border-radius: 14px;
  background: var(--forum-paper);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-filter button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--forum-muted);
  font-size: 13px;
  font-weight: 540;
}
.forum-v4-filter button.active {
  color: var(--forum-blue);
  background: var(--forum-blue-soft);
  font-weight: 650;
}
.forum-v4-filter button.active::after { display: none; }
.forum-v4-filter .forum-v4-refresh { margin-left: auto; }
.forum-v4-status {
  margin: 10px var(--moss-ui-content-pad) 0;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--forum-blue) 15%, var(--forum-line));
  border-radius: 12px;
  color: var(--forum-blue);
  background: var(--forum-blue-soft);
  font-size: 12px;
}
.forum-v4-post-row {
  min-height: 92px;
  grid-template-columns: 40px minmax(0,1fr) auto;
  gap: 11px;
  padding: 14px;
}
.forum-v4-reply-count {
  width: 38px;
  min-height: 40px;
  border-radius: 11px;
  background: var(--moss-ui-surface-soft);
  color: var(--forum-muted);
}
.forum-v4-reply-count b { font-size: 13px; }
.forum-v4-reply-count small { font-size: 9px; }
.forum-v4-post-main { gap: 6px; }
.forum-v4-post-main > strong { font-size: 15px; line-height: 1.42; font-weight: 620; }
.forum-v4-post-main > strong > b { padding: 2px 5px; border-radius: 5px; font-size: 10px; }
.forum-v4-post-main > small { color: var(--forum-muted); font-size: 13px; line-height: 1.5; }
.forum-v4-post-foot { font-size: 11px; }
.forum-v4-mini-avatar { width: 18px; height: 18px; margin-right: 5px; font-size: 9px; }
.forum-v4-thumb { width: 48px; height: 48px; border-radius: 12px; background: var(--moss-ui-surface-soft); }
.forum-v4-compose-fab {
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  min-height: 46px;
  gap: 7px;
  padding: 0 17px;
  border-radius: 15px;
  background: var(--forum-blue) !important;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--forum-blue) 24%, transparent);
  font-size: 14px;
  font-weight: 650;
}
.forum-v4-compose-fab span { display: grid; place-items: center; font-size: 0; }
.forum-v4-detail { gap: 10px; padding-bottom: 0; }
.forum-v4-detail-nav {
  top: 0;
  margin: 0;
  border-bottom: 1px solid var(--forum-line);
  background: color-mix(in srgb, var(--forum-paper) 92%, transparent);
}
.forum-v4-detail-nav strong { font-size: 15px; }
.forum-v4-detail-nav small { margin-top: 2px; font-size: 11px; }
.forum-v4-owner,
.forum-v4-floor {
  margin: 10px var(--moss-ui-content-pad) 0;
  padding: 15px;
  border: 1px solid var(--forum-line);
  border-radius: 18px;
  background: var(--forum-paper);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-owner > header,
.forum-v4-floor > header { grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; }
.forum-v4-avatar { width: 38px; height: 38px; font-size: 13px; }
.forum-v4-owner > header strong,
.forum-v4-floor > header strong { color: var(--forum-text); font-size: 13px; }
.forum-v4-owner > header p,
.forum-v4-floor > header p { font-size: 11px; }
.forum-v4-owner > header > small,
.forum-v4-floor > header > small { font-size: 11px; }
.forum-v4-owner h1 { margin: 16px 0 10px; font-size: 21px; line-height: 1.42; font-weight: 680; letter-spacing: -.02em; }
.forum-v4-owner > p,
.forum-v4-floor > p { color: var(--forum-text); font-size: 15px; line-height: 1.76; }
.forum-v4-owner > footer,
.forum-v4-floor > footer,
.forum-v4-nested-reply > footer { gap: 6px; margin-top: 12px; }
.forum-v4-owner footer button,
.forum-v4-floor footer button,
.forum-v4-nested-reply footer button {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 9px;
  color: var(--forum-muted);
  background: var(--moss-ui-surface-soft);
  font-size: 12px;
}
.forum-v4-owner footer button.danger { color: var(--moss-ui-danger); }
.forum-v4-floor-divider {
  margin: 12px var(--moss-ui-content-pad) 0;
  border: 1px solid var(--forum-line);
  border-radius: 14px;
  background: var(--forum-paper);
}
.forum-v4-floors { gap: 0; background: transparent; }
.forum-v4-floor blockquote,
.forum-v4-nested-reply blockquote {
  margin: 10px 0;
  padding: 8px 10px;
  border-left-color: color-mix(in srgb, var(--forum-blue) 42%, transparent);
  border-radius: 0 10px 10px 0;
  background: var(--moss-ui-surface-soft);
  color: var(--forum-muted);
  font-size: 12px;
}
.forum-v4-nested-list {
  margin: 12px 0 0 28px;
  border: 1px solid var(--forum-line);
  border-radius: 13px;
  background: var(--moss-ui-surface-soft);
}
.forum-v4-nested-reply { padding: 11px; border-bottom-color: var(--forum-line); }
.forum-v4-nested-reply > p { color: var(--forum-text); font-size: 13px; line-height: 1.6; }
.forum-v4-replybar {
  grid-template-columns: 72px minmax(0,1fr) 58px;
  gap: 8px;
  margin-top: 12px;
  padding: 9px var(--moss-ui-content-pad) calc(9px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--forum-paper) 94%, transparent);
}
.forum-v4-replybar select,
.forum-v4-replybar input {
  min-height: 44px;
  border-color: var(--forum-line);
  border-radius: 12px;
  background: var(--moss-ui-surface-soft);
  font-size: 16px;
}
.forum-v4-replybar button { min-height: 44px; border-radius: 12px; font-size: 14px; font-weight: 650; }
.forum-v4-form-head {
  margin: 12px var(--moss-ui-content-pad) 0;
  overflow: hidden;
  border: 1px solid var(--forum-line);
  border-radius: 16px;
  background: var(--forum-paper);
}
.forum-v4-form-head h2 { font-size: 17px; }
.forum-v4-form {
  gap: 0;
  margin: 12px var(--moss-ui-content-pad) 0;
  overflow: hidden;
  border: 1px solid var(--forum-line);
  border-radius: 18px;
  background: var(--forum-paper);
  box-shadow: var(--moss-ui-shadow-1);
}
.forum-v4-form > label {
  grid-template-columns: 86px minmax(0,1fr);
  min-height: 56px;
  padding: 8px 14px;
}
.forum-v4-form > label > span { color: var(--forum-text); font-size: 13px; font-weight: 600; }
.forum-v4-form input,
.forum-v4-form textarea,
.forum-v4-form select {
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--forum-line);
  border-radius: 11px;
  background: var(--moss-ui-surface-soft);
  font-size: 16px;
}
.forum-v4-form > button[type="submit"] {
  min-height: 44px;
  margin: 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 650;
}
.forum-v4-fieldset { margin: 12px 14px 0; padding: 11px; border-radius: 13px; }
.forum-v4-fieldset legend { font-size: 12px; }
.forum-v4-fieldset p { font-size: 11px; }
.forum-v4-speaker-row { min-height: 44px; padding: 6px 8px; border-radius: 11px; background: var(--moss-ui-surface-soft); }
.forum-v4-speaker-row > strong { color: var(--forum-text); font-size: 12px; }
.forum-v4-danger-zone { margin: 12px 14px 14px; padding: 10px; border-radius: 13px; background: color-mix(in srgb, var(--moss-ui-danger) 5%, var(--forum-paper)); }
.forum-v4-danger-zone > strong { font-size: 12px; }
.forum-v4-danger-zone button { min-height: 36px; border-radius: 9px; font-size: 11px; }
@media (min-width: 660px) {
  .forum-v4 > :not(.forum-v4-compose-fab) { width: min(680px, 100%); margin-inline: auto; } }
@media (max-width: 430px) {
  .forum-v4-board-profile { grid-template-columns: 54px minmax(0,1fr); }
  .forum-v4-board-profile > button { grid-column: 2; justify-self: start; }
  .forum-v4-post-row { grid-template-columns: 38px minmax(0,1fr); }
  .forum-v4-thumb { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .forum-v4 * { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .forum-v3-dm-typing i { animation: none; } }
#appScreen .forum-v4 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 0 calc(86px + var(--safe-bottom)) !important;
  overflow-x: hidden !important;
  overflow-x: clip !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
  background-image: none !important;
}
#appScreen .forum-v4-top {
  grid-template-columns: minmax(0,1fr) 44px !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 18px var(--moss-ui-content-pad) 12px !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
}
#appScreen .forum-v4-top > button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 18%, var(--moss-ui-line)) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-accent-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}
#appScreen .forum-v4-search {
  width: auto !important;
  min-height: 44px !important;
  margin: 0 var(--moss-ui-content-pad) 12px !important;
  padding: 0 13px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-muted) !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .forum-v4-search input {
  min-width: 0 !important;
  font-size: 16px !important;
  color: var(--moss-ui-text) !important;
}
#appScreen .forum-v4-section,
#appScreen .forum-v4-post-list {
  width: auto !important;
  margin: 12px var(--moss-ui-content-pad) 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .forum-v4-section > header,
#appScreen .forum-v4-floor-divider {
  min-height: 46px !important;
  padding: 0 14px !important;
  background: transparent !important;
}
#appScreen .forum-v4-hot-row {
  width: 100% !important;
  min-height: 60px !important;
  grid-template-columns: 24px minmax(0,1fr) 14px !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
}
#appScreen .forum-v4-board {
  width: 100% !important;
  min-height: 76px !important;
  grid-template-columns: minmax(0,1fr) 44px !important;
  padding: 12px 8px 12px 14px !important;
  border-radius: 0 !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  background-image: none !important;
}
#appScreen .forum-v4-hot-row + .forum-v4-hot-row,
#appScreen .forum-v4-board + .forum-v4-board {
  border-top: 1px solid var(--moss-ui-line) !important;
}
#appScreen .forum-v4-hot-row strong,
#appScreen .forum-v4-board-title strong { color: var(--moss-ui-text) !important; }
#appScreen .forum-v4-hot-row small,
#appScreen .forum-v4-board p,
#appScreen .forum-v4-board small { color: var(--moss-ui-muted) !important; }
#appScreen .forum-v4-compose-fab {
  width: 50px !important;
  height: 50px !important;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 22%, var(--moss-ui-line)) !important;
  color: #fff !important;
  background: var(--moss-ui-accent-strong) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
}
.forum-share-overlay {
  box-sizing: border-box !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
}
.forum-share-picker:not(.forum-v4-analysis) {
  box-sizing: border-box !important;
  width: min(100%, 430px) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))) !important;
  overflow: hidden !important;
}
.forum-share-picker:not(.forum-v4-analysis) {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}
.forum-share-picker:not(.forum-v4-analysis) > header,
.forum-share-picker:not(.forum-v4-analysis) > .forum-share-preview {
  min-width: 0 !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  scrollbar-gutter: stable;
  padding: 2px 2px max(10px, env(safe-area-inset-bottom)) 2px !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list > button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 68px !important;
  align-items: center !important;
  overflow: hidden !important;
  text-align: left !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list > button {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 11px !important;
  padding: 10px 12px !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-avatar {
  grid-column: 1 !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  align-self: center !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list > button > span:last-child {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  overflow: hidden !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list > button strong {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.35 !important;
}
.forum-share-picker:not(.forum-v4-analysis) .forum-share-char-list > button small {
  min-width: 0 !important;
  max-width: 100% !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
}
@media (max-width: 380px) {
  .forum-share-overlay {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .forum-share-picker:not(.forum-v4-analysis) {
    padding: 12px !important;
    border-radius: 22px 22px 18px 18px !important;
  } }
.app-body:has(.forum-v4) {
  background: #f7f7f7 !important;
}
.forum-v4 {
  --cycle-ink: #171618;
  --cycle-paper: #ffffff;
  --cycle-canvas: #f7f7f7;
  --cycle-line: #ececec;
  --cycle-muted: #727578;
  --cycle-violet: #38296c;
  --cycle-teal: #004d60;
  --cycle-amber: #6c4800;
  --cycle-plum: #46122d;
  --cycle-violet-wash: #f5f0ff;
  --cycle-teal-wash: #defafe;
  --cycle-amber-wash: #fff6e1;
  --cycle-plum-wash: #fff1ec;
  --cycle-shadow: 0 2px 15px rgba(239,239,239,.55), 0 0 0 1px rgba(23,24,26,.08);
  min-height: 100%;
  padding: 0 0 calc(106px + env(safe-area-inset-bottom)) !important;
  color: var(--cycle-ink) !important;
  background: var(--cycle-canvas) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif !important;
}
.forum-v4 * { box-sizing: border-box; }
.forum-v4 :is(h1,h2,h3,.forum-v4-post-main > strong,.forum-v4-board-title strong,.forum-v4-owner h1) {
  color: var(--cycle-ink) !important;
  font-family: "Arial Black", "Plus Jakarta Sans", Inter, sans-serif !important;
  letter-spacing: -.035em !important;
}
.forum-cycle-eyebrow,
.forum-cycle-board-kicker,
.forum-cycle-post-kicker,
.forum-v4-section > header span {
  color: var(--cycle-muted);
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.forum-v4 button { -webkit-tap-highlight-color: transparent; }
.forum-cycle-hero {
  position: relative;
  min-height: 190px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 12px !important;
  margin: 10px 12px 0 !important;
  padding: 18px 16px 14px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 21px !important;
  background: var(--cycle-paper) !important;
  box-shadow: var(--cycle-shadow) !important;
}
.forum-cycle-hero::after {
  content: "CYCLE";
  position: absolute;
  right: -9px;
  bottom: 18px;
  color: #efefef;
  font: 800 44px/.8 "Arial Black", sans-serif;
  letter-spacing: -.08em;
  writing-mode: vertical-rl;
  pointer-events: none;
}
.forum-cycle-hero-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-right: 58px;
}
.forum-cycle-hero h1 {
  margin: 10px 0 8px !important;
  max-width: none !important;
  color: var(--cycle-ink) !important;
  font-size: clamp(22px, 6.8vw, 29px) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}
.forum-cycle-hero p {
  max-width: 280px !important;
  margin: 0 !important;
  color: var(--cycle-muted) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}
.forum-cycle-hero > button {
  position: absolute !important;
  z-index: 2;
  top: 16px;
  right: 14px;
  width: 50px !important;
  height: 62px !important;
  display: grid !important;
  place-content: center;
  gap: 3px;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: #000 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.08) !important;
}
.forum-cycle-hero > button small {
  color: #fff !important;
  font-size: 6px !important;
  letter-spacing: .06em;
}
.forum-cycle-metrics {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 6px;
}
.forum-cycle-metrics > span {
  display: grid;
  gap: 0;
  padding: 8px 9px;
  border-radius: 12px;
  background: var(--cycle-violet-wash);
}
.forum-cycle-metrics > span:nth-child(2) { background: var(--cycle-teal-wash); }
.forum-cycle-metrics > span:nth-child(3) { background: var(--cycle-amber-wash); }
.forum-cycle-metrics b { color: var(--cycle-ink); font-size: 17px; line-height: 1.1; }
.forum-cycle-metrics small { color: var(--cycle-muted); font-size: 8.5px; }
.forum-v4 .forum-cycle-search,
.forum-v4-search {
  min-height: 42px !important;
  margin: 10px 12px 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--cycle-line) !important;
  border-radius: 15px !important;
  color: var(--cycle-muted) !important;
  background: var(--cycle-paper) !important;
  box-shadow: none !important;
}
.forum-v4-search input {
  color: var(--cycle-ink) !important;
  background: transparent !important;
  font-size: 12.5px !important;
}
.forum-v4-section,
.forum-v4-post-list {
  margin: 10px 12px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.forum-v4-section > header {
  min-height: 42px !important;
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 0 1px 8px !important;
  border: 0 !important;
}
.forum-v4-section > header > div { display: grid; gap: 2px; }
.forum-v4-section > header strong { font-size: 19px !important; line-height: 1 !important; }
.forum-v4-section > header small { color: var(--cycle-muted) !important; font-size: 9.5px !important; }
.forum-tone-teal { --forum-cycle-accent: var(--cycle-teal); --forum-cycle-wash: var(--cycle-teal-wash); }
.forum-tone-violet { --forum-cycle-accent: var(--cycle-violet); --forum-cycle-wash: var(--cycle-violet-wash); }
.forum-tone-amber { --forum-cycle-accent: var(--cycle-amber); --forum-cycle-wash: var(--cycle-amber-wash); }
.forum-tone-plum { --forum-cycle-accent: var(--cycle-plum); --forum-cycle-wash: var(--cycle-plum-wash); }
.forum-v4-hot-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px !important;
  background: transparent !important;
}
.forum-v4-hot-row {
  min-width: 0;
  min-height: 112px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  grid-template-rows: auto 1fr !important;
  align-items: start !important;
  gap: 7px !important;
  padding: 12px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 16px !important;
  color: var(--forum-cycle-accent) !important;
  background: var(--forum-cycle-wash) !important;
  box-shadow: none !important;
  text-align: left;
}
.forum-v4-hot-row.featured {
  grid-column: 1 / -1;
  min-height: 126px !important;
}
.forum-v4-hot-row > b {
  grid-column: 1;
  grid-row: 1;
  color: var(--forum-cycle-accent) !important;
  font-size: 20px !important;
  line-height: 1;
}
.forum-v4-hot-row > i {
  grid-column: 3;
  grid-row: 1;
  color: var(--forum-cycle-accent);
  font-style: normal;
}
.forum-v4-hot-row > span {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: end;
  min-width: 0;
  display: grid !important;
  gap: 5px !important;
}
.forum-v4-hot-row strong {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: var(--forum-cycle-accent) !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.forum-v4-hot-row.featured strong {
  font-size: 18px !important;
  line-height: 1.22 !important;
  -webkit-line-clamp: 3;
}
.forum-v4-hot-row small {
  display: block;
  overflow: hidden;
  color: var(--cycle-muted) !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.forum-v4-board-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px !important;
  border: 0 !important;
}
.forum-v4-board {
  position: relative;
  min-width: 0;
  min-height: 142px !important;
  display: block !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--forum-cycle-wash) !important;
  box-shadow: none !important;
}
.forum-v4-board.featured { grid-column: 1 / -1; min-height: 168px !important; }
.forum-v4-board-open {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) !important;
  grid-template-rows: auto 1fr auto !important;
  align-items: start !important;
  gap: 8px !important;
  padding: 12px !important;
  color: var(--forum-cycle-accent) !important;
  text-align: left;
}
.forum-v4-board-icon {
  grid-column: 1;
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--forum-cycle-accent) !important;
  border-radius: 10px !important;
  color: var(--forum-cycle-accent) !important;
  background: transparent !important;
}
.forum-v4-board-main {
  grid-column: 1 / -1;
  align-self: end;
  display: grid !important;
  gap: 4px !important;
  min-width: 0;
}
.forum-cycle-board-kicker { color: var(--forum-cycle-accent); opacity: .72; }
.forum-v4-board-title { display: grid !important; gap: 4px; }
.forum-v4-board-title strong {
  color: var(--forum-cycle-accent) !important;
  font-size: 16px !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere;
}
.forum-v4-board.featured .forum-v4-board-title strong { font-size: 23px !important; }
.forum-v4-board-title i {
  justify-self: start;
  border: 0 !important;
  border-radius: 100px !important;
  color: var(--forum-cycle-accent) !important;
  background: rgba(255,255,255,.58) !important;
  font-style: normal;
}
.forum-v4-board-main > small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--cycle-ink) !important;
  font-size: 10.5px !important;
  line-height: 1.42 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.forum-v4-board-main > em {
  overflow: hidden;
  color: var(--cycle-muted) !important;
  font-size: 8.5px !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.forum-v4-count { position: absolute; top: 12px; right: 40px; align-items: end !important; }
.forum-v4-count b { color: var(--forum-cycle-accent) !important; font-size: 12px !important; }
.forum-v4-count small { font-size: 8px !important; }
.forum-v4-board-manage { position: absolute; top: 4px; right: 2px; color: var(--forum-cycle-accent) !important; background: transparent !important; }
.forum-v4-board-head {
  margin: 10px 12px 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 21px !important;
  background: var(--forum-cycle-wash) !important;
  box-shadow: none !important;
}
.forum-v4-board-nav {
  min-height: 43px !important;
  padding: 0 7px !important;
  border-bottom: 1px solid rgba(23,22,24,.09);
}
.forum-v4-board-nav > strong { color: var(--forum-cycle-accent) !important; font-size: 10px !important; letter-spacing: .07em; }
.forum-v4-board-profile {
  grid-template-columns: 48px minmax(0,1fr) auto !important;
  gap: 10px !important;
  padding: 14px !important;
}
.forum-v4-board-profile .forum-v4-board-icon.large {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
}
.forum-v4-board-profile > div { min-width: 0; }
.forum-v4-board-profile h2 {
  margin: 4px 0 !important;
  color: var(--forum-cycle-accent) !important;
  font-size: clamp(24px, 7.5vw, 34px) !important;
  line-height: 1 !important;
  overflow-wrap: anywhere;
}
.forum-v4-board-profile p {
  display: -webkit-box;
  overflow: hidden;
  color: var(--cycle-ink) !important;
  font-size: 10.5px !important;
  line-height: 1.45 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.forum-v4-board-profile small { color: var(--cycle-muted) !important; font-size: 8.5px !important; }
.forum-v4-board-profile > button {
  align-self: center;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid var(--forum-cycle-accent) !important;
  border-radius: 8px !important;
  color: var(--forum-cycle-accent) !important;
  background: transparent !important;
  font-size: 9px !important;
  white-space: nowrap;
}
.forum-v4-board-profile > button.checked { border-color: transparent !important; background: rgba(255,255,255,.58) !important; }
.forum-cycle-board-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  padding: 0 14px 12px;
}
.forum-cycle-board-stats > span {
  display: grid;
  gap: 1px;
  padding: 7px 6px;
  border-left: 1px solid rgba(23,22,24,.1);
}
.forum-cycle-board-stats > span:first-child { border-left: 0; }
.forum-cycle-board-stats b { color: var(--forum-cycle-accent); font-size: 14px; }
.forum-cycle-board-stats small { color: var(--cycle-muted); font-size: 8px; }
.forum-v4-filter {
  margin: 8px 12px 0 !important;
  padding: 4px !important;
  gap: 3px !important;
  border: 1px solid var(--cycle-line) !important;
  border-radius: 16px !important;
  background: var(--cycle-paper) !important;
  box-shadow: none !important;
}
.forum-v4-filter button {
  min-height: 31px !important;
  padding: 0 9px !important;
  border-radius: 100px !important;
  color: var(--cycle-muted) !important;
  background: transparent !important;
  font-size: 10px !important;
}
.forum-v4-filter button.active { color: var(--forum-cycle-accent) !important; background: var(--forum-cycle-wash) !important; }
.forum-v4-filter .forum-v4-refresh { margin-left: auto; border-radius: 8px !important; color: #fff !important; background: #000 !important; }
.forum-v4-status { margin: 8px 12px 0 !important; border: 0 !important; border-radius: 12px !important; color: var(--forum-cycle-accent) !important; background: var(--forum-cycle-wash) !important; }
.forum-cycle-post-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px !important;
}
.forum-v4-post-row {
  position: relative;
  min-width: 0;
  min-height: 158px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr !important;
  gap: 8px !important;
  padding: 12px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 16px !important;
  color: var(--forum-cycle-accent) !important;
  background: var(--forum-cycle-wash) !important;
  box-shadow: none !important;
  text-align: left;
}
.forum-v4-post-row.featured { grid-column: 1 / -1; min-height: 180px !important; }
.forum-v4-reply-count {
  width: 40px !important;
  min-height: 40px !important;
  border: 1px solid var(--forum-cycle-accent) !important;
  border-radius: 50% !important;
  color: var(--forum-cycle-accent) !important;
  background: transparent !important;
}
.forum-v4-reply-count b { color: inherit !important; font-size: 12px !important; }
.forum-v4-reply-count small { font-size: 7px !important; }
.forum-v4-post-main { align-self: end; gap: 5px !important; min-width: 0; }
.forum-cycle-post-kicker { color: var(--forum-cycle-accent); opacity: .72; }
.forum-v4-post-main > strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--forum-cycle-accent) !important;
  font-size: 14px !important;
  line-height: 1.14 !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.forum-v4-post-row.featured .forum-v4-post-main > strong { font-size: 18px !important; }
.forum-v4-post-main > small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--cycle-ink) !important;
  font-size: 10px !important;
  line-height: 1.38 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.forum-v4-post-foot { display: grid !important; gap: 3px !important; color: var(--cycle-muted) !important; font-size: 8.5px !important; }
.forum-v4-post-foot > span { text-align: left !important; }
.forum-v4-mini-avatar { color: var(--forum-cycle-accent) !important; background: rgba(255,255,255,.65) !important; }
.forum-v4-row-tags { flex-wrap: wrap; }
.forum-v4-badge,
.forum-v4-row-tags i { border: 0 !important; border-radius: 100px !important; color: var(--forum-cycle-accent) !important; background: rgba(255,255,255,.62) !important; }
.forum-v4-thumb { position: absolute; top: 12px; right: 12px; width: auto !important; height: auto !important; display: grid; color: var(--forum-cycle-accent); background: transparent !important; font-size: 14px; font-weight: 700; }
.forum-v4-thumb small { font-size: 6px; letter-spacing: .1em; }
.forum-v4-compose-fab {
  right: 16px !important;
  bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  z-index: 40 !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: #000 !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
  font-size: 10px !important;
  white-space: nowrap;
}
.forum-v4-detail-nav {
  position: sticky !important;
  top: 0;
  z-index: 12;
  margin: 0 !important;
  padding-inline: 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cycle-line) !important;
  background: rgba(247,247,247,.94) !important;
  backdrop-filter: blur(18px);
}
.forum-v4-owner {
  margin: 12px !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 21px !important;
  color: var(--forum-cycle-accent) !important;
  background: var(--forum-cycle-wash) !important;
  box-shadow: none !important;
}
.forum-v4-owner h1 {
  margin: 10px 0 9px !important;
  color: var(--forum-cycle-accent) !important;
  font-size: clamp(22px, 6.3vw, 28px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em !important;
}
.forum-v4-owner > p {
  margin: 12px 0 !important;
  color: var(--cycle-ink) !important;
  font-size: 17px !important;
  line-height: 1.86 !important;
}
.forum-v4-owner > footer,
.forum-v4-floor > footer,
.forum-v4-nested-reply > footer {
  display: flex !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 2px !important;
  scrollbar-width: none !important;
}
.forum-v4-owner > footer::-webkit-scrollbar,
.forum-v4-floor > footer::-webkit-scrollbar,
.forum-v4-nested-reply > footer::-webkit-scrollbar { display: none !important; }
.forum-v4-owner footer button,
.forum-v4-floor footer button,
.forum-v4-nested-reply footer button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 22px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  color: var(--cycle-muted) !important;
  background: rgba(255,255,255,.72) !important;
  font-size: 8.5px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.forum-v4-floor-divider { margin: 12px 12px 0 !important; border: 0 !important; background: transparent !important; }
.forum-v4-floor-divider span { font-family: "Arial Black", Inter, sans-serif; font-size: 19px !important; letter-spacing: -.03em; }
.forum-v4-floors { display: grid !important; gap: 8px !important; padding: 0 12px; }
.forum-v4-floor {
  margin: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--cycle-paper) !important;
  box-shadow: var(--cycle-shadow) !important;
}
.forum-v4-floor > p {
  margin: 9px 0 !important;
  color: var(--cycle-ink) !important;
  font-size: 15.5px !important;
  line-height: 1.78 !important;
}
.forum-v4-avatar { border: 0 !important; color: var(--forum-cycle-accent) !important; background: var(--forum-cycle-wash) !important; }
.forum-v4-nested-list { margin-left: 14px !important; border: 0 !important; border-radius: 14px !important; background: var(--cycle-canvas) !important; }
.forum-v4-nested-reply > p { font-size: 14px !important; line-height: 1.68 !important; }
.forum-v4-replybar {
  grid-template-columns: 64px minmax(0,1fr) 54px !important;
  margin-top: 12px !important;
  border-top: 1px solid var(--cycle-line) !important;
  background: rgba(255,255,255,.96) !important;
}
.forum-v4-replybar :is(select,input) { border: 1px solid var(--cycle-line) !important; border-radius: 18px !important; background: var(--cycle-canvas) !important; }
.forum-v4-replybar button { border-radius: 8px !important; color: #fff !important; background: #000 !important; }
.forum-v4-form-head,
.forum-v4-form {
  margin-left: 12px !important;
  margin-right: 12px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--cycle-paper) !important;
  box-shadow: var(--cycle-shadow) !important;
}
.forum-v4-form-head { margin-top: 12px !important; }
.forum-v4-form { padding: 7px !important; }
.forum-v4-form > label { grid-template-columns: 78px minmax(0,1fr) !important; border-bottom: 1px solid var(--cycle-line) !important; }
.forum-v4-form input,
.forum-v4-form textarea,
.forum-v4-form select { min-height: 40px !important; border: 1px solid var(--cycle-line) !important; border-radius: 16px !important; color: var(--cycle-ink) !important; background: var(--cycle-canvas) !important; font-size: 14px !important; }
.forum-v4-form > button[type="submit"] { min-height: 42px !important; border-radius: 8px !important; color: #fff !important; background: #000 !important; }
.forum-v4-fieldset { border-color: var(--cycle-line) !important; border-radius: 18px !important; }
.forum-v4-speaker-row { border-radius: 12px !important; background: var(--cycle-canvas) !important; }
.forum-v4-danger-zone { border: 0 !important; border-radius: 14px !important; background: var(--cycle-plum-wash) !important; }
.forum-share-picker { border-radius: 21px !important; background: var(--cycle-paper) !important; }
@media (max-width: 370px) {
  .forum-cycle-hero h1 { font-size: 22px !important; }
  .forum-v4-hot-list,
.forum-v4-board-list,
.forum-cycle-post-grid { gap: 7px !important; }
  .forum-v4-hot-row,
.forum-v4-board-open,
.forum-v4-post-row { padding: 10px !important; }
  .forum-v4-hot-row strong { font-size: 12.5px !important; }
  .forum-v4-hot-row.featured strong { font-size: 17px !important; }
  .forum-v4-owner > p { font-size: 16.5px !important; } }
.app-body:has(.forum-v3) {
  padding: 0 !important;
  overflow-x: hidden;
  background: #f7f7f7 !important;
}
.forum-v3 {
  --f3-ink: #171618;
  --f3-muted: #727578;
  --f3-canvas: #f7f7f7;
  --f3-paper: #fff;
  --f3-line: #e8e8e8;
  --f3-teal: #004d60;
  --f3-teal-wash: #defafe;
  --f3-violet: #38296c;
  --f3-violet-wash: #f5f0ff;
  --f3-amber: #6c4800;
  --f3-amber-wash: #fff6e1;
  --f3-plum: #46122d;
  --f3-plum-wash: #fff1ec;
  --f3-accent: var(--f3-teal);
  --f3-wash: var(--f3-teal-wash);
  position: relative;
  min-height: 100%;
  color: var(--f3-ink);
  background: var(--f3-canvas);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.forum-v3-tone-teal { --f3-accent: var(--f3-teal); --f3-wash: var(--f3-teal-wash); }
.forum-v3-tone-violet { --f3-accent: var(--f3-violet); --f3-wash: var(--f3-violet-wash); }
.forum-v3-tone-amber { --f3-accent: var(--f3-amber); --f3-wash: var(--f3-amber-wash); }
.forum-v3-tone-plum { --f3-accent: var(--f3-plum); --f3-wash: var(--f3-plum-wash); }
.forum-v3 * { box-sizing: border-box; }
.forum-v3 button,
.forum-v3 input,
.forum-v3 textarea,
.forum-v3 select { font: inherit; }
.forum-v3 button { -webkit-tap-highlight-color: transparent; }
.forum-v3-main { min-height: 100%; padding: 10px 10px calc(78px + env(safe-area-inset-bottom)); }
.forum-v3-bottom-nav {
  position: fixed;
  z-index: 120;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: calc(56px + env(safe-area-inset-bottom));
  padding: 5px 12px calc(5px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(23,22,24,.09);
  background: rgba(255,255,255,.94);
  box-shadow: 0 -8px 24px rgba(23,22,24,.055);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.forum-v3-bottom-nav button {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  min-height: 44px;
  border: 0;
  color: #8b8d8f;
  background: transparent;
}
.forum-v3-bottom-nav button span { display: grid; place-items: center; }
.forum-v3-bottom-nav button b { font-size: 11px; font-weight: 600; }
.forum-v3-bottom-nav button.active { color: var(--f3-ink); }
.forum-v3-bottom-nav button.active span { color: var(--f3-accent); }
.forum-v3-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
  padding: 4px 2px 8px;
}
.forum-v3-topbar > div { display: grid; gap: 1px; min-width: 0; }
.forum-v3-topbar > div > span { color: var(--f3-muted); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.forum-v3-topbar > div > strong { font-family: "Arial Black", Inter, sans-serif; font-size: 21px; line-height: 1.1; letter-spacing: -.035em; }
.forum-v3-topbar > small { color: var(--f3-muted); font-size: 11px; }
.forum-v3-topbar > button:not(.forum-v3-current-identity) {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--f3-line);
  border-radius: 8px;
  color: var(--f3-ink);
  background: var(--f3-paper);
  font-size: 12px;
  font-weight: 600;
}
.forum-v3-current-identity {
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 44%;
  min-height: 34px;
  padding: 3px 9px 3px 4px;
  border: 1px solid var(--f3-line);
  border-radius: 100px;
  color: var(--f3-ink);
  background: var(--f3-paper);
}
.forum-v3-top-avatar,
.forum-v3-identity-avatar { width: 26px !important; height: 26px !important; border-radius: 50% !important; font-size: 10px !important; }
.forum-v3-current-identity span { overflow: hidden; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-home-topbar { margin-bottom: 8px; }
.forum-v3-directory-section { margin-bottom: 8px; overflow: hidden; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-directory-section > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 43px; padding: 7px 9px; border-bottom: 1px solid var(--f3-line); }
.forum-v3-directory-section > header > span { display: grid; gap: 1px; min-width: 0; }
.forum-v3-directory-section > header strong { font-size: 12.5px; }
.forum-v3-directory-section > header small { overflow: hidden; color: var(--f3-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-directory-section > header > button { display: flex; flex: 0 0 auto; align-items: center; gap: 3px; min-height: 27px; padding: 3px 7px; border: 0; border-radius: 7px; color: #fff; background: #000; font-size: 9.5px; }
.forum-v3-directory-row { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; border-bottom: 1px solid var(--f3-line); }
.forum-v3-directory-row:last-child { border-bottom: 0; }
.forum-v3-directory-open { display: grid; grid-template-columns: 32px minmax(0,1fr) auto 14px; gap: 7px; align-items: center; min-width: 0; min-height: 52px; padding: 6px 7px; border: 0; color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-directory-open:only-child { grid-column: 1 / -1; }
.forum-v3-directory-copy { display: grid; gap: 1px; min-width: 0; }
.forum-v3-directory-copy strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-directory-copy small { overflow: hidden; color: var(--f3-muted); font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-directory-stats { display: grid; justify-items: end; min-width: 42px; color: var(--f3-muted); font-size: 8.5px; line-height: 1.25; white-space: nowrap; }
.forum-v3-directory-stats b { color: var(--f3-ink); font-size: 10px; }
.forum-v3-directory-stats small { color: var(--f3-muted); font-size: 8px; }
.forum-v3-directory-arrow { display: grid; place-items: center; color: var(--f3-muted); }
.forum-v3-directory-manage { display: grid; place-items: center; width: 30px; min-width: 30px; padding: 0; border: 0; border-left: 1px solid var(--f3-line); color: var(--f3-muted); background: transparent; }
.forum-v3-directory-empty { margin: 0; padding: 13px 10px; color: var(--f3-muted); font-size: 10.5px; text-align: center; }
.forum-v3-directory-more { width: 100%; min-height: 31px; border: 0; border-top: 1px solid var(--f3-line); color: var(--f3-accent); background: var(--f3-wash); font-size: 9.5px; }
.forum-v3-board-head { display: grid; grid-template-columns: 30px 32px minmax(0,1fr) 30px; gap: 6px; align-items: center; margin-bottom: 7px; padding: 7px; border-radius: 12px; color: var(--f3-accent); background: var(--f3-wash); }
.forum-v3-board-head > button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 8px; color: var(--f3-accent); background: rgba(255,255,255,.54); }
.forum-v3-board-head > i { width: 30px; }
.forum-v3-board-head-copy { display: grid; gap: 1px; min-width: 0; }
.forum-v3-board-head-copy strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-board-head-copy small { overflow: hidden; color: color-mix(in srgb, var(--f3-accent) 72%, var(--f3-muted)); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-board-head-copy em { color: color-mix(in srgb, var(--f3-accent) 76%, var(--f3-muted)); font-size: 8px; font-style: normal; white-space: nowrap; }
.forum-v3-official-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 5px;
  margin-bottom: 8px;
}
.forum-v3-official-tabs button {
  display: grid;
  place-items: center;
  gap: 3px;
  min-width: 0;
  min-height: 47px;
  padding: 5px 2px;
  border: 1px solid var(--f3-line);
  border-radius: 12px;
  color: var(--f3-muted);
  background: var(--f3-paper);
}
.forum-v3-official-tabs button span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 7px; color: var(--f3-accent); background: var(--f3-wash); font-size: 10px; font-weight: 800; }
.forum-v3-official-tabs button b { overflow: hidden; max-width: 100%; font-size: 10.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-official-tabs button.active { border-color: color-mix(in srgb, var(--f3-accent) 25%, var(--f3-line)); color: var(--f3-accent); background: var(--f3-wash); }
.forum-v3-official-tabs button.active span { color: #fff; background: var(--f3-accent); }
.forum-v3-official-tabs button.more span { color: var(--f3-muted); background: #efefef; }
.forum-v3-custom-directory { margin-bottom: 8px; overflow: hidden; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-custom-directory > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border-bottom: 1px solid var(--f3-line); }
.forum-v3-custom-directory > header > div { display: grid; gap: 2px; }
.forum-v3-custom-directory > header strong { font-size: 13px; }
.forum-v3-custom-directory > header small { color: var(--f3-muted); font-size: 10px; }
.forum-v3-custom-directory > header button { display: flex; align-items: center; gap: 4px; min-height: 30px; padding: 4px 8px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 10px; }
.forum-v3-custom-directory article { position: relative; border-bottom: 1px solid var(--f3-line); }
.forum-v3-custom-directory article:last-child { border-bottom: 0; }
.forum-v3-custom-directory article > button:first-child { display: grid; grid-template-columns: 34px minmax(0,1fr) 48px; gap: 8px; align-items: center; width: 100%; min-height: 55px; padding: 7px 42px 7px 9px; border: 0; text-align: left; color: var(--f3-ink); background: transparent; }
.forum-v3-custom-directory article > button:first-child > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.forum-v3-custom-directory article strong { font-size: 12px; }
.forum-v3-custom-directory article small { overflow: hidden; color: var(--f3-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-custom-directory article em { color: var(--f3-muted); font-size: 9px; font-style: normal; line-height: 1.4; text-align: right; }
.forum-v3-custom-directory .manage { position: absolute; top: 8px; right: 5px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; color: var(--f3-muted); background: transparent; }
.forum-v3-board-glyph { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--f3-accent); background: var(--f3-wash); font-size: 11px; font-weight: 800; }
.forum-v3-board-glyph.large { width: 38px; height: 38px; border: 1px solid color-mix(in srgb, var(--f3-accent) 18%, transparent); font-size: 12px; }
.forum-v3-board-intro { display: grid; gap: 6px; margin-bottom: 7px; padding: 10px 11px; border-radius: 14px; color: var(--f3-accent); background: var(--f3-wash); }
.forum-v3-board-intro > div { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 8px; align-items: center; }
.forum-v3-board-intro > div > span:last-child { display: grid; gap: 2px; }
.forum-v3-board-intro strong { font-family: "Arial Black", Inter, sans-serif; font-size: 17px; letter-spacing: -.025em; }
.forum-v3-board-intro small { color: color-mix(in srgb, var(--f3-accent) 75%, #727578); font-size: 11px; line-height: 1.45; }
.forum-v3-board-intro p { margin: 0 0 0 46px; color: color-mix(in srgb, var(--f3-accent) 74%, #727578); font-size: 9.5px; }
.forum-v3-board-intro p b { color: var(--f3-accent); }
.forum-v3-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; margin-bottom: 5px; }
.forum-v3-tools label { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 10px; border: 1px solid var(--f3-line); border-radius: 18px; background: var(--f3-paper); }
.forum-v3-tools label svg { flex: 0 0 auto; color: var(--f3-muted); }
.forum-v3-tools input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--f3-ink); background: transparent; font-size: 12px; }
.forum-v3-tools > button { display: flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 10px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 10.5px; font-weight: 600; }
.forum-v3-filters,
.forum-v3-dm-filters,
.forum-v3-my-tabs { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 6px; padding: 2px; scrollbar-width: none; }
.forum-v3-filters::-webkit-scrollbar,
.forum-v3-dm-filters::-webkit-scrollbar,
.forum-v3-my-tabs::-webkit-scrollbar { display: none; }
.forum-v3-filters button,
.forum-v3-dm-filters button,
.forum-v3-my-tabs button { flex: 0 0 auto; min-height: 29px; padding: 4px 10px; border: 1px solid var(--f3-line); border-radius: 100px; color: var(--f3-muted); background: var(--f3-paper); font-size: 10.5px; }
.forum-v3-filters button.active,
.forum-v3-dm-filters button.active,
.forum-v3-my-tabs button.active { border-color: transparent; color: var(--f3-accent); background: var(--f3-wash); font-weight: 600; }
.forum-v3-status { margin: 0 0 6px; padding: 7px 9px; border-radius: 9px; color: var(--f3-accent); background: var(--f3-wash); font-size: 10.5px; line-height: 1.45; }
.forum-v3-feed,
.forum-v3-profile-posts,
.forum-v3-my-content { overflow: hidden; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-post { display: grid; grid-template-columns: 34px minmax(0,1fr); column-gap: 8px; padding: 10px 10px 8px; border-bottom: 1px solid var(--f3-line); background: var(--f3-paper); }
.forum-v3-post:last-child { border-bottom: 0; }
.forum-v3-post.pinned { box-shadow: inset 3px 0 var(--f3-accent); }
.forum-v3-author-button { align-self: start; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; }
.forum-v3-avatar { display: grid !important; place-items: center; width: 34px !important; height: 34px !important; overflow: hidden; border-radius: 50% !important; object-fit: cover; }
.forum-v3-avatar.small { width: 30px !important; height: 30px !important; font-size: 10px !important; }
.forum-v3-avatar.medium { width: 42px !important; height: 42px !important; font-size: 12px !important; }
.forum-v3-avatar.large { width: 44px !important; height: 44px !important; font-size: 13px !important; }
.forum-v3-avatar.xlarge { width: 66px !important; height: 66px !important; font-size: 17px !important; }
.forum-v3-avatar-letter { color: var(--f3-accent); background: var(--f3-wash); font-size: 11px; font-weight: 700; }
.forum-v3-post-open { display: grid; gap: 4px; min-width: 0; padding: 0; border: 0; color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-post-meta { display: flex; align-items: center; gap: 4px; min-width: 0; }
.forum-v3-post-meta > strong { overflow: hidden; max-width: 35%; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-post-meta > small { margin-left: auto; color: var(--f3-muted); font-size: 9.5px; white-space: nowrap; }
.forum-v3-label { display: inline-flex; flex: 0 0 auto; align-items: center; justify-self: start; width: max-content; max-width: 100%; min-height: 17px; padding: 1px 5px; border-radius: 100px; font-size: 8.5px; font-style: normal; font-weight: 600; white-space: nowrap; }
.forum-v3-label.role { color: var(--f3-teal); background: var(--f3-teal-wash); }
.forum-v3-label.anon { color: var(--f3-violet); background: var(--f3-violet-wash); }
.forum-v3-label.mine { color: var(--f3-amber); background: var(--f3-amber-wash); }
.forum-v3-label.npc,
.forum-v3-label.netizen { color: #5d5f62; background: #efefef; }
.forum-v3-label.pinned { color: var(--f3-plum); background: var(--f3-plum-wash); }
.forum-v3-label.hot { color: var(--f3-amber); background: var(--f3-amber-wash); }
.forum-v3-post-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; min-width: 0; }
.forum-v3-post-title > b { color: var(--f3-ink); font-size: 15px; line-height: 1.38; font-weight: 680; letter-spacing: -.012em; }
.forum-v3-post-title > small { flex-basis: 100%; color: var(--f3-muted); font-size: 10px; line-height: 1.4; }
.forum-v3-post-preview { color: #3f4042; font-size: 14px; line-height: 1.56; }
.forum-v3-post-translation { color: var(--f3-muted); font-size: 11px; }
.forum-v3-post-open blockquote { margin: 1px 0; padding: 5px 7px; border-left: 2px solid var(--f3-accent); border-radius: 0 7px 7px 0; color: var(--f3-muted); background: var(--f3-canvas); font-size: 10px; }
.forum-v3-post-tags,
.forum-v3-profile-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.forum-v3-post-tags i,
.forum-v3-profile-tags i { padding: 2px 6px; border-radius: 100px; color: var(--f3-accent); background: var(--f3-wash); font-size: 8.5px; font-style: normal; }
.forum-v3-post-actions { grid-column: 2; display: grid; grid-template-columns: repeat(4,minmax(0,auto)); justify-content: start; gap: 2px; overflow: visible; margin-top: 5px; }
.forum-v3-post-actions::-webkit-scrollbar { display: none; }
.forum-v3-post-actions button { min-width: 0; min-height: 21px; padding: 2px 5px; border: 0; border-radius: 6px; color: var(--f3-muted); background: #f4f4f4; font-size: 8.5px; line-height: 1; white-space: nowrap; }
.forum-v3-post-actions button.active { color: var(--f3-accent); background: var(--f3-wash); }
.forum-v3-compose { position: fixed; z-index: 125; right: 14px; bottom: calc(65px + env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 5px; min-height: 38px; padding: 7px 13px; border: 0; border-radius: 100px; color: #fff; background: #000; box-shadow: 0 8px 22px rgba(0,0,0,.18); font-size: 11px; font-weight: 600; }
.forum-v3-empty-line { margin: 0; padding: 18px 12px; color: var(--f3-muted); font-size: 12px; line-height: 1.55; text-align: center; }
.forum-v3-empty { padding: 36px 18px; text-align: center; }
.forum-v3-empty strong { display: block; margin-bottom: 5px; font-size: 15px; }
.forum-v3-empty p { margin: 0; color: var(--f3-muted); font-size: 12px; line-height: 1.55; }
.forum-v3-detail-head,
.forum-v3-dm-head { position: sticky; z-index: 20; top: -10px; display: grid; grid-template-columns: 38px minmax(0,1fr) 38px; align-items: center; min-height: 48px; margin: -10px -10px 8px; padding: 7px 10px; border-bottom: 1px solid var(--f3-line); background: rgba(255,255,255,.95); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.forum-v3-detail-head > button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; color: var(--f3-ink); background: transparent; }
.forum-v3-detail-head > span { display: grid; gap: 1px; min-width: 0; text-align: center; }
.forum-v3-detail-head > span strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-detail-head > span small { color: var(--f3-muted); font-size: 9.5px; }
.forum-v3-owner { padding: 13px 12px 10px; border-radius: 15px; background: var(--f3-wash); }
.forum-v3-owner > header { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.forum-v3-owner > header > button { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; }
.forum-v3-owner > header > span { display: grid; grid-template-columns: auto 1fr; justify-items: start; gap: 2px 5px; align-items: center; min-width: 0; }
.forum-v3-owner > header strong { overflow: hidden; color: var(--f3-accent); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-owner > header small { grid-column: 1 / -1; color: color-mix(in srgb, var(--f3-accent) 62%, var(--f3-muted)); font-size: 9.5px; }
.forum-v3-owner > header em { color: var(--f3-accent); font-size: 9px; font-style: normal; }
.forum-v3-owner h1 { margin: 13px 0 8px; color: var(--f3-accent); font-family: "Arial Black", Inter, sans-serif; font-size: 20px; line-height: 1.35; letter-spacing: -.03em; }
.forum-v3-owner > p { margin: 0; color: var(--f3-ink); font-size: 15px; line-height: 1.75; white-space: pre-wrap; }
.forum-v3-owner-quote { display: grid; gap: 2px; margin: 0 0 8px; padding: 8px 9px; border-left: 2px solid var(--f3-accent); border-radius: 0 8px 8px 0; background: rgba(255,255,255,.58); }
.forum-v3-owner-quote span,
.forum-v3-owner-quote small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-owner-quote strong { font-size: 11px; }
.forum-v3-owner > .forum-v3-post-tags { margin-top: 9px; }
.forum-v3-owner > footer { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; overflow: visible; margin-top: 10px; padding-top: 8px; border-top: 1px solid color-mix(in srgb, var(--f3-accent) 14%, transparent); }
.forum-v3-owner > footer::-webkit-scrollbar { display: none; }
.forum-v3-owner > footer button { flex: 0 0 auto; min-width: 0; min-height: 27px; padding: 4px 8px; overflow: hidden; border: 0; border-radius: 8px; color: var(--f3-muted); background: rgba(255,255,255,.64); font-size: 10.5px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-owner > footer button.active { color: var(--f3-accent); background: #fff; }
.forum-v3-owner > footer button.danger { color: #9a3741; }
.forum-v3-reply-title { display: flex; align-items: center; justify-content: space-between; padding: 13px 3px 6px; }
.forum-v3-reply-title strong { font-size: 13px; }
.forum-v3-reply-title small { color: var(--f3-muted); font-size: 10px; }
.forum-v3-replies { overflow: hidden; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-reply { padding: 10px; border-bottom: 1px solid var(--f3-line); }
.forum-v3-reply:last-child { border-bottom: 0; }
.forum-v3-reply > header { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 7px; align-items: center; }
.forum-v3-reply > header > button { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; }
.forum-v3-reply > header > span { display: grid; grid-template-columns: auto 1fr; justify-items: start; gap: 2px 4px; align-items: center; min-width: 0; }
.forum-v3-reply > header strong { font-size: 11.5px; }
.forum-v3-reply > header small { grid-column: 1 / -1; color: var(--f3-muted); font-size: 9px; }
.forum-v3-reply > blockquote { margin: 7px 0 0 37px; padding: 4px 7px; border-left: 2px solid var(--f3-line); color: var(--f3-muted); background: var(--f3-canvas); font-size: 9.5px; }
.forum-v3-reply > p { margin: 7px 0 0 37px; color: var(--f3-ink); font-size: 14px; line-height: 1.62; white-space: pre-wrap; }
.forum-v3-reply > footer { display: flex; flex-wrap: wrap; gap: 4px; overflow: visible; margin: 7px 0 0 37px; }
.forum-v3-reply > footer button { flex: 0 0 auto; min-height: 25px; padding: 4px 7px; border: 0; border-radius: 7px; color: var(--f3-muted); background: #f4f4f4; font-size: 10px; line-height: 1; white-space: nowrap; }
.forum-v3-nested-list { margin: 8px 0 0 25px; overflow: hidden; border-left: 2px solid var(--f3-line); border-radius: 0 10px 10px 0; background: var(--f3-canvas); }
.forum-v3-nested-list .forum-v3-reply { padding: 8px; background: transparent; }
.forum-v3-reply-composer,
.forum-v3-dm-composer { position: sticky; z-index: 110; bottom: calc(54px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 5px; margin: 8px -4px -4px; padding: 7px; border: 1px solid var(--f3-line); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(23,22,24,.08); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.forum-v3-reply-composer select { width: 72px; min-height: 37px; padding: 0 7px; border: 1px solid var(--f3-line); border-radius: 12px; color: var(--f3-muted); background: var(--f3-canvas); font-size: 10px; }
.forum-v3-reply-composer input,
.forum-v3-dm-composer textarea { width: 100%; min-width: 0; min-height: 37px; max-height: 100px; padding: 8px 10px; resize: none; border: 1px solid var(--f3-line); border-radius: 14px; outline: 0; color: var(--f3-ink); background: var(--f3-canvas); font-size: 13px; }
.forum-v3-reply-composer > button,
.forum-v3-dm-composer > button:last-child { min-width: 52px; min-height: 37px; padding: 5px 10px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 11px; font-weight: 600; }
.forum-v3-adult-gate { display: grid; justify-items: center; gap: 10px; max-width: 360px; margin: 14vh auto 0; padding: 22px 18px; border-radius: 20px; color: var(--f3-accent); background: var(--f3-wash); text-align: center; }
.forum-v3-adult-gate > span { display: grid; place-items: center; width: 58px; height: 58px; border: 2px solid var(--f3-accent); border-radius: 50%; font-size: 19px; font-weight: 800; }
.forum-v3-adult-gate h2 { margin: 0; font-family: "Arial Black", Inter, sans-serif; font-size: 22px; }
.forum-v3-adult-gate p { margin: 0; color: var(--f3-ink); font-size: 13px; line-height: 1.65; }
.forum-v3-adult-gate button { width: 100%; min-height: 40px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 12px; }
.forum-v3-adult-gate button.secondary { border: 1px solid var(--f3-accent); color: var(--f3-accent); background: transparent; }
.forum-v3-profile-hero,
.forum-v3-my-card { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 10px; padding: 13px; border: 1px solid var(--f3-line); border-radius: 16px; background: var(--f3-paper); }
.forum-v3-profile-hero > div:nth-child(2),
.forum-v3-my-card > div:nth-child(2) { display: grid; align-content: center; gap: 3px; min-width: 0; }
.forum-v3-profile-hero h2,
.forum-v3-my-card h2 { margin: 0; font-family: "Arial Black", Inter, sans-serif; font-size: 18px; letter-spacing: -.025em; }
.forum-v3-profile-hero p,
.forum-v3-my-card p { margin: 0; color: var(--f3-ink); font-size: 12px; line-height: 1.48; }
.forum-v3-profile-hero small,
.forum-v3-my-card small { color: var(--f3-muted); font-size: 9.5px; }
.forum-v3-profile-stats,
.forum-v3-my-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, 1fr); padding-top: 8px; border-top: 1px solid var(--f3-line); }
.forum-v3-my-stats { grid-template-columns: repeat(4,1fr); }
.forum-v3-profile-stats span,
.forum-v3-my-stats span { display: grid; justify-items: center; gap: 1px; border-right: 1px solid var(--f3-line); }
.forum-v3-profile-stats span:last-child,
.forum-v3-my-stats span:last-child { border-right: 0; }
.forum-v3-profile-stats b,
.forum-v3-my-stats b { font-size: 12px; }
.forum-v3-profile-stats small,
.forum-v3-my-stats small { font-size: 8px; }
.forum-v3-profile-tags,
.forum-v3-joined,
.forum-v3-profile-actions { grid-column: 1 / -1; }
.forum-v3-joined { margin: 0; color: var(--f3-muted); font-size: 9.5px; }
.forum-v3-profile-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.forum-v3-profile-actions button { min-height: 34px; padding: 5px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 10px; }
.forum-v3-profile-actions button.secondary { border: 1px solid var(--f3-line); color: var(--f3-ink); background: var(--f3-canvas); }
.forum-v3-profile-actions button.active { color: #9a3741; background: #fff1f1; }
.forum-v3-profile-posts { margin-top: 8px; }
.forum-v3-profile-posts > header { display: flex; align-items: center; justify-content: space-between; padding: 9px 11px; border-bottom: 1px solid var(--f3-line); }
.forum-v3-profile-posts > header strong { font-size: 12px; }
.forum-v3-profile-posts > header small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-identities { display: flex; gap: 6px; overflow-x: auto; margin-bottom: 8px; padding: 1px 0 4px; scrollbar-width: none; }
.forum-v3-identities::-webkit-scrollbar { display: none; }
.forum-v3-identities > button { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 5px 9px 5px 5px; border: 1px solid var(--f3-line); border-radius: 14px; color: var(--f3-ink); background: var(--f3-paper); }
.forum-v3-identities > button > span:last-child { display: grid; gap: 1px; text-align: left; }
.forum-v3-identities > button strong { font-size: 11px; }
.forum-v3-identities > button small { color: var(--f3-muted); font-size: 8px; }
.forum-v3-identities > button.active { border-color: var(--f3-accent); color: var(--f3-accent); background: var(--f3-wash); }
.forum-v3-identities.compact > button { min-height: 34px; border-radius: 100px; }
.forum-v3-identities.compact > button strong { max-width: 76px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-dm-note,
.forum-v3-mask-note { margin: 0 0 7px; padding: 7px 9px; border-radius: 9px; color: var(--f3-muted); background: #efefef; font-size: 10px; line-height: 1.48; }
.forum-v3-dm-list { overflow: hidden; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-dm-row { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 9px; align-items: center; width: 100%; min-height: 65px; padding: 8px 10px; border: 0; border-bottom: 1px solid var(--f3-line); color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-dm-row[data-forum-v3-delete-dm],
.forum-v3-dm-row[data-forum-v3-delete-dm] * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.forum-v3-dm-row[data-forum-v3-delete-dm] { touch-action: pan-y; transition: transform .14s ease, background-color .14s ease; }
.forum-v3-dm-row[data-forum-v3-delete-dm].is-long-pressing { transform: scale(.986); background: color-mix(in srgb, var(--f3-accent) 8%, transparent); }
.forum-v3-dm-row:last-child { border-bottom: 0; }
.forum-v3-dm-row > span { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; min-width: 0; }
.forum-v3-dm-row strong { overflow: hidden; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-dm-row small { grid-column: 1 / -1; overflow: hidden; color: #3f4042; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-dm-row em { color: var(--f3-muted); font-size: 8.5px; font-style: normal; }
.forum-v3-dm-row > b { position: absolute; top: 10px; right: 9px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 100px; color: #fff; background: var(--f3-plum); font-size: 8px; }
.forum-v3-dm-head { grid-template-columns: 38px minmax(0,1fr) auto; }
.forum-v3-dm-head > button:first-child { display: grid; place-items: center; width: 36px; height: 36px; border: 0; color: var(--f3-ink); background: transparent; }
.forum-v3-dm-head > button:nth-child(2) { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 0; border: 0; color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-dm-head > button:nth-child(2) > span:last-child { display: grid; gap: 1px; min-width: 0; }
.forum-v3-dm-head > button:nth-child(2) strong { overflow: hidden; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.forum-v3-dm-head > button:nth-child(2) small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-dm-head > button:last-child { min-height: 30px; padding: 4px 8px; border: 1px solid var(--f3-line); border-radius: 8px; color: var(--f3-accent); background: var(--f3-wash); font-size: 9.5px; }
.forum-v3-dm-identity-bar { display: grid; gap: 3px; margin-bottom: 6px; }
.forum-v3-dm-identity-bar > span { color: var(--f3-muted); font-size: 9px; }
.forum-v3-dm-identity-bar .forum-v3-identities { margin: 0; }
.forum-v3-dm-thread { display: flex; flex-direction: column; gap: 5px; min-height: calc(100vh - 280px); padding: 10px 8px; border: 1px solid var(--f3-line); border-radius: 14px; background: var(--f3-paper); }
.forum-v3-dm-bubble { align-self: flex-start; display: grid; gap: 3px; max-width: 82%; padding: 8px 10px 5px; border-radius: 6px 15px 15px 15px; color: var(--f3-ink); background: #efefef; }
.forum-v3-dm-bubble.mine { align-self: flex-end; border-radius: 15px 6px 15px 15px; color: #fff; background: #171618; }
.forum-v3-dm-bubble + .forum-v3-dm-bubble.other,
.forum-v3-dm-bubble.mine + .forum-v3-dm-bubble.mine { margin-top: -2px; }
.forum-v3-dm-bubble p { margin: 0; font-size: 13px; line-height: 1.48; white-space: pre-wrap; }
.forum-v3-dm-bubble > .bilingual-longform-translation { margin-top: 2px; padding-top: 4px; border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.forum-v3-dm-bubble small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-dm-bubble.mine small { color: rgba(255,255,255,.62); }
.forum-v3-dm-bubble time { justify-self: end; color: var(--f3-muted); font-size: 7.5px; }
.forum-v3-dm-bubble.mine time { color: rgba(255,255,255,.5); }
.forum-v3-dm-bubble.recalled { color: var(--f3-muted); background: transparent; font-size: 10px; }
.forum-v3-dm-typing { align-self: flex-start; display: flex; gap: 3px; padding: 9px 12px; border-radius: 6px 15px 15px 15px; background: #efefef; }
.forum-v3-dm-typing i { width: 4px; height: 4px; border-radius: 50%; background: var(--f3-muted); animation: forum-v3-dot 1s infinite alternate; }
.forum-v3-dm-typing i:nth-child(2) { animation-delay: .18s; }
.forum-v3-dm-typing i:nth-child(3) { animation-delay: .36s; }
.forum-v3-dm-composer { grid-template-columns: 36px minmax(0,1fr) auto; }
.forum-v3-dm-composer > button:first-child { display: grid; place-items: center; width: 36px; min-height: 37px; border: 1px solid var(--f3-line); border-radius: 12px; color: var(--f3-ink); background: var(--f3-canvas); }
.forum-v3-dm-composer button:disabled { opacity: .45; }
.forum-v3-my-card { margin-bottom: 7px; }
.forum-v3-social-scores { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.forum-v3-social-scores > span { display: grid; grid-template-columns: 1fr auto; gap: 4px; align-items: center; }
.forum-v3-social-scores small { font-size: 9px; }
.forum-v3-social-scores b { font-size: 10px; }
.forum-v3-social-scores i { grid-column: 1 / -1; display: block; height: 4px; overflow: hidden; border-radius: 100px; background: var(--f3-line); }
.forum-v3-social-scores i::before { content: ""; display: block; width: var(--score); height: 100%; border-radius: inherit; background: var(--f3-accent); }
.forum-v3-mine-reply { display: grid; gap: 3px; width: 100%; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--f3-line); color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-mine-reply span { font-size: 13px; line-height: 1.5; }
.forum-v3-mine-reply small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-draft { position: relative; border-bottom: 1px solid var(--f3-line); }
.forum-v3-draft > button:first-child { display: grid; gap: 3px; width: 100%; padding: 10px 58px 10px 10px; border: 0; color: var(--f3-ink); text-align: left; background: transparent; }
.forum-v3-draft strong { font-size: 13px; }
.forum-v3-draft p { margin: 0; color: #3f4042; font-size: 11px; line-height: 1.45; }
.forum-v3-draft small { color: var(--f3-muted); font-size: 9px; }
.forum-v3-draft > button:last-child { position: absolute; top: 12px; right: 8px; min-height: 28px; border: 0; border-radius: 7px; color: #9a3741; background: #fff1f1; font-size: 9px; }
.forum-v3-mask-note { margin-top: 7px; }
.forum-v3-compose-form { display: grid; overflow: hidden; border: 1px solid var(--f3-line); border-radius: 16px; background: var(--f3-paper); }
.forum-v3-compose-form > label { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 8px; align-items: start; padding: 9px 10px; border-bottom: 1px solid var(--f3-line); }
.forum-v3-compose-form > label > span { padding-top: 9px; font-size: 11px; font-weight: 600; }
.forum-v3-compose-form input:not([type="checkbox"]),
.forum-v3-compose-form textarea,
.forum-v3-compose-form select { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid var(--f3-line); border-radius: 12px; outline: 0; color: var(--f3-ink); background: var(--f3-canvas); font-size: 12px; line-height: 1.5; }
.forum-v3-compose-form textarea { resize: vertical; }
.forum-v3-anon-switch { grid-template-columns: 76px auto minmax(0,1fr) !important; align-items: center !important; }
.forum-v3-anon-switch > span { padding-top: 0 !important; }
.forum-v3-anon-switch input { width: 18px; height: 18px; accent-color: var(--f3-accent); }
.forum-v3-anon-switch small { align-self: center; color: var(--f3-muted); font-size: 9px; }
.forum-v3-compose-quote { position: relative; display: grid; gap: 2px; margin: 8px 9px 0; padding: 8px 74px 8px 9px; border-left: 2px solid var(--f3-accent); border-radius: 0 9px 9px 0; background: var(--f3-wash); }
.forum-v3-compose-quote span { color: var(--f3-muted); font-size: 8.5px; }
.forum-v3-compose-quote strong { color: var(--f3-accent); font-size: 11px; }
.forum-v3-compose-quote button { position: absolute; top: 7px; right: 7px; min-height: 27px; border: 0; border-radius: 7px; color: var(--f3-muted); background: rgba(255,255,255,.7); font-size: 9px; }
.forum-v3-compose-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 9px; }
.forum-v3-compose-actions button,
.forum-v3-compose-form > button { min-height: 39px; border: 0; border-radius: 8px; color: #fff; background: #000; font-size: 11px; font-weight: 600; }
.forum-v3-compose-actions button.secondary { border: 1px solid var(--f3-line); color: var(--f3-ink); background: var(--f3-canvas); }
.forum-v3-board-form .forum-v4-fieldset { margin: 9px !important; border-color: var(--f3-line) !important; }
.forum-v3-board-form > button { margin: 0 9px 9px; }
.forum-v3-board-form > button.danger { color: #9a3741; background: #fff1f1; }
.forum-v3-overlay { position: fixed; z-index: 99998; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 16px 10px calc(16px + env(safe-area-inset-bottom)); background: rgba(23,22,24,.34); }
.forum-v3-picker { width: min(480px,100%); max-height: 72vh; overflow: hidden; border-radius: 20px; background: var(--f3-paper, #fff); box-shadow: 0 18px 70px rgba(0,0,0,.24); }
.forum-v3-picker > header { display: flex; align-items: center; justify-content: space-between; padding: 11px 12px; border-bottom: 1px solid #e8e8e8; }
.forum-v3-picker > header > span { display: grid; gap: 1px; }
.forum-v3-picker > header strong { font-size: 13px; }
.forum-v3-picker > header small { color: #727578; font-size: 9px; }
.forum-v3-picker > header button { width: 32px; height: 32px; border: 0; border-radius: 50%; color: #171618; background: #efefef; }
.forum-v3-picker > div { max-height: calc(72vh - 56px); overflow-y: auto; }
.forum-v3-picker > div > button { display: grid; gap: 3px; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid #e8e8e8; color: #171618; text-align: left; background: #fff; }
.forum-v3-picker > div > button strong { font-size: 12px; }
.forum-v3-picker > div > button small { color: #727578; font-size: 10px; line-height: 1.4; }
html[data-ui-mode="dark"] .app-body:has(.forum-v3) { background: #151518 !important; }
html[data-ui-mode="dark"] .forum-v3 {
  --f3-ink: #f3f1f4;
  --f3-muted: #aaa7ad;
  --f3-canvas: #151518;
  --f3-paper: #212125;
  --f3-line: #343238;
  --f3-teal: #83d5df;
  --f3-teal-wash: #17373d;
  --f3-violet: #c3b2f4;
  --f3-violet-wash: #2d2741;
  --f3-amber: #e0bd75;
  --f3-amber-wash: #3a3120;
  --f3-plum: #e4a5bd;
  --f3-plum-wash: #3d2631;
}
html[data-ui-mode="dark"] .forum-v3-bottom-nav,
html[data-ui-mode="dark"] .forum-v3-detail-head,
html[data-ui-mode="dark"] .forum-v3-dm-head,
html[data-ui-mode="dark"] .forum-v3-reply-composer,
html[data-ui-mode="dark"] .forum-v3-dm-composer { background: rgba(33,33,37,.95); }
html[data-ui-mode="dark"] .forum-v3-post-preview,
html[data-ui-mode="dark"] .forum-v3-dm-row small,
html[data-ui-mode="dark"] .forum-v3-draft p { color: #d4d1d7; }
html[data-ui-mode="dark"] .forum-v3-post-actions button,
html[data-ui-mode="dark"] .forum-v3-reply > footer button,
html[data-ui-mode="dark"] .forum-v3-dm-typing { background: #2d2c31; }
html[data-ui-mode="dark"] .forum-v3-dm-bubble.other { background: #333238; }
html[data-ui-mode="dark"] .forum-v3-dm-note,
html[data-ui-mode="dark"] .forum-v3-mask-note { background: #29282d; }
@media (max-width: 390px) {
  .forum-v3-main { padding-inline: 8px; }
  .forum-v3-detail-head,
.forum-v3-dm-head { margin-inline: -8px; }
  .forum-v3-official-tabs { gap: 4px; }
  .forum-v3-official-tabs button { min-height: 44px; }
  .forum-v3-post { grid-template-columns: 31px minmax(0,1fr); column-gap: 7px; padding-inline: 8px; }
  .forum-v3-author-button,
.forum-v3-post .forum-v3-avatar { width: 31px !important; height: 31px !important; }
  .forum-v3-post-title > b { font-size: 14.5px; }
  .forum-v3-post-preview { font-size: 13.5px; }
  .forum-v3-profile-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }
body.keyboard-open .forum-v3-bottom-nav { display: none; }
body.keyboard-open .forum-v3-reply-composer,
body.keyboard-open .forum-v3-dm-composer { bottom: max(4px, env(safe-area-inset-bottom)); }
body.keyboard-open .forum-v3-main { padding-bottom: 12px; }
.forum-v3-feed-more{display:block;width:calc(100% - 28px);margin:4px 14px 92px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--line,#d9d9df) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel,#fff) 92%,transparent);color:var(--text,#222);font:600 13px/1.2 inherit;box-shadow:0 8px 22px rgba(18,22,33,.06);touch-action:manipulation}
.forum-v3-feed-more:active{transform:scale(.985)}
.forum-v4-post-row {
  contain: layout style;
  will-change: auto !important;
}
html.moss-ios-webkit .forum-v4-replybar,
html.moss-ios-webkit .forum-v3-dm-head,
html.moss-ios-webkit .forum-v3-dm-composer {
  background-color: var(--moss-ui-surface, var(--surface-strong, #fff)) !important;
}
.forum-v4 {
  -webkit-overflow-scrolling: touch;
}
.forum-v4-post-load-more {
  display: block;
  width: calc(100% - 28px);
  min-height: 44px;
  margin: 12px 14px calc(22px + env(safe-area-inset-bottom));
  padding: 10px 14px;
  border: 1px solid var(--moss-ui-line, rgba(90, 100, 110, .18));
  border-radius: 14px;
  background: var(--moss-ui-surface, var(--surface-strong, #fff));
  color: var(--moss-ui-text, var(--skin-text, #20242c));
  font: 700 13px/1.3 inherit;
  touch-action: manipulation;
}
body.keyboard-open #appScreen .forum-v4-replybar {
  bottom: 0 !important;
  padding-bottom: 7px !important;
}
.forum-v3-dm-bubble[data-forum-v3-delete-dm-message],
.forum-v3-dm-bubble[data-forum-v3-delete-dm-message] * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.forum-v3-dm-bubble[data-forum-v3-delete-dm-message] {
  touch-action: pan-y;
  transition: transform .14s ease, filter .14s ease;
}
.forum-v3-dm-bubble[data-forum-v3-delete-dm-message].is-long-pressing {
  transform: scale(.975);
  filter: brightness(.94);
}

/*# source: assets/css/features/album.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

.gallery-gradient {background: linear-gradient(145deg, #ff719d, #7b69ff 55%, #33d6ad);}

.gallery-grid {height: 100%;}

.gallery-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(150px, 1fr);
  gap: 10px;}

.photo-card {border-radius: 22px;
  background-size: cover;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.28);}

.photo-a {background: linear-gradient(145deg, #253047, #61ca8b);}

.photo-b {background: linear-gradient(145deg, #303846, #ffd479);}

.photo-c {background: linear-gradient(145deg, #6e2cff, #ff719d);}

.photo-d {background: linear-gradient(145deg, #246bff, #7fd5ff);}

#momentImagePreview img {width: 112px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #fafafa;
  color: #c9cdd3;
  font-size: 42px;}

#momentImagePreview {display: flex;
  flex-wrap: wrap;
  gap: 10px;}

#momentImagePreview img {object-fit: cover;}

.favorite-row {display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: stretch;}

.favorite-row .persona-row {min-width: 0;}

.favorite-delete {align-self: center;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, #e34b55 45%, var(--skin-border));
  color: #b3261e;
  background: color-mix(in srgb, #e34b55 12%, var(--surface-strong));}

.favorite-search-panel {display: grid;
  gap: 10px;}

.favorite-type-tabs {justify-self: start;
  flex-wrap: wrap;}

.favorite-search-results {display: grid;
  gap: 10px;}

.favorite-search-result {display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--skin-border);
  background: var(--surface-strong);}

.favorite-search-result > span {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.favorite-search-result > button {justify-self: end;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 14px;
  border: 0;
  background: #171b22;
  color: #fff;
  font-weight: 900;}

.favorite-detail {display: grid;
  gap: 12px;}

.favorite-detail header {display: flex;
  align-items: center;
  gap: 10px;}

.favorite-detail header {justify-content: space-between;}

.favorite-detail header small {display: block;
  color: var(--skin-muted);
  font-size: 12px;}

.favorite-card {display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--skin-border);
  background: var(--surface-strong);}

.favorite-card span {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.favorite-card p {margin: 0;
  white-space: pre-wrap;
  word-break: break-word;}

.favorite-image-full {width: 100%;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  overflow: hidden;}

.favorite-image-full img {display: block;
  width: 100%;
  height: auto;
  max-height: 62vh;
  object-fit: contain;
  background: color-mix(in srgb, var(--skin-text) 6%, transparent);}

.favorite-search-result,
.favorite-card {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.favorite-card,
.favorite-search-result {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.favorite-card,
.favorite-search-result {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.hidden-album-photo-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;}

.text-photo-tile {min-height: 128px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, #8e9aaf, #cbc0d3);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);}

.text-photo-tile span {width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.24);
  font-weight: 900;}

.text-photo-tile p {margin: 0;
  color: #fff;
  font-size: 12px;
  line-height: 1.45;}

.favorite-voice-card {border-radius: 18px;
  padding: 13px;
  background: rgba(245, 248, 255, .92);
  border: 1px solid rgba(116, 129, 214, .16);
  display: grid;
  gap: 10px;}

.favorite-voice-head {display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 9px;
  align-items: center;
  color: rgba(31, 36, 48, .72);
  font-size: 12px;}

.favorite-voice-head strong {color: rgba(31,36,48,.9);
  font-size: 13px;}

.favorite-voice-card audio {width: 100%;
  min-height: 34px;}

.favorite-voice-card p,
.favorite-voice-card small {margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(31,36,48,.62);}

.favorite-original-card.transfer strong {font-size: 22px;
  color: rgba(194, 84, 84, .92);}

.favorite-original-card.location {background: linear-gradient(145deg, rgba(236,249,244,.94), rgba(246,250,255,.92));}

#appScreen .favorite-type-tabs button {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 22%, transparent) !important;
  box-shadow: none !important;
  background-image: none !important;}

.favorite-kind-filter {display: grid;
  gap: 7px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent);}

.favorite-kind-filter > span,
.favorite-inline-player-label {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 850;}

.favorite-kind-tabs small {margin-left: 2px;
  opacity: .72;
  font-size: 10px;}

.favorite-list-row {align-items: start;
  padding: 10px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  background: var(--surface-strong);}

.favorite-list-main {display: grid;
  min-width: 0;
  gap: 8px;}

.favorite-list-row .favorite-summary {width: 100%;
  padding: 4px;
  border: 0;
  background: transparent;}

.favorite-summary-meta {display: grid;
  justify-items: end;
  gap: 6px;}

.favorite-summary-meta time {color: var(--skin-muted);
  font-size: 11px;
  white-space: nowrap;}

.favorite-kind-badge {display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;}

.favorite-kind-badge.text {color: #315eae;
  background: rgba(78, 132, 224, .14);}

.favorite-kind-badge.voice {color: #4f3d9a;
  background: rgba(126, 99, 220, .16);}

.favorite-inline-player {display: grid;
  gap: 6px;
  min-width: 0;
  padding: 0 4px 4px;}

.favorite-inline-player .favorite-voice-card {border-radius: 14px;
  background: color-mix(in srgb, #eef2ff 84%, var(--surface-strong));}

.favorite-inline-player audio {max-width: 100%;}

.favorite-detail .favorite-kind-badge {vertical-align: middle;}

@media (max-width: 420px) {
.favorite-list-row.has-inline-voice {grid-template-columns: minmax(0, 1fr);}
.favorite-list-row.has-inline-voice > .favorite-delete {justify-self: end;
    min-height: 34px;}
}

.moss-album-photo-wrap {contain: layout style;
  will-change: auto !important;}

.moss-album-app {-webkit-overflow-scrolling: touch;}

/* Existing canonical module rules follow. */
/*
 * album feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.album-gradient { background: linear-gradient(145deg, #5f7467, #3f4e45 55%, #b5a07f); }
.moss-album-app {
  min-height: 100%;
  padding: 14px 14px 28px;
  color: var(--app-text, #f7f3ea);
  background:
    radial-gradient(circle at 12% 0%, rgba(145, 190, 171, .22), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(116, 135, 178, .18), transparent 28%),
    linear-gradient(180deg, rgba(28, 31, 33, .96), rgba(15, 16, 18, .98));
}
:root[data-ui-mode="light"] .moss-album-app {
  color: #2b302f;
  background:
    radial-gradient(circle at 10% 0%, rgba(148, 180, 160, .26), transparent 34%),
    radial-gradient(circle at 92% 14%, rgba(177, 164, 205, .18), transparent 30%),
    linear-gradient(180deg, #f7f4ee, #ece7df);
}
.moss-album-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(36, 42, 42, .92), rgba(22, 25, 29, .88));
  border: 1px solid rgba(219, 211, 190, .14);
  box-shadow: 0 18px 48px rgba(0,0,0,.26);
}
:root[data-ui-mode="light"] .moss-album-hero {
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(230, 224, 214, .9));
  border-color: rgba(67, 73, 70, .1);
  box-shadow: 0 18px 40px rgba(70, 63, 51, .12);
}
.moss-album-hero::before {
  content: "";
  position: absolute;
  inset: -30% -20% auto auto;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(142, 189, 162, .34), transparent 66%);
  pointer-events: none;
}
.moss-album-hero-copy { position: relative; z-index: 1; }
.moss-album-hero-copy span {
  display: inline-flex;
  margin-bottom: 7px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  color: rgba(230, 238, 225, .82);
  background: rgba(255,255,255,.08);
}
:root[data-ui-mode="light"] .moss-album-hero-copy span { color: #617069; background: rgba(83, 98, 90, .08); }
.moss-album-hero h2 { margin: 0; font-size: 25px; letter-spacing: .03em; }
.moss-album-hero p { margin: 7px 0 0; max-width: 280px; font-size: 12px; line-height: 1.55; color: rgba(238, 234, 220, .68); }
:root[data-ui-mode="light"] .moss-album-hero p { color: rgba(61, 68, 65, .66); }
.moss-album-import-main,
.moss-album-empty button {
  position: relative;
  z-index: 1;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  color: #f5f1e6;
  background: linear-gradient(135deg, #5f7467, #9d8970);
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
.moss-album-hero-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}
.moss-album-edit-main {
  border: 1px solid rgba(230,224,210,.18);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  color: #f5f1e6;
  background: rgba(255,255,255,.09);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
:root[data-ui-mode="light"] .moss-album-edit-main { color: #3d4541; background: rgba(255,255,255,.66); border-color: rgba(65,70,67,.12); }
.moss-album-edit-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin: 0 0 13px;
  padding: 10px;
  border: 1px solid rgba(230,224,210,.12);
  border-radius: 22px;
  background: rgba(20, 24, 23, .76);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
:root[data-ui-mode="light"] .moss-album-edit-bar { background: rgba(255,255,255,.72); border-color: rgba(65,70,67,.1); }
.moss-album-edit-bar strong { font-size: 13px; }
.moss-album-edit-actions { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.moss-album-edit-actions::-webkit-scrollbar { display: none; }
.moss-album-edit-actions button {
  flex: 0 0 auto;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  color: #f5f1e6;
  background: rgba(255,255,255,.1);
}
.moss-album-edit-actions button.primary { background: linear-gradient(135deg, #5f7467, #9d8970); }
.moss-album-edit-actions button.danger { background: linear-gradient(135deg, #b35c50, #7c3c34); }
.moss-album-edit-actions button:disabled { opacity: .42; }
:root[data-ui-mode="light"] .moss-album-edit-actions button { color: #39423d; background: rgba(65,70,67,.09); }
:root[data-ui-mode="light"] .moss-album-edit-actions button.primary { color: #fff; }
:root[data-ui-mode="light"] .moss-album-edit-actions button.danger { color: #fff; }
.moss-album-photo-wrap.selected .moss-album-photo-card { outline: 2px solid rgba(181,160,127,.95); outline-offset: -2px; }
.moss-album-photo-card.is-sprite::before {
  content: "立绘";
  position: absolute;
  z-index: 3;
  top: 9px;
  right: 9px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  color: #fbf6e8;
  background: rgba(95,116,103,.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.moss-album-photo-check {
  position: absolute;
  z-index: 5;
  right: 8px;
  top: 8px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.72);
  color: transparent;
  background: rgba(0,0,0,.26);
  box-shadow: 0 6px 18px rgba(0,0,0,.24);
}
.moss-album-photo-check.checked { color: #fff; background: linear-gradient(135deg, #5f7467, #b5a07f); }
.moss-album-role-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 14px 1px 8px;
  scrollbar-width: none;
}
.moss-album-role-strip::-webkit-scrollbar { display: none; }
.moss-album-role-strip button,
.moss-album-tabs button {
  flex: 0 0 auto;
  border: 1px solid rgba(230, 224, 210, .14);
  background: rgba(255,255,255,.07);
  color: inherit;
  border-radius: 18px;
  padding: 10px 12px;
  text-align: left;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
:root[data-ui-mode="light"] .moss-album-role-strip button,
:root[data-ui-mode="light"] .moss-album-tabs button { border-color: rgba(65,70,67,.1); background: rgba(255,255,255,.62); }
.moss-album-role-strip button span { display: block; font-size: 13px; font-weight: 700; white-space: nowrap; }
.moss-album-role-strip button small { display: block; margin-top: 3px; font-size: 11px; opacity: .58; }
.moss-album-role-strip button.active,
.moss-album-tabs button.active {
  color: #f8f3e9;
  background: linear-gradient(145deg, rgba(95,116,103,.96), rgba(71,78,85,.92));
  border-color: rgba(225, 217, 190, .24);
}
.moss-album-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 6px 1px 12px;
  scrollbar-width: none;
}
.moss-album-tabs::-webkit-scrollbar { display: none; }
.moss-album-tabs button { padding: 8px 12px; border-radius: 999px; font-size: 12px; }
.moss-album-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 4px 0 14px; }
.moss-album-stat-row article {
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(230, 224, 210, .1);
}
:root[data-ui-mode="light"] .moss-album-stat-row article { background: rgba(255,255,255,.58); border-color: rgba(65,70,67,.08); }
.moss-album-stat-row strong { display: block; font-size: 18px; }
.moss-album-stat-row span { display: block; margin-top: 2px; font-size: 11px; opacity: .62; }
.moss-album-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.moss-album-photo-wrap { position: relative; min-width: 0; }
.moss-album-photo-wrap .moss-album-photo-card { width: 100%; }
.moss-album-photo-del {
  position: absolute;
  z-index: 4;
  right: 7px;
  top: 7px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  color: #ffe8e8;
  background: rgba(18, 15, 15, .46);
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 800;
}
.moss-album-photo-del { display:none !important; }
.moss-album-photo-del:active { transform: scale(.94); }
:root[data-ui-mode="light"] .moss-album-photo-del { color: #8e4e4e; background: rgba(255,255,255,.72); }
.moss-album-timeline h3 {
  grid-column: 1 / -1;
  margin: 12px 2px 2px;
  font-size: 14px;
  color: rgba(239, 235, 221, .74);
}
:root[data-ui-mode="light"] .moss-album-timeline h3 { color: rgba(51, 58, 55, .72); }
.moss-album-photo-card {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background-color: rgba(255,255,255,.06);
  background-size: cover !important;
  background-position: center !important;
  color: #fff;
  text-align: left;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.moss-album-photo-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.72));
}
.moss-album-photo-card em,
.moss-album-photo-card small { position: absolute; z-index: 2; left: 10px; right: 10px; }
.moss-album-photo-card em { top: 9px; width: max-content; max-width: calc(100% - 20px); padding: 3px 7px; border-radius: 999px; font-size: 10px; font-style: normal; background: rgba(0,0,0,.34); backdrop-filter: blur(10px); }
.moss-album-photo-card small { bottom: 10px; font-size: 10px; opacity: .78; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.moss-album-empty {
  margin-top: 24px;
  padding: 34px 22px;
  text-align: center;
  border-radius: 26px;
  border: 1px dashed rgba(230, 224, 210, .18);
  background: rgba(255,255,255,.055);
}
:root[data-ui-mode="light"] .moss-album-empty { border-color: rgba(65,70,67,.13); background: rgba(255,255,255,.54); }
.moss-album-empty div { width: 58px; height: 58px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 20px; background: linear-gradient(145deg, rgba(95,116,103,.92), rgba(121,105,86,.88)); color: #fff; font-weight: 800; }
.moss-album-empty strong { display: block; font-size: 16px; }
.moss-album-empty p { margin: 8px auto 15px; max-width: 270px; font-size: 12px; line-height: 1.6; opacity: .66; }
.moss-album-viewer {
  position: fixed;
  inset: 0;
  z-index: 99980;
  display: grid;
  place-items: center;
  padding: 18px;
}
.moss-album-viewer-backdrop { position: absolute; inset: 0; background: rgba(8, 9, 10, .78); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.moss-album-viewer-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(35,39,40,.96), rgba(16,17,19,.97));
  color: #f8f3e9;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 72px rgba(0,0,0,.42);
}
.moss-album-viewer-panel header,
.moss-album-viewer-panel footer { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.moss-album-viewer-panel header button { width: 38px; height: 38px; border: 0; border-radius: 14px; background: rgba(255,255,255,.09); color: inherit; font-size: 24px; }
.moss-album-viewer-panel header .danger { width: auto; padding: 0 12px; font-size: 12px; color: #ffd6d6; }
.moss-album-viewer-panel header strong { display: block; font-size: 14px; }
.moss-album-viewer-panel header small { display: block; margin-top: 2px; font-size: 11px; opacity: .62; }
.moss-album-viewer-stage { position: relative; min-height: 54vh; border-radius: 22px; overflow: hidden; background: #0d0e10; }
.moss-album-viewer-img { position: absolute; inset: 0; background-size: contain !important; background-position: center !important; background-repeat: no-repeat !important; }
.moss-album-viewer-panel footer { grid-template-columns: 1fr auto; }
.moss-album-viewer-panel footer p { margin: 0; font-size: 12px; opacity: .78; }
.moss-album-viewer-panel footer span { font-size: 11px; opacity: .52; }
:root[data-ui-mode="dark"] .moss-album-photo-card,
:root[data-ui-mode="dark"] .moss-album-photo-card::after {
  color: #fff !important;
}
#appScreen .moss-album-app {
  min-height: 100%;
  padding: 14px 16px calc(30px + var(--safe-bottom));
  color: var(--moss-live-text, #373733) !important;
  background: var(--moss-live-canvas, #deddd9) !important;
}
#appScreen .moss-album-hero {
  min-height: 108px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px;
  border: 1px solid var(--moss-live-line, rgba(31,30,28,.09)) !important;
  border-radius: 18px;
  color: var(--moss-live-text, #373733) !important;
  background: var(--moss-live-paper, #f8f7f4) !important;
  box-shadow: none !important;
}
#appScreen .moss-album-hero::before,
#appScreen .moss-album-hero::after { display: none !important; }
#appScreen .moss-album-hero-copy { min-width: 0; }
#appScreen .moss-album-hero-copy > span {
  color: var(--moss-live-moss, #63745f) !important;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
}
#appScreen .moss-album-hero h2 {
  margin: 4px 0 0;
  color: var(--moss-live-ink, #181817) !important;
  font-family: var(--moss-live-font-serif, "Songti SC", serif);
  font-size: 21px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -.025em;
}
#appScreen .moss-album-hero p {
  max-width: 310px;
  margin: 6px 0 0;
  color: var(--moss-live-muted, #77756f) !important;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#appScreen .moss-album-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
#appScreen .moss-album-hero-actions button {
  min-width: 0;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid var(--moss-live-line, rgba(31,30,28,.09)) !important;
  border-radius: 11px;
  color: var(--moss-live-text, #373733) !important;
  background: var(--moss-live-sand, #e8e6e1) !important;
  box-shadow: none !important;
  font-size: 11px;
  font-weight: 650;
}
#appScreen .moss-album-import-main {
  color: var(--moss-live-paper-strong, #fff) !important;
  border-color: var(--moss-live-charcoal, #1c1c1b) !important;
  background: var(--moss-live-charcoal, #1c1c1b) !important;
}
#appScreen .moss-album-role-strip,
#appScreen .moss-album-tabs {
  gap: 6px;
  padding-block: 9px 2px;
}
#appScreen .moss-album-role-strip button,
#appScreen .moss-album-tabs button {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--moss-live-line, rgba(31,30,28,.09)) !important;
  border-radius: 11px;
  color: var(--moss-live-muted, #77756f) !important;
  background: var(--moss-live-paper, #f8f7f4) !important;
  box-shadow: none !important;
}
#appScreen .moss-album-role-strip button.active,
#appScreen .moss-album-tabs button.active {
  color: var(--moss-live-paper-strong, #fff) !important;
  border-color: var(--moss-live-charcoal, #1c1c1b) !important;
  background: var(--moss-live-charcoal, #1c1c1b) !important;
}
#appScreen .moss-album-role-strip button.active small { color: inherit !important; }
#appScreen .moss-album-stat-row { gap: 7px; margin: 9px 0 13px; }
#appScreen .moss-album-stat-row article {
  padding: 10px 8px;
  border: 1px solid var(--moss-live-line, rgba(31,30,28,.09)) !important;
  border-radius: 13px;
  color: var(--moss-live-text, #373733) !important;
  background: var(--moss-live-paper, #f8f7f4) !important;
  box-shadow: none !important;
}
#appScreen .moss-album-stat-row strong { color: var(--moss-live-ink, #181817) !important; font-size: 17px; }
#appScreen .moss-album-stat-row span { color: var(--moss-live-muted, #77756f) !important; font-size: 11px; }
#appScreen .moss-album-timeline { gap: 7px; }
#appScreen .moss-album-timeline h3 {
  margin: 13px 2px 4px;
  color: var(--moss-live-muted, #77756f) !important;
  font-size: 13px;
  font-weight: 650;
}
#appScreen .moss-album-photo-card {
  border: 1px solid var(--moss-live-line, rgba(31,30,28,.09)) !important;
  border-radius: 14px;
  box-shadow: none !important;
}
#appScreen .moss-album-photo-card em { border-radius: 8px; font-size: 9px; }
#appScreen .moss-album-photo-card strong { font-size: 11px; }
#appScreen .moss-album-empty {
  border-color: var(--moss-live-line, rgba(31,30,28,.09)) !important;
  color: var(--moss-live-text, #373733) !important;
  background: var(--moss-live-paper, #f8f7f4) !important;
  box-shadow: none !important;
}
#appScreen .moss-album-empty div { color: #fff !important; background: var(--moss-live-moss, #63745f) !important; }
#appScreen .moss-album-empty p { color: var(--moss-live-muted, #77756f) !important; font-size: 14px; }
#appScreen .moss-album-empty button { min-height: 42px; border-radius: 11px; color: #fff !important; background: var(--moss-live-charcoal, #1c1c1b) !important; }
.moss-album-viewer-panel header > button:first-child { display: grid; place-items: center; font-size: 0 !important; }
.moss-album-viewer-panel header .danger { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.moss-album-viewer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}
.moss-album-viewer-panel footer .moss-album-viewer-actions button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  color: #fff;
  background: rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.moss-album-viewer-panel footer .moss-album-viewer-actions button:active {
  transform: scale(.97);
  background: rgba(255,255,255,.17);
}
@media (max-width: 430px) {
  .moss-album-viewer-panel footer { grid-template-columns: 1fr; }
  .moss-album-viewer-actions { justify-content: space-between; }
}
@supports (content-visibility: auto) {
  html:not(.moss-ios-webkit) :is(.moss-album-photo-wrap, .travel-inbox-item, .forum-v4-post-row) {
    content-visibility: auto;
    contain-intrinsic-size: 96px 280px;
  }
}
html.moss-ios-webkit :is(.moss-album-photo-wrap, .travel-inbox-item, .forum-v4-post-row) {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}
.moss-album-load-more {
  display: block;
  width: calc(100% - 28px);
  min-height: 44px;
  margin: 12px 14px calc(22px + env(safe-area-inset-bottom));
  padding: 10px 14px;
  border: 1px solid var(--moss-ui-line, rgba(90, 100, 110, .18));
  border-radius: 14px;
  background: var(--moss-ui-surface, var(--surface-strong, #fff));
  color: var(--moss-ui-text, var(--skin-text, #20242c));
  font: 700 13px/1.3 inherit;
  touch-action: manipulation;
}

/*# source: assets/css/features/shopping.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.phone-order-hero {display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;}

.phone-order-hero > span {width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(145deg, #ff8fab, #74b9ff);
  font-size: 32px;}

.phone-order-hero h3 {margin: 0 0 4px;}

.phone-order-price {margin: 14px 0;
  color: #f04f5f;
  font-size: 24px;
  font-weight: 950;}

.phone-order-price.income {color: #20a867;}

.phone-order-price.expense {color: #f04f5f;}

.phone-order-meta {display: grid;
  gap: 8px;
  margin: 0;}

.phone-order-meta dt {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.phone-order-meta dd {margin: 0;
  color: var(--skin-text);
  line-height: 1.55;}

/* Existing canonical module rules follow. */
/*
 * shopping feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.shop-gradient { background: linear-gradient(145deg, #45665c, #6f8f82 54%, #c6b78c); }
.custom-home .shop-home-hero {
  min-height: 210px;
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 8px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  border-radius: 30px;
  color: var(--skin-text);
  text-align: left;
  background:
    radial-gradient(circle at 16% 16%, color-mix(in srgb, #d7e7dc 72%, transparent), transparent 34%),
    radial-gradient(circle at 86% 22%, color-mix(in srgb, #b6cad5 58%, transparent), transparent 32%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 40%, transparent), color-mix(in srgb, #6f8f82 28%, transparent));
  backdrop-filter: blur(26px) saturate(1.28);
  -webkit-backdrop-filter: blur(26px) saturate(1.28);
  box-shadow: var(--skin-shadow);
  -webkit-tap-highlight-color: transparent;
}
.custom-home .shop-home-hero span {
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--skin-muted);
  background: color-mix(in srgb, var(--surface-strong) 52%, transparent);
  font-size: 12px;
  font-weight: 900;
}
.custom-home .shop-home-hero strong {
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.custom-home .shop-home-hero small {
  color: var(--skin-muted);
  font-size: 14px;
  font-weight: 800;
}
.shop-app {
  min-height: 100%;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 12px 12px calc(24px + var(--safe-bottom));
  background:
    radial-gradient(circle at 12% 4%, color-mix(in srgb, #dbeadf 66%, transparent), transparent 34%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, #cbdbe8 50%, transparent), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--phone-bg, #f3ecdf) 92%, #eff7f2 8%), color-mix(in srgb, var(--phone-bg, #f3ecdf) 82%, #dfe9e2 18%));
  color: var(--skin-text, #2c241d);
}
.shop-app button { -webkit-tap-highlight-color: transparent; }
.shop-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 74%, transparent);
  box-shadow: var(--skin-shadow, 0 12px 34px rgba(30, 36, 44, 0.08));
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
.shop-hero h2 { margin: 0; font-size: 22px; letter-spacing: -0.02em; }
.shop-hero p { margin: 4px 0 0; color: var(--skin-muted, #7b6b5a); font-size: 13px; line-height: 1.45; }
.shop-hero-badge {
  min-width: 66px;
  min-height: 66px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(145deg, #45665c, #7c988d);
  font-size: 28px;
  box-shadow: 0 12px 26px color-mix(in srgb, #45665c 28%, transparent);
}
.shop-search-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}
.shop-search-row input {
  min-height: 42px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 16px;
  padding: 0 13px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 78%, transparent);
  outline: 0;
}
.shop-search-row button,
.shop-mini-button,
.shop-generate-button,
.shop-card-actions button,
.shop-cart-row button,
.shop-event-card button,
.shop-order-card button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  padding: 0 12px;
  color: var(--skin-button-text, #fff);
  background: var(--skin-button, #171b22);
  font-weight: 900;
}
.shop-tabs,
.shop-category-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}
.shop-tabs button,
.shop-category-strip button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 999px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 66%, transparent);
  font-size: 13px;
  font-weight: 900;
}
.shop-tabs button.active,
.shop-category-strip button.active {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg, #45665c, #6f8f82);
}
.shop-toolbar {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 20px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 64%, transparent);
}
.shop-toolbar-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.shop-generate-button {
  min-height: 42px;
  background: linear-gradient(145deg, #45665c, #6f8f82);
}
.shop-mini-button {
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 72%, #dbe8df 28%);
}
.shop-status {
  min-height: 18px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;
}
.shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.shop-card {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 20px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 76%, transparent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text, #17181c) 8%, transparent);
}
.shop-card-emoji {
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background:
    radial-gradient(circle at 24% 18%, color-mix(in srgb, #fff 54%, transparent), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, #dce8df 76%, transparent), color-mix(in srgb, #bbcfc7 84%, transparent));
  font-size: 42px;
}
.shop-card h3 {
  min-height: 38px;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}
.shop-card-shop,
.shop-card-desc,
.shop-card-reason,
.shop-card-meta,
.shop-card-tags {
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  line-height: 1.4;
}
.shop-card-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.shop-card-price strong { font-size: 18px; color: #4f6b5d; }
.shop-card-price del { color: var(--skin-muted, #7b6b5a); font-size: 12px; }
.shop-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.shop-card-actions button:nth-child(3) {
  grid-column: 1 / -1;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 72%, #dbe8df 28%);
}
.shop-empty {
  padding: 18px;
  border: 1px dashed color-mix(in srgb, var(--skin-muted, #7b6b5a) 36%, transparent);
  border-radius: 20px;
  color: var(--skin-muted, #7b6b5a);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 44%, transparent);
  text-align: center;
  line-height: 1.6;
}
.shop-order-list,
.shop-event-list,
.shop-cart-list {
  display: grid;
  gap: 10px;
}
.shop-order-card,
.shop-event-card,
.shop-cart-row {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 78%, transparent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text, #17181c) 7%, transparent);
}
.shop-order-card strong,
.shop-event-card strong,
.shop-cart-row strong { font-size: 15px; }
.shop-order-card small,
.shop-event-card small,
.shop-cart-row small { color: var(--skin-muted, #7b6b5a); line-height: 1.45; }
.shop-order-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: start;
}
.shop-order-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, #45665c, #6f8f82);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.shop-order-status.pending { background: color-mix(in srgb, var(--skin-muted, #7b6b5a) 74%, #171b22 26%); }
.shop-order-status.moving { background: linear-gradient(145deg, #4b6f93, #7c9ab7); }
.shop-order-status.received { background: linear-gradient(145deg, #45665c, #6f8f82); }
.shop-cart-row {
  grid-template-columns: auto 1fr auto;
  align-items: center;
}
.shop-order-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 2px;
}
.shop-order-card button.shop-confirm-button {
  color: #fff;
  background: linear-gradient(145deg, #45665c, #6f8f82);
}
.shop-order-card button.shop-secondary-button {
  color: var(--skin-muted, #7b6b5a);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 72%, #dbe8df 28%);
}
.shop-order-card button.shop-secondary-button:disabled { opacity: 0.72; }
.shop-order-card button.shop-danger-button {
  color: #fff;
  background: color-mix(in srgb, #c92f3b 86%, #171b22 14%);
}
@media (max-width: 390px) {
  .shop-grid { grid-template-columns: 1fr; } }
@media (max-width: 390px) {
  .shop-toolbar-main { grid-template-columns: 1fr; } }
.custom-home .life-home-grid .shop-home-hero,
.custom-home .couple-home-hero {
  min-height: 184px;
}
@media (max-width: 390px) {
  .custom-home .life-home-grid .shop-home-hero,
  .custom-home .couple-home-hero { min-height: 144px; } }
html[data-ui-mode="light"] body.theme-aurora :where(.panel, .settings-card, .memory-module-card, .memory-entry, .shop-card, .wallet-card, .modal-card, .action-sheet, .forward-picker-sheet, .calendar-panel, .phone-panel, .moments-card, .date-card, .theater-card, .inspiration-drawer, .debug-card, .api-log-card) {
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 18px 46px rgba(101, 72, 33, 0.14) !important;
}
.shop-custom-button {
  min-height: 42px;
  border: 0;
  border-radius: 14px;
  padding: 0 12px;
  color: var(--skin-button-text, #fff);
  background: linear-gradient(145deg, #6f7f63, #9aa57d);
  font-weight: 900;
}
@media (max-width: 420px) {
  .shop-toolbar-main.shop-toolbar-main-3 {
    grid-template-columns: 1fr;
  } }
.app-screen :where(.panel, .note-card, .period-card, .diary-card, .favorite-card, .important-date-card, .settings-card, .memory-module-card, .memory-entry, .shop-card, .world-row, .settings-row, .life-status-section, .api-log-card) {
  border-radius: 14px !important;
  border: 1px solid var(--ed-line) !important;
  background: var(--ed-surface) !important;
  box-shadow: 0 1px 2px rgba(34, 52, 74, 0.05) !important;
}
#appScreen .shop-app {
  background:
    radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--ed-accent) 10%, transparent), transparent 34%),
    var(--ed-bg) !important;
  color: var(--ed-text) !important;
}
#appScreen :is(.shop-hero-badge, .shop-gradient) {
  background: linear-gradient(145deg, #5f93c8, #8fb4dd) !important;
}
#appScreen :is(.shop-tabs, .shop-category-strip) button.active {
  background: var(--ed-accent) !important;
  border-color: var(--ed-accent) !important;
  color: #ffffff !important;
}
#appScreen .shop-generate-button {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  background-image: none !important;
}
#appScreen .shop-order-status.received { background: linear-gradient(145deg, #5f93c8, #8fb4dd) !important; }
#appScreen .shop-card-emoji {
  background:
    radial-gradient(circle at 24% 18%, color-mix(in srgb, #fff 56%, transparent), transparent 30%),
    linear-gradient(145deg, #eef2f7, #dfe7f0) !important;
}
body[class*="theme-tone-"] #appScreen .shop-card-emoji {
  background: linear-gradient(145deg, var(--tone-soft), var(--tone-surface)) !important;
}
.custom-home :is(
  .home-polaroid-three article,
  .home-memory-cards article,
  .life-home-grid .shop-home-hero,
  .life-home-grid .couple-home-hero,
  .home-profile-week-days,
  .home-weather-week-labels
) {
  background-color: color-mix(in srgb, var(--surface-strong) 16%, transparent) !important;
  background-image: none !important;
  border-color: color-mix(in srgb, #fff 26%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
}
.custom-home :is(.shop-home-hero, .couple-home-hero) > span {
  background: color-mix(in srgb, var(--surface-strong) 22%, transparent) !important;
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
html[data-ui-mode="dark"] .custom-home :is(
  .home-polaroid-three article,
  .home-memory-cards article,
  .life-home-grid .shop-home-hero,
  .life-home-grid .couple-home-hero,
  .home-profile-week-days,
  .home-weather-week-labels
) {
  background-color: color-mix(in srgb, var(--surface-strong) 22%, transparent) !important;
  border-color: color-mix(in srgb, #fff 13%, transparent) !important;
}
.custom-home .home-layout-widget > .life-home-grid > :is(.shop-home-hero, .couple-home-hero) {
  min-height: 0 !important;
  padding: 12px;
  gap: 5px;
  border-radius: 8px;
}
.lifeline-event.shop { border-left-color: #c8a75f; }
.app-body:has(.shop-app) { overflow-x: clip !important; }
.shop-app {
  min-width: 0;
  gap: 12px;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
.shop-hero {
  min-height: 108px;
  grid-template-columns: minmax(0,1fr) 54px;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 20px;
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.shop-hero h2 { font-size: 23px; font-weight: 680; letter-spacing: -.03em; }
.shop-hero p { margin-top: 6px; color: var(--moss-ui-muted); font-size: 13px; line-height: 1.55; }
.shop-hero-badge {
  min-width: 54px;
  min-height: 54px;
  border: 1px solid color-mix(in srgb, var(--moss-ui-accent) 18%, var(--moss-ui-line));
  border-radius: 17px;
  color: var(--moss-ui-accent);
  background: var(--moss-ui-accent-soft) !important;
  box-shadow: none;
  font-size: 0;
}
.shop-hero-badge .moss-ui-icon { width: 24px; height: 24px; }
.shop-search-row { gap: 8px; }
.shop-search-row input {
  min-width: 0;
  min-height: 44px;
  border-color: var(--moss-ui-line);
  border-radius: 14px;
  padding: 0 14px;
  color: var(--moss-ui-text);
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
  font-size: 16px;
}
.shop-search-row button,
.shop-mini-button,
.shop-generate-button,
.shop-custom-button,
.shop-card-actions button,
.shop-cart-row button,
.shop-event-card button,
.shop-order-card button {
  min-height: 44px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 12px;
  padding: 0 13px;
  color: var(--moss-ui-text);
  background: var(--moss-ui-surface);
  box-shadow: none;
  font-size: 13px;
  font-weight: 620;
  transition: transform var(--moss-ui-fast) var(--moss-ui-ease), background var(--moss-ui-fast) ease;
}
.shop-app button:active { transform: scale(.98); }
.shop-tabs {
  gap: 3px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid var(--moss-ui-line);
  border-radius: 14px;
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
}
.shop-tabs button {
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  color: var(--moss-ui-muted);
  background: transparent;
  font-size: 13px;
  font-weight: 560;
}
.shop-tabs button.active {
  color: var(--moss-ui-accent-strong) !important;
  border-color: transparent !important;
  background: var(--moss-ui-accent-soft) !important;
  box-shadow: none;
  font-weight: 650;
}
.shop-category-strip {
  gap: 7px;
  padding: 1px 0 3px;
  scroll-padding-inline: 4px;
}
.shop-category-strip button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 12px;
  color: var(--moss-ui-muted);
  background: var(--moss-ui-surface);
  font-size: 13px;
  font-weight: 560;
}
.shop-category-strip button.active {
  color: var(--moss-ui-accent-strong) !important;
  border-color: color-mix(in srgb, var(--moss-ui-accent) 22%, var(--moss-ui-line)) !important;
  background: var(--moss-ui-accent-soft) !important;
}
.shop-toolbar {
  gap: 9px;
  padding: 12px;
  border-color: var(--moss-ui-line);
  border-radius: 16px;
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
}
.shop-toolbar-main { gap: 8px; }
.shop-generate-button {
  color: #fff !important;
  border-color: transparent !important;
  background: var(--moss-ui-accent) !important;
}
.shop-mini-button,
.shop-custom-button {
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface-soft) !important;
}
.shop-status { color: var(--moss-ui-muted); font-size: 12px; font-weight: 500; line-height: 1.55; }
.shop-grid { gap: 12px; }
.shop-card {
  gap: 9px;
  padding: 12px;
  border-color: var(--moss-ui-line);
  border-radius: 18px;
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
}
.shop-card-emoji {
  height: 108px;
  border: 1px solid var(--moss-ui-line);
  border-radius: 15px;
  background: var(--moss-ui-surface-soft) !important;
  font-size: 44px;
}
.shop-card h3 { min-height: 0; font-size: 16px; line-height: 1.42; font-weight: 650; }
.shop-card-shop,
.shop-card-desc,
.shop-card-reason,
.shop-card-meta,
.shop-card-tags { color: var(--moss-ui-muted); font-size: 12px; line-height: 1.5; }
.shop-card-reason {
  padding: 8px 9px;
  border-radius: 10px;
  background: var(--moss-ui-surface-soft);
}
.shop-card-price strong { color: var(--moss-ui-accent-strong); font-size: 20px; font-variant-numeric: tabular-nums; }
.shop-card-price del { color: var(--moss-ui-muted); }
.shop-card-actions { gap: 7px; }
.shop-card-actions button:first-child,
.shop-card-actions button:nth-child(2) { color: #fff; border-color: transparent; background: var(--moss-ui-accent); }
.shop-card-actions button:nth-child(2) { color: var(--moss-ui-accent-strong); border-color: color-mix(in srgb, var(--moss-ui-accent) 20%, var(--moss-ui-line)); background: var(--moss-ui-accent-soft); }
.shop-card-actions button:nth-child(3) { color: var(--moss-ui-text); background: var(--moss-ui-surface-soft); }
.shop-empty {
  padding: 28px 20px;
  border-color: var(--moss-ui-line);
  border-radius: 18px;
  color: var(--moss-ui-muted);
  background: var(--moss-ui-surface);
  font-size: 14px;
}
.shop-order-list,
.shop-event-list,
.shop-cart-list { gap: 12px; }
.shop-order-card,
.shop-event-card,
.shop-cart-row {
  padding: 14px;
  border-color: var(--moss-ui-line);
  border-radius: 17px;
  background: var(--moss-ui-surface);
  box-shadow: var(--moss-ui-shadow-1);
}
.shop-order-card strong,
.shop-event-card strong,
.shop-cart-row strong { color: var(--moss-ui-text); font-size: 15px; }
.shop-order-card small,
.shop-event-card small,
.shop-cart-row small { color: var(--moss-ui-muted); }
.shop-order-status { min-height: 28px; border-radius: 9px; font-size: 11px; font-weight: 650; background: var(--moss-ui-accent) !important; }
.shop-order-status.pending { background: var(--moss-ui-muted) !important; }
.shop-order-status.moving { background: #647f9b !important; }
.shop-order-actions { gap: 7px; flex-wrap: wrap; }
@media (min-width: 660px) {
  .shop-app { width: min(680px, 100%); margin-inline: auto; } }
@media (min-width: 660px) {
  .shop-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 430px) {
  .shop-grid { grid-template-columns: 1fr; } }
@media (max-width: 430px) {
  .shop-toolbar-main,
  .shop-toolbar-main.shop-toolbar-main-3 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .app-topbar *,
.shop-app * { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
#appScreen .shop-app {
  min-width: 0 !important;
  gap: 12px !important;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom)) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
  background-image: none !important;
}
#appScreen .shop-hero {
  min-height: 106px !important;
  padding: 18px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 19px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#appScreen .shop-hero p { color: var(--moss-ui-muted) !important; }
#appScreen .shop-hero-badge {
  color: var(--moss-ui-accent-strong) !important;
  border-color: color-mix(in srgb, var(--moss-ui-accent) 18%, var(--moss-ui-line)) !important;
  background: var(--moss-ui-accent-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}
#appScreen .shop-search-row input {
  min-height: 44px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
  font-size: 16px !important;
}
#appScreen .shop-search-row button {
  min-width: 52px !important;
  min-height: 44px !important;
  padding: 0 10px !important;
  border: 0 !important;
  color: var(--moss-ui-accent-strong) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
#appScreen .shop-tabs {
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .shop-tabs button,
#appScreen .shop-category-strip button {
  min-height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  color: var(--moss-ui-muted) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 580 !important;
}
#appScreen .shop-category-strip button {
  border-color: var(--moss-ui-line) !important;
  background: var(--moss-ui-surface) !important;
}
#appScreen .shop-tabs button.active,
#appScreen .shop-category-strip button.active {
  color: #fff !important;
  border-color: transparent !important;
  background: var(--moss-ui-accent-strong) !important;
  background-image: none !important;
}
#appScreen .shop-toolbar {
  gap: 9px !important;
  padding: 12px !important;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  background: var(--moss-ui-surface) !important;
  background-image: none !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .shop-toolbar-main,
#appScreen .shop-toolbar-main.shop-toolbar-main-3 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
#appScreen .shop-toolbar-main.shop-toolbar-main-3 .shop-generate-button {
  grid-column: 1 / -1 !important;
}
#appScreen .shop-generate-button,
#appScreen .shop-mini-button,
#appScreen .shop-custom-button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 0 13px !important;
  border-radius: 12px !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
#appScreen .shop-generate-button {
  color: #fff !important;
  border: 1px solid transparent !important;
  background: var(--moss-ui-accent-strong) !important;
}
#appScreen .shop-mini-button,
#appScreen .shop-custom-button {
  color: var(--moss-ui-text) !important;
  border: 1px solid var(--moss-ui-line) !important;
  background: var(--moss-ui-surface-soft) !important;
}
#appScreen .shop-status {
  color: var(--moss-ui-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
#appScreen .shop-empty {
  border: 1px dashed color-mix(in srgb, var(--moss-ui-muted) 34%, transparent) !important;
  border-radius: 17px !important;
  color: var(--moss-ui-muted) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 72%, transparent) !important;
  background-image: none !important;
}
@media (max-width: 430px) {
  #appScreen .shop-toolbar-main,
  #appScreen .shop-toolbar-main.shop-toolbar-main-3 {
    grid-template-columns: 1fr !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-toolbar-main.shop-toolbar-main-3 .shop-generate-button {
    grid-column: auto !important;
  } }
#appScreen .shop-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
@media (max-width: 430px) {
  #appScreen .shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card {
    gap: 7px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card-emoji {
    height: 88px !important;
    border-radius: 13px !important;
    font-size: 38px !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card h3 {
    min-height: 38px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card-shop,
  #appScreen .shop-card-desc,
  #appScreen .shop-card-reason,
  #appScreen .shop-card-meta,
  #appScreen .shop-card-tags {
    font-size: 11px !important;
    line-height: 1.42 !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card-price strong { font-size: 18px !important; } }
@media (max-width: 430px) {
  #appScreen .shop-card-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card-actions button {
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 5px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  } }
@media (max-width: 430px) {
  #appScreen .shop-card-actions button:nth-child(3) {
    grid-column: 1 / -1 !important;
  } }
@media not all {
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="shopping"] { grid-column: span 4; min-height: 128px !important; } }
@media not all {
#charPhoneOverlay .char-phone-app-icon[data-char-phone-app="shopping"]::after,
#userPhoneOverlay .user-phone-home-app[data-user-phone-open-app="shopping"]::after { content: "CATALOGUE / ORDERS"; } }
@media not all {
#userPhoneOverlay [data-user-phone-app-panel="shopping"] { --reverse-label: "07 / CATALOGUE"; } }
@media not all {
#userPhoneOverlay [data-user-phone-app-panel="album"] .user-phone-app-scroll,
#userPhoneOverlay [data-user-phone-app-panel="items"] .user-phone-app-scroll,
#userPhoneOverlay [data-user-phone-app-panel="shopping"] .user-phone-app-scroll,
#userPhoneOverlay [data-user-phone-app-panel="games"] .user-phone-app-scroll {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 6px !important;
  padding-top: 8px !important;
} }
@media not all {
#userPhoneOverlay [data-user-phone-app-panel="album"] .x-tweet,
#userPhoneOverlay [data-user-phone-app-panel="items"] .x-tweet,
#userPhoneOverlay [data-user-phone-app-panel="shopping"] .x-tweet,
#userPhoneOverlay [data-user-phone-app-panel="games"] .x-tweet {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px !important;
  border: 1px solid var(--museum-ink) !important;
  border-radius: var(--museum-card-radius) !important;
  background: var(--museum-bone) !important;
} }
@media not all {
#userPhoneOverlay [data-user-phone-app-panel="album"] .x-tweet:nth-child(3n + 1),
#userPhoneOverlay [data-user-phone-app-panel="shopping"] .x-tweet:first-child { grid-column: 1 / -1; min-height: 154px; color: var(--museum-paper) !important; background: var(--museum-ink) !important; } }
@media not all {
 @media (max-width: 370px) {
  #charPhoneOverlay .char-phone-app-icon[data-char-phone-app="wechat"],
  #charPhoneOverlay .char-phone-app-icon[data-char-phone-app="browser"],
  #charPhoneOverlay .char-phone-app-icon[data-char-phone-app="shopping"],
  #charPhoneOverlay .char-phone-app-icon[data-char-phone-app="album"] { grid-column: 1 / -1; } } }

/*# source: assets/css/features/wallet.css */
/*
 * wallet feature stylesheet.
 * Extracted from legacy app.css in 464.9.172.
 * Keep app-specific visual and structural rules here.
 */



.wallet-balance {
  margin-top: 8px;
  font-size: 34px;
  font-weight: 900;
  color: #111318;
}

.wallet-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-bottom: 18px;
}

.wallet-hero-card {
  border-radius: 30px;
  padding: 26px 26px 24px;
  background: linear-gradient(145deg, #222, #383838);
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
}

.wallet-hero-card,
.wallet-hero-card * {
  color-scheme: dark;
}

.wallet-hero-card > span,
.wallet-hero-card .wallet-hero-grid span {
  color: rgba(255, 255, 255, 0.66) !important;
}

.wallet-hero-card .wallet-hero-grid b {
  color: #fff !important;
}

.wallet-hero-card span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  font-weight: 800;
}

.wallet-hero-card strong {
  display: block;
  margin: 24px 0 28px;
  font-size: clamp(44px, 12vw, 66px);
  line-height: 0.96;
  letter-spacing: -0.05em;
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
}

.wallet-hero-card hr {
  border: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  margin: 0 0 22px;
}

.wallet-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.wallet-hero-grid b {
  display: block;
  margin-top: 8px;
  font-size: 22px;
}

.wallet-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wallet-section-head h2 {
  margin: 0;
  font-size: 22px;
}

.wallet-filter-tabs {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.wallet-filter-tabs button {
  min-height: 34px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  color: var(--skin-muted, #8a8f99);
  font-weight: 900;
}

.wallet-filter-tabs button.active {
  background: #111;
  color: #fff;
}

.wallet-record-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wallet-record-row {
  width: 100%;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  text-align: left;
}

.wallet-record-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(142, 174, 215, 0.16);
  font-size: 20px;
}

.wallet-record-row strong {
  display: block;
  font-size: 15px;
  color: var(--skin-text, #222);
}

.wallet-record-row small {
  display: block;
  margin-top: 4px;
  color: var(--skin-muted, #8a8f99);
  line-height: 1.35;
}

.wallet-record-amount {
  font-size: 17px;
  font-weight: 950;
  white-space: nowrap;
}

.wallet-record-row.income .wallet-record-amount { color: #1d8c58; }

.wallet-record-row.expense .wallet-record-amount { color: #202226; }

.wallet-empty {
  padding: 54px 0;
  text-align: center;
  color: var(--skin-muted, #aaa);
  font-weight: 800;
}

.wallet-adjust {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}

:root[data-ui-mode="dark"] .wallet-filter-tabs button,
body.dark .wallet-filter-tabs button {
  background: rgba(255, 255, 255, 0.09);
}

:root[data-ui-mode="dark"] .wallet-filter-tabs button.active,
body.dark .wallet-filter-tabs button.active {
  background: rgba(255, 255, 255, 0.92);
  color: #111;
}

:root[data-ui-mode="dark"] .wallet-record-row,
body.dark .wallet-record-row {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

:root[data-ui-mode="dark"] .wallet-record-row.expense .wallet-record-amount,
body.dark .wallet-record-row.expense .wallet-record-amount {
  color: #f1f1f3;
}

.wallet-empty.compact {
  padding: 18px 0;
  font-size: 12px;
}

.wallet-hero-card,
.wallet-hero-card * {
  color: #f8fafc !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

.wallet-hero-card strong,
.wallet-hero-card .wallet-balance {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 18px rgba(255, 255, 255, 0.24), 0 1px 0 rgba(0, 0, 0, 0.22) !important;
  opacity: 1 !important;
}

.wallet-hero-card > span,
.wallet-hero-card .wallet-hero-grid span {
  color: rgba(255, 255, 255, 0.78) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.78) !important;
}

.wallet-hero-card .wallet-balance,
.wallet-hero-card strong.wallet-balance,
.wallet-hero-card [class*="balance"] {
  color: var(--wallet-number-color) !important;
  -webkit-text-fill-color: var(--wallet-number-color) !important;
  -webkit-text-stroke: 0 transparent !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: 0 2px 18px rgba(255,255,255,.32), 0 1px 0 rgba(0,0,0,.22) !important;
}

.wallet-balance-row {
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent) 18%, var(--surface-strong)), color-mix(in srgb, var(--skin-accent-2) 14%, var(--surface-strong)));
}

:root[data-ui-mode="dark"] .wallet-app {
  background: var(--moss-live-canvas, var(--phone-bg)) !important;
  color: var(--moss-live-text, var(--skin-text)) !important;
}

:root[data-ui-mode="dark"] .wallet-record-row {
  background: var(--surface-strong) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}

#appScreen .wallet-page:not(.moss-living-wallet) .wallet-balance-number,
#appScreen .wallet-page:not(.moss-living-wallet) .wallet-hero-grid b {
  color: var(--moss-ui-text, #202228) !important;
  -webkit-text-fill-color: var(--moss-ui-text, #202228) !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

/*# source: assets/css/features/secret.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.cute-secret-box {margin-top: 22px; padding: 13px 15px; border-radius: 15px; border: 1px dashed var(--diary-accent); background: var(--diary-accent-light);}

.cute-secret-box b {display: block; margin-bottom: 4px; color: var(--diary-accent-deep); font-size: 13px;}

.cute-secret-box p {margin: 0; color: var(--diary-text-main); font-size: 14px; line-height: 1.65;}

#appScreen .settings-page-shell .secret-input-row,
#appScreen .app-body > .panel-stack:has(.settings-back) .secret-input-row {display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;}

#appScreen .settings-page-shell .secret-input-row .secondary-button,
#appScreen .app-body > .panel-stack:has(.settings-back) .secret-input-row .secondary-button {width: auto !important;
  min-width: 56px !important;
  margin: 0 !important;}

/* Existing canonical module rules follow. */
/*
 * secret feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.private-relation-gradient {
  background: #18181b;
  color: #fff;
  box-shadow: none;
}
#appScreen.private-relation-screen-active,
#appScreen:has(> .app-body.private-relation-app-active) {
  --pr-bg: #dbdad7;
  --pr-paper: #fff;
  --pr-sand: #e6e4e0;
  --pr-ink: #121212;
  --pr-muted: #616161;
  --pr-line: #cbc9c4;
  --pr-dark: #19352c;
  overflow: hidden;
}
#appScreen .app-body.private-relation-app-active {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--pr-ink);
  background: var(--pr-bg);
  overscroll-behavior: contain;
}
.private-relation-app,
.private-relation-app * { box-sizing: border-box; }
.private-relation-app {
  min-height: 100%;
  padding-bottom: max(18px, env(safe-area-inset-bottom));
  color: var(--pr-ink);
  background: var(--pr-bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
  letter-spacing: .012em;
}
.private-relation-app :where(button, input, textarea, select) { font: inherit; letter-spacing: inherit; }
.private-relation-app button { color: inherit; -webkit-tap-highlight-color: transparent; }
.private-relation-app button:disabled { cursor: default; opacity: .46; }
.private-relation-app :where(button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--pr-dark); outline-offset: 2px; }
.private-relation-icon {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.private-relation-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 54px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--pr-line);
  background: var(--pr-bg);
}
.private-relation-header > div { min-width: 0; text-align: center; }
.private-relation-header h2 { margin: 0; font-family: Georgia, "Songti SC", serif; font-size: 19px; font-weight: 400; line-height: 1.15; letter-spacing: -.02em; }
.private-relation-header p { margin: 2px 0 0; overflow: hidden; color: var(--pr-muted); font-size: 9px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.private-relation-local-back {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--pr-line);
  border-radius: 999px;
  background: transparent;
}
.private-relation-local-back .private-relation-icon { width: 16px; height: 16px; }
.private-relation-local-back.is-home { visibility: hidden; }
.private-relation-char-select { position: relative; display: inline-flex; align-items: center; max-width: 112px; }
.private-relation-char-select select {
  width: 100%;
  min-height: 30px;
  padding: 0 24px 0 11px;
  overflow: hidden;
  border: 1px solid var(--pr-line);
  border-radius: 999px;
  outline: 0;
  appearance: none;
  color: var(--pr-ink);
  background: var(--pr-paper);
  font-size: 10px;
  text-overflow: ellipsis;
}
.private-relation-char-select i { position: absolute; right: 9px; pointer-events: none; color: var(--pr-muted); font-style: normal; }
.private-relation-char-select i .private-relation-icon { width: 13px; height: 13px; }
.private-relation-notice { margin: 8px 12px 0; padding: 8px 11px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-sand); color: var(--pr-muted); font-size: 10px; line-height: 1.45; }
.private-relation-home-v2 { width: min(100%, 620px); margin: 0 auto; padding: 14px 14px 6px; }
.private-relation-home-person { display: grid; grid-template-columns: 66px minmax(0,1fr); align-items: center; gap: 14px; padding: 13px 4px 17px; border-bottom: 1px solid var(--pr-line); }
.private-relation-home-avatar.avatar { width: 66px; height: 66px; border: 1px solid var(--pr-line); border-radius: 50%; background: var(--pr-sand); font-family: Georgia, "Songti SC", serif; font-size: 24px; }
.private-relation-home-person strong { display: block; font-family: Georgia, "Songti SC", serif; font-size: 23px; font-weight: 400; letter-spacing: -.025em; }
.private-relation-home-person p { max-width: 260px; margin: 5px 0 0; color: var(--pr-muted); font-family: Georgia, "Songti SC", serif; font-size: 14px; line-height: 1.55; letter-spacing: -.01em; }
.private-relation-continue,
.private-relation-archive-link { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 2px; border: 0; border-bottom: 1px solid var(--pr-line); background: transparent; text-align: left; }
.private-relation-continue span,
.private-relation-archive-link span { font-size: 10px; font-weight: 500; }
.private-relation-continue strong { overflow: hidden; font-size: 12px; font-weight: 400; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.private-relation-continue i,
.private-relation-archive-link i { font-style: normal; }
.private-relation-continue i .private-relation-icon,
.private-relation-archive-link i .private-relation-icon { width: 14px; height: 14px; }
.private-relation-home-actions { margin-top: 18px; border-top: 1px solid var(--pr-line); }
.private-relation-home-actions > small { display: block; padding: 10px 2px 7px; color: var(--pr-muted); font-size: 10px; }
.private-relation-home-actions > button { width: 100%; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 48px; padding: 0 2px; border: 0; border-top: 1px solid var(--pr-line); background: transparent; text-align: left; }
.private-relation-home-actions > button i { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-paper); font-style: normal; }
.private-relation-home-actions > button i .private-relation-icon { width: 13px; height: 13px; }
.private-relation-home-actions > button span { font-family: Georgia, "Songti SC", serif; font-size: 16px; letter-spacing: -.01em; }
.private-relation-home-actions > button b { font-weight: 400; }
.private-relation-home-actions > button b .private-relation-icon { width: 14px; height: 14px; }
.private-relation-archive-link { margin-top: 17px; padding: 13px 2px; border-top: 1px solid var(--pr-line); }
.private-relation-archive-link small { color: var(--pr-muted); font-size: 9px; text-align: right; }
.private-relation-conversation { width: min(100%, 660px); min-height: calc(100dvh - 105px); margin: 0 auto; padding: 0 12px 18px; }
.private-relation-protocol-bar { position: sticky; top: 54px; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 40px; margin: 0 -12px 12px; padding: 6px 14px; border-bottom: 1px solid var(--pr-line); background: var(--pr-bg); }
.private-relation-protocol-bar > span { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 500; }
.private-relation-protocol-bar > span i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-paper); font-style: normal; }
.private-relation-protocol-bar > span i .private-relation-icon { width: 12px; height: 12px; }
.private-relation-protocol-bar > small { color: var(--pr-muted); font-size: 9px; }
.private-relation-single-compose,
.private-relation-letter-editor { padding: 14px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-single-compose > label,
.private-relation-letter-editor > div:first-child label { display: block; margin-bottom: 9px; font-family: Georgia, "Songti SC", serif; font-size: 18px; letter-spacing: -.015em; }
.private-relation-single-compose textarea,
.private-relation-letter-editor textarea,
.private-relation-letter-editor input,
.private-relation-chat-composer textarea { width: 100%; resize: none; border: 0; outline: 0; color: var(--pr-ink); background: transparent; font-size: 13px; line-height: 1.65; }
.private-relation-single-compose textarea { min-height: 92px; padding: 0; }
.private-relation-single-compose > div { display: flex; align-items: center; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--pr-line); }
.private-relation-segment input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.private-relation-segment span { display: grid; place-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-muted); font-size: 9px; }
.private-relation-segment input:checked + span { border-color: var(--pr-dark); color: #fff; background: var(--pr-dark); }
.private-relation-single-compose > div > button,
.private-relation-single-compose > button,
.private-relation-letter-editor > div:last-child button,
.private-relation-today-question button:not(.private-relation-ghost),
.private-relation-chat-composer button,
.private-relation-reveal,
.private-relation-next-question { min-height: 32px; padding: 0 14px; border: 1px solid var(--pr-dark); border-radius: 999px; color: #fff; background: var(--pr-dark); font-size: 10px; font-weight: 500; }
.private-relation-single-compose > div > button { margin-left: auto; }
.private-relation-thread-list { display: grid; gap: 16px; margin-top: 14px; }
.private-relation-thread { display: grid; gap: 7px; padding-bottom: 15px; border-bottom: 1px solid var(--pr-line); }
.private-relation-message { width: fit-content; max-width: 86%; }
.private-relation-message.user { align-self: flex-end; justify-self: end; max-width: 72%; color: #fff; }
.private-relation-message.user > p { padding: 10px 16px; border-radius: 999px; background: var(--pr-dark); font-family: Georgia, "Songti SC", serif; font-size: 13px; line-height: 1.6; }
.private-relation-message.user > small { margin: 0 3px 4px; color: var(--pr-muted); text-align: right; }
.private-relation-message.character { align-self: flex-start; justify-self: start; width: min(86%, 500px); padding: 12px 14px 10px; border: 1px solid var(--pr-line); border-radius: 18px; background: var(--pr-paper); }
.private-relation-message.character > small { display: block; margin-bottom: 7px; color: var(--pr-muted); font-family: Georgia, "Songti SC", serif; font-size: 9px; font-style: italic; line-height: 1.45; }
.private-relation-message p { margin: 0; white-space: pre-wrap; }
.private-relation-message.character > p { font-family: Georgia, "Songti SC", serif; font-size: 14px; line-height: 1.7; letter-spacing: .01em; }
.private-relation-message.character details { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 9px; }
.private-relation-message.character details summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; }
.private-relation-message.character details summary::-webkit-details-marker { display: none; }
.private-relation-message.character details summary::after { content: "展开"; }
.private-relation-message.character details[open] summary::after { content: "收起"; }
.private-relation-message.character details p { margin-top: 7px; font-family: Georgia, "Songti SC", serif; font-size: 10px; line-height: 1.6; }
.private-relation-generating { display: inline-flex; align-items: center; gap: 8px; width: fit-content; min-height: 32px; padding: 0 11px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-muted); background: var(--pr-paper); font-size: 9px; }
.private-relation-generating i { width: 6px; height: 6px; border-radius: 50%; background: var(--pr-dark); animation: privateRelationPulse 1.1s ease-in-out infinite; }
@keyframes privateRelationPulse { 50% { opacity: .25; transform: scale(.72); } }
.private-relation-message-error { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; border: 1px solid #8d5a52; border-radius: 8px; color: #70423b; background: #f4ebe8; font-size: 9px; }
.private-relation-message-error button { flex: 0 0 auto; border: 0; border-radius: 999px; padding: 5px 9px; color: #fff; background: #70423b; font-size: 9px; }
.private-relation-quiet-empty { margin: 18px 0; color: var(--pr-muted); font-family: Georgia, "Songti SC", serif; font-size: 13px; line-height: 1.6; text-align: center; }
.private-relation-opening-choice { padding: 6px 2px; }
.private-relation-opening-choice h3 { margin: 18px 0 12px; font-family: Georgia, "Songti SC", serif; font-size: 22px; font-weight: 400; letter-spacing: -.025em; }
.private-relation-depth-switch { display: inline-flex; gap: 3px; padding: 3px; border-radius: 999px; background: var(--pr-sand); }
.private-relation-depth-switch button { min-height: 27px; padding: 0 11px; border: 0; border-radius: 999px; color: var(--pr-muted); background: transparent; font-size: 9px; }
.private-relation-depth-switch button.active { color: var(--pr-ink); background: var(--pr-paper); }
.private-relation-speaker-choice { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 13px; }
.private-relation-speaker-choice button { display: grid; align-content: end; gap: 8px; min-height: 104px; padding: 12px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); text-align: left; }
.private-relation-speaker-choice span { font-family: Georgia, "Songti SC", serif; font-size: 20px; }
.private-relation-speaker-choice small { color: var(--pr-muted); font-size: 8px; line-height: 1.4; }
.private-relation-unfinished-line { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--pr-line); background: transparent; text-align: left; }
.private-relation-unfinished-line span { font-size: 9px; }
.private-relation-unfinished-line strong { overflow: hidden; font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.private-relation-unfinished-line i { font-style: normal; }
.private-relation-unfinished-line i .private-relation-icon { width: 14px; height: 14px; }
.private-relation-live-session { display: grid; min-height: calc(100dvh - 125px); grid-template-rows: auto minmax(210px,1fr) auto auto auto; }
.private-relation-confession-heading { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 2px 10px; border-bottom: 1px solid var(--pr-line); }
.private-relation-confession-heading > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.private-relation-confession-avatar.avatar { flex: 0 0 auto; width: 36px; height: 36px; border: 1px solid var(--pr-line); border-radius: 50%; background: var(--pr-sand); font-size: 13px; }
.private-relation-confession-heading span { min-width: 0; }
.private-relation-confession-heading strong { display: block; font-family: Georgia, "Songti SC", serif; font-size: 15px; font-weight: 400; }
.private-relation-confession-heading small { display: block; margin-top: 3px; overflow: hidden; color: var(--pr-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.private-relation-confession-close-menu { position: relative; flex: 0 0 auto; }
.private-relation-confession-close-menu > summary { display: grid; place-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-paper); font-size: 9px; cursor: pointer; list-style: none; }
.private-relation-confession-close-menu > summary::-webkit-details-marker { display: none; }
.private-relation-confession-close-menu > div { position: absolute; top: 34px; right: 0; z-index: 24; width: 160px; padding: 6px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-confession-close-menu button { width: 100%; min-height: 32px; padding: 0 8px; border: 0; border-bottom: 1px solid var(--pr-line); background: transparent; font-size: 9px; text-align: left; }
.private-relation-confession-close-menu button:last-child { border-bottom: 0; }
.private-relation-message-flow { display: flex; flex-direction: column; gap: 9px; min-height: 230px; max-height: calc(100dvh - 270px); overflow-y: auto; padding: 12px 1px 10px; }
.private-relation-composer-context { padding: 4px 3px 5px; border-bottom: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 8px; text-align: right; }
.private-relation-chat-composer { display: grid; grid-template-columns: 52px minmax(0,1fr) 52px; align-items: end; gap: 7px; padding: 8px 0 0; border-top: 1px solid var(--pr-line); background: var(--pr-bg); }
.private-relation-chat-composer textarea { min-height: 48px; max-height: 110px; padding: 13px 14px; border: 1px solid #d7cfc1; border-radius: 16px; background: #faf7f0; }
.private-relation-chat-composer button { min-height: 48px; padding: 0 8px; }
.private-relation-chat-composer .private-relation-recall-button { border-color: var(--pr-line); color: var(--pr-ink); background: var(--pr-paper); }
.private-relation-session-ended button { min-height: 27px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-paper); font-size: 9px; }
.private-relation-session-ended { display: flex; align-items: center; gap: 6px; padding: 10px 0; border-top: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 9px; }
.private-relation-session-ended button:first-of-type { margin-left: auto; }
.private-relation-today-question { padding: 16px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-today-question > small { color: var(--pr-muted); font-size: 9px; }
.private-relation-today-question h3 { margin: 10px 0 12px; font-family: Georgia, "Songti SC", serif; font-size: 22px; font-weight: 400; line-height: 1.45; letter-spacing: -.02em; }
.private-relation-today-question > span { color: var(--pr-muted); font-size: 9px; }
.private-relation-today-question > div { display: flex; justify-content: flex-end; gap: 6px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--pr-line); }
.private-relation-today-question .private-relation-ghost { min-height: 32px; padding: 0 12px; border: 1px solid var(--pr-line); border-radius: 999px; background: transparent; font-size: 9px; }
.private-relation-today-question.is-answering,
.private-relation-today-question.compact { margin-bottom: 9px; padding: 11px 13px; }
.private-relation-today-question.is-answering h3,
.private-relation-today-question.compact h3 { margin: 5px 0 0; font-size: 16px; }
.private-relation-answer-locks { display: grid; grid-template-columns: 1fr 26px 1fr; align-items: center; gap: 5px; margin-top: 10px; }
.private-relation-answer-locks span { display: grid; min-height: 105px; align-content: space-between; padding: 12px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-answer-locks i { font-family: Georgia, "Songti SC", serif; font-size: 16px; font-style: normal; }
.private-relation-answer-locks b { color: var(--pr-muted); font-size: 9px; font-weight: 400; }
.private-relation-answer-locks em { color: var(--pr-muted); font-style: normal; text-align: center; }
.private-relation-answer-locks em .private-relation-icon { width: 16px; height: 16px; margin: 0 auto; }
.private-relation-reveal { display: block; margin: 14px auto 0; }
.private-relation-revealed { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.private-relation-revealed article { min-width: 0; padding: 12px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-revealed header { margin-bottom: 8px; color: var(--pr-muted); font-size: 9px; }
.private-relation-revealed p { margin: 0; font-size: 11px; line-height: 1.65; white-space: pre-wrap; }
.private-relation-revealed small { display: block; margin-top: 8px; padding-top: 7px; border-top: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 9px; line-height: 1.5; }
.private-relation-revealed details { margin-top: 7px; color: var(--pr-muted); font-size: 9px; }
.private-relation-discussion { margin-top: 8px; padding: 11px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-sand); }
.private-relation-discussion span { color: var(--pr-muted); font-size: 9px; }
.private-relation-discussion p { margin: 6px 0 0; font-size: 11px; line-height: 1.55; }
.private-relation-answer-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.private-relation-answer-actions button { min-height: 28px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-paper); font-size: 9px; }
.private-relation-next-question { display: block; margin: 12px 0 0 auto; }
.private-relation-letter-editor { margin-bottom: 10px; }
.private-relation-letter-editor > div:first-child { display: flex; align-items: baseline; justify-content: space-between; }
.private-relation-letter-editor > div:first-child small { color: var(--pr-muted); font-size: 8px; }
.private-relation-letter-editor input { min-height: 34px; padding: 0 0 6px; border-bottom: 1px solid var(--pr-line); font-family: Georgia, "Songti SC", serif; font-size: 15px; }
.private-relation-letter-editor textarea { min-height: 150px; padding: 10px 0; }
.private-relation-letter-editor > div:last-child { display: flex; align-items: center; gap: 7px; padding-top: 9px; border-top: 1px solid var(--pr-line); }
.private-relation-letter-editor select { min-width: 0; max-width: 170px; min-height: 30px; border: 1px solid var(--pr-line); border-radius: 999px; outline: 0; background: var(--pr-paper); font-size: 8px; }
.private-relation-letter-editor > div:last-child button { margin-left: auto; }
.private-relation-desk-status { display: flex; align-items: center; justify-content: space-between; min-height: 38px; padding: 0 2px; border-bottom: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 9px; }
.private-relation-desk-status button { min-height: 27px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; background: transparent; font-size: 9px; }
.private-relation-letter-list { display: grid; gap: 8px; margin-top: 9px; }
.private-relation-letter-card { padding: 12px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-letter-card.from-user { margin-left: 20px; }
.private-relation-letter-card.from-character { margin-right: 20px; }
.private-relation-letter-card header { display: flex; justify-content: space-between; color: var(--pr-muted); font-size: 8px; }
.private-relation-letter-card h3 { margin: 10px 0 5px; font-family: Georgia, "Songti SC", serif; font-size: 17px; font-weight: 400; }
.private-relation-letter-card > p { margin: 9px 0 0; font-family: Georgia, "Songti SC", serif; font-size: 12px; line-height: 1.75; white-space: pre-wrap; letter-spacing: .01em; }
.private-relation-letter-card del { display: block; margin-top: 8px; color: var(--pr-muted); font-size: 9px; }
.private-relation-letter-reply { margin-top: 10px; padding: 9px 10px; border-left: 2px solid var(--pr-dark); background: var(--pr-sand); }
.private-relation-letter-reply small { color: var(--pr-muted); font-size: 8px; }
.private-relation-letter-reply p { margin: 4px 0 0; font-size: 10px; line-height: 1.6; }
.private-relation-drafts { margin-top: 10px; color: var(--pr-muted); font-size: 9px; }
.private-relation-drafts .private-relation-letter-card { margin-top: 7px; }
.private-relation-archive-v2 { width: min(100%, 660px); margin: 0 auto; padding: 10px 12px 20px; }
.private-relation-archive-tools { position: sticky; top: 54px; z-index: 20; margin: -10px -12px 9px; padding: 9px 12px; border-bottom: 1px solid var(--pr-line); background: var(--pr-bg); }
.private-relation-archive-tools > div { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.private-relation-archive-tools button { flex: 0 0 auto; min-height: 28px; padding: 0 10px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-muted); background: transparent; font-size: 8px; }
.private-relation-archive-tools button.active { border-color: var(--pr-dark); color: #fff; background: var(--pr-dark); }
.private-relation-archive-tools > label { display: grid; grid-template-columns: 22px minmax(0,1fr); align-items: center; min-height: 34px; margin-top: 7px; padding: 0 9px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); }
.private-relation-archive-tools label i { color: var(--pr-muted); font-style: normal; }
.private-relation-archive-tools label i .private-relation-icon { width: 15px; height: 15px; }
.private-relation-archive-tools input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 10px; }
.private-relation-event-month { display: grid; grid-template-columns: 46px minmax(0,1fr); }
.private-relation-event-month > h3 { margin: 0; padding-top: 13px; color: var(--pr-muted); font-size: 8px; font-weight: 400; writing-mode: vertical-rl; }
.private-relation-event-month > article { grid-column: 2; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--pr-line); }
.private-relation-event-month > article > time { padding-top: 2px; color: var(--pr-muted); font-size: 8px; }
.private-relation-event-month article header { display: flex; align-items: center; gap: 5px; color: var(--pr-muted); font-size: 8px; }
.private-relation-event-month article header i { padding: 2px 5px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-ink); font-style: normal; }
.private-relation-event-month h4 { margin: 6px 0 4px; font-family: Georgia, "Songti SC", serif; font-size: 16px; font-weight: 400; line-height: 1.35; letter-spacing: -.015em; }
.private-relation-event-month p { margin: 0; color: var(--pr-muted); font-size: 10px; line-height: 1.55; }
.private-relation-event-month footer { display: flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--pr-muted); font-size: 8px; }
.private-relation-event-month footer b { padding: 2px 6px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-ink); font-weight: 400; }
.private-relation-detail-overlay { position: fixed; inset: 0; z-index: 100; display: grid; align-items: end; padding-top: 60px; background: rgba(18,18,18,.48); }
.private-relation-detail-card { max-height: calc(100dvh - 60px); overflow-y: auto; padding: 14px; border-radius: 12px 12px 0 0; background: var(--pr-paper); }
.private-relation-detail-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--pr-line); }
.private-relation-detail-card > header > div { display: flex; align-items: center; gap: 9px; }
.private-relation-detail-card > header i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--pr-line); border-radius: 999px; font-style: normal; }
.private-relation-detail-card > header i .private-relation-icon { width: 15px; height: 15px; }
.private-relation-detail-card > header span { display: grid; gap: 2px; }
.private-relation-detail-card > header small { color: var(--pr-muted); font-size: 8px; }
.private-relation-detail-card > header strong { font-family: Georgia, "Songti SC", serif; font-size: 17px; font-weight: 400; }
.private-relation-detail-card > header button { width: 28px; height: 28px; border: 1px solid var(--pr-line); border-radius: 999px; background: transparent; }
.private-relation-detail-card > header button .private-relation-icon { width: 14px; height: 14px; margin: auto; }
.private-relation-detail-meta { display: flex; justify-content: space-between; padding: 9px 0; color: var(--pr-muted); font-size: 8px; }
.private-relation-detail-content { display: grid; gap: 0; border-top: 1px solid var(--pr-line); }
.private-relation-detail-content > section { padding: 10px 0; border-bottom: 1px solid var(--pr-line); }
.private-relation-detail-content section small { color: var(--pr-muted); font-size: 8px; }
.private-relation-detail-content section p { margin: 5px 0 0; font-size: 11px; line-height: 1.65; white-space: pre-wrap; }
.private-relation-full-process { padding: 10px 0; border-bottom: 1px solid var(--pr-line); color: var(--pr-muted); font-size: 9px; }
.private-relation-full-process p { max-height: 46vh; overflow-y: auto; color: var(--pr-ink); font-size: 10px !important; }
.private-relation-detail-card > footer { display: flex; justify-content: flex-end; padding-top: 11px; }
.private-relation-detail-card > footer button { min-height: 29px; padding: 0 11px; border: 1px solid #8d5a52; border-radius: 999px; color: #70423b; background: transparent; font-size: 8px; }
.private-relation-archive [data-private-relation-archive-entry].is-long-pressing { background: var(--pr-sand); }
.private-relation-empty { margin: 16px; padding: 16px; border: 1px solid var(--pr-line); border-radius: 8px; background: var(--pr-paper); text-align: center; }
.private-relation-empty strong { display: block; font-family: Georgia, "Songti SC", serif; font-size: 16px; font-weight: 400; }
.private-relation-empty p { margin: 6px 0; color: var(--pr-muted); font-size: 10px; line-height: 1.5; }
.private-relation-empty button { min-height: 30px; padding: 0 11px; border: 1px solid var(--pr-dark); border-radius: 999px; color: #fff; background: var(--pr-dark); font-size: 9px; }
@media (max-width: 370px) {
  .private-relation-header { padding-left: 9px; padding-right: 9px; }
  .private-relation-char-select { max-width: 92px; }
  .private-relation-home-v2,
  .private-relation-conversation,
  .private-relation-archive-v2 { padding-left: 9px; padding-right: 9px; }
  .private-relation-speaker-choice button { min-height: 102px; padding: 10px 8px; }
  .private-relation-revealed { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .private-relation-app *,
  .private-relation-app *::before,
  .private-relation-app *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/*# source: assets/css/features/encounter.css */
/*
 * encounter feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep app-specific visual and structural rules here.
 */

.encounter-gradient { color: #fff !important; background: #18181b !important; }
#appScreen.encounter-screen-active { background: #dbdad7 !important; }
#appScreen.encounter-screen-active .app-topbar {
  color: #121212 !important;
  background: #dbdad7 !important;
  border-bottom: 1px solid rgba(18,18,18,.12) !important;
  box-shadow: none !important;
}
#appScreen .app-body.encounter-app-active {
  padding: 0 !important;
  overflow: hidden !important;
  color: #121212;
  background: #dbdad7 !important;
}
.encounter-app {
  --encounter-parchment: var(--moss-live-canvas, #deddd9);
  --encounter-paper: var(--moss-live-paper, #f8f7f4);
  --encounter-sand: var(--moss-live-sand, #e8e6e1);
  --encounter-ink: var(--moss-live-ink, #181817);
  --encounter-smoke: var(--moss-live-muted, #77756f);
  --encounter-charcoal: var(--moss-live-charcoal, #1c1c1b);
  --encounter-line: var(--moss-live-line, rgba(31,30,28,.09));
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  color: var(--encounter-ink);
  font-family: var(--moss-live-font-sans, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  letter-spacing: .045em;
  background: var(--encounter-parchment);
}
.encounter-app *, .encounter-app *::before, .encounter-app *::after { box-sizing: border-box; }
.encounter-app button, .encounter-app textarea { font: inherit; }
.encounter-root { display: grid; grid-template-rows: minmax(0,1fr) auto; height: 100%; min-height: 0; overflow: hidden; }
.encounter-page { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.encounter-kicker { color: var(--encounter-smoke); font-size: 9px; font-weight: 500; letter-spacing: .16em; }
.encounter-primary,
.encounter-secondary {
  min-height: 39px;
  padding: 7px 16px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .065em;
  box-shadow: none;
}
.encounter-primary { border: 1px solid var(--encounter-charcoal); color: #fff; background: var(--encounter-charcoal); }
.encounter-secondary { border: 1px solid rgba(18,18,18,.22); color: var(--encounter-ink); background: transparent; }
.encounter-primary:disabled, .encounter-secondary:disabled { opacity: .45; }
.encounter-bottom-nav {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 6px;
  padding: 7px 10px max(7px,env(safe-area-inset-bottom));
  border-top: 1px solid var(--encounter-line);
  background: var(--encounter-parchment);
}
.encounter-bottom-nav button {
  display: grid;
  min-height: 43px;
  padding: 5px 8px;
  place-content: center;
  gap: 1px;
  border: 1px solid transparent;
  border-radius: 9999px;
  color: var(--encounter-smoke);
  text-align: center;
  background: transparent;
  box-shadow: none;
}
.encounter-bottom-nav button span { font-size: 12px; font-weight: 500; letter-spacing: .08em; }
.encounter-bottom-nav button small { font-size: 7px; letter-spacing: .14em; }
.encounter-bottom-nav button.active { border-color: var(--encounter-charcoal); color: #fff; background: var(--encounter-charcoal); }
.encounter-section-head { display: grid; justify-items: center; gap: 8px; text-align: center; }
.encounter-section-head.align-left { justify-items: start; text-align: left; }
.encounter-section-head h1 {
  margin: 0;
  font-family: Georgia, "Songti SC", "Times New Roman", serif;
  font-size: clamp(21px,6vw,24px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.encounter-section-head p { max-width: 340px; margin: 0; color: var(--encounter-smoke); font-size: 14px; line-height: 1.58; }
.encounter-inline-notice { margin: 2px auto 0; color: #6f302b; font-size: 10px; line-height: 1.5; text-align: center; }
.encounter-meet-page {
  display: grid;
  width: min(100%,620px);
  min-height: 100%;
  margin: 0 auto;
  padding: 25px 16px 28px;
  align-content: center;
  justify-items: center;
  gap: 15px;
}
.encounter-meet-page.has-candidate { align-content: start; padding-top: 20px; }
.encounter-profile-card {
  display: grid;
  width: 100%;
  padding: 18px;
  justify-items: center;
  gap: 14px;
  border: 1px solid var(--encounter-line);
  border-radius: 8px;
  background: var(--encounter-paper);
  box-shadow: none;
}
.encounter-profile-copy { display: grid; width: 100%; justify-items: center; gap: 8px; text-align: center; }
.encounter-profile-copy h2 { margin: 0; font-family: var(--moss-live-font-serif, Georgia,"Songti SC",serif); font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.encounter-profile-copy > strong { font-size: 13px; font-weight: 600; line-height: 1.5; }
.encounter-profile-copy > p:not(.encounter-reveal-meta) { max-width: 430px; margin: 0; color: var(--encounter-smoke); font-size: 14px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.encounter-profile-card > footer { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; padding-top: 2px; }
.encounter-profile-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.encounter-profile-tags span,
.encounter-reveal-meta { margin: 0; padding: 4px 8px; border: 1px solid var(--encounter-line); border-radius: 999px; color: var(--encounter-smoke); background: var(--encounter-sand); font-size: 11px; line-height: 1.3; }
.encounter-spin-button { min-width: 148px; }
.encounter-odds { margin: -3px 0 0; color: var(--encounter-smoke); font-size: 11px; line-height: 1.45; }
.encounter-avatar {
  position: relative;
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(18,18,18,.18);
  border-radius: 50%;
  color: var(--encounter-ink);
  background: var(--encounter-sand);
}
.encounter-avatar b { font-family: Georgia,"Songti SC",serif; font-size: 25px; font-weight: 400; }
.encounter-avatar img { position: absolute; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.encounter-avatar.small { width: 46px; height: 46px; }
.encounter-avatar.small b { font-size: 17px; }
.encounter-avatar.tiny { width: 36px; height: 36px; }
.encounter-avatar.tiny b { font-size: 13px; }
.encounter-avatar.chat { width: 40px; height: 40px; }
.encounter-avatar.chat b { font-size: 15px; }
.encounter-avatar.reveal { width: 94px; height: 94px; border-width: 1px; }
.encounter-avatar.reveal b { font-size: 34px; }
.encounter-idle-wheel { height: 228px; }
.encounter-spin { display: grid; min-height: 100%; padding: 26px 18px; place-items: center; align-content: center; gap: 13px; text-align: center; }
.encounter-spin h2 { margin: 4px 0 0; font-family: var(--moss-live-font-serif, Georgia,"Songti SC",serif); font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.encounter-spin p { max-width: 300px; margin: 0; color: var(--encounter-smoke); font-size: 14px; line-height: 1.58; }
.encounter-wheel-stage { position: relative; width: 216px; height: 232px; margin: 2px 0; padding-top: 20px; }
.encounter-pointer {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-right: 11px solid transparent;
  border-left: 11px solid transparent;
  border-top: 26px solid var(--encounter-charcoal);
  transform: translateX(-50%);
}
.encounter-wheel {
  position: relative;
  display: grid;
  width: 204px;
  height: 204px;
  margin: 0 auto;
  place-items: center;
  border: 1px solid rgba(18,18,18,.42);
  border-radius: 50%;
  background: var(--encounter-sand);
  animation: encounter-wheel-spin .72s linear infinite;
}
.encounter-wheel::after { content: ""; width: 76px; height: 76px; border: 1px solid rgba(18,18,18,.28); border-radius: 50%; background: var(--encounter-paper); }
.encounter-wheel b { position: absolute; z-index: 2; font-family: Georgia,serif; font-size: 12px; font-weight: 400; letter-spacing: .12em; }
.encounter-wheel i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--encounter-charcoal);
  transform: translate(-50%,-50%) rotate(calc(var(--encounter-spoke) * 30deg)) translateY(-85px);
}
.encounter-wheel i::after { content: ""; position: absolute; top: 7px; left: 2.5px; width: 1px; height: 39px; background: rgba(18,18,18,.2); }
.encounter-wheel-stage.is-idle .encounter-wheel { animation: none; transform: rotate(-9deg); }
.encounter-wheel-stage.is-idle .encounter-wheel b { transform: rotate(9deg); }
.encounter-wheel-stage.is-stopping .encounter-wheel { animation: encounter-wheel-stop .7s cubic-bezier(.12,.72,.18,1) forwards; }
@keyframes encounter-wheel-spin { to { transform: rotate(360deg); } }
@keyframes encounter-wheel-stop { from { transform: rotate(0deg); } to { transform: rotate(967deg); } }
.encounter-known-page,
.encounter-me-page { width: min(100%,680px); margin: 0 auto; padding: 22px 14px 26px; }
.encounter-ledger { margin-top: 19px; overflow: hidden; border: 1px solid var(--encounter-line); border-radius: 8px; background: var(--encounter-paper); }
.encounter-ledger > div:first-child { display: flex; min-height: 42px; padding: 9px 12px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--encounter-line); background: var(--encounter-sand); }
.encounter-ledger > div:first-child span { color: var(--encounter-smoke); font-size: 9px; letter-spacing: .14em; }
.encounter-ledger > div:first-child b { font-family: Georgia,serif; font-size: 20px; font-weight: 400; }
.encounter-history-row {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  width: 100%;
  min-height: 70px;
  padding: 10px 12px;
  align-items: center;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid var(--encounter-line);
  border-radius: 0;
  color: inherit;
  text-align: left;
  background: transparent;
  box-shadow: none;
}
.encounter-history-row:last-child { border-bottom: 0; }
.encounter-history-row > span { display: grid; min-width: 0; gap: 3px; }
.encounter-history-row strong { font-family: Georgia,"Songti SC",serif; font-size: 15px; font-weight: 400; }
.encounter-history-row small,
.encounter-history-row em { overflow: hidden; color: var(--encounter-smoke); font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.encounter-history-row i { padding: 4px 7px; border: 1px solid var(--encounter-line); border-radius: 9999px; color: var(--encounter-smoke); font-size: 8px; font-style: normal; }
.encounter-empty { display: grid; padding: 28px 16px; justify-items: center; gap: 5px; color: var(--encounter-smoke); text-align: center; }
.encounter-empty strong { color: var(--encounter-ink); font-family: Georgia,"Songti SC",serif; font-size: 15px; font-weight: 400; }
.encounter-empty span { max-width: 280px; font-size: 10px; line-height: 1.55; }
.encounter-me-page { display: grid; gap: 12px; }
.encounter-me-profile {
  display: grid;
  grid-template-columns: 68px minmax(0,1fr);
  padding: 15px;
  align-items: center;
  gap: 13px;
  border: 1px solid var(--encounter-line);
  border-radius: 8px;
  background: var(--encounter-paper);
}
.encounter-user-avatar { width: 68px !important; height: 68px !important; font-size: 19px !important; }
.encounter-me-profile > div { display: grid; min-width: 0; gap: 3px; }
.encounter-me-profile h1 { overflow: hidden; margin: 0; font-family: Georgia,"Songti SC",serif; font-size: 24px; font-weight: 400; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.encounter-me-profile p { margin: 0; color: #383838; font-size: 11px; line-height: 1.5; }
.encounter-me-profile small:not(.encounter-kicker) { color: var(--encounter-smoke); font-size: 8px; }
.encounter-pool-entry {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto;
  width: 100%;
  min-height: 70px;
  padding: 11px 12px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--encounter-line);
  border-radius: 8px;
  color: var(--encounter-ink);
  text-align: left;
  background: var(--encounter-paper);
  box-shadow: none;
}
.encounter-pool-entry:active { background: var(--encounter-sand); }
.encounter-pool-entry-mark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 8px; color: #fff; background: var(--encounter-charcoal); font-family: Georgia,"Songti SC",serif; font-size: 14px; }
.encounter-pool-entry-copy { display: grid; min-width: 0; gap: 2px; }
.encounter-pool-entry-copy small { color: var(--encounter-smoke); font-size: 7px; letter-spacing: .13em; }
.encounter-pool-entry-copy strong { font-family: Georgia,"Songti SC",serif; font-size: 14px; font-weight: 400; }
.encounter-pool-entry-copy em { overflow: hidden; color: var(--encounter-smoke); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.encounter-pool-entry-side { display: flex; align-items: center; gap: 5px; color: var(--encounter-smoke); }
.encounter-pool-entry-side b { padding: 3px 6px; border: 1px solid var(--encounter-line); border-radius: 999px; font-size: 7px; font-weight: 400; white-space: nowrap; }
.encounter-pool-entry-side svg { width: 14px; height: 14px; }
.encounter-pool-screen { display: grid; grid-template-rows: auto minmax(0,1fr); height: 100%; min-height: 0; overflow: hidden; background: var(--encounter-parchment); }
.encounter-pool-page-head { display: grid; grid-template-columns: 36px minmax(0,1fr) 36px; min-height: 58px; padding: 9px 11px; align-items: center; gap: 9px; border-bottom: 1px solid var(--encounter-line); background: var(--encounter-parchment); }
.encounter-pool-page-head > button { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid rgba(18,18,18,.2); border-radius: 50%; color: var(--encounter-ink); background: transparent; box-shadow: none; }
.encounter-pool-page-head > button svg { width: 15px; height: 15px; }
.encounter-pool-page-head > span { display: grid; min-width: 0; gap: 1px; }
.encounter-pool-page-head small { color: var(--encounter-smoke); font-size: 7px; letter-spacing: .13em; }
.encounter-pool-page-head strong { font-family: Georgia,"Songti SC",serif; font-size: 15px; font-weight: 400; }
.encounter-pool-page-head > i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: #fff; background: var(--encounter-charcoal); font-family: Georgia,"Songti SC",serif; font-size: 11px; font-style: normal; }
.encounter-pool-page { width: min(100%,680px); min-height: 0; margin: 0 auto; padding: 12px 14px 24px; overflow-x: hidden; overflow-y: auto; }
.encounter-pool-page-intro { margin: 0 1px 10px; color: var(--encounter-smoke); font-size: 9px; line-height: 1.6; }
.encounter-pool-page .encounter-pool-list { max-height: none; }
.encounter-pool-panel { overflow: hidden; border: 1px solid var(--encounter-line); border-radius: 8px; background: var(--encounter-paper); }
.encounter-pool-panel > header { display: flex; min-height: 43px; padding: 9px 11px; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid var(--encounter-line); background: var(--encounter-sand); }
.encounter-pool-panel > header > span { display: grid; min-width: 0; gap: 1px; }
.encounter-pool-panel > header small { color: var(--encounter-smoke); font-size: 7px; letter-spacing: .14em; }
.encounter-pool-panel > header strong { font-family: Georgia,"Songti SC",serif; font-size: 15px; font-weight: 400; }
.encounter-pool-panel > header em { flex: 0 0 auto; padding: 3px 6px; border: 1px solid var(--encounter-line); border-radius: 999px; color: var(--encounter-smoke); font-size: 8px; font-style: normal; }
.encounter-pool-panel > p { margin: 0; padding: 9px 11px 0; color: var(--encounter-smoke); font-size: 9px; line-height: 1.55; }
.encounter-pool-panel.is-standalone { padding-bottom: 10px; }
.encounter-pool-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 9px 11px; }
.encounter-pool-toolbar > label,
.encounter-pool-toolbar > button { display: grid; min-height: 31px; margin: 0; padding: 5px 10px; place-items: center; border-radius: 999px; font-size: 9px; line-height: 1; cursor: pointer; }
.encounter-pool-toolbar > button.compact { padding-inline: 8px; }
.encounter-pool-toolbar input { display: none; }
.encounter-pool-toolbar .is-disabled { opacity: .45; pointer-events: none; }
.encounter-pool-status,
.encounter-pool-pending { margin: 0 11px 9px !important; padding: 7px 8px !important; border: 1px solid var(--encounter-line); border-radius: 6px; color: var(--encounter-smoke) !important; background: var(--encounter-sand); font-size: 8px !important; line-height: 1.5 !important; }
.encounter-pool-status.error { color: #79352f !important; }
.encounter-pool-pending { border-style: dashed; }
.encounter-pool-list { max-height: 330px; overflow-x: hidden; overflow-y: auto; border-top: 1px solid var(--encounter-line); }
.encounter-pool-row { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; min-height: 62px; padding: 8px 9px; align-items: center; gap: 8px; border-bottom: 1px solid var(--encounter-line); }
.encounter-pool-row:last-child { border-bottom: 0; }
.encounter-pool-row.is-disabled { opacity: .58; }
.encounter-pool-avatar { width: 42px !important; height: 42px !important; }
.encounter-pool-copy { display: grid; min-width: 0; gap: 2px; }
.encounter-pool-copy strong { overflow: hidden; font-family: Georgia,"Songti SC",serif; font-size: 13px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.encounter-pool-copy small,
.encounter-pool-copy em { overflow: hidden; color: var(--encounter-smoke); font-size: 7px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.encounter-pool-row-actions { display: grid; grid-template-columns: repeat(3,auto); gap: 3px; }
.encounter-pool-row-actions button { min-width: 31px; min-height: 27px; padding: 3px 5px; border: 1px solid var(--encounter-line); border-radius: 999px; color: var(--encounter-ink); background: transparent; box-shadow: none; font-size: 7px; }
.encounter-pool-row-actions button.danger { color: #7c332e; }
.encounter-post-compose { display: grid; gap: 8px; padding: 13px; border: 1px solid var(--encounter-line); border-radius: 8px; background: var(--encounter-paper); }
.encounter-post-compose > label { font-family: Georgia,"Songti SC",serif; font-size: 16px; }
.encounter-post-compose textarea {
  width: 100%;
  min-height: 74px;
  max-height: 150px;
  padding: 10px;
  resize: vertical;
  border: 1px solid var(--encounter-line);
  border-radius: 8px;
  outline: none;
  color: var(--encounter-ink);
  font-size: 12px;
  line-height: 1.55;
  background: var(--encounter-sand);
  box-shadow: none;
}
.encounter-post-compose textarea:focus { border-color: var(--encounter-charcoal); }
.encounter-post-compose footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.encounter-post-compose footer span { color: var(--encounter-smoke); font-size: 8px; line-height: 1.4; }
.encounter-post-compose footer button { min-height: 32px; padding: 5px 13px; border: 0; border-radius: 9999px; color: #fff; font-size: 10px; background: var(--encounter-charcoal); box-shadow: none; }
.encounter-post-list { overflow: hidden; border: 1px solid var(--encounter-line); border-radius: 8px; background: var(--encounter-paper); }
.encounter-post-list > header { display: flex; min-height: 39px; padding: 8px 11px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--encounter-line); background: var(--encounter-sand); }
.encounter-post-list > header span { color: var(--encounter-smoke); font-size: 9px; letter-spacing: .14em; }
.encounter-post-list > header b { font-family: Georgia,serif; font-size: 18px; font-weight: 400; }
.encounter-post-card { padding: 12px; border-bottom: 1px solid var(--encounter-line); }
.encounter-post-card:last-child { border-bottom: 0; }
.encounter-post-card > p { margin: 0; color: var(--encounter-ink); font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.encounter-post-card > footer { display: flex; margin-top: 9px; align-items: center; justify-content: space-between; gap: 8px; }
.encounter-post-card time { color: var(--encounter-smoke); font-size: 11px; }
.encounter-post-card footer span { display: flex; gap: 5px; }
.encounter-post-card button { min-height: 29px; padding: 4px 8px; border: 1px solid var(--encounter-line); border-radius: 9px; color: var(--encounter-smoke); font-size: 10.5px; background: transparent; box-shadow: none; }
.encounter-post-card button:disabled { opacity: .4; }
.encounter-topic-picker { position: fixed; z-index: 260; inset: 0; display: grid; align-items: end; }
.encounter-topic-scrim { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgba(18,18,18,.34); }
.encounter-topic-picker > section { position: relative; z-index: 1; width: min(100%,560px); max-height: 70vh; margin: 0 auto; overflow: hidden; border: 1px solid var(--encounter-line); border-radius: 8px 8px 0 0; background: var(--encounter-paper); }
.encounter-topic-picker > section > header { display: grid; grid-template-columns: minmax(0,1fr) 32px; padding: 12px; align-items: start; gap: 8px; border-bottom: 1px solid var(--encounter-line); background: var(--encounter-sand); }
.encounter-topic-picker header span { display: grid; min-width: 0; gap: 3px; }
.encounter-topic-picker header small { color: var(--encounter-smoke); font-size: 8px; }
.encounter-topic-picker header strong { overflow: hidden; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.encounter-topic-picker header > button { width: 32px; height: 32px; padding: 0; border: 1px solid var(--encounter-line); border-radius: 50%; color: var(--encounter-ink); background: transparent; }
.encounter-topic-picker section > div { max-height: 48vh; overflow-y: auto; }
.encounter-topic-picker section > div > button { display: grid; grid-template-columns: 36px minmax(0,1fr); width: 100%; min-height: 56px; padding: 9px 12px; align-items: center; gap: 9px; border: 0; border-bottom: 1px solid var(--encounter-line); color: var(--encounter-ink); text-align: left; background: transparent; }
.encounter-topic-picker section > div > button > span { display: grid; gap: 2px; }
.encounter-topic-picker section > div > button strong { font-size: 11px; }
.encounter-topic-picker section > div > button small { color: var(--encounter-smoke); font-size: 8px; }
.encounter-topic-picker section > div > p { margin: 0; padding: 22px; color: var(--encounter-smoke); font-size: 10px; text-align: center; }
.encounter-chat {
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  overflow-anchor: none;
  background: var(--encounter-parchment);
}
.encounter-chat-head {
  display: grid;
  grid-template-columns: 36px 40px minmax(0,1fr) 36px;
  min-height: 62px;
  padding: 9px 11px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--encounter-line);
  background: var(--encounter-parchment);
}
.encounter-chat-head > button { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid rgba(18,18,18,.2); border-radius: 9999px; color: var(--encounter-ink); background: transparent; box-shadow: none; }
.encounter-chat-head > button svg { width: 16px; height: 16px; }
.encounter-chat-head > span:not(.encounter-avatar) { display: grid; min-width: 0; gap: 2px; }
.encounter-chat-head strong { overflow: hidden; font-family: Georgia,"Songti SC",serif; font-size: 15px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.encounter-chat-head small { overflow: hidden; color: var(--encounter-smoke); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.encounter-memory-route { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 7px 11px; align-items: center; gap: 9px; border-bottom: 1px solid var(--encounter-line); background: color-mix(in srgb,var(--encounter-sand) 48%,var(--encounter-parchment)); }
.encounter-memory-route > div { display: grid; min-width: 0; gap: 2px; }
.encounter-memory-route > div span { font-size: 9px; font-weight: 600; letter-spacing: .06em; }
.encounter-memory-route > div small { overflow: hidden; color: var(--encounter-smoke); font-size: 7px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.encounter-memory-route nav { display: flex; padding: 2px; gap: 2px; border: 1px solid var(--encounter-line); border-radius: 9999px; background: var(--encounter-paper); }
.encounter-memory-route button { min-height: 25px; padding: 4px 8px; border: 0; border-radius: 9999px; color: var(--encounter-smoke); font-size: 8px; background: transparent; box-shadow: none; }
.encounter-memory-route button.active { color: #fff; background: var(--encounter-charcoal); }
.encounter-chat-messages { min-height: 0; padding: 13px 12px 18px; overflow-x: hidden; overflow-y: auto; overflow-anchor: none; overscroll-behavior: contain; scroll-behavior: smooth; }
.encounter-message-row { display: flex; width: 100%; margin: 6px 0; justify-content: flex-start; }
.encounter-message-row.user { justify-content: flex-end; }
.encounter-message-bubble {
  max-width: min(80%,520px);
  padding: 9px 11px;
  border: 1px solid var(--encounter-line);
  border-radius: 14px 14px 14px 5px;
  color: var(--encounter-ink);
  font-size: 14px;
  line-height: 1.58;
  letter-spacing: .012em;
  overflow-wrap: anywhere;
  background: var(--encounter-paper);
}
.encounter-message-bubble > p { margin: 0; }
.encounter-message-bubble > .bilingual-longform-translation { padding-top: 6px; border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.encounter-message-row.user .encounter-message-bubble { border-color: var(--encounter-charcoal); border-radius: 14px 14px 5px 14px; color: #fff; background: var(--encounter-charcoal); }
.encounter-message-bubble.symbolic { color: var(--encounter-ink); background: var(--encounter-sand); font-size: 12px; }
.encounter-message-row.user .encounter-message-bubble.symbolic { color: #fff; background: var(--encounter-charcoal); }
.encounter-message-bubble.typing { color: var(--encounter-smoke); font-size: 12px; }
.encounter-message-bubble.typing span::after { content: "…"; animation: encounter-typing 1s steps(3,end) infinite; }
@keyframes encounter-typing { 0% { opacity: .2; } 100% { opacity: 1; } }
.encounter-topic-message { width: min(82%,400px); overflow: hidden; border: 1px solid var(--encounter-charcoal); border-radius: 8px; color: var(--encounter-ink); background: var(--encounter-paper); }
.encounter-topic-message small { display: block; padding: 6px 9px; color: #fff; font-size: 8px; letter-spacing: .1em; background: var(--encounter-charcoal); }
.encounter-topic-message p { margin: 0; padding: 9px; font-family: Georgia,"Songti SC",serif; font-size: 12px; line-height: 1.6; }
.encounter-wechat-card {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  width: min(100%,520px);
  margin: 14px auto 4px;
  padding: 11px;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(18,18,18,.2);
  border-radius: 8px;
  background: var(--encounter-paper);
}
.encounter-wechat-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; color: #fff; background: var(--encounter-charcoal); font-family: Georgia,"Songti SC",serif; font-size: 13px; }
.encounter-wechat-card > div { display: grid; min-width: 0; gap: 2px; }
.encounter-wechat-card small { color: var(--encounter-smoke); font-size: 10.5px; }
.encounter-wechat-card strong { font-size: 13px; font-weight: 650; }
.encounter-wechat-card p { margin: 0; color: var(--encounter-smoke); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.encounter-wechat-card > button,
.encounter-wechat-card > em { min-width: 56px; min-height: 31px; padding: 6px 9px; border: 1px solid var(--encounter-charcoal); border-radius: 9999px; color: #fff; font-size: 9px; font-style: normal; text-align: center; background: var(--encounter-charcoal); box-shadow: none; }
.encounter-wechat-card > em { display: grid; place-items: center; opacity: .62; }
.encounter-wechat-card > button:disabled { border-color: var(--encounter-line); color: var(--encounter-smoke); background: var(--encounter-sand); }
.encounter-wechat-card.locked { opacity: .75; }
.encounter-wechat-card > footer { display: flex; gap: 5px; }
.encounter-wechat-card > footer button { min-height: 31px; padding: 5px 9px; border: 1px solid var(--encounter-charcoal); border-radius: 9999px; color: var(--encounter-ink); font-size: 9px; background: transparent; box-shadow: none; }
.encounter-wechat-card > footer button:last-child { color: #fff; background: var(--encounter-charcoal); }
.encounter-chat-notice { margin: 0; padding: 6px 11px; border-top: 1px solid var(--encounter-line); color: #6f302b; font-size: 9px; line-height: 1.45; background: var(--encounter-sand); }
.encounter-compose-wrap { border-top: 1px solid var(--encounter-line); overflow-anchor: none; background: var(--encounter-parchment); }
.encounter-attachment-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 8px 10px 0; }
.encounter-attachment-panel > button { display: grid; grid-template-columns: 30px minmax(0,1fr); min-height: 45px; padding: 7px; align-items: center; gap: 7px; border: 1px solid var(--encounter-line); border-radius: 8px; color: var(--encounter-ink); text-align: left; background: var(--encounter-paper); box-shadow: none; }
.encounter-attachment-panel b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: #fff; background: var(--encounter-charcoal); font-size: 10px; }
.encounter-attachment-panel span { display: grid; gap: 1px; font-size: 10px; }
.encounter-attachment-panel small { color: var(--encounter-smoke); font-size: 7px; }
.encounter-compose {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) auto auto;
  padding: 9px 10px max(9px,env(safe-area-inset-bottom));
  align-items: end;
  gap: 6px;
}
.encounter-compose textarea { display: block; width: 100%; min-width: 0; min-height: 40px; max-height: 108px; margin: 0; padding: 9px 10px; resize: none; border: 1px solid var(--encounter-line); border-radius: 12px; outline: none; color: var(--encounter-ink); font-size: 16px; line-height: 1.45; background: var(--encounter-paper); box-shadow: none; }
.encounter-compose textarea:focus { border-color: var(--encounter-charcoal); }
.encounter-compose button { min-width: 49px; min-height: 38px; padding: 7px 10px; border: 1px solid var(--encounter-charcoal); border-radius: 9999px; color: #fff; font-size: 10px; letter-spacing: .04em; background: var(--encounter-charcoal); box-shadow: none; }
.encounter-compose .encounter-attach-toggle { min-width: 36px; width: 36px; padding: 0; color: var(--encounter-ink); font-size: 19px; font-weight: 300; background: transparent; }
.encounter-compose .encounter-attach-toggle.active { color: #fff; background: var(--encounter-charcoal); transform: rotate(45deg); }
.encounter-compose .encounter-reroll { min-width: 43px; padding-inline: 7px; color: var(--encounter-ink); background: transparent; }
.encounter-compose button:disabled, .encounter-compose textarea:disabled { opacity: .5; }
body.keyboard-open #appScreen.encounter-screen-active .app-body.encounter-app-active,
body.keyboard-open #appScreen.encounter-screen-active .encounter-chat { height: 100% !important; min-height: 0 !important; overflow: hidden !important; }
body.keyboard-open #appScreen.encounter-screen-active .encounter-chat-messages { min-height: 0 !important; scroll-padding-bottom: 10px; scroll-behavior: auto !important; }
body.keyboard-encounter-open #appScreen.encounter-screen-active .encounter-compose { padding-bottom: 7px; }
@media (max-width: 390px) {
  .encounter-meet-page { padding-inline: 12px; }
  .encounter-known-page, .encounter-me-page { padding-inline: 10px; }
  .encounter-pool-page { padding-inline: 10px; }
  .encounter-pool-entry { grid-template-columns: 38px minmax(0,1fr) auto; padding-inline: 10px; gap: 8px; }
  .encounter-pool-entry-mark { width: 38px; height: 38px; }
  .encounter-pool-entry-side b { display: none; }
  .encounter-profile-card { padding: 15px; }
  .encounter-message-bubble { max-width: 85%; }
  .encounter-compose { grid-template-columns: 34px minmax(0,1fr) 40px 47px; padding-inline: 8px; gap: 5px; }
  .encounter-compose .encounter-attach-toggle { width: 34px; min-width: 34px; }
  .encounter-compose .encounter-reroll { min-width: 40px; padding-inline: 5px; font-size: 9px; }
  .encounter-wechat-card { grid-template-columns: 32px minmax(0,1fr) auto; padding: 9px; gap: 7px; }
  .encounter-pool-row { grid-template-columns: 42px minmax(0,1fr); }
  .encounter-pool-avatar { width: 38px !important; height: 38px !important; }
  .encounter-pool-row-actions { grid-column: 2; justify-content: start; }
}
@media (prefers-reduced-motion: reduce) {
  .encounter-wheel { animation-duration: 2.4s; }
  .encounter-chat-messages { scroll-behavior: auto; }
}

/*# source: assets/css/features/theater.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.longform-favorite {line-height: 1.75;}

.longform-inline-more {min-width: 28px;
  min-height: 24px;
  border: 1px solid rgba(123, 93, 52, 0.18);
  border-radius: 999px;
  padding: 0 7px;
  background: rgba(255, 255, 255, 0.6);
  color: #7c5a29;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 1px;
  opacity: 0.74;
  touch-action: manipulation;}

.longform-inline-more:active {transform: scale(0.97);
  opacity: 1;}

.bilingual-longform-content {display: grid;
  gap: .78em;}

.bilingual-longform-content p,
.bilingual-longform-dialogue p,
.bilingual-longform-translation p {margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;}

.bilingual-longform-dialogue {display: grid;
  gap: 6px;
  padding-left: 12px;
  border-left: 2px solid color-mix(in srgb, currentColor 20%, transparent);}

.bilingual-longform-user-dialogue {padding-left: 12px;
  border-left: 2px solid color-mix(in srgb, currentColor 12%, transparent);}

.bilingual-longform-dialogue-inline {margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;}

.bilingual-longform-inline-translation {color: inherit;
  font: inherit;}

.bilingual-longform-translation {margin-top: 6px;
  color: color-mix(in srgb, currentColor 72%, transparent);
  font-size: .88em;}

.bilingual-longform-translation summary {width: max-content;
  cursor: pointer;
  color: color-mix(in srgb, currentColor 62%, transparent);
  font-size: .9em;
  list-style-position: inside;}

.bilingual-longform-translation[open] > p {margin-top: 5px;
  line-height: 1.58;}

.location-history-search {width: 100%;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 16px;
  background: color-mix(in srgb, var(--phone-bg, #f4ecdf) 72%, #fff 28%);
  color: var(--skin-text, #2c241d);
  font: inherit;
  font-size: 15px;
  line-height: 1.45;
  outline: none;
  box-sizing: border-box;}

.location-history-search {height: 44px;
  padding: 0 13px;}

.location-history-search:focus {border-color: color-mix(in srgb, var(--skin-accent, #b17a36) 72%, var(--skin-border, rgba(0,0,0,.12)));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--skin-accent, #b17a36) 13%, transparent);}

.location-history-panel {display: grid;
  gap: 9px;
  min-height: 0;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.1));
  background: color-mix(in srgb, var(--phone-bg, #f4ecdf) 60%, transparent);}

.location-history-head {display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;}

.location-history-head strong {font-size: 14px;
  color: var(--skin-title, #211b15);}

.location-history-head small {font-size: 11px;
  color: var(--skin-muted, #7a6d60);}

.location-history-list {display: grid;
  gap: 8px;
  max-height: min(28vh, 220px);
  overflow: auto;
  padding-right: 2px;
  -webkit-overflow-scrolling: touch;}

.location-history-item {display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 88%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fffaf0) 86%, transparent);
  color: var(--skin-text, #2c241d);
  text-align: left;
  -webkit-tap-highlight-color: transparent;}

.location-history-item:active {transform: scale(.985);
  background: color-mix(in srgb, var(--skin-accent, #b17a36) 10%, var(--surface-strong, #fffaf0));}

.location-history-item strong {font-size: 14px;
  font-weight: 900;}

.location-history-item small,
.location-history-empty {margin: 0;
  font-size: 12px;
  color: var(--skin-muted, #7a6d60);
  line-height: 1.4;}

.longform-last-user-jump {position: absolute;
  right: 14px;
  bottom: calc(86px + var(--safe-bottom));
  z-index: 45;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  color: #fff;
  background: rgba(72, 78, 88, 0.84);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 12px;
  font-weight: 700;}

.longform-last-user-jump:active {transform: scale(0.96);}

#appScreen [class*="fanfic"] button:not(.danger-button):not(.secondary-button):not([class*="ghost"]) {background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  box-shadow: none !important;}

.tavern-sidestory-card {background: color-mix(in srgb, #edf3f7 74%, var(--surface-strong, #fff));}

.ying-history-page h1 {margin:0;font-family:"Hedvig Letters Serif","Source Serif 4",Georgia,"Songti SC",serif;font-weight:400;letter-spacing:-.035em}

.ying-history-page {padding:24px 0}

.ying-history-page>header {padding-bottom:22px;border-bottom:1px solid var(--ying-ink)}

.ying-history-page h1 {margin-top:6px;font-size:36px}

.ying-history-page header p {margin:10px 0 0;color:var(--ying-smoke);font-size:12px;line-height:1.6}

.ying-history-list {margin-top:12px;border-top:1px solid var(--ying-ink)}

.ying-history-list article {display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;border-bottom:1px solid rgba(18,18,18,.24)}

.ying-history-list article>button:first-child {display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;background:transparent;text-align:left}

.ying-history-list article>button span {display:grid;gap:3px}

.ying-history-list time {color:var(--ying-smoke);font-size:9px}

.ying-history-list strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:20px;font-weight:400}

.ying-history-list small {color:var(--ying-smoke);font-size:9px}

.ying-history-delete {display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:transparent;color:var(--ying-danger)}

/* Existing canonical module rules follow. */
/*
 * theater feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */
.theater-gradient { background: linear-gradient(145deg, #5347a8, #ec6f8f 52%, #f4c76d); }
.theater-flow-head {
  display: grid;
  gap: 6px;
}
.theater-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.theater-type-card {
  min-height: 156px;
  display: grid;
  align-content: end;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(95, 119, 88, 0.18);
  border-radius: 20px;
  text-align: left;
  color: #263244;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(235, 245, 236, 0.82)),
    radial-gradient(circle at 18% 16%, rgba(88, 145, 94, 0.16), transparent 36%);
  box-shadow: 0 14px 34px rgba(30, 36, 44, 0.08);
}
.theater-type-card.long {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(236, 240, 250, 0.88)),
    radial-gradient(circle at 18% 16%, rgba(88, 116, 170, 0.16), transparent 36%);
}
.theater-type-card strong {
  font-size: 20px;
}
.theater-type-card span,
.theater-session-card small {
  color: #687284;
  font-size: 13px;
  line-height: 1.45;
}
.theater-flow-back {
  justify-self: start;
}
.theater-view-toggle,
.favorite-type-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 16px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  background: rgba(255, 255, 255, 0.68);
}
.theater-view-toggle span {
  padding: 0 6px;
  color: var(--skin-muted, #7d8492);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.theater-view-toggle button,
.favorite-type-tabs button {
  min-height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: inherit;
  font-size: 12px;
  font-weight: 900;
}
.theater-view-toggle button.active,
.favorite-type-tabs button.active {
  background: #171b22;
  color: #fff;
}
.theater-session-card {
  cursor: pointer;
  gap: 8px;
}
.theater-character-grid .theater-session-card {
  overflow: hidden;
}
.theater-character-grid .theater-session-card small {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 5px 8px;
  line-height: 1.3;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}
.theater-state-button {
  border-color: rgba(87, 122, 82, 0.22) !important;
  background: color-mix(in srgb, var(--surface-strong) 76%, #dff0d9 24%) !important;
}
.theater-debug-button {
  opacity: 0.86;
}
@media (max-width: 430px) {
  .theater-type-grid {
    grid-template-columns: 1fr;
  } }
@media (max-width: 430px) {

  .theater-view-toggle {
    order: 2;
    flex: 1 1 auto;
    justify-content: center;
  } }
.theater-session-card small,
.theater-mode-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 76%, var(--skin-accent, #4d7cff) 24%);
  color: var(--skin-text, #2c241d);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.theater-mode-badge.long {
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 68%, #7f63ff 32%);
}
.theater-session-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  width: 100%;
}
.theater-session-actions button {
  min-height: 34px;
  border: 0;
  border-radius: 10px;
  background: var(--skin-button, #171b22);
  color: var(--skin-button-text, #fff);
  font-size: 12px;
  font-weight: 900;
}
.theater-state-overlay {
  position: fixed;
  inset: 0;
  z-index: 10030;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 10px max(10px, env(safe-area-inset-bottom));
  background: rgba(20, 22, 26, 0.38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.theater-state-panel {
  width: min(720px, 100%);
  max-height: min(86vh, 760px);
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 18px 18px 14px 14px;
  background: var(--skin-surface, #fffdf7);
  color: var(--skin-text, #2c241d);
  box-shadow: var(--skin-shadow-float, 0 24px 80px rgba(0, 0, 0, 0.24));
  padding: 14px;
}
.theater-state-panel header,
.theater-state-panel footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.theater-state-panel header h2 {
  margin: 0;
  font-size: 18px;
}
.theater-state-panel header small {
  display: block;
  margin-top: 3px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;
}
.theater-state-panel header button,
.theater-state-panel footer button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: var(--skin-button, #171b22);
  color: var(--skin-button-text, #fff);
  font-weight: 900;
}
.theater-state-panel footer {
  flex-wrap: wrap;
}
.theater-state-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.theater-state-grid div,
.theater-state-detail {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 12px;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 82%, #fff 18%);
}
.theater-state-grid strong,
.theater-state-detail summary {
  font-size: 13px;
  font-weight: 900;
}
.theater-state-grid p,
.theater-state-detail pre {
  margin: 6px 0 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;
}
.theater-state-editor textarea {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}
.theater-line.dialogue-mode {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  padding: 0;
}
.theater-line.dialogue-mode .date-speaker-head {
  padding: 0 4px;
}
.theater-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: auto;
  padding: 12px;
  border-radius: 12px;
  background: #ededed;
}
.theater-chat-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.theater-chat-stack {
  display: grid;
  justify-items: start;
  gap: 4px;
  max-width: min(72%, 520px);
  min-width: 0;
}
.theater-chat-row.user .theater-chat-stack {
  justify-items: end;
}
.theater-sticker-card {
  margin: -2px 0 0;
  width: auto !important;
  max-width: min(120px, 32vw) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
  line-height: 0;
}
.theater-sticker-card img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(120px, 32vw) !important;
  max-height: 120px !important;
  object-fit: contain !important;
  border-radius: 12px;
  background: transparent !important;
}
.theater-chat-row.user .theater-sticker-card {
  justify-self: end;
}
.theater-chat-row.user {
  justify-content: flex-end;
}
.theater-chat-row.loading,
.theater-chat-row.error {
  justify-content: flex-start;
}
.theater-chat-row .message-avatar,
.theater-chat-row .avatar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
}
.theater-chat-bubble {
  max-width: 100%;
  padding: 9px 11px;
  border-radius: 6px;
  background: #fff;
  color: #111318;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}
.theater-chat-bubble.user {
  background: #95ec69;
}
.theater-chat-bubble.loading {
  color: #7a6a42;
  background: #fff6dc;
}
.theater-chat-bubble.error {
  color: #9b1c1c;
  background: #ffe2e2;
}
.theater-chat-empty {
  align-self: center;
  max-width: 82%;
  margin: auto 0;
  padding: 8px 12px;
  border-radius: 999px;
  color: #7a7f89;
  background: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.theater-dialogue-bubble {
  display: grid;
  gap: 5px;
  width: fit-content;
  max-width: min(86%, 520px);
  padding: 10px 12px;
  border-radius: 16px;
  border-top-left-radius: 6px;
  border: 1px solid rgba(185, 133, 47, 0.22);
  background: rgba(255, 250, 236, 0.88);
  color: #4b3820;
  box-shadow: 0 8px 22px rgba(67, 48, 24, 0.07);
}
.theater-dialogue-bubble.user {
  justify-self: end;
  border-top-left-radius: 16px;
  border-top-right-radius: 6px;
  background: rgba(198, 239, 211, 0.88);
}
.theater-dialogue-bubble strong {
  margin: 0;
  color: #8a5a12;
}
.theater-dialogue-bubble p {
  margin: 0;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}
.theater-chat-stack > .longform-inline-more {
  justify-self: end;
  min-height: 24px;
  margin-bottom: -2px;
}
.bubble,
.date-line,
.theater-dialogue-bubble,
.message-action-menu,
.forward-picker-sheet,
.image-preview-frame {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}
.bubble.user,
.theater-dialogue-bubble.user {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.bubble,
.date-line,
.theater-dialogue-bubble,
.chat-image-card {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}
.bubble.assistant,
.date-line,
.theater-dialogue-bubble.assistant {
  background: var(--surface-strong) !important;
  color: var(--skin-text) !important;
}
.bubble.user,
.theater-dialogue-bubble.user {
  color: #fffaf0 !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
}
button,
.secondary-button,
.danger-button,
.file-button,
.panel button,
.settings-back,
.back-button,
.wechat-top-icon,
.world-actions button,
.button-row button,
.form-action-grid button,
.date-composer button,
.theater-view-toggle button {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-sm) !important;
  font-size: var(--skin-control-font) !important;
  font-weight: 800 !important;
}
.secondary-button,
.file-button,
.settings-back,
.back-button,
.wechat-top-icon,
.theater-view-toggle button {
  color: var(--skin-title) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  box-shadow: var(--skin-shadow-soft) !important;
}
.app-body.date-mode .date-app.theater-app {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}
.app-body.date-mode .theater-chat-messages {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  padding-bottom: calc(132px + var(--safe-bottom)) !important;
}
.date-app.theater-app {
  position: relative !important;
}
.theater-jump-extra-prompt {
  position: absolute !important;
  right: 14px !important;
  bottom: calc(86px + var(--safe-bottom)) !important;
  z-index: 45 !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(70, 90, 60, 0.88) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.theater-jump-extra-prompt:active {
  transform: scale(0.96) !important;
}
body:has(.theater-chat-messages) .inspiration-float-button {
  bottom: calc(146px + var(--safe-bottom)) !important;
}
.theater-extra-prompt-highlight {
  animation: theaterExtraPromptFlash 1.4s ease;
}
.theater-toolbar {
  position: relative;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0;
  width: 100%;
}
.theater-toolbar-back {
  flex: 0 0 auto;
  max-width: 108px;
  min-height: 34px !important;
  padding: 0 10px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theater-toolbar-center {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  overflow: hidden;
}
.theater-toolbar-center .theater-mode-badge {
  flex: 0 1 auto;
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.theater-toolbar-center .theater-view-toggle {
  flex: 0 0 auto;
  min-width: 0;
  white-space: nowrap;
}
.theater-toolbar-center .theater-view-toggle button {
  min-height: 30px !important;
  padding: 0 9px !important;
}
.theater-more-button {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  height: 34px;
  border-radius: 999px;
  color: var(--skin-title, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 86%, transparent);
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  font-weight: 900;
  line-height: 1;
}
.theater-more-menu {
  display: none;
  position: absolute;
  top: 58px;
  right: 14px;
  z-index: 40;
  min-width: 148px;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 96%, transparent);
  box-shadow: var(--skin-shadow-float, 0 16px 38px rgba(0, 0, 0, 0.18));
}
.theater-more-menu.open {
  display: grid;
  gap: 6px;
}
.theater-more-menu button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  color: var(--skin-title, #2c241d);
  background: color-mix(in srgb, var(--phone-bg, #f7efe1) 70%, transparent);
  text-align: left;
  font-weight: 900;
}
.theater-state-inline {
  min-width: 68px;
  border: 1px solid rgba(148, 163, 184, .28);
  background: rgba(255, 255, 255, .72);
  color: var(--text);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}
.theater-toolbar-spacer { width: 68px; flex: 0 0 68px; }
@media (max-width: 430px) {
  .date-tool-row.theater-toolbar {
    flex-wrap: nowrap !important;
  } }
@media (max-width: 430px) {

  .theater-toolbar-back {
    max-width: 96px;
  } }
@media (max-width: 430px) {

  .theater-toolbar-center .theater-mode-badge {
    max-width: 76px;
  } }
:root[data-ui-mode="dark"] .icon-editor-row,
:root[data-ui-mode="dark"] .font-row,
:root[data-ui-mode="dark"] .theater-type-card,
:root[data-ui-mode="dark"] .theater-session-card,
:root[data-ui-mode="dark"] .date-person-card {
  background: color-mix(in srgb, var(--phone-bg) 76%, #fff 6%) !important;
  border-color: color-mix(in srgb, var(--skin-border) 88%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .icon-editor-row strong,
:root[data-ui-mode="dark"] .font-row span,
:root[data-ui-mode="dark"] .theater-type-card strong,
:root[data-ui-mode="dark"] .theater-session-card strong,
:root[data-ui-mode="dark"] .date-person-card strong,
:root[data-ui-mode="dark"] .inspiration-panel h2,
:root[data-ui-mode="dark"] .inspiration-option strong,
:root[data-ui-mode="dark"] .inspiration-option span {
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .theater-type-card span,
:root[data-ui-mode="dark"] .theater-session-card small,
:root[data-ui-mode="dark"] .date-person-card span,
:root[data-ui-mode="dark"] .inspiration-panel header small {
  color: rgba(237, 237, 239, 0.76) !important;
}
body.theme-apple .app-screen,
body.theme-apple .app-body,
body.theme-apple .notes-app,
body.theme-apple .date-app,
body.theme-apple .date-picker-app,
body.theme-apple .chat-layout,
body.theme-apple .settings-app,
body.theme-apple .theater-app,
body.theme-apple .radio-app-v2,
body.theme-apple .moss-album-app {
  color: var(--skin-text) !important;
  background-color: var(--phone-bg) !important;
  background-image: none !important;
}
body.theme-apple .back-button,
body.theme-apple .wechat-top-icon,
body.theme-apple .ghost-button,
body.theme-apple .tiny-button,
body.theme-apple .settings-back,
body.theme-apple .date-object-back,
body.theme-apple .theater-flow-back {
  color: #466f9f !important;
  background: rgba(255, 255, 255, 0.58) !important;
  border: 1px solid rgba(110, 118, 130, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.68), 0 8px 20px rgba(74, 87, 110, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
}
body.theme-apple :where(
  .widget,
  .home-status-card,
  .notes-widget-tile,
  .auto-status-panel,
  .dock,
  .panel,
  .chat-header,
  .preset-card,
  .preset-detail-item,
  .persona-card,
  .tavern-helper-grid div,
  .date-line,
  .date-hero,
  .date-preset-state,
  .date-generation-status,
  .date-person-card,
  .date-composer,
  .theater-type-card,
  .theater-session-card,
  .theater-state-panel,
  .theater-state-grid div,
  .theater-state-detail,
  .context-debug-panel,
  .context-debug-grid div,
  .context-debug-entry,
  .forum-post,
  .forum-comments,
  .forum-share-card,
  .location-card,
  .forwarded-chat-card,
  .forward-picker-sheet,
  .forward-picker-char,
  .profile-menu,
  .profile-card,
  .chat-image-card,
  .mind-panel,
  .mind-panel p,
  .mind-history-list article,
  .multi-select-bar,
  .message-action-menu,
  .favorite-type-tabs,
  .theater-view-toggle,
  .appearance-row-wide,
  .icon-editor-row,
  .check-pill,
  .world-card,
  .memory-card,
  .diary-card,
  .gallery-card,
  .settings-row
) {
  color: var(--skin-text) !important;
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  box-shadow: var(--skin-shadow) !important;
  backdrop-filter: blur(24px) saturate(1.16) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.16) !important;
}
body.theme-apple :where(.panel, .forward-picker-sheet, .context-debug-panel, .theater-state-panel, .mind-panel) {
  background: var(--surface-strong) !important;
}
body.theme-apple :where(
  #savePersonaButton,
  #saveSettingsButton,
  #saveWorldBookButton,
  .secondary-button,
  .file-button,
  .mini-toggle-button,
  .chat-settings-button,
  .forward-picker-confirm,
  .theater-session-actions button,
  .theater-state-panel header button,
  .theater-state-panel footer button,
  .context-debug-panel > header button,
  .context-debug-inline,
  .context-debug-button,
  .theme-swatch
) {
  color: #365f8d !important;
  background: rgba(225, 235, 247, 0.78) !important;
  border: 1px solid rgba(110, 118, 130, 0.13) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.72), 0 8px 18px rgba(74, 87, 110, 0.08) !important;
}
body.theme-apple .composer-send,
body.theme-apple .date-char-strip button.active,
body.theme-apple .theater-view-toggle button.active,
body.theme-apple .favorite-type-tabs button.active,
body.theme-apple .preset-card.active,
body.theme-apple .message-select-box.checked {
  color: #ffffff !important;
  background: #7da1cb !important;
  border-color: rgba(87, 124, 166, 0.22) !important;
  box-shadow: 0 8px 18px rgba(93, 130, 172, 0.18) !important;
}
body.theme-apple .date-char-strip button,
body.theme-apple .theater-view-toggle button,
body.theme-apple .favorite-type-tabs button,
body.theme-apple .multi-select-bar button,
body.theme-apple .message-action-menu button,
body.theme-apple .mind-panel header button,
body.theme-apple .forward-picker-sheet header button {
  color: var(--skin-text) !important;
  background: rgba(255, 255, 255, 0.64) !important;
  border: 1px solid rgba(110, 118, 130, 0.11) !important;
  box-shadow: none !important;
}
html[data-ui-mode="dark"] body.theme-apple .back-button,
html[data-ui-mode="dark"] body.theme-apple .wechat-top-icon,
html[data-ui-mode="dark"] body.theme-apple .ghost-button,
html[data-ui-mode="dark"] body.theme-apple .tiny-button,
html[data-ui-mode="dark"] body.theme-apple .settings-back,
html[data-ui-mode="dark"] body.theme-apple .date-object-back,
html[data-ui-mode="dark"] body.theme-apple .theater-flow-back {
  color: var(--skin-button-text) !important;
  background: rgba(40, 42, 50, 0.68) !important;
  border-color: var(--skin-border) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 8px 20px rgba(0, 0, 0, 0.20) !important;
}
html[data-ui-mode="dark"] body.theme-apple :where(
  .widget,
  .home-status-card,
  .notes-widget-tile,
  .auto-status-panel,
  .dock,
  .panel,
  .chat-header,
  .preset-card,
  .preset-detail-item,
  .persona-card,
  .tavern-helper-grid div,
  .date-line,
  .date-hero,
  .date-preset-state,
  .date-generation-status,
  .date-person-card,
  .date-composer,
  .theater-type-card,
  .theater-session-card,
  .theater-state-panel,
  .theater-state-grid div,
  .theater-state-detail,
  .context-debug-panel,
  .context-debug-grid div,
  .context-debug-entry,
  .forum-post,
  .forum-comments,
  .forum-share-card,
  .location-card,
  .forwarded-chat-card,
  .forward-picker-sheet,
  .forward-picker-char,
  .profile-menu,
  .profile-card,
  .chat-image-card,
  .mind-panel,
  .mind-panel p,
  .mind-history-list article,
  .multi-select-bar,
  .message-action-menu,
  .favorite-type-tabs,
  .theater-view-toggle,
  .appearance-row-wide,
  .icon-editor-row,
  .check-pill,
  .world-card,
  .memory-card,
  .diary-card,
  .gallery-card,
  .settings-row
) {
  color: var(--skin-text) !important;
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  box-shadow: var(--skin-shadow) !important;
}
html[data-ui-mode="dark"] body.theme-apple :where(.panel, .forward-picker-sheet, .context-debug-panel, .theater-state-panel, .mind-panel) {
  background: var(--surface-strong) !important;
}
html[data-ui-mode="dark"] body.theme-apple :where(
  #savePersonaButton,
  #saveSettingsButton,
  #saveWorldBookButton,
  .secondary-button,
  .file-button,
  .mini-toggle-button,
  .chat-settings-button,
  .forward-picker-confirm,
  .theater-session-actions button,
  .theater-state-panel header button,
  .theater-state-panel footer button,
  .context-debug-panel > header button,
  .context-debug-inline,
  .context-debug-button,
  .theme-swatch
) {
  color: var(--skin-button-text) !important;
  background: var(--skin-button) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}
html[data-ui-mode="dark"] body.theme-apple .composer-send,
html[data-ui-mode="dark"] body.theme-apple .date-char-strip button.active,
html[data-ui-mode="dark"] body.theme-apple .theater-view-toggle button.active,
html[data-ui-mode="dark"] body.theme-apple .favorite-type-tabs button.active,
html[data-ui-mode="dark"] body.theme-apple .preset-card.active,
html[data-ui-mode="dark"] body.theme-apple .message-select-box.checked {
  color: #f3f7ff !important;
  background: rgba(95, 124, 162, 0.82) !important;
  border-color: rgba(166, 198, 235, 0.18) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important;
}
html[data-ui-mode="dark"] body.theme-apple .date-char-strip button,
html[data-ui-mode="dark"] body.theme-apple .theater-view-toggle button,
html[data-ui-mode="dark"] body.theme-apple .favorite-type-tabs button,
html[data-ui-mode="dark"] body.theme-apple .multi-select-bar button,
html[data-ui-mode="dark"] body.theme-apple .message-action-menu button,
html[data-ui-mode="dark"] body.theme-apple .mind-panel header button,
html[data-ui-mode="dark"] body.theme-apple .forward-picker-sheet header button {
  color: var(--skin-text) !important;
  background: rgba(44, 47, 56, 0.64) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: none !important;
}
body.theme-apple,
body.theme-apple .phone,
body.theme-apple .screen,
body.theme-apple .home-screen,
body.theme-apple .app-screen,
body.theme-apple .app-body,
body.theme-apple .chat-layout,
body.theme-apple .date-app,
body.theme-apple .date-picker-app,
body.theme-apple .date-messages,
body.theme-apple .theater-app,
body.theme-apple .wechat-shell {
  background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
body.theme-apple .app-body.date-mode,
body.theme-apple .app-body.date-mode .date-app,
body.theme-apple .app-body.date-mode .date-picker-app,
body.theme-apple .app-body.date-mode .date-messages,
body.theme-apple .app-body.date-mode .theater-app,
body.theme-apple .app-body.date-mode .theater-chat-messages {
  background: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode,
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode .date-app,
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode .date-picker-app,
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode .date-messages,
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode .theater-app,
html[data-ui-mode="dark"] body.theme-apple .app-body.date-mode .theater-chat-messages {
  background: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
body.keyboard-open .app-body.date-mode .date-messages,
body.keyboard-open .app-body.date-mode .theater-chat-messages {
  padding-bottom: calc(148px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(148px + var(--safe-bottom)) !important;
}
.theater-home-app,
.fanfic-picker-app,
.theater-fanfic-app {
  min-height: 100%;
  padding-bottom: calc(18px + var(--safe-bottom));
}
.theater-home-hero,
.fanfic-head,
.theater-select-head {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(117, 91, 168, 0.16);
  background:
    radial-gradient(circle at 12% 0%, rgba(152, 126, 255, 0.22), transparent 36%),
    radial-gradient(circle at 86% 12%, rgba(113, 176, 128, 0.22), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(246,240,255,.82));
  box-shadow: 0 18px 42px rgba(46, 36, 72, 0.10);
}
.theater-home-hero h2,
.fanfic-head h2,
.theater-select-head h2 {
  margin: 0;
  font-size: 25px;
  letter-spacing: .04em;
}
.theater-hero-orbit {
  position: absolute;
  right: 16px;
  top: 14px;
  width: 68px;
  height: 68px;
  border-radius: 999px;
  border: 1px solid rgba(126, 94, 180, .16);
  background: rgba(255,255,255,.42);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.theater-hero-orbit span { position: absolute; color: rgba(91, 65, 132, .72); font-weight: 900; }
.theater-hero-orbit span:nth-child(1) { left: 12px; top: 10px; }
.theater-hero-orbit span:nth-child(2) { right: 13px; top: 25px; }
.theater-hero-orbit span:nth-child(3) { left: 26px; bottom: 9px; }
.theater-mode-entry-grid {
  grid-template-columns: 1fr;
}
.theater-entry-card {
  min-height: 150px;
  position: relative;
  overflow: hidden;
  padding: 18px 18px 16px;
  align-content: end;
}
.theater-entry-card i {
  position: absolute;
  top: 16px;
  left: 18px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
  font-style: normal;
  font-size: 22px;
  box-shadow: 0 10px 24px rgba(30,36,44,.08);
}
.theater-entry-card.free {
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 213, 139, .34), transparent 34%),
    linear-gradient(145deg, rgba(255, 251, 239, .94), rgba(238, 246, 232, .84));
}
.theater-entry-card.fanfic {
  background:
    radial-gradient(circle at 18% 14%, rgba(230, 122, 152, .24), transparent 34%),
    linear-gradient(145deg, rgba(255, 247, 251, .96), rgba(247, 241, 231, .86));
}
.theater-mini-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  color: var(--skin-muted, #7a6a58);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.theater-fanfic-app {
  display: grid;
  gap: 12px;
  overflow: auto;
}
.theater-fanfic-hero,
.theater-fanfic-card,
.theater-empty-pretty {
  border: 1px solid rgba(154, 108, 129, .14);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 0%, rgba(222, 142, 170, .18), transparent 36%),
    rgba(255,255,255,.84);
  box-shadow: 0 14px 34px rgba(64, 48, 64, .08);
}
.theater-fanfic-hero {
  padding: 14px;
}
.theater-fanfic-hero > div {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.theater-fanfic-hero h2 { margin: 0 0 4px; font-size: 20px; }
.theater-fanfic-hero p { margin: 0; color: var(--skin-muted, #7b6b5a); font-size: 12px; }
.theater-fanfic-card { padding: 12px; }
.fanfic-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.fanfic-control-grid label,
.theater-fanfic-controls textarea {
  display: grid;
  gap: 5px;
}
.fanfic-control-grid span {
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 900;
}
.fanfic-control-grid select,
.theater-fanfic-controls textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  color: var(--skin-text, #2c241d);
  padding: 9px;
  font-weight: 800;
}
.theater-fanfic-controls textarea {
  margin-top: 8px;
  resize: none;
  line-height: 1.45;
}
.fanfic-generate-button {
  width: 100%;
  min-height: 42px;
  margin-top: 8px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #2d2538, #78618e);
  color: #fff;
  font-weight: 900;
}
.fanfic-status {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  font-size: 12px;
  font-weight: 800;
}
.theater-fanfic-list { display: grid; gap: 10px; }
.fanfic-draft-card header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}
.fanfic-draft-card header small {
  display: block;
  margin-top: 3px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
}
.fanfic-draft-card header button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(45,37,56,.88);
  color: #fff;
  font-weight: 900;
}
.fanfic-chapter-content {
  max-height: 360px;
  overflow: auto;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.56);
}
.theater-empty-pretty {
  display: grid;
  gap: 4px;
  padding: 18px;
  text-align: center;
  color: var(--skin-muted, #7b6b5a);
}
.theater-empty-pretty strong { color: var(--skin-text, #2c241d); }
@media (max-width: 430px) {
  .fanfic-control-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 430px) {.theater-mini-chip { display: none; } }
.theater-entry-card {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 76px 18px 16px !important;
}
.theater-entry-card i { z-index: 1; }
.theater-entry-card strong,
.theater-entry-card span {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.theater-entry-card strong {
  color: var(--skin-text, #2c241d) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}
.theater-entry-card span {
  color: rgba(49, 45, 64, .72) !important;
  line-height: 1.55 !important;
}
.theater-session-grid { grid-template-columns: 1fr !important; }
.theater-fanfic-controls {
  display: grid;
  gap: 10px;
}
.fanfic-controls-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.fanfic-controls-head strong {
  display: block;
  color: var(--skin-text, #2c241d);
  font-size: 15px;
}
.fanfic-controls-head span {
  display: block;
  margin-top: 3px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 850;
}
.fanfic-controls-head button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(45, 37, 56, .88);
  color: #fff;
  font-weight: 900;
}
.theater-fanfic-controls.collapsed {
  padding: 10px 12px;
  border-radius: 18px;
}
.fanfic-controls-body[hidden] {
  display: none !important;
}
.fanfic-controls-body {
  display: grid;
  gap: 8px;
}
.theater-fanfic-app .theater-fanfic-list {
  min-height: 0;
}
.app-body.date-mode .theater-fanfic-app {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  gap: 8px !important;
  overflow: hidden !important;
  padding: 10px 12px calc(12px + var(--safe-bottom)) !important;
}
.theater-fanfic-hero {
  min-height: 58px !important;
  padding: 8px 10px !important;
  border-radius: 18px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.theater-fanfic-hero > div {
  min-width: 0 !important;
  margin-top: 0 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  align-items: center !important;
}
.theater-fanfic-hero .theater-flow-back {
  justify-self: start !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}
.theater-fanfic-hero .date-person-avatar {
  grid-row: 1 / span 2 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
}
.theater-fanfic-hero h2 {
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.theater-fanfic-hero p {
  min-width: 0 !important;
  margin: 2px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.theater-fanfic-controls.collapsed,
.theater-fanfic-card.theater-fanfic-controls.collapsed {
  min-height: 54px !important;
  padding: 8px 10px !important;
  border-radius: 18px !important;
}
.theater-fanfic-controls:not(.collapsed) {
  padding: 10px !important;
  border-radius: 18px !important;
}
.theater-fanfic-controls .fanfic-controls-head {
  min-height: 38px !important;
}
.fanfic-controls-head strong {
  font-size: 14px !important;
  line-height: 1.15 !important;
}
.fanfic-controls-head span {
  margin-top: 2px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.fanfic-controls-head button {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 13px !important;
}
.theater-fanfic-app .theater-fanfic-list {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
}
.theater-fanfic-list .theater-empty-pretty {
  min-height: 180px !important;
  padding: 18px 14px !important;
  border-radius: 20px !important;
  align-content: center !important;
}
.theater-fanfic-list .fanfic-draft-card {
  min-height: min(520px, calc(100dvh - 310px)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  padding: 10px !important;
  border-radius: 20px !important;
}
.theater-fanfic-list .fanfic-draft-card header {
  margin-bottom: 6px !important;
}
.fanfic-chapter-content {
  max-height: none !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 12px !important;
  border-radius: 14px !important;
}
@media (max-width: 430px) {
  .app-body.date-mode .theater-fanfic-app { padding-left: 10px !important; padding-right: 10px !important; } }
@media (max-width: 430px) {
  .theater-fanfic-hero { grid-template-columns: auto minmax(0, 1fr) !important; } }
@media (max-width: 430px) {
  .theater-fanfic-hero > div { grid-template-columns: 38px minmax(0, 1fr) !important; } }
@media (max-width: 430px) {
  .theater-fanfic-hero .date-person-avatar { width: 38px !important; height: 38px !important; border-radius: 11px !important; } }
@media (max-width: 430px) {
  .theater-fanfic-hero h2 { font-size: 16px !important; } }
.fanfic-control-grid-basic {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fanfic-tag-panel {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(154, 108, 129, .12);
  border-radius: 18px;
  background: rgba(255,255,255,.46);
}
.fanfic-tag-panel-title,
.fanfic-tag-group header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.fanfic-tag-panel-title strong,
.fanfic-tag-group header strong {
  display: block;
  color: var(--skin-text, #2c241d);
  font-size: 13px;
  font-weight: 950;
}
.fanfic-tag-panel-title small,
.fanfic-tag-group header span {
  display: block;
  margin-top: 2px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}
.fanfic-tag-panel-title button,
.fanfic-tag-group header button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  background: rgba(45,37,56,.08);
  color: var(--skin-muted, #7b6b5a);
  min-height: 26px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 900;
}
.fanfic-tag-group {
  display: grid;
  gap: 7px;
  padding-top: 8px;
  border-top: 1px dashed rgba(154, 108, 129, .16);
}
.fanfic-tag-row {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}
.fanfic-tag-chip {
  flex: 0 0 auto;
  min-height: 30px;
  border: 1px solid rgba(78, 61, 84, .11);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: var(--skin-text, #2c241d);
  padding: 0 11px;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 6px 14px rgba(64,48,64,.04);
}
.fanfic-tag-chip.active {
  border-color: rgba(80, 60, 96, .38);
  background: linear-gradient(135deg, rgba(45,37,56,.92), rgba(120,97,142,.88));
  color: #fff;
  box-shadow: 0 8px 18px rgba(80,60,96,.18);
}
.fanfic-custom-tag-field {
  display: grid;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px dashed rgba(154, 108, 129, .16);
}
.fanfic-custom-tag-field span {
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 900;
}
.fanfic-custom-tag-field input {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  color: var(--skin-text, #2c241d);
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 800;
}
.theater-fanfic-controls.collapsed .fanfic-controls-head span {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 430px) {
  .fanfic-tag-panel { padding: 9px; gap: 9px; } }
@media (max-width: 430px) {
  .fanfic-tag-chip { min-height: 29px; padding: 0 10px; font-size: 11px; } }
@media (max-width: 430px) {
  .fanfic-control-grid-basic { grid-template-columns: 1fr 1fr; } }
.app-body.date-mode .theater-fanfic-app {
  min-height: 0 !important;
  overflow: hidden !important;
}
.theater-fanfic-controls:not(.collapsed),
.theater-fanfic-card.theater-fanfic-controls:not(.collapsed) {
  min-height: 0 !important;
  max-height: min(76dvh, 680px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}
.theater-fanfic-controls:not(.collapsed) .fanfic-controls-body {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  padding: 0 2px 4px 0 !important;
  overscroll-behavior: contain !important;
}
.fanfic-tag-panel {
  min-height: 0 !important;
  overflow: visible !important;
}
.fanfic-tag-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border-radius: 15px;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(154, 108, 129, .10);
}
.fanfic-tag-search {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.fanfic-tag-search span {
  color: var(--skin-muted, #7b6b5a);
  font-size: 10.5px;
  font-weight: 950;
}
.fanfic-tag-search input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 13px;
  background: rgba(255,255,255,.82);
  color: var(--skin-text, #2c241d);
  padding: 8px 10px;
  font-size: 12.5px;
  font-weight: 850;
}
.fanfic-tag-tools small {
  white-space: nowrap;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 900;
  padding-bottom: 9px;
}
.fanfic-tag-row {
  flex-wrap: wrap !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}
.fanfic-tag-chip {
  max-width: 100%;
  white-space: nowrap;
}
.fanfic-tag-chip[hidden],
.fanfic-tag-group[hidden] {
  display: none !important;
}
.fanfic-tag-group {
  scroll-margin-top: 8px;
}
.fanfic-tag-group header {
  position: sticky;
  top: -1px;
  z-index: 1;
  padding: 3px 0 5px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
@media (max-width: 430px) {
  .theater-fanfic-controls:not(.collapsed),
  .theater-fanfic-card.theater-fanfic-controls:not(.collapsed) {
    max-height: min(78dvh, calc(100dvh - 132px)) !important;
  } }
@media (max-width: 430px) {
  .fanfic-tag-tools {
    grid-template-columns: 1fr;
    align-items: stretch;
  } }
@media (max-width: 430px) {
  .fanfic-tag-tools small {
    padding-bottom: 0;
  } }
@media (max-width: 430px) {
  .fanfic-tag-row {
    gap: 6px !important;
  } }
@media (max-width: 430px) {
  .fanfic-tag-chip {
    min-height: 28px !important;
    padding: 0 9px !important;
    font-size: 11px !important;
  } }
.theater-fanfic-controls:not(.collapsed),
.theater-fanfic-card.theater-fanfic-controls:not(.collapsed) {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.theater-fanfic-controls:not(.collapsed) .fanfic-controls-body {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, auto) auto !important;
  gap: 10px !important;
  align-content: start !important;
  padding-right: 2px !important;
}
.fanfic-tag-panel {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 0 !important;
}
.fanfic-generate-footer {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  gap: 9px !important;
  margin-top: 2px !important;
  padding: 10px !important;
  border: 1px solid rgba(154, 108, 129, .13) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,250,242,.72)) !important;
  box-shadow: 0 -6px 22px rgba(64, 48, 64, .05) !important;
  clear: both !important;
}
.fanfic-brief-field {
  display: grid !important;
  gap: 6px !important;
}
.fanfic-brief-field span,
.fanfic-generate-footer > small {
  color: var(--skin-muted, #7b6b5a) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
}
.fanfic-generate-footer > small {
  opacity: .82 !important;
  text-align: center !important;
}
.fanfic-brief-field textarea,
.theater-fanfic-controls .fanfic-brief-field textarea {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: 76px !important;
  margin: 0 !important;
  resize: vertical !important;
  border: 1px solid rgba(0,0,0,.07) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.88) !important;
  color: var(--skin-text, #2c241d) !important;
  padding: 10px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}
.fanfic-generate-footer .fanfic-custom-tag-field {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.fanfic-generate-footer .fanfic-generate-button {
  margin-top: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}
.theater-fanfic-controls.generating .fanfic-controls-head strong::after {
  content: " · 生成中";
  color: color-mix(in srgb, var(--skin-accent, #b58a55) 78%, #2d2538);
}
.theater-fanfic-controls.generating .fanfic-status,
.fanfic-status:not([hidden]) {
  display: block !important;
  margin-top: 8px !important;
  border: 1px solid rgba(154, 108, 129, .12) !important;
  background: rgba(255,255,255,.72) !important;
}
.fanfic-generate-button:disabled,
.fanfic-draft-card header button:disabled {
  opacity: .62 !important;
  filter: grayscale(.18) !important;
}
@media (max-width: 430px) {
  .theater-fanfic-controls:not(.collapsed),
  .theater-fanfic-card.theater-fanfic-controls:not(.collapsed) {
    max-height: min(80dvh, calc(100dvh - 122px)) !important;
  } }
@media (max-width: 430px) {
  .fanfic-generate-footer {
    padding: 9px !important;
    border-radius: 16px !important;
  } }
@media (max-width: 430px) {
  .fanfic-brief-field textarea,
  .theater-fanfic-controls .fanfic-brief-field textarea {
    min-height: 72px !important;
    font-size: 12px !important;
  } }
.theater-fanfic-controls:not(.collapsed),
.theater-fanfic-card.theater-fanfic-controls:not(.collapsed) {
  display: flex !important;
  flex-direction: column !important;
  max-height: min(80dvh, calc(100dvh - 122px)) !important;
  overflow: hidden !important;
}
.theater-fanfic-controls:not(.collapsed) > .fanfic-controls-head,
.theater-fanfic-controls:not(.collapsed) > .fanfic-status {
  flex: 0 0 auto !important;
}
.theater-fanfic-controls:not(.collapsed) .fanfic-controls-body {
  display: block !important;            /* 关键：取消错位的 grid，恢复自然竖向堆叠 */
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  padding: 0 2px 4px 0 !important;
}
.theater-fanfic-controls:not(.collapsed) .fanfic-controls-body > * {
  margin: 0 0 10px !important;
}
.theater-fanfic-controls:not(.collapsed) .fanfic-controls-body > *:last-child {
  margin-bottom: 0 !important;
}
.fanfic-tag-panel {
  position: static !important;
  z-index: auto !important;
  overflow: visible !important;
}
.fanfic-tag-group header {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.fanfic-generate-footer {
  position: static !important;          /* 之前 relative+z-index 造成浮层重叠 */
  z-index: auto !important;
  margin: 8px 0 0 !important;
  box-shadow: none !important;
}
.fanfic-saves-bar{padding:12px 14px}
.fanfic-saves-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.fanfic-saves-head strong{font-size:13px;font-weight:900;color:var(--skin-text,#344054)}
.fanfic-saves-head small{font-size:11px;color:color-mix(in srgb,var(--skin-text,#344054) 55%,transparent)}
.fanfic-saves-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fanfic-save-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--skin-border,rgba(0,0,0,.12)) 80%,transparent);background:color-mix(in srgb,var(--surface-strong,#fff) 70%,transparent);color:var(--skin-text,#344054);font-size:12px;font-weight:800;white-space:nowrap}
.fanfic-save-chip.active{border-color:color-mix(in srgb,var(--skin-accent,#b17a36) 55%,transparent);background:color-mix(in srgb,var(--skin-accent,#b17a36) 14%,var(--surface-strong,#fff));color:var(--skin-accent,#b17a36)}
.fanfic-save-del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;font-style:normal;font-size:10px;line-height:1;background:color-mix(in srgb,var(--skin-accent,#b17a36) 22%,transparent);color:var(--skin-accent,#b17a36)}
.fanfic-save-new{min-height:30px;padding:0 12px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--skin-border,rgba(0,0,0,.2)) 90%,transparent);background:transparent;color:color-mix(in srgb,var(--skin-text,#344054) 70%,transparent);font-size:12px;font-weight:800;white-space:nowrap}
.app-body.date-mode .theater-fanfic-app.fanfic-library-app {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto auto minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: hidden !important;
  padding: 10px 11px calc(11px + var(--safe-bottom)) !important;
  background:
    radial-gradient(circle at 96% 2%, rgba(111, 139, 119, .12), transparent 29%),
    radial-gradient(circle at 8% 30%, rgba(151, 130, 171, .09), transparent 30%),
    var(--phone-bg, #f4f6fa) !important;
}
.fanfic-library-hero {
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 72%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 84%, transparent) !important;
  box-shadow: 0 9px 24px rgba(45, 57, 50, .07) !important;
}
.fanfic-archive-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 74%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 74%, transparent);
}
.fanfic-archive-label { min-width: 54px; }
.fanfic-archive-label strong,
.fanfic-archive-label small { display: block; }
.fanfic-archive-label strong { color: var(--skin-title, #25302a); font-size: 12px; }
.fanfic-archive-label small { margin-top: 1px; color: var(--skin-muted, #7b8580); font-size: 9px; white-space: nowrap; }
.fanfic-archive-strip .fanfic-saves-row { min-width: 0; padding: 1px 0; }
.fanfic-archive-strip .fanfic-save-chip,
.fanfic-archive-strip .fanfic-save-new {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 86%, transparent);
  color: var(--skin-text, #35423b);
  background: color-mix(in srgb, var(--surface-strong, #fff) 72%, transparent);
  font-size: 10.5px;
  font-weight: 800;
}
.fanfic-archive-strip .fanfic-save-chip.active {
  color: #fff;
  border-color: #5f7968;
  background: #5f7968;
}
.fanfic-library-app .theater-fanfic-controls {
  border-color: color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 78%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 80%, transparent) !important;
  box-shadow: 0 10px 26px rgba(45, 57, 50, .06) !important;
}
.fanfic-library-app .theater-fanfic-controls:not(.collapsed) {
  max-height: min(62vh, 620px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.fanfic-library-app .fanfic-controls-head button,
.fanfic-library-app .fanfic-generate-button {
  color: #fff !important;
  background: #536c5d !important;
  box-shadow: 0 8px 18px rgba(57, 81, 66, .16) !important;
}
.fanfic-library-app .fanfic-tag-panel {
  border-color: rgba(95, 121, 104, .13);
  background: rgba(245, 249, 246, .76);
}
.fanfic-library-app .fanfic-tag-chip.active {
  color: #fff !important;
  border-color: #667f6f !important;
  background: #667f6f !important;
}
.fanfic-library-panel {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}
.fanfic-library-tools { display: grid; gap: 7px; }
.fanfic-filter-row {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.fanfic-filter-row::-webkit-scrollbar { display: none; }
.fanfic-filter-row button {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  color: var(--skin-muted, #748079);
  background: color-mix(in srgb, var(--surface-strong, #fff) 72%, transparent);
  font-size: 10.5px;
  font-weight: 850;
}
.fanfic-filter-row button.active { color: #fff; background: #536c5d; }
.fanfic-library-search {
  min-height: 36px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 76%, transparent);
  border-radius: 13px;
  color: #728079;
  background: color-mix(in srgb, var(--surface-strong, #fff) 80%, transparent);
}
.fanfic-library-search input { width: 100%; border: 0; outline: 0; color: var(--skin-text, #2f3934); background: transparent; font-size: 12px; }
.fanfic-bookshelf {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  overflow-y: auto !important;
  padding: 1px 1px 8px !important;
  overscroll-behavior: contain;
}
.fanfic-book-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(90,105,96,.16)) 78%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 86%, transparent);
  box-shadow: 0 10px 25px rgba(40, 51, 44, .07);
}
.fanfic-book-cover {
  min-width: 0;
  min-height: 156px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  padding: 14px 12px;
  border: 0;
  text-align: left;
  color: #f8faf8;
  background: #587164;
}
.fanfic-book-card.tone-1 .fanfic-book-cover { background: #74677e; }
.fanfic-book-card.tone-2 .fanfic-book-cover { background: #657382; }
.fanfic-book-card.tone-3 .fanfic-book-cover { background: #806a6a; }
.fanfic-book-card.tone-4 .fanfic-book-cover { background: #777157; }
.fanfic-book-cover::after { content: ""; width: 34px; height: 1px; align-self: end; background: rgba(255,255,255,.6); }
.fanfic-book-cover .fanfic-book-kicker { font-size: 9px; font-weight: 800; opacity: .72; }
.fanfic-book-cover strong { align-self: center; font-size: 16px; line-height: 1.35; letter-spacing: 0; word-break: break-word; }
.fanfic-book-cover small { display: none; }
.fanfic-book-info { min-width: 0; display: grid; align-content: start; gap: 7px; padding: 12px 11px 10px; }
.fanfic-book-title-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 6px; }
.fanfic-book-title-row > button:first-child { min-width: 0; padding: 0; border: 0; text-align: left; color: var(--skin-title, #27322c); background: transparent; }
.fanfic-book-title-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.fanfic-favorite-btn { width: 30px; min-width: 30px; height: 30px; padding: 0; border: 0; border-radius: 10px; color: #9aa39e; background: rgba(104, 123, 112, .08); font-size: 18px; }
.fanfic-favorite-btn.active { color: #806a35; background: rgba(181, 152, 79, .13); }
.fanfic-book-info > p { min-height: 49px; margin: 0; overflow: hidden; color: var(--skin-muted, #6e7973); font-size: 11px; line-height: 1.48; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.fanfic-book-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.fanfic-book-meta span { padding: 3px 6px; border-radius: 7px; color: #5c6c62; background: rgba(91, 119, 101, .09); font-size: 9px; font-weight: 780; }
.fanfic-book-actions { display: flex; gap: 5px; margin-top: 1px; }
.fanfic-book-actions button {
  flex: 1 1 0;
  min-height: 30px;
  min-width: 0;
  padding: 0 5px;
  border: 0;
  border-radius: 9px;
  color: var(--skin-text, #35423b);
  background: rgba(90, 111, 98, .09);
  font-size: 9.5px;
  font-weight: 850;
  white-space: nowrap;
}
.fanfic-book-actions button:first-child { color: #fff; background: #5c7465; }
.fanfic-library-empty { min-height: 190px !important; border: 1px dashed rgba(91,119,101,.2); background: rgba(255,255,255,.52); }
.fanfic-reader-app,
.fanfic-manager-app {
  height: 100%;
  min-height: 0;
  display: grid;
  overflow: hidden;
  color: #314037;
  background: #eef3ef;
}
.fanfic-reader-app { grid-template-rows: auto minmax(0, 1fr) auto; }
.fanfic-reader-app.theme-paper { color: #443d34; background: #f2eee6; }
.fanfic-reader-app.theme-night { color: #dce5df; background: #202824; }
.fanfic-reader-top,
.fanfic-reader-footer,
.fanfic-manager-top {
  z-index: 3;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(82, 103, 90, .12);
  background: rgba(250, 252, 250, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.theme-paper .fanfic-reader-top,
.theme-paper .fanfic-reader-footer { background: rgba(249, 246, 239, .9); }
.theme-night .fanfic-reader-top,
.theme-night .fanfic-reader-footer { border-color: rgba(255,255,255,.09); background: rgba(32, 40, 36, .9); }
.fanfic-reader-top > div,
.fanfic-manager-top > div { min-width: 0; text-align: center; }
.fanfic-reader-top strong,
.fanfic-reader-top small,
.fanfic-manager-top strong,
.fanfic-manager-top small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fanfic-reader-top strong,
.fanfic-manager-top strong { font-size: 13px; }
.fanfic-reader-top small,
.fanfic-manager-top small { margin-top: 2px; color: #7a8780; font-size: 9px; }
.fanfic-reader-top button,
.fanfic-manager-top button {
  min-height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 11px;
  color: inherit;
  background: rgba(88, 112, 97, .09);
  font-size: 11px;
  font-weight: 850;
}
.fanfic-reader-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.fanfic-reading-paper { width: min(720px, 100%); min-height: 100%; margin: 0 auto; padding: 34px clamp(20px, 6vw, 54px) 72px; box-sizing: border-box; }
.fanfic-reading-heading { padding-bottom: 24px; text-align: center; }
.fanfic-reading-heading span { color: #728078; font-size: 10px; font-weight: 850; }
.fanfic-reading-heading h1 { margin: 10px 0 8px; color: inherit; font-size: calc(23px * var(--fanfic-font-scale)); font-weight: 760; line-height: 1.35; }
.fanfic-reading-heading small { color: #8f9993; font-size: 9px; }
.fanfic-reading-content { font-size: calc(16px * var(--fanfic-font-scale)); line-height: 2; letter-spacing: 0; }
.fanfic-reading-content :where(p, .date-text-block, .message-content) { margin: 0 0 1.15em; color: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.fanfic-reading-content :where(.date-status-bar, .message-avatar, button) { display: none !important; }
.fanfic-reading-end { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 44px 0 0; color: #8a958f; }
.fanfic-reading-end span { height: 1px; background: currentColor; opacity: .18; }
.fanfic-reading-end small { font-size: 9px; }
.fanfic-reader-footer { grid-template-columns: 1fr auto 1fr; border-top: 1px solid rgba(82,103,90,.12); border-bottom: 0; }
.fanfic-reader-footer > button { min-height: 35px; border: 0; color: inherit; background: transparent; font-size: 11px; font-weight: 850; }
.fanfic-reader-footer > button:last-child { text-align: right; }
.fanfic-reader-footer > button:first-child { text-align: left; }
.fanfic-reader-footer button:disabled { opacity: .28; }
.fanfic-reader-tools { display: flex; gap: 4px; padding: 3px; border-radius: 12px; background: rgba(87,110,96,.08); }
.fanfic-reader-tools button { min-width: 36px; height: 30px; padding: 0; border: 0; border-radius: 9px; color: inherit; background: transparent; font-size: 10px; font-weight: 850; }
.fanfic-manager-app { grid-template-rows: auto auto auto minmax(0, 1fr); padding-bottom: var(--safe-bottom); }
.fanfic-work-summary {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 13px;
  border-bottom: 1px solid rgba(82,103,90,.1);
  background: rgba(255,255,255,.7);
}
.fanfic-work-mark { width: 58px; height: 76px; display: grid; place-items: center; border-radius: 9px 15px 15px 9px; color: #fff; background: #60786a; box-shadow: inset 5px 0 rgba(255,255,255,.12); font-size: 22px; font-weight: 900; }
.fanfic-work-summary > div:last-child { min-width: 0; }
.fanfic-work-title-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: start; }
.fanfic-work-title-line h2 { margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; }
.fanfic-work-summary p { margin: 6px 0 8px; color: #6f7a74; font-size: 10.5px; line-height: 1.5; }
.fanfic-manager-toolbar { display: flex; gap: 6px; padding: 8px 10px; overflow-x: auto; border-bottom: 1px solid rgba(82,103,90,.1); background: rgba(255,255,255,.48); }
.fanfic-manager-toolbar button,
.fanfic-manager-chapter-actions button { flex: 0 0 auto; min-height: 30px; padding: 0 9px; border: 0; border-radius: 9px; color: #435248; background: rgba(87,110,96,.1); font-size: 9.5px; font-weight: 820; }
.fanfic-manager-toolbar button:nth-child(4) { color: #fff; background: #5d7566; }
.fanfic-manager-toolbar button.danger,
.fanfic-manager-chapter-actions button.danger { color: #a04b47; background: rgba(171,75,68,.09); }
.fanfic-manager-list { min-height: 0; overflow-y: auto; padding: 11px; }
.fanfic-manager-list-head { display: flex; align-items: baseline; justify-content: space-between; margin: 0 2px 8px; }
.fanfic-manager-list-head strong { font-size: 13px; }
.fanfic-manager-list-head small { color: #839088; font-size: 9px; }
.fanfic-manager-chapter { display: grid; gap: 7px; margin-bottom: 8px; padding: 10px; border: 1px solid rgba(82,103,90,.12); border-radius: 15px; background: rgba(255,255,255,.75); }
.fanfic-manager-chapter-main { min-width: 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 9px; padding: 0; border: 0; text-align: left; color: #334038; background: transparent; }
.fanfic-manager-chapter-main > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #587063; background: rgba(88,112,99,.1); font-size: 10px; font-weight: 900; }
.fanfic-manager-chapter-main > div { min-width: 0; }
.fanfic-manager-chapter-main strong,
.fanfic-manager-chapter-main small { display: block; }
.fanfic-manager-chapter-main strong { font-size: 12px; }
.fanfic-manager-chapter-main small { margin-top: 2px; color: #87918c; font-size: 8.5px; }
.fanfic-manager-chapter-main p { margin: 5px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #6e7973; font-size: 9.5px; }
.fanfic-manager-chapter-actions { display: flex; justify-content: flex-end; gap: 5px; overflow-x: auto; }
.fanfic-manager-chapter-actions button:disabled { opacity: .32; }
html[data-ui-mode="dark"] .fanfic-library-app,
body.dark .fanfic-library-app { --surface-strong: #222a26; --phone-bg: #171d1a; --skin-title: #edf3ef; --skin-text: #dce6df; --skin-muted: #98a69d; --skin-border: rgba(255,255,255,.12); }
html[data-ui-mode="dark"] .fanfic-book-cover,
body.dark .fanfic-book-cover { filter: brightness(.83) saturate(.72); }
html[data-ui-mode="dark"] .fanfic-reader-app:not(.theme-paper),
body.dark .fanfic-reader-app:not(.theme-paper),
html[data-ui-mode="dark"] .fanfic-manager-app,
body.dark .fanfic-manager-app { color: #dce6df; background: #19201c; }
html[data-ui-mode="dark"] .fanfic-work-summary,
html[data-ui-mode="dark"] .fanfic-manager-chapter,
body.dark .fanfic-work-summary,
body.dark .fanfic-manager-chapter { border-color: rgba(255,255,255,.09); background: rgba(255,255,255,.055); }
html[data-ui-mode="dark"] .fanfic-manager-top,
body.dark .fanfic-manager-top { border-color: rgba(255,255,255,.09); background: rgba(26,33,29,.92); }
@media (max-width: 390px) {
  .fanfic-book-card { grid-template-columns: 96px minmax(0, 1fr); } }
@media (max-width: 390px) {
  .fanfic-book-cover { min-height: 150px; padding: 12px 10px; } }
@media (max-width: 390px) {
  .fanfic-book-cover strong { font-size: 14px; } }
@media (max-width: 390px) {
  .fanfic-book-actions button { padding: 0 6px; font-size: 9px; } }
@media (max-width: 390px) {
  .fanfic-reading-paper { padding-left: 18px; padding-right: 18px; } }
@media (max-width: 390px) {
  .fanfic-reader-top,
  .fanfic-reader-footer,
  .fanfic-manager-top { padding-left: 8px; padding-right: 8px; } }
#appScreen :is(
  .fanfic-filter-row button.active,
  .fanfic-book-actions button:first-child,
  .fanfic-manager-toolbar button:nth-child(4),
  [class*="fanfic"] button.active
) {
  background: var(--ed-accent) !important;
  border-color: var(--ed-accent) !important;
  color: #ffffff !important;
}
#appScreen [class*="fanfic"] :is([class*="submit"], [class*="start"], [class*="compose"], [class*="primary"]),
#appScreen .fanfic-app button:not(.danger-button):not([class*="ghost"]):not(.secondary-button) {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  background-image: none !important;
}
#appScreen .fanfic-book-card { background: var(--ed-surface) !important; }
#appScreen .fanfic-work-mark { background: var(--ed-accent) !important; color: #fff !important; }
#appScreen .fanfic-generate-button {
  background: var(--ed-accent) !important;
  color: #ffffff !important;
  border-color: var(--ed-accent) !important;
}
.longform-last-user-jump,
.theater-jump-extra-prompt {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
.fanfic-stream-preview {
  min-height: 0;
  max-height: min(42dvh, 360px);
  margin-top: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #7a8f82) 24%, var(--skin-border, rgba(0,0,0,.08)));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
}
.fanfic-stream-preview[hidden] { display: none !important; }
.fanfic-stream-preview > header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  color: var(--skin-muted, #718078);
  background: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent);
  font-size: 11px;
  font-weight: 900;
}
.fanfic-stream-preview-body { padding: 2px 10px 12px; white-space: pre-wrap; font-size: 13px; line-height: 1.65; }
.fanfic-stream-preview.floating {
  position: sticky;
  bottom: 10px;
  z-index: 20;
  margin: 10px;
  box-shadow: 0 12px 34px rgba(22, 35, 30, .16);
}
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
.fanfic-tag-panel .fanfic-tag-chip.active,
.fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"] {
  border-color: #7b3d5a !important;
  background: linear-gradient(135deg, #a85678, #793653) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(121,54,83,.24) !important;
}
#appScreen .fanfic-tag-panel .fanfic-tag-chip,
.fanfic-tag-panel .fanfic-tag-chip {
  border-color: color-mix(in srgb, var(--skin-accent, #b06a88) 26%, var(--skin-border, rgba(0,0,0,.12))) !important;
  background: transparent !important;
  color: var(--skin-text, #2c241d) !important;
  box-shadow: none !important;
}
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
#appScreen .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
.fanfic-tag-panel .fanfic-tag-chip.active,
.fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"] {
  border-color: var(--skin-accent, #b06a88) !important;
  background: var(--skin-accent, #b06a88) !important;
  color: var(--surface-strong, #fff) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent, #b06a88) 26%, transparent) !important;
}
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip:not(.active):not([aria-pressed="true"]),
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip:not(.active):not([aria-pressed="true"]),
#appScreen .fanfic-tag-panel .fanfic-tag-chip:not(.active):not([aria-pressed="true"]),
.fanfic-tag-panel .fanfic-tag-chip:not(.active):not([aria-pressed="true"]) {
  border-color: color-mix(in srgb, var(--skin-accent, #7aa1d5) 26%, var(--skin-border, rgba(0,0,0,.12))) !important;
  background: transparent !important;
  color: var(--skin-text, #2c241d) !important;
  box-shadow: none !important;
}
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .theater-fanfic-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .fanfic-library-app .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
#appScreen .fanfic-tag-panel .fanfic-tag-chip.active,
#appScreen .fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"],
.fanfic-tag-panel .fanfic-tag-chip.active,
.fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"] {
  border-color: var(--skin-accent, #7aa1d5) !important;
  background: var(--skin-accent, #7aa1d5) !important;
  color: var(--surface-strong, #fff) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent, #7aa1d5) 26%, transparent) !important;
}
.fanfic-tag-panel .fanfic-tag-chip {
  background: transparent !important;
  color: var(--skin-text, #2c241d) !important;
}
.fanfic-tag-panel .fanfic-tag-chip.active,
.fanfic-tag-panel .fanfic-tag-chip[aria-pressed="true"] {
  border-color: var(--skin-accent, #667f6f) !important;
  background: var(--skin-accent, #667f6f) !important;
  color: var(--surface-strong, #fff) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent, #667f6f) 20%, transparent) !important;
}
.fanfic-gradient { background: linear-gradient(145deg, #8a6fe8, #d98cc9 52%, #f3c887) !important; color: #fffafc !important; }
body.theater-immersive-mode .dynamic-island,
body.theater-immersive-mode .status-bar,
body.theater-immersive-mode #appScreen > .app-topbar,
body.theater-immersive-mode .device-shell-header {
  display: none !important;
}
body.theater-immersive-mode .device-shell,
body.theater-immersive-mode .phone,
body.theater-immersive-mode #appScreen,
body.theater-immersive-mode #appBody {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
}
body.theater-immersive-mode #appScreen {
  padding: 0 !important;
  overflow: hidden !important;
}
body.theater-immersive-mode #appBody {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.theater-hub-app {
  min-height: 100%;
  overflow-y: auto;
  background: radial-gradient(circle at 85% 0%, rgba(143,169,154,.18), transparent 30%), linear-gradient(180deg, #fbfbfc, #f4f4f6);
  padding: 18px 16px 26px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  -webkit-overflow-scrolling: touch;
}
.theater-hub-head { padding: 8px 2px 2px; }
.theater-hub-head.with-back { display: flex; align-items: center; justify-content: space-between; padding-top: 0; }
.theater-hub-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 850; color: var(--moss-deep, #667f72); background: rgba(143,169,154,.13); border: 1px solid rgba(143,169,154,.20); padding: 5px 8px; border-radius: 999px; margin-bottom: 10px; }
.theater-hub-head h2 { font-size: 26px; line-height: 1.1; margin: 0; color: #17191d; letter-spacing: -0.04em; }
.theater-hub-head p { font-size: 13px; line-height: 1.55; color: #7c828a; margin: 8px 0 0; }
.theater-hub-list, .theater-section { display: flex; flex-direction: column; gap: 12px; }
.theater-section h3 { margin: 0 2px; font-size: 13px; letter-spacing: .04em; color: #6e747c; font-weight: 850; }
.theater-char-list-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; border-radius: 20px; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.74); box-shadow: 0 8px 24px rgba(28,30,36,.06); text-align: left; transition: transform .18s ease; }
.theater-char-list-item:active, .theater-action-card:active, .theater-script-card:active, .export-card:active { transform: scale(.985); }
.theater-list-avatar, .theater-list-avatar.avatar { width: 52px !important; height: 52px !important; border-radius: 17px !important; flex: 0 0 auto !important; overflow: hidden; }
.theater-list-info { flex: 1; min-width: 0; }
.theater-list-info strong { display: flex; align-items: center; gap: 6px; font-size: 16px; color: #22252a; line-height: 1.2; }
.theater-list-info small { display: block; font-size: 12px; color: #969ba3; margin-top: 5px; line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.theater-list-arrow { font-size: 26px; line-height: 1; color: #c9ccd1; }
.theater-back-btn { border: 0; background: rgba(255,255,255,.75); color: #2d3138; border-radius: 999px; padding: 9px 12px; font-size: 13px; font-weight: 850; box-shadow: 0 8px 22px rgba(0,0,0,.05); }
.theater-action-card { border: 0; width: 100%; padding: 16px; border-radius: 22px; display: flex; align-items: center; gap: 14px; text-align: left; background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,250,247,.95)); box-shadow: 0 14px 38px rgba(28,30,36,.10); border: 1px solid rgba(255,255,255,.74); }
.theater-action-card .icon { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: rgba(149,236,105,.28); font-size: 22px; }
.theater-action-card .info strong { display: block; font-size: 16px; font-weight: 900; color: #202329; }
.theater-action-card .info small { display: block; margin-top: 4px; color: #838992; font-size: 12px; line-height: 1.45; }
.theater-script-grid { display: grid; gap: 12px; }
.theater-script-card { padding: 16px; border-radius: 18px; background: rgba(255,255,255,.94); border: 1px solid rgba(35,39,44,.07); text-align: left; box-shadow: 0 8px 24px rgba(28,30,36,.05); min-height: 78px; }
.theater-script-card.active { border-color: rgba(143,169,154,.58); box-shadow: 0 12px 26px rgba(103,127,114,.13); background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(241,247,244,.96)); }
.theater-script-card.new-script { border-style: dashed; border-color: rgba(143,169,154,.48); color: var(--moss-deep, #667f72); background: rgba(255,255,255,.66); }
.script-header strong, .theater-script-card > strong { font-size: 15px; color: #2b2f35; font-weight: 900; }
.theater-script-card small { display: block; color: #979da5; font-size: 12px; margin-top: 8px; line-height: 1.4; }
body.theater-immersive-mode .theater-app {
  position: absolute !important;
  inset: 0 !important;
  z-index: 100 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #ededed !important;
}
body.theater-immersive-mode .theater-topbar {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 44px !important;
  padding: 0 16px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: rgba(237,237,237,.86) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 50 !important;
  border-bottom: 1px solid rgba(0,0,0,.05) !important;
}
body.theater-immersive-mode .theater-app.reader-layout .theater-topbar { background: rgba(251,251,249,.86) !important; }
body.theater-immersive-mode .theater-topbar-back,
body.theater-immersive-mode .theater-topbar-more {
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(0,0,0,.04) !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  color: #333 !important;
  padding: 8px 10px !important;
  min-width: 44px !important;
  max-width: calc(100% - 62px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.theater-immersive-mode .theater-topbar-more { font-size: 16px !important; letter-spacing: 1px !important; min-width: 42px !important; max-width: 42px !important; padding-left: 0 !important; padding-right: 0 !important; }
body.theater-immersive-mode .theater-toolbar,
body.theater-immersive-mode .theater-view-toggle,
body.theater-immersive-mode .theater-state-inline { display: none !important; }
body.theater-immersive-mode .theater-more-dropdown {
  position: absolute !important;
  top: 52px !important;
  right: 12px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.13) !important;
  z-index: 100 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 8px !important;
  min-width: 156px !important;
  border: 1px solid rgba(0,0,0,.05) !important;
}
body.theater-immersive-mode .theater-more-dropdown button { padding: 12px 14px !important; border: none !important; background: transparent !important; text-align: left !important; font-size: 15px !important; color: #333 !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 10px !important; border-radius: 10px !important; white-space: nowrap !important; }
body.theater-immersive-mode .theater-more-dropdown button:active { background: #f0f0f0 !important; }
body.theater-immersive-mode .wechat-messages-scroll,
body.theater-immersive-mode .reader-messages-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding-top: 60px !important;
  padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
}
body.theater-immersive-mode .wechat-messages-scroll { padding-left: 14px !important; padding-right: 14px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; background: #ededed !important; }
body.theater-immersive-mode .reader-messages-scroll { padding-left: 24px !important; padding-right: 24px !important; max-width: 680px !important; width: 100% !important; margin: 0 auto !important; background: #fbfbf9 !important; }
body.theater-immersive-mode .theater-app.reader-layout { background: #fbfbf9 !important; }
body.theater-immersive-mode .wechat-chat-row,
body.theater-immersive-mode .theater-chat-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}
body.theater-immersive-mode .wechat-chat-row.user,
body.theater-immersive-mode .theater-chat-row.user { flex-direction: row-reverse !important; }
body.theater-immersive-mode .wechat-chat-stack,
body.theater-immersive-mode .theater-chat-stack { display: flex !important; flex-direction: column !important; max-width: 68% !important; min-width: 0 !important; align-items: flex-start !important; }
body.theater-immersive-mode .wechat-chat-row.user .wechat-chat-stack,
body.theater-immersive-mode .theater-chat-row.user .theater-chat-stack { align-items: flex-end !important; }
body.theater-immersive-mode .wechat-avatar,
body.theater-immersive-mode .message-avatar.wechat-avatar { width: 40px !important; height: 40px !important; min-width: 40px !important; border-radius: 6px !important; flex-shrink: 0 !important; object-fit: cover !important; }
body.theater-immersive-mode .wechat-chat-bubble { position: relative !important; display: inline-block !important; padding: 10px 14px !important; border-radius: 8px !important; font-size: 16px !important; line-height: 1.5 !important; color: #111 !important; word-wrap: break-word !important; white-space: pre-wrap !important; border: none !important; text-align: left !important; box-shadow: 0 1px 2px rgba(0,0,0,.03) !important; }
body.theater-immersive-mode .wechat-chat-row.assistant .wechat-chat-bubble { background: #fff !important; }
body.theater-immersive-mode .wechat-chat-row.assistant .text-bubble::before { content: '' !important; position: absolute !important; top: 14px !important; left: -6px !important; right: auto !important; border-width: 6px 6px 6px 0 !important; border-style: solid !important; border-color: transparent #fff transparent transparent !important; }
body.theater-immersive-mode .wechat-chat-row.user .wechat-chat-bubble { background: #95ec69 !important; }
body.theater-immersive-mode .wechat-chat-row.user .text-bubble::before { content: '' !important; position: absolute !important; top: 14px !important; right: -6px !important; left: auto !important; border-width: 6px 0 6px 6px !important; border-style: solid !important; border-color: transparent transparent transparent #95ec69 !important; }
body.theater-immersive-mode .wechat-chat-bubble.sticker-bubble { background: transparent !important; padding: 0 !important; box-shadow: none !important; }
body.theater-immersive-mode .wechat-chat-bubble.sticker-bubble::before { display: none !important; }
body.theater-immersive-mode .theater-sticker-card,
body.theater-immersive-mode .theater-sticker-card img {
  width: auto !important;
  height: auto !important;
  max-width: min(120px, 32vw) !important;
  max-height: 120px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
}
body.theater-immersive-mode .reader-line { margin-bottom: 28px !important; }
body.theater-immersive-mode .reader-speaker-hint { font-size: 13px !important; color: #a19a8d !important; margin-bottom: 8px !important; font-weight: 650 !important; letter-spacing: 1px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
body.theater-immersive-mode .theater-reader-content { font-size: 17px !important; line-height: 1.85 !important; color: #4a4a4a !important; text-align: justify !important; word-break: break-word !important; letter-spacing: .01em !important; }
body.theater-immersive-mode .theater-reader-content p { margin: 0 0 14px !important; }
body.theater-immersive-mode .theater-composer {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  background: rgba(247,247,248,.96) !important;
  border-top: 1px solid #e5e5e5 !important;
  z-index: 40 !important;
}
body.theater-immersive-mode .theater-composer textarea { flex: 1 !important; min-height: 38px !important; max-height: 104px !important; padding: 10px 12px !important; border: none !important; border-radius: 18px !important; background: #fff !important; outline: none !important; resize: none !important; font-size: 15px !important; line-height: 1.25 !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.04) !important; }
body.theater-immersive-mode .theater-sticker-btn,
body.theater-immersive-mode .theater-reroll-btn,
body.theater-immersive-mode .theater-send-btn { height: 38px !important; border: none !important; border-radius: 19px !important; padding: 0 13px !important; font-weight: 850 !important; font-size: 14px !important; flex: 0 0 auto !important; }
body.theater-immersive-mode .theater-sticker-btn { width: 38px !important; padding: 0 !important; border-radius: 50% !important; background: #e0e0e0 !important; color: #555 !important; font-size: 20px !important; line-height: 38px !important; }
body.theater-immersive-mode .theater-reroll-btn { background: #e9e9eb !important; color: #333 !important; }
body.theater-immersive-mode .theater-send-btn { background: #07c160 !important; color: #fff !important; }
body.theater-immersive-mode .theater-jump-btn,
body.theater-immersive-mode .theater-jump-extra-prompt,
body.theater-immersive-mode .longform-last-user-jump {
  position: absolute !important;
  right: 16px !important;
  bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  z-index: 45 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,.55) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.15) !important;
}
body.theater-immersive-mode .theater-jump-btn:active { transform: scale(.95) !important; background: rgba(0,0,0,.72) !important; }
.theater-fullscreen-overlay { position: absolute; inset: 0; z-index: 10050; background: #f7f7f8; display: flex; flex-direction: column; animation: theaterSlideInUp .28s cubic-bezier(.16,1,.3,1); }
.theater-search-header { padding: 12px 14px; background: #fff; border-bottom: 1px solid #e5e5e5; display: flex; align-items: center; gap: 10px; }
#theaterSearchClear { border: 0; width: 22px; height: 22px; border-radius: 999px; background: #d7d7d9; color: #fff; font-size: 12px; font-weight: 900; }
.theater-search-results { flex: 1; overflow-y: auto; padding: 16px; -webkit-overflow-scrolling: touch; }
.theater-search-results .empty-state { text-align: center; color: #999; margin-top: 40px; font-size: 14px; }
.theater-bottom-sheet-overlay { position: absolute; inset: 0; z-index: 10000; background: rgba(0,0,0,.38); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); display: flex; align-items: flex-end; }
.theater-bottom-sheet { width: 100%; max-height: 85%; background: #fff; border-radius: 24px 24px 0 0; padding: 12px 16px calc(22px + env(safe-area-inset-bottom)); overflow-y: auto; display: flex; flex-direction: column; box-shadow: 0 -24px 48px rgba(0,0,0,.16); }
body.theater-immersive-mode .device-shell,
body.theater-immersive-mode .phone {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: #ededed !important;
}
body.theater-immersive-mode .screen.app-screen.active {
  inset: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
body.theater-immersive-mode .wechat-chat-row,
body.theater-immersive-mode .theater-chat-row {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}
body.theater-immersive-mode .wechat-chat-row.user,
body.theater-immersive-mode .theater-chat-row.user {
  flex-direction: row-reverse !important;
  justify-content: flex-start !important; /* row-reverse 下 flex-start 才是屏幕右侧，别再让 CSS 玩负负得正 */
  padding-left: 52px !important;
  padding-right: 0 !important;
}
body.theater-immersive-mode .wechat-chat-row.assistant,
body.theater-immersive-mode .theater-chat-row.assistant,
body.theater-immersive-mode .theater-chat-row.loading,
body.theater-immersive-mode .theater-chat-row.error {
  justify-content: flex-start !important;
  padding-left: 0 !important;
  padding-right: 52px !important;
}
body.theater-immersive-mode .wechat-chat-stack,
body.theater-immersive-mode .theater-chat-stack {
  max-width: min(72%, calc(100vw - 112px)) !important;
}
body.theater-immersive-mode .wechat-chat-row.user .wechat-chat-stack,
body.theater-immersive-mode .theater-chat-row.user .theater-chat-stack {
  align-items: flex-end !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.theater-immersive-mode .theater-sticker-btn,
body.theater-immersive-mode [data-theater-sticker-generate] {
  display: none !important;
}
body.theater-immersive-mode .theater-composer {
  gap: 10px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}
body.theater-immersive-mode .theater-reroll-btn {
  min-width: 56px !important;
}
body.theater-immersive-mode .theater-jump-btn,
body.theater-immersive-mode .theater-jump-extra-prompt,
body.theater-immersive-mode .longform-last-user-jump {
  right: 18px !important;
  bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  z-index: 80 !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  background: rgba(38, 38, 38, .64) !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode .theater-more-dropdown {
  z-index: 120 !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode .theater-topbar-more,
body.theater-immersive-mode .theater-topbar-back,
body.theater-immersive-mode .theater-reroll-btn,
body.theater-immersive-mode .theater-send-btn,
body.theater-immersive-mode .theater-jump-btn {
  touch-action: manipulation !important;
}
body.theater-immersive-mode #mossFloatingHub {
  right: 16px !important;
  bottom: calc(168px + env(safe-area-inset-bottom)) !important;
}
body.theater-immersive-mode .theater-app {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 10000 !important;
  overflow: hidden !important;
}
body.theater-immersive-mode .theater-topbar {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 44px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  z-index: 300 !important;
  background: rgba(237,237,237,.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
body.theater-immersive-mode .theater-app.reader-layout .theater-topbar {
  background: rgba(251,251,249,.9) !important;
}
body.theater-immersive-mode .theater-more-dropdown {
  position: absolute !important;
  top: 50px !important;
  right: 14px !important;
  min-width: 172px !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  z-index: 100060 !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode .theater-more-dropdown[hidden] {
  display: none !important;
}
body.theater-immersive-mode .theater-more-dropdown button {
  width: 100% !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #24272d !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
body.theater-immersive-mode .theater-more-dropdown button:active {
  background: rgba(0,0,0,.06) !important;
}
body.theater-immersive-mode .wechat-messages-scroll.theater-chat-messages {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  padding-top: 60px !important;
  padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
}
body.theater-immersive-mode .wechat-chat-row.theater-chat-row {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 12px !important;
  align-items: flex-start !important;
  box-sizing: border-box !important;
}
body.theater-immersive-mode .wechat-chat-row.theater-chat-row.user {
  flex-direction: row !important;
  justify-content: flex-end !important;
  padding-left: 54px !important;
  padding-right: 0 !important;
}
body.theater-immersive-mode .wechat-chat-row.theater-chat-row.assistant,
body.theater-immersive-mode .wechat-chat-row.theater-chat-row.loading,
body.theater-immersive-mode .wechat-chat-row.theater-chat-row.error {
  flex-direction: row !important;
  justify-content: flex-start !important;
  padding-left: 0 !important;
  padding-right: 54px !important;
}
body.theater-immersive-mode .wechat-chat-row.user .wechat-chat-stack.theater-chat-stack {
  order: 1 !important;
  align-items: flex-end !important;
  margin: 0 !important;
}
body.theater-immersive-mode .wechat-chat-row.user .message-avatar.wechat-avatar {
  order: 2 !important;
}
body.theater-immersive-mode .wechat-chat-row.assistant .message-avatar.wechat-avatar {
  order: 1 !important;
}
body.theater-immersive-mode .wechat-chat-row.assistant .wechat-chat-stack.theater-chat-stack {
  order: 2 !important;
  align-items: flex-start !important;
}
body.theater-immersive-mode .wechat-chat-stack.theater-chat-stack {
  flex: 0 1 auto !important;
  max-width: min(72vw, calc(100vw - 112px)) !important;
  min-width: 0 !important;
}
body.theater-immersive-mode .wechat-chat-row.user .text-bubble::before {
  right: -6px !important;
  left: auto !important;
  border-width: 6px 0 6px 6px !important;
  border-color: transparent transparent transparent #95ec69 !important;
}
body.theater-immersive-mode .wechat-chat-row.assistant .text-bubble::before,
body.theater-immersive-mode .wechat-chat-row.loading .text-bubble::before,
body.theater-immersive-mode .wechat-chat-row.error .text-bubble::before {
  left: -6px !important;
  right: auto !important;
  border-width: 6px 6px 6px 0 !important;
  border-color: transparent #fff transparent transparent !important;
}
body.theater-immersive-mode .theater-sticker-btn,
body.theater-immersive-mode [data-theater-sticker-generate],
body.theater-immersive-mode .inspiration-preview-button {
  display: none !important;
}
body.theater-immersive-mode .theater-composer.date-composer {
  grid-template-columns: 58px minmax(0, 1fr) 64px !important;
  display: grid !important;
  align-items: end !important;
  gap: 10px !important;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
  background: rgba(247,247,248,.97) !important;
}
body.theater-immersive-mode .theater-composer.date-composer > .theater-reroll-btn { grid-column: 1 !important; }
body.theater-immersive-mode .theater-composer.date-composer > textarea { grid-column: 2 !important; width: 100% !important; }
body.theater-immersive-mode .theater-composer.date-composer > .theater-send-btn { grid-column: 3 !important; }
body.theater-immersive-mode .theater-composer.date-composer > :not(.theater-reroll-btn):not(textarea):not(.theater-send-btn) {
  display: none !important;
}
body.theater-immersive-mode .theater-jump-btn,
body.theater-immersive-mode .theater-jump-extra-prompt,
body.theater-immersive-mode .longform-last-user-jump {
  position: absolute !important;
  right: 18px !important;
  bottom: calc(90px + env(safe-area-inset-bottom)) !important;
  z-index: 260 !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: rgba(40,40,40,.68) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode .theater-fullscreen-overlay,
body.theater-immersive-mode .theater-search-overlay-v3 {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 100080 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #f7f7f8 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  animation: none !important;
}
body.theater-immersive-mode .theater-search-header {
  flex: 0 0 54px !important;
  min-height: 54px !important;
  width: 100% !important;
  padding: 7px 10px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  box-sizing: border-box !important;
}
body.theater-immersive-mode .search-input-wrapper {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 11px !important;
  background: #f0f0f2 !important;
}
body.theater-immersive-mode .search-input-wrapper input {
  height: 38px !important;
  line-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 15px !important;
}
body.theater-immersive-mode .cancel-btn {
  min-width: 44px !important;
  padding: 0 !important;
  color: #07c160 !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 750 !important;
}
body.theater-immersive-mode .theater-search-results {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 12px 12px calc(16px + env(safe-area-inset-bottom)) !important;
}
body.theater-immersive-mode .theater-bottom-sheet-overlay,
body.theater-immersive-mode .theater-export-overlay-v3 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100070 !important;
}
body.theater-immersive-mode #mossFloatingHub {
  display: none !important;
}
body.theater-immersive-mode #mossFloatingHub {
  display: block !important;
  position: fixed !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  bottom: calc(168px + env(safe-area-inset-bottom)) !important;
  z-index: 100120 !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode #mossFloatingHub .moss-floating-main,
body.theater-immersive-mode #mossFloatingHub .moss-floating-menu {
  pointer-events: auto !important;
}
body.theater-immersive-mode #mossFloatingHub .moss-floating-menu {
  z-index: 100121 !important;
}
.message-action-menu.theater-action-menu,
body.theater-immersive-mode .message-action-menu.theater-action-menu {
  z-index: 100140 !important;
  pointer-events: auto !important;
  visibility: visible;
}
body.theater-immersive-mode .longform-inline-more.theater-inline-more {
  position: relative !important;
  z-index: 320 !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode .reader-speaker-hint.date-speaker-head {
  position: relative !important;
  z-index: 310 !important;
}
html[data-ui-mode="dark"] body.theme-apple #appScreen,
html[data-ui-mode="dark"] body.theme-apple #appBody,
html[data-ui-mode="dark"] body.theme-apple .app-screen,
html[data-ui-mode="dark"] body.theme-apple .app-body,
html[data-ui-mode="dark"] body.theme-apple .radio-app-v2,
html[data-ui-mode="dark"] body.theme-apple .moss-album-app,
html[data-ui-mode="dark"] body.theme-apple .settings-app,
html[data-ui-mode="dark"] body.theme-apple .notes-app,
html[data-ui-mode="dark"] body.theme-apple .date-app,
html[data-ui-mode="dark"] body.theme-apple .date-picker-app,
html[data-ui-mode="dark"] body.theme-apple .theater-app {
  background-color: var(--phone-bg, #16171c) !important;
  background-image: none !important;
  color: var(--skin-text, #e4e7ec) !important;
}
#mossFloatingHub:not(.open) .moss-floating-menu,
body.theater-immersive-mode #mossFloatingHub:not(.open) .moss-floating-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#mossFloatingHub.open .moss-floating-menu,
body.theater-immersive-mode #mossFloatingHub.open .moss-floating-menu {
  visibility: visible !important;
  pointer-events: auto !important;
}
body.theater-immersive-mode #mossFloatingHub:not(.open) .moss-floating-main {
  pointer-events: auto !important;
}
#appBody.date-mode.theater-mode-active {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
#appBody.date-mode.theater-mode-active .theater-app {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 22px !important;
  background: var(--phone-bg, #f3f5f7) !important;
  color: var(--skin-text, #263244) !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar {
  position: relative !important;
  z-index: 30 !important;
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  background: var(--surface-strong, #fff) !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar-back,
#appBody.date-mode.theater-mode-active .theater-topbar-more {
  min-height: 36px !important;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  border-radius: 999px !important;
  background: var(--surface, #f8f8f8) !important;
  color: var(--skin-text, #263244) !important;
  font-weight: 900 !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar-back {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: left !important;
  padding: 0 12px !important;
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown {
  position: absolute !important;
  top: 58px !important;
  right: 10px !important;
  z-index: 60 !important;
  min-width: 156px !important;
  display: grid !important;
  gap: 6px !important;
  padding: 8px !important;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  border-radius: 16px !important;
  background: var(--surface-strong, #fff) !important;
  box-shadow: var(--skin-shadow-float, 0 18px 46px rgba(0,0,0,.18)) !important;
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown[hidden] { display: none !important; }
#appBody.date-mode.theater-mode-active .theater-more-dropdown button {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--skin-text, #263244) !important;
  text-align: left !important;
  font-weight: 800 !important;
}
#appBody.date-mode.theater-mode-active .wechat-messages-scroll,
#appBody.date-mode.theater-mode-active .reader-messages-scroll {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  background: var(--phone-bg, #f3f5f7) !important;
}
#appBody.date-mode.theater-mode-active .wechat-messages-scroll {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 14px 12px calc(116px + env(safe-area-inset-bottom)) !important;
}
#appBody.date-mode.theater-mode-active .reader-messages-scroll {
  display: grid !important;
  align-content: start !important;
  gap: 18px !important;
  padding: 18px 18px calc(116px + env(safe-area-inset-bottom)) !important;
}
#appBody.date-mode.theater-mode-active .theater-composer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 35 !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) 64px !important;
  gap: 10px !important;
  align-items: end !important;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  background: var(--surface-strong, #fff) !important;
}
#appBody.date-mode.theater-mode-active .theater-composer textarea {
  min-height: 40px !important;
  max-height: 108px !important;
  border-radius: 18px !important;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  background: var(--surface, #f8f8f8) !important;
  color: var(--skin-text, #263244) !important;
}
#appBody.date-mode.theater-mode-active .theater-reroll-btn,
#appBody.date-mode.theater-mode-active .theater-send-btn {
  min-height: 40px !important;
  border-radius: 20px !important;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08)) !important;
  font-weight: 900 !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-app,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .wechat-messages-scroll,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .reader-messages-scroll {
  background: var(--phone-bg, #16171c) !important;
  color: var(--skin-text, #e4e7ec) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-topbar,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-composer,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-more-dropdown {
  background: var(--surface-strong, #292c34) !important;
  border-color: var(--skin-border, rgba(255,255,255,.105)) !important;
}
#appBody.date-mode.theater-mode-active {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: var(--phone-bg, #f4efe6) !important;
}
#appBody.date-mode.theater-mode-active .theater-app {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: var(--phone-bg, #f4efe6) !important;
  color: var(--skin-text, #3b332b) !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar {
  position: relative !important;
  z-index: 30 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--skin-border, rgba(80, 55, 35, .12)) !important;
  background: var(--surface-strong, #fffaf2) !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar.has-style {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar-back,
#appBody.date-mode.theater-mode-active .theater-topbar-more,
#appBody.date-mode.theater-mode-active .theater-style-btn {
  min-height: 38px !important;
  border: 1px solid var(--skin-border, rgba(80, 55, 35, .13)) !important;
  border-radius: 999px !important;
  background: var(--surface, #fffdf8) !important;
  color: var(--skin-text, #3b332b) !important;
  font-weight: 900 !important;
  -webkit-tap-highlight-color: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-style-btn {
  padding: 0 12px !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}
#appBody.date-mode.theater-mode-active .theater-style-btn.active {
  background: color-mix(in srgb, var(--skin-accent, #b18455) 22%, var(--surface, #fffdf8)) !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar-back {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: left !important;
  padding: 0 13px !important;
}
#appBody.date-mode.theater-mode-active .theater-topbar-more {
  width: 42px !important;
  padding: 0 !important;
}
#appBody.date-mode.theater-mode-active .date-generation-status[hidden] {
  display: none !important;
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown {
  top: 62px !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-messages,
#appBody.date-mode.theater-mode-active .reader-messages-scroll {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}
#appBody.date-mode.theater-mode-active .theater-app.wechat-layout .theater-chat-messages {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 14px 12px !important;
  background: #ededed !important;
}
#appBody.date-mode.theater-mode-active .theater-app.reader-layout .reader-messages-scroll {
  display: grid !important;
  align-content: start !important;
  gap: 16px !important;
  padding: 16px 14px !important;
  background: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.user {
  justify-content: flex-end !important;
  padding-left: 54px !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.assistant,
#appBody.date-mode.theater-mode-active .theater-chat-row.loading,
#appBody.date-mode.theater-mode-active .theater-chat-row.error {
  justify-content: flex-start !important;
  padding-right: 54px !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row .message-avatar,
#appBody.date-mode.theater-mode-active .theater-chat-row .avatar {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-stack {
  display: flex !important;
  flex-direction: column !important;
  max-width: min(72%, 520px) !important;
  min-width: 0 !important;
  align-items: flex-start !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-stack {
  align-items: flex-end !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-bubble {
  position: relative !important;
  display: inline-block !important;
  max-width: 100% !important;
  padding: 10px 13px !important;
  border-radius: 8px !important;
  border: none !important;
  color: #111318 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  text-align: left !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble,
#appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble,
#appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble {
  background: #fff !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble {
  background: #95ec69 !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-bubble.text-bubble::before {
  content: "" !important;
  position: absolute !important;
  top: 14px !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble.text-bubble::before,
#appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble.text-bubble::before,
#appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble.text-bubble::before {
  left: -6px !important;
  border-width: 6px 6px 6px 0 !important;
  border-color: transparent #fff transparent transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble.text-bubble::before {
  right: -6px !important;
  border-width: 6px 0 6px 6px !important;
  border-color: transparent transparent transparent #95ec69 !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-bubble.sticker-bubble {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-bubble.sticker-bubble::before {
  display: none !important;
}
#appBody.date-mode.theater-mode-active .theater-reader-empty,
#appBody.date-mode.theater-mode-active .theater-chat-empty {
  margin: 12px auto !important;
  max-width: 88% !important;
  padding: 13px 15px !important;
  border: 1px dashed var(--skin-border, rgba(80,55,35,.18)) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface-strong, #fffaf2) 84%, transparent) !important;
  color: var(--skin-muted, #8a7a69) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}
#appBody.date-mode.theater-mode-active .theater-line.longform-mode {
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid var(--skin-border, rgba(80,55,35,.12)) !important;
  border-radius: 20px !important;
  background: var(--surface-strong, #fffaf2) !important;
  color: var(--skin-text, #3b332b) !important;
  box-shadow: 0 12px 34px rgba(80, 55, 35, .08) !important;
}
#appBody.date-mode.theater-mode-active .theater-composer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 35 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) 64px !important;
  gap: 10px !important;
  align-items: end !important;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid var(--skin-border, rgba(80,55,35,.12)) !important;
  background: var(--surface-strong, #fffaf2) !important;
  box-shadow: 0 -10px 28px rgba(80, 55, 35, .08) !important;
}
#appBody.date-mode.theater-mode-active .theater-composer textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  max-height: 112px !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  border: 1px solid var(--skin-border, rgba(80,55,35,.16)) !important;
  background: var(--surface, #fffdf8) !important;
  color: var(--skin-text, #3b332b) !important;
  font: inherit !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  resize: none !important;
  outline: none !important;
}
#appBody.date-mode.theater-mode-active .theater-reroll-btn,
#appBody.date-mode.theater-mode-active .theater-send-btn {
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 21px !important;
  border: 1px solid var(--skin-border, rgba(80,55,35,.16)) !important;
  font-weight: 900 !important;
  background: var(--surface, #fffdf8) !important;
  color: var(--skin-text, #3b332b) !important;
}
#appBody.date-mode.theater-mode-active .theater-send-btn {
  background: color-mix(in srgb, var(--skin-accent, #b18455) 14%, var(--surface, #fffdf8)) !important;
}
body.keyboard-open #appBody.date-mode.theater-mode-active .reader-messages-scroll,
body.keyboard-open #appBody.date-mode.theater-mode-active .theater-chat-messages,
body.keyboard-theater-open #appBody.date-mode.theater-mode-active .reader-messages-scroll,
body.keyboard-theater-open #appBody.date-mode.theater-mode-active .theater-chat-messages {
  padding-bottom: 16px !important;
  scroll-padding-bottom: 16px !important;
}
body.keyboard-open #appBody.date-mode.theater-mode-active .theater-composer,
body.keyboard-theater-open #appBody.date-mode.theater-mode-active .theater-composer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.theater-style-modal .theater-style-input {
  min-height: 180px !important;
  max-height: min(46vh, 360px) !important;
}
.theater-style-actions {
  grid-template-columns: 1fr 1fr 1fr !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-app,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .reader-messages-scroll {
  background: var(--phone-bg, #16171c) !important;
  color: var(--skin-text, #e4e7ec) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-topbar,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-composer,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-line.longform-mode,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-reader-empty,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-empty {
  background: var(--surface-strong, #292c34) !important;
  border-color: var(--skin-border, rgba(255,255,255,.105)) !important;
  color: var(--skin-text, #e4e7ec) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-topbar-back,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-topbar-more,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-style-btn,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-composer textarea,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-reroll-btn,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-send-btn {
  background: var(--surface, #202229) !important;
  color: var(--skin-text, #e4e7ec) !important;
  border-color: var(--skin-border, rgba(255,255,255,.105)) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-app.wechat-layout .theater-chat-messages,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-app.wechat-layout .theater-chat-messages {
  background: var(--phone-bg, #16171c) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble {
  background: var(--surface-strong, #292c34) !important;
  color: var(--skin-text, #e4e7ec) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble {
  background: color-mix(in srgb, var(--skin-accent, #b18455) 26%, var(--surface-strong, #292c34)) !important;
  color: var(--skin-text, #fff5ec) !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble.text-bubble::before,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble.text-bubble::before,
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble.text-bubble::before,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.assistant .theater-chat-bubble.text-bubble::before,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.loading .theater-chat-bubble.text-bubble::before,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.error .theater-chat-bubble.text-bubble::before {
  border-color: transparent var(--surface-strong, #292c34) transparent transparent !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble.text-bubble::before,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-chat-row.user .theater-chat-bubble.text-bubble::before {
  border-color: transparent transparent transparent color-mix(in srgb, var(--skin-accent, #b18455) 26%, var(--surface-strong, #292c34)) !important;
}
.theater-style-scheme-modal {
  width: min(92vw, 430px) !important;
  max-height: min(76dvh, 720px) !important;
  overflow: auto !important;
  padding: 18px !important;
}
.theater-style-modal-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.theater-style-modal-head .ui-modal-title,
.theater-style-modal-head .ui-modal-message { margin: 0 !important; }
.theater-style-add { flex: 0 0 auto !important; min-height: 38px !important; padding: 0 12px !important; border-radius: 14px !important; }
.theater-style-list { max-height: 44dvh !important; overflow: auto !important; padding-right: 2px !important; }
.theater-style-card .date-style-details { text-align: left !important; }
.theater-style-card textarea { min-height: 104px !important; resize: vertical !important; }
#appBody.date-mode.theater-mode-active .theater-app {
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  min-height: 0 !important;
}
#appBody.date-mode.theater-mode-active .date-generation-status[hidden],
#appBody.date-mode.theater-mode-active .theater-more-dropdown[hidden] {
  display: none !important;
}
#appBody.date-mode.theater-mode-active .theater-chat-messages,
#appBody.date-mode.theater-mode-active .reader-messages-scroll,
#appBody.date-mode.theater-mode-active .date-messages {
  grid-row: 3 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}
#appBody.date-mode.theater-mode-active .theater-composer {
  grid-row: 4 !important;
  position: sticky !important;
  bottom: 0 !important;
  flex-shrink: 0 !important;
  min-height: 62px !important;
  transform: translateZ(0) !important;
  contain: layout paint !important;
}
#appBody.date-mode.theater-mode-active .theater-composer textarea {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#appBody.date-mode.theater-mode-active .theater-line.longform-mode::before {
  display: none !important;
  content: none !important;
}
#appBody.date-mode.theater-mode-active .theater-line.longform-mode {
  overflow: hidden !important;
  contain: layout paint !important;
}
#appBody.date-mode.theater-mode-active .theater-reader-content {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-reader-content p {
  margin: 0 !important;
  line-height: 1.78 !important;
  position: static !important;
  transform: none !important;
}
#appBody.date-mode.theater-mode-active .theater-reader-content .date-text-dialogue {
  padding: 1px 0 1px 13px !important;
  border-left: 2px solid var(--longform-dialogue-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--longform-dialogue-text) !important;
  font-weight: 700 !important;
}
#appBody.date-mode.theater-mode-active .theater-reader-content :is(.date-inline-dialogue, .reader-dialogue-highlight) {
  background: transparent !important;
  color: var(--longform-dialogue-text) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
}
.theater-style-overlay .theater-style-scheme-modal {
  max-height: min(82dvh, 720px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.theater-style-overlay .theater-style-list {
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
}
.theater-style-overlay .theater-style-card.expanded .date-style-details {
  display: grid !important;
}
.theater-style-overlay .theater-style-card:not(.expanded) .date-style-details {
  display: none !important;
}
.haven-v4-app :is(button, [role="button"], .haven-v4-hotspot, .haven-v4-chibi-wrap, .char-btn),
.theater-app :is(button, textarea),
.theater-style-overlay :is(button, input, textarea, label) {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  gap: 10px !important;
  overflow: hidden !important;
  padding: 14px !important;
  border-radius: 0 !important;
  background: var(--phone-bg, #f4efe6) !important;
  color: var(--skin-text, #3b332b) !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-date-tool-row {
  position: relative !important;
  z-index: 32 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-date-tool-row .theater-topbar-back {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 42px !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-date-tool-row .theater-style-btn,
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-date-tool-row .theater-topbar-more {
  flex: 0 0 auto !important;
  height: 42px !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-more-dropdown {
  top: 62px !important;
  right: 14px !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .date-generation-status {
  position: relative !important;
  z-index: 24 !important;
  grid-row: 2 !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-messages {
  grid-row: 3 !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: block !important;
  align-self: stretch !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  padding: 0 !important;
  background: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-line.longform-mode {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  contain: none !important;
  margin: 0 0 14px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  transform: translateZ(0) !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-reader-content,
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-reader-content p,
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .date-rich-content,
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .date-rich-content p {
  max-height: none !important;
  overflow: visible !important;
  contain: none !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-reader-content {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-reader-content p {
  margin: 0 0 12px !important;
  line-height: 1.78 !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-reader-content p:last-child {
  margin-bottom: 0 !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-composer.date-composer {
  grid-row: 4 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  z-index: 999 !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) 64px !important;
  gap: 8px !important;
  padding: 8px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18) !important;
  transform: none !important;
}
#appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-composer.date-composer textarea {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 92px !important;
}
body.keyboard-open #appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-messages,
body.keyboard-theater-open #appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-messages {
  padding-bottom: 16px !important;
  scroll-padding-bottom: 16px !important;
}
html[data-ui-mode="dark"] body.theme-apple #appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-composer.date-composer,
body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) #appBody.date-mode.theater-mode-active .theater-app.longform-date-layout .theater-longform-composer.date-composer {
  background: var(--surface-strong, #292c34) !important;
}
#appScreen :where(.settings-back, .date-object-back, .theater-topbar-back,
  .dream-back-minimal, .theater-flow-back) {
  min-height: 44px;
  border-radius: 13px !important;
  border-color: transparent !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#appScreen :where(.settings-back, .date-object-back, .theater-topbar-back,
  .dream-back-minimal, .theater-flow-back):active {
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .theater-hub-app,
#appScreen .theater-picker-app,
#appScreen .theater-fanfic-app,
#appScreen .fanfic-manager-app {
  min-height: 100%;
  padding: 15px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .theater-hub-head,
#appScreen .theater-select-head,
#appScreen .theater-fanfic-hero,
#appScreen .fanfic-manager-top {
  padding: 18px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 20px !important;
  color: var(--moss-ui-text) !important;
  background: linear-gradient(145deg, var(--moss-ui-accent-wash), var(--moss-ui-card)) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .theater-hub-eyebrow { color: var(--moss-ui-accent-strong) !important; }
#appScreen .theater-hub-head h2,
#appScreen .theater-select-head h2,
#appScreen .theater-fanfic-hero h2 { color: var(--moss-ui-text) !important; font-size: 22px; font-weight: 690; letter-spacing: -.03em; }
#appScreen .theater-hub-head p,
#appScreen .theater-select-head p,
#appScreen .theater-fanfic-hero p { color: var(--moss-ui-muted) !important; }
#appScreen .theater-hub-list,
#appScreen .theater-character-grid,
#appScreen .theater-script-grid,
#appScreen .theater-fanfic-list { gap: 9px; }
#appScreen :where(.theater-char-list-item, .theater-person-card, .theater-script-card,
  .theater-fanfic-card, .theater-session-card, .fanfic-manager-chapter) {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen :where(.theater-char-list-item, .theater-person-card, .theater-script-card,
  .theater-fanfic-card, .fanfic-manager-chapter) strong { color: var(--moss-ui-text) !important; }
#appScreen :where(.theater-list-info, .theater-script-card, .theater-fanfic-card,
  .fanfic-manager-chapter) small,
#appScreen :where(.theater-list-info, .theater-script-card, .theater-fanfic-card) p { color: var(--moss-ui-muted) !important; }
#appScreen .theater-list-arrow { color: var(--moss-ui-accent) !important; }
#appScreen .theater-topbar {
  min-height: 58px;
  border-bottom: 1px solid var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#appScreen .theater-topbar-back,
#appScreen .theater-topbar-more {
  min-width: 44px;
  min-height: 44px;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;
}
#appScreen .theater-date-tool-row {
  border-color: var(--moss-ui-line) !important;
  background: var(--moss-ui-card) !important;
}
#appScreen .theater-chat-stack,
#appScreen .theater-reader-content { background: var(--moss-ui-canvas) !important; }
#appScreen .theater-line,
#appScreen .theater-chat-bubble {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .theater-chat-row.user .theater-line,
#appScreen .theater-chat-row.user .theater-chat-bubble {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen :where(.theater-style-card, .theater-state-panel, .theater-bottom-sheet,
  .theater-more-dropdown, .theater-action-menu) {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
}
#appScreen .theater-send-btn {
  min-width: 44px;
  min-height: 44px;
  border-radius: 13px !important;
}
#appScreen .theater-reroll-btn,
#appScreen .theater-jump-btn {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card) !important;
}
#appScreen .fanfic-reader-app {
  --fanfic-paper: var(--moss-ui-card);
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .fanfic-reader-top,
#appScreen .fanfic-reader-footer {
  border-color: var(--moss-ui-line) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 93%, transparent) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#appScreen .fanfic-reading-paper {
  width: min(100%, 760px);
  padding: clamp(22px, 5vw, 40px);
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .fanfic-reading-heading,
#appScreen .fanfic-reading-content { color: var(--moss-ui-text) !important; }
#appScreen .fanfic-reading-content { font-size: 16px; line-height: 1.85; }
#appScreen .fanfic-reading-end { color: var(--moss-ui-muted) !important; }
@media (max-width: 430px) {
  #appScreen .fanfic-reading-paper,
  #appScreen .coread-modern-paper { border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; } }
.date-rich-content .date-text-dialogue,
.fanfic-reading-content .date-text-dialogue,
.theater-reader-content .date-text-dialogue {
  color: var(--longform-dialogue-text) !important;
  border-left-color: var(--longform-dialogue-line) !important;
}
.date-rich-content .date-inline-dialogue,
.fanfic-reading-content .date-inline-dialogue,
.theater-reader-content :is(.date-inline-dialogue, .reader-dialogue-highlight) {
  color: var(--longform-dialogue-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.theater-script-card[data-theater-delete-script] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: pan-y;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.theater-script-card[data-theater-delete-script] * {
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
}
.theater-script-card[data-theater-delete-script].is-long-pressing {
  transform: scale(.972);
  border-color: color-mix(in srgb, var(--moss-deep, #667f72) 54%, transparent);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, var(--moss-pale, #eef4f0));
  box-shadow: 0 5px 16px rgba(37, 48, 42, .12);
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown .theater-menu-danger {
  color: #b84d57 !important;
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown .theater-menu-danger:active {
  background: rgba(184, 77, 87, .09) !important;
}
#appBody.date-mode.theater-mode-active .theater-more-dropdown button:disabled {
  opacity: .45 !important;
  pointer-events: none !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open .moss-keyboard-surface-active :is(
  .ui-modal,
  .home-text-sheet,
  .char-phone-moment-composer,
  .voice-capture-card,
  .news-share-sheet,
  .theater-state-panel,
  .moss-netease-qr,
  .moss-account-card
) {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-padding-block: 12px 18px !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open.theater-immersive-mode #appScreen,
html.ios-pwa-standalone.keyboard-open body.keyboard-open.theater-immersive-mode #appBody,
html.ios-pwa-standalone.keyboard-open body.keyboard-open.theater-immersive-mode #appBody .theater-app {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

/*# source: assets/css/features/coread.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.world-book-entry-head {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;}

.world-book-entry-head h2 {margin: 0;}

.world-book-entry-head button {min-height: 36px;
  padding: 0 14px;
  border-radius: 14px;
  border: 0;
  background: #171b22;
  color: #fff;
  font-weight: 900;}

.world-book-card {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.world-book-card {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.world-book-entry-head h2 {color: var(--skin-title) !important;}

.app-screen .world-book-entry-head button {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;}

.cute-book-cover {position: relative; z-index: 1; text-align: center; color: #fff; padding: 0 22px;}

.cute-book-lock {display: block; margin-bottom: 24px; font-size: 52px; filter: drop-shadow(0 4px 8px rgba(220,120,140,.4));}

.cute-book-title {margin: 0; font: 900 38px/1.1 var(--diary-hand-font); text-shadow: 0 3px 6px rgba(0,0,0,.12);}

.cute-book-sub {margin: 12px 0 0; opacity: .95; font-size: 16px; letter-spacing: 3px;}

.reader-dialogue-highlight {color: #111 !important; font-weight: 760 !important; background: rgba(0,0,0,.025) !important; border-radius: 4px !important; padding: 0 2px !important; box-decoration-break: clone; -webkit-box-decoration-break: clone;}

/* Existing canonical module rules follow. */
/*
 * coread feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.coread-gradient { background: var(--skin-accent) !important; color: var(--surface-strong) !important; }
#appScreen .coread-app {
  min-height: 100% !important;
  padding: 14px !important;
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  background: var(--moss-live-canvas, var(--phone-bg)) !important;
  color: var(--moss-live-text, var(--skin-text)) !important;
}
#appScreen .coread-top,
#appScreen .coread-reader-top,
#appScreen .coread-page,
#appScreen .coread-together-panel,
#appScreen .coread-book-card,
#appScreen .coread-search {
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}
#appScreen .coread-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
  border-radius: 18px !important;
  padding: 16px !important;
}
#appScreen .coread-top span,
#appScreen .coread-book-card small,
#appScreen .coread-reader-top span,
#appScreen .coread-notes > span,
#appScreen .coread-together-panel span {
  color: var(--skin-muted) !important;
  font-size: 12px !important;
}
#appScreen .coread-top h2 {
  margin: 0 !important;
  font-size: 22px !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-top p {
  margin: 4px 0 0 !important;
  color: var(--skin-muted) !important;
  line-height: 1.55 !important;
}
#appScreen .coread-top button,
#appScreen .coread-book-card button,
#appScreen .coread-reader-top button,
#appScreen .coread-reader-nav button,
#appScreen .coread-together-actions button {
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  border-radius: 999px !important;
  padding: 8px 10px !important;
  font-weight: 900 !important;
}
#appScreen .coread-top button,
#appScreen .coread-together-actions button:first-child,
#appScreen .coread-book-card button.active {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: var(--surface-strong) !important;
  border-color: transparent !important;
}
#appScreen .coread-search {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  border-radius: 14px !important;
  padding: 9px 12px !important;
}
#appScreen .coread-search input,
#appScreen .coread-reader-top select,
#appScreen .coread-together-panel textarea {
  width: 100% !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 96%, transparent) !important;
  color: var(--skin-text) !important;
  border-radius: 12px !important;
  padding: 9px 10px !important;
}
#appScreen .coread-book-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
#appScreen .coread-book-card {
  display: grid !important;
  gap: 8px !important;
  border-radius: 16px !important;
  padding: 10px !important;
}
#appScreen .coread-book-cover {
  min-height: 148px !important;
  display: grid !important;
  align-content: end !important;
  gap: 6px !important;
  text-align: left !important;
  border-radius: 14px !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--skin-accent) 24%, var(--surface-strong)), color-mix(in srgb, var(--skin-accent-2) 18%, var(--surface-strong))) !important;
}
#appScreen .coread-book-cover strong {
  color: var(--skin-text) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}
#appScreen .coread-book-cover span {
  color: var(--skin-muted) !important;
  font-size: 11px !important;
}
#appScreen .coread-book-card footer {
  display: grid !important;
  gap: 7px !important;
}
#appScreen .coread-book-card footer div {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
#appScreen .coread-library.coread-app {
  min-height: 100% !important;
  padding: 20px 16px 76px !important;
  gap: 18px !important;
  background: #f7f8fa !important;
  color: #142132 !important;
}
#appScreen .coread-library-head {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  gap: 12px !important;
  align-items: center !important;
}
#appScreen .coread-library-filter {
  grid-column: 2 !important;
  justify-self: center !important;
  color: #142132 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}
#appScreen .coread-library-more {
  grid-column: 3 !important;
  justify-self: end !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(47, 128, 178, .35) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #2b82bd !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
#appScreen .coread-library-head h2 {
  grid-column: 1 / -1 !important;
  margin: 4px 0 0 !important;
  color: #152234 !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}
#appScreen .coread-library-search {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #eceef1 !important;
  color: #77818d !important;
  box-shadow: none !important;
}
#appScreen .coread-library-search span {
  font-size: 22px !important;
  line-height: 1 !important;
}
#appScreen .coread-library-search input {
  width: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #142132 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
#appScreen .coread-library-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px 14px !important;
}
#appScreen .coread-library-book {
  min-width: 0 !important;
  position: relative !important;
  display: grid !important;
  gap: 5px !important;
  align-content: start !important;
}
#appScreen .coread-library-cover {
  width: 100% !important;
  aspect-ratio: .72 !important;
  min-height: 0 !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px 8px !important;
  text-align: center !important;
  box-shadow: 0 1px 0 rgba(18, 34, 52, .08), 0 8px 18px rgba(18, 34, 52, .08) !important;
}
#appScreen .coread-library-cover strong,
#appScreen .coread-library-cover span {
  min-width: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  color: rgba(18, 34, 52, .82) !important;
}
#appScreen .coread-library-cover strong {
  -webkit-line-clamp: 4 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
#appScreen .coread-library-cover span {
  -webkit-line-clamp: 2 !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  opacity: .66 !important;
}
#appScreen .coread-library-book.tone-0 .coread-library-cover { background: linear-gradient(150deg, #ead8d1, #f9f5f1) !important; }
#appScreen .coread-library-book.tone-1 .coread-library-cover { background: linear-gradient(150deg, #c9dce5, #eef6f8) !important; }
#appScreen .coread-library-book.tone-2 .coread-library-cover { background: linear-gradient(150deg, #ead0ba, #fff2e1) !important; }
#appScreen .coread-library-book.tone-3 .coread-library-cover { background: linear-gradient(150deg, #c9d4ef, #eef1ff) !important; }
#appScreen .coread-library-book.tone-4 .coread-library-cover { background: linear-gradient(150deg, #efd3dc, #fff1f5) !important; }
#appScreen .coread-library-book.tone-5 .coread-library-cover { background: linear-gradient(150deg, #d7e6c5, #f5f9ed) !important; }
#appScreen .coread-library-book.tone-6 .coread-library-cover { background: linear-gradient(150deg, #d7c9e8, #f5effc) !important; }
#appScreen .coread-library-book.tone-7 .coread-library-cover { background: linear-gradient(150deg, #cfcfd4, #f6f6f7) !important; }
#appScreen .coread-library-title {
  min-width: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  border: 0 !important;
  background: transparent !important;
  color: #1d2a3a !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}
#appScreen .coread-library-book > small {
  color: #2a85b8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-align: center !important;
}
#appScreen .coread-library-book footer div {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  display: flex !important;
  gap: 4px !important;
}
#appScreen .coread-library-book footer button {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  border: 1px solid rgba(20, 33, 50, .12) !important;
  border-radius: 999px !important;
  padding: 0 !important;
  background: rgba(255,255,255,.88) !important;
  color: #536173 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 10px rgba(18, 34, 52, .12) !important;
}
#appScreen .coread-library-book footer button.active {
  border-color: transparent !important;
  background: #2b82bd !important;
  color: #ffffff !important;
}
#appScreen .coread-library .empty-text {
  grid-column: 1 / -1 !important;
  color: #637083 !important;
}
#appScreen .coread-library-tabs {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 8px 12px 10px !important;
  border-top: 1px solid rgba(20, 33, 50, .12) !important;
  background: rgba(255,255,255,.96) !important;
}
#appScreen .coread-library-tabs button {
  display: grid !important;
  gap: 3px !important;
  justify-items: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #596676 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}
#appScreen .coread-library-tabs button span {
  font-size: 11px !important;
  line-height: 1 !important;
}
#appScreen .coread-library-tabs button.active {
  color: #2b82bd !important;
}
#appScreen .coread-filter-strip {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding-bottom: 2px !important;
  scrollbar-width: none !important;
}
#appScreen .coread-filter-strip button {
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  background: #e9ebef !important;
  color: #667386 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
#appScreen .coread-filter-strip button.active,
#appScreen .coread-filter-strip button:last-child {
  background: #2b82d9 !important;
  color: #fff !important;
}
#appScreen .coread-page-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
  padding: 12px 0 4px !important;
}
#appScreen .coread-page-title h2 {
  margin: 0 !important;
  color: #152234 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
}
#appScreen .coread-page-title button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 9px 13px !important;
  background: #2b82d9 !important;
  color: #fff !important;
  font-weight: 900 !important;
}
#appScreen .coread-resource-card,
#appScreen .coread-chart-card,
#appScreen .coread-ranking-card,
#appScreen .coread-stats-hero,
#appScreen .coread-profile-card {
  display: grid !important;
  gap: 8px !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #fff !important;
  color: #172335 !important;
  box-shadow: 0 1px 0 rgba(18,34,52,.03) !important;
}
#appScreen .coread-resource-card h3,
#appScreen .coread-chart-card h3,
#appScreen .coread-ranking-card h3 {
  margin: 0 !important;
  color: #172335 !important;
  font-size: 20px !important;
}
#appScreen .coread-resource-card button,
#appScreen .coread-ranking-card button {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-top: 1px solid #edf0f4 !important;
  background: transparent !important;
  padding: 13px 0 !important;
  color: #172335 !important;
  text-align: left !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}
#appScreen .coread-resource-card button:first-of-type,
#appScreen .coread-ranking-card button:first-of-type { border-top: 0 !important; }
#appScreen .coread-resource-card b,
#appScreen .coread-ranking-card b {
  color: #667386 !important;
  font-weight: 800 !important;
}
#appScreen .coread-stats-hero strong {
  font-size: 22px !important;
  line-height: 1.35 !important;
}
#appScreen .coread-stats-hero span,
#appScreen .coread-chart-card small,
#appScreen .coread-ranking-card small {
  color: #687588 !important;
  font-size: 13px !important;
}
#appScreen .coread-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
#appScreen .coread-stat-grid article {
  min-width: 0 !important;
  display: grid !important;
  gap: 14px !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #fff !important;
}
#appScreen .coread-stat-grid span {
  color: #2b82d9 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
#appScreen .coread-stat-grid strong {
  color: #172335 !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
}
#appScreen .coread-bar-chart {
  height: 190px !important;
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
  padding-top: 18px !important;
}
#appScreen .coread-bar-chart span {
  height: 100% !important;
  display: grid !important;
  align-items: end !important;
  justify-items: center !important;
  gap: 8px !important;
  color: #738092 !important;
  font-size: 11px !important;
}
#appScreen .coread-bar-chart span::before {
  content: "" !important;
  width: 34px !important;
  height: var(--h) !important;
  min-height: 8px !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #e8ff78, #67bf36) !important;
}
#appScreen .coread-bar-chart i {
  order: -1 !important;
  min-height: 14px !important;
  font-style: normal !important;
}
#appScreen .coread-heat-grid {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  gap: 9px !important;
  padding-top: 14px !important;
}
#appScreen .coread-heat-grid span {
  aspect-ratio: 1 !important;
  border-radius: 8px !important;
  background: #e3e5ea !important;
}
#appScreen .coread-heat-grid .lv-1 { background: #d8edf9 !important; }
#appScreen .coread-heat-grid .lv-2 { background: #a9d7f7 !important; }
#appScreen .coread-heat-grid .lv-3 { background: #6fb6ed !important; }
#appScreen .coread-heat-grid .lv-4 { background: #2b82d9 !important; }
#appScreen .coread-ranking-card button {
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
}
#appScreen .coread-ranking-card button i {
  color: #697789 !important;
  font-family: Georgia, serif !important;
  font-style: italic !important;
}
#appScreen .coread-ranking-card button span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#appScreen .coread-ranking-card article {
  display: grid !important;
  gap: 3px !important;
  border-top: 1px solid #edf0f4 !important;
  padding: 12px 0 !important;
}
#appScreen .coread-profile-card {
  grid-template-columns: auto minmax(0,1fr) !important;
  align-items: center !important;
}
#appScreen .coread-profile-avatar {
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
}
.coread-menu-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99990 !important;
  display: grid !important;
  place-items: start end !important;
  padding: 96px 18px !important;
  background: rgba(16, 24, 34, .16) !important;
  backdrop-filter: blur(4px) !important;
}
.coread-menu-sheet {
  width: min(320px, calc(100vw - 36px)) !important;
  display: grid !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 24px 60px rgba(18,34,52,.22) !important;
}
.coread-menu-sheet button {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(18,34,52,.1) !important;
  background: transparent !important;
  padding: 14px 18px !important;
  color: #172335 !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}
#appScreen .coread-reader-top {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) minmax(92px, 128px) auto !important;
  gap: 8px !important;
  align-items: center !important;
  border-radius: 16px !important;
  padding: 10px !important;
}
#appScreen .coread-reader-top div {
  min-width: 0 !important;
  display: grid !important;
}
#appScreen .coread-reader-top strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#appScreen .coread-page {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 32%) !important;
  gap: 12px !important;
  align-items: start !important;
  border-radius: 18px !important;
  padding: 16px !important;
}
#appScreen .coread-text {
  display: grid !important;
  gap: 12px !important;
  font-size: 16px !important;
  line-height: 1.82 !important;
}
#appScreen .coread-text p {
  margin: 0 !important;
  color: var(--skin-text) !important;
  word-break: break-word !important;
}
#appScreen .coread-notes {
  display: grid !important;
  gap: 8px !important;
}
#appScreen .coread-notes article {
  border-radius: 14px !important;
  padding: 9px 10px !important;
  background: color-mix(in srgb, var(--skin-accent) 12%, var(--surface-strong)) !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 26%, var(--skin-border)) !important;
}
#appScreen .coread-notes article.mood-笑 { background: color-mix(in srgb, var(--skin-accent-2) 16%, var(--surface-strong)) !important; }
#appScreen .coread-notes article.mood-惊 { background: color-mix(in srgb, var(--skin-accent) 20%, var(--surface-strong)) !important; }
#appScreen .coread-notes article.mood-怅 { background: color-mix(in srgb, var(--skin-muted) 14%, var(--surface-strong)) !important; }
#appScreen .coread-notes article.from-user {
  background: color-mix(in srgb, var(--skin-text) 8%, var(--surface-strong)) !important;
}
#appScreen .coread-notes article span {
  display: block !important;
  color: var(--skin-muted) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
#appScreen .coread-notes article p {
  margin: 4px 0 0 !important;
  color: var(--skin-text) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
#appScreen .coread-reader-nav {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
}
#appScreen .coread-reader-nav span {
  text-align: center !important;
  color: var(--skin-muted) !important;
  font-weight: 900 !important;
}
#appScreen .coread-orb {
  position: fixed !important;
  right: calc(18px + var(--safe-right, 0px)) !important;
  bottom: calc(86px + var(--safe-bottom, 0px)) !important;
  z-index: 40 !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 40%, var(--skin-border)) !important;
  background: radial-gradient(circle, var(--skin-accent), var(--skin-accent-2)) !important;
  color: var(--surface-strong) !important;
  font-weight: 900 !important;
  animation: coreadBreath 2.4s ease-in-out infinite !important;
}
#appScreen .coread-together-panel {
  position: fixed !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(18px + var(--safe-bottom, 0px)) !important;
  z-index: 46 !important;
  display: grid !important;
  gap: 10px !important;
  border-radius: 18px !important;
  padding: 12px !important;
  backdrop-filter: blur(18px) !important;
}
#appScreen .coread-together-panel header {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  align-items: start !important;
}
#appScreen .coread-together-panel header div {
  min-width: 0 !important;
  display: grid !important;
}
#appScreen .coread-together-panel header button {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-together-panel textarea {
  min-height: 72px !important;
  resize: vertical !important;
}
#appScreen .coread-together-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
#appScreen .coread-error {
  margin: 0 !important;
  border-radius: 12px !important;
  padding: 9px 10px !important;
  background: color-mix(in srgb, var(--skin-accent) 12%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  font-size: 12px !important;
}
#appScreen .coread-voicebar {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px 10px !important;
  align-items: center !important;
  border: 1px solid var(--skin-border) !important;
  border-radius: 16px !important;
  padding: 10px !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-voicebar button,
#coreadSelectionAction {
  border: 1px solid var(--skin-border) !important;
  border-radius: 999px !important;
  padding: 8px 10px !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: var(--surface-strong) !important;
  font-weight: 900 !important;
}
#appScreen .coread-voicebar label {
  color: var(--skin-muted) !important;
  font-size: 12px !important;
}
#appScreen .coread-voicebar select {
  border: 1px solid var(--skin-border) !important;
  border-radius: 10px !important;
  padding: 6px !important;
  background: color-mix(in srgb, var(--surface-strong) 96%, transparent) !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-voicebar small {
  grid-column: 1 / -1 !important;
  color: var(--skin-muted) !important;
  font-size: 11px !important;
}
#appScreen .coread-inline-notes {
  display: grid !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
#appScreen .coread-inline-notes button {
  width: 100% !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 24%, var(--skin-border)) !important;
  border-radius: 12px !important;
  padding: 8px 9px !important;
  background: color-mix(in srgb, var(--skin-accent) 10%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  text-align: left !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
#appScreen .coread-inline-notes b {
  display: block !important;
  color: var(--skin-muted) !important;
  font-size: 10px !important;
}
#appScreen .coread-notes article small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--skin-muted) !important;
  font-size: 10px !important;
}
#coreadSelectionAction {
  position: fixed !important;
  z-index: 99980 !important;
  max-width: 190px !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--skin-text) 18%, transparent) !important;
}
#appScreen .coread-modern-shelf.coread-app {
  min-height: 100% !important;
  display: grid !important;
  align-content: start !important;
  gap: 16px !important;
  padding: 18px 16px 28px !important;
  overflow-y: auto !important;
  background: color-mix(in srgb, var(--phone-bg) 94%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-modern-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 4px 0 6px !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--phone-bg) 96%, var(--surface-strong)), color-mix(in srgb, var(--phone-bg) 84%, transparent)) !important;
  backdrop-filter: blur(14px) !important;
}
#appScreen .coread-modern-kicker {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--skin-accent) 10%, var(--surface-strong)) !important;
  color: var(--skin-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
#appScreen .coread-modern-head h2 {
  margin: 0 !important;
  color: var(--skin-text) !important;
  font-size: 34px !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}
#appScreen .coread-modern-import {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent) 34%, var(--skin-border)) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-accent) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}
#appScreen .coread-modern-import > span {
  transform: translateY(-1px) !important;
  pointer-events: none !important;
}
#appScreen .coread-modern-import > input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
#appScreen .coread-modern-search {
  grid-column: 1 / -1 !important;
  min-height: 46px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  border-radius: 14px !important;
  padding: 0 13px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 50%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent) !important;
  color: var(--skin-muted) !important;
  box-shadow: none !important;
}
#appScreen .coread-modern-search span {
  font-size: 21px !important;
}
#appScreen .coread-modern-search input {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--skin-text) !important;
  font-size: 16px !important;
  font-weight: 750 !important;
}
#appScreen .coread-modern-tabs {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding-bottom: 2px !important;
  scrollbar-width: none !important;
}
#appScreen .coread-modern-tabs button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 9px 12px !important;
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent) !important;
  color: var(--skin-muted) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-tabs button.active {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: var(--surface-strong) !important;
}
#appScreen .coread-modern-tabs b {
  min-width: 20px !important;
  height: 20px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--surface-strong) 28%, transparent) !important;
  font-size: 11px !important;
}
#appScreen .coread-modern-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px 12px !important;
}
#appScreen .coread-modern-book {
  min-width: 0 !important;
  position: relative !important;
  display: grid !important;
  gap: 6px !important;
  align-content: start !important;
}
#appScreen .coread-modern-cover {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: .68 !important;
  display: grid !important;
  align-content: space-between !important;
  gap: 10px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 7px !important;
  padding: 12px 9px !important;
  text-align: left !important;
  background: linear-gradient(150deg, color-mix(in srgb, var(--skin-accent) 18%, var(--surface-strong)), color-mix(in srgb, var(--skin-accent-2) 12%, var(--surface-strong))) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--skin-text) 10%, transparent) !important;
}
#appScreen .coread-modern-cover.is-opening::after {
  content: "正在打开…";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: inherit;
  color: rgba(18,34,52,.82);
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 12px;
  font-weight: 900;
}
#appScreen .coread-modern-book.tone-0 .coread-modern-cover { background: linear-gradient(150deg, #ead8d1, #f9f5f1) !important; }
#appScreen .coread-modern-book.tone-1 .coread-modern-cover { background: linear-gradient(150deg, #c9dce5, #eef6f8) !important; }
#appScreen .coread-modern-book.tone-2 .coread-modern-cover { background: linear-gradient(150deg, #ead0ba, #fff2e1) !important; }
#appScreen .coread-modern-book.tone-3 .coread-modern-cover { background: linear-gradient(150deg, #c9d4ef, #eef1ff) !important; }
#appScreen .coread-modern-book.tone-4 .coread-modern-cover { background: linear-gradient(150deg, #efd3dc, #fff1f5) !important; }
#appScreen .coread-modern-book.tone-5 .coread-modern-cover { background: linear-gradient(150deg, #d7e6c5, #f5f9ed) !important; }
#appScreen .coread-modern-book.tone-6 .coread-modern-cover { background: linear-gradient(150deg, #d7c9e8, #f5effc) !important; }
#appScreen .coread-modern-book.tone-7 .coread-modern-cover { background: linear-gradient(150deg, #cfcfd4, #f6f6f7) !important; }
#appScreen .coread-modern-cover span {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.48) !important;
  color: rgba(18,34,52,.72) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-cover strong {
  min-width: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  color: rgba(18,34,52,.86) !important;
  font-size: 14px !important;
  line-height: 1.28 !important;
}
#appScreen .coread-modern-title {
  min-width: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--skin-text) !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-book > small,
#appScreen .coread-modern-book > em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--skin-muted) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
#appScreen .coread-modern-progress {
  height: 4px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--skin-border) 54%, transparent) !important;
}
#appScreen .coread-modern-progress i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: var(--skin-accent) !important;
}
#appScreen .coread-modern-book footer div {
  position: absolute !important;
  top: 5px !important;
  right: 5px !important;
  display: flex !important;
  gap: 4px !important;
}
#appScreen .coread-modern-book footer button {
  min-width: 24px !important;
  height: 24px !important;
  border: 1px solid rgba(20,33,50,.12) !important;
  border-radius: 999px !important;
  padding: 0 !important;
  background: rgba(255,255,255,.88) !important;
  color: #536173 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-book footer button[data-coread-ai] {
  width: auto !important;
  max-width: 72px !important;
  padding: 0 7px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#appScreen .coread-modern-book footer button.active {
  border-color: transparent !important;
  background: var(--skin-accent) !important;
  color: var(--surface-strong) !important;
}
.coread-bind-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: end center;
  padding: 16px 14px calc(18px + var(--safe-bottom, 0px));
  background: color-mix(in srgb, var(--skin-text, #2c241d) 24%, transparent);
  backdrop-filter: blur(12px);
}
.coread-bind-sheet {
  width: min(390px, 100%);
  display: grid;
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 86%, transparent);
  border-radius: 22px;
  padding: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent);
  color: var(--skin-text, #2c241d);
  box-shadow: 0 22px 60px color-mix(in srgb, var(--skin-text, #2c241d) 18%, transparent);
}
.coread-bind-sheet header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: start;
}
.coread-bind-sheet header div,
.coread-bind-sheet .coread-bind-list button span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.coread-bind-sheet strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coread-bind-sheet header span,
.coread-bind-sheet .coread-bind-list small {
  color: var(--skin-muted, #7d7166);
  font-size: 12px;
  font-weight: 800;
}
.coread-bind-sheet button {
  min-width: 0;
  border: 0;
  border-radius: 14px;
  color: inherit;
  background: color-mix(in srgb, var(--skin-text, #2c241d) 8%, transparent);
  font: inherit;
  font-weight: 900;
}
.coread-bind-sheet header > button {
  width: 34px;
  height: 34px;
}
.coread-bind-list {
  max-height: min(56dvh, 420px);
  display: grid;
  gap: 8px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.coread-bind-list button {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px;
  text-align: left;
}
.coread-bind-list button.active {
  background: color-mix(in srgb, var(--skin-accent, #b06a88) 16%, transparent);
  color: var(--skin-accent, #b06a88);
}
.coread-bind-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
}
.coread-bind-list .avatar.coread-bind-avatar {
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--skin-accent, #b06a88), var(--skin-accent-2, #d99ab3)) !important;
  color: var(--surface-strong, #fff) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}
.coread-bind-list .avatar.coread-bind-avatar.image-avatar {
  background: transparent !important;
}
.coread-bind-list .coread-bind-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}
.coread-bind-sheet footer button {
  width: 100%;
  min-height: 40px;
  color: var(--skin-muted, #7d7166);
}
#appScreen .coread-reader-modern.coread-app {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: color-mix(in srgb, var(--phone-bg) 90%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
}
#appScreen .coread-modern-reader-top {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) minmax(94px, 132px) 42px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--skin-border) 56%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 82%, transparent) !important;
  backdrop-filter: blur(16px) !important;
}
#appScreen .coread-modern-reader-top button,
#appScreen .coread-modern-tools button,
#appScreen .coread-modern-reader-nav button {
  border: 0 !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  color: var(--skin-text) !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-reader-top button {
  min-height: 34px !important;
  padding: 0 9px !important;
}
#appScreen .coread-modern-reader-top div {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}
#appScreen .coread-modern-reader-top strong,
#appScreen .coread-modern-reader-top small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#appScreen .coread-modern-reader-top small {
  color: var(--skin-muted) !important;
  font-size: 11px !important;
}
#appScreen .coread-modern-chapter {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}
#appScreen .coread-modern-chapter span {
  color: var(--skin-muted) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-chapter select {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 7px !important;
  background: color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  color: var(--skin-text) !important;
  font-size: 12px !important;
}
#appScreen .coread-modern-reader-scroll {
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 18px 16px 110px !important;
}
#appScreen .coread-modern-paper {
  max-width: 720px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 18px !important;
}
#appScreen .coread-modern-reading-heading {
  display: grid !important;
  gap: 7px !important;
  padding: 16px 0 8px !important;
}
#appScreen .coread-modern-reading-heading span,
#appScreen .coread-modern-reading-heading small,
#appScreen .coread-modern-notes-block header span {
  color: var(--skin-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
#appScreen .coread-modern-reading-heading h1 {
  margin: 0 !important;
  color: var(--skin-text) !important;
  font-size: 27px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}
#appScreen .coread-modern-tools {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding: 2px 0 !important;
}
#appScreen .coread-modern-tools button,
#appScreen .coread-modern-tools label {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  padding: 0 12px !important;
  background: color-mix(in srgb, var(--surface-strong) 72%, transparent) !important;
  color: var(--skin-text) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-tools button:first-child {
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: var(--surface-strong) !important;
}
#appScreen .coread-modern-tools select {
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-weight: 900 !important;
}
#appScreen .coread-modern-text {
  display: grid !important;
  gap: 18px !important;
  font-size: 17px !important;
  line-height: 1.86 !important;
}
#appScreen .coread-font-0 .coread-modern-text { font-size: 15px !important; }
#appScreen .coread-font-1 .coread-modern-text { font-size: 17px !important; }
#appScreen .coread-font-2 .coread-modern-text { font-size: 19px !important; }
#appScreen .coread-font-3 .coread-modern-text { font-size: 21px !important; }
#appScreen .coread-modern-text p {
  margin: 0 !important;
  color: var(--skin-text) !important;
  word-break: break-word !important;
}
#appScreen .coread-modern-reading-end {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  color: var(--skin-muted) !important;
  font-size: 12px !important;
}
#appScreen .coread-modern-reading-end span {
  height: 1px !important;
  background: color-mix(in srgb, var(--skin-border) 70%, transparent) !important;
}
#appScreen .coread-modern-notes-block {
  display: grid !important;
  gap: 10px !important;
  border-radius: 16px !important;
  padding: 13px !important;
  background: color-mix(in srgb, var(--surface-strong) 74%, transparent) !important;
}
#appScreen .coread-modern-notes-block header {
  display: grid !important;
  gap: 2px !important;
}
#appScreen .coread-modern-reader-nav {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: calc(12px + var(--safe-bottom, 0px)) !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 52px !important;
  gap: 8px !important;
  align-items: center !important;
  border-radius: 18px !important;
  padding: 10px !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  box-shadow: 0 18px 38px color-mix(in srgb, var(--skin-text) 14%, transparent) !important;
  backdrop-filter: blur(18px) !important;
}
#appScreen .coread-modern-pagebar {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  color: var(--skin-muted) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
#appScreen .coread-modern-progress-control {
  position: relative !important;
  min-width: 0 !important;
  height: 24px !important;
  display: grid !important;
  align-items: center !important;
}
#appScreen .coread-modern-progress-control input {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 24px !important;
  margin: 0 !important;
  opacity: .001 !important;
  cursor: pointer !important;
}
#appScreen .coread-modern-progress-control b {
  pointer-events: none !important;
}
#appScreen .coread-modern-pagebar b {
  height: 5px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--skin-border) 65%, transparent) !important;
}
#appScreen .coread-modern-pagebar i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: var(--skin-accent) !important;
}
#appScreen .coread-modern-pagebar em {
  font-style: normal !important;
}
#appScreen .coread-modern-reader-nav button {
  width: 52px !important;
  height: 44px !important;
  border-radius: 14px !important;
  font-size: 22px !important;
}
#appScreen .coread-modern-reader-nav button:disabled {
  opacity: .35 !important;
}
#appScreen .coread-modern-orb {
  right: calc(18px + var(--safe-right, 0px)) !important;
  bottom: calc(92px + var(--safe-bottom, 0px)) !important;
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--surface-strong) 42%, var(--skin-accent)), var(--skin-accent)) !important;
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--skin-accent) 14%, transparent), 0 14px 30px color-mix(in srgb, var(--skin-accent) 28%, transparent) !important;
}
@media (max-width: 420px) {
  #appScreen .coread-book-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 420px) {
  #appScreen .coread-library-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px 10px !important; } }
@media (max-width: 420px) {
  #appScreen .coread-library.coread-app { padding-left: 14px !important; padding-right: 14px !important; } }
@media (max-width: 420px) {
  #appScreen .coread-library-cover { padding: 8px 6px !important; } }
@media (max-width: 420px) {
  #appScreen .coread-library-cover strong { font-size: 12px !important; } }
@media (max-width: 420px) {
  #appScreen .coread-library-book footer div { display: flex !important; } }
@media (max-width: 420px) {
  #appScreen .coread-reader-top { grid-template-columns: auto minmax(0,1fr) auto !important; } }
@media (max-width: 420px) {
  #appScreen .coread-reader-top select { grid-column: 1 / -1 !important; } }
@media (max-width: 420px) {
  #appScreen .coread-page { grid-template-columns: 1fr !important; } }
@media (max-width: 420px) {
  #appScreen .coread-notes { grid-row: 2 !important; } }
@media (max-width: 420px) {
  #appScreen .coread-voicebar { grid-template-columns: 1fr !important; } }
#appScreen .coread-reader-fanfic.coread-app {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  color: #443d34 !important;
  background: #f2eee6 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(82, 103, 90, .12) !important;
  border-radius: 0 !important;
  padding: 9px 11px !important;
  color: inherit !important;
  background: rgba(249, 246, 239, .9) !important;
  box-shadow: none !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top button,
#appScreen .coread-reader-fanfic .coread-reader-nav > button {
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 11px !important;
  padding: 0 10px !important;
  color: inherit !important;
  background: rgba(88, 112, 97, .09) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top > div {
  min-width: 0 !important;
  display: block !important;
  text-align: center !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top strong,
#appScreen .coread-reader-fanfic .coread-reader-top small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top strong {
  color: inherit !important;
  font-size: 13px !important;
}
#appScreen .coread-reader-fanfic .coread-reader-top small {
  margin-top: 2px !important;
  color: #7a8780 !important;
  font-size: 9px !important;
}
#appScreen .coread-reader-fanfic .coread-chapter-picker {
  width: 72px !important;
  min-height: 34px !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
  border-radius: 11px !important;
  background: rgba(88, 112, 97, .09) !important;
  overflow: hidden !important;
}
#appScreen .coread-reader-fanfic .coread-chapter-picker span {
  pointer-events: none !important;
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
#appScreen .coread-reader-fanfic .coread-chapter-picker select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-scroll {
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}
#appScreen .coread-reader-fanfic .coread-reading-paper {
  width: min(720px, 100%) !important;
  min-height: 100% !important;
  margin: 0 auto !important;
  padding: 34px clamp(20px, 6vw, 54px) 76px !important;
  box-sizing: border-box !important;
}
#appScreen .coread-reader-fanfic .coread-reading-heading {
  padding-bottom: 18px !important;
}
#appScreen .coread-reader-fanfic .coread-reader-interactions {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 24px !important;
  padding: 7px !important;
  border: 1px solid rgba(82, 103, 90, .1) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, .38) !important;
}
#appScreen .coread-reader-fanfic .coread-reader-interactions button,
#appScreen .coread-reader-fanfic .coread-reader-interactions label {
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 0 9px !important;
  color: #48564e !important;
  background: rgba(87, 110, 96, .08) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-interactions button:first-child {
  color: #fffdf8 !important;
  background: #60786a !important;
}
#appScreen .coread-reader-fanfic .coread-reader-interactions select {
  max-width: 62px !important;
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  font: inherit !important;
  font-size: 10px !important;
}
#appScreen .coread-reader-fanfic .coread-text {
  display: block !important;
  gap: 0 !important;
  color: inherit !important;
  font-size: calc(16px * var(--fanfic-font-scale)) !important;
  line-height: 2 !important;
  letter-spacing: 0 !important;
}
#appScreen .coread-reader-fanfic .coread-text p {
  margin: 0 0 1.15em !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  word-break: break-word !important;
}
#appScreen .coread-reader-fanfic .coread-reader-notes-block {
  margin-top: 30px !important;
  padding: 12px !important;
  border: 1px solid rgba(82, 103, 90, .1) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .34) !important;
}
#appScreen .coread-reader-fanfic .coread-reader-notes-block > header {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  align-items: baseline !important;
  margin-bottom: 8px !important;
}
#appScreen .coread-reader-fanfic .coread-reader-notes-block strong {
  color: inherit !important;
  font-size: 12px !important;
}
#appScreen .coread-reader-fanfic .coread-reader-notes-block header span,
#appScreen .coread-reader-fanfic .coread-notes > span {
  color: #7a8780 !important;
  font-size: 10px !important;
}
#appScreen .coread-reader-fanfic .coread-notes {
  display: grid !important;
  gap: 8px !important;
}
#appScreen .coread-reader-fanfic .coread-notes article {
  border: 1px solid rgba(96, 120, 106, .14) !important;
  border-radius: 13px !important;
  padding: 9px 10px !important;
  color: #3f4b43 !important;
  background: rgba(255, 253, 248, .72) !important;
}
#appScreen .coread-reader-fanfic .coread-notes article span,
#appScreen .coread-reader-fanfic .coread-notes article small {
  color: #7a8780 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-nav {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 8px !important;
  border: 0 !important;
  border-top: 1px solid rgba(82, 103, 90, .12) !important;
  border-radius: 0 !important;
  padding: 9px 11px !important;
  color: inherit !important;
  background: rgba(249, 246, 239, .9) !important;
  box-shadow: none !important;
}
#appScreen .coread-reader-fanfic .coread-reader-nav > button:first-child {
  text-align: left !important;
}
#appScreen .coread-reader-fanfic .coread-reader-nav > button:last-child {
  text-align: right !important;
}
#appScreen .coread-reader-fanfic .coread-reader-nav button:disabled {
  opacity: .28 !important;
}
#appScreen .coread-reader-fanfic .coread-reader-tools {
  max-width: 164px !important;
  display: flex !important;
  justify-content: center !important;
  padding: 3px 9px !important;
  border-radius: 12px !important;
  background: rgba(87, 110, 96, .08) !important;
}
#appScreen .coread-reader-fanfic .coread-reader-tools span {
  overflow: hidden !important;
  color: #7a8780 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}
#appScreen .coread-reader-fanfic .coread-orb {
  right: calc(14px + var(--safe-right, 0px)) !important;
  bottom: calc(62px + var(--safe-bottom, 0px)) !important;
  width: 50px !important;
  height: 50px !important;
  border-color: rgba(96, 120, 106, .22) !important;
  background: #60786a !important;
  color: #fffdf8 !important;
  box-shadow: 0 10px 24px rgba(55, 70, 60, .18) !important;
}
@media (max-width: 420px) {
  #appScreen .coread-reader-fanfic .coread-reader-top {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  } }
@media (max-width: 420px) {
  #appScreen .coread-reader-fanfic .coread-chapter-picker {
    width: 62px !important;
  } }
@media (max-width: 420px) {
  #appScreen .coread-reader-fanfic .coread-reading-paper {
    padding: 28px 20px 76px !important;
  } }
@media (max-width: 420px) {
  #appScreen .coread-reader-fanfic .coread-reader-interactions {
    justify-content: flex-start !important;
  } }
#coreadSelectionAction.coread-selection-action {
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 99980 !important;
  width: min(360px, calc(100vw - 28px)) !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #b06a88) 24%, var(--skin-border, #ead6df)) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent) !important;
  color: var(--skin-text, #2c241d) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--skin-text, #2c241d) 18%, transparent) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
#coreadSelectionAction.coread-selection-action button {
  min-height: 38px !important;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #b06a88) 28%, transparent) !important;
  border-radius: 999px !important;
  padding: 8px 10px !important;
  background: color-mix(in srgb, var(--skin-accent, #b06a88) 12%, var(--surface-strong, #fff)) !important;
  color: var(--skin-text, #2c241d) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
#coreadSelectionAction.coread-selection-action button[data-coread-selection-voice] {
  background: linear-gradient(135deg, var(--skin-accent, #b06a88), var(--skin-accent-2, #d99ab3)) !important;
  color: var(--surface-strong, #fff) !important;
}
#appScreen .coread-app,
#appScreen .coread-reader-modern,
#appScreen .coread-library {
  --coread-accent: var(--moss-ui-accent);
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .coread-modern-head,
#appScreen .coread-modern-reader-top,
#appScreen .coread-modern-pagebar {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 93%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#appScreen .coread-modern-head h2,
#appScreen .coread-modern-title { color: var(--moss-ui-text) !important; font-weight: 690; letter-spacing: -.025em; }
#appScreen .coread-modern-kicker,
#appScreen .coread-modern-progress,
#appScreen .coread-modern-chapter { color: var(--moss-ui-muted) !important; }
#appScreen .coread-modern-tabs {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 13px !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .coread-modern-tabs button.active {
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .coread-modern-grid { gap: 10px; }
#appScreen .coread-modern-book {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .coread-modern-cover,
#appScreen .coread-modern-orb {
  color: var(--moss-ui-accent) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .coread-modern-book strong { color: var(--moss-ui-text) !important; }
#appScreen .coread-modern-book small { color: var(--moss-ui-muted) !important; }
#appScreen .coread-modern-paper {
  width: min(100%, 760px);
  padding: clamp(22px, 5vw, 40px);
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .coread-modern-text {
  color: var(--moss-ui-text) !important;
  font-size: 16px;
  line-height: 1.85;
}
#appScreen :where(.coread-modern-notes-block, .coread-together-panel, .coread-bind-sheet) {
  border-color: var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-2) !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open .moss-keyboard-surface-active:not(.coread-together-panel):not(.worldbook-editor-card) {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open #appScreen .coread-together-panel.moss-keyboard-surface-active {
  position: absolute !important;
  top: auto !important;
  right: 14px !important;
  bottom: 6px !important;
  left: 14px !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100% - 12px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-padding-block: 12px 18px !important;
}

/*# source: assets/css/features/worldbook.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.world-row {display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 18px;
  background: #f3f5f9;
  color: #252a31;}

.world-row small {color: #8a93a1;
  font-size: 12px;}

.world-row p {margin: 0;
  color: #5c6470;
  display: -webkit-box;
  overflow: hidden;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;}

.world-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.world-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.world-row strong {color: var(--skin-title) !important;}

.world-row small,
.world-row p {color: var(--skin-muted) !important;}

/* Existing canonical module rules follow. */
/*
 * worldbook feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

#savePersonaButton,
#saveSettingsButton,
.theme-swatch,
#saveWorldBookButton,
.secondary-button,
.file-button {
  min-height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: #0a84ff;
  font-weight: 800;
}
.worldbook-split-app {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: clamp(108px, 30vw, 138px) minmax(0, 1fr);
  gap: 14px;
  padding: 14px 12px calc(18px + var(--safe-bottom));
  background:
    radial-gradient(circle at 16% 8%, color-mix(in srgb, var(--skin-accent, #8eb0da) 16%, transparent), transparent 30%),
    linear-gradient(180deg, color-mix(in srgb, var(--phone-bg, #f4f6fa) 96%, #fff 4%), var(--phone-bg, #f4f6fa));
  color: var(--skin-text, #172033);
  overflow: hidden;
}
.worldbook-sidebar {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  padding: 12px 8px;
  border-right: 1px solid color-mix(in srgb, var(--skin-border, rgba(86, 105, 128, 0.18)) 70%, transparent);
}
.worldbook-sidebar-title {
  min-height: 58px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: color-mix(in srgb, var(--skin-accent, #6f93bd) 82%, var(--skin-text, #172033));
  background: color-mix(in srgb, var(--surface-strong, #fff) 66%, transparent);
  border: 1px solid color-mix(in srgb, var(--skin-accent, #8eb0da) 22%, transparent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text, #172033) 7%, transparent), inset 0 1px rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0.02em;
}
.worldbook-tab-list {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
}
.worldbook-tab {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 18px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--skin-muted, #667589);
  text-align: left;
  font-weight: 900;
}
.worldbook-tab span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.worldbook-tab em {
  min-width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 62%, transparent);
  color: inherit;
  font-size: 11px;
  font-style: normal;
}
.worldbook-tab.active {
  color: var(--skin-text, #172033);
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent);
  border-color: color-mix(in srgb, var(--skin-border, #d6dde7) 62%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--skin-text, #172033) 8%, transparent), inset 0 1px rgba(255, 255, 255, 0.82);
}
.worldbook-workspace {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: stretch;
  gap: 12px;
  overflow: hidden;
  padding-right: 2px;
}
.worldbook-workspace-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 2px 0 4px;
}
.worldbook-workspace-head div {
  min-width: 0;
}
.worldbook-workspace-head small,
.worldbook-workspace-head p {
  display: block;
  margin: 0;
  overflow: hidden;
  color: var(--skin-muted, #667589);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 850;
}
.worldbook-workspace-head h1 {
  margin: 2px 0 4px;
  color: var(--skin-text, #172033);
  font-size: clamp(24px, 7vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.worldbook-add-button {
  min-height: 42px;
  max-width: 136px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--skin-border, #d6dde7) 60%, transparent);
  background: color-mix(in srgb, var(--surface-strong, #fff) 86%, transparent);
  color: color-mix(in srgb, var(--skin-accent, #6f93bd) 76%, var(--skin-text, #172033));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--skin-text, #172033) 7%, transparent), inset 0 1px rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}
.worldbook-editor-card,
.worldbook-card,
.worldbook-empty-card {
  border: 1px solid color-mix(in srgb, var(--skin-border, #d6dde7) 72%, transparent);
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, transparent);
  color: var(--skin-text, #172033);
  box-shadow: 0 14px 32px color-mix(in srgb, var(--skin-text, #172033) 8%, transparent), inset 0 1px rgba(255, 255, 255, 0.76);
  backdrop-filter: blur(24px) saturate(1.18);
  -webkit-backdrop-filter: blur(24px) saturate(1.18);
}
.worldbook-editor-card {
  max-height: min(52vh, 520px);
  overflow: auto;
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 26px;
  -webkit-overflow-scrolling: touch;
}
.worldbook-editor-card header {
  display: grid;
  gap: 2px;
}
.worldbook-editor-card header span {
  color: var(--skin-muted, #667589);
  font-size: 12px;
  font-weight: 900;
}
.worldbook-editor-card header h2 {
  margin: 0;
  color: var(--skin-text, #172033);
  font-size: 18px;
}
.worldbook-editor-card .field,
.worldbook-editor-card .field span {
  color: var(--skin-text, #172033);
}
.worldbook-editor-card input,
.worldbook-editor-card select,
.worldbook-editor-card textarea {
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--skin-border, #d6dde7) 68%, transparent);
  background: color-mix(in srgb, var(--phone-bg, #f4f6fa) 62%, #fff 38%);
  color: var(--skin-text, #172033);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.5);
}
.worldbook-code-input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
.worldbook-reader-list {
  max-height: 120px;
  overflow-y: auto;
  padding: 2px;
}
.worldbook-editor-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.worldbook-editor-actions button,
.worldbook-card-actions button {
  min-height: 40px;
  border-radius: 16px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border, #d6dde7) 62%, transparent) !important;
  background: color-mix(in srgb, var(--phone-bg, #f4f6fa) 70%, transparent) !important;
  color: var(--skin-text, #172033) !important;
  font-weight: 900;
}
.worldbook-editor-actions button:first-child {
  background: linear-gradient(135deg, var(--skin-accent, #8eb0da), var(--skin-accent-2, #adc7e6)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.worldbook-list-panel {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  overflow-y: auto;
  padding: 2px 2px calc(10px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;
}
.worldbook-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 25px;
}
.worldbook-card.disabled {
  opacity: 0.62;
}
.worldbook-card-main {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 0;
  background: transparent !important;
  color: inherit !important;
  text-align: left;
  box-shadow: none !important;
}
.worldbook-card-title {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.worldbook-card-title strong {
  min-width: 0;
  overflow: hidden;
  color: var(--skin-text, #172033);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.2;
}
.worldbook-card-title i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-accent, #ffbd2e) 80%, #ffbd2e);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--skin-accent, #ffbd2e) 14%, transparent);
}
.worldbook-card small,
.worldbook-card p,
.worldbook-empty-card p {
  margin: 0;
  overflow: hidden;
  color: var(--skin-muted, #667589);
  line-height: 1.45;
}
.worldbook-card small {
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 850;
}
.worldbook-card p {
  display: -webkit-box;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.worldbook-card-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.worldbook-card-actions button {
  min-height: 34px;
  font-size: 12px;
}
.worldbook-card-actions .danger-button {
  background: color-mix(in srgb, #ff3b30 14%, var(--phone-bg, #f4f6fa)) !important;
  color: #d33a33 !important;
}
.worldbook-empty-card {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 25px;
}
.worldbook-empty-card strong {
  color: var(--skin-text, #172033);
  font-size: 18px;
}
.worldbook-split-app,
.worldbook-sidebar,
.worldbook-workspace,
.worldbook-editor-card,
.worldbook-card {
  position: relative;
}
.worldbook-workspace {
  z-index: 2;
  pointer-events: auto;
}
.worldbook-workspace-head,
.worldbook-editor-actions,
.worldbook-card-actions {
  position: relative;
  z-index: 4;
  pointer-events: auto;
}
.worldbook-workspace button,
.worldbook-workspace input,
.worldbook-workspace select,
.worldbook-workspace textarea,
.worldbook-sidebar button {
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.worldbook-card-main {
  position: relative;
  z-index: 1;
}
.worldbook-card-actions button,
.worldbook-editor-actions button,
.worldbook-add-button {
  z-index: 20;
  position: relative;
  pointer-events: auto;
}
html[data-ui-mode="dark"] .worldbook-split-app {
  background:
    radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--skin-accent, #8eb0da) 20%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--phone-bg, #1f2229) 95%, #000 5%), var(--phone-bg, #1f2229));
}
html[data-ui-mode="dark"] .worldbook-sidebar-title,
html[data-ui-mode="dark"] .worldbook-tab.active,
html[data-ui-mode="dark"] .worldbook-add-button,
html[data-ui-mode="dark"] .worldbook-editor-card,
html[data-ui-mode="dark"] .worldbook-card,
html[data-ui-mode="dark"] .worldbook-empty-card {
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.08);
}
@media (max-width: 390px) {
  .worldbook-split-app {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 10px;
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (max-width: 390px) {

  .worldbook-sidebar {
    padding-left: 4px;
    padding-right: 6px;
  }
}
@media (max-width: 390px) {

  .worldbook-sidebar-title {
    min-height: 52px;
    font-size: 13px;
  }
}
@media (max-width: 390px) {

  .worldbook-tab {
    min-height: 48px;
    padding: 0 8px;
    font-size: 13px;
  }
}
@media (max-width: 390px) {

  .worldbook-workspace-head {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 390px) {

  .worldbook-add-button {
    justify-self: start;
    max-width: 100%;
    min-height: 38px;
  }
}
@media (max-width: 390px) {

  .worldbook-editor-card {
    max-height: 48vh;
    border-radius: 22px;
  }
}
@media (max-width: 390px) {

  .worldbook-card-title strong {
    font-size: 16px;
  }
}
.worldbook-workspace {
  display: flex !important;
  flex-direction: column;
}
.worldbook-list-panel {
  flex: 1 1 auto;
}
.worldbook-reader-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  grid-template-columns: none !important;
  max-height: 148px !important;
  overflow-y: auto !important;
  padding: 2px !important;
}
.worldbook-reader-list .check-pill {
  width: auto !important;
  min-height: 32px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
}
.worldbook-reader-list .check-pill input {
  width: 16px !important;
  height: 16px !important;
}
.worldbook-reader-list .check-pill span {
  white-space: nowrap !important;
  font-size: 13px !important;
}
.worldbook-editor-card {
  position: fixed;
  inset: 0;
  z-index: 1200;
  max-height: none;
  max-width: 720px;            /* 手机上等于满宽；桌面预览居中不至于过宽 */
  margin: 0 auto;
  border-radius: 0;
  padding: 16px 14px calc(20px + env(safe-area-inset-bottom));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: color-mix(in srgb, var(--surface-strong, #fff) 97%, transparent);
  backdrop-filter: blur(28px) saturate(1.2);
  -webkit-backdrop-filter: blur(28px) saturate(1.2);
}
.worldbook-editor-card #localWorldBookInput,
.worldbook-editor-card #globalWorldBookInput {
  min-height: 46vh !important;
  height: 46vh;
  resize: vertical;
  line-height: 1.55;
}
.worldbook-editor-card .worldbook-editor-actions {
  position: sticky;
  bottom: 0;
  margin-top: 4px;
  padding: 10px 0 2px;
  background: linear-gradient(to top, var(--surface-strong, #fff) 74%, transparent);
}
.worldbook-group-list { display: flex; flex-direction: column; gap: 4px; padding: 4px 0 8px; }
.worldbook-group-chip { text-align: left; padding: 7px 10px; border-radius: 8px; border: none; background: transparent; color: inherit; font-size: 13px; cursor: pointer; opacity: 0.8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.worldbook-group-chip:hover { background: rgba(127,127,127,0.12); opacity: 1; }
.worldbook-group-chip.active { background: rgba(127,127,127,0.18); opacity: 1; font-weight: 600; }
.worldbook-group-section { margin-bottom: 14px; }
.worldbook-group-heading { font-size: 13px; font-weight: 600; opacity: 0.7; margin: 6px 2px 8px; display: flex; align-items: center; gap: 6px; }
.worldbook-group-heading em { font-style: normal; font-size: 12px; opacity: 0.7; font-weight: 400; }
#appScreen #saveWorldBookButton,
#appScreen .worldbook-editor-actions button:not(.secondary-button):not(.danger-button) {
  background: var(--ed-accent-soft) !important;
  background-image: none !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  box-shadow: none !important;
}
body[class*="theme-tone-"] :is(
  .panel,
  .settings-row,
  .persona-row,
  .wechat-contact,
  .api-log-row,
  .api-log-block,
  .world-row,
  .memory-entry,
  .memory-module-card,
  .memory-role-row,
  .favorite-card,
  .favorite-search-result,
  .diary-card,
  .important-date-card,
  .life-status-section,
  .note-card,
  .period-card,
  .period-calendar,
  .period-list,
  .char-phone-shell,
  .forward-picker-sheet,
  .context-debug-panel,
  .mind-panel,
  .inspiration-panel,
  .chat-extra-panel,
  .voice-capture-card,
  .incoming-call-card,
  .worldbook-editor-card,
  .date-writing-head,
  .date-writing-card,
  .date-writing-actions
) {
  color: var(--tone-text) !important;
  background: var(--tone-surface-strong) !important;
  border-color: var(--tone-line) !important;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--tone-text) 7%, transparent) !important;
}
#appScreen .worldbook-head-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
#appScreen .worldbook-head-actions .worldbook-add-button { margin: 0; }
#appScreen .worldbook-workspace.npc-mode { grid-template-rows: auto minmax(0, 1fr); }
@media (max-width: 760px) {
  #appScreen .worldbook-head-actions { width: 100%; justify-content: stretch; }
}
@media (max-width: 760px) {
  #appScreen .worldbook-head-actions .worldbook-add-button { flex: 1 1 calc(50% - 4px); min-width: 0; padding-inline: 8px; }
}
body.pwa-standalone .app-body:has(.worldbook-split-app) {
  padding-top: var(--android-pwa-topbar-reserve) !important;
}
body.pwa-standalone .worldbook-split-app {
  height: calc(var(--app-height) - var(--android-pwa-topbar-reserve)) !important;
  min-height: 0 !important;
}
body.pwa-standalone .worldbook-editor-card {
  top: var(--android-pwa-topbar-reserve) !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(var(--app-height) - var(--android-pwa-topbar-reserve)) !important;
  max-height: none !important;
  scroll-margin-top: 0;
  padding-top: 18px !important;
}
@media (max-width: 520px) {
  .worldbook-workspace-head {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px !important;
  }
}
@media (max-width: 520px) {

  .worldbook-workspace-head h1 {
    font-size: clamp(22px, 6vw, 28px) !important;
    letter-spacing: 0 !important;
    line-height: 1.14 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}
@media (max-width: 520px) {

  .worldbook-workspace-head small,
  .worldbook-workspace-head p {
    white-space: normal !important;
  }
}
@media (max-width: 520px) {

  .worldbook-head-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}
@media (max-width: 520px) {

  .worldbook-head-actions .worldbook-add-button {
    flex: 1 1 128px !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}
.worldbook-canon-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent, #c4607a) 88%, #7b2f3a), color-mix(in srgb, var(--skin-accent-2, #d9a66d) 66%, #c7a465));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--skin-accent, #c4607a) 18%, transparent), 0 8px 18px color-mix(in srgb, var(--skin-accent, #c4607a) 16%, transparent);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: nowrap;
}
.worldbook-canon-toggle {
  justify-content: flex-start;
  width: fit-content;
  margin: 4px 0 0;
  border-color: color-mix(in srgb, var(--skin-accent, #c4607a) 24%, var(--skin-border, rgba(0,0,0,.12)));
  background: color-mix(in srgb, var(--skin-accent, #c4607a) 8%, var(--surface-strong, #fff));
}
.worldbook-canon-hint {
  margin: -2px 0 2px;
  color: var(--skin-muted, #667589);
  font-size: 12px;
  line-height: 1.55;
}
html[data-ui-mode="dark"] .worldbook-canon-badge {
  color: #22151a;
  background: linear-gradient(135deg, color-mix(in srgb, var(--skin-accent, #d49aae) 82%, #fff1f7), color-mix(in srgb, var(--skin-accent-2, #d0ad91) 72%, #f3d6b5));
}
#appScreen .worldbook-split-app {
  display: grid !important;
  grid-template-columns: clamp(108px, 30vw, 138px) minmax(0, 1fr) !important;
  min-width: 0;
  overflow: hidden;
}
#appScreen .worldbook-sidebar {
  width: auto !important;
  min-width: 0;
}
#appScreen .worldbook-tab-list {
  display: grid !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
#appScreen .worldbook-workspace {
  width: auto !important;
  min-width: 0;
}
@media (max-width: 390px) {
  #appScreen .worldbook-split-app {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }
}
#appScreen .worldbook-split-app {
  --wb-parchment: #dbdad7;
  --wb-paper: #ffffff;
  --wb-sand: #e6e4e0;
  --wb-ink: #121212;
  --wb-smoke: #616161;
  --wb-charcoal: #18181b;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 0 calc(8px + var(--safe-bottom)) !important;
  overflow: hidden !important;
  color: var(--wb-ink) !important;
  background: var(--wb-parchment) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif !important;
  letter-spacing: .035em;
}
#appScreen .worldbook-sidebar {
  position: relative !important;
  z-index: 8 !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  padding: 8px 10px 9px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(18,18,18,.10) !important;
  background: var(--wb-parchment) !important;
  box-shadow: none !important;
}
#appScreen .worldbook-sidebar-title {
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 2px 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--wb-smoke) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: .10em !important;
}
#appScreen .worldbook-sidebar-title:not(:first-child) {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(18,18,18,.08) !important;
}
#appScreen .worldbook-tab-list,
#appScreen .worldbook-group-list {
  min-height: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 1px 1px !important;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}
#appScreen .worldbook-tab-list::-webkit-scrollbar,
#appScreen .worldbook-group-list::-webkit-scrollbar { display: none; }
#appScreen .worldbook-tab,
#appScreen .worldbook-group-chip {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 32px !important;
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(18,18,18,.10) !important;
  border-radius: 999px !important;
  background: var(--wb-paper) !important;
  box-shadow: none !important;
  color: var(--wb-ink) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .055em !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}
#appScreen .worldbook-tab.active {
  border-color: var(--wb-charcoal) !important;
  background: var(--wb-charcoal) !important;
  color: #fff !important;
}
#appScreen .worldbook-group-chip.active {
  border-color: rgba(18,18,18,.50) !important;
  background: var(--wb-sand) !important;
  color: var(--wb-ink) !important;
}
#appScreen .worldbook-tab em,
#appScreen .worldbook-group-chip em {
  min-width: 18px !important;
  height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: var(--wb-sand) !important;
  color: var(--wb-smoke) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
#appScreen .worldbook-tab.active em {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
#appScreen .worldbook-tab-short { display: none; }
#appScreen .worldbook-workspace {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  overflow: hidden !important;
  padding: 10px 10px 0 !important;
  background: var(--wb-parchment) !important;
}
#appScreen .worldbook-workspace-head {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  padding: 11px !important;
  border: 1px solid rgba(18,18,18,.10) !important;
  border-radius: 8px !important;
  background: var(--wb-paper) !important;
  box-shadow: none !important;
}
#appScreen .worldbook-head-copy { min-width: 0 !important; }
#appScreen .worldbook-workspace-head small {
  color: var(--wb-smoke) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
}
#appScreen .worldbook-workspace-head h1 {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 1px 0 3px !important;
  color: var(--wb-ink) !important;
  font-family: Georgia, "Songti SC", "Source Han Serif SC", serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}
#appScreen .worldbook-workspace-head h1 em {
  min-width: 21px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--wb-sand);
  color: var(--wb-smoke);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
}
#appScreen .worldbook-workspace-head p {
  display: -webkit-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--wb-smoke) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .045em !important;
  white-space: normal !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#appScreen .worldbook-head-actions {
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: stretch !important;
  gap: 6px !important;
}
#appScreen .worldbook-head-actions .worldbook-add-button {
  flex: 1 1 calc(50% - 3px) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  border: 1px solid rgba(18,18,18,.14) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--wb-ink) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
}
#appScreen .worldbook-head-actions .worldbook-add-button:first-child {
  flex-basis: 100% !important;
  border-color: var(--wb-charcoal) !important;
  background: var(--wb-charcoal) !important;
  color: #fff !important;
}
#appScreen .worldbook-list-panel {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  overflow-y: auto !important;
  padding: 0 0 calc(10px + var(--safe-bottom)) !important;
  scroll-padding-bottom: calc(14px + var(--safe-bottom));
  -webkit-overflow-scrolling: touch;
}
#appScreen .worldbook-group-section {
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#appScreen .worldbook-group-heading {
  min-height: 31px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 6px !important;
  padding: 0 3px !important;
  list-style: none !important;
  color: var(--wb-ink) !important;
  cursor: pointer;
  opacity: 1 !important;
}
#appScreen .worldbook-group-heading::-webkit-details-marker { display: none; }
#appScreen .worldbook-group-heading span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: .055em !important;
}
#appScreen .worldbook-group-heading em {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--wb-smoke) !important;
  font-size: 9.5px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
}
#appScreen .worldbook-group-heading i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-right: 1.5px solid var(--wb-smoke);
  border-bottom: 1.5px solid var(--wb-smoke);
  transform: rotate(45deg) translateY(-2px);
  transition: transform .16s ease;
}
#appScreen .worldbook-group-section:not([open]) .worldbook-group-heading i {
  transform: rotate(-45deg) translate(-1px, 1px);
}
#appScreen .worldbook-group-cards {
  display: grid;
  gap: 8px;
  padding-bottom: 4px;
}
#appScreen .worldbook-card,
#appScreen .worldbook-empty-card {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(18,18,18,.10) !important;
  border-radius: 8px !important;
  background: var(--wb-paper) !important;
  color: var(--wb-ink) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#appScreen .worldbook-card.disabled { opacity: .64 !important; }
#appScreen .worldbook-card-main {
  display: grid !important;
  gap: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  text-align: left !important;
}
#appScreen .worldbook-card-heading {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
#appScreen .worldbook-card-title {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
#appScreen .worldbook-card-title strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--wb-ink) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: .025em !important;
}
#appScreen .worldbook-card-state {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 4px 7px;
  border: 1px solid rgba(18,18,18,.11);
  border-radius: 999px;
  background: var(--wb-sand);
  color: var(--wb-ink);
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .045em;
  white-space: nowrap;
}
#appScreen .worldbook-card-state.is-off {
  background: transparent;
  color: var(--wb-smoke);
}
#appScreen .worldbook-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
#appScreen .worldbook-card-meta > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--wb-sand);
  color: var(--wb-smoke);
  font-size: 9px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em;
}
#appScreen .worldbook-card p {
  display: -webkit-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--wb-smoke) !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: .035em !important;
  white-space: pre-line !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3 !important;
}
#appScreen .worldbook-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding-top: 1px;
}
#appScreen .worldbook-card-actions button {
  flex: 1 1 58px !important;
  min-width: 0 !important;
  min-height: 29px !important;
  padding: 0 7px !important;
  border: 1px solid rgba(18,18,18,.13) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--wb-ink) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
}
#appScreen .worldbook-card-actions button:nth-last-child(2) {
  border-color: var(--wb-charcoal) !important;
  background: var(--wb-charcoal) !important;
  color: #fff !important;
}
#appScreen .worldbook-card-actions .danger-button {
  border-style: dashed !important;
  background: transparent !important;
  color: var(--wb-smoke) !important;
}
#appScreen .worldbook-canon-badge {
  flex: 0 0 auto !important;
  padding: 4px 7px !important;
  border: 1px solid rgba(18,18,18,.12) !important;
  border-radius: 999px !important;
  background: var(--wb-sand) !important;
  box-shadow: none !important;
  color: var(--wb-ink) !important;
  font-size: 8.5px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .05em !important;
}
#appScreen .worldbook-empty-card { padding: 16px !important; }
#appScreen .worldbook-empty-card strong {
  color: var(--wb-ink) !important;
  font-family: Georgia, "Songti SC", serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}
#appScreen .worldbook-empty-card p {
  margin: 0 !important;
  color: var(--wb-smoke) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}
#appScreen .worldbook-editor-card {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1200 !important;
  max-width: 720px !important;
  max-height: none !important;
  margin: 0 auto !important;
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 0 12px calc(16px + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--wb-parchment) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--wb-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "PingFang SC", sans-serif !important;
}
#appScreen .worldbook-editor-card > header {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  display: grid !important;
  gap: 2px !important;
  margin: 0 -12px !important;
  padding: calc(13px + env(safe-area-inset-top)) 12px 10px !important;
  border-bottom: 1px solid rgba(18,18,18,.10) !important;
  background: var(--wb-parchment) !important;
}
#appScreen .worldbook-editor-card > header span {
  color: var(--wb-smoke) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  letter-spacing: .09em !important;
}
#appScreen .worldbook-editor-card > header h2 {
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--wb-ink) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-family: Georgia, "Songti SC", "Source Han Serif SC", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}
#appScreen .worldbook-editor-card .field {
  display: grid !important;
  gap: 5px !important;
  color: var(--wb-ink) !important;
}
#appScreen .worldbook-editor-card .field > span,
#appScreen .worldbook-editor-card label.field > span {
  color: var(--wb-smoke) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .055em !important;
}
#appScreen .worldbook-editor-card input,
#appScreen .worldbook-editor-card select,
#appScreen .worldbook-editor-card textarea {
  min-height: 38px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(18,18,18,.13) !important;
  border-radius: 8px !important;
  background: var(--wb-paper) !important;
  box-shadow: none !important;
  color: var(--wb-ink) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: .03em !important;
}
#appScreen .worldbook-editor-card textarea { resize: vertical; }
#appScreen .worldbook-editor-card #localWorldBookInput,
#appScreen .worldbook-editor-card #globalWorldBookInput {
  min-height: 42vh !important;
  height: 42vh !important;
}
#appScreen .worldbook-editor-card .hint-text,
#appScreen .worldbook-canon-hint {
  margin: -3px 0 0 !important;
  color: var(--wb-smoke) !important;
  font-size: 9.5px !important;
  line-height: 1.5 !important;
  letter-spacing: .035em !important;
}
#appScreen .worldbook-editor-card .check-pill {
  min-height: 30px !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(18,18,18,.11) !important;
  border-radius: 999px !important;
  background: var(--wb-paper) !important;
  color: var(--wb-ink) !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 400 !important;
}
#appScreen .worldbook-reader-list {
  max-height: 132px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 6px !important;
  overflow-y: auto !important;
  padding: 2px 0 !important;
}
#appScreen .worldbook-editor-card .worldbook-editor-actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 6 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, .72fr) !important;
  gap: 7px !important;
  margin: 2px -12px -16px !important;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(18,18,18,.10) !important;
  background: var(--wb-parchment) !important;
}
#appScreen .worldbook-editor-actions button,
#appScreen #saveWorldBookButton,
#appScreen #addLocalWorldBookButton {
  min-height: 36px !important;
  border: 1px solid var(--wb-charcoal) !important;
  border-radius: 999px !important;
  background: var(--wb-charcoal) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .045em !important;
}
#appScreen .worldbook-editor-actions .secondary-button {
  border-color: rgba(18,18,18,.18) !important;
  background: var(--wb-paper) !important;
  color: var(--wb-ink) !important;
}
html[data-ui-mode="dark"] #appScreen .worldbook-split-app,
html[data-ui-mode="dark"] #appScreen .worldbook-sidebar,
html[data-ui-mode="dark"] #appScreen .worldbook-workspace,
html[data-ui-mode="dark"] #appScreen .worldbook-editor-card {
  color-scheme: light !important;
  background: var(--wb-parchment) !important;
}
@media (max-width: 480px) {
  #appScreen .worldbook-tab-label { display: none !important; }
}
@media (max-width: 480px) {
  #appScreen .worldbook-tab-short { display: inline !important; }
}
@media (max-width: 480px) {
  #appScreen .worldbook-tab { padding-inline: 9px !important; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-workspace { padding-inline: 16px !important; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-workspace-head { grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr) !important; align-items: center !important; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-head-actions .worldbook-add-button:first-child { flex-basis: calc(50% - 3px) !important; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-list-panel { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-group-section { grid-column: 1 / -1; }
}
@media (min-width: 640px) {
  #appScreen .worldbook-group-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#appScreen .worldbook-split-app.is-editing {
  padding-bottom: 0 !important;
}
#appScreen .worldbook-split-app.is-editing > .worldbook-sidebar,
#appScreen .worldbook-split-app.is-editing .worldbook-workspace-head,
#appScreen .worldbook-split-app.is-editing .worldbook-list-panel {
  display: none !important;
}
#appScreen .worldbook-split-app.is-editing .worldbook-workspace {
  min-height: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
}
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-padding-top: 88px !important;
  -webkit-overflow-scrolling: touch !important;
}
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card > header {
  flex: 0 0 auto !important;
  padding-top: 13px !important;
}
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card > .field:first-of-type {
  scroll-margin-top: 84px !important;
}
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card input:focus,
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card select:focus,
#appScreen .worldbook-split-app.is-editing .worldbook-editor-card textarea:focus {
  scroll-margin-top: 88px !important;
}
body.pwa-standalone #appScreen .worldbook-split-app.is-editing .worldbook-editor-card {
  top: auto !important;
  bottom: auto !important;
  height: 100% !important;
  padding-top: 0 !important;
}
html.ios-pwa-standalone.keyboard-open body.keyboard-open #appScreen .worldbook-editor-card.moss-keyboard-surface-active {
  position: relative !important;
  inset: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-padding-block: 88px 18px !important;
}

/*# source: assets/css/features/preset.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.tavern-helper-frame {width: 100%;
  min-height: 260px;
  margin-top: 12px;
  border: 1px solid var(--skin-border);
  border-radius: 16px;
  background: #111;}

.tavern-helper-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 10px;}

.tavern-helper-grid div {display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 14px;
  background: #f3f5f9;
  color: #253044;}

.tavern-helper-grid strong {font-size: 20px;}

.tavern-helper-grid span {color: #6b7280;
  font-size: 12px;}

.persona-row {width: 100%;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  color: #17181c;
  background: #f3f5f9;
  text-align: left;}

.persona-row > span {min-width: 0;}

.custom-ui-block {display: grid;
  gap: 12px;}

.custom-ui-block header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;}

.custom-ui-block header small {display: block;
  margin-top: 2px;
  color: var(--skin-muted);}

.custom-ui-block pre {max-height: 190px;
  overflow: auto;
  margin: 0;
  padding: 12px;
  border-radius: 14px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--skin-text) 7%, transparent);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;}

.persona-row.active {color: #fff;
  background: linear-gradient(145deg, #1f7edb, #24b879);}

.persona-row .avatar {width: 42px;
  border-radius: 14px;}

.persona-row small {display: block;
  margin-top: 2px;
  overflow: hidden;
  max-width: 100%;
  color: inherit;
  opacity: 0.76;
  text-overflow: ellipsis;
  white-space: nowrap;}

.persona-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.persona-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.custom-ui-status {padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);border:1px solid var(--skin-border);color:var(--skin-muted)}

.custom-ui-status strong {color:var(--skin-text)}

.custom-ui-block pre {max-height:180px;overflow:auto}

.custom-ui-warning {color:#b36b00;background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.25);border-radius:14px;padding:8px 10px;margin:8px 0}

.custom-ui-preview-overlay {position: fixed;
  inset: 0;
  z-index: 99998;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));
  background: rgba(8, 10, 14, 0.54);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}

.custom-ui-preview-sheet {width: min(440px, calc(100vw - 28px));
  max-height: min(78vh, 720px);
  overflow: auto;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid var(--skin-border);
  background: color-mix(in srgb, var(--surface-strong) 94%, var(--phone-bg));
  color: var(--skin-text);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34);}

.custom-ui-preview-head {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;}

.custom-ui-preview-head h3 {margin: 0;
  font-size: 18px;}

.custom-ui-preview-head button,
.custom-ui-preview-actions button {min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 86%, transparent);
  border: 1px solid var(--skin-border);
  font-weight: 900;}

.custom-ui-preview-actions {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.custom-ui-preview-actions button:first-child {background: var(--skin-accent);
  color: #fff;}

.custom-ui-preview-demo {display: grid;
  gap: 12px;}

.custom-ui-preview-demo .mind-panel,
.custom-ui-preview-demo .panel {min-height: auto;
  height: auto;}

#personaWeaverDraftList {display: grid;
  gap: 8px;
  padding: 0 10px 10px;}

.app-screen .persona-row.active small {color: var(--ed-muted) !important;}

.app-screen .panel .persona-row,
.app-screen .list-stack .persona-row {background: var(--ed-surface-strong) !important;
  color: var(--ed-text) !important;
  border: 1px solid var(--ed-line) !important;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ed-text) 6%, transparent) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;}

.app-screen .persona-row strong {color: var(--ed-text) !important;}

.app-screen .persona-row small {color: var(--ed-muted) !important;}

.app-screen .persona-row.active {background: var(--ed-accent-soft) !important; color: var(--ed-text) !important;}

.app-screen .persona-row.active strong {color: var(--ed-accent) !important;}

#appScreen .persona-row.active {background: var(--ed-accent-soft) !important;}

#appScreen .persona-row.active strong {color: var(--ed-accent) !important;}

.tavern-compat-settings-card select {width: 100%;}

.tavern-native-card {margin: 12px 0 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(64,54,45,.18)) 82%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 94%, transparent);
  box-shadow: 0 8px 20px rgba(45, 37, 30, .06);}

.tavern-native-card > summary {display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 13px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 800;
  color: var(--skin-title, #312a24);}

.tavern-native-card > summary::-webkit-details-marker {display: none;}

.tavern-native-card > summary::after {content: "›";
  margin-left: auto;
  opacity: .48;
  transition: transform .18s ease;}

.tavern-native-card[open] > summary::after {transform: rotate(90deg);}

.tavern-card-body {padding: 0 13px 13px;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, rgba(64,54,45,.12)) 58%, transparent);}

.tavern-summary-card {background: color-mix(in srgb, #f6efe5 78%, var(--surface-strong, #fff));}

.tavern-foreshadow-card {background: color-mix(in srgb, #eee9f8 72%, var(--surface-strong, #fff));}

.tavern-interlude-card {background: color-mix(in srgb, #f4efe9 75%, var(--surface-strong, #fff));}

.tavern-choice-grid {display: grid;
  gap: 8px;
  padding: 0 11px 12px;}

.tavern-choice-grid button {display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  width: 100%;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, var(--skin-accent, #8d735e) 22%, var(--skin-border, rgba(64,54,45,.15)));
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 92%, transparent);
  color: var(--skin-text, #342e29);
  text-align: left;
  line-height: 1.45;}

.tavern-choice-grid button:active {transform: scale(.992);}

.tavern-choice-grid small {padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-accent, #8d735e) 14%, transparent);
  color: var(--skin-accent, #7d6653);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;}

.tavern-choice-grid span {font-size: 12px; font-weight: 650;}

/* Existing canonical module rules follow. */
/*
 * preset feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */
.preset-gradient { background: linear-gradient(145deg, #6c5ce7, #00b894 54%, #fdcb6e); }
.preset-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  background: #f3f5f9;
  color: #20242d;
  cursor: pointer;
}
.preset-card.active {
  outline: 2px solid #18bf72;
  background: linear-gradient(145deg, rgba(24, 191, 114, 0.14), rgba(10, 132, 255, 0.12)), #f8fafc;
}
.preset-card pre {
  max-height: 148px;
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  color: #4a5565;
  font: 12px/1.55 var(--app-font-family);
}
.preset-detail-list {
  display: grid;
  gap: 10px;
}
.compact-preset-list {
  gap: 6px;
}
.preset-detail-item {
  border-radius: 16px;
  background: #f3f5f9;
  overflow: hidden;
}
.preset-detail-item summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  cursor: pointer;
  color: #20242d;
}
.compact-preset-item summary,
.regex-detail-item summary {
  padding: 7px 8px;
  gap: 6px;
}
.compact-preset-item summary strong,
.regex-detail-item summary strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.preset-detail-item summary span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.preset-detail-item summary span.enabled {
  background: #18a86d;
}
.preset-detail-item summary span.disabled {
  background: #8c95a3;
}
.preset-detail-item summary em {
  color: #6b7280;
  font-style: normal;
  font-size: 12px;
}
.preset-detail-item p {
  padding: 0 10px 8px;
  font-size: 12px;
}
.preset-search-input {
  width: 100%;
  height: 38px;
  margin: 4px 0 10px;
  border: 0;
  border-radius: 14px;
  padding: 0 12px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 0 0 1px rgba(126, 135, 152, 0.16);
  font: 13px/1.2 var(--app-font-family);
}
.preset-content-editor {
  width: calc(100% - 16px);
  margin: 0 8px 8px;
  border: 0;
  border-radius: 12px;
  padding: 9px;
  resize: vertical;
  color: #263244;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 0 0 1px rgba(126, 135, 152, 0.16);
  font: 12px/1.5 var(--app-font-family);
}
.preset-detail-item pre,
.preset-json-preview {
  max-height: 260px;
  margin: 0;
  padding: 10px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  color: #263244;
  background: rgba(255, 255, 255, 0.72);
  font: 12px/1.55 var(--app-font-family);
}
.date-preset-state {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(120, 92, 190, 0.18);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(108, 92, 231, 0.12), rgba(0, 184, 148, 0.1)), rgba(255, 255, 255, 0.9);
  color: #263244;
}
.date-preset-state strong {
  font-size: 14px;
}
.date-preset-state span {
  color: #697386;
  font-size: 12px;
}
.preset-insert-menu { width: auto; grid-template-columns: repeat(2, minmax(74px, auto)); }
.widget,
.panel,
.settings-row,
.persona-row,
.moment-item,
.preset-card,
.date-hero,
.date-preset-state,
.date-line,
.date-composer,
.memo-card,
.notes-widget-tile {
  border: 1px solid var(--skin-border);
  background: var(--surface);
  color: var(--skin-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.widget::before,
.panel::before,
.preset-card::before,
.date-line::before {
  content: "";
  display: block;
  height: 1px;
  margin: -1px 12px 10px;
  background: linear-gradient(to right, transparent, var(--skin-accent), transparent);
  opacity: 0.28;
}
.app-topbar span,
.panel h2,
.profile-page h1,
.moment-content strong,
.date-hero strong,
.preset-card > strong {
  color: var(--skin-accent);
  letter-spacing: 0.02em;
}
.settings-row small,
.panel p,
.field span,
.date-hero span,
.date-preset-state span,
.date-line strong {
  color: var(--skin-muted);
}
.icon-face:not(.custom-icon),
.chat-gradient,
.world-gradient,
.preset-gradient,
.diary-gradient,
.date-gradient,
.settings-gradient {
  color: var(--glass-icon-text) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.025)),
    var(--glass-icon-bg) !important;
  border: 1px solid var(--glass-icon-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 10px 28px rgba(0, 0, 0, 0.14) !important;
  backdrop-filter: blur(20px) saturate(1.25);
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
}
.panel-stack,
.world-app,
.preset-app,
.diary-app,
.period-app,
.notes-app-list {
  gap: 14px !important;
  padding: 14px !important;
}
.panel,
.settings-row,
.world-row,
.preset-card,
.preset-detail-item,
.diary-card,
.period-card,
.date-line,
.date-preset-state,
.mind-panel,
.mind-history-panel {
  border: 1px solid color-mix(in srgb, var(--skin-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 10px 30px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
}
.panel,
.settings-row,
.world-row,
.preset-card,
.diary-card,
.period-card,
.mind-panel,
.mind-history-panel {
  border-radius: 24px !important;
}
.preset-detail-item,
.date-line,
.date-preset-state {
  border-radius: 18px !important;
}
.panel h2,
.settings-row strong,
.world-row strong,
.preset-card strong,
.diary-card strong,
.period-card strong,
.date-line strong,
.mind-panel strong,
.mind-history-panel strong {
  color: var(--skin-text) !important;
  letter-spacing: 0 !important;
}
.panel p,
.settings-row small,
.world-row small,
.world-row p,
.preset-card small,
.preset-detail-item p,
.diary-card p,
.period-card small,
.date-preset-state span,
.mind-history-list time {
  color: var(--skin-muted) !important;
}
.panel button,
.settings-back,
.secondary-button,
.world-actions button,
.preset-card button,
.diary-card header button,
.period-card button,
.mind-panel header button {
  min-height: 38px;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent) !important;
  background: color-mix(in srgb, var(--phone-bg) 72%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--skin-text) 6%, transparent);
}
.field input,
.field textarea,
.field select,
.preset-search-input,
.preset-content-editor,
.preset-detail-item textarea {
  border-radius: 18px !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 82%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .panel,
:root[data-ui-mode="dark"] .settings-row,
:root[data-ui-mode="dark"] .world-row,
:root[data-ui-mode="dark"] .preset-card,
:root[data-ui-mode="dark"] .diary-card,
:root[data-ui-mode="dark"] .date-line,
:root[data-ui-mode="dark"] .mind-panel,
:root[data-ui-mode="dark"] .mind-history-panel {
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent) !important;
}
:root[data-ui-mode="dark"] .preset-detail-item summary,
:root[data-ui-mode="dark"] .preset-detail-item pre,
:root[data-ui-mode="dark"] .preset-json-preview,
:root[data-ui-mode="dark"] .check-pill,
:root[data-ui-mode="dark"] .sticker-bulk-preview,
:root[data-ui-mode="dark"] .sticker-bulk-row {
  background: color-mix(in srgb, var(--phone-bg) 70%, transparent) !important;
  border-color: color-mix(in srgb, var(--skin-border) 82%, transparent) !important;
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .preset-detail-item summary strong,
:root[data-ui-mode="dark"] .compact-preset-item summary strong,
:root[data-ui-mode="dark"] .check-pill span,
:root[data-ui-mode="dark"] .world-row strong,
:root[data-ui-mode="dark"] .preset-card strong,
:root[data-ui-mode="dark"] .sticker-bulk-preview strong {
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .preset-detail-item summary span,
:root[data-ui-mode="dark"] .preset-detail-item summary em,
:root[data-ui-mode="dark"] .sticker-bulk-row label span {
  color: var(--skin-muted) !important;
}
.composer-input-wrap,
.field input,
.field select,
.field textarea,
.date-composer textarea,
.preset-search-input,
.moment-comment-form input {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent) !important;
}
.composer-icon,
.composer-mic,
.composer-send,
.date-composer button,
.secondary-button,
.file-button,
.panel button,
.world-actions button,
.preset-card button {
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-sm) !important;
  font-size: 14px !important;
}
.field input,
.field select,
.field textarea,
.composer-input-wrap,
.date-composer textarea,
.preset-search-input,
.moment-comment-form input,
.range-number-row input[type="number"],
.sticker-bulk-row input {
  width: 100%;
  min-height: var(--skin-control-height) !important;
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 74%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent) !important;
}
body.theme-apple :where(
  h1, h2, h3, strong,
  .panel h2,
  .profile-page h1,
  .date-picker-head h2,
  .forum-post h2,
  .wechat-section-head h2,
  .mind-title strong,
  .widget strong,
  .date-hero strong,
  .preset-card strong
) {
  color: var(--skin-title) !important;
}
body.theme-apple :where(
  p, small, em,
  .hint-text,
  .panel p,
  .field span,
  .chat-header span,
  .date-picker-head p,
  .date-hero span,
  .date-preset-state span,
  .forum-post small,
  .location-card small,
  .forwarded-chat-scroll em,
  .mind-title small,
  .mind-panel p span,
  .chat-list-time,
  .message-time-divider
) {
  color: var(--skin-muted) !important;
}
body.theme-apple :where(
  input,
  select,
  textarea,
  .composer-input-wrap,
  .preset-search-input,
  .preset-content-editor,
  .preset-json-preview,
  .preset-detail-item pre
) {
  color: var(--skin-text) !important;
  background: rgba(248, 249, 252, 0.82) !important;
  border-color: rgba(110, 118, 130, 0.14) !important;
  box-shadow: inset 0 1px 2px rgba(74, 87, 110, 0.05) !important;
}
html[data-ui-mode="dark"] body.theme-apple :where(
  input,
  select,
  textarea,
  .composer-input-wrap,
  .preset-search-input,
  .preset-content-editor,
  .preset-json-preview,
  .preset-detail-item pre
) {
  color: var(--skin-text) !important;
  background: rgba(24, 26, 32, 0.78) !important;
  border-color: var(--skin-border) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}
body.theme-apple :where(
  .wechat-contact,
  .wechat-bottom-tabs,
  .wechat-back,
  .wechat-me-card,
  .wechat-me-section,
  .world-row,
  .persona-row,
  .preset-card,
  .preset-detail-item,
  .tavern-helper-grid div,
  .memory-module-card,
  .memory-entry,
  .memory-entry-actions button,
  .period-card,
  .period-calendar,
  .period-list,
  .period-calendar header button,
  .period-calendar .period-day,
  .period-app .period-day,
  .period-app .panel,
  .period-app .period-card,
  .period-app .period-calendar,
  .period-app .period-list
) {
  background: var(--skin-surface) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
}
html[data-ui-mode="dark"] body.theme-apple :where(
  .wechat-contact,
  .wechat-bottom-tabs,
  .wechat-back,
  .wechat-me-card,
  .wechat-me-section,
  .world-row,
  .persona-row,
  .preset-card,
  .preset-detail-item,
  .tavern-helper-grid div,
  .memory-module-card,
  .memory-entry,
  .memory-entry-actions button,
  .period-card,
  .period-calendar,
  .period-list,
  .period-calendar header button,
  .period-calendar .period-day,
  .period-app .period-day,
  .period-app .panel,
  .period-app .period-card,
  .period-app .period-calendar,
  .period-app .period-list
) {
  background: var(--skin-surface) !important;
  color: var(--skin-text) !important;
  border-color: var(--skin-border) !important;
}
.custom-ui-toolbar,
.custom-ui-status,
.preset-control-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.preset-scope-pill,
.custom-ui-pill{border:1px solid var(--skin-border);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent)}
.preset-control-grid{align-items:stretch}
.preset-scope-panel .check-pill,.custom-ui-app .check-pill{min-height:40px}
.preset-binding-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:520px) {.preset-binding-row{grid-template-columns:1fr} }
.eleven-preset-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.eleven-preset-buttons button {
  border: 0;
  border-radius: 999px;
  min-height: 30px;
  padding: 0 10px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--skin-accent, #b58a55) 14%, var(--surface-strong, #fff));
  font-size: 11.5px;
  font-weight: 900;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--skin-text, #2b2520) 7%, transparent);
}
.eleven-preset-buttons button:active {
  transform: scale(.98);
}
body[class*="theme-tone-"] :is(input, textarea, select, .composer-input-wrap, .memory-search-input, .preset-json-preview) {
  color: var(--tone-text) !important;
  background: var(--tone-surface) !important;
  border-color: var(--tone-line) !important;
}
#appScreen .panel-stack:has(.preset-card) {
  gap: 10px;
  padding: 14px var(--moss-ui-content-pad) calc(24px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .panel-stack:has(.preset-card) > .panel:first-child {
  padding: 17px;
  border-radius: 18px !important;
}
#appScreen .preset-card {
  padding: 14px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .preset-card.active {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-accent-wash) !important;
}
#appScreen .preset-card h3 { color: var(--moss-ui-text) !important; font-size: 16px; font-weight: 660; }
#appScreen .preset-card p,
#appScreen .preset-detail-item small { color: var(--moss-ui-muted) !important; }
#appScreen :where(.preset-search-input, .preset-content-editor, .preset-json-preview) {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-control) !important;
}
#appScreen :where(.preset-scope-panel, .preset-detail-item, .preset-binding-row) {
  border-color: var(--moss-ui-line) !important;
  border-radius: 14px !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .theme-tone-grid,
#appScreen .preset-control-grid {
  gap: 9px;
}
#appScreen .theme-tone-option,
#appScreen .preset-control-grid > * {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;
}

/* Tavern Runtime V2 compatibility report */
.tavern-report-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.tavern-report-title h2,
.tavern-report-title p {
  margin-top: 0;
}

.tavern-compatibility-level {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(184, 127, 75, .14);
  color: var(--skin-accent, #8b6044);
  font-size: 11px;
  font-weight: 800;
}

.tavern-compatibility-level.compatible {
  background: rgba(66, 150, 102, .14);
  color: #327a50;
}

.tavern-runtime-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tavern-runtime-settings {
  margin-top: 12px;
}

.tavern-trust-toggle {
  align-self: end;
  min-height: 43px;
}

.tavern-report-details {
  margin-top: 10px;
  padding: 9px 11px;
  border: 1px solid var(--skin-border, rgba(92, 72, 58, .14));
  border-radius: 13px;
}

.tavern-report-details summary {
  cursor: pointer;
  color: var(--skin-title, var(--skin-text));
  font-size: 13px;
  font-weight: 800;
}

.tavern-warning-list {
  display: grid;
  gap: 6px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
  color: var(--skin-muted, #72675e);
  font-size: 12px;
}

.tavern-warning-list .ok {
  color: #327a50;
}

.tavern-request-preview {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.tavern-request-preview li {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}

.tavern-request-preview li > div {
  min-width: 0;
}

.tavern-request-preview strong {
  display: block;
  color: var(--skin-title, var(--skin-text));
  font-size: 11px;
}

.tavern-request-preview p {
  margin: 3px 0 0;
  color: var(--skin-muted, #72675e);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.tavern-request-role {
  display: inline-flex;
  justify-content: center;
  padding: 4px 6px;
  border-radius: 8px;
  background: rgba(98, 91, 84, .11);
  color: var(--skin-muted, #72675e);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
}

.tavern-request-role.user {
  background: rgba(70, 122, 190, .13);
  color: #426f9e;
}

.tavern-request-role.assistant {
  background: rgba(133, 87, 160, .13);
  color: #76518e;
}

.tavern-regex-test-panel textarea,
.tavern-regex-test-output {
  width: 100%;
}

.tavern-regex-test-output {
  min-height: 120px;
  max-height: 420px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .tavern-runtime-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tavern-report-title {
    align-items: center;
  }

  .tavern-request-preview li {
    grid-template-columns: 64px minmax(0, 1fr);
  }
}

/*# source: assets/css/features/mcp.css */
/*
 * mcp feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.mcp-gradient { background: linear-gradient(145deg, #20262f, #64748b 52%, #b8c1cc); color: #fff; }
.mcp-app { min-height: 100%; padding: 14px 14px 34px; background: #f5f6f8; color: #18202a; }
.mcp-tabs { position: sticky; top: -14px; z-index: 4; display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin: -14px -14px 14px; padding: 10px 14px; background: rgba(245,246,248,.92); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid rgba(15,23,42,.06); }
.mcp-tabs button { min-height: 38px; border: 0; border-radius: 13px; background: transparent; color: #6b7280; font-weight: 800; }
.mcp-tabs button.active { background: #fff; color: #111827; box-shadow: 0 5px 16px rgba(15,23,42,.08); }
.mcp-tabs i { display: inline-grid; min-width: 18px; height: 18px; place-items: center; margin-left: 3px; border-radius: 99px; background: #e5e7eb; font-style: normal; font-size: 11px; }
.mcp-notice { margin: 0 0 12px; padding: 11px 13px; border: 1px solid rgba(63,85,109,.18); border-radius: 14px; background: #eef3f8; color: #35485b; font-size: 13px; line-height: 1.5; }
.mcp-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 20px; border-radius: 24px; background: linear-gradient(145deg,#1f2937,#44566a 58%,#77889a); color: #fff; box-shadow: 0 16px 34px rgba(28,39,51,.2); }
.mcp-hero span,
.mcp-editor-head span { font-size: 12px; font-weight: 800; opacity: .7; }
.mcp-hero h2,
.mcp-editor-head h2 { margin: 4px 0 7px; font-size: 23px; }
.mcp-hero p,
.mcp-editor-head p { margin: 0; font-size: 13px; line-height: 1.55; opacity: .82; }
.mcp-hero button,
.mcp-editor-actions button,
.mcp-import-card>button,
.mcp-empty button { flex: 0 0 auto; min-height: 40px; padding: 0 15px; border: 0; border-radius: 14px; background: #fff; color: #253241; font-weight: 900; }
.mcp-section>header,
.mcp-tool-section>header { display: flex; align-items: center; justify-content: space-between; margin: 2px 2px 10px; }
.mcp-section>header strong,
.mcp-tool-section>header strong { display: block; font-size: 17px; }
.mcp-section>header small,
.mcp-tool-section>header small { display: block; margin-top: 2px; color: #788391; font-size: 12px; }
.mcp-catalog { display: grid; gap: 10px; }
.mcp-catalog-card { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid rgba(15,23,42,.06); border-radius: 20px; background: #fff; box-shadow: 0 7px 20px rgba(15,23,42,.045); }
.mcp-catalog-card>i,
.mcp-server-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: #263442; color: #fff; font-size: 21px; font-style: normal; font-weight: 900; }
.mcp-catalog-card strong { font-size: 15px; }
.mcp-catalog-card p { margin: 4px 0 6px; color: #66717e; font-size: 12px; line-height: 1.45; }
.mcp-catalog-card span { display: inline-block; padding: 3px 7px; border-radius: 8px; background: #eef2f6; color: #596777; font-size: 10px; font-weight: 800; }
.mcp-catalog-card button,
.mcp-server-actions button,
.mcp-tool-section article>button { min-height: 34px; padding: 0 11px; border: 0; border-radius: 11px; background: #edf1f5; color: #354353; font-weight: 800; }
.mcp-import-card,
.mcp-editor { margin-top: 16px; padding: 16px; border-radius: 22px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.055); }
.mcp-import-card p { margin: 6px 0 12px; color: #6b7280; font-size: 12px; line-height: 1.5; }
.mcp-import-card textarea,
.mcp-editor input,
.mcp-editor textarea,
.mcp-editor select { width: 100%; border: 1px solid #dfe4ea; border-radius: 13px; background: #f9fafb; color: #202a35; font: inherit; outline: none; }
.mcp-import-card textarea,
.mcp-editor textarea { padding: 11px; resize: vertical; }
.mcp-import-card>button { margin-top: 10px; background: #263442; color: #fff; }
.mcp-server-list { display: grid; gap: 11px; }
.mcp-server-card { overflow: hidden; border: 1px solid rgba(15,23,42,.07); border-radius: 20px; background: #fff; box-shadow: 0 7px 20px rgba(15,23,42,.05); }
.mcp-server-card.connected { border-color: rgba(46,125,88,.2); }
.mcp-server-card.error { border-color: rgba(190,67,67,.2); }
.mcp-server-card.connecting { border-color: rgba(74,111,147,.24); box-shadow: 0 9px 24px rgba(61,92,122,.1); }
.mcp-server-main { display: grid; grid-template-columns: 44px 1fr; gap: 12px; width: 100%; padding: 14px 14px 9px; border: 0; background: transparent; text-align: left; color: inherit; }
.mcp-server-main strong { display: block; font-size: 15px; }
.mcp-server-main small { display: block; margin-top: 2px; color: #64748b; font-size: 11px; }
.mcp-server-main p { margin: 5px 0; color: #66717e; font-size: 12px; line-height: 1.4; word-break: break-all; }
.mcp-server-main em { color: #87919c; font-size: 10px; font-style: normal; }
.mcp-server-actions { display: flex; gap: 8px; padding: 0 14px 13px 70px; }
.mcp-error { margin: 0; padding: 9px 14px; background: #fff0f0; color: #a63d3d; font-size: 11px; }
.mcp-empty { display: grid; place-items: center; min-height: 300px; padding: 30px; text-align: center; color: #657180; }
.mcp-empty b { color: #273442; font-size: 18px; }
.mcp-empty p { max-width: 330px; line-height: 1.55; }
.mcp-empty button { background: #263442; color: #fff; }
.mcp-activity-list { display: grid; gap: 8px; }
.mcp-activity-list article { display: grid; grid-template-columns: 10px 1fr; gap: 11px; padding: 13px; border-radius: 17px; background: #fff; }
.mcp-activity-list i { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: #3f9c68; }
.mcp-activity-list i.error { background: #d15353; }
.mcp-activity-list i.blocked { background: #d09a39; }
.mcp-activity-list strong { display: block; font-size: 13px; }
.mcp-activity-list small { display: block; margin-top: 2px; color: #89929d; font-size: 10px; }
.mcp-activity-list p { margin: 5px 0 0; color: #5f6a76; font-size: 11px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
.mcp-editor { margin-top: 0; }
.mcp-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.mcp-editor-head h2 { color: #1f2937; }
.mcp-editor-head p { color: #64748b; }
.mcp-editor-head .danger { min-height: 34px; padding: 0 11px; border: 0; border-radius: 11px; background: #fff0f0; color: #b33f3f; font-weight: 800; }
.mcp-editor>label,
.mcp-auth-grid label { display: grid; gap: 6px; margin-top: 11px; }
.mcp-editor label>span,
.mcp-editor legend { color: #596675; font-size: 12px; font-weight: 800; }
.mcp-editor input,
.mcp-editor select { height: 42px; padding: 0 11px; }
.mcp-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mcp-editor fieldset { margin: 15px 0 0; padding: 12px; border: 1px solid #e1e6eb; border-radius: 16px; }
.mcp-editor legend { padding: 0 5px; }
.mcp-scope-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.mcp-scope-grid label { display: flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 8px; border-radius: 10px; background: #f5f7f9; }
.mcp-editor-actions { display: flex; gap: 9px; margin-top: 15px; }
.mcp-editor-actions button { background: #263442; color: #fff; }
.mcp-editor-actions button.secondary { background: #e8edf2; color: #354353; }
.mcp-tool-section { margin-top: 18px; border-top: 1px solid #edf0f3; padding-top: 14px; }
.mcp-tool-section>header b { display: grid; min-width: 29px; height: 29px; place-items: center; border-radius: 99px; background: #edf1f5; }
.mcp-tool-section article { display: grid; grid-template-columns: minmax(0,1fr) minmax(105px,132px) auto auto auto; align-items: center; gap: 8px; padding: 11px 0; border-top: 1px solid #f0f2f4; }
.mcp-tool-section article>div strong { display: block; font-size: 12px; word-break: break-all; }
.mcp-tool-section article>div small { display: block; margin-top: 3px; color: #7a8591; font-size: 10px; line-height: 1.35; }
.mcp-tool-section article>div em { display: inline-block; margin-top: 5px; padding: 2px 6px; border-radius: 6px; background: #edf6f0; color: #34744f; font-size: 9px; font-style: normal; }
.mcp-tool-section article>div em.write { background: #fff2e8; color: #a65d25; }
.mcp-tool-section article>label { display: grid; justify-items: center; gap: 2px; margin: 0; }
.mcp-tool-section article>label span { font-size: 9px; }
.mcp-tool-section article>.mcp-tool-category { justify-items: stretch; min-width: 0; }
.mcp-tool-section article>.mcp-tool-category span { text-align: left; }
.mcp-tool-section article>.mcp-tool-category select { width: 100%; min-width: 0; height: 32px; padding: 0 7px; border: 1px solid #dfe4ea; border-radius: 9px; background: #f8fafb; color: #354353; font-size: 10px; }
.mcp-privacy-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 0 0 12px; padding: 14px 15px; border: 1px solid rgba(15,23,42,.07); border-radius: 18px; background: #fff; color: #253241; text-align: left; box-shadow: 0 7px 20px rgba(15,23,42,.045); }
.mcp-privacy-banner.active { border-color: rgba(47,126,88,.22); background: linear-gradient(145deg,#f7fbf8,#edf6f0); }
.mcp-privacy-banner.off { background: linear-gradient(145deg,#fff,#f4f5f7); }
.mcp-privacy-banner b,
.mcp-privacy-banner small { display: block; }
.mcp-privacy-banner b { font-size: 14px; }
.mcp-privacy-banner small { margin-top: 3px; color: #75808d; font-size: 10px; }
.mcp-privacy-banner em { color: #89929d; font-size: 23px; font-style: normal; }
.mcp-privacy-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; padding: 19px; border-radius: 23px; background: linear-gradient(145deg,#293541,#667687); color: #fff; box-shadow: 0 14px 30px rgba(25,38,50,.17); }
.mcp-privacy-hero.active { background: linear-gradient(145deg,#243c31,#567664 58%,#81998b); }
.mcp-privacy-hero.off { background: linear-gradient(145deg,#343a43,#737b86); }
.mcp-privacy-hero span { font-size: 11px; font-weight: 850; opacity: .72; }
.mcp-privacy-hero h2 { margin: 4px 0 7px; font-size: 20px; }
.mcp-privacy-hero p { max-width: 520px; margin: 0; font-size: 11px; line-height: 1.55; opacity: .84; }
.mcp-master-switch { flex: 0 0 auto; display: block; margin: 0; }
.mcp-master-switch input,
.mcp-privacy-row input,
.mcp-persona-permission input { position: absolute; opacity: 0; pointer-events: none; }
.mcp-master-switch i,
.mcp-privacy-row i,
.mcp-persona-permission i { position: relative; display: block; width: 47px; height: 28px; border-radius: 99px; background: rgba(255,255,255,.28); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); transition: .2s ease; }
.mcp-master-switch i::after,
.mcp-privacy-row i::after,
.mcp-persona-permission i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.2); transition: .2s ease; }
.mcp-master-switch input:checked+i { background: #65a77f; }
.mcp-master-switch input:checked+i::after,
.mcp-privacy-row input:checked+i::after,
.mcp-persona-permission input:checked+i::after { transform: translateX(19px); }
.mcp-privacy-card { margin-top: 11px; padding: 15px; border: 1px solid rgba(15,23,42,.06); border-radius: 20px; background: #fff; box-shadow: 0 7px 20px rgba(15,23,42,.045); }
.mcp-privacy-card>header { margin-bottom: 10px; }
.mcp-privacy-card>header strong { display: block; font-size: 15px; }
.mcp-privacy-card>header small { display: block; margin-top: 3px; color: #7d8792; font-size: 10px; line-height: 1.45; }
.mcp-pause-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.mcp-pause-actions button,
.mcp-clear-private-logs { min-height: 36px; padding: 0 12px; border: 0; border-radius: 11px; background: #edf1f5; color: #354353; font-weight: 800; }
.mcp-pause-actions button.active { background: #315a45; color: #fff; }
.mcp-privacy-select { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; margin: 0; }
.mcp-privacy-select>span { color: #5e6b78; font-size: 11px; font-weight: 800; }
.mcp-privacy-select select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid #dfe4ea; border-radius: 12px; background: #f8fafb; color: #263442; font: inherit; }
.mcp-privacy-list,
.mcp-persona-permissions { display: grid; gap: 2px; }
.mcp-privacy-row,
.mcp-persona-permission { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 56px; margin: 0; padding: 9px 0; border-top: 1px solid #f0f2f4; }
.mcp-privacy-row:first-child,
.mcp-persona-permission:first-child { border-top: 0; }
.mcp-privacy-row strong,
.mcp-privacy-row small { display: block; }
.mcp-privacy-row strong { font-size: 12px; }
.mcp-privacy-row small { margin-top: 3px; color: #818b96; font-size: 9px; line-height: 1.4; }
.mcp-privacy-row i,
.mcp-persona-permission i { width: 42px; height: 25px; background: #dfe4e9; box-shadow: none; }
.mcp-privacy-row i::after,
.mcp-persona-permission i::after { width: 19px; height: 19px; }
.mcp-privacy-row input:checked+i,
.mcp-persona-permission input:checked+i { background: #5f8d72; }
.mcp-privacy-row input:checked+i::after,
.mcp-persona-permission input:checked+i::after { transform: translateX(17px); }
.mcp-persona-permissions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 11px; }
.mcp-persona-permission { min-height: 42px; padding: 7px 9px; border: 1px solid #edf0f3 !important; border-radius: 12px; background: #f8fafb; }
.mcp-persona-permission span { overflow: hidden; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.mcp-persona-permission.disabled { opacity: .48; }
.mcp-clear-private-logs { margin-top: 10px; background: #fff0f0; color: #a34545; }
.mcp-privacy-warning { margin: 11px 0 0; padding: 10px 11px; border-radius: 12px; background: #fff8e9; color: #7b6331; font-size: 10px; line-height: 1.5; }
.mcp-privacy-empty { margin: 8px 0 0; color: #8a94a0; font-size: 11px; }
.mcp-sleep-card { border-color: rgba(87,104,145,.12); background: linear-gradient(155deg,#fff,#f5f6fb); }
.mcp-sleep-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 11px; }
.mcp-sleep-grid label { display: grid; gap: 6px; min-width: 0; }
.mcp-sleep-grid label>span { color: #66717e; font-size: 10px; font-weight: 850; }
.mcp-sleep-grid input,
.mcp-sleep-grid select { width: 100%; min-width: 0; height: 40px; padding: 0 9px; border: 1px solid #dfe4ea; border-radius: 11px; background: #f8fafb; color: #263442; font: inherit; }
.mcp-weather-location-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.mcp-weather-location-card>header>em{flex:none;padding:4px 8px;border-radius:999px;background:#edf4f0;color:#426451;font-size:9px;font-style:normal;font-weight:850;}
.mcp-weather-location-editor{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;}
.mcp-weather-location-editor input{min-width:0;height:42px;padding:0 12px;border:1px solid #dfe4ea;border-radius:12px;background:#f8fafb;color:#263442;font:inherit;outline:0;}
.mcp-weather-location-editor input:focus{border-color:#71947f;box-shadow:0 0 0 3px rgba(113,148,127,.13);}
.mcp-weather-location-editor button{min-height:42px;padding:0 13px;border:0;border-radius:12px;background:#315a45;color:#fff;font-weight:850;}
.mcp-weather-location-editor button.secondary{background:#e8edf2;color:#4c5967;}
.mcp-weather-location-card>p{margin:9px 1px 0;color:#77838f;font-size:10px;line-height:1.5;}
.mcp-registry-section { padding: 16px; border-radius: 22px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.055); }
.mcp-registry-section>header strong { display: block; font-size: 17px; }
.mcp-registry-section>header small { display: block; margin-top: 3px; color: #788391; font-size: 12px; line-height: 1.45; }
.mcp-registry-search { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 13px 0; }
.mcp-registry-search input { min-width: 0; height: 42px; padding: 0 12px; border: 1px solid #dfe4ea; border-radius: 13px; background: #f9fafb; color: #202a35; font: inherit; outline: none; }
.mcp-registry-search button,
.mcp-registry-more,
.mcp-registry-state button { min-height: 40px; padding: 0 14px; border: 0; border-radius: 13px; background: #263442; color: #fff; font-weight: 850; }
.mcp-registry-list { display: grid; gap: 9px; }
.mcp-registry-card { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid #edf0f3; border-radius: 18px; background: #fbfcfd; }
.mcp-registry-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: #263442; color: #fff; font-weight: 950; }
.mcp-registry-copy { min-width: 0; }
.mcp-registry-copy strong { display: block; font-size: 14px; }
.mcp-registry-copy small { display: block; margin-top: 2px; overflow: hidden; color: #8a94a0; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mcp-registry-copy p { margin: 5px 0 7px; color: #66717e; font-size: 11px; line-height: 1.42; }
.mcp-registry-copy div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mcp-registry-copy span { padding: 3px 7px; border-radius: 8px; background: #eef2f6; color: #596777; font-size: 9px; font-weight: 800; }
.mcp-registry-copy a { color: #536d89; font-size: 10px; font-weight: 800; text-decoration: none; }
.mcp-registry-card>button { min-height: 34px; padding: 0 11px; border: 0; border-radius: 11px; background: #263442; color: #fff; font-weight: 850; }
.mcp-registry-card>button:disabled { background: #e5e8eb; color: #929ba5; }
.mcp-registry-state { display: grid; min-height: 92px; place-items: center; gap: 9px; padding: 16px; border-radius: 15px; background: #f7f8fa; color: #788391; font-size: 12px; text-align: center; }
.mcp-registry-state.error { color: #a34545; background: #fff3f3; }
.mcp-registry-more { display: block; margin: 12px auto 0; background: #e8edf2; color: #354353; }
.mcp-auth-panel { margin-top: 12px; padding: 12px; border: 1px solid #e1e6eb; border-radius: 16px; background: #f8fafb; }
.mcp-auth-panel label { display: grid; gap: 6px; }
.mcp-auth-panel p { margin: 8px 0 0; color: #6b7682; font-size: 11px; line-height: 1.5; }
.mcp-editor label>small { color: #8a94a0; font-size: 10px; line-height: 1.4; }
.mcp-auth-hidden { display: none !important; }
.mcp-advanced { margin-top: 12px; border: 1px solid #e1e6eb; border-radius: 15px; padding: 10px 12px; }
.mcp-advanced summary { color: #596675; cursor: pointer; font-size: 12px; font-weight: 850; }
.mcp-advanced label { display: grid; gap: 6px; margin-top: 10px; }
.mcp-advanced p { margin: 7px 0 0; color: #8a94a0; font-size: 10px; line-height: 1.45; }
html[data-ui-mode="dark"] .mcp-app { background: #11151a; color: #e7edf3; }
html[data-ui-mode="dark"] .mcp-tabs { background: rgba(17,21,26,.92); border-color: rgba(255,255,255,.06); }
html[data-ui-mode="dark"] .mcp-tabs button.active,
html[data-ui-mode="dark"] .mcp-catalog-card,
html[data-ui-mode="dark"] .mcp-import-card,
html[data-ui-mode="dark"] .mcp-server-card,
html[data-ui-mode="dark"] .mcp-activity-list article,
html[data-ui-mode="dark"] .mcp-editor,
html[data-ui-mode="dark"] .mcp-registry-section,
html[data-ui-mode="dark"] .mcp-privacy-card,
html[data-ui-mode="dark"] .mcp-privacy-banner { background: #1d232b; color: #e8edf2; }
html[data-ui-mode="dark"] .mcp-editor-head h2 { color: #edf2f7; }
html[data-ui-mode="dark"] .mcp-editor input,
html[data-ui-mode="dark"] .mcp-editor textarea,
html[data-ui-mode="dark"] .mcp-editor select,
html[data-ui-mode="dark"] .mcp-import-card textarea,
html[data-ui-mode="dark"] .mcp-registry-search input,
html[data-ui-mode="dark"] .mcp-sleep-grid input,
html[data-ui-mode="dark"] .mcp-sleep-grid select { border-color: #37404a; background: #151a20; color: #edf2f7; }
html[data-ui-mode="dark"] .mcp-scope-grid label,
html[data-ui-mode="dark"] .mcp-persona-permission,
html[data-ui-mode="dark"] .mcp-privacy-select select,
html[data-ui-mode="dark"] .mcp-tool-category select { background: #151a20; border-color: #37404a; color: #e7edf3; }
@media (max-width: 390px) { .mcp-tabs { padding-left: 8px; padding-right: 8px; } }
@media (max-width: 390px) {.mcp-tabs button { font-size: 11px; } }
@media (max-width: 390px) {.mcp-registry-card { grid-template-columns: 38px 1fr; } }
@media (max-width: 390px) {.mcp-registry-card>button { grid-column: 2; justify-self: start; } }
@media (max-width: 390px) {.mcp-hero,
.mcp-privacy-hero { align-items: stretch; flex-direction: column; } }
@media (max-width: 390px) {.mcp-master-switch { align-self: flex-end; } }
@media (max-width: 390px) {.mcp-auth-grid { grid-template-columns: 1fr; } }
@media (max-width: 390px) {.mcp-scope-grid,
.mcp-persona-permissions { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 390px) {.mcp-sleep-grid { grid-template-columns: 1fr; } }
@media (max-width: 390px) {.mcp-tool-section article { grid-template-columns: 1fr auto auto; } }
@media (max-width: 390px) {.mcp-tool-section article>.mcp-tool-category { grid-column: 1 / 4; } }
@media (max-width: 390px) {.mcp-tool-section article>button { grid-column: 2 / 4; } }
html[data-ui-mode="dark"] .mcp-registry-card,
html[data-ui-mode="dark"] .mcp-registry-state,
html[data-ui-mode="dark"] .mcp-auth-panel { background:#151a20; border-color:#37404a; }
html[data-ui-mode="dark"] .mcp-weather-location-editor input{background:#151a20;color:#edf2f7;border-color:#37404a;}
html[data-ui-mode="dark"] .mcp-weather-location-editor button.secondary{background:#303842;color:#dfe7ef;}
html[data-ui-mode="dark"] .mcp-weather-location-card>header>em{background:#26382e;color:#cce2d3;}
@media (max-width:390px){.mcp-weather-location-editor{grid-template-columns:minmax(0,1fr) auto;}}
@media (max-width:390px){.mcp-weather-location-editor button.secondary{grid-column:2;}}
.message-row.mcp-trace-row{justify-content:center;padding:4px 14px;}
.message-row.mcp-trace-row .message-stack{width:min(100%,620px);max-width:100%;}
.mcp-chat-trace{width:100%;border:1px solid rgba(93,123,111,.2);border-radius:16px;background:rgba(250,252,249,.88);box-shadow:0 8px 24px rgba(64,84,75,.08);overflow:hidden;color:var(--text-primary,#2f342f);}
.mcp-chat-trace>summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 13px;list-style:none;cursor:pointer;user-select:none;}
.mcp-chat-trace>summary::-webkit-details-marker{display:none;}
.mcp-chat-trace>summary strong{font-size:13px;flex:none;}
.mcp-chat-trace>summary small{font-size:11.5px;color:var(--text-secondary,#7d847e);flex:1;}
.mcp-chat-trace>summary>i{font-style:normal;color:#7c8d83;transition:transform .18s ease;}
.mcp-chat-trace[open]>summary>i{transform:rotate(180deg);}
.mcp-trace-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#233943;color:#fff;font:800 15px Georgia,serif;}
.mcp-chat-trace.running .mcp-trace-mark{background:#6b8d80;animation:mcpTracePulse 1.2s ease-in-out infinite;}
.mcp-chat-trace.error .mcp-trace-mark{background:#b45a52;}
.mcp-chat-trace.partial .mcp-trace-mark{background:#a27a3e;}
.mcp-chat-trace.blocked .mcp-trace-mark{background:#8b8175;}
.mcp-trace-body{display:grid;gap:9px;padding:0 12px 12px;border-top:1px solid rgba(93,123,111,.12);}
.mcp-trace-privacy{margin:9px 1px 0;font-size:11px;line-height:1.45;color:var(--text-secondary,#7d847e);}
.mcp-trace-call{display:grid;gap:6px;padding:10px;border-radius:12px;background:rgba(105,132,120,.08);}
.mcp-trace-call header{display:flex;align-items:center;gap:7px;}
.mcp-trace-call header i{width:7px;height:7px;border-radius:50%;background:#a4aaa6;}
.mcp-trace-call.running header i{background:#6b9f82;box-shadow:0 0 0 4px rgba(107,159,130,.14);}
.mcp-trace-call.success header i{background:#3fa56f;}
.mcp-trace-call.error header i{background:#d4564f;}
.mcp-trace-call.blocked header i{background:#8b8175;}
.mcp-trace-call header strong{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.mcp-trace-call header span{font-size:10.5px;color:var(--text-secondary,#7d847e);}
.mcp-trace-call p,
.mcp-trace-call small{margin:0;font-size:11.5px;line-height:1.5;word-break:break-word;}
.mcp-trace-call small{color:var(--text-secondary,#68746d);}
.mcp-trace-call code{display:block;max-height:100px;overflow:auto;padding:7px 8px;border-radius:8px;background:rgba(26,40,34,.07);font-size:10.5px;line-height:1.45;white-space:pre-wrap;word-break:break-all;}
.mcp-trace-empty{font-size:12px;color:var(--text-secondary,#7d847e);}
html[data-ui-mode="dark"] .mcp-chat-trace{background:rgba(32,38,35,.9);border-color:rgba(166,196,181,.18);}
.app-icon.mcp-game-gradient,
.mcp-game-gradient{background:linear-gradient(145deg,#203d3a,#6fa087 62%,#d8c49a);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.22);}
.app-body.mcp-desktop-game-active{padding:0;background:#eef2ef;overflow:auto;}
.mcp-desktop-game{display:grid;gap:14px;width:min(100%,820px);margin:0 auto;padding:16px 14px calc(28px + env(safe-area-inset-bottom));color:#26342f;}
.mcp-desktop-game>section{border:1px solid rgba(50,77,67,.11);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(42,67,57,.08);overflow:hidden;}
.mcp-game-companion{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px;background:linear-gradient(135deg,#e8f3ec,#f8f1df);}
.mcp-game-companion small{font-size:10px;font-weight:900;letter-spacing:.14em;color:#668071;}
.mcp-game-companion h2{margin:3px 0 5px;font-size:25px;}
.mcp-game-companion p{max-width:520px;margin:0;color:#607068;font-size:12px;line-height:1.55;}
.mcp-game-companion label{display:grid;gap:5px;min-width:150px;font-size:11px;font-weight:800;color:#5d7167;}
.mcp-game-companion select{min-height:42px;padding:0 12px;border:1px solid rgba(58,87,75,.17);border-radius:13px;background:#fff;color:#26342f;font:inherit;}
.mcp-game-account{padding:17px 18px;}
.mcp-game-account header,
.mcp-game-web header,
.mcp-game-memory header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.mcp-game-account header strong,
.mcp-game-web header strong,
.mcp-game-memory header strong{font-size:15px;}
.mcp-game-account header span,
.mcp-game-web header span,
.mcp-game-memory header span{color:#7c8982;font-size:10.5px;}
.mcp-game-account ol{margin:12px 0 14px;padding-left:22px;color:#596a61;font-size:12px;line-height:1.65;}
.mcp-game-account-intro{margin:12px 0;color:#596a61;font-size:12px;line-height:1.65;}
.mcp-game-account header>div{display:grid;gap:3px;}
.mcp-game-account header>em{padding:5px 9px;border-radius:999px;background:#edf4f0;color:#486258;font-size:10px;font-style:normal;font-weight:800;}
.mcp-game-account-notice{margin:10px 0;padding:9px 11px;border-radius:11px;background:#f7f1e4;color:#715e3d;font-size:11px;line-height:1.5;}
.mcp-cedar-manual{margin-top:12px;padding:10px 11px;border:1px dashed rgba(61,83,74,.18);border-radius:13px;}
.mcp-cedar-manual summary{color:#66766d;cursor:pointer;font-size:10.5px;font-weight:800;}
.mcp-cedar-manual[open] summary{margin-bottom:2px;}
.mcp-cedar-credentials{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.mcp-cedar-credentials label{display:grid;gap:5px;color:#5d7167;font-size:10px;font-weight:800;}
.mcp-cedar-credentials input{width:100%;min-height:42px;padding:0 11px;border:1px solid rgba(58,87,75,.17);border-radius:12px;background:#fff;color:#26342f;font:inherit;outline:0;}
.mcp-cedar-credentials input:focus{border-color:#6b9481;box-shadow:0 0 0 3px rgba(107,148,129,.13);}
.mcp-game-actions{display:flex;flex-wrap:wrap;gap:9px;}
.mcp-game-account button,
.mcp-game-account a{display:inline-grid;place-items:center;min-height:41px;padding:0 14px;border:0;border-radius:13px;background:#27473e;color:#fff;font-size:12px;font-weight:850;text-decoration:none;}
.mcp-game-account button.secondary{background:#e8efeb;color:#315046;}
.mcp-game-account button.quiet{background:transparent;color:#7e635f;border:1px solid rgba(126,99,95,.2);}
.mcp-game-account button:disabled{opacity:.56;cursor:wait;}
.mcp-game-account a{background:#f3ead7;color:#715c38;}
.mcp-game-bind-code{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:12px 0;padding:11px 12px;border-radius:12px;background:#edf8f0;color:#386149;font-size:11px;}
.mcp-game-bind-code strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;letter-spacing:.08em;}
.mcp-game-bind-code button{min-height:32px;padding:0 10px;border-radius:9px;font-size:10px;}
.mcp-game-bind-code.expired{grid-template-columns:1fr auto;background:#f5f1ee;color:#876d67;}
.mcp-game-web header,
.mcp-game-memory header{padding:14px 16px;border-bottom:1px solid rgba(50,77,67,.09);}
.mcp-game-web header>div{display:grid;gap:3px;}
.mcp-game-web header a{padding:7px 10px;border-radius:10px;background:#f3ead7;color:#715c38;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap;}
.mcp-game-web iframe{display:block;width:100%;height:min(70dvh,760px);min-height:520px;border:0;background:#fff;}
.mcp-game-web .empty-text,
.mcp-game-memory>.empty-text{margin:0;padding:24px 18px;color:#7c8982;font-size:12px;}
.mcp-game-memory article{padding:12px 16px;border-top:1px solid rgba(50,77,67,.08);}
.mcp-game-memory article:first-of-type{border-top:0;}
.mcp-game-memory time{color:#8a958f;font-size:10px;}
.mcp-game-memory p{margin:4px 0 0;color:#4f6158;font-size:12px;line-height:1.55;}
html[data-ui-mode="dark"] .app-body.mcp-desktop-game-active{background:#111713;}
html[data-ui-mode="dark"] .mcp-desktop-game{color:#e6eee9;}
html[data-ui-mode="dark"] .mcp-desktop-game>section{background:#1b2420;border-color:rgba(210,235,222,.1);}
html[data-ui-mode="dark"] .mcp-game-companion{background:linear-gradient(135deg,#24382f,#332f23);}
html[data-ui-mode="dark"] .mcp-game-companion p,
html[data-ui-mode="dark"] .mcp-game-account ol,
html[data-ui-mode="dark"] .mcp-game-memory p{color:#b9c8c0;}
html[data-ui-mode="dark"] .mcp-game-companion select{background:#121915;color:#e6eee9;border-color:#3c4c44;}
html[data-ui-mode="dark"] .mcp-cedar-credentials input{background:#121915;color:#e6eee9;border-color:#3c4c44;}
html[data-ui-mode="dark"] .mcp-game-account header>em{background:#26332d;color:#c9d9d1;}
html[data-ui-mode="dark"] .mcp-game-account-notice{background:#332f23;color:#d8c9a9;}
html[data-ui-mode="dark"] .mcp-cedar-manual{border-color:#405148;}
html[data-ui-mode="dark"] .mcp-cedar-manual summary{color:#b1c0b8;}
@media (max-width:560px){.mcp-desktop-game{padding:12px 10px calc(22px + env(safe-area-inset-bottom));}}
@media (max-width:560px){.mcp-game-companion{align-items:stretch;flex-direction:column;}}
@media (max-width:560px){.mcp-game-companion label{min-width:0;}}
@media (max-width:560px){.mcp-game-web iframe{height:64dvh;min-height:440px;}}
@media (max-width:560px){.mcp-game-account header,
.mcp-game-web header{align-items:flex-start;flex-direction:column;gap:7px;}}
@media (max-width:560px){.mcp-cedar-credentials{grid-template-columns:1fr;}}
@media (max-width:560px){.mcp-game-actions>*{flex:1 1 calc(50% - 9px);}}
@media (max-width:560px){.mcp-game-bind-code{grid-template-columns:1fr auto;}}
@media (max-width:560px){.mcp-game-bind-code span{grid-column:1/-1;}}
.mcp-adapted-list { margin-top: 14px; }
.mcp-adapted-card { position: relative; overflow: hidden; }
.mcp-adapted-card::after { content: "MOSS"; position: absolute; right: -7px; top: -8px; color: rgba(38,52,66,.045); font-size: 42px; font-weight: 950; letter-spacing: -3px; pointer-events: none; transform: rotate(8deg); }
.mcp-adapted-card.installed { border-color: #cfd9d1; background: #f8fbf8; }
.mcp-adapted-card.installed .mcp-registry-icon { background: #536c5b; }
.mcp-adapted-card.installed>button { background: #e4ebe6; color: #47604e; }
.mcp-store-note { margin-top: 12px; padding: 14px 16px; border: 1px dashed #d7dde3; border-radius: 18px; background: rgba(255,255,255,.68); }
.mcp-store-note strong { display: block; color: #3d4a58; font-size: 13px; }
.mcp-store-note p { margin: 5px 0 0; color: #73808c; font-size: 11px; line-height: 1.55; }
.mcp-adapter-panel { margin: 0 0 14px; padding: 14px; border: 1px solid #dce4e8; border-radius: 17px; background: #f5f8fa; }
.mcp-adapter-panel>header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.mcp-adapter-panel strong { display: block; color: #334252; font-size: 14px; }
.mcp-adapter-panel small { color: #6d7d8b; font-size: 10px; font-weight: 800; }
.mcp-adapter-panel p { margin: 6px 0 0; color: #687785; font-size: 11px; line-height: 1.55; }
.mcp-adapter-panel textarea { width: 100%; min-height: 210px; padding: 11px; border: 1px solid #d8e0e5; border-radius: 13px; background: #fff; color: #25313d; font: 11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; resize: vertical; }
.mcp-json-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.mcp-json-actions button,
.mcp-json-upload { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 12px; border: 0; border-radius: 11px; background: #e4eaf0; color: #3b4a59; font-size: 11px; font-weight: 850; cursor: pointer; }
.mcp-json-upload { background: #263442; color: #fff; }
.mcp-json-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
html[data-ui-mode="dark"] .mcp-adapted-card.installed { border-color: #415047; background: #1a2420; }
html[data-ui-mode="dark"] .mcp-store-note,
html[data-ui-mode="dark"] .mcp-adapter-panel { border-color: #37404a; background: #171d23; }
html[data-ui-mode="dark"] .mcp-store-note strong,
html[data-ui-mode="dark"] .mcp-adapter-panel strong { color: #e5ecf2; }
html[data-ui-mode="dark"] .mcp-store-note p,
html[data-ui-mode="dark"] .mcp-adapter-panel p,
html[data-ui-mode="dark"] .mcp-adapter-panel small { color: #9ba8b3; }
html[data-ui-mode="dark"] .mcp-adapter-panel textarea { border-color: #39444e; background: #11161b; color: #e6edf3; }
@media (max-width: 390px) { .mcp-json-actions { display: grid; grid-template-columns: 1fr 1fr; } }
@media (max-width: 390px) {.mcp-json-actions button,
.mcp-json-upload { width: 100%; } }
@media (max-width: 390px) {.mcp-adapter-panel textarea { min-height: 235px; } }
.mcp-profile-list { display: grid; gap: 8px; margin: 10px 0 12px; }
.mcp-profile-empty { padding: 12px; border: 1px dashed #cad4dc; border-radius: 12px; color: #758390; font-size: 11px; line-height: 1.5; }
.mcp-profile-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid #dce4e9; border-radius: 13px; background: #fff; }
.mcp-profile-card>label { display: flex; align-items: flex-start; gap: 8px; min-width: 0; cursor: pointer; }
.mcp-profile-card>label>input { flex: none; margin-top: 3px; accent-color: #31495d; }
.mcp-profile-card>label>span { min-width: 0; }
.mcp-profile-card strong { display: block; overflow: hidden; color: #2d3b49; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.mcp-profile-card small { display: block; margin-top: 3px; color: #7b8996; font-size: 9.5px; line-height: 1.45; }
.mcp-profile-card>button { min-height: 30px; padding: 0 9px; border: 0; border-radius: 9px; background: #f7eaea; color: #a14a4a; font-size: 10px; font-weight: 800; }
.mcp-key-panel input { width: 100%; min-height: 42px; margin-top: 10px; padding: 0 11px; border: 1px solid #d8e0e5; border-radius: 12px; background: #fff; color: #25313d; font: inherit; outline: 0; }
.mcp-key-panel input:focus { border-color: #60798e; box-shadow: 0 0 0 3px rgba(96,121,142,.12); }
html[data-ui-mode="dark"] .mcp-profile-empty { border-color: #45505a; color: #98a6b2; }
html[data-ui-mode="dark"] .mcp-profile-card { border-color: #39444e; background: #11161b; }
html[data-ui-mode="dark"] .mcp-profile-card strong { color: #e6edf3; }
html[data-ui-mode="dark"] .mcp-profile-card small { color: #95a3af; }
html[data-ui-mode="dark"] .mcp-key-panel input { border-color: #39444e; background: #11161b; color: #e6edf3; }
@media (max-width: 390px) { .mcp-profile-card { grid-template-columns: minmax(0,1fr) auto; } }
.mcp-master-switch,
.mcp-privacy-row,
.mcp-persona-permission { position: relative; }
.mcp-master-switch input {
  inset: 0 !important;
  width: 47px !important;
  height: 28px !important;
  margin: 0 !important;
  pointer-events: auto !important;
  z-index: 2;
}
.mcp-privacy-row input,
.mcp-persona-permission input {
  top: 50% !important;
  right: 0 !important;
  left: auto !important;
  width: 42px !important;
  height: 25px !important;
  margin: 0 !important;
  transform: translateY(-50%);
  pointer-events: auto !important;
  z-index: 2;
}
html.moss-ios-webkit :is(.app-topbar, .travel-tabbar, .mcp-tabs, .forum-v4-replybar, .forum-v3-dm-head, .forum-v3-dm-composer) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html.moss-ios-webkit .mcp-tabs {
  background-color: var(--moss-ui-surface, var(--surface-strong, #fff)) !important;
}

/*# source: assets/css/features/date.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.cute-date-row {display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0;}

/* Existing canonical module rules follow. */
/*
 * date feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */
.date-gradient { background: linear-gradient(145deg, #ff7675, #fd79a8 50%, #55efc4); }
.date-app {
  height: 100%;
  min-height: 0;
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 10px;
  padding: 14px;
  background: linear-gradient(180deg, #fff7fb, #f3f7fb);
}
.date-picker-app {
  min-height: 100%;
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 18px;
  background: linear-gradient(180deg, #fff7fb, #f3f7fb);
}
.date-picker-head h2 {
  margin: 0;
  color: #20242d;
  font-size: 24px;
}
.date-picker-head p {
  margin: 6px 0 0;
  color: #7d8492;
  font-size: 13px;
}
.date-picker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 10px;
}
.date-person-card {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  padding: 12px 6px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  color: #263244;
  box-shadow: 0 8px 24px rgba(30, 36, 44, 0.06);
}
button.date-person-card {
  border: 0;
  text-align: center;
}
.date-person-avatar {
  width: 64px;
  height: 64px;
  font-size: 20px;
}
.date-person-card strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.date-object-back {
  justify-self: start;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #344054;
  font-weight: 900;
}
.date-hero {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 30px rgba(30, 36, 44, 0.08);
}
.date-avatar {
  width: 58px;
}
.date-hero div {
  display: grid;
  gap: 4px;
}
.date-hero strong {
  font-size: 20px;
}
.date-hero span {
  color: #697386;
}
.date-char-strip {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  gap: 8px;
  overflow: auto;
  margin: -14px -14px 0;
  padding: 14px 14px 10px;
  background: color-mix(in srgb, #fff7fb 86%, transparent);
  backdrop-filter: blur(16px);
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}
.date-char-strip button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  color: #344054;
  font-weight: 900;
  scroll-snap-align: start;
  white-space: nowrap;
}
.date-char-strip button.active {
  background: #171b22;
  color: #fff;
}
.date-messages {
  min-height: 0;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: 4px;
}
.date-generation-status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  color: #6f5834;
  font-size: 13px;
  font-weight: 900;
}
.date-generation-status[hidden] {
  display: none;
}
.date-generation-status span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  animation: datePulse 0.9s ease-in-out infinite;
}
.date-tool-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
@media (max-width: 430px) {

  .date-tool-row {
    flex-wrap: wrap;
  }
}
.date-load-more {
  width: 100%;
  min-height: 38px;
  margin: 0 0 12px;
  border-radius: 16px;
  border: 1px dashed rgba(158, 119, 52, 0.34);
  background: rgba(255, 255, 255, 0.62);
  color: #80612f;
  font-weight: 900;
}
.date-line {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  color: #20242d;
  box-shadow: 0 8px 24px rgba(30, 36, 44, 0.06);
}
.date-line.user {
  background: rgba(184, 245, 206, 0.55);
}
.date-line.error {
  background: #ffe2e2;
  color: #9b1c1c;
}
.date-line.loading {
  border: 1px dashed rgba(158, 119, 52, 0.38);
  background: rgba(255, 250, 236, 0.78);
  color: #6f5834;
}
.date-line strong {
  display: block;
  margin-bottom: 8px;
  color: #5b6c8c;
  font-size: 12px;
}
.date-line p,
.date-rich-content p {
  margin: 0;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.date-text-narration {
  color: color-mix(in srgb, #20242d 86%, #6f5834);
}
.date-text-dialogue {
  position: relative;
  margin: 2px 0 4px 8px !important;
  padding: 1px 0 1px 13px;
  border-left: 2px solid var(--longform-dialogue-line);
  border-radius: 0;
  background: transparent;
  color: var(--longform-dialogue-text);
  font-weight: 700;
}
.date-text-thought,
.date-inline-thought {
  color: #7d8492;
  font-style: italic;
}
.date-inline-dialogue {
  color: var(--longform-dialogue-text);
  font-weight: 700;
}
.date-rich-content {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.date-html-frame {
  width: 100%;
  min-height: 520px;
  border: 1px solid var(--skin-border);
  border-radius: 12px;
  background: transparent;
  pointer-events: auto;
}
.date-code-block {
  max-height: 520px;
  margin: 0;
  padding: 12px;
  overflow: auto;
  border: 1px solid var(--skin-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--phone-bg) 76%, #000 8%);
  color: var(--skin-text);
  white-space: pre-wrap;
  word-break: normal;
  overflow-wrap: break-word;
  font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.date-raw-fallback {
  border-style: dashed;
  opacity: 0.82;
}
.date-composer {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 64px;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 26px rgba(30, 36, 44, 0.08);
}
.date-composer textarea {
  height: 54px;
  max-height: 92px;
  min-width: 0;
  border: 0;
  border-radius: 14px;
  padding: 10px 12px;
  background: #f3f5f8;
  outline: 0;
  resize: none;
  color: #20242d;
}
.date-composer button {
  min-height: 54px;
  border-radius: 14px;
  background: #18bf72;
  color: #fff;
  font-weight: 900;
}
.date-composer button:disabled,
.date-composer textarea:disabled {
  opacity: 0.62;
}
.date-composer .date-reroll {
  background: #252a31;
}
.date-app {
  background: var(--phone-bg);
  color: var(--skin-text);
}
.date-composer button:last-child {
  background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;
}
.date-composer textarea {
  border-color: var(--skin-border);
  background: var(--surface-strong);
  color: var(--skin-text);
}
.date-line,
.date-person-card,
.date-composer {
  background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
}
.date-picker-head h2 {
  color: var(--skin-text) !important;
}
.date-composer,
.date-line {
  background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;
}
.date-composer button:last-child {
  background: var(--skin-accent) !important;
  color: var(--phone-bg) !important;
}
.date-line strong {
  color: var(--skin-muted) !important;
}
.date-app {
  min-height: 100%;
  gap: 0 !important;
  background: var(--phone-bg) !important;
}
.date-messages {
  background: var(--phone-bg);
}
.app-body:has(.date-app) {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
.date-app {
  min-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: visible !important;
  touch-action: pan-y !important;
}
.date-messages {
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  padding-bottom: calc(14px + var(--safe-bottom)) !important;
}
.date-line,
.date-rich-content {
  min-height: 0 !important;
  max-width: 100% !important;
  touch-action: pan-y !important;
}
.date-composer {
  flex-shrink: 0 !important;
}
.date-line,
.date-rich-content,
.date-html-frame {
  overflow: visible !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
.date-rich-content p {
  margin: 0 0 0.75em;
}
.app-body.date-mode {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: auto !important;
  touch-action: auto !important;
}
.app-body.date-mode .date-picker-app {
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  padding-bottom: calc(18px + var(--safe-bottom)) !important;
}
.app-body.date-mode .date-app {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
  touch-action: auto !important;
}
.app-body.date-mode .date-messages {
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: block !important;
  align-self: stretch !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  padding: 0 0 132px !important;
}
.app-body.date-mode .date-line {
  overflow: visible !important;
  margin: 0 0 14px !important;
  transform: translateZ(0);
}
.app-body.date-mode .date-rich-content,
.app-body.date-mode .date-rich-content p {
  overflow: visible !important;
  max-width: 100% !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.app-body.date-mode .date-html-frame {
  pointer-events: none !important;
}
.app-body.date-mode .date-composer {
  position: fixed !important;
  left: max(10px, env(safe-area-inset-left, 0px)) !important;
  right: max(10px, env(safe-area-inset-right, 0px)) !important;
  bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 999 !important;
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
  padding: 8px !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18) !important;
  transform: translateZ(0);
}
.app-body.date-mode .date-composer textarea,
.app-body.date-mode .date-composer button {
  visibility: visible !important;
  opacity: 1 !important;
}
:root[data-ui-mode="dark"] .date-rich-content,
:root[data-ui-mode="dark"] .date-rich-content p,
:root[data-ui-mode="dark"] .date-line,
:root[data-ui-mode="dark"] .date-line strong,
:root[data-ui-mode="dark"] .date-composer textarea {
  color: var(--skin-text) !important;
}
:root[data-ui-mode="dark"] .date-rich-content .date-text-thought,
:root[data-ui-mode="dark"] .date-inline-thought {
  color: var(--skin-muted) !important;
}
.date-speaker-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.date-speaker-head strong {
  margin-bottom: 0;
}
.date-line.loading .longform-inline-more {
  display: none;
}
.date-action-menu {
  gap: 4px;
  padding: 6px;
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}
.date-action-menu button {
  min-height: 28px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 750;
}
.date-speaker-avatar.avatar {
  width: 34px;
  border-radius: 12px;
}
.date-titlebar {
  border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
}
.date-composer {
  border-top: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  box-shadow: 0 -10px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
}
.date-composer textarea {
  border-radius: var(--skin-radius-md) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--phone-bg) 78%, var(--surface-strong)) !important;
  color: var(--skin-text) !important;
}
.date-app {
  background-color: var(--phone-bg) !important;
  color: var(--skin-text) !important;
}
.date-titlebar {
  border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}
.date-composer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 8 !important;
  min-height: 58px !important;
  border-top: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  box-shadow: 0 -10px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(20px) saturate(1.14);
  -webkit-backdrop-filter: blur(20px) saturate(1.14);
}
.date-composer button:last-child {
  color: #fff !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}
.date-app {
  color: var(--skin-text) !important;
}
.date-app {
  background: var(--phone-bg) !important;
}
.app-body.date-mode {
  overflow: hidden !important;
}
.date-composer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 12 !important;
  border-top: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  box-shadow: 0 -12px 28px color-mix(in srgb, var(--skin-text) 8%, transparent) !important;
  backdrop-filter: blur(20px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.14) !important;
}
.date-composer button:last-child {
  color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;
}
.date-app {
  padding: var(--skin-page-pad) !important;
}
.app-body.date-mode {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.date-tool-row {
  align-items: center !important;
}
body.theme-apple .date-char-strip {
  color: var(--skin-text) !important;
  background: rgba(247, 248, 251, 0.78) !important;
  border-color: rgba(110, 118, 130, 0.12) !important;
  box-shadow: 0 8px 22px rgba(74, 87, 110, 0.08) !important;
  backdrop-filter: blur(24px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.14) !important;
}
html[data-ui-mode="dark"] body.theme-apple .date-char-strip {
  color: var(--skin-text) !important;
  background: rgba(26, 28, 34, 0.78) !important;
  border-color: var(--skin-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.20) !important;
}
body.keyboard-open .app-body.date-mode {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.date-sync-brief {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(124, 146, 166, 0.18);
  color: var(--ink, #202733);
  box-shadow: 0 8px 20px rgba(42, 54, 78, 0.06);
}
.date-sync-brief strong {
  font-size: 12px;
  font-weight: 900;
}
.date-sync-brief p {
  margin: 0;
  color: rgba(40, 52, 68, 0.62);
  font-size: 11px;
  line-height: 1.45;
}
.date-writing-button{min-height:34px;max-width:58%;padding:0 12px;border:1px solid color-mix(in srgb,var(--skin-border,rgba(0,0,0,.12)) 80%,transparent);border-radius:999px;color:var(--skin-text,#344054);background:color-mix(in srgb,var(--surface-strong,#fff) 78%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--skin-text,#2b2520) 7%,transparent);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.date-writing-page{min-height:100%;display:grid;align-content:start;gap:12px;padding:14px;overflow-y:auto;color:var(--skin-text,#2c241d);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong,#fff) 60%,transparent),color-mix(in srgb,var(--phone-bg,#f4ecdf) 92%,transparent)),var(--phone-bg,#f4ecdf)}
.date-writing-head,
.date-writing-card,
.date-writing-actions{border:1px solid var(--skin-border,rgba(0,0,0,.1));border-radius:22px;background:color-mix(in srgb,var(--surface-strong,#fff) 86%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--skin-text,#2b2520) 8%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.date-writing-head{display:grid;gap:8px;padding:14px}
.date-writing-head h2,
.date-writing-card h3{margin:0;color:var(--skin-title,#1f1a16)}
.date-writing-head p,
.date-writing-card .hint-text,
.date-writing-note,
.date-writing-status{margin:0;color:var(--skin-muted,#7a6d60);font-size:12.5px;line-height:1.55}
.date-writing-card{display:grid;gap:12px;padding:14px}
.date-writing-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.date-writing-chip{min-width:0}
.date-writing-chip input{position:absolute;opacity:0;pointer-events:none}
.date-writing-chip span,
.date-style-select span{display:grid;place-items:center;min-height:38px;padding:0 10px;border-radius:16px;border:1px solid var(--skin-border,rgba(0,0,0,.1));color:var(--skin-text,#2c241d);background:color-mix(in srgb,var(--phone-bg,#f4ecdf) 56%,#fff);font-size:13px;font-weight:800}
.date-writing-chip input:checked+span,
.date-style-select input:checked+span{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--skin-accent,#b17a36),var(--skin-accent-2,#8f642d));box-shadow:0 8px 20px color-mix(in srgb,var(--skin-accent,#b17a36) 26%,transparent)}
.date-writing-turn-taking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.date-writing-custom-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.date-writing-custom-row label,
.date-style-card .field{display:grid;gap:6px;color:var(--skin-muted,#7a6d60);font-size:12px;font-weight:800}
.date-writing-custom-row input,
.date-writing-card select,
.date-style-card input,
.date-style-card textarea{width:100%;min-height:40px;box-sizing:border-box;border:1px solid var(--skin-border,rgba(0,0,0,.12));border-radius:14px;padding:9px 11px;color:var(--skin-text,#2c241d);background:color-mix(in srgb,var(--phone-bg,#f4ecdf) 62%,#fff);font:13px/1.5 var(--app-font-family,system-ui)}
.date-style-card textarea{resize:vertical;min-height:104px}
.date-writing-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.date-writing-card-title button,
.date-style-delete,
.date-writing-actions button{border:0;border-radius:14px;min-height:38px;padding:0 12px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--skin-accent,#b17a36),var(--skin-accent-2,#8f642d))}
.date-style-list{display:grid;gap:10px}
.date-style-card{display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid color-mix(in srgb,var(--skin-border,rgba(0,0,0,.1)) 88%,transparent);background:color-mix(in srgb,var(--phone-bg,#f4ecdf) 54%,transparent)}
.date-style-select input{position:absolute;opacity:0;pointer-events:none}
.date-style-delete{justify-self:end;color:var(--skin-text,#2c241d);background:color-mix(in srgb,#c0564a 12%,transparent)}
.date-style-delete:disabled{opacity:.45}
.date-writing-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
.date-writing-actions button:nth-child(2){color:var(--skin-text,#2c241d);background:color-mix(in srgb,var(--skin-muted,#7a6d60) 14%,transparent)}
.date-writing-status{min-height:18px;text-align:center}
@media (max-width:390px){.date-writing-button{max-width:50%;font-size:11.5px}}
@media (max-width:390px){.date-writing-chip-grid,
.date-writing-custom-row{grid-template-columns:1fr}}
.date-style-card{display:block;gap:0;padding:0;overflow:hidden;border-radius:18px;background:color-mix(in srgb,var(--surface-strong,#fff) 72%,transparent)}
.date-style-summary{width:100%;min-height:46px;border:0;background:transparent;color:var(--skin-text,#2c241d);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;text-align:left;font:800 14px/1.35 var(--app-font-family,system-ui);cursor:pointer}
.date-style-card.is-selected{border-color:color-mix(in srgb,var(--skin-accent,#7aa1d5) 48%,var(--skin-border,rgba(0,0,0,.1)));background:color-mix(in srgb,var(--skin-accent,#7aa1d5) 9%,var(--surface-strong,#fff))}
.date-style-card.is-selected .date-style-name-text::before{content:"✓ ";font-weight:1000;color:var(--skin-accent,#7aa1d5)}
.date-style-name-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.date-style-caret{flex:0 0 auto;color:var(--skin-muted,#7a6d60);font-size:20px;line-height:1;transition:transform .18s ease,opacity .18s ease;opacity:.68}
.date-style-details{display:none;gap:10px;padding:0 12px 12px}
.date-style-card.expanded .date-style-details{display:grid}
.date-style-card.expanded .date-style-caret{transform:rotate(90deg);opacity:1}
.date-style-card.expanded .date-style-summary{border-bottom:1px solid color-mix(in srgb,var(--skin-border,rgba(0,0,0,.1)) 76%,transparent);margin-bottom:10px}
.date-status-bar {
  margin: 0 0 8px;
  border: 1px solid rgba(150, 110, 70, 0.22);
  border-radius: 12px;
  background: rgba(255, 251, 242, 0.72);
  overflow: hidden;
}
:root[data-ui-mode="dark"] .date-status-bar {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}
.date-status-bar > summary.ds-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #7a5a36;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
:root[data-ui-mode="dark"] .date-status-bar > summary.ds-summary { color: rgba(232, 222, 206, 0.92); }
.date-status-bar > summary.ds-summary::-webkit-details-marker { display: none; }
.date-status-bar .ds-dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c98a3a;
  box-shadow: 0 0 0 3px rgba(201, 138, 58, 0.18);
}
.date-status-bar[open] > summary.ds-summary {
  border-bottom: 1px solid rgba(150, 110, 70, 0.16);
  white-space: normal;
}
.date-status-bar .ds-body { padding: 8px 12px 10px; }
.date-status-bar .ds-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
}
.date-status-bar .ds-item span {
  display: block;
  font-size: 11px;
  color: #b08a5a;
  margin-bottom: 1px;
}
:root[data-ui-mode="dark"] .date-status-bar .ds-item span { color: rgba(220, 200, 170, 0.7); }
.date-status-bar .ds-item p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--skin-text, #3a2f26);
  word-break: break-word;
}
.date-status-bar .ds-psyche {
  margin-top: 8px;
  border-top: 1px dashed rgba(150, 110, 70, 0.25);
  padding-top: 6px;
}
.date-status-bar .ds-psyche > summary {
  list-style: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: #9a6b52;
}
.date-status-bar .ds-psyche > summary::-webkit-details-marker { display: none; }
.date-status-bar .ds-psyche > summary::before { content: "› "; }
.date-status-bar .ds-psyche[open] > summary::before { content: "⌄ "; }
.date-status-bar .ds-psyche p {
  margin: 6px 0 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: #8a6a5a;
  font-style: italic;
}
.date-status-bar .ds-psyche p span {
  font-style: normal;
  font-weight: 700;
  margin-right: 6px;
  color: #9a6b52;
}
.date-beautify {
  margin: 8px 0;
  border: 1px solid rgba(150, 110, 70, 0.22);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 251, 242, 0.6);
}
:root[data-ui-mode="dark"] .date-beautify {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
}
.date-beautify > summary.db-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 700;
  color: #7a5a36;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
:root[data-ui-mode="dark"] .date-beautify > summary.db-summary { color: rgba(232, 222, 206, 0.92); }
.date-beautify > summary.db-summary::-webkit-details-marker { display: none; }
.date-beautify .db-dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c98a3a;
  box-shadow: 0 0 0 3px rgba(201, 138, 58, 0.18);
}
.date-beautify[open] > summary.db-summary { border-bottom: 1px solid rgba(150, 110, 70, 0.16); }
.date-beautify .db-frame {
  width: 100%;
  border: 0;
  display: block;
  background: transparent;
  min-height: 60px;
}
.date-archive-button,
.date-new-session-button,
.date-switch-opening-button{min-height:34px;padding:0 11px;border:1px solid color-mix(in srgb,var(--skin-border,rgba(0,0,0,.12)) 80%,transparent);border-radius:999px;color:var(--skin-text,#344054);background:color-mix(in srgb,var(--surface-strong,#fff) 78%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--skin-text,#2b2520) 7%,transparent);font-size:12px;font-weight:900;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.date-switch-opening-button{color:var(--skin-accent,#b17a36);border-color:color-mix(in srgb,var(--skin-accent,#b17a36) 45%,transparent);background:color-mix(in srgb,var(--skin-accent,#b17a36) 10%,var(--surface-strong,#fff))}
.date-new-session-button{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--skin-accent,#b17a36),var(--skin-accent-2,#8f642d))}
.date-new-session-button:disabled{opacity:.5}
.date-archive-page{min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px;box-sizing:border-box;overflow:hidden;color:var(--skin-text,#2c241d);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong,#fff) 60%,transparent),color-mix(in srgb,var(--phone-bg,#f4ecdf) 92%,transparent)),var(--phone-bg,#f4ecdf)}
.date-archive-head,
.date-archive-card{border:1px solid var(--skin-border,rgba(0,0,0,.1));border-radius:22px;background:color-mix(in srgb,var(--surface-strong,#fff) 86%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--skin-text,#2b2520) 8%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.date-archive-head{display:grid;gap:8px;padding:14px}
.date-archive-head h2{margin:0;color:var(--skin-title,#1f1a16);font-size:20px}
.date-archive-head p{margin:0;color:var(--skin-muted,#7a6d60);font-size:12.5px;line-height:1.55}
.date-archive-primary,
.date-archive-secondary,
.date-archive-actions button{min-height:38px;border:0;border-radius:14px;padding:0 12px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--skin-accent,#b17a36),var(--skin-accent-2,#8f642d))}
.date-archive-secondary{color:var(--skin-text,#2c241d);background:color-mix(in srgb,var(--skin-muted,#7a6d60) 14%,transparent)}
.date-archive-primary.danger,
.date-archive-secondary.danger,
.date-archive-actions .danger{background:color-mix(in srgb,#c0564a 18%,transparent);color:#8f3c33}
.date-archive-list{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:10px;padding:0 0 calc(24px + var(--safe-bottom,0px))}
.date-archive-card{display:grid;gap:8px;padding:12px}
.date-archive-main{display:grid;gap:5px;text-align:left;border:0;background:transparent;color:inherit;padding:0}
.date-archive-main strong{font-size:15px;color:var(--skin-title,#1f1a16)}
.date-archive-main small{font-size:11.5px;color:var(--skin-muted,#7a6d60)}
.date-archive-main p{margin:0;font-size:12.5px;line-height:1.5;color:var(--skin-muted,#7a6d60);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.date-archive-actions,
.date-archive-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.date-archive-readonly{border-radius:22px;border:1px solid var(--skin-border,rgba(0,0,0,.1));background:color-mix(in srgb,var(--surface-strong,#fff) 76%,transparent);overflow-y:auto}
.date-archive-detail{grid-template-rows:auto minmax(0,1fr)}
@media (max-width:390px){.date-tool-row{gap:6px}}
@media (max-width:390px){.date-archive-button,
.date-new-session-button{padding:0 9px;font-size:11px}}
@media (max-width:390px){.date-writing-button{max-width:42%}}
@media (max-width:390px){.date-archive-page{padding:10px}}
.app-body.date-mode .date-app{
  gap:8px !important;
}
.app-body.date-mode .date-tool-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 1px 2px !important;
  scrollbar-width:none !important;
  -webkit-overflow-scrolling:touch !important;
}
.app-body.date-mode .date-tool-row::-webkit-scrollbar{display:none !important}
.app-body.date-mode .date-object-back,
.app-body.date-mode .date-archive-button,
.app-body.date-mode .date-new-session-button,
.app-body.date-mode .date-writing-button{
  min-height:32px !important;
  height:32px !important;
  padding:0 9px !important;
  font-size:11.5px !important;
  line-height:32px !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
.app-body.date-mode .date-object-back,
.app-body.date-mode .date-archive-button,
.app-body.date-mode .date-new-session-button{
  flex:0 0 auto !important;
}
.app-body.date-mode .date-writing-button{
  flex:1 1 98px !important;
  min-width:86px !important;
  max-width:none !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.app-body.date-mode .date-sync-brief{
  min-height:32px !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  box-shadow:0 6px 16px rgba(42,54,78,.05) !important;
}
.app-body.date-mode .date-sync-brief strong{
  flex:0 0 auto !important;
  max-width:88px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:11px !important;
  line-height:1 !important;
}
.app-body.date-mode .date-sync-brief p{
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:10.8px !important;
  line-height:1 !important;
}
@media (max-width:430px){
  .app-body.date-mode .date-tool-row{flex-wrap:nowrap !important}
}
@media (max-width:430px){
  .app-body.date-mode .date-object-back,
.app-body.date-mode .date-archive-button,
.app-body.date-mode .date-new-session-button{padding:0 8px !important;font-size:11px !important}
}
@media (max-width:430px){
  .app-body.date-mode .date-writing-button{max-width:none !important;font-size:11px !important}
}
.app-body.date-mode .date-app { position: relative !important; }
#appScreen :is(
  .panel button:not(.danger-button):not(.settings-back):not(.secondary-button),
  .button-row button:not(.danger-button):not(.secondary-button),
  .form-action-grid button:not(.danger-button):not(.secondary-button),
  .date-composer button:last-child,
  .forum-refresh-button,
  .forum-add-button,
  .world-actions button:not(.danger-button),
  .composer-send
) {
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 26%, transparent) !important;
  background: var(--ed-accent-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}
#appScreen .date-writing-chip:has(input:checked) {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border-color: color-mix(in srgb, var(--ed-accent) 30%, transparent) !important;
}
#appScreen .date-writing-head {
  background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  box-shadow: none !important;
}
.date-archive-actions,
.date-archive-head-actions {
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
}
.date-content-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.date-content-search-row input {
  width: 100%;
  min-height: 40px;
  box-sizing: border-box;
  border: 1px solid var(--skin-border, rgba(0,0,0,.12));
  border-radius: 14px;
  padding: 8px 11px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--phone-bg, #f4ecdf) 62%, #fff);
  font: 13px/1.4 var(--app-font-family, system-ui);
}
.date-content-search-row button {
  min-height: 40px;
  border: 0;
  border-radius: 14px;
  padding: 0 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--skin-accent, #b17a36), var(--skin-accent-2, #8f642d));
  font-weight: 900;
}
.date-content-search-results {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 7px;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.date-content-search-result {
  display: grid !important;
  grid-template-rows: auto auto;
  align-content: start !important;
  gap: 4px;
  width: 100%;
  height: auto !important;
  min-height: 68px !important;
  max-height: none !important;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.1)) 82%, transparent);
  border-radius: 14px;
  color: var(--skin-text, #2c241d);
  background: color-mix(in srgb, var(--surface-strong, #fff) 78%, transparent);
  text-align: left;
  white-space: normal !important;
  overflow: hidden !important;
}
.date-content-search-result small { display:block;color:var(--skin-muted,#7a6d60);font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.date-content-search-result span { display:-webkit-box;min-width:0;font-size:12.5px;line-height:1.5;white-space:normal;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.date-search-highlight { animation: dateSearchResultFlash 1.7s ease; }
.lifeline-event.date { border-left-color: #d39a7f; }
.moss-action-card.date-invite{background:linear-gradient(135deg,#f8fbff,#eef5ff);}
#appScreen .date-picker-app,
#appScreen .date-app,
#appScreen .date-writing-page,
#appScreen .date-archive-page {
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .date-picker-app {
  padding: 15px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
}
#appScreen .date-picker-head {
  margin-bottom: 12px;
  padding: 18px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 20px !important;
  color: var(--moss-ui-text) !important;
  background: linear-gradient(145deg, var(--moss-ui-accent-wash), var(--moss-ui-card)) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .date-picker-head h2 { color: var(--moss-ui-text) !important; font-size: 23px; font-weight: 690; letter-spacing: -.03em; }
#appScreen .date-picker-head p { color: var(--moss-ui-muted) !important; line-height: 1.55; }
#appScreen .date-picker-grid {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
#appScreen .date-person-card {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .date-person-card strong { color: var(--moss-ui-text) !important; font-size: 15px; font-weight: 650; }
#appScreen .date-person-card small { color: var(--moss-ui-muted) !important; }
#appScreen .date-tool-row,
#appScreen .date-archive-head,
#appScreen .date-writing-head {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#appScreen .date-tool-row > button,
#appScreen .date-object-back,
#appScreen .date-archive-button,
#appScreen .date-writing-button,
#appScreen .date-switch-opening-button {
  min-height: 42px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 12px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: none !important;
}
#appScreen .date-messages {
  padding-left: 13px !important;
  padding-right: 13px !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .date-line {
  border-color: var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .date-line.user {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .date-speaker-head,
#appScreen .date-sync-brief,
#appScreen .date-generation-status { color: var(--moss-ui-muted) !important; }
#appScreen .date-composer {
  border-top: 1px solid var(--moss-ui-line) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 94%, transparent) !important;
  box-shadow: none !important;
}
#appScreen .date-composer textarea {
  min-height: 44px;
  font-size: 16px !important;
}
#appScreen .date-reroll {
  min-width: 44px;
  min-height: 44px;
  border-radius: 13px !important;
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card) !important;
}
#appScreen :where(.date-archive-card, .date-writing-card, .date-content-search-card,
  .date-style-card) {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen :where(.date-writing-chip, .date-style-select, .date-content-search-row) {
  border-color: var(--moss-ui-line) !important;
  color: var(--moss-ui-muted) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen :where(.date-writing-chip.active, .date-style-select.active) {
  border-color: var(--moss-ui-accent-line) !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
}
@media (max-width: 430px) {
  #appScreen .date-picker-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 360px) {
  #appScreen .date-picker-grid { grid-template-columns: 1fr !important; }
}
.tavern-card-body .date-text-block:first-child { margin-top: 10px; }
body.keyboard-date-open #appScreen > .app-body.date-mode .date-app {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.keyboard-date-open #appScreen > .app-body.date-mode .date-messages {
  flex: 1 1 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-bottom: 8px !important;
  scroll-padding-bottom: 8px !important;
}
body.keyboard-date-open #appScreen > .app-body.date-mode .date-composer {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  margin: 0 10px 6px !important;
  transform: none !important;
}

/* Tavern Runtime V2：整份显示投影只进入一次隔离 iframe，不再被原生正文解析器二次拆解。 */
.tavern-runtime-card {
  width: 100%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(96, 74, 60, .18)) 76%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-strong, #fffaf3) 88%, transparent);
}

.tavern-runtime-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  border-bottom: 1px solid color-mix(in srgb, var(--skin-border, rgba(96, 74, 60, .18)) 70%, transparent);
  color: var(--skin-muted, #786b62);
  font-size: 11px;
}

.tavern-runtime-head strong {
  color: var(--skin-title, var(--skin-text, #342a24));
  font-size: 12px;
}

.tavern-v2-frame {
  display: block;
  width: 100%;
  min-height: 64px;
  border: 0;
  background: transparent;
}

.tavern-integrity-warning {
  margin: 10px;
  padding: 10px 11px;
  border: 1px solid rgba(189, 113, 43, .3);
  border-radius: 13px;
  background: rgba(255, 238, 210, .68);
  color: #75471f;
}

.tavern-integrity-warning p {
  margin: 4px 0 8px;
  font-size: 12px;
  line-height: 1.45;
}

.tavern-integrity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tavern-integrity-actions button {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid rgba(117, 71, 31, .2);
  border-radius: 10px;
}

:root[data-ui-mode="dark"] .tavern-integrity-warning {
  border-color: rgba(233, 174, 91, .3);
  background: rgba(99, 61, 24, .42);
  color: #f5d5a7;
}

/*# source: assets/css/features/gathering.css */
/*
 * gathering feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.gathering-gradient { background: linear-gradient(145deg, #5aa7a0, #6f8fc8 58%, #9a7cc1); }
.app-body:has(.gathering-app) { padding: 0; overflow: hidden; }
.gathering-app { height: 100%; min-height: 0; color: var(--skin-text, #26313b); background: var(--phone-bg, #f4f7f8); }
.gathering-library { overflow: auto; padding: 18px 14px 32px; }
.gathering-library-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 2px 16px; }
.gathering-library-head h2 { margin: 0 0 3px; font-size: 22px; }
.gathering-library-head p { margin: 0; color: var(--skin-muted, #77838c); font-size: 11px; }
.gathering-library-head button,
.gathering-empty button { border: 0; border-radius: 7px; padding: 9px 12px; background: #517f86; color: #fff; font-weight: 600; }
.gathering-session-list { display: grid; gap: 9px; }
.gathering-session-card { width: 100%; min-width: 0; display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--skin-border, #dce4e8); border-radius: 8px; padding: 12px; background: var(--skin-panel, #fff); color: inherit; text-align: left; box-shadow: 0 3px 12px rgba(35, 63, 77, .06); }
.gathering-session-card > span { min-width: 0; }
.gathering-session-card strong,
.gathering-session-card small,
.gathering-session-card p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gathering-session-card small { margin-top: 3px; color: var(--skin-muted, #73808a); font-size: 10px; }
.gathering-session-card p { margin: 7px 0 0; color: var(--skin-muted, #66737d); font-size: 11px; }
.gathering-session-card em { font-style: normal; color: var(--skin-muted, #8a959d); }
.gathering-avatar-stack { display: flex; align-items: center; min-width: 0; }
.gathering-avatar-stack .gathering-mini-avatar,
.gathering-avatar-stack .avatar { width: 30px !important; height: 30px !important; min-width: 30px !important; margin-right: -9px; border: 2px solid var(--skin-panel, #fff); border-radius: 50% !important; font-size: 10px !important; }
.gathering-session-card .gathering-avatar-stack { width: 68px; flex-wrap: wrap; row-gap: 2px; }
.gathering-empty { padding: 72px 26px; text-align: center; color: var(--skin-muted, #73808a); }
.gathering-empty strong { display: block; margin-bottom: 7px; color: var(--skin-text, #26313b); }
.gathering-empty button { margin-top: 12px; }
.gathering-editor { overflow: auto; padding-bottom: 28px; }
.gathering-editor form { display: grid; gap: 12px; padding: 12px; }
.gathering-fields,
.gathering-member-section,
.gathering-host-section { display: grid; gap: 11px; padding: 13px; border: 1px solid var(--skin-border, #dce4e8); background: var(--skin-panel, #fff); }
.gathering-editor label { min-width: 0; display: grid; gap: 6px; color: var(--skin-muted, #6f7d87); font-size: 11px; }
.gathering-editor input,
.gathering-editor textarea,
.gathering-editor select { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--skin-border, #d8e0e5); border-radius: 7px; padding: 10px; background: var(--phone-bg, #f9fbfb); color: var(--skin-text, #26313b); font: inherit; }
.gathering-field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; }
.gathering-save,
.gathering-delete { min-height: 44px; }
.gathering-scene { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; }
.gathering-scene-head { min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 7px; padding: 10px 9px; border-bottom: 1px solid var(--skin-border, #dce4e8); background: var(--skin-panel, #fff); }
.gathering-scene-head button { width: 34px; height: 34px; border: 0; background: transparent; color: var(--skin-text, #26313b); font-size: 22px; }
.gathering-scene-head div { min-width: 0; text-align: center; }
.gathering-scene-head strong,
.gathering-scene-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gathering-scene-head small { margin-top: 2px; color: var(--skin-muted, #74808a); font-size: 9px; }
.gathering-cast-bar { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 13px; border-bottom: 1px solid var(--skin-border, #e2e8eb); background: color-mix(in srgb, var(--skin-panel, #fff) 92%, #dcebea 8%); }
.gathering-cast-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--skin-muted, #697681); font-size: 10px; }
.gathering-cast-bar em { padding: 3px 7px; border-radius: 5px; background: #dcebe7; color: #416e64; font-size: 9px; font-style: normal; }
.gathering-story { min-height: 0; overflow: auto; padding: 13px 12px 28px; }
.gathering-story-line { margin: 0 0 13px; padding: 14px; border-left: 3px solid #70a49a; background: var(--skin-panel, #fff); box-shadow: 0 3px 12px rgba(35, 63, 77, .05); }
.gathering-story-line.loading { border-left-color: #8295bc; }
.gathering-story-line.error { border-left-color: #bd6b72; color: #9d3e47; }
.gathering-story-head { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; color: var(--skin-muted, #6f7c86); font-size: 10px; }
.gathering-story-head .gathering-avatar-stack .avatar { width: 24px !important; height: 24px !important; min-width: 24px !important; }
.gathering-story-line .date-rich-content { padding: 0; background: transparent; border: 0; box-shadow: none; }
.gathering-user-line { display: flex; justify-content: flex-end; align-items: flex-start; gap: 9px; margin: 0 0 13px; }
.gathering-user-line > div { max-width: 78%; display: grid; justify-items: end; gap: 4px; }
.gathering-user-line strong { color: var(--skin-muted, #73808a); font-size: 10px; }
.gathering-user-line p { margin: 0; padding: 9px 11px; border-radius: 7px; background: #d8ece7; color: #273732; white-space: pre-wrap; }
.gathering-composer-wrap { border-top: 1px solid var(--skin-border, #dbe3e7); padding: 7px 9px max(9px, env(safe-area-inset-bottom)); background: var(--skin-panel, #fff); }
.gathering-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.gathering-composer textarea { min-height: 42px; max-height: 110px; resize: none; box-sizing: border-box; border: 1px solid var(--skin-border, #d7e0e4); border-radius: 7px; padding: 9px 10px; background: var(--phone-bg, #f8fafb); color: var(--skin-text, #26313b); font: inherit; }
.gathering-composer button { min-height: 42px; border: 0; border-radius: 7px; padding: 0 14px; background: #527f86; color: #fff; font-weight: 600; }
@media (max-width: 390px) { .gathering-field-row { grid-template-columns: 1fr; } }
#appScreen .gathering-composer-wrap {
  border-top: 1px solid var(--moss-live-line, var(--moss-ui-line)) !important;
  background: color-mix(in srgb, var(--moss-live-paper, var(--moss-ui-surface)) 94%, transparent) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#appScreen .gathering-app {
  min-height: 100%;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;
}
#appScreen .gathering-library,
#appScreen .gathering-editor {
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
}
#appScreen .gathering-library-head {
  padding: 18px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 20px !important;
  color: var(--moss-ui-text) !important;
  background: linear-gradient(145deg, var(--moss-ui-accent-wash), var(--moss-ui-card)) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .gathering-library-head h2 { color: var(--moss-ui-text) !important; font-size: 22px; font-weight: 690; }
#appScreen .gathering-library-head p { color: var(--moss-ui-muted) !important; }
#appScreen .gathering-session-list { gap: 9px; }
#appScreen .gathering-session-card {
  padding: 14px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .gathering-session-card strong { color: var(--moss-ui-text) !important; font-size: 15px; font-weight: 650; }
#appScreen .gathering-session-card p,
#appScreen .gathering-session-card small { color: var(--moss-ui-muted) !important; }
#appScreen .gathering-fields,
#appScreen .gathering-member-section,
#appScreen .gathering-host-section {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 17px !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .gathering-field-row {
  border-color: var(--moss-ui-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .gathering-scene-head {
  min-height: 60px;
  border-bottom: 1px solid var(--moss-ui-line) !important;
  color: var(--moss-ui-text) !important;
  background: color-mix(in srgb, var(--moss-ui-surface) 92%, transparent) !important;
  box-shadow: none !important;
}
#appScreen .gathering-cast-bar {
  border-color: var(--moss-ui-line) !important;
  background: var(--moss-ui-card-soft) !important;
}
#appScreen .gathering-story { background: var(--moss-ui-canvas) !important; }
#appScreen .gathering-story-line,
#appScreen .gathering-user-line {
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 15px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;
}
#appScreen .gathering-user-line {
  border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;
}
body.keyboard-chat-open #appScreen .gathering-scene {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.keyboard-chat-open #appScreen .gathering-story {
  min-height: 0 !important;
  padding-bottom: 8px !important;
  scroll-padding-bottom: 8px !important;
}
body.keyboard-chat-open #appScreen .gathering-composer-wrap {
  padding-bottom: 6px !important;
}

/*# source: assets/css/features/temporal.css */
/*
 * temporal feature stylesheet.
 * Physically extracted from the retired monolithic stylesheet in 464.9.178.
 * Keep module-specific selectors here; shared primitives belong in the design system.
 */

.temporal-gradient {
  background: #000 !important;
  color: #e7e5e4 !important;
}

#appScreen.temporal-screen-active {
  --temporal-putty: #c4c3b6;
  --temporal-ink: #000000;
  --temporal-bone: #e7e5e4;
  --temporal-chalk: #ebebeb;
  --temporal-vellum: #dfdcd5;
  --temporal-graphite: #595855;
  --temporal-paper: #ffffff;
  background: var(--temporal-putty) !important;
  color: var(--temporal-ink) !important;
}

#appScreen.temporal-screen-active .app-topbar {
  border-bottom: 1px solid rgba(0, 0, 0, .16) !important;
  background: var(--temporal-putty) !important;
  color: var(--temporal-ink) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

#appScreen.temporal-screen-active .app-topbar .back-button {
  border: 1px solid var(--temporal-ink) !important;
  background: transparent !important;
  color: var(--temporal-ink) !important;
  box-shadow: none !important;
}

#appScreen.temporal-screen-active .app-body {
  background: var(--temporal-putty) !important;
}

#appScreen .temporal-app {
  min-height: 100%;
  background: var(--temporal-putty, #c4c3b6);
  color: var(--temporal-ink, #000);
  font-family: var(--app-font-family, system-ui, sans-serif);
}

#appScreen .temporal-app *,
#appScreen .temporal-app *::before,
#appScreen .temporal-app *::after {
  box-sizing: border-box;
}

#appScreen .temporal-app button,
#appScreen .temporal-app input,
#appScreen .temporal-app textarea {
  font: inherit;
}

#appScreen .temporal-app button {
  color: inherit;
}

#appScreen .temporal-hero {
  min-height: 250px;
  padding: 34px 20px 28px;
  border-bottom: 1px solid var(--temporal-ink, #000);
}

#appScreen .temporal-hero > small,
#appScreen .temporal-module-copy > small,
#appScreen .temporal-archive header small,
#appScreen .temporal-setup-title > small,
#appScreen .temporal-contact > small,
#appScreen .temporal-summary > small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#appScreen .temporal-hero h1 {
  margin: 50px 0 12px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: clamp(56px, 16vw, 76px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.06em;
}

#appScreen .temporal-hero p {
  max-width: 310px;
  margin: 0 0 0 auto;
  color: var(--temporal-graphite, #595855);
  font-size: 12px;
  line-height: 1.7;
  text-align: right;
}

#appScreen .temporal-module-stack {
  background: var(--temporal-bone, #e7e5e4);
}

#appScreen .temporal-module {
  border-bottom: 1px solid var(--temporal-ink, #000);
}

#appScreen .temporal-module-tab {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 96px;
  border: 0;
  padding: 17px 20px;
  background: transparent;
  text-align: left;
}

#appScreen .temporal-module.is-active .temporal-module-tab {
  background: var(--temporal-ink, #000);
  color: var(--temporal-paper, #fff);
}

#appScreen .temporal-module-tab > span:first-child {
  align-self: start;
  padding-top: 7px;
  font-size: 10px;
  letter-spacing: .08em;
}

#appScreen .temporal-module-tab strong,
#appScreen .temporal-module-tab small {
  display: block;
}

#appScreen .temporal-module-tab strong {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.1;
}

#appScreen .temporal-module-tab small {
  margin-top: 6px;
  color: var(--temporal-graphite, #595855);
  font-size: 10px;
}

#appScreen .temporal-module.is-active .temporal-module-tab small {
  color: rgba(255, 255, 255, .62);
}

#appScreen .temporal-module-tab i {
  font-family: "Noto Serif SC", serif;
  font-size: 22px;
  font-style: normal;
}

#appScreen .temporal-module-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 16px;
  padding: 22px 20px 24px;
  background: var(--temporal-chalk, #ebebeb);
}

#appScreen .temporal-module-copy h2 {
  margin: 10px 0 8px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.45;
}

#appScreen .temporal-module-copy p {
  margin: 0;
  color: var(--temporal-graphite, #595855);
  font-size: 11px;
  line-height: 1.55;
}

#appScreen .temporal-module-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

#appScreen .temporal-primary,
#appScreen .temporal-secondary {
  min-height: 38px;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 24px;
  padding: 8px 15px;
  font-size: 11px;
  font-weight: 800;
}

#appScreen .temporal-primary {
  background: var(--temporal-ink, #000);
  color: var(--temporal-paper, #fff) !important;
}

#appScreen .temporal-secondary {
  background: transparent;
}

#appScreen .temporal-orbit {
  position: relative;
  width: 84px;
  height: 84px;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 50%;
}

#appScreen .temporal-orbit::before,
#appScreen .temporal-orbit::after {
  content: "";
  position: absolute;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 50%;
}

#appScreen .temporal-orbit::before {
  inset: 14px;
}

#appScreen .temporal-orbit::after {
  width: 9px;
  height: 9px;
  top: 8px;
  left: 37px;
  background: var(--temporal-ink, #000);
}

#appScreen .temporal-orbit-future::after {
  top: 61px;
  left: 58px;
}

#appScreen .temporal-orbit-echo::after {
  top: 37px;
  left: 37px;
  background: var(--temporal-paper, #fff);
}

#appScreen .temporal-archive {
  padding: 26px 20px 34px;
  background: var(--temporal-chalk, #ebebeb);
}

#appScreen .temporal-archive > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

#appScreen .temporal-archive h2 {
  margin: 5px 0 0;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 23px;
  font-weight: 500;
}

#appScreen .temporal-archive > header > span {
  font-size: 11px;
}

#appScreen .temporal-archive-list {
  border-top: 1px solid var(--temporal-ink, #000);
}

#appScreen .temporal-archive-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 88px;
  border: 0;
  border-bottom: 1px solid var(--temporal-ink, #000);
  padding: 13px 0;
  background: transparent;
  text-align: left;
}

#appScreen .temporal-archive-row small,
#appScreen .temporal-archive-row strong,
#appScreen .temporal-archive-row em {
  display: block;
}

#appScreen .temporal-archive-row small {
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#appScreen .temporal-archive-row strong {
  margin-top: 7px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 15px;
  font-weight: 500;
}

#appScreen .temporal-archive-row em {
  overflow: hidden;
  margin-top: 4px;
  color: var(--temporal-graphite, #595855);
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appScreen .temporal-empty {
  padding: 28px 18px;
  text-align: center;
}

#appScreen .temporal-empty strong {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 18px;
  font-weight: 500;
}

#appScreen .temporal-empty p {
  margin: 8px auto 0;
  max-width: 300px;
  color: var(--temporal-graphite, #595855);
  font-size: 11px;
  line-height: 1.6;
}

#appScreen .temporal-empty .temporal-primary {
  margin-top: 16px;
}

#appScreen .temporal-setup-page {
  padding-bottom: 24px;
  background: var(--temporal-bone, #e7e5e4);
}

#appScreen .temporal-setup-head,
#appScreen .temporal-thread-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 9px 18px;
  border-bottom: 1px solid rgba(0, 0, 0, .16);
  background: var(--temporal-putty, #c4c3b6);
}

#appScreen .temporal-setup-head button,
#appScreen .temporal-thread-head button {
  border: 0;
  padding: 7px 0;
  background: transparent;
  font-size: 11px;
}

#appScreen .temporal-setup-head span,
#appScreen .temporal-thread-head span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

#appScreen .temporal-setup-title {
  min-height: 225px;
  padding: 28px 20px 24px;
  border-bottom: 1px solid var(--temporal-ink, #000);
  background: var(--temporal-putty, #c4c3b6);
}

#appScreen .temporal-setup-title h1 {
  max-width: 350px;
  margin: 42px 0 0;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: clamp(38px, 11vw, 50px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.04em;
}

#appScreen .temporal-setup-title > div {
  display: flex;
  gap: 8px;
  margin-top: 24px;
}

#appScreen .temporal-setup-title i {
  width: 12px;
  height: 12px;
  border: 1px solid var(--temporal-ink, #000);
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}

#appScreen .temporal-setup-title i.is-active {
  background: var(--temporal-ink, #000);
}

#appScreen .temporal-setup-section {
  padding: 24px 20px;
  background: var(--temporal-bone, #e7e5e4);
}

#appScreen .temporal-setup-section > h2 {
  margin: 0;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 24px;
  font-weight: 500;
}

#appScreen .temporal-setup-section > p {
  margin: 7px 0 20px;
  color: var(--temporal-graphite, #595855);
  font-size: 11px;
  line-height: 1.6;
}

#appScreen .temporal-char-list,
#appScreen .temporal-setting-list {
  border-top: 1px solid var(--temporal-ink, #000);
}

#appScreen .temporal-char-list > button,
#appScreen .temporal-setting-list > button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 70px;
  border: 0;
  border-bottom: 1px solid var(--temporal-ink, #000);
  padding: 11px 0;
  background: transparent;
  text-align: left;
}

#appScreen .temporal-setting-list > button {
  grid-template-columns: minmax(0, 1fr) auto;
}

#appScreen .temporal-char-list > button > span:first-child {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 50%;
  background: var(--temporal-putty, #c4c3b6);
  font-family: "Noto Serif SC", serif;
}

#appScreen .temporal-char-list strong,
#appScreen .temporal-char-list small,
#appScreen .temporal-setting-list strong,
#appScreen .temporal-setting-list small {
  display: block;
}

#appScreen .temporal-char-list strong,
#appScreen .temporal-setting-list strong {
  font-size: 12px;
}

#appScreen .temporal-char-list small,
#appScreen .temporal-setting-list small {
  overflow: hidden;
  margin-top: 4px;
  color: var(--temporal-graphite, #595855);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appScreen .temporal-char-list i,
#appScreen .temporal-setting-list i {
  width: 13px;
  height: 13px;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 50%;
}

#appScreen .temporal-char-list .is-selected i,
#appScreen .temporal-setting-list .is-selected i {
  border-width: 4px;
}

#appScreen .temporal-field {
  display: grid;
  gap: 7px;
  margin-bottom: 18px;
}

#appScreen .temporal-field > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#appScreen .temporal-field > span small {
  color: var(--temporal-graphite, #595855);
  font-weight: 500;
}

#appScreen .temporal-field input,
#appScreen .temporal-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--temporal-ink, #000);
  border-radius: 0;
  padding: 11px 0;
  background: transparent;
  color: var(--temporal-ink, #000);
  font-size: 13px;
  line-height: 1.55;
  resize: vertical;
  box-shadow: none;
}

#appScreen .temporal-rule-note {
  margin-top: 22px;
  border-top: 1px solid var(--temporal-ink, #000);
  border-bottom: 1px solid var(--temporal-ink, #000);
  padding: 13px 0;
}

#appScreen .temporal-rule-note strong {
  font-size: 11px;
}

#appScreen .temporal-rule-note p {
  margin: 5px 0 0;
  color: var(--temporal-graphite, #595855);
  font-size: 10px;
  line-height: 1.6;
}

#appScreen .temporal-summary {
  margin-top: 22px;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 9px;
  padding: 18px;
  background: var(--temporal-putty, #c4c3b6);
}

#appScreen .temporal-summary h3 {
  margin: 30px 0 8px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
}

#appScreen .temporal-summary p {
  margin: 0;
  color: var(--temporal-graphite, #595855);
  font-size: 10px;
}

#appScreen .temporal-setup-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 20px 24px;
  background: var(--temporal-bone, #e7e5e4);
}

#appScreen .temporal-link {
  border: 0;
  padding: 8px 0;
  background: transparent;
  font-size: 11px;
}

#appScreen .temporal-link:disabled {
  visibility: hidden;
}

#appScreen .temporal-notice {
  margin: 14px 20px 0;
  border: 1px solid var(--temporal-ink, #000);
  border-radius: 9px;
  padding: 10px 12px;
  background: var(--temporal-paper, #fff);
  color: #8e3028;
  font-size: 11px;
  line-height: 1.5;
}

#appScreen .temporal-thread-page {
  min-height: 100%;
  padding-bottom: 26px;
  background: var(--temporal-ink, #000);
  color: var(--temporal-paper, #fff);
}

#appScreen .temporal-thread-page .temporal-thread-head {
  border-color: rgba(255, 255, 255, .2);
  background: var(--temporal-ink, #000);
}

#appScreen .temporal-contact {
  padding: 24px 20px 26px;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  text-align: center;
}

#appScreen .temporal-contact-avatar {
  display: grid;
  place-items: center;
  width: 108px;
  height: 108px;
  margin: 0 auto 16px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background: var(--temporal-graphite, #595855);
  font-family: "Noto Serif SC", serif;
  font-size: 38px;
}

#appScreen .temporal-contact h1 {
  margin: 10px 0 7px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.25;
}

#appScreen .temporal-contact p {
  margin: 0;
  color: rgba(255, 255, 255, .6);
  font-size: 10px;
}

#appScreen .temporal-conversation {
  display: grid;
  gap: 12px;
  min-height: 300px;
  padding: 22px 18px;
}

#appScreen .temporal-message {
  width: fit-content;
  max-width: 82%;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 9px;
  padding: 11px 12px;
}

#appScreen .temporal-message.is-user {
  justify-self: end;
  border-color: var(--temporal-paper, #fff);
  background: var(--temporal-paper, #fff);
  color: var(--temporal-ink, #000);
}

#appScreen .temporal-message small {
  display: block;
  margin-bottom: 6px;
  color: inherit;
  font-size: 9px;
  opacity: .58;
}

#appScreen .temporal-message p {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

#appScreen .temporal-assistant-block {
  display: grid;
  justify-items: start;
  gap: 7px;
}

#appScreen .temporal-carry {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .42);
  padding: 4px 0;
  background: transparent;
  color: rgba(255, 255, 255, .65) !important;
  font-size: 9px;
}

#appScreen .temporal-carry:disabled {
  opacity: .48;
}

#appScreen .temporal-letter {
  width: 100%;
  border-radius: 9px;
  padding: 24px 20px;
  background: var(--temporal-bone, #e7e5e4);
  color: var(--temporal-ink, #000);
}

#appScreen .temporal-letter > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--temporal-ink, #000);
  padding-bottom: 9px;
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#appScreen .temporal-letter h3 {
  margin: 24px 0 18px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 25px;
  font-weight: 500;
}

#appScreen .temporal-letter > div {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 13px;
  line-height: 1.9;
}

#appScreen .temporal-letter footer {
  margin-top: 25px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 12px;
  text-align: right;
}

#appScreen .temporal-letter .temporal-postscript {
  margin: 18px 0 0;
  border-top: 1px solid rgba(0, 0, 0, .25);
  padding-top: 12px;
  font-size: 11px;
  line-height: 1.6;
}

#appScreen .temporal-thread-empty {
  align-self: center;
  color: var(--temporal-paper, #fff);
}

#appScreen .temporal-thread-empty p {
  color: rgba(255, 255, 255, .6);
}

#appScreen .temporal-pending {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, .62);
  font-size: 10px;
}

#appScreen .temporal-pending i {
  width: 10px;
  height: 10px;
  border: 1px solid rgba(255, 255, 255, .36);
  border-top-color: var(--temporal-paper, #fff);
  border-radius: 50%;
  animation: temporal-spin .8s linear infinite;
}

#appScreen .temporal-boundary-strip {
  display: grid;
  gap: 4px;
  margin: 0 18px 14px;
  border-top: 1px solid rgba(255, 255, 255, .3);
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  padding: 11px 0;
}

#appScreen .temporal-boundary-strip strong {
  font-size: 10px;
}

#appScreen .temporal-boundary-strip span {
  color: rgba(255, 255, 255, .58);
  font-size: 9px;
}

#appScreen .temporal-compose {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  padding: 0 18px 16px;
}

#appScreen .temporal-compose textarea {
  min-width: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .55);
  border-radius: 0;
  padding: 10px 0;
  background: transparent;
  color: var(--temporal-paper, #fff);
  font-size: 12px;
  line-height: 1.5;
  resize: none;
}

#appScreen .temporal-compose textarea::placeholder {
  color: rgba(255, 255, 255, .4);
}

#appScreen .temporal-compose button {
  align-self: end;
  min-height: 38px;
  border: 1px solid var(--temporal-paper, #fff);
  border-radius: 24px;
  padding: 8px 15px;
  background: var(--temporal-paper, #fff);
  color: var(--temporal-ink, #000);
  font-size: 11px;
  font-weight: 800;
}

#appScreen .temporal-compose .temporal-reroll {
  min-width: 48px;
  padding: 8px 10px;
  border-color: rgba(255, 255, 255, .55);
  background: transparent;
  color: var(--temporal-paper, #fff);
  font-size: 10px;
}

#appScreen .temporal-compose .temporal-reroll:disabled {
  opacity: .4;
}

#appScreen .temporal-delete-thread {
  display: block;
  margin: 2px auto 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .32);
  padding: 6px 0;
  background: transparent;
  color: rgba(255, 255, 255, .45) !important;
  font-size: 9px;
}

html[data-ui-mode="dark"] #appScreen.temporal-screen-active,
html[data-ui-mode="dark"] #appScreen.temporal-screen-active .app-body {
  background: var(--temporal-putty, #c4c3b6) !important;
}

#appScreen .temporal-hero h1 { font-size: 54px; }

#appScreen .temporal-module-panel { grid-template-columns: minmax(0, 1fr) 72px; }

#appScreen .temporal-orbit { width: 70px; height: 70px; }

#appScreen .temporal-orbit::before { inset: 12px; }

#appScreen .temporal-orbit::after { top: 6px; left: 30px; }

#appScreen .temporal-orbit-future::after { top: 50px; left: 48px; }

#appScreen .temporal-orbit-echo::after { top: 30px; left: 30px; }

#appScreen .temporal-pending i { animation: none; }

#appScreen .temporal-setup-title { min-height: 126px; padding: 18px 20px 16px; }

#appScreen .temporal-setup-title h1 { max-width: none; margin: 22px 0 0; font-size: clamp(17px, 4.8vw, 21px); line-height: 1.25; letter-spacing: -.02em; white-space: nowrap; }

#appScreen .temporal-setup-title > div { margin-top: 16px; }

#appScreen .temporal-setup-section > h2 { font-size: 19px; white-space: nowrap; }

#appScreen .temporal-char-list > button { min-height: 62px; }

#appScreen .temporal-char-list > button > .temporal-char-avatar { width: 42px; height: 42px; padding: 0; overflow: hidden; background: var(--temporal-putty, #c4c3b6); }

#appScreen .temporal-char-avatar .avatar,
#appScreen .temporal-char-avatar .avatar-image,
#appScreen .temporal-contact-avatar .avatar,
#appScreen .temporal-contact-avatar .avatar-image { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }

#appScreen .temporal-contact { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 12px; padding: 13px 18px 14px; text-align: left; }

#appScreen .temporal-contact-avatar { width: 52px; height: 52px; margin: 0; overflow: hidden; font-size: 18px; }

#appScreen .temporal-contact-copy { min-width: 0; }

#appScreen .temporal-contact h1 { overflow: hidden; margin: 4px 0 3px; font-size: 17px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .temporal-contact p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#appScreen .temporal-conversation { min-height: 390px; padding-top: 16px; }

#appScreen .temporal-message { display: inline-block; width: auto; min-width: 0; max-width: 78%; justify-self: start; }

#appScreen .temporal-message.is-user { justify-self: end; }

#appScreen .temporal-message p { width: auto; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

#appScreen .temporal-assistant-block { width: fit-content; max-width: 82%; }

#appScreen .temporal-assistant-block .temporal-message { max-width: 100%; }

#appScreen .temporal-module-stack .temporal-module:not(.is-active) .temporal-module-panel { display: none !important; }

#appScreen .temporal-message-wrap {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-items: start !important;
}

#appScreen .temporal-message-wrap.is-user { justify-items: end !important; }

#appScreen .temporal-message-wrap.is-assistant { justify-items: start !important; }

#appScreen .temporal-message-wrap .temporal-message { justify-self: auto !important; }

#appScreen .temporal-message-wrap.is-user .temporal-carried-badge { justify-self: end !important; }

@keyframes temporal-spin {
  to { transform: rotate(360deg); }
}

/*# source: assets/css/features/profile.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.mind-panel {max-height: calc(100% - 84px);
  box-sizing: border-box;
  overflow-y: auto;}

.avatar,
.image-avatar {width: 54px;
  aspect-ratio: 1;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.24);}

.avatar img,
.image-avatar img {width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;}

.image-avatar {background-color: #f4f6fb;
  overflow: hidden;
  color: transparent;}

.image-avatar img {width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;}

.avatar {width: 46px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg, #22b872, #2e7cf7);
  font-weight: 900;}

.forward-picker-avatar {width: 46px;
  height: 46px;}

.mind-panel {position: absolute;
  top: 68px;
  left: 16px;
  right: 16px;
  z-index: 300;
  pointer-events: auto;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 78%, transparent);
  border-radius: 26px;
  color: var(--skin-text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.08)),
    color-mix(in srgb, var(--phone-bg) 95%, transparent);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.36);
  backdrop-filter: blur(28px) saturate(1.15);
  -webkit-backdrop-filter: blur(28px) saturate(1.15);}

.mind-panel header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;}

.mind-panel header button {min-width: 54px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 72%, transparent);
  border-radius: 999px;
  color: var(--skin-text);
  background: color-mix(in srgb, var(--surface-strong) 78%, transparent);
  font-size: 13px;
  font-weight: 900;}

.mind-panel-actions {display: flex;
  align-items: center;
  gap: 8px;}

.mind-title {min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;}

.mind-avatar.avatar {width: 42px;
  border-radius: 14px;}

.mind-title span {min-width: 0;
  display: grid;
  gap: 2px;}

.mind-title strong {overflow: hidden;
  color: var(--skin-text);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;}

.mind-title small {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 800;}

.mind-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;}

.mind-panel p {margin: 0;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 64%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent);
  line-height: 1.45;
  overflow-wrap: anywhere;}

.mind-panel p span {color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;}

.mind-score {display: inline-block;
  color: var(--skin-text);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.01em;}

.mind-score::after {content: "";
  display: block;
  width: 28px;
  height: 3px;
  margin-top: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--skin-accent), var(--skin-accent-2));
  opacity: 0.86;}

.mind-os {background:
    linear-gradient(145deg, color-mix(in srgb, var(--skin-accent) 10%, transparent), transparent),
    color-mix(in srgb, var(--surface-strong) 78%, transparent) !important;}

@media (max-width: 380px) {
.mind-panel {left: 12px;
    right: 12px;
    padding: 12px;
    border-radius: 22px;}
.mind-grid {grid-template-columns: 1fr;}
}

.persona-card {padding: 14px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, #202633, #305b72);
  line-height: 1.5;}

.inspiration-float-button {position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(env(safe-area-inset-bottom) + 92px);
  z-index: 9500;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  padding: 2px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 86%, var(--skin-accent, #4d7cff) 14%);
  color: var(--skin-text, #2c241d);
  box-shadow: var(--skin-shadow-float, 0 18px 46px rgba(0, 0, 0, 0.18));
  font-size: 10px;
  font-weight: 900;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;}

.inspiration-float-button img {width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  object-fit: cover;}

.inspiration-float-button.has-image span {position: absolute;
  left: 50%;
  bottom: 3px;
  transform: translateX(-50%);
  max-width: 42px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(20, 22, 26, 0.58);
  color: #fff;
  font-size: 8px;
  line-height: 1.2;
  white-space: nowrap;}

.inspiration-float-button.dragging {opacity: 0.9;}

.inspiration-float-button.loading {animation: inspirationPulse 1.15s ease-in-out infinite;}

.inspiration-float-button.failed {background: color-mix(in srgb, var(--skin-surface, #fffdf7) 78%, #d65a4a 22%);}

.inspiration-float-button.idle {background: color-mix(in srgb, var(--skin-surface, #fffdf7) 92%, var(--skin-accent, #4d7cff) 8%);
  opacity: 0.78;
  border-style: dashed;}

.inspiration-panel-overlay {position: fixed;
  inset: 0;
  z-index: 10020;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 10px max(10px, env(safe-area-inset-bottom));
  background: rgba(20, 22, 26, 0.38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);}

.inspiration-panel {width: min(680px, 100%);
  max-height: min(78vh, 680px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 18px 18px 14px 14px;
  background: var(--skin-surface, #fffdf7);
  color: var(--skin-text, #2c241d);
  box-shadow: var(--skin-shadow-float, 0 24px 80px rgba(0, 0, 0, 0.24));
  padding: 14px;}

.inspiration-panel header,
.inspiration-panel footer {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;}

.inspiration-panel header h2 {margin: 0;
  font-size: 18px;}

.inspiration-panel header small {display: block;
  margin-top: 3px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.inspiration-panel button {touch-action: manipulation;}

.inspiration-panel header button,
.inspiration-panel footer button {min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: var(--skin-button, #171b22);
  color: var(--skin-button-text, #fff);
  font-weight: 900;}

.inspiration-panel footer {flex-wrap: wrap;}

.inspiration-option-list {min-height: 80px;
  overflow: auto;
  display: grid;
  gap: 8px;
  padding-right: 2px;}

.inspiration-pacing-group {display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 12px;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 90%, transparent);}

.inspiration-pacing-group > header {display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;}

.inspiration-pacing-group > header strong {font-size: 13px;}

.inspiration-pacing-group > header small {color: var(--skin-muted, #7b6b5a); font-size: 10px;}

.inspiration-pacing-group.fast > header strong {color: #3f6f9e;}

.inspiration-pacing-group.slow > header strong {color: #477a68;}

.inspiration-option.pacing-fast {border-color: color-mix(in srgb, #6d9bc5 32%, var(--skin-border, rgba(0, 0, 0, 0.08)));}

.inspiration-option.pacing-slow {border-color: color-mix(in srgb, #6ea08c 32%, var(--skin-border, rgba(0, 0, 0, 0.08)));}

.inspiration-option {display: grid;
  grid-template-columns: minmax(74px, 0.28fr) minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  width: 100%;
  min-height: 48px;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 12px;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 78%, #fff 22%);
  color: var(--skin-text, #2c241d);
  text-align: left;}

.inspiration-option strong {font-size: 12px;}

.inspiration-option span {min-width: 0;
  word-break: break-word;
  line-height: 1.45;}

.inspiration-error {max-height: 72px;
  overflow: auto;
  margin: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(214, 90, 74, 0.12);
  color: #9b3328;
  font-size: 12px;
  word-break: break-word;}

.inspiration-toast {position: fixed;
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom) + 92px);
  z-index: 10040;
  transform: translateX(-50%);
  max-width: min(280px, calc(100vw - 32px));
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(20, 22, 26, 0.88);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-align: center;}

.inspiration-toast.weak-generation-toast {padding: 7px 11px;
  background: rgba(34, 38, 44, 0.74);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  pointer-events: none;}

.visual-identity-avatar {width: 54px;
  height: 54px;}

.profile-page {min-height: 100%;
  padding: 26px 18px;
  color: #2a2d33;
  background: #f7f7f7;}

.profile-page h1 {margin: 20px 0 22px;
  font-size: 42px;
  letter-spacing: 0;}

.profile-card {display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);}

.profile-avatar .avatar {width: 78px;
  border-radius: 50%;}

.profile-card strong {display: block;
  font-size: 25px;}

.profile-card span {display: block;
  margin-top: 8px;
  color: #8b8f97;}

.profile-menu {overflow: hidden;
  margin-top: 22px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);}

.profile-menu button {width: 100%;
  min-height: 66px;
  display: grid;
  grid-template-columns: 42px 1fr 28px;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-bottom: 1px solid #eef0f3;
  color: #2a2d33;
  background: #fff;
  text-align: left;}

.profile-menu button:last-child {border-bottom: 0;}

.profile-menu button span {color: #8b8f97;
  font-size: 23px;}

.profile-menu button strong {font-size: 19px;}

.profile-menu button em {color: #c1c5cc;
  font-style: normal;
  font-size: 30px;}

.profile-card::before,
.profile-menu::before {content: none;
  display: none;}

.profile-page {background: var(--phone-bg);
  color: var(--skin-text);}

.profile-card,
.profile-menu {border: 1px solid var(--skin-border);
  background: var(--surface);
  box-shadow: none;}

.profile-card strong,
.profile-menu button strong {color: var(--skin-text);}

.profile-card span,
.profile-menu button span,
.profile-menu button em {color: var(--skin-muted);}

.profile-menu button {border-bottom-color: var(--skin-border);
  background: transparent;
  color: var(--skin-text);}

.me-icon {width: 30px;
  display: grid;
  place-items: center;
  font-size: 22px;}

.me-icon.green {color: #20c997;}

.me-icon.cube {color: #60a5fa;}

.me-icon.blue {color: #38bdf8;}

.me-icon.cyan {color: #22d3ee;}

.me-icon.red {color: #fb7185;}

.me-icon.yellow {color: #facc15;}

.user-mask-panel .avatar {width: 86px;
  height: 86px;
  border-radius: 24px;}

.profile-menu,
.profile-card {background: var(--surface) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);}

.profile-page h1 {color: var(--skin-text) !important;}

.mind-panel,
.profile-menu {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.mind-panel,
.profile-card,
.profile-menu {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.profile-menu button strong {color: var(--skin-title) !important;}

.profile-menu button span,
.profile-menu button em {color: var(--skin-muted) !important;}

.inspiration-panel {overflow: hidden !important;
  max-height: min(82vh, 720px) !important;}

.inspiration-option-list {flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding-right: 2px !important;
  padding-bottom: 4px !important;}

.inspiration-option {height: auto !important;
  min-height: 56px !important;
  align-items: start !important;}

.inspiration-option span {display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  line-height: 1.5 !important;}

@media (max-width: 420px) {
.inspiration-panel {max-height: min(84vh, 720px) !important;}
.inspiration-option {grid-template-columns: minmax(66px, 0.32fr) minmax(0, 1fr) !important;
    padding: 11px !important;}
}

.inspiration-preview-button {width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: color-mix(in srgb, var(--skin-surface, #fffdf7) 86%, var(--skin-accent, #4d7cff) 14%);
  color: var(--skin-text, #2c241d);
  font-size: 12px;
  font-weight: 900;}

.inspiration-preview-button img {width: 100%; height: 100%; object-fit: cover;}

.persona-weaver-panel {margin: 14px 0;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(143, 100, 45, .22)) 80%, transparent);
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--skin-accent, #8f642d) 14%, transparent), transparent 34%),
    color-mix(in srgb, var(--surface-strong, #fffaf0) 86%, transparent);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--skin-text, #3b2a18) 8%, transparent);}

.persona-weaver-panel > header,
.persona-weaver-preview > header {display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;}

.persona-weaver-panel > header strong,
.persona-weaver-preview > header strong {display: block;
  font-size: 17px;
  color: var(--skin-text, #3b2a18);}

.persona-weaver-panel > header small,
.persona-weaver-preview > header small {display: block;
  margin-top: 3px;
  color: var(--skin-muted, rgba(59, 42, 24, .62));}

.persona-weaver-panel > header > span {flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: color-mix(in srgb, var(--skin-accent, #8f642d) 84%, #1d1438);
  background: color-mix(in srgb, var(--skin-accent, #8f642d) 10%, transparent);}

.persona-weaver-detail-grid {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;}

.persona-weaver-check {display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--skin-muted, rgba(59, 42, 24, .72));
  background: color-mix(in srgb, var(--surface, #fff) 72%, transparent);
  font-size: 13px;
  line-height: 1.45;}

.persona-weaver-check input {width: 17px;
  height: 17px;
  accent-color: var(--skin-accent, #8f642d);}

.persona-weaver-actions {grid-template-columns: 1fr 1fr;}

.persona-weaver-status {margin: 10px 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--skin-accent, #8f642d) 10%, transparent);
  color: var(--skin-text, #3b2a18);
  white-space: pre-wrap;
  font-size: 13px;
  line-height: 1.55;}

.persona-weaver-status[data-type="error"] {background: rgba(180, 64, 56, .12);
  color: #9f2f26;}

.persona-weaver-status[data-type="ready"] {background: rgba(76, 136, 88, .13);
  color: #32673d;}

.persona-weaver-preview {margin-top: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px dashed color-mix(in srgb, var(--skin-accent, #8f642d) 42%, transparent);
  background: color-mix(in srgb, var(--surface, #fff) 74%, transparent);}

.persona-weaver-drafts {margin-top: 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface, #fff) 62%, transparent);
  overflow: hidden;}

.persona-weaver-drafts summary {padding: 11px 12px;
  cursor: pointer;
  font-weight: 700;
  color: var(--skin-text, #3b2a18);}

.persona-weaver-draft {appearance: none;
  border: 1px solid color-mix(in srgb, var(--skin-border, rgba(143, 100, 45, .22)) 80%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fffaf0) 82%, transparent);
  padding: 10px 12px;
  text-align: left;
  color: var(--skin-text, #3b2a18);}

.persona-weaver-draft strong,
.persona-weaver-draft small {display: block;}

.persona-weaver-draft small {margin-top: 3px;
  color: var(--skin-muted, rgba(59, 42, 24, .62));}

@media (max-width: 430px) {
.persona-weaver-actions,
.persona-weaver-detail-grid {grid-template-columns: 1fr;}
.persona-weaver-panel {padding: 12px;}
}

.persona-fold {margin:8px 0;
  border:1px solid rgba(143,100,45,.14);
  border-radius:16px;
  background:rgba(255,255,255,.42);
  padding:6px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}

.persona-fold > summary {cursor:pointer;
  font-weight:900;
  color:var(--text-main);
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  list-style:none;
  padding:2px 0;}

.persona-fold > summary::-webkit-details-marker {display:none}

.persona-fold > summary::after {content:"›";
  font-weight:900;
  font-size:18px;
  color:var(--text-soft);
  transform:rotate(90deg);
  transition:transform .18s ease;}

.persona-fold[open] > summary::after {transform:rotate(-90deg)}

.persona-fold[open] {padding-bottom:10px}

.persona-fold > summary + * {margin-top:6px}

.x-profile-cover {height: 96px;
  background: linear-gradient(135deg, #1d2127, #38414c 60%, #5a6b7d);
  background-size: cover;
  background-position: center;}

.x-profile-main {display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 0 14px;
  margin-top: -28px;}

.x-profile-avatar {width: 64px;
  height: 64px;
  border-radius: 18px;
  border: 3px solid color-mix(in srgb, var(--phone-bg, #ffffff) 90%, #fff);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);}

.x-profile-meta {display: grid; gap: 2px; padding-bottom: 4px; min-width: 0;}

.x-profile-name {font-size: 17px; color: var(--skin-text);}

.x-profile-handle {font-size: 12px; opacity: 0.6;}

.x-profile-bio {margin: 8px 14px 0;
  font-size: 13px;
  line-height: 1.5;
  color: color-mix(in srgb, var(--skin-text, #1b2330) 88%, transparent);}

.x-profile-stats {display: flex;
  gap: 18px;
  padding: 10px 14px 14px;}

.x-tweet-avatar {width: 40px; height: 40px; border-radius: 14px;}

.x-comment-avatar {flex: 0 0 auto;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-size: 12px;
  color: #fff;
  background: linear-gradient(135deg, #8693a8, #4a5566);}

#appScreen .npc-profile-row p {display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px;}

#appScreen .npc-profile-row i {padding: 2px 6px; border-radius: 4px; background: rgba(99, 158, 220, .12); color: #4e83ba; font-size: 10px; font-style: normal;}

#appScreen .npc-profile-row {display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid rgba(91, 133, 176, .12);}

#appScreen button.npc-profile-row {width: 100%; border-right: 0; border-bottom: 0; border-left: 0; background: transparent; color: inherit; text-align: left;}

#appScreen .npc-profile-avatar {display: grid; place-items: center; width: 38px; height: 38px; border-radius: 7px; background: #dceeff; color: #4e82b8; font-weight: 800;}

#appScreen .npc-profile-row small {display: block; color: var(--tone-muted, #72808e); font-size: 11px;}

#appScreen .npc-editor-identity .npc-profile-avatar {width: 52px; height: 52px; font-size: 18px;}

.mind-scrim {position: absolute;
  inset: 0;
  z-index: 24;
  border: 0;
  margin: 0;
  padding: 0;
  background: color-mix(in srgb, var(--skin-text, #1b1d22) 24%, transparent);
  -webkit-backdrop-filter: blur(3px) saturate(1.04);
  backdrop-filter: blur(3px) saturate(1.04);
  animation: mindScrimFade 0.18s ease;}

#appScreen .api-profile-row {display: flex !important; flex-direction: column; align-items: stretch; gap: 10px; grid-template-columns: none !important;}

#appScreen .api-profile-row .api-profile-head {display: flex; align-items: center; gap: 12px; min-width: 0;}

#appScreen .api-profile-row .api-profile-head > span:last-child {min-width: 0; flex: 1 1 auto;}

#appScreen .api-profile-row .api-profile-head small {word-break: break-all;}

#appScreen .api-profile-actions {display: flex; align-items: stretch; gap: 8px; width: 100%;}

#appScreen .api-profile-actions button {flex: 1 1 0; min-width: 0; margin: 0; padding: 10px 4px; white-space: nowrap; font-size: 13px; line-height: 1.2; border-radius: 12px; text-align: center;}

#appScreen .api-profile-actions button.danger-soft {color: #c0392b;}

.news-share-avatar-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

.news-share-avatar-list button {min-width:0;border:1px solid rgba(86,112,134,.12);border-radius:16px;background:rgba(255,255,255,.78);padding:10px 6px;display:grid;justify-items:center;gap:6px;color:#26394b;font-weight:900}

.news-share-avatar-list button.shared {background:#eaf3f8}

.news-share-avatar-list .news-share-avatar {width:48px!important;height:48px!important}

.news-share-avatar-list span {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.news-share-avatar-list small {color:#668091;font-size:11px}

@media (max-width:420px) {
.news-share-avatar-list {grid-template-columns:repeat(3,minmax(0,1fr))}
}

.moss-float-profile-list {display: grid;
  gap: 8px;}

.char-avatar-wrap {width: 64px; height: 64px; border-radius: 50%; padding: 4px; background: linear-gradient(135deg, var(--diary-accent-light), var(--diary-accent)); overflow: hidden;}

.char-avatar-wrap img,
.char-avatar-wrap .avatar {width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: #fff;}

.avatar.image-avatar,
.image-avatar[data-image-ref],
.avatar.image-avatar[data-image-ref] {background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;}

.avatar.image-avatar > img,
.image-avatar[data-image-ref] > img {width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  background: transparent !important;}

.avatar {position: relative !important;
  overflow: hidden !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  color: #fff !important;
  background: linear-gradient(145deg, var(--skin-accent, #b18455), var(--skin-accent-2, #6f8f73)) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;}

.avatar.user-avatar {background: linear-gradient(145deg, #22b872, #2e7cf7) !important;}

.avatar.char-avatar {background: linear-gradient(145deg, var(--skin-accent, #b18455), var(--skin-accent-2, #6f8f73)) !important;}

.avatar.image-avatar[data-image-loaded="true"] {background-color: transparent !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;}

.avatar .avatar-fallback-initial {position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: inherit !important;
  color: #fff !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  pointer-events: none !important;}

.avatar.user-avatar .avatar-fallback-initial {background: linear-gradient(145deg, #22b872, #2e7cf7) !important;}

.avatar.char-avatar .avatar-fallback-initial,
.avatar:not(.user-avatar) .avatar-fallback-initial {background: linear-gradient(145deg, var(--skin-accent, #b18455), var(--skin-accent-2, #6f8f73)) !important;}

.avatar.image-avatar[data-image-loaded="true"] .avatar-fallback-initial {opacity: 0 !important;}

.avatar .avatar-image,
.avatar > img {position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  opacity: 0 !important;
  pointer-events: none !important;}

.avatar[data-image-loaded="true"] .avatar-image,
.avatar[data-image-loaded="true"] > img {opacity: 1 !important;}

#appScreen :where(.api-log-card, .notification-account-card, .backup-health-card,
  .push-device-row, .inspiration-scope-row, .voice-test-card) {border-color: var(--moss-ui-line) !important;
  border-radius: 14px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;}

#appScreen .me-icon {display: grid;
  place-items: center;}

#appScreen .me-icon .moss-ui-icon {width: 23px; height: 23px;}

.inspiration-panel {display: flex;
  flex-direction: column;
  max-height: min(86dvh, 820px);
  overflow: hidden;}

.inspiration-panel > header,
.inspiration-panel > footer {flex: 0 0 auto;}

.inspiration-option-list {flex: 1 1 auto;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));}

.inspiration-pacing-group.nsfw {border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  padding-top: 12px;}

.inspiration-option.nsfw-option strong {letter-spacing: .02em;}

.inspiration-nsfw-settings textarea {min-height: 180px;
  resize: vertical;
  line-height: 1.55;}

@media (max-height: 640px) {
.inspiration-panel {max-height: 92dvh;}
}

@media (max-width: 360px) {
#appScreen .settings-page-shell .api-profile-actions,
#appScreen .app-body > .panel-stack:has(.settings-back) .api-profile-actions {flex-wrap: wrap !important;}
#appScreen .settings-page-shell .api-profile-actions button,
#appScreen .app-body > .panel-stack:has(.settings-back) .api-profile-actions button {flex: 1 1 calc(50% - 4px) !important;}
}

/*# source: assets/css/features/notes.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

.notes-gradient {background: linear-gradient(145deg, #ffdf5b, #f0902f); color: #2b2111;}

.notes-app textarea {width: 100%;
  border: 1px solid rgba(23, 24, 28, 0.12);
  border-radius: 16px;
  outline: 0;
  background: #f6f7fa;
  color: #17181c;}

.notes-app {height: 100%;}

.notes-app textarea {height: 100%;
  padding: 16px;
  resize: none;
  font-size: 17px;
  line-height: 1.6;}

.notes-app-list {gap: 10px !important; padding: 12px !important;}

.notes-app-list .panel,
.notes-app-list .note-card {border-radius: 14px !important;
  border: 1px solid var(--ed-line, rgba(58, 77, 67, 0.14)) !important;
  background: var(--ed-surface, #fbfcfb) !important;
  box-shadow: 0 1px 2px rgba(40, 52, 46, 0.05) !important;}

.notes-app-list .panel {padding: 12px 13px !important;}

.notes-app-list .note-card {padding: 11px 12px !important; gap: 6px !important;}

.notes-app-list .section-title-row {gap: 8px !important;}

.notes-app-list .section-title-row h2 {font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--ed-text, #28342e) !important;
  margin: 0 !important;}

.notes-app-list .section-title-row p {font-size: 11px !important; color: var(--ed-muted, #6f7e76) !important;}

.notes-app-list .panel h2 {font-size: 13.5px !important; font-weight: 700 !important; margin: 0 0 8px !important;}

.notes-app-list .panel p {font-size: 12px !important; line-height: 1.5 !important; color: var(--ed-muted, #6f7e76) !important;}

.notes-app-list .note-card-main {gap: 3px !important;}

.notes-app-list .note-card-main strong {font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important;}

.notes-app-list .note-card-main p {font-size: 12px !important; line-height: 1.5 !important;}

.notes-app-list .note-card-main small {font-size: 10.5px !important; color: var(--ed-muted, #6f7e76) !important; letter-spacing: 0.02em !important;}

.notes-app-list input,
.notes-app-list textarea {font-size: 13px !important;
  border-radius: 10px !important;
  border: 1px solid var(--ed-line, rgba(58, 77, 67, 0.14)) !important;}

.notes-app-list .secondary-button,
.notes-app-list .inline-actions button {font-size: 12px !important;
  padding: 7px 12px !important;
  border-radius: 10px !important;}

.notes-app-list .note-delete {font-size: 11.5px !important;}

.notes-app-list .empty-text,
.notes-app-list .hint-text {font-size: 11.5px !important; color: var(--ed-muted, #6f7e76) !important;}

/*# source: assets/css/features/settings.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */

.settings-gradient {background: linear-gradient(145deg, #8b98a8, #303741);}

.context-debug-button {flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;}

.context-debug-inline {flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  white-space: nowrap;}

.context-debug-overlay {position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  background: rgba(20, 22, 26, 0.46);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);}

.context-debug-panel {width: min(720px, 100%);
  max-height: 92vh;
  overflow: auto;
  border-radius: 18px;
  background: var(--surface-strong, #fffdf7);
  color: var(--skin-text, #2c241d);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  padding: 14px;}

.context-debug-panel > header {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;}

.context-debug-panel > header h2 {margin: 0;
  font-size: 18px;}

.context-debug-panel > header button {min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: #171b22;
  color: #fff;
  font-weight: 900;}

.context-debug-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;}

.context-debug-grid div {min-width: 0;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.68);}

.context-debug-grid strong,
.context-debug-grid span {display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.context-debug-grid span {margin-top: 4px;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.context-debug-note {margin: 0 0 12px;
  padding: 9px 10px;
  border: 1px solid rgba(61, 118, 255, 0.22);
  border-radius: 12px;
  background: rgba(61, 118, 255, 0.08);
  color: #27406d;
  font-size: 12px;
  font-weight: 800;}

.context-debug-entry {border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.62);}

.context-debug-entry + .context-debug-entry {margin-top: 8px;}

.context-debug-entry summary {cursor: pointer;
  font-weight: 900;}

.context-debug-entry summary span {float: right;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;}

.context-debug-pre {max-height: 260px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.45;}

.api-log-toolbar {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;}

.api-log-list {display: grid;
  gap: 8px;}

.api-log-row {width: 100%;
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--skin-border, rgba(0, 0, 0, 0.08));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 82%, transparent);
  color: var(--skin-text, #2c241d);
  text-align: left;
  box-shadow: 0 8px 20px rgba(35, 42, 52, 0.06);}

.api-log-row.pending {border-style: dashed;}

.api-log-row.error {border-color: color-mix(in srgb, #e34b55 56%, var(--skin-border, rgba(0,0,0,.1)));}

.api-log-row.success {border-color: color-mix(in srgb, #1f9d63 38%, var(--skin-border, rgba(0,0,0,.1)));}

.api-log-main,
.api-log-meta {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;}

.api-log-main strong,
.api-log-main small,
.api-log-meta span,
.api-log-preview {overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

.api-log-main strong {font-size: 14px;}

.api-log-main small,
.api-log-meta,
.api-log-preview {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.api-log-badge {flex: 0 0 auto;
  min-width: 48px;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-accent, #4d7cff) 24%, var(--surface-strong, #fff) 76%);
  color: var(--skin-text, #2c241d);
  text-align: center;
  font-size: 11px;
  font-weight: 1000;}

.api-log-badge.error {background: color-mix(in srgb, #e34b55 24%, var(--surface-strong, #fff) 76%);}

.api-log-badge.pending {background: color-mix(in srgb, #d8a426 24%, var(--surface-strong, #fff) 76%);}

.api-log-detail-actions {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;}

.api-log-detail-actions button {min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: var(--skin-button, #171b22);
  color: var(--skin-button-text, #fff);
  font-weight: 900;}

.api-log-filter-row,
.debug-action-row {display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;}

.api-log-filter-row select {min-height: 36px;
  flex: 1 1 150px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.1));
  border-radius: 12px;
  background: var(--skin-field, rgba(255,255,255,.72));
  color: var(--skin-text, #2c241d);
  font-weight: 800;
  padding: 0 10px;}

.api-log-block {margin: 10px 0;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fffdf7) 82%, transparent);
  overflow: hidden;}

.api-log-block summary {cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  font-weight: 1000;}

.api-log-block summary span {flex: 0 0 auto;
  color: var(--skin-muted, #7b6b5a);
  font-size: 12px;}

.api-log-block .api-log-block-tools {display: flex;
  justify-content: flex-end;
  padding: 0 12px 8px;}

.api-log-block .api-log-block-tools button {min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: color-mix(in srgb, var(--skin-accent, #4d7cff) 22%, var(--surface-strong, #fff) 78%);
  color: var(--skin-text, #2c241d);
  font-weight: 900;}

.settings-list {display: grid;
  gap: 10px;}

.settings-row {width: 100%;
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border-radius: 20px;
  color: var(--skin-text, #17181c);
  background: color-mix(in srgb, var(--surface-strong, #ffffff) 86%, transparent);
  text-align: left;}

.settings-symbol {width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #7d8b9b, #2f3742);
  font-weight: 900;}

.settings-row small {display: block;
  margin-top: 3px;
  color: #384150;}

.settings-row {color: var(--app-font-color);}

.settings-back {min-height: 34px;
  margin-bottom: 12px;
  padding: 0 10px;
  border-radius: 999px;
  color: #0a84ff;
  background: #eef1f6;
  font-weight: 800;}

.settings-symbol {background: linear-gradient(135deg, var(--skin-accent-2), var(--skin-accent));
  color: #fff;}

.settings-row {background: var(--surface) !important;
  border-color: var(--skin-border) !important;
  color: var(--skin-text) !important;}

.settings-row strong {color: var(--skin-text) !important;}

.panel button:not(.danger-button):not(.settings-back):not(.secondary-button):hover {background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  color: #fff !important;
  border-color: transparent !important;}

.settings-header {border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;}

.settings-back {border-radius: var(--skin-radius-sm) !important;}

.settings-header {border-bottom: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 90%, transparent) !important;
  color: var(--skin-title) !important;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--skin-text) 6%, transparent) !important;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);}

.settings-back {min-width: var(--skin-control-height) !important;
  width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  border-radius: 50% !important;
  color: var(--skin-title) !important;
  background: color-mix(in srgb, var(--surface-strong) 84%, transparent) !important;
  border: 1px solid var(--skin-border) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.settings-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: color-mix(in srgb, var(--surface-strong) 92%, transparent) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.settings-list {gap: var(--skin-gap) !important;}

.settings-row {border-radius: var(--skin-radius-lg) !important;
  border: 1px solid var(--skin-border) !important;
  background: var(--surface-glass) !important;
  color: var(--skin-text) !important;
  box-shadow: var(--skin-shadow-soft) !important;}

.settings-row strong {color: var(--skin-title) !important;}

.settings-row small {color: var(--skin-muted) !important;}

.panel button:not(.danger-button):not(.settings-back):not(.secondary-button) {color: #fffaf0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--skin-accent), var(--skin-accent-2)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--skin-accent) 22%, transparent) !important;}

.settings-back {width: var(--skin-control-height) !important;
  min-width: var(--skin-control-height) !important;
  height: var(--skin-control-height) !important;
  padding: 0 !important;
  border-radius: 50% !important;}

.settings-list {gap: var(--skin-card-gap) !important;}

.settings-app {padding: var(--skin-page-pad) !important;}

.context-debug-inline {width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 1 !important;}

.context-debug-inline::before {content: "调";
  font-size: 14px;
  font-weight: 900;}

.backup-export-grid {display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;}

.backup-import-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;}

@media (max-width: 420px) {
.backup-import-grid {grid-template-columns: 1fr;}
}

.auto-backup-row {display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.08));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 82%, transparent);}

.auto-backup-row strong {font-size: 13px;
  color: var(--skin-text, #2c241d);}

.auto-backup-row small {color: var(--skin-muted, #7b6b5a);
  font-size: 12px;
  font-weight: 800;}

.voice-settings-panel {border: 1px solid rgba(143, 100, 45, 0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,250,242,0.62));
  border-radius: 20px;
  padding: 12px;
  margin: 10px 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);}

.voice-settings-panel h2 {margin-top: 0;}

.app-screen .api-log-toolbar button,
.app-screen .api-log-block-tools button {background: var(--ed-accent-soft) !important;
  color: var(--ed-accent) !important;
  border: 1px solid color-mix(in srgb, var(--ed-accent) 24%, transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;}

.cloud-backup-toolbar {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 10px 0 8px;}

.cloud-backup-toolbar button {width: 100%; min-height: 42px;}

.cloud-backup-card {display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--skin-border, rgba(127,127,127,.18));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 88%, var(--skin-accent, #8fbedb) 12%);}

.cloud-backup-card.latest {border-color: color-mix(in srgb, var(--skin-accent, #8fbedb) 52%, transparent);}

.cloud-backup-card-main {flex: 1; min-width: 0; display: grid; gap: 2px;}

.cloud-backup-card-main strong {font-size: 14px; color: var(--skin-text, #263544);}

.cloud-backup-card-main span {font-size: 12px; color: var(--skin-muted, #738291);}

.cloud-backup-card-main small {font-size: 11px; line-height: 1.4; color: var(--skin-muted, #738291); overflow-wrap: anywhere;}

@media (max-width: 480px) {
.cloud-backup-toolbar {grid-template-columns: 1fr;}
.cloud-backup-card {align-items: stretch; flex-direction: column;}
}

body.theme-tone-light-blue {--tone-page: #edf2f7;
  --tone-phone: #f4f7fb;
  --tone-surface: #fbfdff;
  --tone-surface-strong: #ffffff;
  --tone-text: #25303b;
  --tone-title: #1f2933;
  --tone-muted: #6c7985;
  --tone-line: rgba(38, 60, 84, 0.14);
  --tone-accent: #426f9f;
  --tone-accent-2: #8fb4da;
  --tone-soft: #eaf1fa;
  --tone-home: linear-gradient(180deg, #f9fbfe 0%, #eef4f9 52%, #e6edf5 100%);}

body.theme-tone-light-pink {--tone-page: #f7eef2;
  --tone-phone: #fcf5f8;
  --tone-surface: #fffafd;
  --tone-surface-strong: #ffffff;
  --tone-text: #44323a;
  --tone-title: #382830;
  --tone-muted: #816d76;
  --tone-line: rgba(116, 72, 91, 0.15);
  --tone-accent: #98526d;
  --tone-accent-2: #dba8ba;
  --tone-soft: #f9eaf0;
  --tone-home: linear-gradient(180deg, #fffafd 0%, #f9eef3 52%, #f2e5eb 100%);}

body.theme-tone-light-green {--tone-page: #edf4f0;
  --tone-phone: #f5faf7;
  --tone-surface: #fbfefc;
  --tone-surface-strong: #ffffff;
  --tone-text: #2f4038;
  --tone-title: #27372f;
  --tone-muted: #6b7f75;
  --tone-line: rgba(55, 91, 73, 0.14);
  --tone-accent: #456f5b;
  --tone-accent-2: #9bc0ad;
  --tone-soft: #e8f3ed;
  --tone-home: linear-gradient(180deg, #fafffc 0%, #edf6f1 52%, #e5efe9 100%);}

body.theme-tone-mist-teal {--tone-page: #eaf3f2;
  --tone-phone: #f3f9f8;
  --tone-surface: #fbfefd;
  --tone-surface-strong: #ffffff;
  --tone-text: #2f4141;
  --tone-title: #253636;
  --tone-muted: #6b7e7d;
  --tone-line: rgba(48, 86, 84, 0.14);
  --tone-accent: #426f6d;
  --tone-accent-2: #8fb7b4;
  --tone-soft: #e5f1f0;
  --tone-home: linear-gradient(180deg, #fbfffe 0%, #edf6f5 52%, #e3eeed 100%);}

body.theme-tone-light-purple {--tone-page: #f1edf6;
  --tone-phone: #f8f5fb;
  --tone-surface: #fdfbff;
  --tone-surface-strong: #ffffff;
  --tone-text: #3d3548;
  --tone-title: #322b3d;
  --tone-muted: #776d83;
  --tone-line: rgba(82, 66, 105, 0.14);
  --tone-accent: #6f5b99;
  --tone-accent-2: #b1a3cf;
  --tone-soft: #efeaf7;
  --tone-home: linear-gradient(180deg, #fdfbff 0%, #f2eef8 52%, #eae5f2 100%);}

body.theme-tone-cream {--tone-page: #f0e9dd;
  --tone-phone: #f8f2e8;
  --tone-surface: #fdf9f2;
  --tone-surface-strong: #fffdf8;
  --tone-text: #44392f;
  --tone-title: #382f27;
  --tone-muted: #7e7062;
  --tone-line: rgba(100, 78, 55, 0.15);
  --tone-accent: #80603f;
  --tone-accent-2: #c4a987;
  --tone-soft: #f4ecdf;
  --tone-home: linear-gradient(180deg, #fffdf8 0%, #f5eee3 52%, #ebe2d4 100%);}

body.theme-tone-butter-yellow {--tone-page: #f4efd9;
  --tone-phone: #faf7e9;
  --tone-surface: #fffdf4;
  --tone-surface-strong: #fffef9;
  --tone-text: #443b27;
  --tone-title: #382f1f;
  --tone-muted: #7e7357;
  --tone-line: rgba(102, 86, 45, 0.15);
  --tone-accent: #7b6935;
  --tone-accent-2: #b8a269;
  --tone-soft: #f5edcf;
  --tone-home: linear-gradient(180deg, #fffef7 0%, #f8f2dc 52%, #efe6c8 100%);}

body.theme-tone-light-orange {--tone-page: #f7ece4;
  --tone-phone: #fff6f0;
  --tone-surface: #fffaf7;
  --tone-surface-strong: #ffffff;
  --tone-text: #49362b;
  --tone-title: #3d2c23;
  --tone-muted: #826d60;
  --tone-line: rgba(112, 71, 48, 0.15);
  --tone-accent: #945937;
  --tone-accent-2: #d29a75;
  --tone-soft: #f8e8dc;
  --tone-home: linear-gradient(180deg, #fffaf7 0%, #faeee6 52%, #f1e1d6 100%);}

body.theme-tone-light-gray {--tone-page: #e9ecef;
  --tone-phone: #f2f4f6;
  --tone-surface: #f9fafb;
  --tone-surface-strong: #ffffff;
  --tone-text: #343b43;
  --tone-title: #292f36;
  --tone-muted: #727c87;
  --tone-line: rgba(55, 65, 76, 0.14);
  --tone-accent: #606b77;
  --tone-accent-2: #a5adb6;
  --tone-soft: #eceff2;
  --tone-home: linear-gradient(180deg, #fafbfc 0%, #eef1f3 52%, #e4e8eb 100%);}

body.theme-tone-pure-white {--tone-page: #ffffff;
  --tone-phone: #ffffff;
  --tone-surface: #fbfbfc;
  --tone-surface-strong: #ffffff;
  --tone-text: #2f353c;
  --tone-title: #22282e;
  --tone-muted: #707983;
  --tone-line: rgba(48, 56, 65, 0.13);
  --tone-accent: #56616d;
  --tone-accent-2: #9ca5ae;
  --tone-soft: #f1f3f5;
  --tone-home: linear-gradient(180deg, #ffffff 0%, #fdfdfe 52%, #f8f9fa 100%);}

body.theme-tone-deep-coffee {--tone-page: #110d0b;
  --tone-phone: #1b1512;
  --tone-surface: #241c18;
  --tone-surface-strong: #2b211c;
  --tone-text: #f1e6dc;
  --tone-title: #fff5ec;
  --tone-muted: #b6a79b;
  --tone-line: rgba(239, 219, 202, 0.13);
  --tone-accent: #c39a78;
  --tone-accent-2: #d0ad91;
  --tone-soft: rgba(195, 154, 120, 0.17);
  --tone-home: linear-gradient(180deg, #2a201b 0%, #1b1512 52%, #100d0b 100%);}

body.theme-tone-dark-gray {--tone-page: #0f1114;
  --tone-phone: #171a1f;
  --tone-surface: #22262d;
  --tone-surface-strong: #292e36;
  --tone-text: #edf0f4;
  --tone-title: #f8fafc;
  --tone-muted: #a2abb6;
  --tone-line: rgba(229, 235, 243, 0.12);
  --tone-accent: #98a6b5;
  --tone-accent-2: #b4bec9;
  --tone-soft: rgba(152, 166, 181, 0.16);
  --tone-home: linear-gradient(180deg, #262b33 0%, #181b20 52%, #0f1114 100%);}

body.theme-tone-dark-berry {--tone-page: #100a0e;
  --tone-phone: #1b1217;
  --tone-surface: #251920;
  --tone-surface-strong: #2d1e26;
  --tone-text: #f3e5eb;
  --tone-title: #fff4f8;
  --tone-muted: #b9a1ac;
  --tone-line: rgba(245, 218, 230, 0.13);
  --tone-accent: #d49aae;
  --tone-accent-2: #e0b2c2;
  --tone-soft: rgba(212, 154, 174, 0.17);
  --tone-home: linear-gradient(180deg, #2c1c24 0%, #1b1217 52%, #100a0e 100%);}

body.theme-tone-ink-green {--tone-page: #0b100d;
  --tone-phone: #101713;
  --tone-surface: #18231d;
  --tone-surface-strong: #1e2b24;
  --tone-text: #e6f0ea;
  --tone-title: #f2faf5;
  --tone-muted: #9dafa4;
  --tone-line: rgba(219, 239, 227, 0.12);
  --tone-accent: #90b6a3;
  --tone-accent-2: #aac9b9;
  --tone-soft: rgba(144, 182, 163, 0.16);
  --tone-home: linear-gradient(180deg, #1d2a23 0%, #111914 52%, #0b100d 100%);}

body[class*="theme-tone-"] .app-screen,
body[class*="theme-tone-"] .app-body {color: var(--tone-text) !important;
  background-color: var(--tone-phone) !important;}

body[class*="theme-tone-"] .app-topbar::before {background: color-mix(in srgb, var(--tone-surface-strong) 90%, transparent) !important;
  border-color: var(--tone-line) !important;}

.theme-tone-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}

body[class*="theme-tone-"] #appScreen .panel button.theme-tone-option {min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--tone-line, var(--ed-line)) !important;
  border-radius: 8px;
  color: var(--tone-text, var(--ed-text)) !important;
  background: var(--tone-surface, var(--ed-surface)) !important;
  box-shadow: none !important;
  text-align: left;}

body[class*="theme-tone-"] #appScreen .theme-tone-option strong {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit !important;
  font-size: 13px;}

body[class*="theme-tone-"] #appScreen .theme-tone-option small {color: var(--tone-muted, var(--ed-muted)) !important;
  font-size: 10px;}

body[class*="theme-tone-"] #appScreen .panel button.theme-tone-option.active {color: var(--tone-accent, var(--ed-accent)) !important;
  background: var(--tone-soft, var(--ed-accent-soft)) !important;
  border-color: color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 42%, transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tone-accent, var(--ed-accent)) 16%, transparent) !important;}

.theme-tone-dot {width: 24px;
  height: 24px;
  display: block;
  border: 1px solid rgba(70, 70, 80, 0.12);
  border-radius: 7px;}

.theme-tone-dot.tone-light-blue {background: #dbeaf7;}

.theme-tone-dot.tone-light-pink {background: #f5dce6;}

.theme-tone-dot.tone-light-green {background: #dcece3;}

.theme-tone-dot.tone-mist-teal {background: #d8eae8;}

.theme-tone-dot.tone-light-purple {background: #e5ddf1;}

.theme-tone-dot.tone-cream {background: #eee2d1;}

.theme-tone-dot.tone-butter-yellow {background: #eee3b9;}

.theme-tone-dot.tone-light-orange {background: #f2d8c6;}

.theme-tone-dot.tone-light-gray {background: #dfe3e7;}

.theme-tone-dot.tone-pure-white {background: #ffffff; border-color: rgba(50,58,66,.18);}

.theme-tone-dot.tone-deep-coffee {background: #2b211c; border-color: rgba(255,255,255,.14);}

.theme-tone-dot.tone-dark-gray {background: #242930; border-color: rgba(255,255,255,.14);}

.theme-tone-dot.tone-dark-berry {background: #3a222f; border-color: rgba(255,255,255,.14);}

.theme-tone-dot.tone-ink-green {background: #1e3026; border-color: rgba(255,255,255,.14);}

@media (max-width: 360px) {
.theme-tone-grid {grid-template-columns: 1fr;}
}

.news-settings-panel button {border:0;border-radius:14px;background:#25394c;color:#fff;font-weight:900}

.news-settings-panel {border:1px dashed rgba(82,106,128,.2);border-radius:18px;background:rgba(255,255,255,.62);padding:22px;text-align:center;color:#5a6b79}

.news-settings-panel h3 {display:block;margin:0 0 8px;color:#25394c}

.news-settings-panel {text-align:left;display:grid;gap:12px}

.news-settings-panel p {margin:0;line-height:1.65}

.news-settings-panel dl {display:grid;gap:8px;margin:0}

.news-settings-panel dt {font-weight:900;color:#25394c}

.news-settings-panel dd {margin:0;color:#5f7180;line-height:1.55}

.news-settings-panel code {background:#edf3f7;border-radius:8px;padding:2px 6px;color:#22384d}

.api-secondary-settings {display: grid;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in srgb, var(--skin-border, rgba(0,0,0,.12)) 80%, transparent);}

.moss-float-log-row {display: grid;
  gap: 4px;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--skin-border, rgba(0,0,0,.10));
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-strong, #fff) 82%, transparent);
  color: var(--skin-text, #2c241d);
  text-align: left;}

.moss-float-log-row strong {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;}

.moss-float-log-row small {min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--skin-muted, #7b6b5a);
  font-size: 11px;
  font-weight: 800;}

.moss-float-log-list {display: grid;
  gap: 8px;}

.moss-float-log-row span {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;}

.moss-float-log-row em {flex: 0 0 auto;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skin-accent, #7aa1d5) 20%, var(--surface-strong, #fff) 80%);
  font-size: 10px;
  font-style: normal;}

.moss-float-log-row.error {border-color: color-mix(in srgb, #e34b55 54%, var(--skin-border, rgba(0,0,0,.10)));}

.moss-float-log-row.error em {background: color-mix(in srgb, #e34b55 24%, var(--surface-strong, #fff) 76%);}

.moss-float-log-row.success {border-color: color-mix(in srgb, #1f9d63 38%, var(--skin-border, rgba(0,0,0,.10)));}

.moss-float-log-row p {display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;}

body:is(.theme-tone-deep-coffee,.theme-tone-dark-gray,.theme-tone-dark-berry,.theme-tone-ink-green) :is(#appScreen,#appBody) {--moss-dark-page: var(--tone-page, var(--page-bg, #110d0b));
  --moss-dark-phone: var(--tone-phone, var(--phone-bg, #17131a));
  --moss-dark-surface: var(--tone-surface, var(--surface, #241c22));
  --moss-dark-surface-strong: var(--tone-surface-strong, var(--surface-strong, #2d222a));
  --moss-dark-text: var(--tone-text, var(--skin-text, #f1e6dc));
  --moss-dark-title: var(--tone-title, var(--skin-title, #fff5ec));
  --moss-dark-muted: var(--tone-muted, var(--skin-muted, #b6a79b));
  --moss-dark-line: var(--tone-line, var(--skin-border, rgba(239,219,202,.13)));
  --moss-dark-accent: var(--tone-accent, var(--skin-accent, #c39a78));
  --surface: var(--moss-dark-surface) !important;
  --surface-strong: var(--moss-dark-surface-strong) !important;
  --skin-surface: var(--moss-dark-surface) !important;
  --skin-panel: var(--moss-dark-surface-strong) !important;
  --skin-text: var(--moss-dark-text) !important;
  --skin-title: var(--moss-dark-title) !important;
  --skin-muted: var(--moss-dark-muted) !important;
  --skin-border: var(--moss-dark-line) !important;
  --phone-bg: var(--moss-dark-phone) !important;
  --page-bg: var(--moss-dark-page) !important;
  --ed-bg: var(--moss-dark-page) !important;
  --ed-surface: var(--moss-dark-surface) !important;
  --ed-surface-strong: var(--moss-dark-surface-strong) !important;
  --ed-text: var(--moss-dark-text) !important;
  --ed-muted: var(--moss-dark-muted) !important;
  --ed-line: var(--moss-dark-line) !important;
  color: var(--moss-dark-text) !important;}

#serverProactiveStatusPanel {display:grid; gap:8px;}

#serverProactiveStatusPanel .settings-row.compact {margin:0; padding:10px 12px;}

#appScreen :where(.panel-stack, .list-stack, .settings-list) {min-width: 0;}

#appScreen .panel-stack:has(.settings-list),
#appScreen .settings-app,
#appScreen .settings-page {min-height: 100%;
  padding: 14px var(--moss-ui-content-pad) calc(28px + var(--safe-bottom));
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-canvas) !important;}

#appScreen .settings-list {gap: 9px;}

#appScreen .settings-row {min-height: 66px;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid var(--moss-ui-line) !important;
  border-radius: 16px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;}

#appScreen .settings-symbol {width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--moss-ui-accent-line) !important;
  border-radius: 13px !important;
  color: var(--moss-ui-accent-strong) !important;
  background: var(--moss-ui-card-soft) !important;
  box-shadow: none !important;}

#appScreen .settings-row strong {color: var(--moss-ui-text) !important; font-size: 15px; font-weight: 650;}

#appScreen .settings-row small {color: var(--moss-ui-muted) !important; font-size: 12px; line-height: 1.45;}

#appScreen .settings-row::after {color: var(--moss-ui-faint) !important;}

#appScreen .settings-app .panel {border: 1px solid var(--moss-ui-line) !important;
  border-radius: 18px !important;
  color: var(--moss-ui-text) !important;
  background: var(--moss-ui-card) !important;
  box-shadow: var(--moss-ui-shadow-1) !important;}

#appScreen .settings-app .panel h2 {color: var(--moss-ui-text) !important; font-size: 18px; font-weight: 680;}

#appScreen .settings-back {display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px !important;
  border: 0 !important;
  color: var(--moss-ui-text) !important;
  background: transparent !important;}

#appScreen .theme-tone-option.active {border-color: var(--moss-ui-accent-line) !important;
  background: var(--moss-ui-card-soft) !important;}

@media (max-width: 360px) {
#appScreen .settings-row {grid-template-columns: 38px minmax(0,1fr) auto;}
#appScreen .settings-symbol {width: 38px; height: 38px;}
}

#appScreen .app-body > .settings-page-shell,
#appScreen .app-body > .panel-stack:has(.settings-back) {box-sizing: border-box !important;
  width: min(100%, 720px) !important;
  min-width: 0 !important;
  max-width: 720px !important;
  margin-inline: auto !important;
  padding-top: 12px !important;
  padding-right: max(12px, env(safe-area-inset-right, 0px)) !important;
  padding-bottom: calc(28px + var(--safe-bottom, 0px)) !important;
  padding-left: max(12px, env(safe-area-inset-left, 0px)) !important;
  overflow-x: clip !important;}

#appScreen .settings-page-shell > *,
#appScreen .app-body > .panel-stack:has(.settings-back) > * {box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;}

#appScreen .settings-page-shell .panel,
#appScreen .app-body > .panel-stack:has(.settings-back) .panel {min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: clip !important;}

#appScreen .settings-page-shell :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
#appScreen .app-body > .panel-stack:has(.settings-back) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;}

#appScreen .settings-page-shell .check-pill,
#appScreen .app-body > .panel-stack:has(.settings-back) .check-pill {box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 0 6px !important;
  padding: 7px 9px !important;
  gap: 9px !important;
  text-align: left !important;}

#appScreen .settings-page-shell .check-pill > input:is([type="checkbox"], [type="radio"]),
#appScreen .app-body > .panel-stack:has(.settings-back) .check-pill > input:is([type="checkbox"], [type="radio"]) {box-sizing: border-box !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;}

#appScreen .settings-page-shell .check-pill > span,
#appScreen .app-body > .panel-stack:has(.settings-back) .check-pill > span {min-width: 0 !important;
  text-align: left !important;
  line-height: 1.35 !important;}

#appScreen .settings-page-shell .settings-back,
#appScreen .app-body > .panel-stack:has(.settings-back) .settings-back {display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 0 10px !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;}

/*# source: assets/css/wardrobe.css */
/* Moss 464.9.168 · Wardrobe — Living Editorial / mobile 8pt grid */

.wardrobe-gradient {
  background: #eef4ef !important;
  color: #315a43 !important;
}

.wardrobe-gradient::before {
  content: "衣";
  color: #315a43;
}

.app-body.wardrobe-app-active {
  --wardrobe-bg: var(--moss-live-canvas, #deddd9);
  --wardrobe-card: var(--moss-live-paper, #f8f7f4);
  --wardrobe-card-soft: var(--moss-live-sand, #e8e6e1);
  --wardrobe-text: var(--moss-live-text, #373733);
  --wardrobe-muted: var(--moss-live-muted, #77756f);
  --wardrobe-line: var(--moss-live-line, rgba(31, 30, 28, 0.09));
  --wardrobe-green: var(--moss-live-moss, #63745f);
  --wardrobe-green-soft: color-mix(in srgb, var(--wardrobe-green) 13%, var(--wardrobe-card));
  --wardrobe-blue-soft: color-mix(in srgb, var(--moss-live-blue, #728792) 12%, var(--wardrobe-card));
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overflow-anchor: none;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding: calc(54px + var(--safe-top)) 0 calc(18px + var(--safe-bottom) + var(--browser-bottom-reserve, 0px)) !important;
  scroll-padding-bottom: calc(112px + var(--safe-bottom) + var(--keyboard-inset, 0px)) !important;
  background: var(--wardrobe-bg) !important;
}

.wardrobe-app,
.wardrobe-app * {
  box-sizing: border-box;
}

.wardrobe-app {
  width: min(760px, 100%);
  min-height: 100%;
  margin: 0 auto;
  padding: 16px;
  color: var(--wardrobe-text);
  font-family: var(--moss-live-font-sans, var(--app-font-family, -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", sans-serif));
}

.wardrobe-app button,
.wardrobe-app input,
.wardrobe-app select,
.wardrobe-app textarea {
  font: inherit;
}

.wardrobe-app button {
  -webkit-tap-highlight-color: transparent;
}

.wardrobe-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 4px 24px;
}

.wardrobe-hero small,
.wardrobe-page-heading small {
  display: block;
  margin-bottom: 6px;
  color: var(--wardrobe-muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.18em;
}

.wardrobe-hero h1,
.wardrobe-page-heading h1 {
  margin: 0;
  color: var(--wardrobe-text);
  font-family: var(--moss-live-font-serif, "Songti SC", "STSong", serif);
  font-size: clamp(20px, 5.8vw, 22px);
  line-height: 1;
  font-weight: 760;
  letter-spacing: -0.045em;
}

.wardrobe-hero p {
  max-width: 420px;
  margin: 10px 0 0;
  color: var(--wardrobe-muted);
  font-size: 13px;
  line-height: 1.55;
}

.wardrobe-hero > button {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: var(--wardrobe-text);
  color: #fff;
  font-size: 22px;
  font-weight: 350;
  line-height: 1;
  box-shadow: 0 7px 18px rgba(26, 31, 27, 0.13);
}

.wardrobe-owner-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 999px;
  background: #e9ebe8;
}

.wardrobe-owner-tabs button,
.wardrobe-scope-tabs button,
.wardrobe-category-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--wardrobe-muted);
  font-size: 13px;
  font-weight: 680;
  white-space: nowrap;
}

.wardrobe-owner-tabs button.active {
  background: var(--wardrobe-card);
  color: var(--wardrobe-text);
  box-shadow: 0 2px 9px rgba(25, 32, 27, 0.08);
}

.wardrobe-character-strip,
.wardrobe-user-strip {
  display: flex;
  gap: 10px;
  margin: 12px -16px 0;
  padding: 0 16px 3px;
  overflow-x: auto;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.wardrobe-user-mask-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 0 2px;
}

.wardrobe-user-mask-head span {
  color: var(--wardrobe-text);
  font-size: 11px;
  font-weight: 720;
}

.wardrobe-user-mask-head small {
  color: var(--wardrobe-muted);
  font-size: 9.5px;
  text-align: right;
}

.wardrobe-user-mask-head + .wardrobe-user-strip {
  margin-top: 5px;
}

.wardrobe-character-strip::-webkit-scrollbar,
.wardrobe-user-strip::-webkit-scrollbar,
.wardrobe-category-tabs::-webkit-scrollbar {
  display: none;
}

.wardrobe-character-strip button,
.wardrobe-user-strip button {
  flex: 0 0 auto;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 56px;
  padding: 5px 6px 7px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: var(--wardrobe-muted);
}

.wardrobe-character-strip button.active,
.wardrobe-user-strip button.active {
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-text);
}

.wardrobe-character-strip button > span:last-child,
.wardrobe-user-strip button > span:last-child {
  max-width: 64px;
  overflow: hidden;
  font-size: 11px;
  font-weight: 680;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wardrobe-mini-avatar.avatar,
.wardrobe-mini-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
}

.wardrobe-scope-tabs {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

.wardrobe-scope-tabs button {
  min-height: 30px;
  padding: 0 13px;
  border: 1px solid var(--wardrobe-line);
  background: rgba(255, 255, 255, 0.55);
  font-size: 11.5px;
}

.wardrobe-scope-tabs button.active {
  border-color: transparent;
  background: var(--wardrobe-text);
  color: #fff;
}

.wardrobe-search {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  margin-top: 14px;
  padding: 0 14px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 19px;
  background: var(--wardrobe-card);
  box-shadow: 0 4px 16px rgba(28, 34, 29, 0.035);
}

.wardrobe-search svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--wardrobe-muted);
  stroke-width: 1.8;
  stroke-linecap: round;
}

.wardrobe-search input {
  min-width: 0;
  height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--wardrobe-text);
  font-size: 14px;
}

.wardrobe-search input::placeholder {
  color: #9da29d;
}

.wardrobe-search > button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-muted);
}

.wardrobe-section {
  margin-top: 24px;
}

.wardrobe-section-heading,
.wardrobe-library-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 2px 10px;
}

.wardrobe-section-heading > span,
.wardrobe-library-head > span {
  color: var(--wardrobe-text);
  font-size: 14px;
  font-weight: 730;
}

.wardrobe-section-heading > small,
.wardrobe-library-head > small {
  color: var(--wardrobe-muted);
  font-size: 10.5px;
}

.wardrobe-today-card {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 24px;
  background: var(--wardrobe-card);
  color: inherit;
  text-align: left;
  box-shadow: 0 7px 22px rgba(27, 34, 29, 0.045);
}

.wardrobe-avatar.avatar,
.wardrobe-avatar {
  width: 54px !important;
  height: 54px !important;
  border-radius: 19px !important;
}

.wardrobe-avatar-fallback {
  display: grid;
  place-items: center;
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-green);
  font-weight: 800;
}

.wardrobe-today-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.wardrobe-today-copy strong {
  overflow: hidden;
  color: var(--wardrobe-text);
  font-size: 16px;
  font-weight: 730;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wardrobe-today-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--wardrobe-muted);
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.wardrobe-today-action {
  align-self: end;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-green);
  font-size: 10.5px;
  font-weight: 750;
  white-space: nowrap;
}

.wardrobe-category-tabs {
  display: flex;
  gap: 7px;
  margin: 18px -16px 0;
  padding: 0 16px 3px;
  overflow-x: auto;
  scrollbar-width: none;
}

.wardrobe-category-tabs button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 15px;
  border: 1px solid var(--wardrobe-line);
  background: rgba(255, 255, 255, 0.62);
  font-size: 11.5px;
}

.wardrobe-category-tabs button.active {
  border-color: transparent;
  background: var(--wardrobe-text);
  color: #fff;
}

.wardrobe-notice {
  margin: 12px 0 0;
  padding: 10px 13px;
  border-radius: 15px;
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-green);
  font-size: 12px;
  line-height: 1.5;
}

.wardrobe-notice.error {
  background: #f7e8e6;
  color: #9a433d;
}

.wardrobe-today-detail {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 24px;
  background: var(--wardrobe-card);
}

.wardrobe-today-detail article {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: var(--wardrobe-card-soft);
}

.wardrobe-today-detail article span {
  color: var(--wardrobe-muted);
  font-size: 11px;
  font-weight: 650;
}

.wardrobe-today-detail article strong {
  color: var(--wardrobe-text);
  font-size: 12.5px;
  line-height: 1.5;
}

.wardrobe-today-detail > p {
  margin: 5px 3px;
  color: var(--wardrobe-muted);
  font-size: 11px;
  line-height: 1.55;
}

.wardrobe-today-detail > button,
.wardrobe-empty button {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: var(--wardrobe-text);
  color: #fff;
  font-size: 12px;
  font-weight: 720;
}

.wardrobe-library-head {
  margin-top: 16px;
}

.wardrobe-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.wardrobe-item-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 22px;
  background: var(--wardrobe-card);
  box-shadow: 0 5px 18px rgba(25, 31, 27, 0.035);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.wardrobe-item-card.selected {
  border-color: rgba(70, 107, 85, 0.55);
  box-shadow: 0 0 0 2px rgba(70, 107, 85, 0.09), 0 7px 18px rgba(32, 57, 42, 0.06);
}

.wardrobe-card-visual {
  width: 100%;
  aspect-ratio: 1.55 / 1;
  overflow: hidden;
  border-radius: 15px;
  background: var(--wardrobe-card-soft);
}

.wardrobe-card-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.wardrobe-card-visual--text {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 22% 18%, rgba(109, 144, 120, 0.14), transparent 36%),
    var(--wardrobe-card-soft);
}

.wardrobe-card-visual--text span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--wardrobe-green);
  font-size: 18px;
  font-weight: 780;
  box-shadow: 0 4px 14px rgba(42, 54, 46, 0.06);
}

.wardrobe-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.wardrobe-badges,
.wardrobe-card-tags {
  display: flex;
  min-width: 0;
  gap: 4px;
  overflow: hidden;
}

.wardrobe-badges span,
.wardrobe-card-tags span {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-green);
  font-size: 9px;
  font-weight: 720;
  white-space: nowrap;
}

.wardrobe-badges .wardrobe-scope-badge,
.wardrobe-card-tags span {
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-muted);
}

.wardrobe-favorite {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #a7aba6;
  font-size: 19px;
}

.wardrobe-favorite.active {
  color: #967c36;
}

.wardrobe-item-card > strong {
  overflow: hidden;
  color: var(--wardrobe-text);
  font-size: 13.5px;
  font-weight: 730;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wardrobe-item-card > p {
  min-height: 36px;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: var(--wardrobe-muted);
  font-size: 10.5px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.wardrobe-card-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  gap: 6px;
  margin-top: auto;
}

.wardrobe-select-control,
.wardrobe-more {
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-muted);
  font-size: 9.5px;
  font-weight: 720;
}

.wardrobe-select-control.selected {
  background: var(--wardrobe-green);
  color: #fff;
}

.wardrobe-more {
  width: 32px;
  padding: 0;
  letter-spacing: 0.08em;
}

.wardrobe-empty {
  grid-column: 1 / -1;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 42px 20px;
  border: 1px dashed rgba(50, 59, 52, 0.15);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.45);
  text-align: center;
}

.wardrobe-empty > span {
  color: #a2a7a1;
  font-size: 36px;
  font-weight: 300;
}

.wardrobe-empty strong {
  color: var(--wardrobe-text);
  font-size: 14px;
}

.wardrobe-empty p {
  max-width: 280px;
  margin: 0;
  color: var(--wardrobe-muted);
  font-size: 11px;
  line-height: 1.55;
}

.wardrobe-empty button {
  min-width: 126px;
  margin-top: 4px;
  padding: 0 18px;
}

.wardrobe-empty.compact {
  padding: 22px 16px;
}

.wardrobe-page-heading {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.wardrobe-page-heading > button {
  width: 42px;
  height: 42px;
  padding: 0 2px 3px 0;
  border: 1px solid var(--wardrobe-line);
  border-radius: 50%;
  background: var(--wardrobe-card);
  color: var(--wardrobe-text);
  font-size: 31px;
  font-weight: 300;
  line-height: 1;
}

.wardrobe-page-heading h1 {
  font-size: 26px;
}

.wardrobe-page-heading small {
  margin-bottom: 5px;
}

.wardrobe-look-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding: 14px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 22px;
  background: var(--wardrobe-card);
}

.wardrobe-look-summary > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.wardrobe-look-summary strong {
  color: var(--wardrobe-text);
  font-size: 15px;
}

.wardrobe-look-summary span {
  color: var(--wardrobe-muted);
  font-size: 11px;
}

.wardrobe-look-group {
  margin-bottom: 24px;
}

.wardrobe-look-note {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 20px;
  background: var(--wardrobe-card);
}

.wardrobe-look-note > span,
.wardrobe-editor-form label > span,
.wardrobe-kind-field legend,
.wardrobe-cover-field > div > span {
  color: var(--wardrobe-text);
  font-size: 11px;
  font-weight: 700;
}

.wardrobe-look-note textarea,
.wardrobe-editor-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.wardrobe-editor-form select,
.wardrobe-editor-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--wardrobe-line);
  border-radius: 15px;
  outline: none;
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-text);
  font-size: 13px;
  line-height: 1.5;
}

.wardrobe-look-note textarea,
.wardrobe-editor-form textarea {
  min-height: 82px;
  padding: 12px;
  resize: vertical;
}

.wardrobe-look-note textarea:focus,
.wardrobe-editor-form input:focus,
.wardrobe-editor-form select:focus,
.wardrobe-editor-form textarea:focus {
  border-color: rgba(70, 107, 85, 0.52);
  box-shadow: 0 0 0 3px rgba(70, 107, 85, 0.08);
}

.wardrobe-commit-spacer {
  height: 92px;
}

.wardrobe-commit-bar {
  position: fixed;
  z-index: 25;
  left: max(12px, calc((100vw - 760px) / 2 + 16px));
  right: max(12px, calc((100vw - 760px) / 2 + 16px));
  bottom: calc(10px + var(--safe-bottom) + var(--keyboard-inset, 0px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px 9px 15px;
  border: 1px solid rgba(36, 43, 37, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--wardrobe-muted);
  font-size: 12px;
  box-shadow: 0 10px 34px rgba(25, 31, 27, 0.15);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.wardrobe-commit-bar b {
  color: var(--wardrobe-text);
}

.wardrobe-commit-bar button {
  min-height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: var(--wardrobe-text);
  color: #fff;
  font-size: 12px;
  font-weight: 730;
}

.wardrobe-editor-form {
  display: grid;
  gap: 14px;
}

.wardrobe-form-grid,
.wardrobe-meta-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.wardrobe-editor-form label {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.wardrobe-editor-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.wardrobe-editor-form select {
  height: 44px;
  padding: 0 12px;
}

.wardrobe-editor-form input[readonly] {
  color: var(--wardrobe-muted);
  cursor: default;
}

.wardrobe-kind-field {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 20px;
  background: var(--wardrobe-card);
}

.wardrobe-kind-field legend {
  padding: 0 5px;
}

.wardrobe-kind-field label {
  position: relative;
}

.wardrobe-kind-field input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wardrobe-kind-field label > span {
  display: grid;
  place-items: center;
  min-height: 40px;
  border-radius: 999px;
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-muted);
}

.wardrobe-kind-field input:checked + span {
  background: var(--wardrobe-text);
  color: #fff;
}

.wardrobe-description-field,
.wardrobe-prompt-preview,
.wardrobe-meta-fields,
.wardrobe-advanced,
.wardrobe-cover-field {
  padding: 14px;
  border: 1px solid var(--wardrobe-line);
  border-radius: 22px;
  background: var(--wardrobe-card);
}

.wardrobe-compile-button {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-height: 58px;
  padding: 10px 16px;
  border: 0;
  border-radius: 20px;
  background: var(--wardrobe-text);
  color: #fff;
  text-align: left;
}

.wardrobe-compile-button span {
  font-size: 13px;
  font-weight: 730;
}

.wardrobe-compile-button small {
  color: rgba(255, 255, 255, 0.64);
  font-size: 9.5px;
}

.wardrobe-compile-button:disabled,
.wardrobe-editor-actions button:disabled {
  opacity: 0.55;
}

.wardrobe-prompt-preview {
  display: grid;
  gap: 12px;
}

.wardrobe-meta-fields {
  align-items: start;
}

.wardrobe-advanced summary {
  color: var(--wardrobe-text);
  font-size: 12px;
  font-weight: 710;
  cursor: pointer;
}

.wardrobe-advanced > div {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.wardrobe-toggle {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.wardrobe-toggle > span {
  display: grid;
  gap: 3px;
}

.wardrobe-toggle small,
.wardrobe-cover-field small {
  color: var(--wardrobe-muted);
  font-size: 9.5px;
  font-weight: 450;
}

.wardrobe-toggle input {
  width: 44px;
  height: 25px;
  accent-color: var(--wardrobe-green);
}

.wardrobe-cover-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px;
  align-items: center;
  gap: 12px;
}

.wardrobe-cover-field > div {
  display: grid;
  gap: 4px;
}

.wardrobe-cover-field img,
.wardrobe-cover-placeholder {
  grid-row: 1 / span 2;
  grid-column: 2;
  width: 68px;
  height: 68px;
  border-radius: 18px;
  object-fit: cover;
}

.wardrobe-cover-field img {
  display: block;
}

.wardrobe-cover-placeholder {
  display: grid;
  place-items: center;
  background: var(--wardrobe-card-soft);
  color: var(--wardrobe-muted);
  font-size: 24px;
}

.wardrobe-cover-field > label {
  display: inline-flex;
  width: fit-content;
}

.wardrobe-cover-field input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.wardrobe-cover-field label > span {
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--wardrobe-green-soft);
  color: var(--wardrobe-green);
  font-size: 10px;
  font-weight: 720;
}

.wardrobe-editor-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  /* 可视视口已经在键盘打开时缩短，这里不再重复叠加键盘高度。
     iOS 从系统图片选择器返回时即使残留一帧旧 inset，也不会撑出长空白。 */
  padding: 4px 0 calc(10px + var(--safe-bottom));
}

.wardrobe-editor-actions button {
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 720;
}

.wardrobe-editor-actions .primary {
  min-width: 138px;
  margin-left: auto;
  background: var(--wardrobe-text);
  color: #fff;
}

.wardrobe-editor-actions .danger {
  background: #f7e8e6;
  color: #9a433d;
}

.mind-wardrobe-card {
  min-width: 0;
  min-height: 0;
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 11px;
  border: 1px solid color-mix(in srgb, var(--skin-border) 64%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface-strong) 76%, transparent);
  color: var(--skin-text);
  text-align: left;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.mind-wardrobe-card span,
.mind-wardrobe-card b {
  display: block;
}

.mind-wardrobe-card span {
  color: var(--skin-muted);
  font-size: 12px;
  font-weight: 900;
}

.mind-wardrobe-card b {
  font-size: 12px;
  line-height: 1.45;
}

.mind-panel:not(.mind-history-panel) .mind-wardrobe-card {
  gap: 3px;
  padding: 8px;
  border-radius: 14px;
  line-height: 1.35;
}

@media (max-width: 350px) {
  .wardrobe-grid {
    grid-template-columns: 1fr;
  }

  .wardrobe-form-grid,
  .wardrobe-meta-fields {
    grid-template-columns: 1fr;
  }

  .wardrobe-today-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .wardrobe-today-action {
    grid-column: 2;
    justify-self: start;
  }
}

@media (min-width: 620px) {
  .wardrobe-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

html[data-ui-mode="dark"] .app-body.wardrobe-app-active {
  --wardrobe-bg: #171a18;
  --wardrobe-card: #222622;
  --wardrobe-card-soft: #2a2f2b;
  --wardrobe-text: #f1f3f0;
  --wardrobe-muted: #a0a7a1;
  --wardrobe-line: rgba(235, 243, 236, 0.09);
  --wardrobe-green: #b0d2bd;
  --wardrobe-green-soft: #2b3b31;
  --wardrobe-blue-soft: #29353e;
}

html[data-ui-mode="dark"] .wardrobe-owner-tabs {
  background: #202420;
}

html[data-ui-mode="dark"] .wardrobe-owner-tabs button.active,
html[data-ui-mode="dark"] .wardrobe-commit-bar {
  background: rgba(35, 39, 35, 0.94);
}

html[data-ui-mode="dark"] .wardrobe-card-visual--text span {
  background: rgba(42, 48, 43, 0.9);
}

html[data-ui-mode="dark"] .wardrobe-scope-tabs button,
html[data-ui-mode="dark"] .wardrobe-category-tabs button {
  background: rgba(38, 43, 39, 0.72);
}

html[data-ui-mode="dark"] .wardrobe-scope-tabs button.active,
html[data-ui-mode="dark"] .wardrobe-category-tabs button.active,
html[data-ui-mode="dark"] .wardrobe-today-detail > button,
html[data-ui-mode="dark"] .wardrobe-compile-button,
html[data-ui-mode="dark"] .wardrobe-commit-bar button,
html[data-ui-mode="dark"] .wardrobe-editor-actions .primary,
html[data-ui-mode="dark"] .wardrobe-kind-field input:checked + span {
  background: #f0f2ef;
  color: #1d211e;
}

body.keyboard-open .app-body.wardrobe-app-active {
  padding-bottom: calc(18px + var(--safe-bottom)) !important;
}

body.keyboard-open .wardrobe-commit-bar {
  bottom: calc(8px + var(--safe-bottom)) !important;
}

/*# source: assets/css/video.css */
/* Moss CSS retirement final split. Migrated from the retired monolithic stylesheet in 464.9.178. */
.ying-gradient {background:#18181b!important;color:#f6f5f1!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important}

.app-body.ying-app-active {padding:0!important;background:var(--moss-live-canvas,#deddd9)!important;color:var(--moss-live-text,#373733)!important;overflow:auto!important;overscroll-behavior-y:contain}

.ying-app {--ying-parchment:#dbdad7;--ying-paper:#fff;--ying-sand:#e6e4e0;--ying-ink:#121212;--ying-smoke:#616161;--ying-charcoal:#18181b;--ying-moss:#4caf50;--ying-danger:#8a3d35;min-height:100%;padding:0 16px calc(32px + env(safe-area-inset-bottom));font-family:"Hedvig Letters Sans",Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--ying-ink);background:var(--ying-parchment)}

.ying-app * {box-sizing:border-box}

.ying-app button,
.ying-app input,
.ying-app select {font:inherit}

.ying-app button {border:0;color:inherit}

.ying-app .moss-ui-icon {width:19px;height:19px}

.ying-eyebrow {display:block;color:var(--ying-smoke);font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}

.ying-wordmark {text-align:right}

.ying-wordmark h1,
.ying-report-cover h1,
.ying-settings-page h1,
.ying-field-settings h1,
.ying-custom-page h1,
.ying-empty-state h2 {margin:0;font-family:"Hedvig Letters Serif","Source Serif 4",Georgia,"Songti SC",serif;font-weight:400;letter-spacing:-.035em}

.ying-wordmark h1 {font-size:56px;line-height:.88}

.ying-wordmark p {margin:7px 0 0;color:var(--ying-smoke);font-size:11px;letter-spacing:.18em}

.ying-space-trigger {display:flex;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;text-align:left}

.ying-space-trigger>span {display:grid;gap:2px;min-width:0}

.ying-space-trigger small {color:var(--ying-smoke);font-size:9px;letter-spacing:.1em}

.ying-space-trigger strong {overflow:hidden;max-width:150px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}

.ying-space-avatar.avatar {width:36px;height:36px;border:1px solid var(--ying-ink);border-radius:50%;background:var(--ying-paper)}

.ying-moment {margin:16px 0 26px;padding:16px;background:var(--ying-paper);border:1px solid var(--ying-ink);border-radius:8px}

.ying-moment header {display:flex;align-items:end;justify-content:space-between;gap:12px}

.ying-moment header strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:20px;font-weight:400}

.ying-moment p {margin:14px 0 0;color:#2f2f2f;font:14px/1.75 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-directory>header {padding-bottom:12px;border-bottom:1px solid var(--ying-ink)}

.ying-directory h2 {margin:4px 0 0;font-family:"Hedvig Letters Serif",Georgia,serif;font-size:27px;font-weight:400}

.ying-index-row {display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;width:100%;padding:17px 0;border-bottom:1px solid rgba(18,18,18,.25);background:transparent;text-align:left}

.ying-index-row:active {background:rgba(255,255,255,.36)}

.ying-index-row.disabled {opacity:.42}

.ying-index-no {align-self:start;color:var(--ying-smoke);font-family:Georgia,serif;font-size:13px}

.ying-index-copy {display:grid;gap:5px}

.ying-index-copy strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:22px;font-weight:400}

.ying-index-copy small {color:#3f3f3f;font-size:12px;line-height:1.55}

.ying-index-copy em {color:var(--ying-smoke);font-size:9px;font-style:normal;letter-spacing:.1em}

.ying-settings-row {margin-top:10px;border-top:1px solid var(--ying-ink)}

.ying-notice {position:sticky;top:0;z-index:9;margin:0 -16px;padding:10px 16px;border-bottom:1px solid var(--ying-ink);background:#f6f5f1;color:#2f5d36;font-size:12px;font-weight:600}

.ying-notice.error {color:var(--ying-danger);background:#f4e9e6}

.ying-report-toolbar {position:sticky;top:0;z-index:8;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;margin:0 -16px;padding:0 12px;border-bottom:1px solid var(--ying-ink);background:var(--ying-parchment)}

.ying-report-toolbar>button {display:flex;align-items:center;gap:3px;justify-self:start;padding:8px 4px;background:transparent;font-size:12px}

.ying-report-toolbar>strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:17px;font-weight:400}

.ying-report-toolbar>div {display:flex;justify-self:end}

.ying-report-toolbar>div button {display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:transparent}

.ying-report-toolbar button.disabled,
.ying-report-toolbar button:disabled {opacity:.28}

.ying-generating {position:sticky;top:52px;z-index:7;margin:0 -16px;padding:9px 16px;border-bottom:1px solid var(--ying-ink);background:var(--ying-sand);font-size:11px;letter-spacing:.04em}

.ying-report-paper {margin:14px 0 0;background:var(--ying-paper);border:1px solid var(--ying-ink);border-radius:8px;overflow:hidden}

.ying-report-paper.is-history {margin-top:14px}

.ying-report-cover {padding:24px 20px;border-bottom:1px solid var(--ying-ink)}

.ying-report-cover h1 {margin-top:8px;font-size:38px;line-height:1.08}

.ying-cover-deck {margin:12px 0 22px;color:var(--ying-smoke);font-size:13px;line-height:1.65}

.ying-report-meta {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--ying-parchment);border-left:1px solid var(--ying-parchment)}

.ying-report-meta div {padding:10px;border-right:1px solid var(--ying-parchment);border-bottom:1px solid var(--ying-parchment)}

.ying-report-meta dt {color:var(--ying-smoke);font-size:9px;letter-spacing:.08em}

.ying-report-meta dd {margin:4px 0 0;font-size:12px}

.ying-summary {padding-top:24px}

.ying-summary h2 {margin:5px 0 10px;font-family:"Hedvig Letters Serif",Georgia,serif;font-size:24px;font-weight:400}

.ying-summary p,
.ying-attention p {margin:0;white-space:pre-wrap;font:14px/1.8 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-keywords {display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}

.ying-keywords span {padding:5px 10px;border:1px solid var(--ying-ink);border-radius:999px;font-size:10px}

.ying-attention {margin-top:18px;padding:14px;border:1px solid var(--ying-parchment);border-radius:8px}

.ying-attention p {padding:7px 0;border-bottom:1px solid var(--ying-parchment);font-size:12px}

.ying-attention p:last-child {border:0}

.ying-report-section,
.ying-narrative-section,
.ying-dual-section {padding:22px 20px;border-bottom:1px solid var(--ying-ink)}

.ying-report-section>header {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}

.ying-report-section>header>div {min-width:0}

.ying-section-no {float:left;margin-right:8px;color:var(--ying-smoke);font:12px Georgia,serif}

.ying-report-section h2,
.ying-narrative-section h2 {margin:4px 0 0;font-family:"Hedvig Letters Serif",Georgia,serif;font-size:25px;font-weight:400}

.ying-report-section header p {margin:7px 0 0;color:var(--ying-smoke);font-size:11px;line-height:1.5}

.ying-section-state,
.ying-field-card header span,
.ying-narrative-section header>span {padding:4px 8px;border:1px solid var(--ying-parchment);border-radius:999px;color:var(--ying-smoke);font-size:9px;white-space:nowrap}

.ying-section-state.is-watch,
.ying-field-card header span.is-watch,
.ying-narrative-section header>span.is-watch {color:#754c26;border-color:#b69a7c}

.ying-field-card header span.is-stable,
.ying-narrative-section header>span.is-stable {color:#2f633a}

.ying-field-card header span.is-muted,
.ying-narrative-section header>span.is-muted {opacity:.55}

.ying-field-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ying-parchment);border-left:1px solid var(--ying-parchment)}

.ying-field-card {min-width:0;padding:13px;border-right:1px solid var(--ying-parchment);border-bottom:1px solid var(--ying-parchment)}

.ying-field-card.wide {grid-column:1/-1}

.ying-field-card header {display:flex;align-items:flex-start;justify-content:space-between;gap:7px}

.ying-field-card header strong {font-size:12px;line-height:1.4}

.ying-field-value {margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.55 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-field-value em {margin-left:4px;color:var(--ying-smoke);font:10px sans-serif}

.ying-field-card>p {margin:8px 0 0;color:var(--ying-smoke);white-space:pre-wrap;font-size:11px;line-height:1.65}

.ying-evidence {margin-top:12px;padding-top:10px;border-top:1px solid var(--ying-parchment)}

.ying-evidence p {display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin:7px 0;font-size:10px;line-height:1.5}

.ying-evidence time {color:var(--ying-smoke)}

.ying-evidence small {grid-column:2;color:var(--ying-smoke);font-size:9px}

.ying-narrative-section>header {display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:4px}

.ying-narrative-value {margin:18px 0 0;white-space:pre-wrap;font:15px/1.9 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-narrative-section blockquote {margin:18px 0 0;padding-left:13px;border-left:2px solid var(--ying-ink);white-space:pre-wrap;color:#363636;font:13px/1.75 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-dual-section {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}

.ying-dual-section article {padding:20px}

.ying-dual-section article+article {border-left:1px solid var(--ying-ink)}

.ying-dual-section p {margin:12px 0 0;white-space:pre-wrap;font:13px/1.8 "Hedvig Letters Serif",Georgia,"Songti SC",serif}

.ying-dual-section small {display:block;margin-top:12px;color:var(--ying-smoke);font-size:10px;line-height:1.6}

.ying-report-footer {padding:18px 20px;color:var(--ying-smoke);font-size:9px;letter-spacing:.06em;text-align:center}

.ying-empty-state {padding:56px 24px;text-align:center}

.ying-empty-state h2 {margin-top:8px;font-size:31px}

.ying-empty-state p {max-width:310px;margin:16px auto 24px;color:var(--ying-smoke);font-size:13px;line-height:1.7}

.ying-empty-state>div {display:flex;justify-content:center;gap:8px;flex-wrap:wrap}

.ying-pill {min-height:40px;padding:9px 16px;border-radius:999px!important;background:var(--ying-charcoal)!important;color:#fff!important;font-size:12px;font-weight:600}

.ying-pill.secondary {border:1px solid var(--ying-ink)!important;background:transparent!important;color:var(--ying-ink)!important}

.ying-pill:disabled {opacity:.3}

.ying-settings-page,
.ying-field-settings,
.ying-custom-page {padding:24px 0}

.ying-settings-page>header,
.ying-custom-page>header {padding-bottom:22px;border-bottom:1px solid var(--ying-ink)}

.ying-settings-page h1,
.ying-custom-page h1 {margin-top:6px;font-size:36px}

.ying-settings-page header p,
.ying-field-settings header p,
.ying-custom-page header p {margin:10px 0 0;color:var(--ying-smoke);font-size:12px;line-height:1.6}

.ying-settings-list {margin-top:10px}

.ying-settings-item {display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;border-bottom:1px solid rgba(18,18,18,.24);background:transparent;text-align:left}

.ying-settings-item>span {display:grid;gap:5px}

.ying-settings-item strong {font-family:"Hedvig Letters Serif",Georgia,serif;font-size:20px;font-weight:400}

.ying-settings-item small {color:var(--ying-smoke);font-size:10px}

.ying-settings-item.disabled {opacity:.4}

.ying-field-settings>header {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ying-ink)}

.ying-field-settings h1 {font-size:34px}

.ying-segment {display:flex;padding:3px;border:1px solid var(--ying-ink);border-radius:999px}

.ying-segment button {padding:6px 10px;border-radius:999px;background:transparent;font-size:10px}

.ying-segment button.active {background:var(--ying-charcoal);color:#fff}

.ying-field-actions {display:flex;gap:7px;padding:12px 0}

.ying-field-actions button {padding:7px 11px;border:1px solid var(--ying-ink);border-radius:999px;background:transparent;font-size:10px}

.ying-search {display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--ying-ink);border-radius:999px;background:var(--ying-paper)}

.ying-search input {width:100%;border:0;outline:0;background:transparent;font-size:12px}

.ying-setting-group {border-top:1px solid var(--ying-ink)}

.ying-setting-group:last-child {border-bottom:1px solid var(--ying-ink)}

.ying-toggle-list {background:rgba(255,255,255,.35);border-top:1px solid var(--ying-parchment)}

.ying-toggle-list label {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--ying-parchment)}

.ying-toggle-list label>span {display:grid;gap:3px}

.ying-toggle-list label strong {font-size:12px}

.ying-toggle-list label small {color:var(--ying-smoke);font-size:9px}

.ying-toggle-list input {position:absolute;opacity:0;pointer-events:none}

.ying-toggle-list i {position:relative;width:40px;height:23px;border-radius:999px;background:var(--ying-sand);border:1px solid var(--ying-ink)}

.ying-toggle-list i:after {content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:var(--ying-paper);border:1px solid var(--ying-ink);transition:transform .15s ease}

.ying-toggle-list input:checked+i {background:var(--ying-charcoal)}

.ying-toggle-list input:checked+i:after {transform:translateX(17px)}

.ying-custom-form {display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid var(--ying-ink);border-radius:8px;background:var(--ying-paper)}

.ying-custom-form label {display:grid;gap:6px}

.ying-custom-form label span {font-size:10px;font-weight:600}

.ying-custom-form input,
.ying-custom-form select {min-width:0;padding:10px 11px;border:1px solid var(--ying-parchment);border-radius:6px;outline:0;background:#fff;color:var(--ying-ink);font-size:12px}

.ying-custom-form>div {display:grid;grid-template-columns:1fr 1fr;gap:10px}

.ying-custom-list {border-top:1px solid var(--ying-ink)}

.ying-custom-list article {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid rgba(18,18,18,.22)}

.ying-custom-list article span {display:grid;gap:3px}

.ying-custom-list article strong {font-size:12px}

.ying-custom-list article small {color:var(--ying-smoke);font-size:9px}

.ying-custom-list article button {display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:transparent;color:var(--ying-danger)}

.ying-no-result {padding:24px 0;color:var(--ying-smoke);font-size:12px;text-align:center}

.ying-sheet-backdrop {position:fixed;inset:0;z-index:150;display:flex;align-items:flex-end;padding:16px;background:rgba(18,18,18,.35)}

.ying-sheet {width:min(430px,100%);margin:0 auto max(0px,env(safe-area-inset-bottom));padding:18px;border:1px solid var(--ying-ink);border-radius:12px;background:var(--ying-paper)}

.ying-sheet header {display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--ying-ink)}

.ying-sheet h3 {margin:4px 0 0;font-family:"Hedvig Letters Serif",Georgia,serif;font-size:24px;font-weight:400}

.ying-sheet header button {display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:transparent}

.ying-space-choice {display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;padding:14px 0;border-bottom:1px solid var(--ying-parchment);background:transparent;text-align:left}

.ying-space-choice>span {display:grid;gap:3px}

.ying-space-choice strong {font-size:13px}

.ying-space-choice small {color:var(--ying-smoke);font-size:10px}

.ying-space-choice.active strong:after {content:" · 当前";color:var(--ying-moss);font-size:9px}

@media (max-width:360px) {
.ying-field-grid {grid-template-columns:1fr}
.ying-field-card.wide {grid-column:auto}
.ying-dual-section {grid-template-columns:1fr}
.ying-dual-section article+article {border-top:1px solid var(--ying-ink);border-left:0}
.ying-report-cover h1 {font-size:32px}
.ying-custom-form>div {grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce) {
.ying-app * {scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.ying-app {color-scheme:light}

.ying-space-list {max-height:min(62vh,520px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

.ying-space-list .ying-space-choice:last-child {border-bottom:0}

.ying-partial-progress {margin:0 0 18px;padding:16px 18px;border:1px solid var(--ying-ink,#161616);background:var(--ying-paper,#fff);display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:baseline}

.ying-partial-progress strong {font-size:17px}

.ying-partial-progress span {font-size:13px;letter-spacing:.08em}

.ying-partial-progress p {grid-column:1/-1;margin:0;font-size:14px;line-height:1.65;color:var(--ying-muted,#666)}

/* Existing canonical module rules follow. */
:root {
  --video-ink: #191b1f;
  --video-muted: #777d86;
  --video-line: #e9ebef;
  --video-surface: #f6f7f8;
  --video-blue: #4f76eb;
  --video-green: #4c9c76;
  --video-danger: #be4c53;
}

.video-gradient {
  background: linear-gradient(145deg, #17191d 0%, #4f76eb 100%) !important;
  color: #fff !important;
}

.video-app-active {
  background: #f5f6f7;
}

.wechat-video-card {
  width: min(290px, 76vw);
  box-sizing: border-box;
  border: 1px solid rgba(20, 24, 31, .07);
  border-radius: 22px;
  padding: 14px;
  background: #fff;
  color: var(--video-ink);
  box-shadow: 0 10px 28px rgba(20, 24, 31, .08);
  text-align: left;
  overflow: hidden;
}

.wechat-video-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.wechat-video-card > header span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.wechat-video-card > header em {
  border-radius: 999px;
  padding: 5px 9px;
  background: #eef2ff;
  color: var(--video-blue);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.wechat-video-card.is-active > header em {
  background: #edf7f1;
  color: var(--video-green);
}

.wechat-video-card.is-failed > header em {
  background: #fff0f1;
  color: var(--video-danger);
}

.wechat-video-draft-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.wechat-video-draft-fields p {
  min-width: 0;
  margin: 0;
  border-radius: 14px;
  padding: 10px;
  background: var(--video-surface);
  font-size: 12px;
  line-height: 1.45;
  word-break: break-word;
}

.wechat-video-draft-fields small {
  display: block;
  margin-bottom: 4px;
  color: var(--video-muted);
  font-size: 10px;
  font-weight: 700;
}

.wechat-video-card > footer {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.wechat-video-card > footer > button,
.wechat-video-actions button {
  flex: 1;
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--video-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
}

.wechat-video-actions {
  display: flex;
  width: 100%;
  gap: 8px;
}

.wechat-video-actions button:first-child {
  background: #eceef1;
  color: var(--video-ink);
}

.wechat-video-card > footer > small {
  color: var(--video-muted);
  font-size: 11px;
  line-height: 1.45;
}

.wechat-video-progress {
  height: 5px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef0f2;
}

.wechat-video-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--video-green), var(--video-blue));
  transition: width .35s ease;
}

.wechat-video-error,
.wechat-video-poll-note {
  margin: 10px 0 0;
  border-radius: 12px;
  padding: 9px 10px;
  background: #fff2f3;
  color: #9e363d;
  font-size: 11px;
  line-height: 1.45;
}

.wechat-video-poll-note {
  background: #fff8e9;
  color: #8b6524;
}

button.wechat-video-card.is-ready {
  display: block;
  padding: 0;
  cursor: pointer;
}

.wechat-video-cover {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #1d2025;
}

.wechat-video-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wechat-video-cover-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  letter-spacing: .22em;
}

.wechat-video-cover i,
.video-cover-frame > i {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  place-items: center;
  transform: translate(-50%, -50%);
  background: rgba(255,255,255,.9);
  color: #15171a;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  font-size: 14px;
  font-style: normal;
}

.wechat-video-card-copy {
  display: block;
  padding: 13px 14px 14px;
}

.wechat-video-card-copy strong,
.wechat-video-card-copy small {
  display: block;
}

.wechat-video-card-copy strong {
  font-size: 14px;
}

.wechat-video-card-copy small {
  margin-top: 3px;
  color: var(--video-muted);
  font-size: 11px;
}

.wechat-video-card.is-deleted {
  padding: 0;
  background: #f1f2f4;
  box-shadow: none;
}

.message-row.video-source-highlight .wechat-video-card {
  animation: video-source-highlight 1.6s ease;
}

@keyframes video-source-highlight {
  0%, 100% { box-shadow: 0 10px 28px rgba(20, 24, 31, .08); }
  35% { box-shadow: 0 0 0 5px rgba(79, 118, 235, .18), 0 12px 34px rgba(20, 24, 31, .12); }
}

.video-draft-editor-overlay,
.moss-video-viewer {
  position: fixed;
  inset: 0;
  z-index: 120000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  background: rgba(21, 24, 29, .34);
  backdrop-filter: blur(14px);
  opacity: 0;
  transition: opacity .2s ease;
}

.video-draft-editor-overlay.visible {
  opacity: 1;
}

.video-draft-editor {
  width: min(720px, 100%);
  max-height: min(92dvh, 900px);
  overflow: auto;
  box-sizing: border-box;
  border: 1px solid rgba(24, 28, 34, .07);
  border-radius: 28px;
  padding: 20px;
  background: #fff;
  color: var(--video-ink);
  box-shadow: 0 28px 80px rgba(20, 24, 31, .2);
}

.video-draft-editor > header {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  text-align: center;
}

.video-draft-editor > header button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f0f1f3;
  color: var(--video-ink);
  font-size: 22px;
}

.video-draft-editor > header small,
.video-library-hero small {
  color: var(--video-blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.video-draft-editor > header h2 {
  margin: 3px 0 0;
  font-size: 22px;
}

.video-draft-source-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
}

.video-draft-source-grid p {
  min-width: 0;
  margin: 0;
  border-radius: 16px;
  padding: 11px 12px;
  background: var(--video-surface);
  font-size: 12px;
  line-height: 1.45;
}

.video-draft-source-grid small {
  display: block;
  margin-bottom: 4px;
  color: var(--video-muted);
}

.video-prompt-editor {
  display: block;
}

.video-prompt-editor > span {
  display: block;
  margin: 0 0 8px 2px;
  font-size: 13px;
  font-weight: 750;
}

.video-prompt-editor textarea {
  width: 100%;
  min-height: 240px;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid var(--video-line);
  border-radius: 20px;
  padding: 15px;
  background: #fafafa;
  color: var(--video-ink);
  font: 13px/1.65 -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
  outline: none;
}

.video-prompt-editor textarea:focus {
  border-color: rgba(79,118,235,.52);
  box-shadow: 0 0 0 4px rgba(79,118,235,.08);
}

.video-prompt-editor > small {
  display: block;
  margin: 6px 3px 0;
  color: var(--video-muted);
  text-align: right;
}

#videoPromptCount.over {
  color: var(--video-danger);
}

.video-generation-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}

.video-generation-summary span,
.video-detail-meta > div {
  border-radius: 16px;
  padding: 11px 12px;
  background: var(--video-surface);
}

.video-generation-summary small,
.video-generation-summary strong,
.video-detail-meta small,
.video-detail-meta strong {
  display: block;
}

.video-generation-summary small,
.video-detail-meta small {
  color: var(--video-muted);
  font-size: 10px;
}

.video-generation-summary strong,
.video-detail-meta strong {
  margin-top: 4px;
  font-size: 12px;
}

.video-identity-note {
  margin: 14px 0 0;
  color: var(--video-muted);
  font-size: 11px;
  line-height: 1.55;
}

.video-editor-error {
  min-height: 16px;
  margin: 10px 0 0;
  color: var(--video-danger);
  font-size: 12px;
}

.video-draft-editor > footer {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.video-draft-editor > footer button {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 800;
}

.video-settings-link {
  flex: 1;
  background: #eceef1;
  color: var(--video-ink);
}

.video-generate-button {
  flex: 2;
  background: var(--video-ink);
  color: #fff;
}

.video-generate-button:disabled {
  opacity: .55;
}

.video-library {
  min-height: 100%;
  box-sizing: border-box;
  padding: 18px 16px calc(28px + env(safe-area-inset-bottom));
  color: var(--video-ink);
}

.video-library-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 4px 20px;
}

.video-library-hero h1 {
  margin: 4px 0;
  font-size: 34px;
  letter-spacing: -.04em;
}

.video-library-hero p {
  margin: 0;
  color: var(--video-muted);
  font-size: 12px;
}

.video-library-hero > span {
  display: grid;
  min-width: 44px;
  height: 44px;
  border-radius: 50%;
  place-items: center;
  background: var(--video-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.video-character-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 2px 16px;
  scrollbar-width: none;
}

.video-character-filters::-webkit-scrollbar {
  display: none;
}

.video-character-filters button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  padding: 9px 14px;
  background: #e9ebee;
  color: #656a72;
  font-size: 12px;
  font-weight: 700;
}

.video-character-filters button.active {
  background: var(--video-ink);
  color: #fff;
}

.video-cover-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.video-cover-card {
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  padding: 0;
  background: #fff;
  color: var(--video-ink);
  box-shadow: 0 10px 28px rgba(20,24,31,.06);
  text-align: left;
}

.video-cover-frame {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #1d2025;
}

.video-cover-frame > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-cover-frame > em {
  position: absolute;
  right: 10px;
  bottom: 10px;
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(17,19,22,.72);
  color: #fff;
  font-size: 10px;
  font-style: normal;
}

.video-cover-card > span:last-child {
  display: block;
  padding: 12px;
}

.video-cover-card strong,
.video-cover-card small {
  display: block;
}

.video-cover-card strong {
  font-size: 13px;
}

.video-cover-card small {
  margin-top: 3px;
  overflow: hidden;
  color: var(--video-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-poster-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
  gap: 6px;
  background: linear-gradient(145deg, #22262d, #526782);
  color: #fff;
  text-align: center;
}

.video-poster-fallback b {
  font-size: 11px;
  letter-spacing: .18em;
}

.video-poster-fallback small {
  color: rgba(255,255,255,.62);
}

.video-library-empty {
  margin-top: 12px;
  border-radius: 28px;
  padding: 44px 28px;
  background: #fff;
  text-align: center;
}

.video-library-empty > span {
  display: grid;
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 50%;
  place-items: center;
  background: #eef1f5;
}

.video-library-empty h2 {
  margin: 0 0 8px;
  font-size: 18px;
}

.video-library-empty p {
  margin: 0 auto;
  max-width: 360px;
  color: var(--video-muted);
  font-size: 12px;
  line-height: 1.65;
}

.video-detail-page {
  min-height: 100%;
  box-sizing: border-box;
  padding: 14px 16px calc(28px + env(safe-area-inset-bottom));
  color: var(--video-ink);
}

.video-detail-back {
  border: 0;
  padding: 8px 2px 14px;
  background: transparent;
  color: var(--video-ink);
  font-size: 13px;
  font-weight: 700;
}

.video-player-card {
  overflow: hidden;
  border-radius: 26px;
  background: #111317;
  box-shadow: 0 18px 40px rgba(20,24,31,.13);
}

.video-player-card video {
  display: block;
  width: 100%;
  max-height: 66dvh;
  background: #111317;
}

.video-detail-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}

.video-final-prompt {
  margin-top: 12px;
  border-radius: 20px;
  padding: 14px;
  background: #fff;
}

.video-final-prompt summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  font-weight: 750;
}

.video-final-prompt summary span {
  color: var(--video-muted);
  font-size: 10px;
}

.video-final-prompt p {
  margin: 12px 0 0;
  color: #454950;
  font-size: 12px;
  line-height: 1.7;
  white-space: pre-wrap;
}

.video-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.video-detail-actions button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 9px 12px;
  background: #fff;
  color: var(--video-ink);
  font-size: 12px;
  font-weight: 750;
}

.video-detail-actions button:first-child {
  background: var(--video-ink);
  color: #fff;
}

.video-detail-actions button.danger {
  color: var(--video-danger);
}

.moss-video-viewer {
  align-items: center;
  opacity: 1;
}

.moss-video-viewer > section {
  position: relative;
  width: min(760px, 100%);
  max-height: 90dvh;
  overflow: hidden;
  border-radius: 24px;
  background: #111317;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
}

.moss-video-viewer video {
  display: block;
  width: 100%;
  max-height: 90dvh;
}

.moss-video-viewer button {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  display: grid;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: rgba(255,255,255,.88);
  color: #16181b;
  font-size: 22px;
}

@media (min-width: 700px) {
  .video-draft-editor-overlay {
    align-items: center;
  }

  .video-cover-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 380px) {
  .wechat-video-draft-fields,
  .video-draft-source-grid,
  .video-generation-summary,
  .video-detail-meta {
    grid-template-columns: 1fr;
  }
}

/*# source: assets/css/cocreate.css */
.cocreate-gradient {
  background: linear-gradient(145deg, #f7fbf8, #dcefe4);
  color: #183129;
}

.cocreate-app-active {
  background: var(--moss-live-canvas, #deddd9);
}

.cocreate-shell {
  --cc-ink: #111827;
  --cc-muted: #6b7280;
  --cc-line: #e8ebee;
  --cc-green: #278866;
  --cc-green-soft: #e9f5ef;
  --cc-blue: #3979c7;
  box-sizing: border-box;
  width: min(100%, 760px);
  min-height: 100%;
  margin: 0 auto;
  padding: 16px 16px calc(32px + env(safe-area-inset-bottom));
  color: var(--cc-ink);
  background: #f4f5f6;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;
}

.cocreate-shell * {
  box-sizing: border-box;
}

.cocreate-shell button,
.cocreate-shell input,
.cocreate-shell select,
.cocreate-shell textarea {
  font: inherit;
}

.cocreate-hero {
  padding: 18px 8px 24px;
}

.cocreate-hero h1,
.cocreate-form-card h1 {
  margin: 0;
  color: var(--cc-ink);
  font-size: 30px;
  font-weight: 720;
  line-height: 1.18;
  letter-spacing: -.03em;
}

.cocreate-hero p,
.cocreate-form-card header p,
.cocreate-editor-head p {
  margin: 8px 0 0;
  color: var(--cc-muted);
  font-size: 15px;
  line-height: 1.55;
}

.cocreate-section {
  margin-bottom: 24px;
}

.cocreate-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 4px 12px;
}

.cocreate-section-title > span {
  font-size: 17px;
  font-weight: 680;
}

.cocreate-recent-card,
.cocreate-form-card,
.cocreate-lyrics-card,
.cocreate-suggestion-card,
.cocreate-talk-card,
.cocreate-recording-form,
.cocreate-player-card,
.cocreate-writing-card {
  border: 1px solid rgba(15, 23, 42, .035);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}

.cocreate-recent-card {
  display: grid;
  grid-template-columns: minmax(112px, 36%) 1fr;
  gap: 20px;
  padding: 16px;
}

.cocreate-recent-card > div:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.cocreate-recent-card small,
.cocreate-recent-card p {
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.cocreate-recent-card h2 {
  max-width: 100%;
  margin: 6px 0 3px;
  overflow: hidden;
  color: var(--cc-ink);
  font-size: 22px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cocreate-recent-card p {
  margin: 0 0 14px;
}

.cocreate-recent-card button,
.cocreate-editor-head > button:last-child,
.cocreate-head-actions button,
.cocreate-card-heading button,
.cocreate-discussion header button,
.cocreate-record-actions > button:first-child,
.cocreate-player-actions button,
.cocreate-version-card button {
  min-height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  color: #1e5d4a;
  background: var(--cc-green-soft);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: inset 0 0 0 1px rgba(39,136,102,.08);
}

.cocreate-head-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.cocreate-head-actions button {
  width: 100%;
  min-height: 32px;
  padding: 0 8px;
  border: 1px solid var(--cc-line);
  border-radius: 12px;
  color: #374151;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
}

.cocreate-head-actions button:first-child {
  border-color: transparent;
  color: #1e5d4a;
  background: var(--cc-green-soft);
}

.cocreate-head-actions button:disabled {
  opacity: .45;
}

.cocreate-cover {
  position: relative;
  display: grid;
  aspect-ratio: 1;
  overflow: hidden;
  place-items: center;
  border-radius: 24px;
  background:
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.86), transparent 24%),
    linear-gradient(145deg, #d9efe3, #dae6f5);
}

.cocreate-cover > span {
  color: rgba(25, 68, 55, .75);
  font-size: clamp(34px, 12vw, 74px);
  font-weight: 760;
  line-height: 1;
}

.cocreate-cover .cocreate-cover-avatar {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 34px;
  height: 34px;
  border: 3px solid rgba(255,255,255,.92);
  border-radius: 50%;
}

.cocreate-cover.small {
  width: 68px;
  min-width: 68px;
  border-radius: 20px;
}

.cocreate-cover.small > span {
  font-size: 27px;
}

.cocreate-cover.small .cocreate-cover-avatar {
  right: 5px;
  bottom: 5px;
  width: 22px;
  height: 22px;
  border-width: 2px;
}

.cocreate-primary-pill {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #1f7a5d;
  box-shadow: 0 1px 2px rgba(31,122,93,.18), inset 0 1px 0 rgba(255,255,255,.18);
  font-size: 14px;
  font-weight: 640;
  letter-spacing: .01em;
}

.cocreate-new-cta {
  display: flex;
  justify-content: center;
  padding: 4px 0;
}

.cocreate-tabs {
  display: flex;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: #e9ebed;
}

.cocreate-tabs button {
  min-width: 50px;
  height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  color: var(--cc-muted);
  background: transparent;
  font-size: 12px;
}

.cocreate-tabs button.active {
  color: var(--cc-ink);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15,23,42,.06);
}

.cocreate-project-list {
  display: grid;
  gap: 12px;
}

.cocreate-project-card {
  display: flex;
  width: 100%;
  min-height: 92px;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border: 0;
  border-radius: 24px;
  color: inherit;
  text-align: left;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}

.cocreate-project-card-main {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 4px;
}

.cocreate-project-card-main strong {
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cocreate-project-card-main small,
.cocreate-project-card-main em {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  color: var(--cc-muted);
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cocreate-inline-avatar {
  display: inline-flex;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  border-radius: 50%;
}

.cocreate-empty {
  padding: 28px 20px;
  border-radius: 24px;
  color: var(--cc-muted);
  text-align: center;
  background: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.6;
}

.cocreate-form-card {
  display: grid;
  gap: 24px;
  padding: 24px;
}

.cocreate-quick-form {
  gap: 20px;
}

.cocreate-quick-explain {
  padding: 16px;
  border-radius: 20px;
  color: #214f40;
  background: var(--cc-green-soft);
}

.cocreate-quick-explain strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
}

.cocreate-quick-explain p {
  margin: 0;
  color: #527064;
  font-size: 13px;
  line-height: 1.65;
}

.cocreate-secondary-pill {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(39, 136, 102, .22);
  border-radius: 999px;
  color: #1f6b52;
  background: #fff;
  font-size: 13px;
  font-weight: 620;
}

.cocreate-detail-link {
  justify-self: center;
  padding: 4px 8px;
  border: 0;
  color: var(--cc-blue);
  background: transparent;
  font-size: 12px;
}

.cocreate-quick-note {
  color: var(--cc-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.55;
}

.cocreate-form-card header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
}

.cocreate-text-back {
  align-self: flex-start;
  padding: 5px 0;
  border: 0;
  color: var(--cc-blue);
  background: transparent;
  font-size: 13px;
}

.cocreate-form-card label,
.cocreate-recording-form > label {
  display: grid;
  gap: 9px;
  color: var(--cc-ink);
  font-size: 14px;
  font-weight: 620;
}

.cocreate-form-card input,
.cocreate-form-card select,
.cocreate-form-card textarea,
.cocreate-recording-form textarea,
.cocreate-composer textarea,
.cocreate-composer select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--cc-line);
  border-radius: 20px;
  outline: none;
  color: var(--cc-ink);
  background: #f8f9fa;
  font-size: 15px;
  line-height: 1.5;
}

.cocreate-form-card textarea,
.cocreate-recording-form textarea,
.cocreate-composer textarea {
  min-height: 92px;
  resize: vertical;
}

.cocreate-form-card input:focus,
.cocreate-form-card select:focus,
.cocreate-form-card textarea:focus,
.cocreate-recording-form textarea:focus,
.cocreate-composer textarea:focus {
  border-color: rgba(39,136,102,.52);
  background: #fff;
}

.cocreate-field-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cocreate-field-heading > button {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid rgba(39,136,102,.12);
  border-radius: 999px;
  color: #1e5d4a;
  background: var(--cc-green-soft);
  font-size: 11px;
  font-weight: 600;
}

.cocreate-field-heading > button:disabled {
  opacity: .5;
}

.cocreate-vocal-field > small {
  color: var(--cc-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.55;
}

.cocreate-form-card fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.cocreate-form-card legend {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 620;
}

.cocreate-form-card fieldset > small {
  display: block;
  margin-top: 9px;
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.cocreate-choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cocreate-choice {
  position: relative;
  display: block !important;
}

.cocreate-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.cocreate-choice span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 15px;
  border: 1px solid var(--cc-line);
  border-radius: 999px;
  color: #4b5563;
  background: #fff;
  font-size: 13px;
  font-weight: 550;
}

.cocreate-choice input:checked + span {
  border-color: transparent;
  color: #1e5d4a;
  background: var(--cc-green-soft);
}

.cocreate-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.cocreate-editor {
  display: grid;
  gap: 12px;
}

.cocreate-editor-head {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 2px 0;
}

.cocreate-editor-head .cocreate-text-back {
  flex: 0 0 auto;
  padding: 6px 8px 6px 0;
  font-size: 13px;
}

.cocreate-editor-head p {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  overflow: hidden;
  font-size: 12px;
  white-space: nowrap;
}

.cocreate-editor-head p strong {
  color: #374151;
  font-size: 13px;
}

.cocreate-editor-head p span {
  overflow: hidden;
  color: var(--cc-muted);
  text-overflow: ellipsis;
}

.cocreate-alert,
.cocreate-generation-status {
  padding: 13px 16px;
  border-radius: 20px;
  color: #245b49;
  background: var(--cc-green-soft);
  font-size: 13px;
  line-height: 1.5;
}

.cocreate-alert.error {
  color: #8a3434;
  background: #fbebeb;
}

.cocreate-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 16px 8px;
}

.cocreate-card-heading > div {
  display: grid;
  gap: 3px;
}

.cocreate-card-heading small {
  color: var(--cc-muted);
  font-size: 11px;
  font-weight: 550;
  letter-spacing: .04em;
}

.cocreate-card-heading strong {
  font-size: 16px;
}

.cocreate-sections {
  display: grid;
  gap: 2px;
  padding: 0 16px 14px;
}

.cocreate-lyrics-section {
  padding: 11px 0;
  border-top: 1px solid #f0f1f2;
}

.cocreate-lyrics-section:first-child {
  border-top: 0;
}

.cocreate-lyrics-section.active .cocreate-section-name {
  color: var(--cc-green);
}

.cocreate-section-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
}

.cocreate-section-name {
  padding: 0;
  border: 0;
  color: #374151;
  background: transparent;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .08em;
}

.cocreate-section-adjust {
  padding: 4px 8px;
  border: 0;
  color: var(--cc-muted);
  background: transparent;
  font-size: 11px;
}

.cocreate-line {
  display: grid;
  width: 100%;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  margin: 0;
  padding: 5px 0;
  border: 0;
  color: #1f2937;
  text-align: left;
  background: transparent;
  font-size: 15px;
  line-height: 1.55;
  user-select: none;
  -webkit-touch-callout: none;
}

.cocreate-line-avatar {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
}

.cocreate-empty-line {
  padding: 4px 0;
  border: 0;
  color: #a0a6ad;
  background: transparent;
  font-size: 12px;
}

.cocreate-writing-card {
  position: relative;
  display: grid;
  justify-items: start;
  gap: 7px;
  overflow: hidden;
  padding: 20px;
}

.cocreate-writing-card small {
  color: var(--cc-green);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .14em;
}

.cocreate-writing-card strong {
  font-size: 17px;
  line-height: 1.35;
}

.cocreate-writing-card p {
  max-width: 560px;
  margin: 0;
  color: var(--cc-muted);
  font-size: 13px;
  line-height: 1.6;
}

.cocreate-writing-card button {
  min-height: 30px;
  margin-top: 4px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  color: #1e5d4a;
  background: var(--cc-green-soft);
  font-size: 12px;
  font-weight: 600;
}

.cocreate-writing-card i {
  width: 18px;
  height: 18px;
  margin-top: 5px;
  border: 2px solid rgba(39,136,102,.22);
  border-top-color: var(--cc-green);
  border-radius: 50%;
  animation: cocreateSpin .8s linear infinite;
}

.cocreate-suggestion-card {
  padding-bottom: 12px;
}

.cocreate-candidate {
  margin: 0 16px 8px;
  padding: 16px;
  border: 1px solid var(--cc-line);
  border-radius: 20px;
  background: #fbfcfc;
}

.cocreate-candidate small {
  color: var(--cc-muted);
  font-size: 11px;
}

.cocreate-candidate p {
  margin: 9px 0 14px;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.65;
}

.cocreate-candidate > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cocreate-candidate button,
.cocreate-composer button {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid var(--cc-line);
  border-radius: 999px;
  color: #374151;
  background: #fff;
  font-size: 11px;
  font-weight: 580;
}

.cocreate-candidate button:first-child,
.cocreate-composer button:first-child {
  border-color: transparent;
  color: #1f654f;
  background: var(--cc-green-soft);
}

.cocreate-talk-card {
  overflow: hidden;
}

.cocreate-discussions {
  display: grid;
  gap: 10px;
  max-height: 440px;
  overflow-y: auto;
  padding: 4px 16px 16px;
}

.cocreate-discussion {
  padding: 15px 16px;
  border-radius: 20px;
  background: #f6f7f8;
}

.cocreate-discussion.user {
  margin-left: 32px;
  background: #edf4fb;
}

.cocreate-discussion.assistant {
  margin-right: 18px;
  background: #f3f7f4;
}

.cocreate-discussion header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
}

.cocreate-discussion header strong {
  flex: 1;
  font-size: 13px;
}

.cocreate-discussion-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
}

.cocreate-discussion blockquote {
  margin: 0 0 10px;
  color: #17251f;
  font-size: 15px;
  font-style: normal;
  line-height: 1.6;
}

.cocreate-discussion p,
.cocreate-discussion li,
.cocreate-discussion > small {
  margin: 0;
  color: #5d6670;
  font-size: 13px;
  line-height: 1.6;
}

.cocreate-discussion ul {
  margin: 8px 0;
  padding-left: 18px;
}

.cocreate-composer {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-top: 1px solid var(--cc-line);
  background: #fff;
}

.cocreate-composer select {
  min-height: 38px;
  padding: 7px 12px;
  font-size: 13px;
}

.cocreate-composer > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cocreate-action-backdrop {
  position: fixed;
  z-index: 4000;
  display: grid;
  inset: 0;
  align-items: end;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  background: rgba(15,23,42,.28);
}

.cocreate-action-backdrop section {
  display: grid;
  width: min(100%, 520px);
  margin: 0 auto;
  gap: 7px;
  padding: 16px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 60px rgba(15,23,42,.16);
}

.cocreate-action-backdrop strong {
  padding: 5px 8px 10px;
  font-size: 15px;
}

.cocreate-action-backdrop button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  color: #24303b;
  background: #f3f4f5;
  font-size: 13px;
}

.cocreate-action-backdrop button.danger {
  color: #a43939;
}

.cocreate-recording {
  display: grid;
  gap: 16px;
}

.cocreate-generation-status {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cocreate-generation-status i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border: 2px solid rgba(39,136,102,.28);
  border-top-color: var(--cc-green);
  border-radius: 50%;
  animation: cocreateSpin .8s linear infinite;
}

@keyframes cocreateSpin {
  to { transform: rotate(360deg); }
}

.cocreate-recording-form {
  display: grid;
  gap: 20px;
  padding: 20px;
}

.cocreate-recording-form > section {
  padding: 16px;
  border-radius: 20px;
  background: #f7f8f9;
}

.cocreate-recording-form > section small {
  color: var(--cc-muted);
  font-size: 11px;
}

.cocreate-recording-form pre {
  max-height: 330px;
  margin: 12px 0 0;
  overflow: auto;
  color: #1f2937;
  font: 14px/1.8 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  white-space: pre-wrap;
}

.cocreate-switch {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
}

.cocreate-switch span {
  display: grid;
  gap: 4px;
}

.cocreate-switch small {
  color: var(--cc-muted);
  font-size: 12px;
  font-weight: 400;
}

.cocreate-switch input {
  width: 46px;
  height: 28px;
  accent-color: var(--cc-green);
}

.cocreate-record-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.cocreate-record-actions button:disabled {
  opacity: .5;
}

.cocreate-player-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 18px;
  padding: 20px;
}

.cocreate-cover.player {
  width: 104px;
}

.cocreate-player-meta {
  display: grid;
  align-content: center;
  gap: 5px;
}

.cocreate-player-meta small,
.cocreate-player-meta span {
  color: var(--cc-muted);
  font-size: 12px;
}

.cocreate-player-meta strong {
  overflow: hidden;
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cocreate-player-controls,
.cocreate-player-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 12px;
}

.cocreate-player-controls > button {
  min-width: 56px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--cc-green);
  font-size: 12px;
  font-weight: 620;
}

.cocreate-player-controls input {
  min-width: 80px;
  flex: 1;
  accent-color: var(--cc-green);
}

.cocreate-player-controls span {
  min-width: 76px;
  color: var(--cc-muted);
  font-size: 11px;
}

.cocreate-player-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cocreate-version-list {
  display: grid;
  gap: 12px;
}

.cocreate-version-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid transparent;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15,23,42,.05);
}

.cocreate-version-card.current {
  border-color: rgba(39,136,102,.2);
}

.cocreate-version-card > div {
  display: grid;
  gap: 4px;
}

.cocreate-version-card > div:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-items: end;
  justify-content: flex-end;
  gap: 6px;
}

.cocreate-version-card small,
.cocreate-version-card span {
  color: var(--cc-muted);
  font-size: 12px;
}

.cocreate-version-card em {
  color: var(--cc-green);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.wechat-cocreate-card {
  display: grid;
  width: min(292px, 74vw);
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(15,23,42,.055);
  border-radius: 20px;
  color: #111827;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15,23,42,.05);
}

.wechat-cocreate-cover {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 17px;
  color: #27614f;
  background:
    radial-gradient(circle at 75% 20%, rgba(255,255,255,.82), transparent 26%),
    linear-gradient(145deg, #dbeee3, #dce7f3);
  font-size: 25px;
  font-weight: 740;
}

.wechat-cocreate-main {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.wechat-cocreate-main small,
.wechat-cocreate-main p,
.wechat-cocreate-main em {
  margin: 0;
  overflow: hidden;
  color: #707780;
  font-size: 10px;
  font-style: normal;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wechat-cocreate-main strong {
  overflow: hidden;
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wechat-cocreate-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid #eff1f2;
}

.wechat-cocreate-actions button {
  min-height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  color: #285b4a;
  background: #eaf5ef;
  font-size: 10px;
  font-weight: 600;
}

@media (max-width: 520px) {
  .cocreate-form-card {
    padding: 20px 16px;
  }

  .cocreate-form-grid {
    grid-template-columns: 1fr;
  }

  .cocreate-recent-card {
    grid-template-columns: 104px 1fr;
    gap: 15px;
  }

  .cocreate-editor-head {
    gap: 10px;
  }

  .cocreate-player-card {
    grid-template-columns: 82px minmax(0, 1fr);
    padding: 16px;
  }

  .cocreate-cover.player {
    width: 82px;
  }

  .cocreate-player-controls {
    flex-wrap: wrap;
  }

  .cocreate-player-controls input {
    order: 3;
    width: 100%;
    flex-basis: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cocreate-generation-status i {
    animation: none;
  }
}

/* 头部工具区与作品删除按钮：精绀口径，不与主操作争抢视觉重量 */
.cocreate-head-tools {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.cocreate-head-tools > button {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--cc-line);
  border-radius: 999px;
  color: #374151;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
}

.cocreate-icon-button {
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #93a0ad;
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  transition: color .14s ease, background .14s ease, border-color .14s ease;
}

.cocreate-icon-button:hover,
.cocreate-icon-button:focus-visible {
  color: #8a3434;
  background: #fbebeb;
  outline: none;
}

.cocreate-delete-entry {
  border-color: rgba(138,52,52,.12);
  color: #8a3434;
  background: rgba(251,235,235,.55);
}

.cocreate-delete-entry:hover,
.cocreate-delete-entry:focus-visible {
  border-color: rgba(138,52,52,.34);
  color: #6c2828;
  background: #f8dede;
}

/*# source: assets/css/phone-system-v3.css */
/* Moss Phone System V3 · 464.9.168 — Living Editorial / Warm Canvas */
:root {
  --pv3-canvas: var(--moss-live-canvas, #deddd9);
  --pv3-paper: var(--moss-live-paper, #f8f7f4);
  --pv3-ink: var(--moss-live-ink, #181817);
  --pv3-muted: var(--moss-live-muted, #77756f);
  --pv3-line: var(--moss-live-line, rgba(31, 30, 28, .09));
  --pv3-violet-wash: #f5f0ff;
  --pv3-violet: #38296c;
  --pv3-teal-wash: #defafe;
  --pv3-teal: #004d60;
  --pv3-amber-wash: #fff6e1;
  --pv3-amber: #6c4800;
  --pv3-apricot-wash: #fff1ec;
  --pv3-plum: #46122d;
  --pv3-shadow: 0 8px 24px rgba(23, 22, 24, .065);
}

.app-body:has(.phone-v3-entry),
.app-body:has(.phone-v3-auth),
.app-body:has(.phone-v3-finish) {
  background: var(--pv3-canvas);
}

.phone-v3-entry,
.phone-v3-auth,
.phone-v3-finish {
  box-sizing: border-box;
  min-height: 100%;
  padding: 24px 18px calc(34px + env(safe-area-inset-bottom));
  background: var(--pv3-canvas);
  color: var(--pv3-ink);
  font-family: var(--moss-live-font-sans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.phone-v3-entry button,
.phone-v3-auth button,
.phone-runtime button,
.phone-v3-finish button {
  font: inherit;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

.phone-v3-entry-head {
  padding: 10px 2px 5px;
}

.phone-v3-kicker,
.phone-v3-auth-head > div > span,
.phone-v3-finish header > span {
  display: block;
  margin-bottom: 9px;
  color: var(--pv3-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.phone-v3-entry-head h1,
.phone-v3-auth-head h1,
.phone-v3-finish h1 {
  margin: 0;
  font-family: var(--moss-live-font-serif, "Songti SC", "STSong", serif);
  font-size: clamp(20px, 5.8vw, 22px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}

.phone-v3-entry-head p,
.phone-v3-auth-head p,
.phone-v3-finish header p {
  margin: 12px 0 0;
  max-width: 560px;
  color: var(--pv3-muted);
  font-size: 14px;
  line-height: 1.65;
}

.phone-v3-mode-tabs {
  position: sticky;
  top: -1px;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 16px 0 12px;
  padding: 5px;
  border: 1px solid rgba(32, 29, 35, .055);
  border-radius: 22px;
  background: rgba(239, 238, 241, .88);
  box-shadow: 0 7px 22px rgba(32, 29, 35, .05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.phone-v3-mode-tabs button {
  min-width: 0;
  padding: 12px 10px 11px;
  border: 0;
  border-radius: 17px;
  background: transparent;
  text-align: left;
}

.phone-v3-mode-tabs button.is-active {
  background: var(--pv3-paper);
  box-shadow: 0 6px 18px rgba(29, 26, 32, .09);
}

.phone-v3-mode-tabs strong,
.phone-v3-mode-tabs small {
  display: block;
}

.phone-v3-mode-tabs strong {
  font-size: 13px;
  font-weight: 750;
}

.phone-v3-mode-tabs small {
  margin-top: 3px;
  color: var(--pv3-muted);
  font-size: 10px;
}

.phone-v3-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 20px;
  background: var(--pv3-paper);
  box-shadow: 0 8px 24px rgba(30, 27, 33, .045);
}

.phone-v3-search:focus-within {
  border-color: var(--pv3-ink);
}

.phone-v3-search svg {
  width: 20px;
  color: var(--pv3-muted);
}

.phone-v3-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--pv3-ink);
  font-size: 15px;
}

.phone-v3-notice {
  margin: 12px 0;
  padding: 11px 14px;
  border-radius: 16px;
  background: var(--pv3-teal-wash);
  color: var(--pv3-teal);
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.phone-v3-notice.is-error {
  background: #f8e7e5;
  color: #853b37;
}

.phone-v3-role-section {
  margin-top: 25px;
}

.phone-v3-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 3px 10px;
}

.phone-v3-section-title strong {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.02em;
}

.phone-v3-section-title small {
  color: #aaa6ae;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
}

.phone-v3-role-list {
  display: grid;
  gap: 9px;
}

.phone-v3-role-card-shell {
  position: relative;
  min-width: 0;
}

.phone-v3-role-card {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 84px;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 20px;
  background: var(--pv3-paper);
  box-shadow: 0 7px 24px rgba(29, 26, 32, .045);
  text-align: left;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
  touch-action: manipulation;
}

.phone-v3-role-card:active {
  transform: scale(.985);
}

.phone-v3-role-card.is-pressing {
  transform: scale(.982);
  box-shadow: 0 4px 14px rgba(23, 22, 24, .08);
}

.phone-v3-role-menu {
  position: absolute;
  top: 50%;
  right: 9px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: #f7f7f7;
  color: #727578;
  touch-action: manipulation;
}

.phone-v3-role-menu:active {
  background: var(--pv3-violet-wash);
  color: var(--pv3-violet);
}

.phone-v3-role-menu svg {
  width: 17px;
  height: 17px;
}

.phone-v3-role-card.is-stale {
  border-color: #e5d4ae;
}

.phone-v3-role-avatar,
.phone-v3-avatar-fallback {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px;
  overflow: hidden;
  border-radius: 18px !important;
  background: var(--pv3-violet-wash);
  object-fit: cover;
}

.phone-v3-avatar-fallback {
  display: grid;
  place-items: center;
  color: var(--pv3-violet);
  font-size: 20px;
  font-weight: 800;
}

.phone-v3-role-copy,
.phone-v3-role-copy > span,
.phone-v3-role-copy > small {
  display: block;
  min-width: 0;
}

.phone-v3-role-top {
  display: flex !important;
  align-items: center;
  gap: 7px;
}

.phone-v3-role-top strong {
  overflow: hidden;
  font-size: 15px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-role-top em {
  flex: 0 1 auto;
  overflow: hidden;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--pv3-violet-wash);
  color: var(--pv3-violet);
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-role-copy > span:not(.phone-v3-role-top) {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 650;
}

.phone-v3-role-copy > small {
  margin-top: 2px;
  overflow: hidden;
  color: var(--pv3-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-role-arrow svg {
  width: 20px;
  color: #9d99a2;
}

.phone-v3-longpress-hint,
.phone-v3-boundary-note {
  margin: 20px 3px 0;
  color: #9b979f;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}

.phone-v3-empty-state {
  padding: 28px 18px;
  border: 1px dashed #ddd9df;
  border-radius: 20px;
  text-align: center;
}

.phone-v3-empty-state strong,
.phone-v3-empty-state small {
  display: block;
}

.phone-v3-empty-state small {
  margin-top: 5px;
  color: var(--pv3-muted);
}

.phone-v3-sheet-backdrop,
.phone-v3-reaction-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147482100;
  background: rgba(19, 17, 22, .22);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.phone-v3-sheet,
.phone-v3-reaction-panel {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147482200;
  box-sizing: border-box;
  max-height: min(82dvh, 760px);
  padding: 8px 16px calc(14px + env(safe-area-inset-bottom));
  overflow: auto;
  border-radius: 27px 27px 0 0;
  background: var(--pv3-paper);
  box-shadow: 0 -16px 50px rgba(26, 22, 31, .16);
  animation: pv3-sheet-up .24s ease both;
}

.phone-v3-sheet-grabber {
  width: 38px;
  height: 4px;
  margin: 2px auto 13px;
  border-radius: 999px;
  background: #d9d6dc;
}

.phone-v3-sheet header {
  padding: 0 4px 13px;
}

.phone-v3-sheet header strong,
.phone-v3-sheet header small {
  display: block;
}

.phone-v3-sheet header strong {
  font-size: 18px;
  font-weight: 800;
}

.phone-v3-sheet header small {
  margin-top: 4px;
  color: var(--pv3-muted);
  font-size: 11px;
  line-height: 1.5;
}

.phone-v3-sheet > button {
  display: block;
  width: 100%;
  padding: 15px 12px;
  border: 0;
  border-top: 1px solid var(--pv3-line);
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
}

.phone-v3-sheet > button.is-danger {
  color: #a6403d;
}

.phone-v3-sheet > button.is-cancel {
  margin-top: 7px;
  border: 0;
  border-radius: 17px;
  background: #f2f1f3;
  text-align: center;
}

.phone-v3-wallpaper-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.phone-v3-wallpaper-choice {
  padding: 7px;
  border: 1px solid var(--pv3-line);
  border-radius: 17px;
  background: #fff;
  text-align: left;
}

.phone-v3-wallpaper-choice span {
  display: block;
  height: 92px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
}

.phone-v3-wallpaper-choice strong {
  display: block;
  padding: 8px 3px 2px;
  font-size: 11px;
}

.phone-v3-wallpaper-choice.is-warm span { background: #dbdad7; }
.phone-v3-wallpaper-choice.is-violet span { background: #c9c5c0; }
.phone-v3-wallpaper-choice.is-teal span { background: #d7ddd5; }
.phone-v3-wallpaper-choice.is-night span { background: #18181b; }

.phone-v3-history-list {
  display: grid;
  gap: 9px;
  max-height: 58dvh;
  overflow: auto;
}

.phone-v3-history-list article {
  padding: 13px;
  border-radius: 17px;
  background: var(--pv3-canvas);
}

.phone-v3-history-list article > span {
  float: right;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--pv3-teal-wash);
  color: var(--pv3-teal);
  font-size: 9px;
}

.phone-v3-history-list article > span.is-failed,
.phone-v3-history-list article > span.is-partial {
  background: #f8e7e5;
  color: #853b37;
}

.phone-v3-history-list article > strong,
.phone-v3-history-list article > small {
  display: block;
}

.phone-v3-history-list article > small {
  margin-top: 3px;
  color: var(--pv3-muted);
  font-size: 10px;
}

.phone-v3-history-list article p {
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid #e5e2e7;
  color: #5e5962;
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.phone-v3-empty-copy {
  color: var(--pv3-muted);
  text-align: center;
}

.phone-v3-text-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 18px -7px;
  padding: 7px;
  border: 0;
  background: transparent;
  color: #5f5a63;
  font-size: 12px;
}

.phone-v3-text-back svg {
  width: 18px;
}

.phone-v3-auth-head {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.phone-v3-auth-head .phone-v3-role-avatar {
  width: 64px !important;
  height: 64px !important;
}

.phone-v3-auth-head h1 {
  font-size: clamp(23px, 6.6vw, 31px);
}

.phone-v3-auth-head p {
  margin-top: 8px;
  font-size: 12px;
}

.phone-v3-summary-card,
.phone-v3-permission-card,
.phone-v3-finish-card {
  margin-top: 18px;
  padding: 17px;
  border-radius: 20px;
  background: var(--pv3-paper);
  box-shadow: var(--pv3-shadow);
}

.phone-v3-summary-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.phone-v3-summary-card > div strong {
  font-size: 16px;
}

.phone-v3-summary-card > div span {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--pv3-violet-wash);
  color: var(--pv3-violet);
  font-size: 10px;
}

.phone-v3-summary-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0 0;
}

.phone-v3-summary-card dl div {
  min-width: 0;
}

.phone-v3-summary-card dt,
.phone-v3-summary-card dd {
  margin: 0;
}

.phone-v3-summary-card dt {
  color: var(--pv3-muted);
  font-size: 9px;
}

.phone-v3-summary-card dd {
  margin-top: 3px;
  overflow: hidden;
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-permission-card {
  padding: 16px 13px;
}

.phone-v3-permission-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 4px 13px;
}

.phone-v3-permission-card > header strong,
.phone-v3-permission-card > header small {
  display: block;
}

.phone-v3-permission-card > header strong {
  font-size: 15px;
}

.phone-v3-permission-card > header small {
  margin-top: 2px;
  color: var(--pv3-muted);
  font-size: 10px;
}

.phone-v3-permission-card > header button,
.phone-v3-permission-title button {
  padding: 6px 8px;
  border: 0;
  background: transparent;
  color: var(--pv3-violet);
  font-size: 10px;
}

.phone-v3-permission-group {
  padding: 13px 0 3px;
  border-top: 1px solid var(--pv3-line);
}

.phone-v3-permission-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px 8px;
}

.phone-v3-pill,
.phone-v3-source-label,
.phone-v3-reaction-head span,
.phone-v3-finish-card > span {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 650;
}

.phone-v3-pill.is-communication { background: var(--pv3-teal-wash); color: var(--pv3-teal); }
.phone-v3-pill.is-private { background: var(--pv3-violet-wash); color: var(--pv3-violet); }
.phone-v3-pill.is-life { background: var(--pv3-amber-wash); color: var(--pv3-amber); }
.phone-v3-pill.is-media { background: var(--pv3-apricot-wash); color: var(--pv3-plum); }

.phone-v3-permission-list {
  display: grid;
}

.phone-v3-permission-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 8px 2px;
  border-top: 1px solid #f1eff2;
}

.phone-v3-permission-row:first-child {
  border-top: 0;
}

.phone-v3-permission-row > span:not(.phone-v3-icon) {
  min-width: 0;
}

.phone-v3-permission-row strong,
.phone-v3-permission-row small,
.phone-v3-permission-row em {
  display: block;
}

.phone-v3-permission-row strong {
  font-size: 13px;
}

.phone-v3-permission-row small,
.phone-v3-permission-row em {
  margin-top: 2px;
  overflow: hidden;
  color: var(--pv3-muted);
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-permission-row em {
  color: #a19da4;
}

.phone-v3-permission-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.phone-v3-permission-row > i {
  position: relative;
  display: block;
  width: 40px;
  height: 23px;
  border-radius: 999px;
  background: #d9d7db;
  transition: background .18s ease;
}

.phone-v3-permission-row > i::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 7px rgba(29, 26, 32, .2);
  transition: transform .18s ease;
}

.phone-v3-permission-row.is-enabled > i {
  background: var(--pv3-ink);
}

.phone-v3-permission-row.is-enabled > i::after {
  transform: translateX(17px);
}

.phone-v3-auth-actions {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.phone-v3-primary-button,
.phone-v3-secondary-button {
  width: 100%;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 18px;
  font-size: 13px;
  font-weight: 750;
}

.phone-v3-primary-button {
  border: 1px solid var(--pv3-ink);
  background: var(--pv3-ink);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(25, 24, 27, .18);
}

.phone-v3-secondary-button {
  border: 1px solid #d8d5da;
  background: transparent;
  color: var(--pv3-ink);
}

.phone-v3-primary-button:disabled,
.phone-v3-secondary-button:disabled {
  opacity: .55;
}

.phone-v3-icon {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  box-shadow: 0 7px 18px rgba(26, 22, 31, .075), inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.phone-v3-icon svg {
  width: 27px;
  height: 27px;
}

.phone-v3-icon--communication { background: var(--pv3-teal-wash); color: var(--pv3-teal); }
.phone-v3-icon--private { background: var(--pv3-violet-wash); color: var(--pv3-violet); }
.phone-v3-icon--life { background: var(--pv3-amber-wash); color: var(--pv3-amber); }
.phone-v3-icon--media { background: var(--pv3-apricot-wash); color: var(--pv3-plum); }
.phone-v3-permission-row .phone-v3-icon { width: 42px; height: 42px; border-radius: 13px; box-shadow: none; }
.phone-v3-permission-row .phone-v3-icon svg { width: 22px; height: 22px; }

.app-screen.phone-v3-runtime-open > .app-topbar {
  display: none !important;
}

.app-screen.phone-v3-runtime-open > .app-body {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147481000 !important;
  width: 100% !important;
  height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #171618 !important;
}

.phone-runtime {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #171618;
  color: #fff;
  font-family: var(--moss-live-font-sans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  isolation: isolate;
  touch-action: pan-y;
}

.phone-v3-wallpaper,
.phone-v3-wallpaper-wash {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-position: center;
  background-size: cover;
}

.phone-v3-wallpaper.is-warm { background: #dbdad7; }
.phone-v3-wallpaper.is-violet { background: #c9c5c0; }
.phone-v3-wallpaper.is-teal { background: #d7ddd5; }
.phone-v3-wallpaper.is-night { background: #18181b; }

.phone-v3-wallpaper-wash {
  z-index: -1;
  background: rgba(8, 8, 10, .16);
}

.phone-v3-statusbar {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 28px;
  padding: calc(env(safe-area-inset-top) + 5px) 18px 0;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.28);
}

.phone-v3-statusbar.is-dark {
  color: var(--pv3-ink);
  text-shadow: none;
}

.phone-v3-statusbar strong {
  font-size: 12px;
  font-weight: 750;
}

.phone-v3-statusbar > span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.phone-v3-statusbar em {
  max-width: 116px;
  overflow: hidden;
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-statusbar svg {
  width: 66px;
  height: 18px;
}

.phone-v3-home-indicator {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  width: 100%;
  height: calc(20px + env(safe-area-inset-bottom));
  padding: 0 0 env(safe-area-inset-bottom);
  border: 0;
  background: transparent;
}

.phone-v3-home-indicator span {
  width: min(34vw, 132px);
  height: 5px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

.phone-v3-lock-clock {
  margin-top: clamp(32px, 7dvh, 70px);
  text-align: center;
  text-shadow: 0 2px 14px rgba(0,0,0,.3);
}

.phone-v3-lock-clock > span,
.phone-v3-lock-clock strong,
.phone-v3-lock-clock small {
  display: block;
}

.phone-v3-lock-clock > span {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-size: clamp(64px, 20vw, 94px);
  font-weight: 250;
  line-height: 1;
  letter-spacing: -.065em;
}

.phone-v3-lock-clock strong {
  margin-top: 5px;
  font-size: 15px;
  font-weight: 600;
}

.phone-v3-lock-clock small {
  margin-top: 5px;
  font-size: 10px;
  opacity: .82;
}

.phone-v3-lock-notifications {
  display: grid;
  gap: 8px;
  width: min(90vw, 460px);
  margin: clamp(28px, 6dvh, 60px) auto 0;
}

.phone-v3-lock-notifications > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 19px;
  background: rgba(255,255,255,.72);
  color: #252128;
  box-shadow: 0 8px 24px rgba(8,8,10,.12);
  text-align: left;
  backdrop-filter: blur(18px) saturate(1.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
}

.phone-v3-lock-notifications .phone-v3-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  box-shadow: none;
}

.phone-v3-lock-notifications .phone-v3-icon svg { width: 18px; }
.phone-v3-lock-notifications strong,
.phone-v3-lock-notifications small,
.phone-v3-lock-notifications p { display: block; margin: 0; }
.phone-v3-lock-notifications strong { float: left; font-size: 10px; }
.phone-v3-lock-notifications small { float: right; max-width: 60%; overflow: hidden; color: #6e6871; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.phone-v3-lock-notifications p { clear: both; padding-top: 3px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.phone-v3-unlock {
  position: absolute;
  right: 0;
  bottom: calc(28px + env(safe-area-inset-bottom));
  left: 0;
  display: grid;
  justify-items: center;
  gap: 1px;
  margin: auto;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 10px;
  text-shadow: 0 1px 5px rgba(0,0,0,.4);
  animation: pv3-unlock-float 1.8s ease-in-out infinite;
}

.phone-v3-unlock svg { width: 20px; }

.phone-v3-pages {
  position: absolute;
  inset: calc(env(safe-area-inset-top) + 40px) 0 calc(132px + env(safe-area-inset-bottom));
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

.phone-v3-pages::-webkit-scrollbar { display: none; }

.phone-v3-page {
  box-sizing: border-box;
  flex: 0 0 100%;
  width: 100%;
  padding: 8px 18px 12px;
  overflow-y: auto;
  scroll-snap-align: start;
}

.phone-v3-clock-widget {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 16px;
  width: 100%;
  min-height: 116px;
  margin-bottom: 16px;
  padding: 17px 20px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  color: #272329;
  box-shadow: 0 12px 32px rgba(10,8,13,.12);
  text-align: left;
  backdrop-filter: blur(20px) saturate(1.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.08);
}

.phone-v3-clock-widget > span {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-size: clamp(38px, 12vw, 56px);
  font-weight: 300;
  line-height: .9;
  letter-spacing: -.06em;
}

.phone-v3-clock-widget div {
  min-width: 0;
}

.phone-v3-clock-widget strong,
.phone-v3-clock-widget small,
.phone-v3-clock-widget em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-clock-widget strong { font-size: 11px; }
.phone-v3-clock-widget small { margin-top: 4px; color: #767078; font-size: 9px; }
.phone-v3-clock-widget em { margin-top: 8px; color: var(--pv3-violet); font-size: 10px; font-style: normal; font-weight: 650; }

.phone-v3-page-heading {
  min-height: 116px;
  padding: 22px 6px;
  text-shadow: 0 1px 7px rgba(0,0,0,.3);
}

.phone-v3-page-heading strong,
.phone-v3-page-heading small { display: block; }
.phone-v3-page-heading strong { font-size: 25px; font-weight: 800; letter-spacing: -.04em; }
.phone-v3-page-heading small { margin-top: 4px; font-size: 10px; opacity: .8; }

.phone-v3-app-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 17px 9px;
}

.phone-v3-app-icon {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  text-shadow: 0 1px 5px rgba(0,0,0,.4);
  transition: transform .14s ease, opacity .14s ease;
}

.phone-v3-app-icon:active {
  transform: scale(.94);
}

.phone-v3-app-icon small {
  display: block;
  width: 100%;
  overflow: hidden;
  font-size: 10px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phone-v3-app-icon > b {
  position: absolute;
  top: -5px;
  left: calc(50% + 12px);
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 999px;
  background: #a94642;
  color: #fff;
  font-size: 8px;
  line-height: 1;
  text-shadow: none;
}

.phone-v3-app-icon.is-locked {
  opacity: .35;
  filter: grayscale(.4);
}

.phone-v3-app-icon.is-pulsing .phone-v3-icon {
  animation: pv3-icon-pulse .72s ease-in-out infinite;
}

.phone-v3-page-dots {
  position: absolute;
  right: 0;
  bottom: calc(108px + env(safe-area-inset-bottom));
  left: 0;
  display: flex;
  justify-content: center;
  gap: 5px;
}

.phone-v3-page-dots i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
}

.phone-v3-page-dots i.is-active { background: #fff; }

.phone-v3-dock {
  position: absolute;
  right: 14px;
  bottom: calc(28px + env(safe-area-inset-bottom));
  left: 14px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  min-height: 76px;
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 27px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 14px 38px rgba(7,7,9,.18);
  backdrop-filter: blur(24px) saturate(1.1);
  -webkit-backdrop-filter: blur(24px) saturate(1.1);
}

.phone-v3-dock .phone-v3-icon {
  width: 54px;
  height: 54px;
}

.phone-v3-runtime-toast {
  position: absolute;
  right: 24px;
  bottom: calc(118px + env(safe-area-inset-bottom));
  left: 24px;
  z-index: 80;
  padding: 11px 14px;
  border-radius: 999px;
  background: rgba(24,22,26,.88);
  color: #fff;
  font-size: 11px;
  text-align: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.phone-v3-viewing-pill {
  position: absolute;
  top: calc(env(safe-area-inset-top) + 37px);
  left: 50%;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 70vw;
  min-height: 28px;
  padding: 0 12px;
  overflow: hidden;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: var(--pv3-violet);
  box-shadow: 0 6px 18px rgba(25,22,29,.1);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
  animation: pv3-viewing-collapse .32s ease 3s forwards;
}

.phone-v3-viewing-pill span {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pv3-violet);
}

.phone-v3-native-app {
  background: var(--pv3-canvas);
  color: var(--pv3-ink);
  animation: pv3-app-open .24s cubic-bezier(.2,.78,.25,1) both;
}

.phone-v3-native-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 50px;
  align-items: center;
  gap: 8px;
  min-height: 66px;
  padding: 6px 14px 7px;
  border-bottom: 1px solid var(--pv3-line);
  background: rgba(247,247,247,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.phone-v3-native-head > button:first-child {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 5px 16px rgba(29,26,32,.07);
}

.phone-v3-native-head > button:first-child svg { width: 21px; }

.phone-v3-native-head > div {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.phone-v3-native-head .phone-v3-icon { width: 42px; height: 42px; border-radius: 13px; box-shadow: none; }
.phone-v3-native-head .phone-v3-icon svg { width: 22px; }
.phone-v3-native-head strong,
.phone-v3-native-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-v3-native-head strong { font-size: 15px; }
.phone-v3-native-head small { margin-top: 2px; color: var(--pv3-muted); font-size: 9px; }

.phone-v3-refresh-app {
  padding: 8px 9px;
  border: 1px solid #d9d6dc;
  border-radius: 12px;
  background: #fff;
  font-size: 10px;
}

.phone-v3-native-content,
.phone-v3-detail-content {
  box-sizing: border-box;
  height: calc(100dvh - env(safe-area-inset-top) - 99px);
  padding: 14px 14px calc(34px + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
}

.phone-v3-record-card {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 16px;
  border: 0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(29,26,32,.045);
  text-align: left;
  transition: transform .14s ease;
}

.phone-v3-record-card:active { transform: scale(.987); }
.phone-v3-record-card > strong,
.phone-v3-record-card > small,
.phone-v3-record-card > p,
.phone-v3-record-card > em { display: block; }
.phone-v3-record-card > strong { margin-top: 9px; font-size: 15px; }
.phone-v3-record-card > small { margin-top: 3px; color: var(--pv3-muted); font-size: 10px; }
.phone-v3-record-card > p { margin: 9px 0 0; color: #49454c; font-size: 12px; line-height: 1.58; }
.phone-v3-record-card > em { margin-top: 9px; color: var(--pv3-violet); font-size: 9px; font-style: normal; }
.phone-v3-record-card > b { position: absolute; right: 16px; bottom: 15px; font-size: 12px; }

.phone-v3-source-label { background: #f1f0f2; color: #69646c; }
.phone-v3-source-label.is-moss_real { background: var(--pv3-teal-wash); color: var(--pv3-teal); }
.phone-v3-source-label.is-manual,
.phone-v3-source-label.is-saved_private { background: var(--pv3-violet-wash); color: var(--pv3-violet); }
.phone-v3-source-label.is-ai_incremental,
.phone-v3-source-label.is-user_simulated { background: var(--pv3-amber-wash); color: var(--pv3-amber); }

.phone-v3-empty-app {
  display: grid;
  justify-items: center;
  padding: 18dvh 28px 0;
  text-align: center;
}

.phone-v3-empty-app strong { margin-top: 14px; font-size: 17px; }
.phone-v3-empty-app p { max-width: 320px; margin: 8px 0 0; color: var(--pv3-muted); font-size: 11px; line-height: 1.6; }

.phone-v3-detail-content > h2 { margin: 16px 0 0; font-size: 19px; }
.phone-v3-detail-content > p { margin: 13px 0 0; white-space: pre-wrap; font-size: 14px; line-height: 1.72; }
.phone-v3-detail-content > dl { margin: 20px 0 0; padding: 14px; border-radius: 17px; background: #fff; }
.phone-v3-detail-content > dl div { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 8px; padding: 7px 0; border-top: 1px solid var(--pv3-line); }
.phone-v3-detail-content > dl div:first-child { border-top: 0; }
.phone-v3-detail-content dt,
.phone-v3-detail-content dd { margin: 0; font-size: 10px; overflow-wrap: anywhere; }
.phone-v3-detail-content dt { color: var(--pv3-muted); }

.phone-v3-thread {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding: 14px;
  border-radius: 20px;
  background: #efedf0;
}

.phone-v3-thread > div { display: flex; justify-content: flex-start; }
.phone-v3-thread span { max-width: 78%; padding: 9px 12px; border-radius: 16px 16px 16px 5px; background: #fff; font-size: 11px; line-height: 1.55; }
.phone-v3-thread .is-owner span { border-radius: 16px 16px 5px 16px; background: var(--pv3-teal-wash); }
.phone-v3-thread .is-system span { margin: auto; background: transparent; color: var(--pv3-muted); font-size: 9px; }

.phone-v3-reaction-panel {
  max-height: 72dvh;
  padding: 12px 18px calc(18px + env(safe-area-inset-bottom));
  color: var(--pv3-ink);
}

.phone-v3-reaction-head {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.phone-v3-reaction-head .phone-v3-role-avatar { width: 44px !important; height: 44px !important; border-radius: 14px !important; }
.phone-v3-reaction-head span { background: var(--pv3-violet-wash); color: var(--pv3-violet); }
.phone-v3-reaction-head strong { display: block; margin-top: 4px; font-size: 14px; }
.phone-v3-thought,
.phone-v3-spoken { margin: 10px 0; font-size: 13px; line-height: 1.62; }
.phone-v3-thought { color: #55505a; }
.phone-v3-spoken { font-weight: 600; }
.phone-v3-reaction-panel .phone-v3-primary-button { margin-top: 15px; }
.phone-v3-reaction-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 6px; }
.phone-v3-reaction-secondary button { padding: 10px 4px; border: 0; background: transparent; color: var(--pv3-muted); font-size: 10px; }

.phone-v3-finish {
  display: grid;
  align-content: start;
  min-height: 100%;
}

.phone-v3-finish header { padding: 18px 3px 0; }
.phone-v3-finish header .phone-v3-role-avatar { width: 62px !important; height: 62px !important; margin-bottom: 17px; }
.phone-v3-finish-card > span { background: var(--pv3-violet-wash); color: var(--pv3-violet); }
.phone-v3-finish-card > h2 { margin: 13px 0 0; font-size: 18px; line-height: 1.45; }
.phone-v3-finish-card > p { margin: 10px 0 0; color: #5c5760; font-size: 12px; line-height: 1.65; }
.phone-v3-finish-card > div { margin-top: 16px; padding: 12px; border-radius: 15px; background: var(--pv3-canvas); }
.phone-v3-finish-card > div strong { font-size: 10px; }
.phone-v3-finish-card > div p { margin: 7px 0 0; font-size: 11px; }
.phone-v3-finish-card dl { margin: 18px 0 0; }
.phone-v3-finish-card dt { margin-top: 11px; color: var(--pv3-muted); font-size: 9px; }
.phone-v3-finish-card dd { margin: 4px 0 0; font-size: 11px; line-height: 1.55; }
.phone-v3-finish > .phone-v3-secondary-button { margin-top: 14px; }
.phone-v3-finish > .phone-v3-primary-button { margin-top: 10px; }

/* Cycle compact-density pass — shared by character phone and reverse phone. */
.phone-v3-entry,
.phone-v3-auth,
.phone-v3-finish {
  padding: 16px 12px calc(26px + env(safe-area-inset-bottom));
}

.phone-v3-entry-head { padding: 4px 2px 2px; }
.phone-v3-kicker,
.phone-v3-auth-head > div > span,
.phone-v3-finish header > span { margin-bottom: 6px; font-size: 9px; }
.phone-v3-entry-head h1,
.phone-v3-auth-head h1,
.phone-v3-finish h1 { font-size: clamp(24px, 6.8vw, 30px); }
.phone-v3-entry-head p,
.phone-v3-auth-head p,
.phone-v3-finish header p { margin-top: 7px; font-size: 12px; line-height: 1.48; }
.phone-v3-mode-tabs { margin: 13px 0 9px; padding: 4px; border: 0; border-radius: 20px; }
.phone-v3-mode-tabs button { padding: 9px 10px 8px; border-radius: 16px; }
.phone-v3-mode-tabs strong { font-size: 12px; }
.phone-v3-mode-tabs small { margin-top: 2px; font-size: 9px; }
.phone-v3-search { min-height: 44px; padding: 0 13px; border-radius: 20px; }
.phone-v3-search svg { width: 18px; }
.phone-v3-search input { font-size: 13px; }
.phone-v3-notice { margin: 8px 0; padding: 9px 12px; font-size: 11px; line-height: 1.42; }
.phone-v3-role-section { margin-top: 15px; }
.phone-v3-section-title { margin-bottom: 7px; }
.phone-v3-section-title strong { font-size: 16px; }
.phone-v3-role-list { gap: 7px; }
.phone-v3-role-card {
  grid-template-columns: 48px minmax(0, 1fr) 17px;
  gap: 10px;
  min-height: 70px;
  padding: 10px 49px 10px 10px;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 5px 18px rgba(23, 22, 24, .045);
  touch-action: pan-y;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}
.phone-v3-role-avatar,
.phone-v3-avatar-fallback { width: 48px !important; height: 48px !important; min-width: 48px; border-radius: 16px !important; }
.phone-v3-role-top strong { font-size: 14px; }
.phone-v3-role-copy > span:not(.phone-v3-role-top) { margin-top: 3px; font-size: 11px; }
.phone-v3-role-copy > small { margin-top: 1px; font-size: 9px; }
.phone-v3-role-arrow { transform: translateX(-1px); }
.phone-v3-role-arrow svg { width: 16px; }
.phone-v3-longpress-hint,
.phone-v3-boundary-note { margin-top: 12px; font-size: 9px; line-height: 1.45; }

.phone-v3-text-back { margin-bottom: 10px; }
.phone-v3-auth-head { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; }
.phone-v3-auth-head .phone-v3-role-avatar { width: 52px !important; height: 52px !important; }
.phone-v3-summary-card,
.phone-v3-permission-card,
.phone-v3-finish-card { margin-top: 12px; padding: 13px; border-radius: 20px; }
.phone-v3-summary-card dl { gap: 8px; margin-top: 10px; }
.phone-v3-permission-card { padding: 11px 10px; }
.phone-v3-permission-card > header { padding: 1px 2px 8px; }
.phone-v3-permission-group { padding: 9px 0 1px; }
.phone-v3-permission-title { padding-bottom: 5px; }
.phone-v3-permission-row { grid-template-columns: 36px minmax(0, 1fr) 38px; gap: 8px; min-height: 54px; padding: 5px 1px; }
.phone-v3-permission-row .phone-v3-icon { width: 36px; height: 36px; border-radius: 12px; }
.phone-v3-permission-row .phone-v3-icon svg { width: 19px; height: 19px; }
.phone-v3-permission-row > i { width: 36px; height: 21px; }
.phone-v3-permission-row > i::after { width: 17px; height: 17px; }
.phone-v3-permission-row.is-enabled > i::after { transform: translateX(15px); }
.phone-v3-auth-actions { gap: 6px; margin-top: 11px; }
.phone-v3-primary-button,
.phone-v3-secondary-button { min-height: 44px; border-radius: 16px; font-size: 12px; }

.phone-v3-runtime-exit {
  position: absolute;
  top: calc(env(safe-area-inset-top) + 32px);
  left: 10px;
  z-index: 85;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 32px;
  padding: 0 10px 0 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: var(--pv3-ink) !important;
  box-shadow: 0 5px 18px rgba(23, 22, 24, .14);
  font-size: 10px;
  font-weight: 700;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.phone-v3-runtime-exit svg { width: 15px; height: 15px; }
.phone-v3-runtime-exit:active { transform: scale(.96); }

.phone-v3-statusbar { height: 25px; padding-right: 14px; padding-left: 14px; }
.phone-v3-lock-clock { margin-top: clamp(38px, 6dvh, 58px); }
.phone-v3-lock-clock > span { font-size: clamp(58px, 18vw, 78px); }
.phone-v3-lock-clock strong { margin-top: 3px; font-size: 13px; }
.phone-v3-lock-clock small { margin-top: 3px; font-size: 9px; }
.phone-v3-lock-notifications { gap: 6px; width: min(92vw, 460px); margin-top: clamp(18px, 3.5dvh, 34px); }
.phone-v3-lock-notifications > button { grid-template-columns: 30px minmax(0, 1fr); gap: 8px; padding: 8px 10px; border: 0; border-radius: 17px; }
.phone-v3-lock-notifications .phone-v3-icon { width: 30px; height: 30px; border-radius: 9px; }
.phone-v3-lock-notifications .phone-v3-icon svg { width: 16px; }
.phone-v3-unlock { bottom: calc(24px + env(safe-area-inset-bottom)); }

.phone-v3-pages { inset: calc(env(safe-area-inset-top) + 70px) 0 calc(104px + env(safe-area-inset-bottom)); }
.phone-v3-page { padding: 3px 12px 8px; }
.phone-v3-clock-widget {
  gap: 12px;
  min-height: 86px;
  margin-bottom: 8px;
  padding: 12px 14px;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(23, 22, 24, .1);
}
.phone-v3-clock-widget > span { font-size: clamp(34px, 10vw, 45px); }
.phone-v3-clock-widget strong { font-size: 10px; }
.phone-v3-clock-widget small { margin-top: 2px; font-size: 8px; }
.phone-v3-clock-widget em { margin-top: 5px; font-size: 9px; }
.phone-v3-page-heading { min-height: 86px; padding: 15px 4px; }
.phone-v3-page-heading strong { font-size: 22px; }
.phone-v3-app-grid { gap: 10px 6px; }
.phone-v3-app-icon { gap: 3px; }
.phone-v3-app-icon .phone-v3-icon { width: 48px; height: 48px; border-radius: 14px; }
.phone-v3-app-icon .phone-v3-icon svg { width: 24px; height: 24px; }
.phone-v3-app-icon small { font-size: 9px; }
.phone-v3-page-dots { bottom: calc(90px + env(safe-area-inset-bottom)); }
.phone-v3-dock { right: 12px; bottom: calc(22px + env(safe-area-inset-bottom)); left: 12px; min-height: 64px; padding: 5px 8px; border: 0; }
.phone-v3-dock .phone-v3-icon { width: 46px; height: 46px; border-radius: 14px; }
.phone-v3-runtime-toast { right: 16px; bottom: calc(100px + env(safe-area-inset-bottom)); left: 16px; padding: 9px 12px; }
.phone-v3-viewing-pill { top: calc(env(safe-area-inset-top) + 34px); min-height: 26px; }

.phone-v3-native-head {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 7px;
  min-height: 56px;
  padding: 4px 9px;
  border-bottom-color: var(--pv3-line);
  background: rgba(247, 247, 247, .96);
}
.phone-v3-native-head > button:first-child { width: 34px; height: 34px; box-shadow: 0 3px 12px rgba(23, 22, 24, .06); }
.phone-v3-native-head > button:first-child svg { width: 18px; }
.phone-v3-native-head > div { grid-template-columns: 36px minmax(0, 1fr); gap: 8px; }
.phone-v3-native-head .phone-v3-icon { width: 36px; height: 36px; border-radius: 12px; }
.phone-v3-native-head .phone-v3-icon svg { width: 19px; }
.phone-v3-native-head strong { font-size: 13px; }
.phone-v3-native-head small { margin-top: 1px; font-size: 8px; }
.phone-v3-native-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.phone-v3-refresh-app,
.phone-v3-native-exit { min-height: 30px; padding: 0 8px; border: 0; border-radius: 10px; background: #fff; color: var(--pv3-ink); font-size: 9px; white-space: nowrap; }
.phone-v3-native-exit { background: #ecebed; font-weight: 700; }
.phone-v3-native-content,
.phone-v3-detail-content { height: calc(100dvh - env(safe-area-inset-top) - 84px); padding: 8px 10px calc(28px + env(safe-area-inset-bottom)); }
.phone-v3-record-card { margin-bottom: 6px; padding: 11px 12px; border-radius: 16px; box-shadow: 0 4px 15px rgba(23, 22, 24, .04); }
.phone-v3-record-card > strong { margin-top: 6px; font-size: 13px; }
.phone-v3-record-card > small { margin-top: 2px; font-size: 9px; }
.phone-v3-record-card > p { margin-top: 6px; font-size: 11px; line-height: 1.42; }
.phone-v3-record-card > em { margin-top: 6px; }
.phone-v3-record-card > b { right: 12px; bottom: 11px; font-size: 11px; }
.phone-v3-source-label { min-height: 20px; padding: 0 8px; font-size: 8px; }
.phone-v3-empty-app { padding: 58px 24px 0; }
.phone-v3-empty-app strong { margin-top: 10px; font-size: 15px; }
.phone-v3-empty-app p { margin-top: 5px; line-height: 1.5; }
.phone-v3-detail-content > h2 { margin-top: 10px; font-size: 17px; }
.phone-v3-detail-content > p { margin-top: 8px; font-size: 12px; line-height: 1.58; }
.phone-v3-detail-content > dl { margin-top: 10px; padding: 10px; border-radius: 16px; }
.phone-v3-detail-content > dl div { padding: 5px 0; }

.phone-v3-thread { gap: 6px; margin-top: 9px; padding: 8px; border-radius: 16px; background: #f1f1f1; }
.phone-v3-thread > div { justify-content: flex-start; }
.phone-v3-thread > div.is-owner { justify-content: flex-end; }
.phone-v3-thread span { max-width: 82%; padding: 7px 10px; border-radius: 15px 15px 15px 5px; background: var(--pv3-paper); font-size: 11px; line-height: 1.42; text-align: left; }
.phone-v3-thread .is-owner span { border-radius: 15px 15px 5px 15px; background: var(--pv3-teal-wash); color: var(--pv3-teal); }
.phone-v3-thread .is-system span { margin: auto; padding: 3px 6px; background: transparent; color: var(--pv3-muted); font-size: 8px; }
.phone-v3-thread.is-compact { gap: 4px; margin-top: 7px; padding: 7px; }
.phone-v3-thread.is-compact span { max-width: 78%; padding: 5px 8px; font-size: 9px; line-height: 1.35; }
.phone-v3-record-card > .phone-v3-thread { pointer-events: none; }

.phone-v3-reaction-panel { padding: 10px 14px calc(14px + env(safe-area-inset-bottom)); }
.phone-v3-reaction-head { margin-bottom: 9px; }
.phone-v3-thought,
.phone-v3-spoken { margin: 7px 0; font-size: 12px; line-height: 1.5; }
.phone-v3-reaction-panel .phone-v3-primary-button { margin-top: 10px; }

@keyframes pv3-sheet-up { from { transform: translateY(24px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes pv3-unlock-float { 0%,100% { transform: translateY(0); opacity: .72; } 50% { transform: translateY(-5px); opacity: 1; } }
@keyframes pv3-icon-pulse { 0%,100% { transform: scale(1); box-shadow: 0 7px 18px rgba(26,22,31,.075); } 50% { transform: scale(1.08); box-shadow: 0 0 0 8px rgba(255,255,255,.18); } }
@keyframes pv3-viewing-collapse { to { width: 8px; max-width: 8px; padding: 0 10px; color: transparent; } }
@keyframes pv3-app-open { from { opacity: .28; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }

@media (min-width: 720px) {
  .phone-v3-entry,
  .phone-v3-auth,
  .phone-v3-finish { width: min(100%, 720px); margin: auto; padding-right: 28px; padding-left: 28px; }
  .phone-v3-role-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phone-v3-sheet,
  .phone-v3-reaction-panel { right: max(0px, calc((100vw - 720px) / 2)); left: max(0px, calc((100vw - 720px) / 2)); }
  .phone-v3-page { padding-right: max(28px, calc((100vw - 650px) / 2)); padding-left: max(28px, calc((100vw - 650px) / 2)); }
  .phone-v3-dock { right: max(18px, calc((100vw - 560px) / 2)); left: max(18px, calc((100vw - 560px) / 2)); }
}

@media (max-height: 690px) {
  .phone-v3-lock-clock { margin-top: 20px; }
  .phone-v3-lock-clock > span { font-size: 58px; }
  .phone-v3-lock-notifications { margin-top: 20px; gap: 6px; }
  .phone-v3-lock-notifications > button { padding-top: 8px; padding-bottom: 8px; }
  .phone-v3-pages { bottom: calc(118px + env(safe-area-inset-bottom)); }
  .phone-v3-page { padding-top: 2px; }
  .phone-v3-clock-widget { min-height: 96px; margin-bottom: 12px; }
  .phone-v3-app-grid { gap: 11px 7px; }
  .phone-v3-icon { width: 50px; height: 50px; }
  .phone-v3-dock { min-height: 68px; }
  .phone-v3-dock .phone-v3-icon { width: 48px; height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .phone-v3-sheet,
  .phone-v3-reaction-panel,
  .phone-v3-unlock,
  .phone-v3-app-icon,
  .phone-v3-app-icon .phone-v3-icon,
  .phone-v3-native-app,
  .phone-v3-viewing-pill { animation: none !important; transition: none !important; }
}

/* 464.9.112 — Midday phone refinement
 * Warm editorial surfaces, compact 4px rhythm, solid wallpaper and flat controls.
 * The desktop deliberately has no icon/name container: only the icon tile and plain label remain.
 */
:root {
  --pv3-canvas: #dbdad7;
  --pv3-paper: #ffffff;
  --pv3-ink: #121212;
  --pv3-muted: #616161;
  --pv3-line: #c9c7c2;
  --pv3-violet-wash: #e6e4e0;
  --pv3-violet: #18181b;
  --pv3-teal-wash: #eef4ed;
  --pv3-teal: #315c34;
  --pv3-amber-wash: #f2ede3;
  --pv3-amber: #6d532a;
  --pv3-apricot-wash: #e6e4e0;
  --pv3-plum: #18181b;
  --pv3-shadow: none;
}

.phone-v3-entry,
.phone-v3-auth,
.phone-v3-finish,
.phone-v3-native-app {
  background: var(--pv3-canvas);
  letter-spacing: .04em;
}

.phone-v3-entry *,
.phone-v3-auth *,
.phone-v3-finish *,
.phone-runtime * { box-shadow: none !important; }

.phone-v3-mode-tabs,
.phone-v3-search,
.phone-v3-role-card,
.phone-v3-summary-card,
.phone-v3-permission-card,
.phone-v3-finish-card,
.phone-v3-record-card,
.phone-v3-detail-content > dl,
.phone-v3-history-list article {
  border: 1px solid var(--pv3-line);
  border-radius: 8px;
  background: var(--pv3-paper);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.phone-v3-mode-tabs {
  gap: 4px;
  padding: 4px;
  background: var(--pv3-canvas);
}

.phone-v3-mode-tabs button,
.phone-v3-primary-button,
.phone-v3-secondary-button,
.phone-v3-sheet > button.is-cancel,
.phone-v3-role-menu,
.phone-v3-role-retry,
.phone-v3-failed-retry,
.phone-v3-refresh-app,
.phone-v3-native-exit { border-radius: 999px; }

.phone-v3-mode-tabs button.is-active { background: var(--pv3-paper); }
.phone-v3-search { min-height: 40px; }
.phone-v3-role-card { min-height: 68px; padding-top: 8px; padding-bottom: 8px; }
.phone-v3-role-card.is-stale { border-color: #8b7044; }
.phone-v3-role-top em { background: var(--pv3-canvas); color: var(--pv3-ink); }
.phone-v3-role-menu { border: 1px solid var(--pv3-line); background: var(--pv3-paper); color: var(--pv3-ink); }
.phone-v3-role-card-shell:has(.phone-v3-role-retry) .phone-v3-role-card { padding-right: 104px; }

.phone-v3-role-retry {
  position: absolute;
  top: 50%;
  right: 45px;
  z-index: 3;
  min-height: 28px;
  padding: 0 10px;
  transform: translateY(-50%);
  border: 1px solid #8b7044;
  background: var(--pv3-paper);
  color: #60481f;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .05em;
}

.phone-v3-sheet,
.phone-v3-reaction-panel {
  border: 1px solid var(--pv3-line);
  border-bottom: 0;
  border-radius: 20px 20px 0 0;
  background: var(--pv3-paper);
  box-shadow: none;
}

.phone-v3-sheet > button.is-retry { color: #60481f; font-weight: 700; }
.phone-v3-wallpaper-choice { border-color: var(--pv3-line); border-radius: 8px; }
.phone-v3-wallpaper-choice span { height: 72px; border: 1px solid var(--pv3-line); border-radius: 8px; }
.phone-v3-wallpaper-choice.is-parchment span { background: #dbdad7; }
.phone-v3-wallpaper-choice.is-sand span { background: #e6e4e0; }
.phone-v3-wallpaper-choice.is-paper span { background: #ffffff; }
.phone-v3-wallpaper-choice.is-charcoal span { background: #18181b; }

.phone-v3-wallpaper.is-parchment { background: #dbdad7; }
.phone-v3-wallpaper.is-sand { background: #e6e4e0; }
.phone-v3-wallpaper.is-paper { background: #f7f6f3; }
.phone-v3-wallpaper.is-charcoal { background: #18181b; }

.phone-v3-desktop {
  background: #dbdad7;
  color: var(--pv3-ink);
  letter-spacing: .04em;
}

.phone-v3-desktop .phone-v3-wallpaper {
  background-image: none !important;
  background-size: auto !important;
}

.phone-v3-desktop .phone-v3-wallpaper-wash { display: none; }
.phone-v3-desktop .phone-v3-statusbar { color: var(--pv3-ink); text-shadow: none; }
.phone-v3-desktop:has(.phone-v3-wallpaper.is-charcoal) { color: #fff; }
.phone-v3-desktop:has(.phone-v3-wallpaper.is-charcoal) .phone-v3-statusbar,
.phone-v3-desktop:has(.phone-v3-wallpaper.is-charcoal) .phone-v3-app-icon,
.phone-v3-desktop:has(.phone-v3-wallpaper.is-charcoal) .phone-v3-page-heading { color: #fff; }

.phone-v3-runtime-exit {
  min-height: 30px;
  border: 1px solid var(--pv3-line);
  background: rgba(255, 255, 255, .96);
  color: var(--pv3-ink) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.phone-v3-failed-retry {
  position: absolute;
  top: calc(env(safe-area-inset-top) + 64px);
  right: 10px;
  z-index: 84;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #8b7044;
  background: rgba(255, 255, 255, .96);
  color: #60481f;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .05em;
}

.phone-v3-failed-retry span {
  display: grid;
  place-items: center;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #18181b;
  color: #fff;
  font-size: 8px;
}

.phone-v3-pages { inset: calc(env(safe-area-inset-top) + 64px) 0 calc(90px + env(safe-area-inset-bottom)); }
.phone-v3-page { padding: 2px 12px 6px; }
.phone-v3-clock-widget {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 76px;
  margin-bottom: 6px;
  padding: 9px 12px;
  border: 1px solid var(--pv3-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  color: var(--pv3-ink);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.phone-v3-clock-widget > span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 9.4vw, 42px);
  font-weight: 400;
  letter-spacing: -.025em;
}

.phone-v3-clock-widget strong { font-size: 9px; font-weight: 500; letter-spacing: .05em; }
.phone-v3-clock-widget small { margin-top: 2px; color: var(--pv3-muted); font-size: 8px; }
.phone-v3-clock-widget em { margin-top: 3px; color: #315c34; font-size: 8px; }
.phone-v3-page-heading { min-height: 76px; padding: 10px 2px; color: var(--pv3-ink); text-shadow: none; }
.phone-v3-page-heading strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; letter-spacing: -.025em; }
.phone-v3-page-heading small { color: var(--pv3-muted); opacity: 1; }

.phone-v3-app-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 4px; }
.phone-v3-app-icon {
  gap: 2px;
  min-height: 61px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pv3-ink);
  text-shadow: none;
  cursor: pointer;
}

.phone-v3-app-icon .phone-v3-icon {
  width: 44px;
  height: 44px;
  border: 1px solid #c5c2bc;
  border-radius: 8px;
  background: #fff;
  color: #18181b;
}

.phone-v3-app-icon .phone-v3-icon svg { width: 22px; height: 22px; }
.phone-v3-app-icon small {
  width: auto;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .05em;
}

.phone-v3-app-icon > b { top: -4px; left: calc(50% + 9px); border-color: #dbdad7; background: #18181b; }
.phone-v3-page-dots { bottom: calc(79px + env(safe-area-inset-bottom)); }
.phone-v3-page-dots i { background: rgba(18, 18, 18, .28); }
.phone-v3-page-dots i.is-active { background: #121212; }

.phone-v3-dock {
  right: 10px;
  bottom: calc(20px + env(safe-area-inset-bottom));
  left: 10px;
  min-height: 56px;
  padding: 4px 8px;
  border: 1px solid var(--pv3-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.phone-v3-dock .phone-v3-app-icon { min-height: 46px; }
.phone-v3-dock .phone-v3-icon { width: 42px; height: 42px; border-radius: 8px; }
.phone-v3-runtime-toast { bottom: calc(83px + env(safe-area-inset-bottom)); background: #18181b; backdrop-filter: none; -webkit-backdrop-filter: none; }
.phone-v3-viewing-pill { border: 1px solid var(--pv3-line); background: #fff; color: #18181b; }
.phone-v3-viewing-pill span { background: #4caf50; }

.phone-v3-native-head {
  border-bottom: 1px solid var(--pv3-line);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.phone-v3-native-head > button:first-child,
.phone-v3-native-head .phone-v3-icon,
.phone-v3-empty-app .phone-v3-icon { border: 1px solid var(--pv3-line); border-radius: 8px; background: #fff; }
.phone-v3-refresh-app,
.phone-v3-native-exit { border: 1px solid var(--pv3-line); background: #fff; }
.phone-v3-native-exit { background: #18181b; color: #fff; }
.phone-v3-native-content,
.phone-v3-detail-content { padding: 8px 8px calc(27px + env(safe-area-inset-bottom)); }
.phone-v3-record-card { margin-bottom: 4px; padding: 10px; border: 1px solid var(--pv3-line); border-radius: 8px; }
.phone-v3-record-card > strong { margin-top: 5px; }
.phone-v3-thread { gap: 5px; margin-top: 7px; padding: 7px; border: 1px solid var(--pv3-line); border-radius: 8px; background: var(--pv3-canvas); }
.phone-v3-thread span { border: 1px solid var(--pv3-line); border-radius: 14px 14px 14px 4px; background: #fff; }
.phone-v3-thread .is-owner span { border-color: #b8c9b7; border-radius: 14px 14px 4px 14px; background: #eef4ed; color: #203f22; }
.phone-v3-detail-content > dl { padding: 8px; border-radius: 8px; }
.phone-v3-source-label { border-radius: 999px; }

.phone-v3-app-icon:focus-visible,
.phone-v3-runtime-exit:focus-visible,
.phone-v3-failed-retry:focus-visible,
.phone-v3-role-retry:focus-visible,
.phone-v3-sheet button:focus-visible,
.phone-v3-native-head button:focus-visible {
  outline: 2px solid #121212;
  outline-offset: 2px;
}

@media (max-height: 690px) {
  .phone-v3-pages { inset: calc(env(safe-area-inset-top) + 58px) 0 calc(84px + env(safe-area-inset-bottom)); }
  .phone-v3-clock-widget { min-height: 68px; margin-bottom: 4px; padding: 7px 10px; }
  .phone-v3-clock-widget > span { font-size: 31px; }
  .phone-v3-app-grid { gap: 3px 4px; }
  .phone-v3-app-icon { min-height: 55px; }
  .phone-v3-app-icon .phone-v3-icon { width: 40px; height: 40px; }
  .phone-v3-dock { min-height: 52px; }
  .phone-v3-dock .phone-v3-icon { width: 38px; height: 38px; }
}

/*# source: assets/css/design-system/moss-settings-v2.css */
@layer moss-v2-settings {
  #appScreen.moss-settings-v2-screen {
    color: var(--moss-v2-text);
    background: var(--moss-v2-bg);
  }

  #appScreen.moss-settings-v2-screen > .app-topbar {
    min-height: calc(54px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    border-bottom: 1px solid var(--moss-v2-divider);
    color: var(--moss-v2-text);
    background: color-mix(in srgb, var(--moss-v2-surface) 94%, transparent);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  #appScreen.moss-settings-v2-screen > .app-topbar::before,
  #appScreen.moss-settings-v2-screen > .app-topbar::after {
    display: none;
  }

  #appScreen.moss-settings-v2-screen > .app-topbar > #appTitle {
    color: var(--moss-v2-text);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.015em;
  }

  #appScreen.moss-settings-v2-screen > .app-body.moss-settings-v2-active {
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--moss-v2-text);
    background: var(--moss-v2-bg);
    scrollbar-width: none;
  }

  #appScreen.moss-settings-v2-screen > .app-body.moss-settings-v2-active::-webkit-scrollbar {
    display: none;
  }

  .moss-v2-settings-home {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    overflow-x: clip;
    color: var(--moss-v2-text);
    background: var(--moss-v2-bg);
  }

  .moss-v2-settings-home .moss-v2-system-hero {
    padding-top: 30px;
    padding-bottom: 22px;
    border-bottom: 0;
  }

  .moss-v2-settings-home .moss-v2-system-hero h1 {
    max-width: 10em;
    font-size: clamp(28px, 8vw, 36px);
  }

  .moss-v2-settings-home .moss-v2-system-hero p {
    max-width: 29em;
    margin-top: 12px;
  }

  .moss-v2-settings-content {
    padding-top: 0;
  }

  .moss-v2-settings-content .moss-v2-section-header:first-child {
    margin-top: 4px;
  }

  .moss-v2-settings-content .moss-v2-list-group + .moss-v2-section-header {
    margin-top: 34px;
  }

  .moss-v2-settings-home .moss-v2-list-row {
    grid-template-columns: 48px minmax(0, 1fr) auto 20px;
  }

  .moss-v2-settings-home .moss-v2-list-icon {
    color: var(--moss-v2-text-secondary);
  }

  .moss-v2-settings-home .moss-v2-list-row:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--moss-v2-text) 34%, transparent);
    outline-offset: -2px;
  }

  .moss-v2-settings-home .moss-v2-status-badge {
    justify-self: end;
  }

  .moss-v2-settings-home .moss-v2-list-copy small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  html[data-ui-mode="dark"] .moss-v2-settings-home .moss-v2-list-icon,
  body.dark-mode .moss-v2-settings-home .moss-v2-list-icon {
    background: color-mix(in srgb, var(--moss-v2-surface-soft) 76%, var(--moss-v2-surface));
  }

  @media (max-width: 380px) {
    .moss-v2-settings-home .moss-v2-system-hero {
      padding-top: 24px;
      padding-bottom: 18px;
    }

    .moss-v2-settings-home .moss-v2-system-hero h1 {
      font-size: 28px;
    }

    .moss-v2-settings-home .moss-v2-list-row {
      grid-template-columns: 42px minmax(0, 1fr) 20px;
    }

    .moss-v2-settings-home .moss-v2-status-badge {
      grid-column: 2;
      justify-self: start;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .moss-v2-settings-home *,
    .moss-v2-settings-home *::before,
    .moss-v2-settings-home *::after {
      scroll-behavior: auto;
      transition-duration: .01ms;
      animation-duration: .01ms;
      animation-iteration-count: 1;
    }
  }
}

/* Stage 5: scoped bridge for legacy settings subpages.
   Kept unlayered on purpose so it can normalize the old unlayered form rules
   while each page is progressively migrated to native Moss v2 components. */
#appScreen.moss-settings-v2-screen > .app-body.moss-settings-v2-active.moss-settings-v2-subpage {
  --phone-bg: var(--moss-v2-bg);
  --surface-strong: var(--moss-v2-surface);
  --surface-glass: var(--moss-v2-surface);
  --skin-text: var(--moss-v2-text);
  --skin-title: var(--moss-v2-text);
  --skin-muted: var(--moss-v2-text-secondary);
  --skin-border: var(--moss-v2-border);
  --skin-accent: var(--moss-v2-surface-strong);
  --skin-accent-2: var(--moss-v2-surface-strong);
  --skin-radius-sm: var(--moss-v2-radius-control);
  --skin-radius-md: var(--moss-v2-radius-control);
  --skin-radius-lg: var(--moss-v2-radius-card);
  --skin-control-height: 46px;
  --skin-control-font: 14px;
  --skin-card-gap: 16px;
  --skin-page-pad: 18px;
  --skin-shadow-soft: var(--moss-v2-shadow-raised);
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--moss-v2-text);
  background: var(--moss-v2-bg);
  scrollbar-width: none;
}

#appScreen.moss-settings-v2-screen > .app-body.moss-settings-v2-active.moss-settings-v2-subpage::-webkit-scrollbar {
  display: none;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel-stack {
  width: min(100%, 720px);
  min-width: 0;
  margin-inline: auto;
  padding-bottom: calc(34px + env(safe-area-inset-bottom));
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel {
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel > h2,
#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel > h3 {
  margin: 0 0 10px;
  color: var(--moss-v2-text);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.018em;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel > h2:not(:first-child),
#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel > h3:not(:first-child) {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--moss-v2-divider);
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.hint-text, .hint, .empty-text, .panel p) {
  color: var(--moss-v2-text-secondary);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .moss-v2-subpage-back {
  width: auto;
  max-width: 100%;
  margin: 0 0 18px;
  padding-inline: 14px;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--moss-v2-text);
  background: var(--moss-v2-surface-soft);
  box-shadow: none;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .field {
  min-width: 0;
  gap: 7px;
  margin: 16px 0 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .field > span {
  color: var(--moss-v2-text-secondary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(input, select, textarea, button) {
  box-sizing: border-box;
  max-width: 100%;
  font-family: inherit;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.field input, .field select, .field textarea, .range-number-row input[type="number"]) {
  min-width: 0;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.4;
  outline: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.field input, .field select, .field textarea):focus {
  border-color: color-mix(in srgb, var(--moss-v2-text) 34%, var(--moss-v2-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--moss-v2-text) 8%, transparent);
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .field textarea {
  min-height: 112px;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.secret-input-row, .range-number-row) {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .range-number-row {
  grid-template-columns: minmax(0, 1fr) 82px;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.secret-input-row, .range-number-row) > * {
  min-width: 0;
  margin-top: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .secret-input-row > button {
  width: auto;
  min-width: 68px;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.check-list, .button-row, .form-action-grid, .debug-action-row, .api-log-toolbar, .api-log-filter-row, .api-profile-actions) {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.button-row, .form-action-grid, .debug-action-row, .api-log-toolbar, .api-profile-actions) > button {
  flex: 1 1 132px;
  min-width: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .api-log-filter-row > * {
  flex: 1 1 150px;
  min-width: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .check-pill {
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--moss-v2-border);
  border-radius: var(--moss-v2-radius-control);
  color: var(--moss-v2-text);
  background: var(--moss-v2-surface-soft);
  overflow-wrap: anywhere;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .check-pill input {
  flex: 0 0 auto;
  accent-color: var(--moss-v2-text);
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.api-secondary-settings, .api-memory-summary-settings, .custom-ui-block) {
  min-width: 0;
  margin-top: 22px;
  padding: 16px;
  border: 1px solid var(--moss-v2-border);
  border-radius: var(--moss-v2-radius-control);
  background: var(--moss-v2-surface-soft);
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.api-secondary-settings, .api-memory-summary-settings) > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel .list-stack {
  --skin-shadow-soft: none;
  --surface-glass: var(--moss-v2-surface-soft);
  --surface-strong: var(--moss-v2-surface-soft);
  min-width: 0;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.settings-row, .api-log-row, .debug-row) {
  min-width: 0;
  overflow: hidden;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.settings-row, .api-log-row, .debug-row) :is(strong, small, span, p) {
  min-width: 0;
  overflow-wrap: anywhere;
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.theme-tone-grid, .theme-grid, .voice-provider-grid, .appearance-grid) {
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#appScreen.moss-settings-v2-screen .moss-settings-v2-subpage pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 380px) {
  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel-stack {
    --skin-page-pad: 14px;
  }

  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .panel {
    padding: 16px;
  }

  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.check-list, .theme-tone-grid, .theme-grid, .voice-provider-grid, .appearance-grid) {
    grid-template-columns: minmax(0, 1fr);
  }

  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage :is(.secret-input-row, .range-number-row) {
    grid-template-columns: minmax(0, 1fr);
  }

  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .secret-input-row > button,
  #appScreen.moss-settings-v2-screen .moss-settings-v2-subpage .range-number-row > input[type="number"] {
    width: 100%;
  }
}

/*# source: assets/css/design-system/moss-living-editorial.css */
/* Moss Living Editorial v1
   Warm editorial rhythm for content apps. Settings intentionally stay on Moss System v2.
   The rules are scoped to explicitly migrated screens so legacy apps are not silently restyled. */

:root {
  --moss-live-canvas: #deddd9;
  --moss-live-paper: #f8f7f4;
  --moss-live-paper-strong: #ffffff;
  --moss-live-sand: #e8e6e1;
  --moss-live-ink: #181817;
  --moss-live-text: #373733;
  --moss-live-muted: #77756f;
  --moss-live-faint: #a5a29b;
  --moss-live-line: rgba(31, 30, 28, .09);
  --moss-live-charcoal: #1c1c1b;
  --moss-live-moss: #63745f;
  --moss-live-blue: #728792;
  --moss-live-rose: #99777c;
  --moss-live-amber: #a67a5d;
  --moss-live-danger: #a95555;
  --moss-live-radius-sm: 8px;
  --moss-live-radius-control: 12px;
  --moss-live-radius-card: 16px;
  --moss-live-radius-feature: 20px;
  --moss-live-radius-sheet: 24px;
  --moss-live-body: 14px;
  --moss-live-body-emphasis: 15px;
  --moss-live-small: 12px;
  --moss-live-caption: 10.5px;
  --moss-live-title: 21px;
  --moss-live-heading: 17px;
  --moss-live-page-x: 16px;
  --moss-live-font-sans: var(--app-font-family, -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Noto Sans SC", "Segoe UI", sans-serif);
  --moss-live-font-serif: "Songti SC", "STSong", "Source Han Serif SC", Georgia, serif;
}

html[data-ui-mode="dark"] {
  --moss-live-canvas: #171715;
  --moss-live-paper: #21211f;
  --moss-live-paper-strong: #282825;
  --moss-live-sand: #2d2c29;
  --moss-live-ink: #f5f3ee;
  --moss-live-text: #e7e4dd;
  --moss-live-muted: #aaa69e;
  --moss-live-faint: #77746e;
  --moss-live-line: rgba(255, 255, 255, .08);
  --moss-live-charcoal: #f0eee8;
}

/* Readability contract. Long-form body text never shrinks to make a layout fit. */
#appScreen .app-body.moss-living-editorial,
#wechatMain > .moss-living-wallet {
  min-width: 0;
  max-width: 100%;
  color: var(--moss-live-text);
  font-family: var(--moss-live-font-sans);
  font-size: var(--moss-live-body);
  line-height: 1.55;
  letter-spacing: .012em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

#appScreen .app-body.moss-living-editorial *,
#appScreen .app-body.moss-living-editorial *::before,
#appScreen .app-body.moss-living-editorial *::after,
#wechatMain > .moss-living-wallet *,
#wechatMain > .moss-living-wallet *::before,
#wechatMain > .moss-living-wallet *::after {
  box-sizing: border-box;
}

#appScreen .app-body.moss-living-editorial :is(.moss-row, .moss-grid, .agenda-app, .monitor-app) > *,
#wechatMain > .moss-living-wallet :is(.wallet-record-row, .wallet-section-head, .wallet-hero-grid) > * {
  min-width: 0;
}

#appScreen .app-body.moss-living-editorial :is(p, dd, li),
#wechatMain > .moss-living-wallet :is(p, dd, li) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

#appScreen .app-body.moss-living-editorial img,
#appScreen .app-body.moss-living-editorial video,
#appScreen .app-body.moss-living-editorial canvas,
#wechatMain > .moss-living-wallet :is(img, video, canvas) {
  max-width: 100%;
}

/* =========================
   Agenda · Paper Utility
   ========================= */
#appScreen .app-body.moss-living-editorial.agenda-app-body {
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .agenda-app {
  --agenda-ink: var(--moss-live-ink);
  --agenda-muted: var(--moss-live-muted);
  --agenda-line: var(--moss-live-line);
  --agenda-paper: var(--moss-live-paper);
  --agenda-soft: var(--moss-live-sand);
  --agenda-green: var(--moss-live-blue);
  --agenda-green-soft: color-mix(in srgb, var(--moss-live-blue) 12%, var(--moss-live-paper));
  --agenda-blue: var(--moss-live-blue);
  --agenda-blue-soft: color-mix(in srgb, var(--moss-live-blue) 11%, var(--moss-live-paper));
  width: 100%;
  min-height: 100%;
  padding: 16px var(--moss-live-page-x) calc(84px + env(safe-area-inset-bottom));
  overflow-x: clip;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .agenda-hero {
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 0 2px;
}

#appScreen .app-body.moss-living-editorial .agenda-hero small,
#appScreen .app-body.moss-living-editorial .agenda-sheet header small {
  color: var(--moss-live-blue);
  font-size: var(--moss-live-caption);
  font-weight: 700;
  letter-spacing: .13em;
}

#appScreen .app-body.moss-living-editorial .agenda-hero h1 {
  margin: 3px 0 0;
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: var(--moss-live-title);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
}

#appScreen .app-body.moss-living-editorial .agenda-hero p {
  max-width: 28em;
  margin: 5px 0 0;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.5;
}

#appScreen .app-body.moss-living-editorial .agenda-hero > button {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-charcoal);
  color: var(--moss-live-paper-strong);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .agenda-character-strip {
  gap: 8px;
  margin: 0 calc(var(--moss-live-page-x) * -1) 12px;
  padding: 0 var(--moss-live-page-x) 4px;
}

#appScreen .app-body.moss-living-editorial .agenda-character-strip button {
  min-height: 38px;
  padding: 5px 10px 5px 6px;
  gap: 7px;
  border-color: var(--moss-live-line);
  border-radius: 999px;
  color: var(--moss-live-muted);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .agenda-character-strip button.active {
  color: var(--moss-live-paper-strong);
  background: var(--moss-live-charcoal);
  border-color: var(--moss-live-charcoal);
}

#appScreen .app-body.moss-living-editorial .agenda-character-avatar {
  width: 28px;
  height: 28px;
  min-width: 28px;
}

#appScreen .app-body.moss-living-editorial .agenda-character-strip span {
  max-width: 8em;
  font-size: var(--moss-live-small);
  font-weight: 650;
}

#appScreen .app-body.moss-living-editorial .agenda-date-card {
  margin: 0 0 12px;
  padding: 6px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .agenda-date-card > button {
  width: 30px;
  min-width: 30px;
  color: var(--moss-live-muted);
}

#appScreen .app-body.moss-living-editorial .agenda-date-strip {
  gap: 2px;
  min-width: 0;
}

#appScreen .app-body.moss-living-editorial .agenda-date-strip button {
  min-width: 0;
  padding: 7px 2px;
  border-radius: 10px;
}

#appScreen .app-body.moss-living-editorial .agenda-date-strip button small {
  font-size: 10px;
}

#appScreen .app-body.moss-living-editorial .agenda-date-strip button b {
  margin-top: 3px;
  font-size: 14px;
}

#appScreen .app-body.moss-living-editorial .agenda-date-strip button.active {
  background: var(--moss-live-charcoal);
  color: var(--moss-live-paper-strong);
}

#appScreen .app-body.moss-living-editorial .agenda-travel-card {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--moss-live-amber) 22%, transparent);
  border-radius: var(--moss-live-radius-card);
  background: color-mix(in srgb, var(--moss-live-amber) 11%, var(--moss-live-paper));
}

#appScreen .app-body.moss-living-editorial .agenda-travel-card > span {
  border-radius: 8px;
  background: var(--moss-live-amber);
  font-size: 9.5px;
}

#appScreen .app-body.moss-living-editorial .agenda-travel-card b {
  font-size: var(--moss-live-body-emphasis);
}

#appScreen .app-body.moss-living-editorial .agenda-travel-card p,
#appScreen .app-body.moss-living-editorial .agenda-travel-card em {
  font-size: var(--moss-live-small);
  line-height: 1.45;
}

#appScreen .app-body.moss-living-editorial .agenda-summary-card {
  margin-bottom: 16px;
  padding: 16px;
  border: 0;
  border-radius: var(--moss-live-radius-feature);
  color: #f7f5ef;
  background: var(--moss-live-charcoal);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .agenda-summary-card small {
  color: rgba(247, 245, 239, .58);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .agenda-summary-card h2 {
  margin-top: 7px;
  color: #f7f5ef;
  font-family: var(--moss-live-font-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: -.018em;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .agenda-summary-card > span {
  color: #f7f5ef;
  background: rgba(255, 255, 255, .1);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .agenda-timeline {
  gap: 10px;
}

#appScreen .app-body.moss-living-editorial .agenda-timeline-item {
  grid-template-columns: 48px 9px minmax(0, 1fr);
  gap: 8px;
}

#appScreen .app-body.moss-living-editorial .agenda-timeline-item::after {
  left: 60px;
  background: var(--moss-live-line);
}

#appScreen .app-body.moss-living-editorial .agenda-timeline-item > time {
  padding-top: 10px;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
  line-height: 1.35;
}

#appScreen .app-body.moss-living-editorial .agenda-timeline-item > time b {
  color: var(--moss-live-ink);
  font-size: 13px;
}

#appScreen .app-body.moss-living-editorial .agenda-item-card {
  min-width: 0;
  padding: 14px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .agenda-item-heading {
  align-items: flex-start;
  gap: 8px;
}

#appScreen .app-body.moss-living-editorial .agenda-item-heading strong {
  min-width: 0;
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
  line-height: 1.42;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .agenda-item-heading em {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
}

#appScreen .app-body.moss-living-editorial .agenda-item-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

#appScreen .app-body.moss-living-editorial .agenda-item-card dl div {
  padding: 9px 10px;
  border-radius: 10px;
  background: var(--moss-live-sand);
}

#appScreen .app-body.moss-living-editorial .agenda-item-card dt {
  margin-bottom: 4px;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-caption);
}

#appScreen .app-body.moss-living-editorial .agenda-item-card dd {
  overflow: visible;
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  font-weight: 550;
  line-height: 1.45;
  text-overflow: clip;
  white-space: normal;
}

#appScreen .app-body.moss-living-editorial .agenda-change-note {
  margin-top: 11px;
  padding-left: 10px;
  color: color-mix(in srgb, var(--moss-live-blue) 84%, var(--moss-live-text));
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial .agenda-empty {
  min-height: 210px;
  padding: 28px 20px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-feature);
  background: var(--moss-live-paper);
}

#appScreen .app-body.moss-living-editorial .agenda-empty b {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
}

#appScreen .app-body.moss-living-editorial .agenda-empty p {
  max-width: 28em;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.6;
}

#appScreen .app-body.moss-living-editorial .agenda-empty button,
#appScreen .app-body.moss-living-editorial .agenda-primary-button {
  min-height: 42px;
  padding: 0 16px;
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-charcoal);
  font-size: var(--moss-live-body);
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar {
  bottom: 8px;
  width: min(390px, calc(100% - 4px));
  margin: 18px auto -70px;
  padding: 5px;
  border-color: var(--moss-live-line);
  border-radius: 17px;
  background: color-mix(in srgb, var(--moss-live-paper) 94%, transparent);
  box-shadow: 0 10px 26px rgba(31, 30, 28, .10);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar button {
  min-height: 43px;
  padding: 4px;
  border-radius: 12px;
  color: var(--moss-live-muted);
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar button.active {
  color: var(--moss-live-ink);
  background: var(--moss-live-sand);
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar button span {
  width: 23px;
  height: 23px;
  border-radius: 8px;
  background: transparent;
  font-size: 11px;
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar button b {
  font-size: 10.5px;
}

#appScreen .app-body.moss-living-editorial .agenda-bottom-bar .agenda-generate-button span {
  width: 29px;
  height: 29px;
  border-radius: 10px;
  background: var(--moss-live-charcoal);
  font-size: 18px;
}

#appScreen .app-body.moss-living-editorial .agenda-sheet-backdrop {
  padding: 8px;
  background: rgba(19, 18, 16, .36);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#appScreen .app-body.moss-living-editorial .agenda-sheet {
  max-height: min(760px, 90dvh);
  padding: 18px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-sheet);
  background: var(--moss-live-paper-strong);
  box-shadow: 0 18px 48px rgba(20, 19, 17, .18);
}

#appScreen .app-body.moss-living-editorial .agenda-sheet h2 {
  font-family: var(--moss-live-font-serif);
  font-size: 20px;
  font-weight: 600;
}

#appScreen .app-body.moss-living-editorial .agenda-sheet > p,
#appScreen .app-body.moss-living-editorial .agenda-history-list article p,
#appScreen .app-body.moss-living-editorial .agenda-result-list p {
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial .agenda-batch-list label > span {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-paper);
}

#appScreen .app-body.moss-living-editorial .agenda-batch-list b {
  font-size: var(--moss-live-body);
}

#appScreen .app-body.moss-living-editorial .agenda-batch-list small {
  font-size: var(--moss-live-small);
}

/* =========================
   Monitor · Living Canvas
   ========================= */
#appScreen .app-body.moss-living-editorial.monitor-app-active {
  --monitor-ink: var(--moss-live-ink);
  --monitor-subtle: var(--moss-live-muted);
  --monitor-moss: #68737c;
  --monitor-moss-deep: #4e5a63;
  --monitor-line: var(--moss-live-line);
  --monitor-paper: var(--moss-live-canvas);
  --monitor-card: var(--moss-live-paper);
  --monitor-dark: #1f2529;
  --monitor-dark-2: #303a40;
  --monitor-amber: var(--moss-live-amber);
  padding: 0;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .monitor-app {
  min-width: 0;
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-family: var(--moss-live-font-sans);
}

#appScreen .app-body.moss-living-editorial .monitor-local-head {
  align-items: center;
  padding: 14px 16px 10px;
  border-bottom-color: var(--moss-live-line);
}

#appScreen .app-body.moss-living-editorial .monitor-local-head small,
#appScreen .app-body.moss-living-editorial .monitor-section-heading small,
#appScreen .app-body.moss-living-editorial .monitor-settings-group > small,
#appScreen .app-body.moss-living-editorial .monitor-detail-head small {
  color: var(--monitor-moss-deep);
  font-size: var(--moss-live-caption);
  letter-spacing: .12em;
}

#appScreen .app-body.moss-living-editorial .monitor-local-head strong {
  font-family: var(--moss-live-font-serif);
  font-size: 20px;
  font-weight: 600;
}

#appScreen .app-body.moss-living-editorial .monitor-char-picker {
  max-width: 52%;
}

#appScreen .app-body.moss-living-editorial .monitor-char-picker > span {
  font-size: var(--moss-live-caption);
}

#appScreen .app-body.moss-living-editorial :is(.monitor-char-picker select, .monitor-filter-row select, .monitor-settings-group select) {
  height: 36px;
  min-width: 0;
  max-width: 100%;
  padding-inline: 10px 28px;
  border-radius: var(--moss-live-radius-control);
  border-color: var(--moss-live-line);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-tabs {
  top: 0;
  padding: 0 10px;
  border-bottom-color: var(--moss-live-line);
  background: color-mix(in srgb, var(--moss-live-paper) 95%, transparent);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#appScreen .app-body.moss-living-editorial .monitor-tabs button {
  height: 42px;
  min-width: 0;
  padding: 0 4px;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-tabs button.active {
  color: var(--moss-live-ink);
}

#appScreen .app-body.moss-living-editorial .monitor-tabs button.active::after {
  left: 28%;
  right: 28%;
  background: var(--monitor-moss);
}

#appScreen .app-body.moss-living-editorial .monitor-star-map {
  margin: 12px 16px 0;
  border: 0;
  border-radius: var(--moss-live-radius-feature);
  background: #20262a;
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .monitor-star-map::before {
  background:
    radial-gradient(circle at 74% 25%, rgba(140, 160, 171, .22), transparent 24%),
    radial-gradient(circle at 22% 78%, rgba(103, 122, 132, .18), transparent 27%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: auto, auto, 30px 30px, 30px 30px;
}

#appScreen .app-body.moss-living-editorial .monitor-star-field {
  height: 176px;
}

#appScreen .app-body.moss-living-editorial .monitor-star-caption {
  padding: 11px 14px 13px;
}

#appScreen .app-body.moss-living-editorial .monitor-star-caption span {
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-star-caption small {
  min-width: 0;
  font-size: var(--moss-live-caption);
}

#appScreen .app-body.moss-living-editorial .monitor-dashboard-section {
  padding: 18px 16px 10px;
}

#appScreen .app-body.moss-living-editorial .monitor-section-heading {
  align-items: flex-end;
  margin: 0 1px 11px;
}

#appScreen .app-body.moss-living-editorial .monitor-section-heading h1 {
  margin-top: 3px;
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
}

#appScreen .app-body.moss-living-editorial .monitor-return-pill {
  min-height: 32px;
  height: auto;
  max-width: 44%;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--moss-live-muted);
  background: var(--moss-live-paper);
  font-size: var(--moss-live-caption);
  line-height: 1.25;
  white-space: normal;
}

#appScreen .app-body.moss-living-editorial .monitor-return-pill.on {
  color: var(--monitor-moss-deep);
  background: color-mix(in srgb, var(--monitor-moss) 12%, var(--moss-live-paper));
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card {
  padding: 16px;
  border: 0;
  border-radius: var(--moss-live-radius-feature);
  color: #f5f3ed;
  background: #252b2f;
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card.empty {
  border: 1px dashed var(--moss-live-line);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
}

#appScreen .app-body.moss-living-editorial .monitor-overview-top small {
  color: rgba(245, 243, 237, .58);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card.empty .monitor-overview-top small {
  color: var(--moss-live-muted);
}

#appScreen .app-body.moss-living-editorial .monitor-overview-top span {
  color: #e9edf0;
  background: rgba(255, 255, 255, .10);
  font-size: var(--moss-live-caption);
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card h2 {
  margin: 11px 0 7px;
  color: inherit;
  font-family: var(--moss-live-font-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: -.018em;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card p {
  color: rgba(245, 243, 237, .68);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial .monitor-overview-card.empty p {
  color: var(--moss-live-muted);
}

#appScreen .app-body.moss-living-editorial .monitor-tags {
  gap: 6px;
  margin-top: 12px;
}

#appScreen .app-body.moss-living-editorial .monitor-tags i {
  padding: 4px 7px;
  border-radius: 999px;
  color: #edf0f2;
  background: rgba(255, 255, 255, .09);
  font-size: var(--moss-live-caption);
}

#appScreen .app-body.moss-living-editorial .monitor-inline-meters {
  gap: 8px;
  margin: 12px 1px;
}

#appScreen .app-body.moss-living-editorial .monitor-meter > div {
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-meter b {
  font-size: 13px;
}

#appScreen .app-body.moss-living-editorial .monitor-channel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#appScreen .app-body.moss-living-editorial .monitor-channel-card {
  grid-template-columns: 30px minmax(0, 1fr) 10px;
  gap: 8px;
  min-height: 82px;
  padding: 10px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .monitor-channel-index {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  color: var(--monitor-moss-deep);
  background: color-mix(in srgb, var(--monitor-moss) 12%, var(--moss-live-paper));
}

#appScreen .app-body.moss-living-editorial .monitor-channel-copy b {
  color: var(--moss-live-ink);
  font-size: 13.5px;
  line-height: 1.35;
}

#appScreen .app-body.moss-living-editorial .monitor-channel-copy small {
  color: var(--moss-live-muted);
  font-size: 11.5px;
  line-height: 1.42;
  -webkit-line-clamp: 2;
}

#appScreen .app-body.moss-living-editorial .monitor-draft-card {
  flex-wrap: wrap;
  padding: 12px;
  border-radius: var(--moss-live-radius-card);
  background: color-mix(in srgb, var(--moss-live-amber) 10%, var(--moss-live-paper));
}

#appScreen .app-body.moss-living-editorial .monitor-draft-card :is(b, span) {
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .monitor-peek-button {
  min-height: 48px;
  padding: 9px 14px;
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-charcoal);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .monitor-peek-button span {
  font-size: var(--moss-live-body-emphasis);
}

#appScreen .app-body.moss-living-editorial .monitor-peek-button small {
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial :is(.monitor-list-page, .monitor-settings-page, .monitor-access-page) {
  width: 100%;
  min-width: 0;
  padding: 16px;
}

#appScreen .app-body.moss-living-editorial .monitor-filter-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#appScreen .app-body.moss-living-editorial .monitor-filter-row label > span {
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-date-group h2 {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
}

#appScreen .app-body.moss-living-editorial .monitor-log-row,
#appScreen .app-body.moss-living-editorial .monitor-settings-group,
#appScreen .app-body.moss-living-editorial .monitor-settings-danger {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .monitor-log-row b,
#appScreen .app-body.moss-living-editorial .monitor-settings-group b,
#appScreen .app-body.moss-living-editorial .monitor-settings-danger b {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
  line-height: 1.4;
}

#appScreen .app-body.moss-living-editorial :is(.monitor-log-row span, .monitor-settings-group em, .monitor-settings-summary p, .monitor-settings-danger p) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .monitor-detail-head {
  padding: 16px;
  border-bottom-color: var(--moss-live-line);
  background: var(--moss-live-paper);
}

#appScreen .app-body.moss-living-editorial .monitor-detail-head h1 {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 20px;
  font-weight: 600;
}

#appScreen .app-body.moss-living-editorial .monitor-detail-head p,
#appScreen .app-body.moss-living-editorial .monitor-detail-rows p,
#appScreen .app-body.moss-living-editorial .monitor-trace-timeline p,
#appScreen .app-body.moss-living-editorial .monitor-evidence-list p,
#appScreen .app-body.moss-living-editorial .monitor-expand-list p {
  font-size: var(--moss-live-body);
  line-height: 1.58;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial :is(.monitor-detail-rows article, .monitor-expand-list article, .monitor-evidence-list article) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
}

/* =========================
   Wallet · Paper Utility
   ========================= */
#wechatMain > .moss-living-wallet {
  width: 100%;
  min-height: 100%;
  padding: 12px 16px calc(28px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
}

#wechatMain > .moss-living-wallet .wallet-page-head {
  min-height: 44px;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
}

#wechatMain > .moss-living-wallet .wallet-page-head .settings-back {
  width: 40px;
  height: 40px;
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-ink);
  background: transparent;
}

#wechatMain > .moss-living-wallet .wallet-page-head h2 {
  color: var(--moss-live-ink);
  font-size: 16px;
  font-weight: 650;
}

#wechatMain > .moss-living-wallet .wallet-hero-card {
  padding: 17px;
  border: 0;
  border-radius: var(--moss-live-radius-feature);
  color: #f6f3ed;
  background: #242522;
  box-shadow: none;
}

#wechatMain > .moss-living-wallet .wallet-hero-card :is(span, b, strong, i) {
  color: inherit;
}

#wechatMain > .moss-living-wallet .wallet-hero-top span {
  color: rgba(246, 243, 237, .64);
  font-size: var(--moss-live-small);
}

#wechatMain > .moss-living-wallet .wallet-balance-number {
  margin: 8px 0 10px;
  font-size: clamp(28px, 8vw, 34px);
  line-height: 1.12;
  letter-spacing: -.03em;
}

#wechatMain > .moss-living-wallet .wallet-hero-card hr {
  margin: 10px 0 13px;
  background: rgba(255, 255, 255, .12);
}

#wechatMain > .moss-living-wallet .wallet-hero-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#wechatMain > .moss-living-wallet .wallet-hero-grid > div {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .07);
}

#wechatMain > .moss-living-wallet .wallet-hero-grid span {
  color: rgba(246, 243, 237, .58);
  font-size: var(--moss-live-caption);
}

#wechatMain > .moss-living-wallet .wallet-hero-grid b {
  display: block;
  margin-top: 4px;
  color: #f6f3ed;
  font-size: 14px;
  overflow-wrap: anywhere;
}

#wechatMain > .moss-living-wallet > .panel,
#wechatMain > .moss-living-wallet .wallet-adjust {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#wechatMain > .moss-living-wallet .wallet-adjust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
}

#wechatMain > .moss-living-wallet .field {
  min-width: 0;
}

#wechatMain > .moss-living-wallet .field > span {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
}

#wechatMain > .moss-living-wallet :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  margin-top: 6px;
  padding: 0 12px;
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
  font: inherit;
  font-size: var(--moss-live-body);
}

#wechatMain > .moss-living-wallet .wallet-adjust > button {
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-radius: var(--moss-live-radius-control);
  color: #fff;
  background: var(--moss-live-charcoal);
  font: inherit;
  font-size: var(--moss-live-body);
}

#wechatMain > .moss-living-wallet .wallet-section-head {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

#wechatMain > .moss-living-wallet .wallet-section-head h2 {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
  line-height: 1.3;
}

#wechatMain > .moss-living-wallet .wallet-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

#wechatMain > .moss-living-wallet .wallet-filter-tabs button {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid var(--moss-live-line);
  border-radius: 999px;
  color: var(--moss-live-muted);
  background: transparent;
  font-size: var(--moss-live-small);
}

#wechatMain > .moss-living-wallet .wallet-filter-tabs button.active {
  color: #fff;
  border-color: var(--moss-live-charcoal);
  background: var(--moss-live-charcoal);
}

#wechatMain > .moss-living-wallet .wallet-record-list {
  display: grid;
  gap: 0;
}

#wechatMain > .moss-living-wallet .wallet-record-row {
  width: 100%;
  min-height: 62px;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid var(--moss-live-line);
  color: var(--moss-live-text);
  background: transparent;
  text-align: left;
}

#wechatMain > .moss-living-wallet .wallet-record-row:last-child {
  border-bottom: 0;
}

#wechatMain > .moss-living-wallet .wallet-record-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--moss-live-muted);
  background: var(--moss-live-sand);
  font-size: 16px;
}

#wechatMain > .moss-living-wallet .wallet-record-row strong {
  display: block;
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
  line-height: 1.38;
  overflow-wrap: anywhere;
}

#wechatMain > .moss-living-wallet .wallet-record-row small {
  display: block;
  margin-top: 3px;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
  line-height: 1.42;
  overflow-wrap: anywhere;
}

#wechatMain > .moss-living-wallet .wallet-record-amount {
  justify-self: end;
  max-width: 35vw;
  color: var(--moss-live-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  text-align: right;
  overflow-wrap: anywhere;
}

#wechatMain > .moss-living-wallet .wallet-record-row.income .wallet-record-amount {
  color: var(--moss-live-moss);
}

#wechatMain > .moss-living-wallet .wallet-record-row.expense .wallet-record-amount {
  color: var(--moss-live-text);
}

#wechatMain > .moss-living-wallet .wallet-empty,
#wechatMain > .moss-living-wallet .hint-text {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}


/* Stage 9 · canonical ownership moved out of the legacy complete-app pass. */
#appScreen .app-body.moss-living-editorial:has(.moss-album-app),
#appScreen .app-body.moss-living-editorial.encounter-app-active {
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial :is(.moss-album-app, .encounter-app) {
  min-width: 0;
  max-width: 100%;
  font-family: var(--moss-live-font-sans);
  font-size: 14px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

#appScreen .app-body.moss-living-editorial :is(.moss-album-app, .encounter-app) :is(p, small, span, strong) {
  max-width: 100%;
}

#appScreen .app-body.moss-living-editorial :is(.moss-album-app, .encounter-app) p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 360px) {
  #appScreen .app-body.moss-living-editorial .agenda-app {
    padding-inline: 14px;
  }

  #appScreen .app-body.moss-living-editorial .agenda-hero p {
    max-width: 23em;
  }

  #appScreen .app-body.moss-living-editorial .agenda-item-card dl {
    grid-template-columns: 1fr;
  }

  #appScreen .app-body.moss-living-editorial .agenda-travel-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  #appScreen .app-body.moss-living-editorial .agenda-travel-card em {
    grid-column: 2;
  }

  #appScreen .app-body.moss-living-editorial .monitor-local-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  #appScreen .app-body.moss-living-editorial .monitor-char-picker {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  #appScreen .app-body.moss-living-editorial .monitor-channel-grid,
#appScreen .app-body.moss-living-editorial .monitor-filter-row {
    grid-template-columns: 1fr;
  }

  #appScreen .app-body.moss-living-editorial .monitor-channel-card {
    min-height: 68px;
  }

  #wechatMain > .moss-living-wallet .wallet-adjust {
    grid-template-columns: 1fr;
  }

  #wechatMain > .moss-living-wallet .wallet-adjust > button {
    width: 100%;
  }

  #wechatMain > .moss-living-wallet .wallet-record-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  #wechatMain > .moss-living-wallet .wallet-record-amount {
    grid-column: 2;
    justify-self: start;
    max-width: 100%;
    margin-top: -2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #appScreen .app-body.moss-living-editorial *,
#appScreen .app-body.moss-living-editorial *::before,
#appScreen .app-body.moss-living-editorial *::after,
#wechatMain > .moss-living-wallet *,
#wechatMain > .moss-living-wallet *::before,
#wechatMain > .moss-living-wallet *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}


/* =========================
   Stage 7 · Living apps
   Radio, travel, private relation and forum share typography, spacing and
   paper/ink colors while preserving their own content structures.
   ========================= */

/* Radio · Living Canvas */
#appScreen .app-body.moss-living-editorial.radio-app-active {
  --ra-ink: var(--moss-live-ink);
  --ra-muted: var(--moss-live-muted);
  --ra-line: var(--moss-live-line);
  --ra-paper: var(--moss-live-paper);
  padding: 0;
  overflow-x: hidden;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial.radio-app-active > .radio-app-v2 {
  width: 100%;
  min-width: 0;
  min-height: 100%;
  padding: 14px var(--moss-live-page-x) calc(86px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial.radio-app-active :is(.radio-hub-head h1, .radio-mode-head h2) {
  margin-block: 0;
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.6vw, 22px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
}

#appScreen .app-body.moss-living-editorial.radio-app-active :is(.radio-hub-head p, .radio-mode-head p, .radio-mode-panel-lead p, .radio-podcast-lead p, .radio-empty-state p, .radio-card-v2 p, .radio-content) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.58;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial.radio-app-active .radio-zone-grid {
  gap: 10px;
  margin-top: 14px;
}

#appScreen .app-body.moss-living-editorial.radio-app-active .radio-zone {
  min-width: 0;
  min-height: 132px;
  border-radius: var(--moss-live-radius-feature);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial.radio-app-active .radio-zone-copy :is(strong, h2) {
  font-size: var(--moss-live-body-emphasis);
  line-height: 1.3;
}

#appScreen .app-body.moss-living-editorial.radio-app-active :is(.radio-mode-panel, .radio-podcast-shell, .ra-feed, .radio-card-v2, .radio-empty-state) {
  min-width: 0;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial.radio-app-active .ra-feed {
  margin-top: 12px;
  padding: 14px;
}

#appScreen .app-body.moss-living-editorial.radio-app-active .ra-feed-title {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
  font-weight: 650;
}

#appScreen .app-body.moss-living-editorial.radio-app-active :is(input, select, textarea) {
  min-width: 0;
  min-height: 42px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
  font: inherit;
  font-size: var(--moss-live-body);
}

#appScreen .app-body.moss-living-editorial.radio-app-active :is(.radio-primary-btn, .radio-subtle-btn, .radio-choice) {
  min-height: 40px;
  border-radius: var(--moss-live-radius-control);
  font-size: 13px;
}

/* Travel · Living Canvas */
#appScreen .app-body.moss-living-editorial.travel-app-body {
  padding: 0;
  overflow: hidden;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .travel-app {
  --travel-ink: var(--moss-live-ink);
  --travel-muted: var(--moss-live-muted);
  --travel-paper: var(--moss-live-paper);
  --travel-line: var(--moss-live-line);
  --travel-soft: var(--moss-live-sand);
  --travel-green: var(--moss-live-amber);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial .travel-page {
  width: 100%;
  min-width: 0;
  padding: 14px var(--moss-live-page-x) calc(82px + env(safe-area-inset-bottom));
  overflow-x: hidden;
}

#appScreen .app-body.moss-living-editorial :is(.travel-hero h1, .travel-status-card h1, .travel-map-head h1, .travel-archive-hero h1) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.6vw, 22px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .travel-section-title h2 {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
  font-weight: 650;
}

#appScreen .app-body.moss-living-editorial :is(.travel-hero p, .travel-status-card p, .travel-destination-info, .travel-itinerary-node p, .travel-map-head p, .travel-map-detail p, .travel-inbox-copy p, .travel-archive-list p, .travel-empty p) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial :is(.travel-section, .travel-ticket-card, .travel-status-card, .travel-info-grid article, .travel-inbox-item, .travel-archive-list > button, .travel-map-detail) {
  border-color: var(--moss-live-line);
  background-color: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .travel-recommend-grid,
#appScreen .app-body.moss-living-editorial .travel-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#appScreen .app-body.moss-living-editorial .travel-recommend-card {
  min-width: 0;
  min-height: 116px;
  padding: 13px;
  border-radius: var(--moss-live-radius-card);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .travel-recommend-card :is(strong, p, span) {
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial .travel-tabbar {
  min-height: 54px;
  border-color: var(--moss-live-line);
  background: color-mix(in srgb, var(--moss-live-paper) 94%, transparent);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .travel-tabbar button {
  min-width: 0;
  color: var(--moss-live-muted);
  font-size: 11px;
}

#appScreen .app-body.moss-living-editorial .travel-tabbar button.active,
#appScreen .app-body.moss-living-editorial .travel-tabbar button.active span {
  color: #fff;
}

/* Private relation · Paper with editorial accents */
#appScreen .app-body.moss-living-editorial.private-relation-app-active {
  --pr-bg: var(--moss-live-canvas);
  --pr-paper: var(--moss-live-paper);
  --pr-sand: var(--moss-live-sand);
  --pr-ink: var(--moss-live-ink);
  --pr-muted: var(--moss-live-muted);
  --pr-line: var(--moss-live-line);
  --pr-dark: var(--moss-live-rose);
  padding: 0;
  overflow-x: hidden;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .private-relation-app {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen .app-body.moss-living-editorial .private-relation-header {
  min-height: 48px;
  padding-inline: 10px;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial .private-relation-header :is(h1, strong) {
  color: var(--moss-live-ink);
  font-size: 16px;
  font-weight: 650;
}

#appScreen .app-body.moss-living-editorial .private-relation-header p {
  max-width: 100%;
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
  line-height: 1.35;
  white-space: normal;
  text-overflow: clip;
}

#appScreen .app-body.moss-living-editorial :is(.private-relation-home, .private-relation-conversation, .private-relation-archive, .private-relation-letter-desk) {
  min-width: 0;
  padding-inline: var(--moss-live-page-x);
}

#appScreen .app-body.moss-living-editorial :is(.private-relation-home-person p, .private-relation-archive p, .private-relation-message p, .private-relation-letter-card p, .private-relation-detail-content, .private-relation-quiet-empty p) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.62;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial :is(.private-relation-continue, .private-relation-thread, .private-relation-letter-card, .private-relation-today-question, .private-relation-detail-card) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial .private-relation-home-actions {
  gap: 0;
}

#appScreen .app-body.moss-living-editorial .private-relation-home-actions button {
  min-height: 54px;
  border-color: var(--moss-live-line);
  color: var(--moss-live-text);
  background: transparent;
  font-size: var(--moss-live-body);
}

#appScreen .app-body.moss-living-editorial :is(.private-relation-chat-composer textarea, .private-relation-letter-editor textarea, .private-relation-single-compose textarea) {
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
}

/* Forum · high-density paper utility */
#appScreen .app-body.moss-living-editorial:has(.forum-v4),
#appScreen .app-body.moss-living-editorial:has(.forum-v3) {
  --forum-blue: #75685d;
  --forum-blue-soft: color-mix(in srgb, #75685d 10%, var(--moss-live-paper));
  --forum-bg: var(--moss-live-canvas);
  --forum-paper: var(--moss-live-paper);
  --forum-line: var(--moss-live-line);
  --forum-text: var(--moss-live-text);
  --forum-muted: var(--moss-live-muted);
  padding: 0;
  overflow-x: hidden;
  background: var(--moss-live-canvas);
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4, .forum-v3) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial .forum-cycle-hero-copy h1 {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.6vw, 22px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
}

#appScreen .app-body.moss-living-editorial .forum-cycle-hero-copy p {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-section > header strong, .forum-v4-floor-divider span, .forum-v3-topbar strong, .forum-v3-detail-head strong) {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
  font-weight: 650;
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-post-main > strong, .forum-v3-post-title) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.45;
  font-weight: 650;
  overflow-wrap: anywhere;
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-post-preview, .forum-v3-post-preview, .forum-v3-post > p, .forum-v4-owner > p, .forum-v4-floor > p, .forum-v3-owner > p, .forum-v3-reply > p) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.62;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-hot-list, .forum-v4-board-list, .forum-v4-post-list, .forum-v4-floors, .forum-v3-feed, .forum-v3-profile-posts, .forum-v3-my-content) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-post-row, .forum-v3-post, .forum-v4-floor, .forum-v4-owner) {
  min-width: 0;
  border-color: var(--moss-live-line);
  background-color: var(--moss-live-paper);
}

#appScreen .app-body.moss-living-editorial :is(.forum-v4-replybar input, .forum-v4-replybar select, .forum-v3-dm-composer textarea, .forum-v3-compose-form input, .forum-v3-compose-form textarea, .forum-v3-compose-form select) {
  min-width: 0;
  font-size: 14px;
}

#appScreen .app-body.moss-living-editorial .forum-v4-owner h1 {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 19px;
  line-height: 1.4;
}



/* Stage 8 · Wardrobe, memory and private phone share the living typography layer. */

#appScreen .app-body.moss-living-editorial.wardrobe-app-active {
  background: var(--moss-live-canvas);
}

@media (max-width: 360px) {
  #appScreen .app-body.moss-living-editorial.radio-app-active > .radio-app-v2,
#appScreen .app-body.moss-living-editorial .travel-page,
#appScreen .app-body.moss-living-editorial :is(.private-relation-home, .private-relation-conversation, .private-relation-archive, .private-relation-letter-desk) {
    padding-inline: 14px;
  }

  #appScreen .app-body.moss-living-editorial .travel-recommend-grid,
#appScreen .app-body.moss-living-editorial .travel-info-grid {
    grid-template-columns: 1fr;
  }

  #appScreen .app-body.moss-living-editorial .radio-zone-grid {
    grid-template-columns: 1fr 1fr;
  }

  #appScreen .app-body.moss-living-editorial .forum-v4-post-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }
}

/*# source: assets/css/design-system/moss-living-editorial-apps.css */
/* Moss Living Editorial · remaining apps
   Canonical mobile visual layer for apps migrated after Stage 9.
   Structural/full-screen safety stays in the original module styles; this file owns
   typography, color, spacing, cards and controls. No !important declarations. */

#appScreen .app-body.moss-living-editorial[data-moss-app] {
  --moss-app-accent: var(--moss-live-moss);
  --moss-app-accent-soft: color-mix(in srgb, var(--moss-app-accent) 12%, var(--moss-live-paper));
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-family: var(--moss-live-font-sans);
  font-size: var(--moss-live-body);
  line-height: 1.58;
  letter-spacing: .01em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] *,
#appScreen .app-body.moss-living-editorial[data-moss-app] *::before,
#appScreen .app-body.moss-living-editorial[data-moss-app] *::after {
  box-sizing: border-box;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] :is(p, li, dd, blockquote, pre),
#appScreen .app-body.moss-living-editorial[data-moss-app] :is(.content, [class*="copy"], [class*="summary"], [class*="description"], [class*="preview"]) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] :is(input, textarea, select) {
  max-width: 100%;
  min-width: 0;
  font-family: inherit;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] textarea,
#appScreen .app-body.moss-living-editorial[data-moss-app] input[type="text"],
#appScreen .app-body.moss-living-editorial[data-moss-app] input[type="search"],
#appScreen .app-body.moss-living-editorial[data-moss-app] input[type="url"],
#appScreen .app-body.moss-living-editorial[data-moss-app] input[type="password"] {
  font-size: 16px;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] img,
#appScreen .app-body.moss-living-editorial[data-moss-app] video,
#appScreen .app-body.moss-living-editorial[data-moss-app] canvas,
#appScreen .app-body.moss-living-editorial[data-moss-app] svg {
  max-width: 100%;
}

#appScreen .app-body.moss-living-editorial[data-moss-app] :is(.button-row, [class*="-actions"], [class*="-toolbar"]) {
  min-width: 0;
}

/* ---------- World book · compact editorial directory ---------- */
#appScreen #appBody[data-moss-app="world"] {
  --moss-app-accent: #6d766a;
  padding: 0;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-split-app {
  grid-template-columns: clamp(88px, 25vw, 112px) minmax(0, 1fr);
  gap: 10px;
  padding: 12px 10px calc(18px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="world"] :is(.worldbook-sidebar, .worldbook-workspace, .worldbook-editor-card, .worldbook-card, .worldbook-empty-card, .worldbook-list-panel) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-sidebar {
  border-radius: var(--moss-live-radius-card);
  padding: 8px;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-sidebar-title {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-caption);
  letter-spacing: .12em;
}

#appScreen #appBody[data-moss-app="world"] :is(.worldbook-tab, .worldbook-group-chip) {
  min-width: 0;
  min-height: 38px;
  padding: 8px;
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-muted);
  background: transparent;
}

#appScreen #appBody[data-moss-app="world"] :is(.worldbook-tab.active, .worldbook-group-chip.active) {
  color: var(--moss-live-paper-strong);
  background: var(--moss-live-charcoal);
}

#appScreen #appBody[data-moss-app="world"] .worldbook-workspace {
  min-width: 0;
  border-radius: var(--moss-live-radius-card);
}

#appScreen #appBody[data-moss-app="world"] .worldbook-workspace-head {
  gap: 10px;
  padding: 14px;
  border-color: var(--moss-live-line);
}

#appScreen #appBody[data-moss-app="world"] .worldbook-head-copy h1 {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 20px;
  line-height: 1.22;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-head-copy p,
#appScreen #appBody[data-moss-app="world"] .worldbook-card-main p,
#appScreen #appBody[data-moss-app="world"] .worldbook-empty-card p {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#appScreen #appBody[data-moss-app="world"] :is(.worldbook-add-button, #saveWorldBookButton, #addLocalWorldBookButton) {
  min-height: 38px;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--moss-live-radius-control);
  color: #fff;
  background: var(--moss-live-charcoal);
  font-size: 12px;
}

#appScreen #appBody[data-moss-app="world"] .worldbook-card {
  border-radius: var(--moss-live-radius-card);
}

#appScreen #appBody[data-moss-app="world"] .worldbook-card-title strong {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
}

#appScreen #appBody[data-moss-app="world"] .worldbook-editor-card :is(input, textarea, select) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
}

/* ---------- Presets · paper utility ---------- */
#appScreen #appBody[data-moss-app="preset"] {
  --moss-app-accent: #74806f;
  padding: 14px var(--moss-live-page-x) calc(24px + env(safe-area-inset-bottom));
}

#appScreen #appBody[data-moss-app="preset"] .panel-stack {
  gap: 12px;
}

#appScreen #appBody[data-moss-app="preset"] :is(.panel, .preset-card) {
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="preset"] .panel {
  padding: 14px;
}

#appScreen #appBody[data-moss-app="preset"] .panel h2 {
  margin: 0 0 8px;
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
}

#appScreen #appBody[data-moss-app="preset"] :is(.panel p, .hint-text, .preset-card pre) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.58;
  white-space: pre-wrap;
}

#appScreen #appBody[data-moss-app="preset"] :is(.file-button, .secondary-button) {
  min-height: 40px;
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-sand);
  font-size: 13px;
}

#appScreen #appBody[data-moss-app="preset"] .preset-card.active {
  border-color: color-mix(in srgb, var(--moss-app-accent) 45%, var(--moss-live-line));
  background: var(--moss-app-accent-soft);
}

#appScreen #appBody[data-moss-app="preset"] .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

/* ---------- Dream · preserve atmosphere, normalize typography ---------- */
#appScreen #appBody[data-moss-app="dream"] {
  --moss-app-accent: #77758a;
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="dream"] :is(.dream-sketch-app, .dream-portal-screen, .dream-screen-01, .dream-screen-03) {
  color: var(--moss-live-text);
  background-color: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="dream"] :is(.dream-sketch-card-paper, .dream-card-paper, .dream-poem-paper, .dream-detail-box, .dream-more-sheet) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="dream"] :is(.dream-sketch-card-title, .dream-reader-title, .dream-orbit-title, .dream-scene-title) {
  font-family: var(--moss-live-font-serif);
  font-size: clamp(19px, 5.5vw, 22px);
  line-height: 1.3;
}

#appScreen #appBody[data-moss-app="dream"] :is(.dream-card-preview, .dream-poem-text, .dream-detail-section p, .dream-empty-reader p) {
  font-size: var(--moss-live-body);
  line-height: 1.7;
}

/* ---------- Video library · living media canvas; calls stay immersive ---------- */
#appScreen #appBody[data-moss-app="video"] {
  --moss-app-accent: #687d83;
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="video"] :is(.video-library, .video-detail-page) {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="video"] :is(.video-library-hero, .video-cover-card, .video-player-card, .video-generation-summary, .video-draft-editor) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="video"] :is(.video-library-hero h1, .video-detail-meta h1) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 21px;
}

#appScreen #appBody[data-moss-app="video"] :is(.video-library-hero p, .video-detail-meta p, .video-generation-summary p, .video-final-prompt) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.6;
}

#appScreen #appBody[data-moss-app="video"] :is(.video-generate-button, .video-detail-actions button) {
  min-height: 40px;
  border-radius: var(--moss-live-radius-control);
}

/* ---------- Date / gathering / theater · readable narrative shell ---------- */
#appScreen #appBody[data-moss-app="gathering"] {
  --moss-app-accent: #8a7377;
  --moss-ui-canvas: var(--moss-live-canvas);
  --moss-ui-surface: var(--moss-live-paper);
  --moss-ui-text: var(--moss-live-text);
  --moss-ui-muted: var(--moss-live-muted);
  --moss-ui-line: var(--moss-live-line);
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="gathering"] .gathering-app {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="gathering"] :is(.gathering-library-head, .gathering-session-card, .gathering-editor, .gathering-scene, .gathering-story) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="gathering"] :is(.gathering-library-head h1, .gathering-scene-head h2) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(19px, 5.5vw, 22px);
  line-height: 1.28;
}

#appScreen #appBody[data-moss-app="gathering"] :is(.gathering-story-line, .gathering-user-line, .gathering-empty p) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.72;
}

#appScreen #appBody[data-moss-app="gathering"] .gathering-composer textarea {
  font-size: 16px;
}

/* ---------- Haven · keep the room, unify overlays and controls ---------- */
#appScreen #appBody[data-moss-app="haven"] {
  --moss-app-accent: #807779;
}

#appScreen #appBody[data-moss-app="haven"] :is(.haven-v4-modal-card, .haven-panel, .haven-memory-card, .haven-card-quote, .haven-empty) {
  border-color: var(--moss-live-line);
  color: var(--moss-live-text);
  background: color-mix(in srgb, var(--moss-live-paper) 96%, transparent);
  box-shadow: 0 14px 34px rgba(25, 24, 21, .12);
}

#appScreen #appBody[data-moss-app="haven"] :is(.haven-v4-modal-head h2, .haven-panel-head h2) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 19px;
}

#appScreen #appBody[data-moss-app="haven"] :is(.haven-narrative, .haven-memory-card p, .haven-card-quote, .haven-empty p) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.7;
}

#appScreen #appBody[data-moss-app="haven"] :is(.haven-small-btn, .haven-panel-actions button, .haven-v4-control-btn) {
  min-height: 38px;
  border-radius: var(--moss-live-radius-control);
}

/* ---------- Ying · report editorial ---------- */
#appScreen #appBody[data-moss-app="ying"] {
  --moss-app-accent: #6c7480;
}

#appScreen #appBody[data-moss-app="ying"] .ying-app {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="ying"] :is(.ying-report-paper, .ying-field-card, .ying-setting-group, .ying-history-list, .ying-sheet, .ying-space-choice, .ying-empty-state) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="ying"] :is(.ying-wordmark, .ying-report-cover h1, .ying-home-head h1) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.8vw, 23px);
}

#appScreen #appBody[data-moss-app="ying"] :is(.ying-narrative-value, .ying-field-value, .ying-summary, .ying-report-section p, .ying-empty-state p) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.68;
}

/* ---------- Co-reading / fanfic · reading first ---------- */
#appScreen #appBody[data-moss-app="coread"] {
  --moss-app-accent: #7b7265;
  --skin-bg: var(--moss-live-canvas);
  --skin-text: var(--moss-live-text);
  --skin-title: var(--moss-live-ink);
  --skin-muted: var(--moss-live-muted);
  --skin-border: var(--moss-live-line);
  --skin-accent: var(--moss-app-accent);
  --ed-bg: var(--moss-live-canvas);
  --ed-paper: var(--moss-live-paper);
  --ed-text: var(--moss-live-text);
  --ed-muted: var(--moss-live-muted);
  --ed-line: var(--moss-live-line);
  --ed-accent: var(--moss-app-accent);
  --ed-accent-soft: var(--moss-app-accent-soft);
}

#appScreen #appBody[data-moss-app="coread"] .coread-app {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="coread"] :is(.coread-card, .coread-library-book, .coread-modern-book, .coread-chart-card, .coread-profile-card) {
  border-color: var(--moss-live-line);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="coread"] :is(.coread-modern-title, .coread-library-title, .coread-page-title) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.6vw, 23px);
  line-height: 1.28;
}

#appScreen #appBody[data-moss-app="coread"] :is(.coread-modern-text, .coread-text, .coread-inline-notes) {
  color: var(--moss-live-text);
  font-size: 16px;
  line-height: 1.78;
  overflow-wrap: anywhere;
}

/* ---------- Live · paper lobby, immersive room ---------- */
#appScreen #appBody[data-moss-app="live"] {
  --moss-app-accent: #84727a;
}

#appScreen #appBody[data-moss-app="live"] .live-app {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="live"] :is(.live-home-scroll, .live-prep-scroll, .live-detail-scroll) {
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="live"] :is(.live-home-hero, .live-active-card, .live-preflight-card, .live-form-section, .live-history-row, .live-empty-state) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background-color: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="live"] :is(.live-page-title, .live-home-hero h1, .live-detail-title) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(19px, 5.5vw, 22px);
}

#appScreen #appBody[data-moss-app="live"] :is(.live-home-hero p, .live-active-copy p, .live-field-label, .live-detail-host-speech, .live-comment) {
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen #appBody[data-moss-app="live"] :is(.live-caption-zone, .live-composer-shell) {
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="live"] .live-comment-form textarea,
#appScreen #appBody[data-moss-app="live"] .live-composer-shell textarea {
  font-size: 16px;
}

/* ---------- Music · colorful content, quiet chrome ---------- */
#appScreen #appBody[data-moss-app="music"] {
  --moss-app-accent: #66785f;
  --tone-bg: var(--moss-live-canvas);
  --tone-surface: var(--moss-live-paper);
  --tone-text: var(--moss-live-text);
  --tone-muted: var(--moss-live-muted);
  --tone-line: var(--moss-live-line);
}

#appScreen #appBody[data-moss-app="music"] :is(.music-app, .music-cloud-app, .music-playlist-page, .music-custom-playlist-page) {
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="music"] :is(.music-card, .music-panel, .music-collection-card, .music-local-card, .music-custom-list-card, .music-account-playlist, .music-empty) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="music"] :is(.music-hero h1, .music-cloud-hero h1, .music-collection-title, .music-selected-playlist-head h2) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: clamp(20px, 5.6vw, 23px);
}

#appScreen #appBody[data-moss-app="music"] :is(.music-song-row, .music-playlist-track, .music-cloud-item) {
  min-width: 0;
  border-color: var(--moss-live-line);
  background: transparent;
}

#appScreen #appBody[data-moss-app="music"] :is(.music-song-main strong, .music-playlist-track-main strong) {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
}

#appScreen #appBody[data-moss-app="music"] :is(.music-song-main small, .music-playlist-track-main small, .music-hint) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
}

#appScreen #appBody[data-moss-app="music"] :is(.music-add, .music-import-btn, .music-cloud-refresh, .music-playlist-play-all) {
  min-height: 40px;
  border-radius: var(--moss-live-radius-control);
  color: #fff;
  background: var(--moss-live-charcoal);
}



/* ---------- Co-create · living studio, business flow unchanged ---------- */
#appScreen #appBody[data-moss-app="cocreate"] {
  --moss-app-accent: #66785f;
  padding: 0;
  background: var(--moss-live-canvas);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-shell {
  --cc-ink: var(--moss-live-ink);
  --cc-muted: var(--moss-live-muted);
  --cc-line: var(--moss-live-line);
  --cc-green: var(--moss-app-accent);
  --cc-green-soft: color-mix(in srgb, var(--moss-app-accent) 13%, var(--moss-live-paper));
  --cc-blue: var(--moss-live-blue);
  width: 100%;
  max-width: 100%;
  padding: 14px var(--moss-live-page-x) calc(28px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-family: var(--moss-live-font-sans);
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-hero {
  padding: 10px 2px 18px;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-hero h1, .cocreate-form-card h1) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.025em;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-hero p, .cocreate-form-card header p, .cocreate-editor-head p) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-section {
  margin-bottom: 18px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-section-title {
  gap: 10px;
  margin: 0 2px 10px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-section-title > span {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-heading);
  font-weight: 650;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-recent-card, .cocreate-form-card, .cocreate-lyrics-card, .cocreate-suggestion-card, .cocreate-talk-card, .cocreate-recording-form, .cocreate-player-card, .cocreate-writing-card) {
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-recent-card {
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-cover {
  border-radius: var(--moss-live-radius-card);
  background:
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.78), transparent 25%),
    linear-gradient(145deg, color-mix(in srgb, var(--moss-app-accent) 24%, #e6ebe4), color-mix(in srgb, var(--moss-live-blue) 20%, #ece9e2));
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-cover > span {
  color: color-mix(in srgb, var(--moss-app-accent) 78%, var(--moss-live-ink));
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-recent-card h2 {
  margin: 4px 0 3px;
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 19px;
  white-space: normal;
  overflow-wrap: anywhere;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-recent-card small, .cocreate-recent-card p, .cocreate-project-card-main small, .cocreate-project-card-main em, .cocreate-quick-note, .cocreate-form-card fieldset > small, .cocreate-vocal-field > small) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-small);
  line-height: 1.5;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-primary-pill, .cocreate-record-actions > button:first-child) {
  min-height: 42px;
  border-radius: var(--moss-live-radius-control);
  color: #fff;
  background: var(--moss-live-charcoal);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-secondary-pill, .cocreate-head-actions button, .cocreate-head-tools > button, .cocreate-card-heading button, .cocreate-discussion header button, .cocreate-player-actions button, .cocreate-version-card button) {
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-sand);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-tabs {
  padding: 3px;
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-sand);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-tabs button {
  min-height: 32px;
  color: var(--moss-live-muted);
  background: transparent;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-tabs button.active {
  color: #fff;
  background: var(--moss-live-charcoal);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-project-list {
  gap: 8px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-project-card {
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-project-card-main strong {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-empty {
  border: 1px dashed color-mix(in srgb, var(--moss-live-muted) 32%, transparent);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-muted);
  background: color-mix(in srgb, var(--moss-live-paper) 74%, transparent);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-form-card input, .cocreate-form-card select, .cocreate-form-card textarea, .cocreate-recording-form textarea, .cocreate-composer textarea, .cocreate-composer select) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
  font-size: 16px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-choice span {
  min-height: 40px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
  font-size: 13px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-choice input:checked + span {
  border-color: color-mix(in srgb, var(--moss-app-accent) 42%, var(--moss-live-line));
  color: var(--moss-live-ink);
  background: color-mix(in srgb, var(--moss-app-accent) 13%, var(--moss-live-paper));
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-alert, .cocreate-generation-status, .cocreate-quick-explain) {
  border-color: color-mix(in srgb, var(--moss-app-accent) 28%, var(--moss-live-line));
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: color-mix(in srgb, var(--moss-app-accent) 11%, var(--moss-live-paper));
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-card-heading strong, .cocreate-writing-card strong) {
  color: var(--moss-live-ink);
  font-size: var(--moss-live-body-emphasis);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-lyrics-section {
  border-color: var(--moss-live-line);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-line {
  min-width: 0;
  color: var(--moss-live-text);
  font-size: var(--moss-live-body-emphasis);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-candidate, .cocreate-discussion, .cocreate-recording-form > section, .cocreate-composer) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-discussion.user {
  background: color-mix(in srgb, var(--moss-live-blue) 9%, var(--moss-live-paper));
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-discussion.assistant {
  background: color-mix(in srgb, var(--moss-app-accent) 9%, var(--moss-live-paper));
}

#appScreen #appBody[data-moss-app="cocreate"] :is(.cocreate-candidate p, .cocreate-discussion blockquote, .cocreate-discussion p, .cocreate-discussion li) {
  color: var(--moss-live-text);
  font-size: var(--moss-live-body);
  line-height: 1.65;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-action-backdrop section {
  border-radius: var(--moss-live-radius-sheet);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-player-card {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-player-meta strong {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 18px;
  white-space: normal;
  overflow-wrap: anywhere;
}

#appScreen #appBody[data-moss-app="cocreate"] .cocreate-version-card {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
}

@media (max-width: 360px) {
  #appScreen #appBody[data-moss-app="cocreate"] .cocreate-recent-card,
#appScreen #appBody[data-moss-app="cocreate"] .cocreate-player-card {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  #appScreen #appBody[data-moss-app="cocreate"] .cocreate-head-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ---------- MCP · compact system utility ---------- */
#appScreen #appBody[data-moss-app="mcp"] {
  --moss-app-accent: #6c7880;
  padding: 0;
}

#appScreen #appBody[data-moss-app="mcp"] .mcp-app {
  min-width: 0;
  padding: 12px var(--moss-live-page-x) calc(26px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="mcp"] .mcp-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  background: var(--moss-live-paper);
}

#appScreen #appBody[data-moss-app="mcp"] .mcp-tabs button {
  min-width: 0;
  min-height: 36px;
  border-radius: 9px;
  color: var(--moss-live-muted);
  background: transparent;
  font-size: 11px;
}

#appScreen #appBody[data-moss-app="mcp"] .mcp-tabs button.active {
  color: #fff;
  background: var(--moss-live-charcoal);
}

#appScreen #appBody[data-moss-app="mcp"] :is(.mcp-hero, .mcp-section, .mcp-catalog-card, .mcp-server-card, .mcp-editor, .mcp-adapter-panel, .mcp-privacy-card, .mcp-activity-list, .mcp-empty) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="mcp"] :is(.mcp-hero h1, .mcp-editor-head h2) {
  color: var(--moss-live-ink);
  font-family: var(--moss-live-font-serif);
  font-size: 20px;
}

#appScreen #appBody[data-moss-app="mcp"] :is(.mcp-catalog-card p, .mcp-server-main p, .mcp-adapter-panel p, .mcp-privacy-row p, .mcp-editor-head p) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.58;
}

#appScreen #appBody[data-moss-app="mcp"] :is(.mcp-editor input, .mcp-editor textarea, .mcp-editor select) {
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper-strong);
}

/* ---------- Shop · warm commerce without template gradients ---------- */
#appScreen #appBody[data-moss-app="shop"] {
  --moss-app-accent: #8c745f;
  padding: 0;
}

#appScreen #appBody[data-moss-app="shop"] .shop-app {
  gap: 12px;
  padding: 14px var(--moss-live-page-x) calc(24px + env(safe-area-inset-bottom));
  color: var(--moss-live-text);
  background: var(--moss-live-canvas);
  font-size: var(--moss-live-body);
}

#appScreen #appBody[data-moss-app="shop"] .shop-hero {
  min-height: 128px;
  padding: 16px;
  border: 0;
  border-radius: var(--moss-live-radius-feature);
  color: #fff;
  background: var(--moss-live-charcoal);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="shop"] .shop-hero h2 {
  margin: 0;
  color: #fff;
  font-family: var(--moss-live-font-serif);
  font-size: 22px;
}

#appScreen #appBody[data-moss-app="shop"] .shop-hero p {
  max-width: 24em;
  color: rgba(255,255,255,.72);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen #appBody[data-moss-app="shop"] .shop-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

#appScreen #appBody[data-moss-app="shop"] .shop-search-row :is(input, button),
#appScreen #appBody[data-moss-app="shop"] .shop-tabs button {
  min-height: 40px;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-control);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
}

#appScreen #appBody[data-moss-app="shop"] .shop-tabs button.active {
  color: #fff;
  background: var(--moss-live-charcoal);
}

#appScreen #appBody[data-moss-app="shop"] .shop-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#appScreen #appBody[data-moss-app="shop"] :is(.shop-card, .shop-cart-row, .shop-order-card, .shop-event-card, .shop-empty) {
  min-width: 0;
  border-color: var(--moss-live-line);
  border-radius: var(--moss-live-radius-card);
  color: var(--moss-live-text);
  background: var(--moss-live-paper);
  box-shadow: none;
}

#appScreen #appBody[data-moss-app="shop"] :is(.shop-card-desc, .shop-card-reason, .shop-card-meta, .shop-order-card p, .shop-empty p) {
  color: var(--moss-live-muted);
  font-size: var(--moss-live-body);
  line-height: 1.55;
}

#appScreen #appBody[data-moss-app="shop"] :is(.shop-generate-button, .shop-confirm-button) {
  min-height: 40px;
  border-radius: var(--moss-live-radius-control);
  color: #fff;
  background: var(--moss-live-charcoal);
}

/* ---------- Mobile density and overflow ---------- */
@media (max-width: 380px) {
  #appScreen #appBody[data-moss-app="world"] .worldbook-split-app {
    grid-template-columns: 1fr;
    align-content: start;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-sidebar {
    display: grid;
    gap: 6px;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-tab-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-tab {
    padding: 7px 3px;
    text-align: center;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-tab-label,
#appScreen #appBody[data-moss-app="world"] .worldbook-tab em,
#appScreen #appBody[data-moss-app="world"] .worldbook-sidebar-title {
    display: none;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-tab-short {
    display: block;
    font-size: 11px;
  }

  #appScreen #appBody[data-moss-app="world"] .worldbook-group-list,
#appScreen #appBody[data-moss-app="world"] .worldbook-head-actions,
#appScreen #appBody[data-moss-app="preset"] .button-row,
#appScreen #appBody[data-moss-app="mcp"] :is(.mcp-editor-actions, .mcp-json-actions) {
    display: flex;
    flex-wrap: wrap;
  }

  #appScreen #appBody[data-moss-app="shop"] .shop-grid {
    grid-template-columns: 1fr;
  }

  #appScreen #appBody[data-moss-app="mcp"] .mcp-tabs button {
    padding-inline: 4px;
    font-size: 10.5px;
  }
}

/*# source: assets/css/runtime/moss-viewport-lock.css */
/*
 * Moss Skeleton v2 · Stage 2 viewport contract
 *
 * This file is deliberately loaded after legacy and feature CSS. It owns only
 * the outer device boundary. App-specific layout remains inside each app's
 * intentional scroll container. The few !important declarations here are
 * platform invariants, not visual overrides.
 */

:root {
  --moss-root-height: 100dvh;
  --moss-viewport-height: var(--moss-root-height);
  --app-height: var(--moss-root-height);
  --standalone-full-height: var(--moss-root-height);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --moss-viewport-width: 100vw;
  --moss-frame-width: 100%;
  --moss-frame-height: 100%;
  --moss-frame-left: 0px;
  --moss-frame-top: 0px;
  --moss-frame-radius: 0px;
}

/*
 * viewport-fit=cover makes the installed iOS layout viewport edge-to-edge.
 * Because a Home Screen app has no collapsing browser toolbar, 100vh is the
 * stable outer canvas. The runtime must not replace it with VisualViewport
 * pixels: that coordinate can exclude system insets and recreate the 59pt
 * bottom gap. Safe-area values remain inner spacing and are never added to the
 * outer height.
 */
html.ios-pwa-standalone {
  --moss-root-height: 100vh;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

/*
 * The outer chain has exactly one fixed owner: body. This mirrors both the
 * 464.9.153 iOS shell and the Virtual Phone runtime. html remains the WebKit
 * canvas; descendants fill their parent instead of opening another fixed
 * viewport/compositor.
 */
html.moss-viewport-locked {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  box-sizing: border-box !important;
  background:
    var(--wallpaper-image, var(--skin-home, #101216))
    center / cover no-repeat !important;
}

html.moss-viewport-locked.ios-pwa-standalone {
  height: var(--moss-root-height) !important;
  min-height: var(--moss-root-height) !important;
  max-height: var(--moss-root-height) !important;
}

html.moss-viewport-locked body {
  position: fixed !important;
  inset: 0 !important;
  width: var(--moss-viewport-width, 100vw) !important;
  min-width: 0 !important;
  max-width: var(--moss-viewport-width, 100vw) !important;
  height: var(--moss-root-height, 100dvh) !important;
  min-height: var(--moss-root-height, 100dvh) !important;
  max-height: var(--moss-root-height, 100dvh) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  box-sizing: border-box !important;
  background:
    var(--wallpaper-image, var(--skin-home, #101216))
    center / cover no-repeat !important;
  touch-action: manipulation;
  -webkit-overflow-scrolling: auto;
}

/*
 * Keep every layer behind the active screen on the same wallpaper canvas. This
 * prevents WebKit's system-bar hand-off or a subpixel screen edge from exposing
 * the theme's opaque phone background.
 */
html.moss-viewport-locked.ios-pwa-standalone .device-shell,
html.moss-viewport-locked.ios-pwa-standalone .phone {
  background:
    var(--wallpaper-image, var(--skin-home, #101216))
    center / cover no-repeat !important;
}

html.moss-viewport-locked .device-shell {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: block !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  box-sizing: border-box !important;
}

html.moss-viewport-locked .phone {
  position: absolute !important;
  left: var(--moss-frame-left, 0px) !important;
  top: var(--moss-frame-top, 0px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--moss-frame-width, 100vw) !important;
  min-width: 0 !important;
  max-width: var(--moss-frame-width, 100vw) !important;
  height: var(--moss-frame-height, var(--moss-root-height, 100dvh)) !important;
  min-height: 0 !important;
  max-height: var(--moss-frame-height, var(--moss-root-height, 100dvh)) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  border-radius: var(--moss-frame-radius, 0px) !important;
  box-sizing: border-box !important;
}

html.moss-viewport-locked .phone > .screen,
html.moss-viewport-locked .phone > .home-screen,
html.moss-viewport-locked .phone > .app-screen {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  box-sizing: border-box !important;
}

html.moss-viewport-locked .app-screen,
html.moss-viewport-locked .app-body,
html.moss-viewport-locked .home-content,
html.moss-viewport-locked .chat-layout,
html.moss-viewport-locked .wechat-shell {
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
}

html.moss-viewport-locked .app-body {
  width: 100% !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior-x: none !important;
  overscroll-behavior-y: contain !important;
}

html.moss-viewport-locked :where(
  .moss-v2-scroll,
  [data-moss-scroll-y],
  .messages,
  #messages,
  .group-message-list,
  .encounter-chat-messages,
  .gathering-story,
  .mock-phone-bubbles,
  .wechat-main,
  .desktop-widgets-page,
  .desktop-apps-page
) {
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

html.moss-viewport-locked :where(img, video, canvas) {
  max-width: 100%;
}

html.moss-viewport-locked.moss-desktop-preview .device-shell {
  background:
    radial-gradient(circle at 24% 12%, rgba(255, 255, 255, 0.10), transparent 34%),
    #16181c !important;
}

html.moss-viewport-locked.moss-desktop-preview .phone {
  --moss-frame-radius: 34px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.08);
}

html.moss-viewport-locked.moss-desktop-preview .phone > .screen {
  border-radius: inherit;
}

/* html never becomes a second fixed root. The keyboard controller owns only
   the shorter, translated body inside the stable WebKit canvas. */
html.moss-viewport-locked.keyboard-open {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html.moss-viewport-locked.keyboard-open body.keyboard-open {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  min-height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  max-height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  overflow: hidden !important;
  transform: translate3d(0, var(--visual-viewport-top, 0px), 0) !important;
  transform-origin: 0 0 !important;
}

html.moss-viewport-locked.keyboard-open body.keyboard-open .device-shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  transform: none !important;
}

html.moss-viewport-locked.keyboard-open body.keyboard-open .phone {
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  border-radius: 0 !important;
}

/* Android already resizes visualViewport when the IME opens. Keep its root and
   frame on that live height, without the iOS offset/safe-area compensation. */
html.moss-viewport-locked.moss-android-platform.keyboard-open {
  --safe-bottom: 0px !important;
}

html.moss-viewport-locked.moss-android-platform.keyboard-open body.keyboard-open {
  position: fixed !important;
  inset: 0 !important;
  height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  min-height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  max-height: var(--visible-height, var(--moss-root-height, 100dvh)) !important;
  transform: none !important;
}

/*# source: assets/css/runtime/moss-pwa-fullscreen.css */
/* Moss Skeleton v2 · Stage 3 PWA fullscreen contract */

:root {
  --moss-system-safe-top: env(safe-area-inset-top, 0px);
  --moss-system-safe-right: env(safe-area-inset-right, 0px);
  --moss-system-safe-bottom: env(safe-area-inset-bottom, 0px);
  --moss-system-safe-left: env(safe-area-inset-left, 0px);
}

html.moss-fullscreen-active {
  --moss-system-safe-top: 0px;
  --moss-system-safe-right: 0px;
  --moss-system-safe-bottom: 0px;
  --moss-system-safe-left: 0px;
  --moss-frame-radius: 0px;
}

html.moss-fullscreen-active,
html.moss-fullscreen-active body,
html:fullscreen,
html:fullscreen body {
  background: #1f1f22;
  overflow: hidden;
  overscroll-behavior: none;
}

html.moss-fullscreen-active .device-shell,
html.moss-fullscreen-active .phone,
html:fullscreen .device-shell,
html:fullscreen .phone {
  border-radius: 0;
  max-width: 100%;
  max-height: 100%;
}

/*
 * In an installed iOS app, the outer app screen is the visual canvas, not a
 * safe-area spacer. Giving this flex container bottom padding shortens
 * .app-body and exposes --phone-bg as a solid strip above the Home Indicator.
 * App-specific bottom bars and scroll surfaces already own their safe-area
 * insets, so the canvas itself must keep painting through the bottom edge.
 */
html.moss-viewport-locked.ios-pwa-standalone .phone > .app-screen {
  padding-bottom: 0 !important;
}

html.moss-viewport-locked.ios-pwa-standalone .phone > .app-screen > .app-body {
  scroll-padding-bottom: var(--safe-bottom);
}

/* iOS does not expose Android-style immersive fullscreen. In a Home Screen web
   app black-translucent keeps the native status bar visible while allowing the
   Moss surface to render behind it. */
html.moss-ios-edge-to-edge,
html.moss-ios-edge-to-edge body,
html.moss-ios-edge-to-edge .device-shell {
  background: #1f1f22;
}

@media (display-mode: fullscreen) {
  html,
  body,
  .device-shell,
  .phone {
    border-radius: 0;
    overscroll-behavior: none;
  }
}

