/* DFS 1.0.2 — uniquely named containers, loaded last. No two-column article grid. */
body.dfs2026 .dfs-page-main > .dfs2026-reading-shell {
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  justify-content:flex-start!important; gap:18px!important;
  grid-template-columns:none!important; grid-template-areas:none!important;
  width:100%!important; max-width:940px!important; min-width:0!important;
  margin:0 auto!important; padding:0!important; position:relative!important;
  inset:auto!important; float:none!important; transform:none!important;
  background:none!important; border:0!important; box-shadow:none!important;
}
body.dfs2026 .dfs2026-reading-shell::before,body.dfs2026 .dfs2026-reading-shell::after {content:none!important}
body.dfs2026 .dfs2026-article-body {
  display:flow-root!important; position:relative!important; inset:auto!important; float:none!important;
  flex:0 0 auto!important; align-self:stretch!important; grid-area:auto!important;
  box-sizing:border-box!important; width:100%!important; max-width:100%!important; min-width:0!important;
  margin:0!important; transform:none!important;
  padding:clamp(24px,4.8vw,52px)!important; border:1px solid #fff!important;
  border-radius:26px!important; background:rgba(255,255,255,.91)!important;
  box-shadow:0 20px 70px #26384b0a!important; overflow-wrap:anywhere;
  --wp--style--global--content-size:100%; --wp--style--global--wide-size:100%;
}
body.dfs2026 .dfs2026-article-body > * {min-width:0;max-width:100%;box-sizing:border-box}
body.dfs2026 .dfs2026-article-body :is(.alignfull,.alignwide) {
  width:auto!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;box-sizing:border-box;
}
/* Legacy plugin content may use .dfs-prose. It is NOT the theme's outer card anymore. */
body.dfs2026 .dfs2026-article-body .dfs-prose {
  display:block!important;position:relative!important;inset:auto!important;float:none!important;
  width:auto!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;
  padding:0!important;background:none!important;box-shadow:none!important;border:0!important;transform:none!important;
}
body.dfs2026 .dfs2026-reading-shell > .dfs2026-toc {
  display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  margin:0!important;padding:0;background:#ffffffd9;border:1px solid #d9e4ee;border-radius:18px;
  font-size:.9rem;overflow-wrap:anywhere;
}
.dfs2026-toc > summary {display:flex;align-items:center;gap:10px;padding:15px 22px;cursor:pointer;list-style:none;font-weight:700;color:#293c4e}
.dfs2026-toc > summary::-webkit-details-marker {display:none}
.dfs2026-toc > summary::before {content:'+';font-size:1.2em;line-height:1;width:16px;color:#377693}
.dfs2026-toc[open] > summary::before {content:'−'}
.dfs2026-toc > summary > span {margin-left:auto;font-size:.74rem;font-weight:500;color:#586b7e}
body.dfs2026 .dfs2026-reading-shell .dfs-toc {
  position:static!important;grid-area:auto!important;width:100%!important;max-width:100%!important;
  max-height:320px;box-sizing:border-box;border:0!important;background:none!important;
  padding:0 22px 18px!important;margin:0!important;overflow:auto;
}
.dfs2026-toc .dfs-toc a {padding-block:8px}
.dfs2026-article-body :where(img,video,iframe,svg) {max-width:100%}
.dfs2026-article-body .wp-block-table,.dfs2026-article-body .dfs-table-scroll {max-width:100%;min-width:0;overflow:auto;margin-inline:0}
.dfs2026-article-body table {max-width:100%;table-layout:fixed;width:100%;min-width:0}
.dfs2026-article-body :is(th,td) {overflow-wrap:anywhere;word-break:normal}
.dfs2026-article-body :is(pre,.dfs-code-wrap) {min-width:0;max-width:100%}
body.dfs2026 :is(.dfs-article-end,.dfs-comments) {width:min(940px,100%)}
/* Canvas sits above the static body background but below all real content. */
body.dfs2026 #scene {position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block;opacity:1;contain:strict}
body.dfs2026 .ambient {opacity:.16}
/* Real senders, true left/right alignment, no white text inherited on pale bubbles. */
body.dfs2026 .dfs-chat-messages {display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px 2px;min-height:110px;max-height:min(44svh,390px);overflow:auto}
body.dfs2026 .dfs-message {flex-shrink:0;display:flex;flex-direction:column;gap:6px;box-sizing:border-box;width:fit-content;max-width:86%;min-width:80px;margin:0;padding:12px 14px;border:1px solid #415165;border-radius:16px;background:#233345;color:#f2f6fc;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
body.dfs2026 .dfs-message.is-other {align-self:flex-start;margin-right:auto;border-bottom-left-radius:4px}
body.dfs2026 .dfs-message.is-own {align-self:flex-end;margin-left:auto;border-color:#7db9d5;background:#d7eef9;color:#17394b;border-bottom-right-radius:4px}
.dfs-message-author {font-size:.67rem;letter-spacing:.03em;font-weight:750;color:inherit;opacity:.82}
.dfs-message-text {white-space:pre-wrap;display:block}
body.dfs2026 .dfs-message time {font-size:.63rem;color:inherit;opacity:.70;margin:2px 0 0}
body.dfs2026 .dfs-chat-disclaimer {display:none!important}
.dfs-chat-status {font-size:.78rem}
@media(max-width:720px) {
  body.dfs2026 .dfs2026-article-body {padding:22px 18px!important;border-radius:20px!important;font-size:1rem}
  .dfs2026-toc > summary {padding:14px 18px;font-size:.86rem}
  .dfs2026-toc > summary > span {font-size:.68rem}
  body.dfs2026 .dfs2026-reading-shell .dfs-toc {padding:0 18px 14px!important}
  body.dfs2026 .dfs-message {max-width:92%;font-size:.84rem;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce) {body.dfs2026 #scene {display:block!important}}
@media print {
  body.dfs2026 #scene,.dfs2026-toc {display:none!important}
  body.dfs2026 .dfs2026-article-body {box-shadow:none!important;border:0!important;background:#fff!important;padding:0!important}
}
