/* v1.10.5 · local settings previews, story-reactive atmosphere, realistic messages/forum */

/* ---------- Settings previews: stay in normal document flow, beside the controls they explain ---------- */
.settings-inline-preview{
  position:relative;
  width:calc(100% - 10px);
  margin:5px 5px 9px;
  padding:10px 11px;
  overflow:hidden;
  border:1px solid rgba(144,101,67,.19);
  border-radius:10px;
  background:
    radial-gradient(circle at 88% 5%,rgba(214,171,113,.16),transparent 34%),
    linear-gradient(180deg,rgba(255,253,248,.76),rgba(244,233,215,.66));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 5px 14px rgba(72,48,30,.045);
  color:#594132;
  isolation:isolate;
}
.settings-inline-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
}
.settings-inline-preview>small{
  display:block;
  margin-bottom:7px;
  font:600 8px/1.2 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.12em;
  color:#9a7658;
  text-transform:uppercase;
}
.settings-v2-section>.settings-inline-preview{
  scroll-margin-top:78px;
}

/* reading preview */
.preview-reading p,.preview-reading blockquote{
  margin:0;
  font-family:"Noto Serif SC","Songti SC",serif;
  color:inherit;
}
.preview-reading p{font-size:13px;line-height:1.75;letter-spacing:.035em}
.preview-reading blockquote{
  margin-top:7px;
  padding:7px 9px;
  border-left:2px solid rgba(150,107,72,.32);
  background:rgba(255,252,247,.36);
  font-size:11px;
  line-height:1.65;
  color:#826b58;
}
#settingsV2Form[data-preview-font="soft"] .preview-reading p,
#settingsV2Form[data-preview-font="soft"] .preview-reading blockquote{font-family:"Kaiti SC","STKaiti","Noto Serif SC",serif}
#settingsV2Form[data-preview-font="clear"] .preview-reading p,
#settingsV2Form[data-preview-font="clear"] .preview-reading blockquote{font-family:ui-sans-serif,-apple-system,"PingFang SC",sans-serif;letter-spacing:.01em}
#settingsV2Form[data-preview-size="small"] .preview-reading p{font-size:11.5px}
#settingsV2Form[data-preview-size="small"] .preview-reading blockquote{font-size:10px}
#settingsV2Form[data-preview-size="large"] .preview-reading p{font-size:15px}
#settingsV2Form[data-preview-size="large"] .preview-reading blockquote{font-size:12px}
#settingsV2Form[data-preview-theme="dark"] .settings-inline-preview{
  color:#eadbc8;
  border-color:rgba(224,184,144,.14);
  background:radial-gradient(circle at 88% 5%,rgba(170,125,83,.12),transparent 34%),linear-gradient(180deg,rgba(62,52,43,.92),rgba(43,37,31,.91));
}
#settingsV2Form[data-preview-theme="dark"] .preview-reading blockquote{color:#c3ad96;background:rgba(255,247,232,.035);border-left-color:rgba(222,179,136,.27)}

/* generation */
.preview-generation p{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:12px;line-height:1.6;color:#654b39}
#settingsV2Form[data-preview-theme="dark"] .preview-generation p{color:#dfc9b2}
.preview-generation p::before{content:"✦";margin-right:7px;color:#a67d59}

/* status */
.preview-status>div{display:flex;flex-wrap:wrap;gap:6px}
.preview-status b,.preview-status em{
  min-height:27px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  font-style:normal;
  font-size:10px;
  font-weight:500;
  color:#5d725f;
  background:rgba(93,124,99,.11);
  border:1px solid rgba(92,122,98,.14);
}
.preview-status em{color:#876344;background:rgba(166,119,76,.10);border-color:rgba(166,119,76,.14)}
.preview-status.is-animated b,.preview-status.is-animated em{animation:v1105StatusFloat 1.65s ease-in-out infinite}
.preview-status.is-animated em{animation-delay:.12s}
.preview-status:not(.show-all) .extra-status{display:none}
.preview-status[hidden]{display:block!important;opacity:.42;filter:saturate(.3)}
.preview-status[hidden]>div::after{content:"正式阅读时隐藏";font-size:9px;color:#8f7b69;align-self:center;margin-left:3px}

/* home preview */
.preview-home>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center}
.preview-home i{width:42px;height:50px;border-radius:5px 10px 10px 5px;background:linear-gradient(145deg,#d7bea0,#a98765);box-shadow:inset 5px 0 9px rgba(73,45,26,.13),0 5px 10px rgba(75,49,30,.08)}
.preview-home span{min-width:0}.preview-home b,.preview-home em{display:block;font-style:normal;font-family:"Noto Serif SC","Songti SC",serif}.preview-home b{font-size:13px}.preview-home em{margin-top:4px;font-size:9px;color:#927c68}
#settingsV2Form[data-preview-home="immersive"] .preview-home{background:linear-gradient(180deg,rgba(80,54,35,.82),rgba(52,36,24,.9));color:#f5e8d6}
#settingsV2Form[data-preview-home="immersive"] .preview-home em{color:#cfb79d}
#settingsV2Form[data-preview-home="simple"] .preview-home i{border-radius:9px;background:linear-gradient(145deg,#e7d8c3,#c4a783)}
#settingsV2Form[data-preview-density="compact"] .preview-home em{display:none}
#settingsV2Form[data-preview-density="rich"] .preview-home span::after{content:"新的线索已记录";display:block;margin-top:5px;font-size:8px;color:#9b6c47}

/* atmosphere preview */
.preview-atmosphere-window{
  position:relative;
  min-height:82px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-radius:8px;
  padding:9px;
  background:
    linear-gradient(180deg,rgba(41,52,62,.16),rgba(42,33,26,.38)),
    radial-gradient(circle at 76% 22%,rgba(246,204,135,.52),transparent 18%),
    linear-gradient(135deg,#9aa3a1,#4d5a5d 55%,#2f3334);
  box-shadow:inset 0 0 24px rgba(18,24,27,.32);
}
.preview-atmosphere-window::before{
  content:"";
  position:absolute;
  inset:-20% 0;
  opacity:calc(.12 + var(--preview-intensity,.5)*.68);
  background:repeating-linear-gradient(104deg,transparent 0 13px,rgba(225,237,239,.32) 14px 15px,transparent 16px 26px);
  transform:translateY(-8px);
  animation:v1105PreviewRain 1.2s linear infinite;
}
.preview-atmosphere-window span{position:absolute;right:22px;top:20px;width:9px;height:9px;border-radius:50%;background:#ffd89f;box-shadow:0 0 calc(12px + 28px*var(--preview-intensity,.5)) rgba(255,207,137,.9)}
.preview-atmosphere-window p{position:relative;z-index:1;margin:0;color:#fff7ea;font-size:9px;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.preview-atmosphere[data-preview-enabled="off"] .preview-atmosphere-window::before{display:none}
.preview-atmosphere[data-preview-enabled="off"] .preview-atmosphere-window{filter:saturate(.45);background:linear-gradient(180deg,#c9c4ba,#9d968b)}

/* dialogue preview: actual response to bubble/card/plain, avatar and line spacing */
.preview-dialogue-line{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:end}
.preview-dialogue-line>i{
  width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  font:600 13px/1 "Noto Serif SC","Songti SC",serif;font-style:normal;
  color:#fff8ee;background:linear-gradient(145deg,#b69b79,#887057);border:2px solid rgba(255,250,240,.85);
  box-shadow:0 3px 8px rgba(69,45,29,.11)
}
.preview-dialogue-line>span{min-width:0;padding:8px 10px;border:1px solid rgba(145,103,70,.18);border-radius:5px 13px 13px 13px;background:rgba(255,252,247,.70)}
.preview-dialogue-line b{display:block;margin-bottom:3px;font-size:9px;color:#8b6b50}.preview-dialogue-line p{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:11px;line-height:1.58;color:inherit}
#settingsV2Form[data-preview-dialogue="bubble"] .preview-dialogue-line>span{border-radius:16px 6px 16px 16px;background:rgba(255,252,247,.93);box-shadow:0 4px 12px rgba(70,46,29,.06)}
#settingsV2Form[data-preview-dialogue="plain"] .preview-dialogue-line{grid-template-columns:1fr}
#settingsV2Form[data-preview-dialogue="plain"] .preview-dialogue-line>i{display:none}
#settingsV2Form[data-preview-dialogue="plain"] .preview-dialogue-line>span{padding:4px 0 4px 9px;border:0;border-left:2px solid rgba(144,99,65,.33);border-radius:0;background:transparent}
#settingsV2Form[data-preview-avatar="hide"] .preview-dialogue-line{grid-template-columns:1fr}
#settingsV2Form[data-preview-avatar="hide"] .preview-dialogue-line>i{display:none}
#settingsV2Form[data-preview-layout="compact"] .preview-dialogue-line p{line-height:1.32}
#settingsV2Form[data-preview-layout="relaxed"] .preview-dialogue-line p{line-height:1.95}
#settingsV2Form[data-preview-theme="dark"] .preview-dialogue-line>span{background:rgba(255,247,233,.045);border-color:rgba(226,186,146,.16)}

/* input preview */
.preview-input>div{display:grid;grid-template-columns:minmax(0,1fr) 31px;align-items:center;gap:7px;min-height:36px;padding:4px 4px 4px 11px;border:1px solid rgba(145,103,70,.18);border-radius:999px;background:rgba(255,252,247,.66)}
.preview-input span{font-size:10px;color:#9a8776}.preview-input b{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#9b7351;color:#fff8ee;font-size:12px}
#settingsV2Form[data-preview-input="flow"] .preview-input>div{border-radius:8px;margin:0 14px 0 0}
#settingsV2Form[data-preview-input-help="off"] .preview-input span{font-size:0}
#settingsV2Form[data-preview-input-help="off"] .preview-input span::after{content:"输入自定义行动";font-size:10px}

/* API */
.preview-api p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.preview-api b{font:600 11px/1.4 ui-sans-serif,system-ui,sans-serif;color:#654936}.preview-api span{font-size:9px;color:#8e7662;text-align:right}
#settingsV2Form[data-preview-theme="dark"] .preview-api b{color:#ead8c2}
.is-disabled-row{opacity:.5}.is-disabled-row .settings-v2-segments{pointer-events:none}

/* real-time previews should never float over unrelated controls */
.settings-inline-preview,.settings-inline-preview *{pointer-events:none}
.settings-v2-applybar{position:sticky!important}

/* ---------- Story-reactive display ---------- */
body[data-scene-dynamics="on"] .game-page{isolation:isolate}
body[data-scene-dynamics="on"] .game-page::after{
  display:block!important;
  content:"";
  position:fixed;
  z-index:0;
  inset:58px 0 var(--composer-h,78px);
  pointer-events:none;
  opacity:calc(.08 + var(--background-intensity-value,.5)*.31);
  transition:opacity .45s ease,background .55s ease,filter .55s ease;
  background:radial-gradient(circle at 74% 16%,rgba(231,190,129,.18),transparent 34%);
}
body[data-scene-dynamics="on"][data-scene-mood="rain"] .game-page::after{
  background:
    repeating-linear-gradient(105deg,transparent 0 31px,rgba(122,151,158,.14) 32px 33px,transparent 34px 62px),
    radial-gradient(circle at 76% 18%,rgba(220,180,115,.18),transparent 28%),
    linear-gradient(180deg,rgba(83,106,114,.14),rgba(52,64,68,.08));
  animation:v1105SceneRain 2.4s linear infinite;
}
body[data-scene-dynamics="on"][data-scene-mood="cold"] .game-page::after{background:radial-gradient(circle at 70% 10%,rgba(208,232,239,.28),transparent 32%),linear-gradient(180deg,rgba(126,160,171,.12),transparent 72%);filter:saturate(.72)}
body[data-scene-dynamics="on"][data-scene-mood="danger"] .game-page::after{background:radial-gradient(circle at 20% 8%,rgba(150,55,42,.18),transparent 30%),linear-gradient(180deg,rgba(124,42,33,.08),transparent 65%);animation:v1105DangerBreath 2.1s ease-in-out infinite}
body[data-scene-dynamics="on"][data-scene-mood="mystic"] .game-page::after{background:radial-gradient(circle at 72% 15%,rgba(117,105,176,.20),transparent 34%),radial-gradient(circle at 24% 70%,rgba(96,132,151,.11),transparent 30%)}
body[data-scene-dynamics="on"][data-scene-mood="warm"] .game-page::after{background:radial-gradient(circle at 76% 13%,rgba(239,183,99,.29),transparent 34%),linear-gradient(180deg,rgba(235,190,126,.08),transparent 70%)}
body[data-scene-dynamics="on"][data-scene-mood="night"] .game-page::after{background:radial-gradient(circle at 72% 11%,rgba(148,162,205,.18),transparent 28%),linear-gradient(180deg,rgba(53,61,87,.13),transparent 62%);filter:saturate(.78)}
body[data-scene-dynamics="off"] .game-page::after{display:none!important}
.game-page>.top,.game-page>.reading-shell,.game-page>.composer{position:relative;z-index:1}
body[data-dynamic-effects="off"] .game-page::after{animation:none!important;transition:none!important}

/* ---------- Text-only/emoji avatar messenger ---------- */
.messages-page .contact-heading{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center}
.messages-page .header-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font:600 15px/1 "Noto Serif SC","Songti SC",serif}
.messages-page .emoji-avatar{overflow:hidden;white-space:nowrap;text-indent:0;background-image:none!important}
.messages-page .message-row .emoji-avatar,.messages-page .contact-real .emoji-avatar{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Noto Serif SC",serif;font-weight:600}
.messages-page .message-thread{background:linear-gradient(180deg,rgba(250,246,238,.95),rgba(243,235,223,.94))}
.messages-page .message-bubble{max-width:min(88%,520px);overflow-wrap:anywhere}

/* ---------- Forum: ordinary community feed, no immersion-breaking category shelf ---------- */
.forum-natural-note{display:flex;align-items:center;justify-content:space-between;margin:4px 20px 7px;padding:0 2px;color:#8c755f}
.forum-natural-note span{font-family:"Noto Serif SC","Songti SC",serif;font-size:12px;letter-spacing:.07em}
.forum-natural-note small{font-size:9px;color:#a28d79}
.forum-page .forum-search::before{content:"搜索社区动态"!important}
.forum-page .forum-post::before{display:none!important}
.forum-page .forum-post{
  padding-left:12px!important;
  border:1px solid rgba(143,105,72,.13)!important;
  border-radius:10px!important;
  background:rgba(255,252,247,.50)!important;
  box-shadow:0 4px 13px rgba(72,48,30,.035)!important;
}
.forum-page .forum-post::after{display:none!important}
.forum-page .forum-list{display:grid;gap:8px;border-top:0!important}
.forum-page .post-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.forum-detail-stage .forum-paper::after{display:none!important}
.forum-detail-stage .forum-paper{border-radius:9px}

@keyframes v1105StatusFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes v1105PreviewRain{from{transform:translate3d(0,-14px,0)}to{transform:translate3d(-7px,14px,0)}}
@keyframes v1105SceneRain{from{background-position:0 -40px,0 0,0 0}to{background-position:-20px 40px,0 0,0 0}}
@keyframes v1105DangerBreath{0%,100%{opacity:calc(.07 + var(--background-intensity-value,.5)*.22)}50%{opacity:calc(.12 + var(--background-intensity-value,.5)*.34)}}

@media(max-width:430px){
  .settings-inline-preview{margin-top:3px;padding:9px 10px}
  .settings-inline-preview>small{margin-bottom:6px}
  .preview-reading p{font-size:12px}
  .preview-atmosphere-window{min-height:70px}
  .forum-natural-note{margin-left:13px;margin-right:13px}
  .forum-page .forum-list{padding-left:10px!important;padding-right:10px!important}
  .messages-page .contact-heading{grid-template-columns:32px minmax(0,1fr);gap:7px}
  .messages-page .header-avatar{width:32px;height:32px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .settings-inline-preview *,body[data-scene-dynamics="on"] .game-page::after{animation:none!important;transition:none!important}
}
